From 42ae652d2ce276c82c1886c85888b8bb1dd89124 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Thu, 20 Aug 2020 10:06:01 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=A2=E6=88=B7=E5=AE=9A=E5=88=B6=E5=8C=96?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E4=B8=9A=E5=8A=A1=E5=9F=9F=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/controller/CustomerController.java | 6 +- .../com/epmet/service/CustomerService.java | 2 +- .../service/impl/CustomerServiceImpl.java | 18 +++--- .../epmet/dto/form/CustomerDomainFormDTO.java | 16 +++++ .../epmet/dto/form/WebviewDomainFormDTO.java | 28 +++++++++ .../FunctionCustomizedController.java | 11 ++-- .../com/epmet/dao/FunctionCustomizedDao.java | 9 +++ .../service/FunctionCustomizedService.java | 14 +++-- .../impl/FunctionCustomizedServiceImpl.java | 59 +++++++++++++++++-- .../mapper/FunctionCustomizedDao.xml | 13 ++++ 10 files changed, 153 insertions(+), 23 deletions(-) create mode 100644 epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/CustomerDomainFormDTO.java create mode 100644 epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/WebviewDomainFormDTO.java diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/controller/CustomerController.java b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/controller/CustomerController.java index 6ad634df60..30bde5bb69 100644 --- a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/controller/CustomerController.java +++ b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/controller/CustomerController.java @@ -286,9 +286,9 @@ public class CustomerController { * @return com.epmet.commons.tools.utils.Result> */ @PostMapping("customerlist") - public Result> customerList(@RequestBody PageQueryFormDTO formDTO) { - List result = customerService.customerList(formDTO); - return new Result>().ok(result); + public Result customerList(@RequestBody PageQueryFormDTO formDTO) { + PageData result = customerService.customerList(formDTO); + return new Result().ok(result); } /** diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/CustomerService.java b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/CustomerService.java index b194421d06..6749bd9763 100644 --- a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/CustomerService.java +++ b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/CustomerService.java @@ -194,7 +194,7 @@ public interface CustomerService extends BaseService { * @param formDTO * @return com.epmet.dto.result.CustomerListResultDTO */ - List customerList(PageQueryFormDTO formDTO); + PageData customerList(PageQueryFormDTO formDTO); /** * 客户基本信息修改 diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerServiceImpl.java b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerServiceImpl.java index 673f676fd9..fdc8d2a240 100644 --- a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerServiceImpl.java +++ b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerServiceImpl.java @@ -578,7 +578,7 @@ public class CustomerServiceImpl extends BaseServiceImpl customerList(PageQueryFormDTO formDTO) { + public PageData customerList(PageQueryFormDTO formDTO) { PageInfo pageInfo = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()) .doSelectPageInfo(() -> baseDao.selectAllCustomerList(formDTO.getCustomerName())); List list = pageInfo.getList(); @@ -592,25 +592,29 @@ public class CustomerServiceImpl extends BaseServiceImpl> managersResult = epmetUserFeignClient.getStaffsInRole(staffsInRoleForm); - if (!managersResult.success() || null == managersResult.getData() || managersResult.getData().size() == NumConstant.ZERO) { + if (!managersResult.success()) { throw new RenException("查询客户详情:查询客户管理员失败:".concat(managersResult.toString())); } - manager = managersResult.getData().get(NumConstant.ZERO); + dto.setProvince(agency.getProvince()); dto.setCity(agency.getCity()); dto.setCounty(agency.getDistrict()); - dto.setRootManageName(manager.getRealName()); - dto.setRootManagePhone(manager.getMobile()); + if (null != managersResult.getData() && managersResult.getData().size() > NumConstant.ZERO) { + GovStaffRoleResultDTO manager = managersResult.getData().get(NumConstant.ZERO); + dto.setRootManageName(manager.getRealName()); + dto.setRootManagePhone(manager.getMobile()); + } + } }); } - return list; + pageInfo.setList(list); + return new PageData<>(pageInfo.getList(),pageInfo.getTotal()); } @Override diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/CustomerDomainFormDTO.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/CustomerDomainFormDTO.java new file mode 100644 index 0000000000..a7c053df2c --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/CustomerDomainFormDTO.java @@ -0,0 +1,16 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/8/19 16:13 + */ +@Data +public class CustomerDomainFormDTO implements Serializable { + private static final long serialVersionUID = 6766612197218605922L; + private String customerId; +} diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/WebviewDomainFormDTO.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/WebviewDomainFormDTO.java new file mode 100644 index 0000000000..dc951e1b7b --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/WebviewDomainFormDTO.java @@ -0,0 +1,28 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/8/19 17:46 + */ +@Data +public class WebviewDomainFormDTO implements Serializable { + private static final long serialVersionUID = 8022056850984848597L; + /** + * 客户ID + */ + private String customerId; + /** + * 客户端类型 + */ + private String clientType; + /** + * 业务域名 + */ + private List webViewDomain; +} diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/FunctionCustomizedController.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/FunctionCustomizedController.java index 1df9d0e568..fd82ce4fb6 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/FunctionCustomizedController.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/FunctionCustomizedController.java @@ -26,10 +26,7 @@ import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.dto.FunctionCustomizedDTO; -import com.epmet.dto.form.CommonFunctionIdFormDTO; -import com.epmet.dto.form.FunctionCustomizedListFormDTO; -import com.epmet.dto.form.SaveFunctionCustomizedFormDTO; -import com.epmet.dto.form.UpdateCustomizedFormDTO; +import com.epmet.dto.form.*; import com.epmet.dto.result.FunctionCustomizedDetailResultDTO; import com.epmet.dto.result.FunctionCustomizedListResultDTO; import com.epmet.excel.FunctionCustomizedExcel; @@ -174,4 +171,10 @@ public class FunctionCustomizedController { ValidatorUtils.validateEntity(formDTO); return functionCustomizedService.functionCustomizedList(formDTO); } + + @PostMapping("customerdomainname") + public Result customerDomain(@RequestBody CustomerDomainFormDTO formDTO) { + functionCustomizedService.customerDomain(formDTO); + return new Result(); + } } diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/FunctionCustomizedDao.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/FunctionCustomizedDao.java index 907bfd1595..87a877214b 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/FunctionCustomizedDao.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/FunctionCustomizedDao.java @@ -116,4 +116,13 @@ public interface FunctionCustomizedDao extends BaseDao * @Description 查询定制功能信息 **/ FunctionCustomizedDTO selectByFunctionId(@Param("functionId") String functionId); + + /** + * 获取业务域名 + * @author zhaoqifeng + * @date 2020/8/20 9:36 + * @param customerId + * @return java.util.List + */ + List selectDomains(@Param("customerId") String customerId); } diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/FunctionCustomizedService.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/FunctionCustomizedService.java index 178c2d439b..a02b628755 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/FunctionCustomizedService.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/FunctionCustomizedService.java @@ -21,10 +21,7 @@ import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.FunctionCustomizedDTO; -import com.epmet.dto.form.CommonFunctionIdFormDTO; -import com.epmet.dto.form.FunctionCustomizedListFormDTO; -import com.epmet.dto.form.SaveFunctionCustomizedFormDTO; -import com.epmet.dto.form.UpdateCustomizedFormDTO; +import com.epmet.dto.form.*; import com.epmet.dto.result.FunctionCustomizedDetailResultDTO; import com.epmet.dto.result.FunctionCustomizedListResultDTO; import com.epmet.entity.FunctionCustomizedEntity; @@ -153,4 +150,13 @@ public interface FunctionCustomizedService extends BaseService functionCustomizedList(FunctionCustomizedListFormDTO formDTO); + + /** + * 设置业务域名 + * @author zhaoqifeng + * @date 2020/8/19 16:15 + * @param formDTO + * @return void + */ + void customerDomain(CustomerDomainFormDTO formDTO); } diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/FunctionCustomizedServiceImpl.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/FunctionCustomizedServiceImpl.java index 3be14ab486..dc8a8ccd25 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/FunctionCustomizedServiceImpl.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/FunctionCustomizedServiceImpl.java @@ -17,23 +17,24 @@ package com.epmet.service.impl; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.HttpClientManager; import com.epmet.commons.tools.utils.Result; import com.epmet.dao.CustomerFunctionDetailDao; import com.epmet.dao.FunctionCustomizedDao; import com.epmet.dto.CustomerFunctionDetailDTO; import com.epmet.dto.CustomizedDTO; import com.epmet.dto.FunctionCustomizedDTO; -import com.epmet.dto.form.CommonFunctionIdFormDTO; -import com.epmet.dto.form.FunctionCustomizedListFormDTO; -import com.epmet.dto.form.SaveFunctionCustomizedFormDTO; -import com.epmet.dto.form.UpdateCustomizedFormDTO; +import com.epmet.dto.form.*; import com.epmet.dto.result.FunctionCustomizedDetailResultDTO; import com.epmet.dto.result.FunctionCustomizedListResultDTO; import com.epmet.entity.CustomerFunctionDetailEntity; @@ -52,6 +53,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * 定制功能 @@ -236,6 +238,55 @@ public class FunctionCustomizedServiceImpl extends BaseServiceImpl().ok(resultDTO); } + @Override + public void customerDomain(CustomerDomainFormDTO formDTO) { + //获取业务域名 + List list = baseDao.selectDomains(formDTO.getCustomerId()); + List workDomains = new ArrayList<>(); + List resiDomains = new ArrayList<>(); + if (null != list) { + for(FunctionCustomizedDTO dto : list) { + if (StringUtils.isNotBlank(dto.getDomainName())) { + String[] domainNames = dto.getDomainName().split(";"); + if (("resi").equals(dto.getFromApp())) { + resiDomains.addAll(Arrays.asList(domainNames)); + } else { + workDomains.addAll(Arrays.asList(domainNames)); + } + } + } + } + + String domainUrl = "https://epmet-cloud.elinkservice.cn/api/third/code/setWebviewDomain"; + if(resiDomains.size() > NumConstant.ZERO) { + resiDomains = resiDomains.stream().distinct().collect(Collectors.toList()); + WebviewDomainFormDTO domainFormDTO = new WebviewDomainFormDTO(); + domainFormDTO.setCustomerId(formDTO.getCustomerId()); + domainFormDTO.setClientType("resi"); + domainFormDTO.setWebViewDomain(resiDomains); + String domainData = HttpClientManager.getInstance().sendPostByJSON(domainUrl, JSON.toJSONString(domainFormDTO)).getData(); + JSONObject domainObject = JSON.parseObject(domainData); + Result domainResult = ConvertUtils.mapToEntity(domainObject, Result.class); + if (!domainResult.success()) { + throw new RenException(domainResult.getCode(), domainResult.getInternalMsg()); + } + } + + if(workDomains.size() > NumConstant.ZERO) { + workDomains = workDomains.stream().distinct().collect(Collectors.toList()); + WebviewDomainFormDTO domainFormDTO = new WebviewDomainFormDTO(); + domainFormDTO.setCustomerId(formDTO.getCustomerId()); + domainFormDTO.setClientType("work"); + domainFormDTO.setWebViewDomain(workDomains); + String domainData = HttpClientManager.getInstance().sendPostByJSON(domainUrl, JSON.toJSONString(domainFormDTO)).getData(); + JSONObject domainObject = JSON.parseObject(domainData); + Result domainResult = ConvertUtils.mapToEntity(domainObject, Result.class); + if (!domainResult.success()) { + throw new RenException(domainResult.getCode(), domainResult.getInternalMsg()); + } + } + } + /** * 保存数据到 功能表 * @param formDTO diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/FunctionCustomizedDao.xml b/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/FunctionCustomizedDao.xml index 99cbf17b15..b9e44d268a 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/FunctionCustomizedDao.xml +++ b/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/FunctionCustomizedDao.xml @@ -87,6 +87,19 @@ AND cu.FROM_APP = 'gov' +