From 64fea0ebfe6313ab104b54887e426872db295c8a Mon Sep 17 00:00:00 2001 From: kira <164851225@qq.com> Date: Mon, 23 Jul 2018 17:54:20 +0800 Subject: [PATCH 01/65] update --- .../openim/core/impl/CustomerServiceServiceImpl.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/openim/core/impl/CustomerServiceServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/openim/core/impl/CustomerServiceServiceImpl.java index 3ba1ce652..ba1e4f268 100644 --- a/src/main/java/au/com/royalpay/payment/manage/openim/core/impl/CustomerServiceServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/openim/core/impl/CustomerServiceServiceImpl.java @@ -53,7 +53,6 @@ public class CustomerServiceServiceImpl implements CustomerServiceService { @Resource private StringRedisTemplate stringRedisTemplate; private final String REDIS_UNREADMSG_PREFIX = "REDIS_UNREADMSG_PREFIX"; - private final String REDIS_UNREADMSG_SEND_PREFIX = "REDIS_UNREADMSG_SEND_PREFIX"; @Value("${im.openim.appkey}") private String appkey; @@ -151,7 +150,7 @@ public class CustomerServiceServiceImpl implements CustomerServiceService { if (StringUtils.isEmpty(uid) || StringUtils.isEmpty(tuid)) { return; } - BoundListOperations ops = stringRedisTemplate.boundListOps("REDIS_UNREADMSG_PREFIX" + tuid); + BoundListOperations ops = stringRedisTemplate.boundListOps(REDIS_UNREADMSG_PREFIX + tuid); for (int i = 0; i < ops.size(); i++) { String jStr = ops.index(i); if (jStr.contains(uid)) { @@ -171,7 +170,7 @@ public class CustomerServiceServiceImpl implements CustomerServiceService { MpWechatApi paymentApi = mpWechatApiProvider.getNewPaymentApi(); servants.parallelStream().forEach(p -> { p.getString("user_id"); - BoundListOperations ops = stringRedisTemplate.boundListOps("REDIS_UNREADMSG_PREFIX" + p.getString("user_id")); + BoundListOperations ops = stringRedisTemplate.boundListOps(REDIS_UNREADMSG_PREFIX + p.getString("user_id")); if (ops.size() < 1) { return; } @@ -183,7 +182,7 @@ public class CustomerServiceServiceImpl implements CustomerServiceService { } TemplateMessage msg = initUnreadMsg(unreadMsg, clients, p.getString("wx_openid"), paymentApi.getTemplateId("commission")); paymentApi.sendTemplateMessage(msg); - stringRedisTemplate.delete("REDIS_UNREADMSG_PREFIX" + p.getString("user_id")); + stringRedisTemplate.delete(REDIS_UNREADMSG_PREFIX + p.getString("user_id")); }); } From cc623b1a2197bfcd96e710f06f0033a6cca01297 Mon Sep 17 00:00:00 2001 From: kira <164851225@qq.com> Date: Tue, 24 Jul 2018 14:14:45 +0800 Subject: [PATCH 02/65] update --- .../appclient/web/RetailAppController.java | 2 +- .../manage/openim/OpenimController.java | 17 +- src/main/ui/service_client.html | 5 +- src/main/ui/service_client_app.html | 146 +++++++++++++ src/main/ui/service_client_app_outside.html | 72 +++++++ src/main/ui/service_contact_list_app.html | 202 ++++++++++++++++++ src/main/ui/service_customer.html | 23 -- 7 files changed, 434 insertions(+), 33 deletions(-) create mode 100644 src/main/ui/service_client_app.html create mode 100644 src/main/ui/service_client_app_outside.html create mode 100644 src/main/ui/service_contact_list_app.html delete mode 100644 src/main/ui/service_customer.html diff --git a/src/main/java/au/com/royalpay/payment/manage/appclient/web/RetailAppController.java b/src/main/java/au/com/royalpay/payment/manage/appclient/web/RetailAppController.java index ff78abf7d..b31557c8e 100644 --- a/src/main/java/au/com/royalpay/payment/manage/appclient/web/RetailAppController.java +++ b/src/main/java/au/com/royalpay/payment/manage/appclient/web/RetailAppController.java @@ -551,7 +551,7 @@ public class RetailAppController { @RequestMapping(value = "/openim/chat",method = RequestMethod.POST) public void openimChat(@ModelAttribute(RETAIL_DEVICE) JSONObject device,@RequestBody JSONObject param) { - retailAppService.openimCheck(device); + retailAppService.addUnreadMsg(device,param); } } diff --git a/src/main/java/au/com/royalpay/payment/manage/openim/OpenimController.java b/src/main/java/au/com/royalpay/payment/manage/openim/OpenimController.java index f3ce94657..11a9d432e 100644 --- a/src/main/java/au/com/royalpay/payment/manage/openim/OpenimController.java +++ b/src/main/java/au/com/royalpay/payment/manage/openim/OpenimController.java @@ -1,14 +1,17 @@ package au.com.royalpay.payment.manage.openim; -import au.com.royalpay.payment.manage.openim.beans.OpenimUserVO; import au.com.royalpay.payment.manage.openim.core.CustomerServiceService; import au.com.royalpay.payment.manage.permission.manager.ManagerMapping; import au.com.royalpay.payment.manage.permission.manager.RequireManager; +import au.com.royalpay.payment.manage.signin.beans.LoginInfo; +import au.com.royalpay.payment.manage.signin.core.SignInStatusManager; import au.com.royalpay.payment.tools.CommonConsts; +import au.com.royalpay.payment.tools.http.HttpUtils; import au.com.royalpay.payment.tools.permission.enums.ManagerRole; import com.alibaba.fastjson.JSONObject; +import org.springframework.validation.Errors; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -19,6 +22,8 @@ import org.springframework.web.bind.annotation.RestController; import java.util.List; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; /** * @author kira @@ -27,7 +32,8 @@ import javax.annotation.Resource; @RestController @RequestMapping("/sys/openim") public class OpenimController { - + @Resource + private SignInStatusManager signInStatusManager; @Resource private CustomerServiceService customerServiceService; @@ -37,9 +43,10 @@ public class OpenimController { return customerServiceService.checkAndSave(manager); } - @RequestMapping(value = "/findOne", method = RequestMethod.GET) - public OpenimUserVO findOne(@RequestParam int clientId, @RequestParam String userName) { - return customerServiceService.findOne(clientId, userName); + @RequestMapping(value = "/signin", method = RequestMethod.POST) + public void partnerSignIn(@RequestBody @Valid LoginInfo loginInfo, Errors errors, HttpServletResponse response) throws Exception { + HttpUtils.handleValidErrors(errors); + HttpUtils.setCookie(response, CommonConsts.MANAGER_STATUS,signInStatusManager.managerSignIn(loginInfo)); } @RequestMapping(value = "/list",method = RequestMethod.GET) diff --git a/src/main/ui/service_client.html b/src/main/ui/service_client.html index bf008b3ce..e9cc74c05 100644 --- a/src/main/ui/service_client.html +++ b/src/main/ui/service_client.html @@ -40,10 +40,7 @@ function switchTouid(touid) { window.uid = touid; WKIT.switchTouid({ - touid: touid, - logo: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1531805782509&di=98f7fa48980696f8eddf7eb617a834a3&imgtype=0&src=http%3A%2F%2Fi2.hdslb.com%2Fbfs%2Fface%2F98dbd049061292bca8625caf91cff1b41ee999cd.jpg', - Avatar: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1531805782509&di=98f7fa48980696f8eddf7eb617a834a3&imgtype=0&src=http%3A%2F%2Fi2.hdslb.com%2Fbfs%2Fface%2F98dbd049061292bca8625caf91cff1b41ee999cd.jpg', - toAvatar: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1531805782509&di=98f7fa48980696f8eddf7eb617a834a3&imgtype=0&src=http%3A%2F%2Fi2.hdslb.com%2Fbfs%2Fface%2F98dbd049061292bca8625caf91cff1b41ee999cd.jpg' + touid: touid }); WKIT.Conn.sdk.Chat.setReadState({ touid: touid, diff --git a/src/main/ui/service_client_app.html b/src/main/ui/service_client_app.html new file mode 100644 index 000000000..ebefe90ef --- /dev/null +++ b/src/main/ui/service_client_app.html @@ -0,0 +1,146 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/main/ui/service_client_app_outside.html b/src/main/ui/service_client_app_outside.html new file mode 100644 index 000000000..ec7544114 --- /dev/null +++ b/src/main/ui/service_client_app_outside.html @@ -0,0 +1,72 @@ + + + + + + + + + + + +
+ +
+
+ +
+ + \ No newline at end of file diff --git a/src/main/ui/service_contact_list_app.html b/src/main/ui/service_contact_list_app.html new file mode 100644 index 000000000..cd01bb65d --- /dev/null +++ b/src/main/ui/service_contact_list_app.html @@ -0,0 +1,202 @@ + + + + + + + + + + +
+
    +
+
+ + \ No newline at end of file diff --git a/src/main/ui/service_customer.html b/src/main/ui/service_customer.html deleted file mode 100644 index 8ab67e6c6..000000000 --- a/src/main/ui/service_customer.html +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - \ No newline at end of file From 49485394799fdf39d01492018cd91e2751d23f5f Mon Sep 17 00:00:00 2001 From: kira <164851225@qq.com> Date: Tue, 24 Jul 2018 17:02:24 +0800 Subject: [PATCH 03/65] tmp --- .../manage/openim/core/OpenimClient.java | 2 +- src/main/ui/service_client_app.html | 13 +- src/main/ui/service_client_app_outside.html | 34 +++- src/main/ui/service_contact_list_app.html | 14 +- src/main/ui/service_customer.html | 23 +++ src/main/ui/static/images/im/back.png | Bin 0 -> 4254 bytes .../impls/CustomerImpressionImplTest.java | 152 +++++++++++++++--- 7 files changed, 205 insertions(+), 33 deletions(-) create mode 100644 src/main/ui/service_customer.html create mode 100644 src/main/ui/static/images/im/back.png diff --git a/src/main/java/au/com/royalpay/payment/manage/openim/core/OpenimClient.java b/src/main/java/au/com/royalpay/payment/manage/openim/core/OpenimClient.java index 488a36e6d..99d42abac 100644 --- a/src/main/java/au/com/royalpay/payment/manage/openim/core/OpenimClient.java +++ b/src/main/java/au/com/royalpay/payment/manage/openim/core/OpenimClient.java @@ -124,7 +124,7 @@ public class OpenimClient { list2.add(obj3); obj3.setNick("king"); obj3.setIconUrl("https://ss0.baidu.com/73t1bjeh1BF3odCf/it/u=1948403834,955109320&fm=85&s=0D06E5134AD145F30C8D6D680300303A"); - obj3.setUserid("kira1"); + obj3.setUserid("kira2"); obj3.setPassword("xxxxxx"); req.setUserinfos(list2); OpenimUsersAddResponse rsp = null; diff --git a/src/main/ui/service_client_app.html b/src/main/ui/service_client_app.html index ebefe90ef..3332ffd4a 100644 --- a/src/main/ui/service_client_app.html +++ b/src/main/ui/service_client_app.html @@ -5,6 +5,8 @@ + + @@ -26,8 +28,12 @@ error: function (jqXHR) { } }); + $("#back").bind('click',function () { + parent.hideContent(); + }) }; + function loginOpenim() { WKIT.init({ container: document.getElementById('J_demo'), @@ -44,7 +50,7 @@ }); initUnreadMsgAndContact(); WKIT.Conn.sdk.Base.startListenAllMsg(); - window.sdk = document.getElementById("J_wkitPluginFrame").contentWindow; + window.sdk = parent.document.getElementById("subPageList").contentWindow; } }); } @@ -143,4 +149,9 @@ } + +
+ +
+ \ No newline at end of file diff --git a/src/main/ui/service_client_app_outside.html b/src/main/ui/service_client_app_outside.html index ec7544114..2eef92363 100644 --- a/src/main/ui/service_client_app_outside.html +++ b/src/main/ui/service_client_app_outside.html @@ -7,17 +7,25 @@ + + + @@ -60,12 +79,13 @@ -
-
-
-
diff --git a/src/main/ui/service_contact_list_app.html b/src/main/ui/service_contact_list_app.html index cd01bb65d..2dac3db09 100644 --- a/src/main/ui/service_contact_list_app.html +++ b/src/main/ui/service_contact_list_app.html @@ -21,6 +21,11 @@ padding: 0; } + body{ + width: 98%; + height: 98%; + + } .search-div { height: 3%; } @@ -79,7 +84,7 @@ } .frm_search { - width: 133px; + width: 98%; height: 32px; line-height: 32px; border: 0; @@ -94,7 +99,7 @@ .search_bar { position: relative; - width: 137px; + width: 100%; margin: 0 auto 6px; } @@ -166,6 +171,8 @@ css = 'active'; } var headImUrl = ''; + + if (map[key].headimg) { headImUrl = map[key].headimg; } else { @@ -185,7 +192,8 @@ } function switchToUser(touid) { - parent.switchTouid(touid); + parent.document.getElementById("subPage").contentWindow.switchTouid(touid); + parent.hideList(); } diff --git a/src/main/ui/service_customer.html b/src/main/ui/service_customer.html new file mode 100644 index 000000000..2f9948130 --- /dev/null +++ b/src/main/ui/service_customer.html @@ -0,0 +1,23 @@ + + + + + + \ No newline at end of file diff --git a/src/main/ui/static/images/im/back.png b/src/main/ui/static/images/im/back.png new file mode 100644 index 0000000000000000000000000000000000000000..c7f5f0d067f5b479af42af3a9458105d4e713230 GIT binary patch literal 4254 zcmeH}`6JZb_rTw?&}1hhJ24qcjUrDZV;v^UVk-0~vJ^rxlCcdUl%*O*WXlXATgko) zDUxNzlst-hh$&lkS-#W%@csPs`P^Ubx#!;dy7!!W?>RRSXO9*ZkQD#`K-k9Gf&c(u zo(KkD5MI?;r1k~?AOOymXt}qy$J6|;{LcgbogNT8TsO(He2+x1cL4r^?SgieAlqwv z`}Tu>3#%QN<%bGwZLI%{lM+~2miQO*l_n;=Ir&-9`sLK=p?{p8i!`sA5zQ59f)*BK z6OSs(y?+}{OTJw)Vst^@$gMJdDzAQb+zG2lZiH>U+%@1OhJu97e08M z`0={q99;AJ@p;>W8FkYahu^YpAz#_4=6)i-i8Y@1=-(RX7oYreu3MLxr*tH|f_tn= z=e}iq82(f z`A%jHTpZp_a%3u+U(u2PA=CYld>5Pz6Fp@-LR@I9oMd1KvU9Jl*hYu|1+1Q68^gfuN@Y$W!^`=A$^T`utQ%%OpKiy z9|@?eDb}|ss-zr3^aN;cM+ski6;8|(B*}tV_#h6eTTwI!&lzxc>gUf)(rigKgJdRt z8l=KSP&xwzp%7eLkIgcFzWrQ&A_S*&pU%@PwJG<@QMlp4cJh=hz0_%8l)ABdVVZjp zKKuq0ajU8;0%rZ1zqb$o%LcT?Ck3m~Q%Am$ted00cb z1DP&Xv>)ZPkitm&t?;Ka@F1oz;7%wQhgG0g=S%YV#?JOCp~X_XVLH1B!yFpGgH0#r zuQc`Z_|NRb`TFqtc#HRbH1qxj|Fg$O=7?mjFps~Llh0NI@g|=7r6ZYC`$zISW8pn& zn0W*UcGY6+d&x6|-FC!5BM+Jh2UZvRsG3FXr$J1Yazx7|AszufO?aMD`-%tc`i@|P zfO+c}hDk9D!v2g(xrGVw_|vyxpb^}*4`~PZeAL9m65M#u94*9Za`a`;eT4S>i;(en zT?Ncmzf2Q-dE&N(N&3n~xw!i1MN1)HTFZ;21bka*^KAC^W7bx&vOvjX2)?oLV2m_{ zU4Cw=^uvI)xg=g#)Yp{B%dCP|@=b364t6SUKR=`*a{ z#XbRa@r$Yr*X{dTQigwmH;#UOh59>WDM`{IM)pH)%oNRLvFA3wMx9^wbAx<|ql8{x zkv%;X?`nSb=RSlBODIzFnyG9VX!W;0HSz(d&G-!Ep?XC@a%4gn)8rNE6xmrruNfTu zCUbLl2|i%!%nE-`9dig1N&!*2s=dyhZ)S&Y)h{&d)-G_Zq{&y;;96$3IxcqJ+lV{P zSN2TKw0Lr6963L@hY>J!{cn+&bt%=qk2{#;=oK8#39iC^yobYcf?i18^iusvFbSKn z5%j$p)?i|0CR{;hlOU?@H*9t_<$Mn`F@-vc&ui037ZIvV*NMlfoGbsj>%xw&Mu^0H z94JqCp83!+dB&;xq*jcz&TjPZ)~N)3j#SUDnW4c9m~4&5X@+2gn2toGp+~_H^CH#1 z*iym>N4Sxg9U-iU617?mClq%bY(6+^R7Z*6%R00v4N@iok8gShD>lN)ClZCZdi>QQijvL zkwQHzOR7k2+%b0hUjnst<;aJhL-3d{e3d0#tyKR|u+@o*1haL>;zNvr#ccd0GIuPS zkf0TPft_;;bKtm}h4(qhsZzhnDDMD+&dZDvbvaw2%v4?&BTTuJ# zP)Als2#&w+5bV`$nEo5}jcZf4)-owv)6?mJE9`BK_D^3-A`f+5cP->TLDz*%NTok# zPLpmFa;@uLJ1wScy}Y{v@YiJfhbRM$DqWecoo608@ETzM$7S$K@$_F>5e0syTX|9ytql?(3EO8-7tkt3V;hur;-xS#-_4A zm1@k*gQC>WtfvM9G*&J=4N0|YU7HJXNqu*nRXH`6Gv*{tNUokc&0N#_LN**0(zt|n`ra7p%S*9bDzw(d5L$(pQxk z(mJuy6uqBqB71Z3{$-a(iqzQdK+eOLVlu0=n*wiLV&y2+D~UTU+;Z3U2a=U-7F1=F z4~CC%LUf-I@b**G=F(8vqn+dyX6K6Qu3FJ>1zm4~gM%usK0f0XcGCB%uMwn1_Ie?! zQVi)CF=nMQUnRz;EOjdrnN=gFhXmEgV2VGQLG6tL1sM^EDuSr2rl_X4nuaMFV{wKF zL*DS&4do>%a~VoC$%`h>Q4Ju#PtTxeXmKIUAh7yxUln0gZ&qZunz0-{CQIV$%!&c@ zF1g=+*3s)4BuzT1HY>M3>z=G)K5Ggl5nL<9SY9?)pir~+uw;obIv}yeDmkra`cz^a zk6Do902KQ4Wf}|e`#lu4KInNc#%f1}7Bg3^zXG!E{$Rk^XJ^z)yE|wrfNOGgAh-PW z4g{o}yf75Y*EyMSt$?KqeL&t2Vk9Bl_M^BVx%xFT(7M+o@*z`3Bb=ADC3gWzhKpnD z)R(W5D^fYmD)q!ZX{zEofhYh~sZuuCQ}Z5>9x73Zu}zP#^d4=5L4okoRGQ|^Grxiv zXF)Nxr#`>LX?&7S1YE~CnY67&Ns}>iT8}vC*}qVR&VF$iV10T#O+w3`kD^Z6JP?D; zk;ixw7p$Sc%IMVsk0>xIUZ*-%mH4`pdUEZaHGnFPqgL$+TQIN+N1RXYXoE1Jt9moYK*WjM41D@N7~#*v^Dhh&YV%P@!(%fJxaeoqiFXW__<4#bNC@jJ)jSTNBM zUlb8a@zS!fawSlG*8O;mgIApFuy>NlhNon~?QZ9n&%8oM{G-8>zsz!=ZghcX)>hlL z{$I834?aewlgi_czMT_0j&LMsHmOzNiqs=Jc5L7>W7w zlJV}lTgIwKd^MuZ>n`kliguT!m?{I5O1fQEKHb?G*`6Rlbc>6VI)wbE8^qq6+U>Df i@WCEJ9OeIi|KH2$e@55;*!8IYL$

Hi

"); List list = new ArrayList<>(); list.add("testTag"); -// sendMail.setTags(list); + // sendMail.setTags(list); Set mailCCs = new HashSet<>(); mailCCs.add("asd1159111@163.com"); sendMail.setMailCcs(mailCCs); @@ -202,15 +201,15 @@ public class CustomerImpressionImplTest { JSONObject var = new JSONObject(); var.put("client_moniker", client.getString("client_moniker")); var.put("short_name", client.getString("short_name")); - JSONObject result = mailGunClient.addListMember(client.getString("contact_email"), "merchants@mail.royalpay.com.au", client.getString("contact_person"),"", - var); + JSONObject result = mailGunClient.addListMember(client.getString("contact_email"), "merchants@mail.royalpay.com.au", client.getString("contact_person"), + "", var); } @Test - public void fd(){ + public void fd() { List asd12eq = new ArrayList<>(); asd12eq.add("9"); - JSONObject asd = clientManager.getByEmail("164851225@qq.com",1,1,asd12eq); + JSONObject asd = clientManager.getByEmail("164851225@qq.com", 1, 1, asd12eq); JSONArray qwe = asd.getJSONArray("data"); System.out.println(asd.getJSONArray("data")); System.out.println(qwe); @@ -231,27 +230,27 @@ public class CustomerImpressionImplTest { while (rowIterator.hasNext()) { row = rowIterator.next(); cell = row.getCell(1); - if(cell==null){ + if (cell == null) { continue; } cell.setCellType(HSSFCell.CELL_TYPE_STRING); CellStyle cellStyle = cell.getCellStyle(); - if(cellStyle.getFillForegroundColor()==0){ + if (cellStyle.getFillForegroundColor() == 0) { continue; } String clientMonikers = cell.getStringCellValue().trim(); - if(clientMonikers.contains("/")){ - String [] clientMonikerArr = clientMonikers.split("/"); + if (clientMonikers.contains("/")) { + String[] clientMonikerArr = clientMonikers.split("/"); for (String s : clientMonikerArr) { String tmp = s.trim().toUpperCase(); - if(tmp.length()>4 || tmp.length()==0){ + if (tmp.length() > 4 || tmp.length() == 0) { continue; } mailService.addUnsub(s.trim().toUpperCase()); } - }else { + } else { String tmp = clientMonikers.trim().toUpperCase(); - if(tmp.length()>4 || tmp.length()==0){ + if (tmp.length() > 4 || tmp.length() == 0) { continue; } mailService.addUnsub(clientMonikers.trim().toUpperCase()); @@ -263,7 +262,118 @@ public class CustomerImpressionImplTest { } @Test - public void zxc(){ - weekReporter.generateReport("2018-06-04",false); + public void zxc() { + weekReporter.generateReport("2018-06-04", false); + } + + @Test + public void royalpayIndustryTransform() { + String json = "[\n" + " {\n" + " \"children\": [\n" + " {\n" + " \"children\": [],\n" + " \"label\": \"机票\",\n" + + " \"mccCode\": \"10001\"\n" + " },\n" + " {\n" + " \"children\": [],\n" + " \"label\": \"旅游行业\",\n" + + " \"mccCode\": \"10002\"\n" + " },\n" + " {\n" + " \"children\": [],\n" + " \"label\": \"私人定制旅游\",\n" + + " \"mccCode\": \"10003\"\n" + " },\n" + " {\n" + " \"children\": [],\n" + " \"label\": \"租车\",\n" + + " \"mccCode\": \"10004\"\n" + " },\n" + " {\n" + " \"children\": [],\n" + " \"label\": \"巴士\",\n" + + " \"mccCode\": \"10005\"\n" + " }\n" + " ],\n" + " \"label\": \"旅游出行\",\n" + " \"mccCode\": \"1\"\n" + " },\n" + " {\n" + + " \"children\": [\n" + " {\n" + " \"children\": [],\n" + " \"label\": \"饭店\",\n" + " \"mccCode\": \"20001\"\n" + + " },\n" + " {\n" + " \"children\": [],\n" + " \"label\": \"奶茶店\",\n" + " \"mccCode\": \"20002\"\n" + + " },\n" + " {\n" + " \"children\": [],\n" + " \"label\": \"烧烤\",\n" + " \"mccCode\": \"20003\"\n" + + " },\n" + " {\n" + " \"children\": [],\n" + " \"label\": \"火锅\",\n" + " \"mccCode\": \"20004\"\n" + + " },\n" + " {\n" + " \"children\": [],\n" + " \"label\": \"Coffee\",\n" + " \"mccCode\": \"20005\"\n" + + " },\n" + " {\n" + " \"children\": [],\n" + " \"label\": \"酒吧\",\n" + " \"mccCode\": \"20006\"\n" + " }\n" + + " ],\n" + " \"label\": \"餐饮\",\n" + " \"mccCode\": \"2\"\n" + " },\n" + " {\n" + " \"children\": [\n" + " {\n" + + " \"children\": [],\n" + " \"label\": \"培训类\",\n" + " \"mccCode\": \"30001\"\n" + " },\n" + " {\n" + + " \"children\": [],\n" + " \"label\": \"移民留学\",\n" + " \"mccCode\": \"30002\"\n" + " },\n" + " {\n" + + " \"children\": [],\n" + " \"label\": \"私人幼儿园\",\n" + " \"mccCode\": \"30003\"\n" + " }\n" + " ],\n" + + " \"label\": \"教育\",\n" + " \"mccCode\": \"3\"\n" + " },\n" + " {\n" + " \"children\": [\n" + " {\n" + + " \"children\": [],\n" + " \"label\": \"换汇\",\n" + " \"mccCode\": \"40001\"\n" + " },\n" + " {\n" + + " \"children\": [],\n" + " \"label\": \"房产\",\n" + " \"mccCode\": \"40002\"\n" + " }\n" + " ],\n" + + " \"label\": \"商务咨询\",\n" + " \"mccCode\": \"4\"\n" + " },\n" + " {\n" + " \"children\": [\n" + " {\n" + + " \"children\": [],\n" + " \"label\": \"公众号服务商\",\n" + " \"mccCode\": \"50001\"\n" + " },\n" + " {\n" + + " \"children\": [],\n" + " \"label\": \"各种媒体类宣传\",\n" + " \"mccCode\": \"50002\"\n" + " }\n" + " ],\n" + + " \"label\": \"传媒\",\n" + " \"mccCode\": \"5\",\n" + + " \"value\": \"{\\\"category\\\":\\\"SERVICE\\\",\\\"code\\\":\\\"7542\\\",\\\"description\\\":\\\"Car Washes\\\",\\\"parentCode\\\":\\\"S10\\\"}\"\n" + + " },\n" + " {\n" + " \"children\": [\n" + " {\n" + " \"children\": [],\n" + " \"label\": \"美容院\",\n" + + " \"mccCode\": \"60001\"\n" + " },\n" + " {\n" + " \"children\": [],\n" + " \"label\": \"医疗美容\",\n" + + " \"mccCode\": \"60002\"\n" + " }\n" + " ],\n" + " \"label\": \"医美\",\n" + " \"mccCode\": \"6\"\n" + " },\n" + " {\n" + + " \"children\": [\n" + " {\n" + " \"label\": \"超市\",\n" + " \"mccCode\": \"70001\"\n" + " },\n" + " {\n" + + " \"children\": [],\n" + " \"label\": \"服装店\",\n" + " \"mccCode\": \"70002\"\n" + " },\n" + " {\n" + + " \"children\": [],\n" + " \"label\": \"鞋店\",\n" + " \"mccCode\": \"70003\"\n" + " },\n" + " {\n" + + " \"children\": [],\n" + " \"label\": \"珠宝店\",\n" + " \"mccCode\": \"70004\"\n" + " },{\n" + + " \"children\": [],\n" + " \"label\": \"箱包\",\n" + " \"mccCode\": \"70005\"\n" + " }\n" + " ],\n" + + " \"label\": \"零售\",\n" + " \"mccCode\": \"7\"\n" + " },\n" + " {\n" + " \"children\": [\n" + " {\n" + + " \"children\": [],\n" + " \"label\": \"桌游吧\",\n" + " \"mccCode\": \"80001\"\n" + " },\n" + " {\n" + + " \"children\": [],\n" + " \"label\": \"演唱会\",\n" + " \"mccCode\": \"80002\"\n" + " },\n" + " {\n" + + " \"children\": [],\n" + " \"label\": \"马术训练\",\n" + " \"mccCode\": \"80003\"\n" + " },\n" + " {\n" + + " \"children\": [],\n" + " \"label\": \"瑜伽\",\n" + " \"mccCode\": \"80004\"\n" + " },\n" + " {\n" + + " \"children\": [],\n" + " \"label\": \"健身\",\n" + " \"mccCode\": \"80005\"\n" + " },\n" + " {\n" + + " \"children\": [],\n" + " \"label\": \"社团\",\n" + " \"mccCode\": \"80006\"\n" + " },\n" + " {\n" + + " \"children\": [],\n" + " \"label\": \"网吧\",\n" + " \"mccCode\": \"80007\"\n" + " },\n" + " {\n" + + " \"children\": [],\n" + " \"label\": \"KTV\",\n" + " \"mccCode\": \"80008\"\n" + " },\n" + " {\n" + + " \"children\": [],\n" + " \"label\": \"电影\",\n" + " \"mccCode\": \"80009\"\n" + " }\n" + " ],\n" + + " \"label\": \"休闲娱乐\",\n" + " \"mccCode\": \"8\"\n" + " },\n" + " {\n" + " \"children\": [\n" + " {\n" + + " \"children\": [],\n" + " \"label\": \"摄影\",\n" + " \"mccCode\": \"90001\"\n" + " },\n" + " {\n" + + " \"children\": [],\n" + " \"label\": \"massage\",\n" + " \"mccCode\": \"90002\"\n" + " },\n" + " {\n" + + " \"children\": [],\n" + " \"label\": \"通讯运营商\",\n" + " \"mccCode\": \"90003\"\n" + " },\n" + " {\n" + + " \"children\": [],\n" + " \"label\": \"车行\",\n" + " \"mccCode\": \"90004\"\n" + " },\n" + " {\n" + + " \"children:\":[],\n" + " \"label\":\"软件服务\",\n" + " \"mccCode\":\"90005\"\n" + " }\n" + " ],\n" + + " \"label\": \"其他服务类\",\n" + " \"mccCode\": \"9\"\n" + " },\n" + " {\n" + " \"children\": [\n" + " {\n" + + " \"children\": [],\n" + " \"label\": \"Hotel\",\n" + " \"mccCode\": \"100001\"\n" + " },\n" + " {\n" + + " \"children\": [],\n" + " \"label\": \"Motel\",\n" + " \"mccCode\": \"100002\"\n" + " }\n" + " ],\n" + + " \"label\": \"酒店\",\n" + " \"mccCode\": \"10\"\n" + " },\n" + " {\n" + " \"children\": [\n" + " {\n" + + " \"children\": [],\n" + " \"label\": \"代购\",\n" + " \"mccCode\": \"110001\"\n" + " },\n" + " {\n" + + " \"children\": [],\n" + " \"label\": \"物流(大宗出口贸易)\",\n" + " \"mccCode\": \"110002\"\n" + " },\n" + " {\n" + + " \"children\": [],\n" + " \"label\": \"红酒出口\",\n" + " \"mccCode\": \"110003\"\n" + " },\n" + " {\n" + + " \"children\": [],\n" + " \"label\": \"综合电商\",\n" + " \"mccCode\": \"110004\"\n" + " }\n" + " ],\n" + + " \"label\": \"出口贸易\",\n" + " \"mccCode\": \"11\"\n" + " },\n" + " {\n" + " \"children\": [\n" + " {\n" + + " \"children\": [],\n" + " \"label\": \"建材\",\n" + " \"mccCode\": \"120001\"\n" + " },\n" + " {\n" + + " \"children\": [],\n" + " \"label\": \"家居\",\n" + " \"mccCode\": \"120002\"\n" + " }\n" + " ],\n" + + " \"label\": \"家居建材\",\n" + " \"mccCode\": \"12\"\n" + " }\n" + "]"; + + JSONArray jsonArray = JSONObject.parseArray(json); + + try { + XSSFWorkbook workbook = new XSSFWorkbook(new FileInputStream(new File("/Users/wangning/Desktop/asd.xlsx"))); + XSSFSheet sheet = workbook.getSheetAt(0); + Iterator rowIterator = sheet.rowIterator(); + Row row = null; + Cell cell = null; + while (rowIterator.hasNext()) { + row = rowIterator.next(); + cell = row.getCell(2); + if (cell == null) { + continue; + } + cell.setCellType(HSSFCell.CELL_TYPE_STRING); + String industryChinese = recursionIndustry(jsonArray, cell.getStringCellValue()); + cell.setCellValue(industryChinese); + + } + OutputStream out = new FileOutputStream("/Users/wangning/Desktop/qwe.xlsx"); + workbook.write(out); + workbook.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + + public String recursionIndustry(JSONArray jsonArray, String mccCode) { + String result = ""; + for (Object o : jsonArray) { + if(StringUtils.isNotEmpty(result)){ + break; + } + JSONObject tmp = (JSONObject) o; + if (tmp.getString("mccCode").equals(mccCode)) { + result = tmp.getString("label"); + }else { + if(tmp.getJSONArray("children")!=null){ + result = recursionIndustry(tmp.getJSONArray("children"), mccCode); + }else { + result = ""; + } + } + } + return result; + } } \ No newline at end of file From 016f5f94b1b9bd482971f364543a06dc402e1ef9 Mon Sep 17 00:00:00 2001 From: kira <164851225@qq.com> Date: Wed, 25 Jul 2018 10:25:04 +0800 Subject: [PATCH 04/65] update --- .../manage/openim/core/OpenimClient.java | 2 +- .../core/impl/CustomerServiceServiceImpl.java | 7 +++- .../manage/mappers/system/ManagerMapper.xml | 2 +- src/main/ui/service_client.html | 30 +++++++++---- src/main/ui/service_client_app.html | 6 ++- src/main/ui/service_contact_list_app.html | 42 ++++++++++--------- src/main/ui/service_customer.html | 4 +- 7 files changed, 57 insertions(+), 36 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/openim/core/OpenimClient.java b/src/main/java/au/com/royalpay/payment/manage/openim/core/OpenimClient.java index 99d42abac..d79b4b12f 100644 --- a/src/main/java/au/com/royalpay/payment/manage/openim/core/OpenimClient.java +++ b/src/main/java/au/com/royalpay/payment/manage/openim/core/OpenimClient.java @@ -124,7 +124,7 @@ public class OpenimClient { list2.add(obj3); obj3.setNick("king"); obj3.setIconUrl("https://ss0.baidu.com/73t1bjeh1BF3odCf/it/u=1948403834,955109320&fm=85&s=0D06E5134AD145F30C8D6D680300303A"); - obj3.setUserid("kira2"); + obj3.setUserid("kira3_PINE"); obj3.setPassword("xxxxxx"); req.setUserinfos(list2); OpenimUsersAddResponse rsp = null; diff --git a/src/main/java/au/com/royalpay/payment/manage/openim/core/impl/CustomerServiceServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/openim/core/impl/CustomerServiceServiceImpl.java index ba1e4f268..db9b3a929 100644 --- a/src/main/java/au/com/royalpay/payment/manage/openim/core/impl/CustomerServiceServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/openim/core/impl/CustomerServiceServiceImpl.java @@ -22,6 +22,7 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.data.redis.core.BoundListOperations; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; import java.util.ArrayList; import java.util.Arrays; @@ -118,7 +119,11 @@ public class CustomerServiceServiceImpl implements CustomerServiceService { queryParams.put("clientId", client.getIntValue("client_id")); } if (StringUtils.isNotEmpty(userNames)) { - queryParams.put("userNames", Arrays.asList(userNames.split(","))); + List userNams = Arrays.asList(userNames.split(",")); + if(CollectionUtils.isEmpty(userNams)){ + return Collections.EMPTY_LIST; + } + queryParams.put("userNames",userNams ); } if (queryParams.size() < 1) { return Collections.emptyList(); diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ManagerMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ManagerMapper.xml index 3237c85c0..0c2ab740d 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ManagerMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ManagerMapper.xml @@ -99,7 +99,7 @@ 0 AND org_id IS NULL AND is_valid = 1 + WHERE role & #{mask} >0 AND (org_id IS NULL or org_id=1) AND is_valid = 1 ]]> diff --git a/src/main/ui/service_client.html b/src/main/ui/service_client.html index e9cc74c05..9a3f38976 100644 --- a/src/main/ui/service_client.html +++ b/src/main/ui/service_client.html @@ -62,8 +62,8 @@ var cnts = data.data.cnts; for (var i = cnts.length - 1; i >= 0; i--) { var unreadmapEle = {msgCount: 0}; - window.sdk.unreadMap[WKIT.Conn.sdk.Base.getNick( - cnts[i].from)] = unreadmapEle; + window.sdk.unreadMap[getName(WKIT.Conn.sdk.Base.getNick( + cnts[i].from))] = unreadmapEle; } getUnreadMsgCount(); }, @@ -78,18 +78,20 @@ WKIT.Conn.sdk.Base.getUnreadMsgCount({ count: 40, success: function (data) { - console.log(data); var unreads = data.data; var uids = ""; for (var i = unreads.length - 1; i >= 0; i--) { - if(window.sdk.unreadMap[WKIT.Conn.sdk.Base.getNick(unreads[i].contact)]){ + window.sdk.unreadMap[getName(WKIT.Conn.sdk.Base.getNick(unreads[i].contact))].msgCount = + unreads[i].msgCount; + var nick = getName(WKIT.Conn.sdk.Base.getNick(unreads[i].contact)); + if(nick.length<=6){ + uids += nick+","; + }else { + uids += nick.substring(0,uid.length-5) + ","; } - window.sdk.unreadMap[WKIT.Conn.sdk.Base.getNick(unreads[i].contact)].msgCount = - unreads[i].msgCount; - var nick = WKIT.Conn.sdk.Base.getNick(unreads[i].contact) - uids += nick.substr(0,nick.length-6) + ","; } + console.log("unreadMap",window.sdk.unreadMap); window.sdk.loadContactList(uids); }, error: function (error) { @@ -100,7 +102,9 @@ function updateContractList(data) { var msg = data.msgs[0]; - var msg_uid = WKIT.Conn.sdk.Base.getNick(msg.from); + var msg_uid = getName(WKIT.Conn.sdk.Base.getNick(msg.from)) + + if (window.sdk.unreadMap[msg_uid]) { window.sdk.unreadMap[msg_uid].msgCount = window.sdk.unreadMap[msg_uid].msgCount + 1; } else { @@ -116,6 +120,14 @@ $("#J_wkitPluginFrameWrap").css("margin", "0 0 0 0"); } + function getName(uid) { + if(uid.substring(uid.length-5,uid.length-4)=='_'){ + var prefix = uid.substring(0,uid.length-5); + var suffix =uid.substring(uid.length-5,uid.length).toUpperCase(); + return prefix+suffix; + } + return uid; + } function getQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); diff --git a/src/main/ui/service_client_app.html b/src/main/ui/service_client_app.html index 3332ffd4a..e8cc439f6 100644 --- a/src/main/ui/service_client_app.html +++ b/src/main/ui/service_client_app.html @@ -123,11 +123,13 @@ function updateContractList(data) { var msg = data.msgs[0]; - var msg_uid = WKIT.Conn.sdk.Base.getNick(msg.from); + var msg_uid = WKIT.Conn.sdk.Base.getNick(msg.from).toUpperCase(); if (window.sdk.unreadMap[msg_uid]) { window.sdk.unreadMap[msg_uid].msgCount = window.sdk.unreadMap[msg_uid].msgCount + 1; + window.sdk.unreadMap[msg_uid].lastMsg =msg.msg ; + } else { - var unreadMapEle = {msgCount: 1} + var unreadMapEle = {msgCount: 1,msg:msg.msg} window.sdk.unreadMap[msg_uid] = unreadMapEle; } window.sdk.loadContactList(msg_uid.substr(0, msg_uid - 6)); diff --git a/src/main/ui/service_contact_list_app.html b/src/main/ui/service_contact_list_app.html index 2dac3db09..998e0ef0a 100644 --- a/src/main/ui/service_contact_list_app.html +++ b/src/main/ui/service_contact_list_app.html @@ -15,6 +15,7 @@ transition: background-color .1s; margin-bottom: 13px; width: 100%; + height: 2rem; } ul { @@ -65,22 +66,26 @@ } .avatar { - margin-top: 8px; - padding-left: 27px; + margin-top: 11px; + padding-left: 42px; + } + .msg { + margin-top: 11px; + padding-left: 42px; } .notice { - width: 15px; - height: 15px; - line-height: 15px; + width: 1.2rem; + height: 1.2rem; + line-height: 1.2rem; font-size: 10px; color: #fff; text-align: center; background-color: #f00; border-radius: 50%; position: relative; - right: -16px; - top: -7px; + right: -23px; + top: -8px; } .frm_search { @@ -166,31 +171,28 @@ function showContactList(map) { var contact_list = ''; for (var key in map) { - var css = 'hover'; - if (key == parent.window.uid) { - css = 'active'; - } + var ele= map[key]; var headImUrl = ''; - - - if (map[key].headimg) { - headImUrl = map[key].headimg; + if (ele.headimg) { + headImUrl = ele.headimg; } else { headImUrl = "/static/images/act/encourage_money/default_headimg.png"; } contact_list += - "
  • " + "
    " - + "
    " + map[key].msgCount + "
    " + + "
    " + ele.msgCount + "
    " + "
    " - + "
    " + key + "
    " - + "
  • " + + "
    " + key + "
    "; + if(ele.lastMsg){ + contact_list +="
    " + ele.lastMsg + "
    "; + } + contact_list+= ""; } $("#contact_list").html(contact_list); } - function switchToUser(touid) { parent.document.getElementById("subPage").contentWindow.switchTouid(touid); parent.hideList(); diff --git a/src/main/ui/service_customer.html b/src/main/ui/service_customer.html index 2f9948130..d73741bba 100644 --- a/src/main/ui/service_customer.html +++ b/src/main/ui/service_customer.html @@ -12,10 +12,10 @@ container: document.getElementById('J_demo'), width: 700, height: 500, - uid: 'kira2', + uid: 'kira3_PINE', appkey: 24980715, credential: 'xxxxxx', - touid: 'kira', + touid: 'kira7', logo: 'http://img.alicdn.com/tps/i3/TB12LD9IFXXXXb3XpXXSyFWJXXX-82-82.png', }); } From 5c19193c78dd57dfcc929c50173b6f643d4f6ce1 Mon Sep 17 00:00:00 2001 From: kira <164851225@qq.com> Date: Wed, 25 Jul 2018 11:27:24 +0800 Subject: [PATCH 05/65] fixbug --- .../manage/appclient/core/impls/RetailAppServiceImp.java | 1 + .../payment/manage/appclient/web/RetailAppController.java | 5 ----- .../royalpay/payment/manage/openim/OpenimController.java | 8 +++++--- .../manage/openim/core/CustomerServiceService.java | 2 +- .../openim/core/impl/CustomerServiceServiceImpl.java | 4 ++-- .../payment/manage/task/SendUnreadMsgWechatTask.java | 8 +++++--- .../payment/manage/mappers/system/ManagerMapper.xml | 2 +- src/main/ui/static/config/sysconfigs/sysconfigs.js | 2 +- 8 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/appclient/core/impls/RetailAppServiceImp.java b/src/main/java/au/com/royalpay/payment/manage/appclient/core/impls/RetailAppServiceImp.java index e11eb9228..cfd9247ed 100644 --- a/src/main/java/au/com/royalpay/payment/manage/appclient/core/impls/RetailAppServiceImp.java +++ b/src/main/java/au/com/royalpay/payment/manage/appclient/core/impls/RetailAppServiceImp.java @@ -422,6 +422,7 @@ public class RetailAppServiceImp implements RetailAppService { return customerServiceService.checkAndSave(account); } + //暂不使用 @Override public void addUnreadMsg(JSONObject device, JSONObject param) { customerServiceService.addUnreadMsg(param); diff --git a/src/main/java/au/com/royalpay/payment/manage/appclient/web/RetailAppController.java b/src/main/java/au/com/royalpay/payment/manage/appclient/web/RetailAppController.java index b31557c8e..8da6e9e7c 100644 --- a/src/main/java/au/com/royalpay/payment/manage/appclient/web/RetailAppController.java +++ b/src/main/java/au/com/royalpay/payment/manage/appclient/web/RetailAppController.java @@ -549,9 +549,4 @@ public class RetailAppController { return retailAppService.openimCheck(device); } - @RequestMapping(value = "/openim/chat",method = RequestMethod.POST) - public void openimChat(@ModelAttribute(RETAIL_DEVICE) JSONObject device,@RequestBody JSONObject param) { - retailAppService.addUnreadMsg(device,param); - } - } diff --git a/src/main/java/au/com/royalpay/payment/manage/openim/OpenimController.java b/src/main/java/au/com/royalpay/payment/manage/openim/OpenimController.java index 11a9d432e..467fc56ad 100644 --- a/src/main/java/au/com/royalpay/payment/manage/openim/OpenimController.java +++ b/src/main/java/au/com/royalpay/payment/manage/openim/OpenimController.java @@ -13,6 +13,7 @@ import com.alibaba.fastjson.JSONObject; import org.springframework.validation.Errors; import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @@ -57,9 +58,10 @@ public class OpenimController { return customerServiceService.query(clientMoniker,userNames); } - @ManagerMapping(value = "/servant/onoff", method = RequestMethod.PUT,role = {ManagerRole.ADMIN}) - public void listServants(@ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject loginManager, @RequestBody JSONObject param) { - customerServiceService.onoff(loginManager,param.getBoolean("onoff")); + @ManagerMapping(value = "/servant/{manager_id}/onoff", method = RequestMethod.PUT,role = {ManagerRole.ADMIN}) + public void listServants(@ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject loginManager,@PathVariable String manager_id, @RequestBody JSONObject param) { + param.put("manager_id",manager_id); + customerServiceService.onoff(param); } } diff --git a/src/main/java/au/com/royalpay/payment/manage/openim/core/CustomerServiceService.java b/src/main/java/au/com/royalpay/payment/manage/openim/core/CustomerServiceService.java index d00549626..c63334113 100644 --- a/src/main/java/au/com/royalpay/payment/manage/openim/core/CustomerServiceService.java +++ b/src/main/java/au/com/royalpay/payment/manage/openim/core/CustomerServiceService.java @@ -18,7 +18,7 @@ public interface CustomerServiceService { List query(String clientMoniker,String userNames); - void onoff(JSONObject manager,boolean status); + void onoff(JSONObject param); void addUnreadMsg(JSONObject params); diff --git a/src/main/java/au/com/royalpay/payment/manage/openim/core/impl/CustomerServiceServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/openim/core/impl/CustomerServiceServiceImpl.java index db9b3a929..e98d09b7b 100644 --- a/src/main/java/au/com/royalpay/payment/manage/openim/core/impl/CustomerServiceServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/openim/core/impl/CustomerServiceServiceImpl.java @@ -141,10 +141,10 @@ public class CustomerServiceServiceImpl implements CustomerServiceService { } @Override - public void onoff(JSONObject manager, boolean onoff) { + public void onoff(JSONObject manager) { JSONObject record = new JSONObject(); record.put("manager_id", manager.getString("manager_id")); - record.put("onoff", onoff); + record.put("onoff", manager.getBoolean("onoff")); udpateOrSave(record); } diff --git a/src/main/java/au/com/royalpay/payment/manage/task/SendUnreadMsgWechatTask.java b/src/main/java/au/com/royalpay/payment/manage/task/SendUnreadMsgWechatTask.java index 43094024f..38df5d256 100644 --- a/src/main/java/au/com/royalpay/payment/manage/task/SendUnreadMsgWechatTask.java +++ b/src/main/java/au/com/royalpay/payment/manage/task/SendUnreadMsgWechatTask.java @@ -9,6 +9,7 @@ import javax.annotation.Resource; /** * Created by wangning on 2018/1/2. + * 发送客服未读消息提醒 */ @Component @ConditionalOnProperty(value = "app.run-tasks", havingValue = "true") @@ -17,7 +18,8 @@ public class SendUnreadMsgWechatTask { private CustomerServiceService customerServiceService; // @Scheduled(cron = "0 0/10 * * * ?") - public void ofeiOrderCheck() { - customerServiceService.sendUnreadWxMsg(); - } +// public void ofeiOrderCheck() { +// customerServiceService.sendUnreadWxMsg(); +// } + } diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ManagerMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ManagerMapper.xml index 0c2ab740d..20bfbdc2c 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ManagerMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ManagerMapper.xml @@ -97,7 +97,7 @@ 0 AND (org_id IS NULL or org_id=1) AND is_valid = 1 + SELECT m.display_name display_name,m.manager_id manager_id, cs.nick nick + FROM sys_managers m left join sys_customer_service cs on m.manager_id = cs.manager_id + WHERE m.role & #{mask} >0 AND (m.org_id IS NULL or m.org_id=1) AND m.is_valid = 1 ]]> From dab1dbf73ed5242150a5e3613e10648025a347c6 Mon Sep 17 00:00:00 2001 From: kira <164851225@qq.com> Date: Wed, 25 Jul 2018 17:56:49 +0800 Subject: [PATCH 08/65] =?UTF-8?q?=E9=87=8D=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manage/openim/OpenimController.java | 8 +++++- .../openim/core/CustomerServiceService.java | 2 ++ .../core/impl/CustomerServiceServiceImpl.java | 11 +++++--- .../openim/core/impl/OpenimApiImpl.java | 4 +++ .../core/impls/SignInAccountServiceImpl.java | 9 +++++- .../manage/mappers/system/ManagerMapper.xml | 2 +- src/main/ui/manage.html | 2 +- .../ui/static/config/sysconfigs/sysconfigs.js | 11 ++++++++ .../sysconfigs/templates/servants_config.html | 28 +++++++++++++++++-- .../sysconfigs/templates/sysconfig.html | 2 +- 10 files changed, 68 insertions(+), 11 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/openim/OpenimController.java b/src/main/java/au/com/royalpay/payment/manage/openim/OpenimController.java index 156bd473c..834775740 100644 --- a/src/main/java/au/com/royalpay/payment/manage/openim/OpenimController.java +++ b/src/main/java/au/com/royalpay/payment/manage/openim/OpenimController.java @@ -59,9 +59,15 @@ public class OpenimController { } @ManagerMapping(value = "/servant/{manager_id}/onoff", method = RequestMethod.PUT,role = {ManagerRole.ADMIN}) - public void listServants(@ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject loginManager,@PathVariable String manager_id, @RequestBody JSONObject param) { + public void onoff(@ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject loginManager,@PathVariable String manager_id, @RequestBody JSONObject param) { param.put("manager_id",manager_id); customerServiceService.onoff(param); } + @ManagerMapping(value = "/servant/{manager_id}/nick", method = RequestMethod.PUT,role = {ManagerRole.ADMIN}) + public void changeNick(@ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject loginManager,@PathVariable String manager_id, @RequestBody JSONObject param) { + param.put("manager_id",manager_id); + customerServiceService.changeNick(param); + } + } diff --git a/src/main/java/au/com/royalpay/payment/manage/openim/core/CustomerServiceService.java b/src/main/java/au/com/royalpay/payment/manage/openim/core/CustomerServiceService.java index 0d571a954..4b6c769e0 100644 --- a/src/main/java/au/com/royalpay/payment/manage/openim/core/CustomerServiceService.java +++ b/src/main/java/au/com/royalpay/payment/manage/openim/core/CustomerServiceService.java @@ -22,6 +22,8 @@ public interface CustomerServiceService { void onoff(JSONObject param); + void changeNick(JSONObject param); + void addUnreadMsg(JSONObject params); void sendUnreadWxMsg(); diff --git a/src/main/java/au/com/royalpay/payment/manage/openim/core/impl/CustomerServiceServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/openim/core/impl/CustomerServiceServiceImpl.java index 5e90bd66c..acf6318dc 100644 --- a/src/main/java/au/com/royalpay/payment/manage/openim/core/impl/CustomerServiceServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/openim/core/impl/CustomerServiceServiceImpl.java @@ -71,6 +71,7 @@ public class CustomerServiceServiceImpl implements CustomerServiceService { checkRecord.put("nick", userInfo.getString("username") + "_" + client.getString("client_moniker")); checkRecord.put("user_id", userInfo.getString("username")); checkRecord.put("password", DigestUtils.md5Hex("uid")); + checkRecord.put("icon_url",client.getString("logo_thumbnail")); openimApi.addUser(checkRecord); checkRecord.put("servants", sysCustomerServiceMapper.findOnline()); checkRecord.put("appkey", appkey); @@ -152,10 +153,12 @@ public class CustomerServiceServiceImpl implements CustomerServiceService { @Override public void onoff(JSONObject manager) { - JSONObject record = new JSONObject(); - record.put("manager_id", manager.getString("manager_id")); - record.put("onoff", manager.getBoolean("onoff")); - saveOrUpdate(record,false); + saveOrUpdate(manager,false); + } + + @Override + public void changeNick(JSONObject param) { + saveOrUpdate(param,true); } @Override diff --git a/src/main/java/au/com/royalpay/payment/manage/openim/core/impl/OpenimApiImpl.java b/src/main/java/au/com/royalpay/payment/manage/openim/core/impl/OpenimApiImpl.java index c2cae4802..44b7bd062 100644 --- a/src/main/java/au/com/royalpay/payment/manage/openim/core/impl/OpenimApiImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/openim/core/impl/OpenimApiImpl.java @@ -6,6 +6,7 @@ import au.com.royalpay.payment.manage.openim.core.OpenimClient; import com.alibaba.fastjson.JSONObject; import com.taobao.api.domain.Userinfos; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import java.util.ArrayList; @@ -34,6 +35,9 @@ public class OpenimApiImpl implements OpenimApi { record.setUserid(user.getString("user_id")); record.setNick(user.getString("nick")); record.setPassword(user.getString("password")); + if(StringUtils.isNotEmpty(user.getString("icon_url"))){ + record.setIconUrl(user.getString("icon_url")); + } saveList.add(record); openimClient.addUser(saveList); } diff --git a/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/SignInAccountServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/SignInAccountServiceImpl.java index 18eba9c12..c6eabd65e 100644 --- a/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/SignInAccountServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/SignInAccountServiceImpl.java @@ -7,6 +7,7 @@ import au.com.royalpay.payment.manage.mappers.system.ClientAccountMapper; import au.com.royalpay.payment.manage.mappers.system.ClientMapper; import au.com.royalpay.payment.manage.mappers.system.ManagerMapper; import au.com.royalpay.payment.manage.mappers.system.OrgMapper; +import au.com.royalpay.payment.manage.mappers.system.SysCustomerServiceMapper; import au.com.royalpay.payment.manage.merchants.core.ClientConfigService; import au.com.royalpay.payment.manage.merchants.core.ClientManager; import au.com.royalpay.payment.manage.notice.core.MailService; @@ -22,6 +23,7 @@ import au.com.royalpay.payment.tools.env.RequestEnvironment; import au.com.royalpay.payment.tools.exceptions.BadRequestException; import au.com.royalpay.payment.tools.exceptions.ForbiddenException; import au.com.royalpay.payment.tools.locale.LocaleSupport; +import au.com.royalpay.payment.tools.permission.enums.ManagerRole; import au.com.royalpay.payment.tools.utils.PasswordUtils; import com.alibaba.fastjson.JSONObject; @@ -74,6 +76,8 @@ public class SignInAccountServiceImpl implements SignInAccountService, Applicati @Resource private ClientConfigService clientConfigService; @Resource + private SysCustomerServiceMapper sysCustomerServiceMapper; + @Resource private PermissionClientModulesService permissionClientModulesService; private ApplicationEventPublisher publisher; private static final List tags = new ArrayList<>(); @@ -114,6 +118,10 @@ public class SignInAccountServiceImpl implements SignInAccountService, Applicati manager.put("available_func_names", funcNames); manager.put("modules", modules.values()); manager.put("module_names", modules.keySet()); + if((manager.getIntValue("role")& ManagerRole.SERVANT.getMask())>0){ + JSONObject cs = sysCustomerServiceMapper.findByManagerId(accountId); + manager.put("onoff",cs.getBoolean("onoff")); + } return manager; } @@ -429,5 +437,4 @@ public class SignInAccountServiceImpl implements SignInAccountService, Applicati account.put("is_password_expired", 0); clientAccountMapper.update(account); } - } diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ManagerMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ManagerMapper.xml index 8016fd74a..07fec675e 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ManagerMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ManagerMapper.xml @@ -97,7 +97,7 @@ +
    + +
    +
    + +
    + + + + diff --git a/src/main/ui/static/config/sysconfigs/templates/sysconfig.html b/src/main/ui/static/config/sysconfigs/templates/sysconfig.html index 78162910a..e874852d6 100644 --- a/src/main/ui/static/config/sysconfigs/templates/sysconfig.html +++ b/src/main/ui/static/config/sysconfigs/templates/sysconfig.html @@ -30,7 +30,7 @@ Partner Permission Config - + Servants Config From f2632b9c4377a392e0fa9bba64f1356b002daa73 Mon Sep 17 00:00:00 2001 From: kira <164851225@qq.com> Date: Wed, 25 Jul 2018 18:03:58 +0800 Subject: [PATCH 09/65] update customer service headimg --- .../manage/openim/core/impl/CustomerServiceServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/au/com/royalpay/payment/manage/openim/core/impl/CustomerServiceServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/openim/core/impl/CustomerServiceServiceImpl.java index acf6318dc..d2fb3ad01 100644 --- a/src/main/java/au/com/royalpay/payment/manage/openim/core/impl/CustomerServiceServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/openim/core/impl/CustomerServiceServiceImpl.java @@ -90,6 +90,7 @@ public class CustomerServiceServiceImpl implements CustomerServiceService { checkRecord.put("user_id", managerDetail.getString("username")); int num = sysCustomerServiceMapper.countAll(); checkRecord.put("nick", "客服" + num); + checkRecord.put("icon_url","https://file.royalpay.com.au/open/2017/10/17/1508233432777_7X9kTmbsHUDv0iFD1zmYrDzNkrsBBk.jpg"); checkRecord.put("password", RandomStringUtils.random(12, true, true).toLowerCase()); openimApi.addUser(checkRecord); result = checkRecord; From d6a91a1c0329beb8d2bcc56bbdc14b56c2f0146a Mon Sep 17 00:00:00 2001 From: kira <164851225@qq.com> Date: Wed, 25 Jul 2018 18:11:51 +0800 Subject: [PATCH 10/65] remove log --- src/main/ui/static/config/sysconfigs/sysconfigs.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/ui/static/config/sysconfigs/sysconfigs.js b/src/main/ui/static/config/sysconfigs/sysconfigs.js index 915ea8446..2beef51d6 100644 --- a/src/main/ui/static/config/sysconfigs/sysconfigs.js +++ b/src/main/ui/static/config/sysconfigs/sysconfigs.js @@ -83,7 +83,6 @@ define(['angular', 'uiRouter'], function (angular) { }; $scope.changeNick = function (servant) { - console.log("servant",servant); var param = {nick:servant.nick}; $http.put('/sys/openim/servant/'+servant.manager_id+'/nick',param).then(function (resp) { $scope.ctrl.nick[servant.display_name] = false; From 3b6609ad03a7619141e725fef47723fbbb51d87c Mon Sep 17 00:00:00 2001 From: kira <164851225@qq.com> Date: Wed, 25 Jul 2018 18:47:55 +0800 Subject: [PATCH 11/65] update --- src/main/ui/service_client.html | 60 ++++++++++++++++++--------- src/main/ui/service_contact_list.html | 7 +++- src/main/ui/service_customer.html | 2 +- 3 files changed, 46 insertions(+), 23 deletions(-) diff --git a/src/main/ui/service_client.html b/src/main/ui/service_client.html index 9a3f38976..9af199d7c 100644 --- a/src/main/ui/service_client.html +++ b/src/main/ui/service_client.html @@ -11,10 +11,10 @@ diff --git a/src/main/ui/service_contact_list.html b/src/main/ui/service_contact_list.html index cd01bb65d..9d4d252c4 100644 --- a/src/main/ui/service_contact_list.html +++ b/src/main/ui/service_contact_list.html @@ -7,7 +7,6 @@ - --> From 58cf4e0fe0382288a2a8ac6294d8116efc2d40e1 Mon Sep 17 00:00:00 2001 From: kira <164851225@qq.com> Date: Thu, 26 Jul 2018 09:52:51 +0800 Subject: [PATCH 13/65] update --- src/main/ui/service_client.html | 43 ++++++++++++--------------- src/main/ui/service_contact_list.html | 13 ++++---- src/main/ui/service_customer.html | 2 +- 3 files changed, 28 insertions(+), 30 deletions(-) diff --git a/src/main/ui/service_client.html b/src/main/ui/service_client.html index 9af199d7c..95536f37b 100644 --- a/src/main/ui/service_client.html +++ b/src/main/ui/service_client.html @@ -22,7 +22,7 @@ uid: window.uid, appkey: window.appKey, credential: window.password, - touid: window.touid, + touid: window.uid, pluginUrl: '/service_contact_list.html?uid=' + window.uid, onLoginSuccess: function (data) { @@ -38,9 +38,12 @@ } function switchTouid(touid) { - window.uid = touid; + window.touid = touid; WKIT.switchTouid({ - touid: touid + touid: window.touid, + logo: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1531805782509&di=98f7fa48980696f8eddf7eb617a834a3&imgtype=0&src=http%3A%2F%2Fi2.hdslb.com%2Fbfs%2Fface%2F98dbd049061292bca8625caf91cff1b41ee999cd.jpg', + Avatar: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1531805782509&di=98f7fa48980696f8eddf7eb617a834a3&imgtype=0&src=http%3A%2F%2Fi2.hdslb.com%2Fbfs%2Fface%2F98dbd049061292bca8625caf91cff1b41ee999cd.jpg', + toAvatar: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1531805782509&di=98f7fa48980696f8eddf7eb617a834a3&imgtype=0&src=http%3A%2F%2Fi2.hdslb.com%2Fbfs%2Fface%2F98dbd049061292bca8625caf91cff1b41ee999cd.jpg' }); WKIT.Conn.sdk.Chat.setReadState({ touid: touid, @@ -82,20 +85,12 @@ var unreads = data.data; var uids = ""; for (var i = unreads.length - 1; i >= 0; i--) { - window.sdk.unreadMap[getName( - WKIT.Conn.sdk.Base.getNick( - unreads[i].contact))].msgCount = - unreads[i].msgCount; - var nick = getName( - WKIT.Conn.sdk.Base.getNick( - unreads[i].contact)); - if (nick.length <= 6) { + window.sdk.unreadMap[getName(WKIT.Conn.sdk.Base.getNick(unreads[i].contact))].msgCount = unreads[i].msgCount; + var nick = getName(WKIT.Conn.sdk.Base.getNick(unreads[i].contact)); + if (nick.substring(nick.length - 5, nick.length - 4) == '_') { uids += nick + ","; } else { - - uids += - nick.substring(0, uid.length - 5) - + ","; + uids += nick.substring(0, uid.length - 5) + ","; } } window.sdk.loadContactList(uids); @@ -109,7 +104,7 @@ function updateContractList(data) { var msg = data.msgs[0]; var msg_uid = getName(WKIT.Conn.sdk.Base.getNick(msg.from)) - if (window.uid = msg_uid) { + if (window.uid == msg_uid) { WKIT.Conn.sdk.Chat.setReadState({ touid: msg_uid, timestamp: Math.floor((+new Date()) / 1000), @@ -119,15 +114,15 @@ console.log('set read state fail', error); } }); + }else { + if (window.sdk.unreadMap[msg_uid]) { + window.sdk.unreadMap[msg_uid].msgCount = window.sdk.unreadMap[msg_uid].msgCount + 1; + } else { + var unreadMapEle = {msgCount: 1} + window.sdk.unreadMap[msg_uid] = unreadMapEle; + } + window.sdk.loadContactList(msg_uid.substr(0, msg_uid - 6)); } - - if (window.sdk.unreadMap[msg_uid]) { - window.sdk.unreadMap[msg_uid].msgCount = window.sdk.unreadMap[msg_uid].msgCount + 1; - } else { - var unreadMapEle = {msgCount: 1} - window.sdk.unreadMap[msg_uid] = unreadMapEle; - } - window.sdk.loadContactList(msg_uid.substr(0, msg_uid - 6)); } function initLayout() { diff --git a/src/main/ui/service_contact_list.html b/src/main/ui/service_contact_list.html index 9d4d252c4..c853ca00e 100644 --- a/src/main/ui/service_contact_list.html +++ b/src/main/ui/service_contact_list.html @@ -164,13 +164,14 @@ function showContactList(map) { var contact_list = ''; for (var key in map) { + var ele= map[key]; var css = 'hover'; - if (key == parent.window.uid) { + if (key == parent.window.touid) { css = 'active'; } var headImUrl = ''; - if (map[key].headimg) { - headImUrl = map[key].headimg; + if (ele.headimg) { + headImUrl = ele.headimg; } else { headImUrl = "/static/images/act/encourage_money/default_headimg.png"; } @@ -179,8 +180,10 @@ + "')>" + "
    " - + "
    " + map[key].msgCount + "
    " - + "
    " + if(ele.msgCount>0){ + contact_list+="
    " + ele.msgCount + "
    "; + } + contact_list += "" + "
    " + key + "
    " + "" } diff --git a/src/main/ui/service_customer.html b/src/main/ui/service_customer.html index eae9470fa..d557dbecd 100644 --- a/src/main/ui/service_customer.html +++ b/src/main/ui/service_customer.html @@ -15,7 +15,7 @@ uid: 'kira3_PINE', appkey: 24980715, credential: 'xxxxxx', - touid: 'kiraservant2', + touid: 'kiraservanttest1', logo: 'http://img.alicdn.com/tps/i3/TB12LD9IFXXXXb3XpXXSyFWJXXX-82-82.png', }); } From 19b1425aff84e5245901582bc1cd3c2863fa544f Mon Sep 17 00:00:00 2001 From: eason Date: Thu, 26 Jul 2018 09:56:55 +0800 Subject: [PATCH 14/65] fix --- src/main/ui/all_locations.html | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/ui/all_locations.html b/src/main/ui/all_locations.html index e3930803c..e8074e877 100644 --- a/src/main/ui/all_locations.html +++ b/src/main/ui/all_locations.html @@ -21,6 +21,7 @@
    + From d1a0ed322bec4c4281e826582aec44bf5e29ec16 Mon Sep 17 00:00:00 2001 From: eason Date: Thu, 26 Jul 2018 09:59:20 +0800 Subject: [PATCH 15/65] fix google map key --- src/main/ui/all_locations.html | 3 +-- src/main/ui/one_locations.html | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/main/ui/all_locations.html b/src/main/ui/all_locations.html index e8074e877..0ead36432 100644 --- a/src/main/ui/all_locations.html +++ b/src/main/ui/all_locations.html @@ -21,9 +21,8 @@
    - From e1028366f067a74de921884827913d8a123730e5 Mon Sep 17 00:00:00 2001 From: kira <164851225@qq.com> Date: Thu, 26 Jul 2018 10:15:08 +0800 Subject: [PATCH 16/65] update --- src/main/ui/service_client.html | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/main/ui/service_client.html b/src/main/ui/service_client.html index 95536f37b..f34552154 100644 --- a/src/main/ui/service_client.html +++ b/src/main/ui/service_client.html @@ -39,14 +39,16 @@ function switchTouid(touid) { window.touid = touid; + var low_touid = WKIT.Conn.sdk.Base.getNick(touid).toLowerCase(); + alert(low_touid); WKIT.switchTouid({ - touid: window.touid, + touid: low_touid, logo: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1531805782509&di=98f7fa48980696f8eddf7eb617a834a3&imgtype=0&src=http%3A%2F%2Fi2.hdslb.com%2Fbfs%2Fface%2F98dbd049061292bca8625caf91cff1b41ee999cd.jpg', Avatar: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1531805782509&di=98f7fa48980696f8eddf7eb617a834a3&imgtype=0&src=http%3A%2F%2Fi2.hdslb.com%2Fbfs%2Fface%2F98dbd049061292bca8625caf91cff1b41ee999cd.jpg', toAvatar: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1531805782509&di=98f7fa48980696f8eddf7eb617a834a3&imgtype=0&src=http%3A%2F%2Fi2.hdslb.com%2Fbfs%2Fface%2F98dbd049061292bca8625caf91cff1b41ee999cd.jpg' }); WKIT.Conn.sdk.Chat.setReadState({ - touid: touid, + touid: low_touid, timestamp: Math.floor((+new Date()) / 1000), success: function (data) { }, @@ -103,10 +105,11 @@ function updateContractList(data) { var msg = data.msgs[0]; - var msg_uid = getName(WKIT.Conn.sdk.Base.getNick(msg.from)) + var low_msg_uid = WKIT.Conn.sdk.Base.getNick(msg.from); + var msg_uid = getName(low_msg_uid); if (window.uid == msg_uid) { WKIT.Conn.sdk.Chat.setReadState({ - touid: msg_uid, + touid: low_msg_uid, timestamp: Math.floor((+new Date()) / 1000), success: function (data) { }, From 1305007264b0fcc60ed86de91a254f9c0870d601 Mon Sep 17 00:00:00 2001 From: kira <164851225@qq.com> Date: Thu, 26 Jul 2018 11:01:52 +0800 Subject: [PATCH 17/65] update --- src/main/ui/static/config/sysconfigs/sysconfigs.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/ui/static/config/sysconfigs/sysconfigs.js b/src/main/ui/static/config/sysconfigs/sysconfigs.js index 2beef51d6..7cbd79014 100644 --- a/src/main/ui/static/config/sysconfigs/sysconfigs.js +++ b/src/main/ui/static/config/sysconfigs/sysconfigs.js @@ -77,6 +77,9 @@ define(['angular', 'uiRouter'], function (angular) { $scope.onoff = function (servant) { var param = {onoff:servant.onoff}; $http.put('/sys/openim/servant/'+servant.manager_id+'/onoff',param).then(function (resp) { + if(!servant.password){ + $scope.loadServants(); + } },function (resp) { commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}); }); From 70d816087160ad55efe3b531292968d15ebb4569 Mon Sep 17 00:00:00 2001 From: kira <164851225@qq.com> Date: Thu, 26 Jul 2018 11:04:56 +0800 Subject: [PATCH 18/65] update --- src/main/ui/static/config/sysconfigs/sysconfigs.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/ui/static/config/sysconfigs/sysconfigs.js b/src/main/ui/static/config/sysconfigs/sysconfigs.js index 7cbd79014..a905017ce 100644 --- a/src/main/ui/static/config/sysconfigs/sysconfigs.js +++ b/src/main/ui/static/config/sysconfigs/sysconfigs.js @@ -89,6 +89,9 @@ define(['angular', 'uiRouter'], function (angular) { var param = {nick:servant.nick}; $http.put('/sys/openim/servant/'+servant.manager_id+'/nick',param).then(function (resp) { $scope.ctrl.nick[servant.display_name] = false; + if(!servant.password){ + $scope.loadServants(); + } },function (resp) { commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}); }); From 46cd2a2bdd867f51b3cf32dbaf4eed9763eb23bb Mon Sep 17 00:00:00 2001 From: kira <164851225@qq.com> Date: Thu, 26 Jul 2018 11:48:20 +0800 Subject: [PATCH 19/65] update --- .../core/impls/RetailAppServiceImp.java | 4 ++- .../refund/impls/RefundServiceImpl.java | 2 +- .../manage/mappers/payment/RefundMapper.xml | 28 ++++++++++--------- 3 files changed, 19 insertions(+), 15 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/appclient/core/impls/RetailAppServiceImp.java b/src/main/java/au/com/royalpay/payment/manage/appclient/core/impls/RetailAppServiceImp.java index 33736b954..90f12b218 100644 --- a/src/main/java/au/com/royalpay/payment/manage/appclient/core/impls/RetailAppServiceImp.java +++ b/src/main/java/au/com/royalpay/payment/manage/appclient/core/impls/RetailAppServiceImp.java @@ -432,7 +432,9 @@ public class RetailAppServiceImp implements RetailAppService { public JSONObject getRefunds(JSONObject device, AppQueryBean appQueryBean) { JSONObject appParam = appQueryBean.toParams(); JSONObject param = new JSONObject(); - param.put("client_id",device.getIntValue("client_id")); + if(appParam.get("client_ids")==null) { + param.put("client_id", device.getIntValue("client_id")); + } param.put("start_time",appParam.getDate("begin")); param.put("end_time",appParam.getDate("end")); return refundService.listUnionAllApply(param, new PageBounds(appQueryBean.getPage(), appQueryBean.getLimit())); diff --git a/src/main/java/au/com/royalpay/payment/manage/tradelog/refund/impls/RefundServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/tradelog/refund/impls/RefundServiceImpl.java index 54635f160..13d61c09e 100644 --- a/src/main/java/au/com/royalpay/payment/manage/tradelog/refund/impls/RefundServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/tradelog/refund/impls/RefundServiceImpl.java @@ -435,7 +435,7 @@ public class RefundServiceImpl implements RefundService, ApplicationEventPublish @Override public JSONObject listUnionAllApply(JSONObject params, PageBounds pagination) { - if(params.get("cleint_id")==null && params.get("client_ids")==null){ + if(params.get("client_id")==null && params.get("client_ids")==null){ return null; } return PageListUtils.buildPageListResult(refundMapper.listUnionAllApply(params, pagination)); diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/RefundMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/RefundMapper.xml index d2c2b55de..3de8630c7 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/RefundMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/RefundMapper.xml @@ -77,6 +77,7 @@ confirm_time confirm_time, operator_name operator_name, `status` `status` , + amount amount, 1 type FROM pmt_refunds @@ -85,10 +86,10 @@ and client_id = #{client_id} - and create_time <= #{start_time} + and create_time >= #{start_time} - and create_time >= #{end_time} + and create_time <= #{end_time} client_id in @@ -99,27 +100,28 @@ UNION ALL SELECT - order_id order_id, - client_id client_id, - applytime create_time, - audittime confirm_time, - auditorname operator_name, - audit_result `status` , + ra.order_id order_id, + ra.client_id client_id, + ra.applytime create_time, + ra.audittime confirm_time, + ra.auditorname operator_name, + ra.audit_result `status` , + r.amount amount, 2 type FROM - pmt_refund_applies + pmt_refund_applies ra left join pmt_refunds r on ra.refund_id = r.refund_id - and client_id = #{client_id} + and ra.client_id = #{client_id} - and applytime <= #{start_time} + and ra.applytime >= #{start_time} - and applytime >= #{end_time} + and ra.applytime <= #{end_time} - client_id in + ra.client_id in #{item} From 7610d01682e0b5ff06bbca1b8a596c3e9b08b63c Mon Sep 17 00:00:00 2001 From: kira <164851225@qq.com> Date: Thu, 26 Jul 2018 17:47:56 +0800 Subject: [PATCH 20/65] modify openim appkey & secret --- src/main/resources/application.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index a533935d1..4ad7dabda 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -112,8 +112,8 @@ mail.mailgun.default.merchantlist=merchants@mail.royalpay.com.au royalpay.sms.appid=1400094878 royalpay.sms.appkey=43390d81e20c5191c278fbf4cd275be2 -im.openim.appkey=24980715 -im.openim.secret=60b1ba680a6f27ffc701f10b6d5be00e +im.openim.appkey=24986533 +im.openim.secret=96e28e7be21a874177211c31834b5174 #清算银行配置 From 921d9b98033323b2f02048688cbf403e0139126d Mon Sep 17 00:00:00 2001 From: kira <164851225@qq.com> Date: Fri, 27 Jul 2018 10:04:06 +0800 Subject: [PATCH 21/65] add log --- .../payment/manage/appclient/web/RetailAppController.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/appclient/web/RetailAppController.java b/src/main/java/au/com/royalpay/payment/manage/appclient/web/RetailAppController.java index 8da6e9e7c..3dc7a7ddf 100644 --- a/src/main/java/au/com/royalpay/payment/manage/appclient/web/RetailAppController.java +++ b/src/main/java/au/com/royalpay/payment/manage/appclient/web/RetailAppController.java @@ -319,7 +319,9 @@ public class RetailAppController { @RequestMapping(value = "/modify/retail_surcharge", method = RequestMethod.PUT) public JSONObject setCustomerPayForSurcharge(@ModelAttribute(CommonConsts.RETAIL_DEVICE) JSONObject device, @RequestBody JSONObject config) { - return retailAppService.updateRetailConfig(device, config.getBooleanValue("retail_surcharge")); + JSONObject result =retailAppService.updateRetailConfig(device, config.getBooleanValue("retail_surcharge")); + logger.info(result.toJSONString()); + return result; } @RequestMapping(value = "/modify/require_remark", method = RequestMethod.PUT) From 63acb207d7264e0a20c33dbd4bb0cf790f986d54 Mon Sep 17 00:00:00 2001 From: kira <164851225@qq.com> Date: Fri, 27 Jul 2018 10:14:54 +0800 Subject: [PATCH 22/65] update --- .../manage/appclient/web/RetailAppController.java | 9 ++++++--- .../manage/merchants/entity/ClientConfigModify.java | 1 - 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/appclient/web/RetailAppController.java b/src/main/java/au/com/royalpay/payment/manage/appclient/web/RetailAppController.java index 3dc7a7ddf..b31557c8e 100644 --- a/src/main/java/au/com/royalpay/payment/manage/appclient/web/RetailAppController.java +++ b/src/main/java/au/com/royalpay/payment/manage/appclient/web/RetailAppController.java @@ -319,9 +319,7 @@ public class RetailAppController { @RequestMapping(value = "/modify/retail_surcharge", method = RequestMethod.PUT) public JSONObject setCustomerPayForSurcharge(@ModelAttribute(CommonConsts.RETAIL_DEVICE) JSONObject device, @RequestBody JSONObject config) { - JSONObject result =retailAppService.updateRetailConfig(device, config.getBooleanValue("retail_surcharge")); - logger.info(result.toJSONString()); - return result; + return retailAppService.updateRetailConfig(device, config.getBooleanValue("retail_surcharge")); } @RequestMapping(value = "/modify/require_remark", method = RequestMethod.PUT) @@ -551,4 +549,9 @@ public class RetailAppController { return retailAppService.openimCheck(device); } + @RequestMapping(value = "/openim/chat",method = RequestMethod.POST) + public void openimChat(@ModelAttribute(RETAIL_DEVICE) JSONObject device,@RequestBody JSONObject param) { + retailAppService.addUnreadMsg(device,param); + } + } diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/ClientConfigModify.java b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/ClientConfigModify.java index 207ce00b1..0320aa2c5 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/ClientConfigModify.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/ClientConfigModify.java @@ -35,7 +35,6 @@ public abstract class ClientConfigModify { protected abstract JSONObject getModifyResult(); - @Transactional public int doModify(MerchantInfoProvider merchantInfoProvider, ClientConfigMapper clientConfigMapper, ClientMapper clientMapper, MongoTemplate mongoTemplate) { JSONObject client = merchantInfoProvider.getClientInfoByMoniker(clientMoniker); JSONObject modifyResult = getModifyResult(); From 95458bc4fce2eaa56ee534fdaa1ac516d5c9c569 Mon Sep 17 00:00:00 2001 From: kira <164851225@qq.com> Date: Fri, 27 Jul 2018 10:43:31 +0800 Subject: [PATCH 23/65] update --- .../com/royalpay/payment/manage/PaymentManageApplication.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/PaymentManageApplication.java b/src/main/java/au/com/royalpay/payment/manage/PaymentManageApplication.java index 020502652..974aa8099 100644 --- a/src/main/java/au/com/royalpay/payment/manage/PaymentManageApplication.java +++ b/src/main/java/au/com/royalpay/payment/manage/PaymentManageApplication.java @@ -72,6 +72,6 @@ public class PaymentManageApplication { @Bean public MongoClientOptions mongoOptions() { - return MongoClientOptions.builder().maxConnectionIdleTime(6000).build(); + return MongoClientOptions.builder().maxConnectionIdleTime(6000).socketTimeout(3000).maxWaitTime(3000).build(); } } From 56ca5abb6c0a9d6c2813d1bc510f9e6c285d6d5d Mon Sep 17 00:00:00 2001 From: kira <164851225@qq.com> Date: Fri, 27 Jul 2018 11:10:41 +0800 Subject: [PATCH 24/65] update --- .../com/royalpay/payment/manage/PaymentManageApplication.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/PaymentManageApplication.java b/src/main/java/au/com/royalpay/payment/manage/PaymentManageApplication.java index 974aa8099..f6b97e01f 100644 --- a/src/main/java/au/com/royalpay/payment/manage/PaymentManageApplication.java +++ b/src/main/java/au/com/royalpay/payment/manage/PaymentManageApplication.java @@ -72,6 +72,6 @@ public class PaymentManageApplication { @Bean public MongoClientOptions mongoOptions() { - return MongoClientOptions.builder().maxConnectionIdleTime(6000).socketTimeout(3000).maxWaitTime(3000).build(); + return MongoClientOptions.builder().maxConnectionIdleTime(6000).socketTimeout(3000).maxWaitTime(3000).serverSelectionTimeout(3000).build(); } } From ffd560352ab0848ed119b8fa06e17ee9ff844e52 Mon Sep 17 00:00:00 2001 From: kira <164851225@qq.com> Date: Fri, 27 Jul 2018 11:21:23 +0800 Subject: [PATCH 25/65] update --- .../payment/manage/custom/core/CustomService.java | 8 ++++++++ .../manage/custom/core/impl/CustomServiceImpl.java | 10 ++++++++++ .../royalpay/payment/manage/custom/package-info.java | 5 +++++ src/main/ui/service_client.html | 1 - 4 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 src/main/java/au/com/royalpay/payment/manage/custom/core/CustomService.java create mode 100644 src/main/java/au/com/royalpay/payment/manage/custom/core/impl/CustomServiceImpl.java create mode 100644 src/main/java/au/com/royalpay/payment/manage/custom/package-info.java diff --git a/src/main/java/au/com/royalpay/payment/manage/custom/core/CustomService.java b/src/main/java/au/com/royalpay/payment/manage/custom/core/CustomService.java new file mode 100644 index 000000000..7d7708b0a --- /dev/null +++ b/src/main/java/au/com/royalpay/payment/manage/custom/core/CustomService.java @@ -0,0 +1,8 @@ +package au.com.royalpay.payment.manage.custom.core; + +/** + * @author kira + * @date 2018/7/27 + */ +public interface CustomService { +} diff --git a/src/main/java/au/com/royalpay/payment/manage/custom/core/impl/CustomServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/custom/core/impl/CustomServiceImpl.java new file mode 100644 index 000000000..4ee4cc1c8 --- /dev/null +++ b/src/main/java/au/com/royalpay/payment/manage/custom/core/impl/CustomServiceImpl.java @@ -0,0 +1,10 @@ +package au.com.royalpay.payment.manage.custom.core.impl; + +import au.com.royalpay.payment.manage.custom.core.CustomService; + +/** + * @author kira + * @date 2018/7/27 + */ +public class CustomServiceImpl implements CustomService { +} diff --git a/src/main/java/au/com/royalpay/payment/manage/custom/package-info.java b/src/main/java/au/com/royalpay/payment/manage/custom/package-info.java new file mode 100644 index 000000000..dfb3f0e26 --- /dev/null +++ b/src/main/java/au/com/royalpay/payment/manage/custom/package-info.java @@ -0,0 +1,5 @@ +/** + * @author kira + * @date 2018/7/27 + */ +package au.com.royalpay.payment.manage.custom; \ No newline at end of file diff --git a/src/main/ui/service_client.html b/src/main/ui/service_client.html index f34552154..4ff9bfcd6 100644 --- a/src/main/ui/service_client.html +++ b/src/main/ui/service_client.html @@ -40,7 +40,6 @@ function switchTouid(touid) { window.touid = touid; var low_touid = WKIT.Conn.sdk.Base.getNick(touid).toLowerCase(); - alert(low_touid); WKIT.switchTouid({ touid: low_touid, logo: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1531805782509&di=98f7fa48980696f8eddf7eb617a834a3&imgtype=0&src=http%3A%2F%2Fi2.hdslb.com%2Fbfs%2Fface%2F98dbd049061292bca8625caf91cff1b41ee999cd.jpg', From 448aa422f0baf237494642e408eb7e81d46377b8 Mon Sep 17 00:00:00 2001 From: kira <164851225@qq.com> Date: Fri, 27 Jul 2018 11:22:23 +0800 Subject: [PATCH 26/65] update --- .../manage/openim/core/impl/CustomerServiceServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/openim/core/impl/CustomerServiceServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/openim/core/impl/CustomerServiceServiceImpl.java index d2fb3ad01..d7286a94f 100644 --- a/src/main/java/au/com/royalpay/payment/manage/openim/core/impl/CustomerServiceServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/openim/core/impl/CustomerServiceServiceImpl.java @@ -69,7 +69,7 @@ public class CustomerServiceServiceImpl implements CustomerServiceService { JSONObject userInfo = clientAccountMapper.findById(account.getString("account_id")); JSONObject checkRecord = new JSONObject(); checkRecord.put("nick", userInfo.getString("username") + "_" + client.getString("client_moniker")); - checkRecord.put("user_id", userInfo.getString("username")); + checkRecord.put("user_id", userInfo.getString("username") + "_" + client.getString("client_moniker")); checkRecord.put("password", DigestUtils.md5Hex("uid")); checkRecord.put("icon_url",client.getString("logo_thumbnail")); openimApi.addUser(checkRecord); From 278d362b050bce3fd838df0ef059dfcf1a353283 Mon Sep 17 00:00:00 2001 From: eason Date: Fri, 27 Jul 2018 13:06:21 +0800 Subject: [PATCH 27/65] fix new customers --- .../manage/analysis/core/impls/DashboardServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/DashboardServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/DashboardServiceImpl.java index a1591b5dd..75cff47fa 100644 --- a/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/DashboardServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/DashboardServiceImpl.java @@ -492,12 +492,12 @@ public class DashboardServiceImpl implements DashboardService,DashboardAnalysisT } params.put("channel",record.getString("channel")); int newCustomers = 0; + int oldCustomers = transactionAnalysisMapper.countOldCustomers(params); if (client.getIntValue("client_id")==0){ - newCustomers = transactionAnalysisMapper.getCountCustomers(params.getDate("end")) - transactionAnalysisMapper.getCountCustomers(params.getDate("begin")); + newCustomers = record.getIntValue("customers")-oldCustomers; }else { newCustomers = transactionAnalysisMapper.countNewCustomers(params); } - int oldCustomers = transactionAnalysisMapper.countOldCustomers(params); record.put("new_customers",newCustomers); record.put("old_customers",oldCustomers); record.put("client_id",client.getIntValue("client_id")); From 18fc6be9a4340c4fcb502279a50d4232b64b51e2 Mon Sep 17 00:00:00 2001 From: kira <164851225@qq.com> Date: Fri, 27 Jul 2018 15:39:00 +0800 Subject: [PATCH 28/65] tmp --- .../manage/custom/beans/AddCustomVO.java | 59 ++++++++++++++++++ .../manage/custom/beans/QueryCustomVo.java | 61 +++++++++++++++++++ .../manage/custom/core/CustomService.java | 13 ++++ .../custom/core/impl/CustomServiceImpl.java | 60 ++++++++++++++++++ .../manage/custom/web/CustomController.java | 39 ++++++++++++ .../custom/CustomReportDetailsMapper.java | 23 +++++++ .../mappers/custom/CustomReportsMapper.java | 24 ++++++++ .../custom/CustomReportDetailsMapper.xml | 6 ++ .../mappers/custom/CustomReportsMapper.xml | 17 ++++++ 9 files changed, 302 insertions(+) create mode 100644 src/main/java/au/com/royalpay/payment/manage/custom/beans/AddCustomVO.java create mode 100644 src/main/java/au/com/royalpay/payment/manage/custom/beans/QueryCustomVo.java create mode 100644 src/main/java/au/com/royalpay/payment/manage/custom/web/CustomController.java create mode 100644 src/main/java/au/com/royalpay/payment/manage/mappers/custom/CustomReportDetailsMapper.java create mode 100644 src/main/java/au/com/royalpay/payment/manage/mappers/custom/CustomReportsMapper.java create mode 100644 src/main/resources/au/com/royalpay/payment/manage/mappers/custom/CustomReportDetailsMapper.xml create mode 100644 src/main/resources/au/com/royalpay/payment/manage/mappers/custom/CustomReportsMapper.xml diff --git a/src/main/java/au/com/royalpay/payment/manage/custom/beans/AddCustomVO.java b/src/main/java/au/com/royalpay/payment/manage/custom/beans/AddCustomVO.java new file mode 100644 index 000000000..0b58bf576 --- /dev/null +++ b/src/main/java/au/com/royalpay/payment/manage/custom/beans/AddCustomVO.java @@ -0,0 +1,59 @@ +package au.com.royalpay.payment.manage.custom.beans; + + +import com.alibaba.fastjson.JSONObject; + +import java.util.List; + +/** + * @author kira + * @date 2018/7/27 + */ +public class AddCustomVO { + private String order_id; + private String custom; + private String mch_custom_no; + private boolean has_sub; + private List subOrders; + + + public String getOrder_id() { + return order_id; + } + + public void setOrder_id(String order_id) { + this.order_id = order_id; + } + + public String getCustom() { + return custom; + } + + public void setCustom(String custom) { + this.custom = custom; + } + + public String getMch_custom_no() { + return mch_custom_no; + } + + public void setMch_custom_no(String mch_custom_no) { + this.mch_custom_no = mch_custom_no; + } + + public boolean isHas_sub() { + return has_sub; + } + + public void setHas_sub(boolean has_sub) { + this.has_sub = has_sub; + } + + public List getSubOrders() { + return subOrders; + } + + public void setSubOrders(List subOrders) { + this.subOrders = subOrders; + } +} diff --git a/src/main/java/au/com/royalpay/payment/manage/custom/beans/QueryCustomVo.java b/src/main/java/au/com/royalpay/payment/manage/custom/beans/QueryCustomVo.java new file mode 100644 index 000000000..4c39e4ea5 --- /dev/null +++ b/src/main/java/au/com/royalpay/payment/manage/custom/beans/QueryCustomVo.java @@ -0,0 +1,61 @@ +package au.com.royalpay.payment.manage.custom.beans; + +import com.alibaba.fastjson.JSONObject; + +import org.apache.commons.lang3.StringUtils; + +/** + * @author kira + * @date 2018/7/27 + */ +public class QueryCustomVo { + + private String date; + private String channel; + private int page = 1; + private int limit = 10; + + public JSONObject toParam() { + JSONObject result = new JSONObject(); + if (StringUtils.isNotEmpty(date)) { + result.put("data", date); + } + if (StringUtils.isNotEmpty(channel)) { + result.put("channel", channel); + } + return result; + } + + public int getPage() { + return page; + } + + public void setPage(int page) { + this.page = page; + } + + public int getLimit() { + return limit; + } + + public void setLimit(int limit) { + this.limit = limit; + } + + public String getDate() { + return date; + } + + public void setDate(String date) { + this.date = date; + } + + public String getChannel() { + return channel; + } + + public void setChannel(String channel) { + this.channel = channel; + } + +} diff --git a/src/main/java/au/com/royalpay/payment/manage/custom/core/CustomService.java b/src/main/java/au/com/royalpay/payment/manage/custom/core/CustomService.java index 7d7708b0a..9ec90c39c 100644 --- a/src/main/java/au/com/royalpay/payment/manage/custom/core/CustomService.java +++ b/src/main/java/au/com/royalpay/payment/manage/custom/core/CustomService.java @@ -1,8 +1,21 @@ package au.com.royalpay.payment.manage.custom.core; +import com.alibaba.fastjson.JSONObject; + +import java.util.List; + /** * @author kira * @date 2018/7/27 */ public interface CustomService { + + JSONObject findOneWithDetail(String report_id); + + void add(String orderId, String mchCustomId, String custom, List subOrders); + + boolean check(int client_id, String channel); + + JSONObject query(JSONObject param, int page, int limit); + } diff --git a/src/main/java/au/com/royalpay/payment/manage/custom/core/impl/CustomServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/custom/core/impl/CustomServiceImpl.java index 4ee4cc1c8..dbeee4095 100644 --- a/src/main/java/au/com/royalpay/payment/manage/custom/core/impl/CustomServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/custom/core/impl/CustomServiceImpl.java @@ -1,10 +1,70 @@ package au.com.royalpay.payment.manage.custom.core.impl; +import au.com.royalpay.payment.core.CustomSupport; +import au.com.royalpay.payment.core.beans.CustomReport; import au.com.royalpay.payment.manage.custom.core.CustomService; +import au.com.royalpay.payment.manage.mappers.custom.CustomReportDetailsMapper; +import au.com.royalpay.payment.manage.mappers.custom.CustomReportsMapper; +import au.com.royalpay.payment.tools.utils.PageListUtils; + +import com.alibaba.fastjson.JSONObject; +import com.github.miemiedev.mybatis.paginator.domain.PageBounds; + +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.util.List; + +import javax.annotation.Resource; /** * @author kira * @date 2018/7/27 */ +@Service public class CustomServiceImpl implements CustomService { + @Resource + private CustomSupport customSupport; + @Resource + private CustomReportsMapper customReportsMapper; + @Resource + private CustomReportDetailsMapper customReportDetailsMapper; + + @Override + public JSONObject findOneWithDetail(String report_id) { + JSONObject result = customReportsMapper.findOne(report_id); + result.put("sub_orders", customReportDetailsMapper.findByReportId(report_id)); + return result; + } + + @Override + public void add(String orderId, String mchCustomId, String custom, List subOrders) { + CustomReport customReport = new CustomReport(orderId, mchCustomId, custom); + if (!CollectionUtils.isEmpty(subOrders)) { + subOrders.forEach(p -> { + customReport.addSubOrder(p.getBigDecimal("order_fee"), p.getBigDecimal("product_fee")); + }); + } + JSONObject result = customSupport.saveCustom(customReport); + customSupport.sendCustom(result.getString("report_id")); + } + + @Override + public boolean check(int client_id, String channel) { + List supportChannel = customSupport.customSupportedChannels(client_id); + boolean result = false; + for (String p : supportChannel) { + if (p.equals(channel)) { + result = true; + break; + } + } + return result; + } + + @Override + public JSONObject query(JSONObject param, int page, int limit) { + return PageListUtils.buildPageListResult(customReportsMapper.queryWithTrans(param, new PageBounds(page, limit))); + } + } diff --git a/src/main/java/au/com/royalpay/payment/manage/custom/web/CustomController.java b/src/main/java/au/com/royalpay/payment/manage/custom/web/CustomController.java new file mode 100644 index 000000000..2378dd501 --- /dev/null +++ b/src/main/java/au/com/royalpay/payment/manage/custom/web/CustomController.java @@ -0,0 +1,39 @@ +package au.com.royalpay.payment.manage.custom.web; + +import au.com.royalpay.payment.manage.custom.beans.AddCustomVO; +import au.com.royalpay.payment.manage.custom.beans.QueryCustomVo; +import au.com.royalpay.payment.manage.custom.core.CustomService; + +import com.alibaba.fastjson.JSONObject; + +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +@RestController +@RequestMapping(value = "/custom") +public class CustomController { + + @Resource + private CustomService customService; + + @RequestMapping(value = "/{report_id}",method = RequestMethod.GET) + public JSONObject findOne(@PathVariable String report_id) { + return customService.findOneWithDetail(report_id); + } + + @RequestMapping(value = "/query",method = RequestMethod.GET) + public JSONObject queryWithTran( QueryCustomVo queryCustomVo) { + return customService.query(queryCustomVo.toParam(),queryCustomVo.getPage(),queryCustomVo.getLimit()); + } + + @RequestMapping(value = "",method = RequestMethod.POST) + @ResponseBody + public void add(AddCustomVO addCustomVO) { + customService.add(addCustomVO.getOrder_id(),addCustomVO.getMch_custom_no(),addCustomVO.getCustom(),addCustomVO.getSubOrders()); + } +} diff --git a/src/main/java/au/com/royalpay/payment/manage/mappers/custom/CustomReportDetailsMapper.java b/src/main/java/au/com/royalpay/payment/manage/mappers/custom/CustomReportDetailsMapper.java new file mode 100644 index 000000000..1e1f73f3f --- /dev/null +++ b/src/main/java/au/com/royalpay/payment/manage/mappers/custom/CustomReportDetailsMapper.java @@ -0,0 +1,23 @@ +package au.com.royalpay.payment.manage.mappers.custom; + +import com.alibaba.fastjson.JSONObject; +import com.github.miemiedev.mybatis.paginator.domain.PageBounds; +import com.github.miemiedev.mybatis.paginator.domain.PageList; + +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +import cn.yixblog.support.mybatis.autosql.annotations.AutoMapper; +import cn.yixblog.support.mybatis.autosql.annotations.AutoSql; +import cn.yixblog.support.mybatis.autosql.annotations.SqlType; + +/** + * Created by yishuqian on 9/1/16. + */ +@AutoMapper(tablename = "pmt_custom_report_details", pkName = "sub_order_no") +public interface CustomReportDetailsMapper { + @AutoSql(type = SqlType.SELECT) + JSONObject findByReportId(@Param("report_id") String report_id); + +} diff --git a/src/main/java/au/com/royalpay/payment/manage/mappers/custom/CustomReportsMapper.java b/src/main/java/au/com/royalpay/payment/manage/mappers/custom/CustomReportsMapper.java new file mode 100644 index 000000000..462675dd6 --- /dev/null +++ b/src/main/java/au/com/royalpay/payment/manage/mappers/custom/CustomReportsMapper.java @@ -0,0 +1,24 @@ +package au.com.royalpay.payment.manage.mappers.custom; + +import com.alibaba.fastjson.JSONObject; +import com.github.miemiedev.mybatis.paginator.domain.PageBounds; +import com.github.miemiedev.mybatis.paginator.domain.PageList; + +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +import cn.yixblog.support.mybatis.autosql.annotations.AutoMapper; +import cn.yixblog.support.mybatis.autosql.annotations.AutoSql; +import cn.yixblog.support.mybatis.autosql.annotations.SqlType; + +/** + * Created by yishuqian on 9/1/16. + */ +@AutoMapper(tablename = "pmt_custom_reports", pkName = "report_id") +public interface CustomReportsMapper { + @AutoSql(type = SqlType.SELECT) + JSONObject findOne(@Param("report_id") String report_id); + + PageList queryWithTrans(JSONObject param,PageBounds pagination); +} diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/custom/CustomReportDetailsMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/custom/CustomReportDetailsMapper.xml new file mode 100644 index 000000000..8f3c59631 --- /dev/null +++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/custom/CustomReportDetailsMapper.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/custom/CustomReportsMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/custom/CustomReportsMapper.xml new file mode 100644 index 000000000..643adad9b --- /dev/null +++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/custom/CustomReportsMapper.xml @@ -0,0 +1,17 @@ + + + + + + + \ No newline at end of file From d12c2d1c3598883eced921756818bd7c41f63e81 Mon Sep 17 00:00:00 2001 From: kira <164851225@qq.com> Date: Fri, 27 Jul 2018 15:41:35 +0800 Subject: [PATCH 29/65] refund list add currency --- .../royalpay/payment/manage/mappers/payment/RefundMapper.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/RefundMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/RefundMapper.xml index 3de8630c7..ccb6688ce 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/RefundMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/RefundMapper.xml @@ -78,6 +78,7 @@ operator_name operator_name, `status` `status` , amount amount, + currency currency, 1 type FROM pmt_refunds @@ -107,6 +108,7 @@ ra.auditorname operator_name, ra.audit_result `status` , r.amount amount, + r.currency currency, 2 type FROM pmt_refund_applies ra left join pmt_refunds r on ra.refund_id = r.refund_id From 979d8ff6a6638d470c6bf4fbfb1e3ae9e03b082d Mon Sep 17 00:00:00 2001 From: eason Date: Fri, 27 Jul 2018 16:06:43 +0800 Subject: [PATCH 30/65] fix --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index fcc8224a2..351b5ceee 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ au.com.royalpay.payment payment-parent - 0.2.0-dev + 0.2.0 4.0.0 From 00e9c8b7dac13e259d0c292635a6a8b5e99337f0 Mon Sep 17 00:00:00 2001 From: kira <164851225@qq.com> Date: Fri, 27 Jul 2018 16:15:35 +0800 Subject: [PATCH 31/65] tmp --- .../mappers/custom/CustomReportsMapper.xml | 9 +- src/main/ui/index.html | 6 + src/main/ui/static/payment/custom/custom.js | 107 +++++++++++ .../payment/custom/templates/custom.html | 180 ++++++++++++++++++ 4 files changed, 300 insertions(+), 2 deletions(-) create mode 100644 src/main/ui/static/payment/custom/custom.js create mode 100644 src/main/ui/static/payment/custom/templates/custom.html diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/custom/CustomReportsMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/custom/CustomReportsMapper.xml index 643adad9b..acfa29292 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/mappers/custom/CustomReportsMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/custom/CustomReportsMapper.xml @@ -8,10 +8,15 @@ left join pmt_transactions t on r.order_id = t.order_id - + + and r.channel = #{channel} + + + + DATE(t.transaction_time) = #{date} + - \ No newline at end of file diff --git a/src/main/ui/index.html b/src/main/ui/index.html index 051c9de6b..b9c3eb001 100644 --- a/src/main/ui/index.html +++ b/src/main/ui/index.html @@ -931,6 +931,12 @@ margin-bottom: 10%;"/> Bill QR Code + +
  • + + Declare Custom + +
  • diff --git a/src/main/ui/static/payment/custom/custom.js b/src/main/ui/static/payment/custom/custom.js new file mode 100644 index 000000000..cde928ad1 --- /dev/null +++ b/src/main/ui/static/payment/custom/custom.js @@ -0,0 +1,107 @@ +define(['angular', 'static/commons/commons', 'uiBootstrap', 'uiRouter', 'ngBootSwitch'], function (angular) { + 'use strict'; + + var app = angular.module('customManagement', ['ui.bootstrap', 'ui.router', 'frapontillo.bootstrap-switch']); + app.config(['$stateProvider', function ($stateProvider) { + $stateProvider.state('custom', { + url: '/custom', + templateUrl: '/static/payment/custom/templates/custom.html', + controller: 'customCtrl' + }) + }]); + app.controller('customCtrl', ['$scope', '$http', 'commonDialog','$filter','orderService', function ($scope, $http, commonDialog,$filter,orderService) { + $scope.pagination = {}; + $scope.params = {}; + $scope.new_bill = {}; + $scope.minDate = new Date(); + var maxDate = new Date(); + $scope.maxDate = maxDate.setDate(maxDate.getDate() + 14); + + + $scope.loadBills = function (page) { + var params = angular.copy($scope.params); + params.page = page || $scope.pagination.page || 1; + $http.get('/partner/qrcode', {params: params}).then(function (resp) { + $scope.bills = resp.data; + $scope.pagination = resp.data.pagination; + }); + }; + $scope.loadBills(1); + $scope.generateBill = function () { + var params = angular.copy($scope.new_bill); + if(!params.client_order_id){ + alert("client order id为空,是否后台自动生成?"); + } + if(!params.order_amount){ + alert("order amount不可为空!"); + return; + } + if(params.cancle_time){ + params.cancle_time = $filter('date')(params.cancle_time, 'yyyy-MM-dd HH:mm:ss') + }else { + alert("Expire Date 不可为空!"); + } + $http.post('/partner/qrcode/bills',params).then(function (resp) { + commonDialog.alert({title: 'Success', content: 'Success', type: 'success'}); + $scope.code_url = resp.data; + $scope.loadBills(1); + },function (resp) { + commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}); + }); + }; + $scope.disableBill = function (bill) { + commonDialog.confirm( + { + title: 'Delete Bill', + content: 'Are you sure to delete this bill?' + }).then(function () { + $http.delete('/partner/qrcode/'+bill.bill_code_id).then(function(){ + $scope.loadBills(1); + }); + }) + }; + $scope.clearBill = function () { + $scope.new_bill = {}; + $scope.code_url = ""; + }; + + $scope.showTradeDetail = function (order) { + orderService.clientOrderDetail(order) + }; + }]); + + app.filter('billStatus', function () { + return function (status) { + switch (status + '') { + case '1': + return 'wait for payment'; + case '2': + return 'disabled'; + case '3': + return 'payment success' + } + } + }); + + app.filter('remarkCut', function () { + return function (value, wordwise, max, tail) { + if (!value) return ''; + + max = parseInt(max, 10); + if (!max) return value; + if (value.length <= max) return value; + + value = value.substr(0, max); + if (wordwise) { + var lastspace = value.lastIndexOf(' '); + if (lastspace != -1) { + value = value.substr(0, lastspace); + } + } + return value + (tail || ' …'); + }; + }); + + + return app; +}); \ No newline at end of file diff --git a/src/main/ui/static/payment/custom/templates/custom.html b/src/main/ui/static/payment/custom/templates/custom.html new file mode 100644 index 000000000..112dfc9b8 --- /dev/null +++ b/src/main/ui/static/payment/custom/templates/custom.html @@ -0,0 +1,180 @@ + +
    +
    +

    Custom

    + +
    + +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    + + $ +
    +

    +
    +
    +
    + +
    + +

    The date of expiry should not exceed fifteen days

    +
    +
    + +
    + +
    + +

    System will automatically generate when the Reference NO is empty

    +
    +
    +
    + +
    + +

    within 100 characters

    +
    +
    +
    + +
    +     + +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +   + All | + Success | + Disabled +
    +         +
    + + +
    +
    + +
    +
    +
    + +
    +
    +
    +

    + Bill List +

    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Order AmountReference NOPayerOrder StatusBill StatusExpire DateRemarkCreate timeOperation
    + + + + + Disable +
    +
    + +
    +
    +
    +
    +
    +
    \ No newline at end of file From 98f2a2501e72fc40f1c785d5269d87e4b7cdf0d1 Mon Sep 17 00:00:00 2001 From: kira <164851225@qq.com> Date: Fri, 27 Jul 2018 16:17:04 +0800 Subject: [PATCH 32/65] update method name --- .../au/com/royalpay/payment/manage/openim/OpenimController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/openim/OpenimController.java b/src/main/java/au/com/royalpay/payment/manage/openim/OpenimController.java index 834775740..fd526f75c 100644 --- a/src/main/java/au/com/royalpay/payment/manage/openim/OpenimController.java +++ b/src/main/java/au/com/royalpay/payment/manage/openim/OpenimController.java @@ -40,7 +40,7 @@ public class OpenimController { @RequestMapping(value = "/check", method = RequestMethod.PUT) @RequireManager - public JSONObject sendMsg(@ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager) { + public JSONObject check(@ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager) { return customerServiceService.checkAndSaveManager(manager); } From 0fec07172cff59ee5ef80002795c0b6de71983a7 Mon Sep 17 00:00:00 2001 From: eason Date: Fri, 27 Jul 2018 16:30:51 +0800 Subject: [PATCH 33/65] fix service role show --- src/main/ui/static/config/managers/templates/modify.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/ui/static/config/managers/templates/modify.html b/src/main/ui/static/config/managers/templates/modify.html index c77c3e1a5..d2d86acb7 100644 --- a/src/main/ui/static/config/managers/templates/modify.html +++ b/src/main/ui/static/config/managers/templates/modify.html @@ -60,7 +60,7 @@ -