From cc766351adb3b5bdfae94151a5bbb8258926247a Mon Sep 17 00:00:00 2001 From: kira <164851225@qq.com> Date: Thu, 19 Jul 2018 17:31:37 +0800 Subject: [PATCH] add customer service --- .../manage/openim/OpenimController.java | 2 +- .../manage/openim/core/OpenimClient.java | 32 ++++++- .../core/impl/CustomerServiceServiceImpl.java | 33 +++---- .../signin/core/ManagerAccountsService.java | 2 + .../core/impls/ManagerAccountServiceImpl.java | 15 +++- .../signin/web/ManagerAccountsController.java | 25 ++++-- src/main/ui/manage.html | 6 ++ src/main/ui/service_client.html | 38 ++++++-- src/main/ui/service_contact_list.html | 81 ++++++++++++++---- src/main/ui/service_customer.html | 2 +- src/main/ui/static/boot/managerMainApp.js | 9 ++ src/main/ui/static/images/search.png | Bin 0 -> 431 bytes 12 files changed, 192 insertions(+), 53 deletions(-) create mode 100644 src/main/ui/static/images/search.png 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 f0aecc201..cdc9bd2e0 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 @@ -28,7 +28,7 @@ public class OpenimController { @Resource private CustomerServiceService customerServiceService; - @RequestMapping(value = "/check", method = RequestMethod.POST) + @RequestMapping(value = "/check", method = RequestMethod.PUT) @RequireManager public void sendMsg(@ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager) { customerServiceService.checkAndSave(manager); 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 bb0487553..73b50bab8 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 @@ -20,6 +20,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; /** @@ -29,10 +30,10 @@ import java.util.List; @Service public class OpenimClient { Logger logger = LoggerFactory.getLogger(getClass()); - // private final String appkey = "24960261"; - // private final String secret = "7639427973bd671be15c9d0c1e9c90b4"; - private final String appkey = "24962653"; - private final String secret = "1c1a1320c4e6f24df24e3fe41c3fc00a"; + private final String appkey = "24960261"; + private final String secret = "7639427973bd671be15c9d0c1e9c90b4"; +// private final String appkey = "24962653"; +// private final String secret = "1c1a1320c4e6f24df24e3fe41c3fc00a"; private final String url = "https://eco.taobao.com/router/rest"; public JSONObject getUser(String userId) { @@ -109,4 +110,27 @@ public class OpenimClient { throw new ServerErrorException("System error"); } } + + public static void main(String[] args) { + String appkey = "24960261"; + String secret = "7639427973bd671be15c9d0c1e9c90b4"; + String url = "https://eco.taobao.com/router/rest"; + + TaobaoClient client = new DefaultTaobaoClient(url, appkey, secret); + OpenimUsersAddRequest req = new OpenimUsersAddRequest(); + List list2 = new ArrayList(); + Userinfos obj3 = new Userinfos(); + list2.add(obj3); + obj3.setNick("king"); + obj3.setUserid("kirawang"); + obj3.setPassword("xxxxxx"); + req.setUserinfos(list2); + OpenimUsersAddResponse rsp = null; + try { + rsp = client.execute(req); + } catch (ApiException e) { + e.printStackTrace(); + } + System.out.println(rsp.getBody()); + } } 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 7b6ce2e0c..90e713310 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 @@ -1,6 +1,7 @@ package au.com.royalpay.payment.manage.openim.core.impl; import au.com.royalpay.payment.manage.mappers.system.ClientAccountMapper; +import au.com.royalpay.payment.manage.mappers.system.ManagerMapper; import au.com.royalpay.payment.manage.merchants.core.ClientManager; import au.com.royalpay.payment.manage.openim.beans.OpenimUserVO; import au.com.royalpay.payment.manage.openim.core.CustomerServiceService; @@ -33,20 +34,25 @@ public class CustomerServiceServiceImpl implements CustomerServiceService { private ClientManager clientManager; @Resource private ClientAccountMapper clientAccountMapper; + @Resource + private ManagerMapper managerMapper; private final String password = "XXXXXX"; @Override public void checkAndSave(JSONObject account) { - JSONObject client = clientManager.getClientInfo(account.getIntValue("client_id")); - if (client == null) { - throw new BadRequestException("Merchant Not Found"); - } + JSONObject client = null; boolean isPartner = true; if (StringUtils.isNotEmpty(account.getString("account_id"))) { + client = clientManager.getClientInfo(account.getIntValue("client_id")); + if (client == null) { + throw new BadRequestException("Merchant Not Found"); + } + account =clientAccountMapper.findById(account.getString("account_id")); isPartner = true; } if (StringUtils.isNotEmpty(account.getString("manager_id"))) { + account =managerMapper.findDetail(account.getString("manager_id")); isPartner = false; } String uid = account.getString("username") + (isPartner ? "(" + client.getString("client_moniker") + ")" : ""); @@ -85,31 +91,28 @@ public class CustomerServiceServiceImpl implements CustomerServiceService { } @Override - public List query(String clientMoniker,String userNames) { - if(StringUtils.isEmpty(clientMoniker) && StringUtils.isEmpty(userNames)){ - - } + public List query(String clientMoniker, String userNames) { JSONObject queryParams = new JSONObject(); - if(StringUtils.isNotEmpty(clientMoniker)) { + if (StringUtils.isNotEmpty(clientMoniker)) { JSONObject client = clientManager.getClientInfoByMoniker(clientMoniker); if (client == null) { - throw new BadRequestException("Merchant Not Found"); + return Collections.EMPTY_LIST; } - queryParams.put("clientId",client.getIntValue("client_id")); + queryParams.put("clientId", client.getIntValue("client_id")); } - if(StringUtils.isNotEmpty(userNames)) { + if (StringUtils.isNotEmpty(userNames)) { queryParams.put("userNames", Arrays.asList(userNames.split(","))); } - if(queryParams.size()<1){ + if (queryParams.size() < 1) { return Collections.emptyList(); } List accounts = clientAccountMapper.query(queryParams); List result = new ArrayList<>(accounts.size()); accounts.forEach(p -> { JSONObject openimUser = new JSONObject(); - openimUser.put("nick", p.getString("display_name")); openimUser.put("userid", p.getString("username") + "(" + p.getString("client_moniker") + ")"); - openimUser.put("headimg",p.getString("wechat_headimg")); + openimUser.put("nick", p.getString("username") + "(" + p.getString("client_moniker") + ")"); + openimUser.put("headimg", p.getString("wechat_headimg")); result.add(openimUser); }); return result; diff --git a/src/main/java/au/com/royalpay/payment/manage/signin/core/ManagerAccountsService.java b/src/main/java/au/com/royalpay/payment/manage/signin/core/ManagerAccountsService.java index ad1062593..dbe89191a 100644 --- a/src/main/java/au/com/royalpay/payment/manage/signin/core/ManagerAccountsService.java +++ b/src/main/java/au/com/royalpay/payment/manage/signin/core/ManagerAccountsService.java @@ -25,4 +25,6 @@ public interface ManagerAccountsService { List listGroupBds(JSONObject loginManager); JSONObject getBDConfig(String bd_id); + + JSONObject getUser(String managerId); } diff --git a/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/ManagerAccountServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/ManagerAccountServiceImpl.java index 60aa1844e..b2bd1da36 100644 --- a/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/ManagerAccountServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/ManagerAccountServiceImpl.java @@ -4,21 +4,24 @@ import au.com.royalpay.payment.manage.mappers.financial.FinancialBDConfigMapper; import au.com.royalpay.payment.manage.mappers.system.ManagerMapper; import au.com.royalpay.payment.manage.mappers.system.OrgMapper; import au.com.royalpay.payment.manage.organizations.core.OrgManager; -import au.com.royalpay.payment.tools.permission.enums.ManagerRole; import au.com.royalpay.payment.manage.signin.beans.ManagerInfo; import au.com.royalpay.payment.manage.signin.core.ManagerAccountsService; import au.com.royalpay.payment.tools.exceptions.BadRequestException; import au.com.royalpay.payment.tools.exceptions.NotFoundException; +import au.com.royalpay.payment.tools.permission.enums.ManagerRole; + import com.alibaba.fastjson.JSONObject; import com.github.miemiedev.mybatis.paginator.domain.Order; import com.github.miemiedev.mybatis.paginator.domain.PageBounds; import com.github.miemiedev.mybatis.paginator.domain.PageList; + import org.springframework.stereotype.Service; -import javax.annotation.Resource; import java.util.List; import java.util.stream.Collectors; +import javax.annotation.Resource; + /** * Created by yixian on 2016-07-06. */ @@ -134,6 +137,14 @@ public class ManagerAccountServiceImpl implements ManagerAccountsService { return financialBDConfigMapper.getBdConfig(bd_id); } + @Override + public JSONObject getUser(String managerId) { + JSONObject manager = managerMapper.findDetail(managerId); + JSONObject result = new JSONObject(); + result.put("username",manager.getString("username")); + return result; + } + private void checkOrg(JSONObject loginManager,JSONObject manager){ if (loginManager.getInteger("org_id")!=null){ List orgs = orgMapper.listOrgAndChild(loginManager.getIntValue("org_id")); diff --git a/src/main/java/au/com/royalpay/payment/manage/signin/web/ManagerAccountsController.java b/src/main/java/au/com/royalpay/payment/manage/signin/web/ManagerAccountsController.java index ccae21255..6c7a88e44 100644 --- a/src/main/java/au/com/royalpay/payment/manage/signin/web/ManagerAccountsController.java +++ b/src/main/java/au/com/royalpay/payment/manage/signin/web/ManagerAccountsController.java @@ -2,25 +2,33 @@ package au.com.royalpay.payment.manage.signin.web; import au.com.royalpay.payment.manage.organizations.core.OrgManager; import au.com.royalpay.payment.manage.permission.manager.ManagerMapping; -import au.com.royalpay.payment.manage.signin.beans.QueryManagerBean; -import au.com.royalpay.payment.tools.permission.enums.ManagerRole; import au.com.royalpay.payment.manage.permission.manager.RequireManager; import au.com.royalpay.payment.manage.signin.beans.ManagerInfo; +import au.com.royalpay.payment.manage.signin.beans.QueryManagerBean; import au.com.royalpay.payment.manage.signin.core.ManagerAccountsService; 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 au.com.royalpay.payment.tools.utils.PageListUtils; + import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; -import org.apache.commons.lang3.StringUtils; + import org.springframework.validation.Errors; -import org.springframework.web.bind.annotation.*; +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; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; -import javax.annotation.Resource; -import javax.validation.Valid; import java.util.List; import java.util.Map; +import javax.annotation.Resource; +import javax.validation.Valid; + /** * Created by yixian on 2016-07-05. */ @@ -74,6 +82,11 @@ public class ManagerAccountsController { managerAccountsService.disable(userId, loginManager); } + @ManagerMapping(value = "/current", method = RequestMethod.GET, role = {ManagerRole.ADMIN}) + public JSONObject getUser(@ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject loginManager) { + return managerAccountsService.getUser(loginManager.getString("manager_id")); + } + @ManagerMapping(value = "/roles/bd_leader", method = RequestMethod.GET) public List listBDLeaders(@ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject loginManager) { return managerAccountsService.listBDLeaders(loginManager); diff --git a/src/main/ui/manage.html b/src/main/ui/manage.html index 0119b7692..f8e71615b 100644 --- a/src/main/ui/manage.html +++ b/src/main/ui/manage.html @@ -120,6 +120,12 @@ margin-bottom: 10%;"/>