diff --git a/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/form/FootBarPatternFormDTO.java b/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/form/FootBarPatternFormDTO.java new file mode 100644 index 0000000000..469e4e5cbc --- /dev/null +++ b/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/form/FootBarPatternFormDTO.java @@ -0,0 +1,33 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 描述一下 + * + * @author yinzuomei@elink-cn.com + * @date 2021/7/27 17:21 + */ +@Data +public class FootBarPatternFormDTO implements Serializable { + private static final long serialVersionUID = 8607183484805804359L; + /** + * 产品配置:default; 客户定制化里面就传客户id + */ + @NotBlank(message = "customerId不能为空") + private String customerId; + /** + * 工作端:gov;居民端resi + */ + @NotBlank(message = "appType不能为空") + private String appType; + + /** + * 参数值含义:flat:水平模式;float:浮起某个菜单 + */ + @NotBlank(message = "pattern不能为空,参数值含义:flat:水平模式;float:浮起某个菜单") + private String pattern; +} diff --git a/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/form/FootBarPatternQueryFormDTO.java b/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/form/FootBarPatternQueryFormDTO.java new file mode 100644 index 0000000000..da01d03505 --- /dev/null +++ b/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/form/FootBarPatternQueryFormDTO.java @@ -0,0 +1,28 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 查询FootBar显示模式(产品配置+客户定制化通用) + * + * @author yinzuomei@elink-cn.com + * @date 2021/7/27 16:40 + */ +@Data +public class FootBarPatternQueryFormDTO implements Serializable { + private static final long serialVersionUID = 2928030075406974562L; + /** + * 产品配置:default; 客户定制化里面就传客户id + */ + @NotBlank(message = "customerId不能为空") + private String customerId; + /** + * 工作端:gov;居民端resi + */ + @NotBlank(message = "appType不能为空") + private String appType; + +} diff --git a/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/result/FootBarPatternQueryResultDTO.java b/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/result/FootBarPatternQueryResultDTO.java new file mode 100644 index 0000000000..ff513c15c2 --- /dev/null +++ b/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/result/FootBarPatternQueryResultDTO.java @@ -0,0 +1,23 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 查询FootBar显示模式(产品配置+客户定制化通用) + * + * @author yinzuomei@elink-cn.com + * @date 2021/7/27 16:49 + */ +@Data +public class FootBarPatternQueryResultDTO implements Serializable { + private static final long serialVersionUID = -3185762444171339921L; + + /** + * 参数值含义:flat:水平模式;float:浮起某个菜单 + */ + private String pattern; + + private String customerId; +} 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 30fe309079..032fab629a 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 @@ -34,6 +34,7 @@ import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.excel.CustomerExcel; import com.epmet.feign.GovOrgFeignClient; +import com.epmet.service.CustomerParameterService; import com.epmet.service.CustomerRelationService; import com.epmet.service.CustomerService; import com.epmet.service.CustomerThirdplatApiServiceService; @@ -70,6 +71,9 @@ public class CustomerController { @Autowired private CustomerThirdplatApiServiceService customerThirdplatApiServiceService; + @Autowired + private CustomerParameterService customerParameterService; + @GetMapping("page") public Result> page(@RequestParam Map params) { @@ -393,4 +397,33 @@ public class CustomerController { } return new Result<>(); } + + /** + * 查询FootBar显示模式(产品配置+客户定制化通用) + * + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @author yinzuomei + * @date 2021/7/27 16:54 + */ + @PostMapping("footbarpattern") + public Result queryFootBarPattern(@RequestBody FootBarPatternQueryFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + return new Result().ok(customerParameterService.queryFootBarPattern(formDTO)); + } + + /** + * ??? + * + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @author yinzuomei + * @date 2021/7/27 17:24 + */ + @PostMapping("savefootbarpattern") + public Result saveFootBarPattern(@RequestBody FootBarPatternFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO); + customerParameterService.saveFootBarPattern(formDTO); + return new Result(); + } } diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/dao/CustomerParameterDao.java b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/dao/CustomerParameterDao.java index 5d11da7f96..ac78d17ef6 100644 --- a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/dao/CustomerParameterDao.java +++ b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/dao/CustomerParameterDao.java @@ -31,4 +31,15 @@ public interface CustomerParameterDao extends BaseDao { * @date 2021/1/4 下午4:12 */ void updateParamInfo(@Param("formDTOS")List formDTOS); + + /** + * 查询FootBar显示模式(产品配置+客户定制化通用) + * + * @param parameterKey + * @param customerId + * @return java.lang.String + * @author yinzuomei + * @date 2021/7/27 17:07 + */ + CustomerParameterEntity selectAppFootBarPattern(@Param("parameterKey")String parameterKey, @Param("customerId")String customerId); } diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/CustomerParameterService.java b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/CustomerParameterService.java index 4ab868a9c1..4ff8119c79 100644 --- a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/CustomerParameterService.java +++ b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/CustomerParameterService.java @@ -1,7 +1,10 @@ package com.epmet.service; import com.epmet.dto.form.CrmParameterFormDTO; +import com.epmet.dto.form.FootBarPatternFormDTO; +import com.epmet.dto.form.FootBarPatternQueryFormDTO; import com.epmet.dto.result.CrmParameterResultDTO; +import com.epmet.dto.result.FootBarPatternQueryResultDTO; import java.util.List; @@ -27,4 +30,23 @@ public interface CustomerParameterService { */ void updateParamInfo(List formDTOS); + /** + * 查询FootBar显示模式(产品配置+客户定制化通用) + * + * @param formDTO + * @return com.epmet.dto.result.FootBarPatternQueryResultDTO + * @author yinzuomei + * @date 2021/7/27 16:58 + */ + FootBarPatternQueryResultDTO queryFootBarPattern(FootBarPatternQueryFormDTO formDTO); + + /** + * ???? + * + * @param formDTO + * @return void + * @author yinzuomei + * @date 2021/7/27 17:24 + */ + void saveFootBarPattern(FootBarPatternFormDTO formDTO); } diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerParameterServiceImpl.java b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerParameterServiceImpl.java index 001fab6aff..e62d8cf837 100644 --- a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerParameterServiceImpl.java +++ b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerParameterServiceImpl.java @@ -1,14 +1,22 @@ package com.epmet.service.impl; +import com.epmet.commons.tools.constant.Constant; +import com.epmet.commons.tools.constant.StrConstant; +import com.epmet.commons.tools.exception.RenException; import com.epmet.dao.CustomerParameterDao; import com.epmet.dto.form.CrmParameterFormDTO; +import com.epmet.dto.form.FootBarPatternFormDTO; +import com.epmet.dto.form.FootBarPatternQueryFormDTO; import com.epmet.dto.result.CrmParameterResultDTO; +import com.epmet.dto.result.FootBarPatternQueryResultDTO; +import com.epmet.entity.CustomerParameterEntity; import com.epmet.service.CustomerParameterService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; +import org.springframework.util.StringUtils; import java.util.ArrayList; import java.util.List; @@ -54,4 +62,58 @@ public class CustomerParameterServiceImpl implements CustomerParameterService { if (CollectionUtils.isEmpty(formDTOS))return; parameterDao.updateParamInfo(formDTOS); } + + /** + * 查询FootBar显示模式(产品配置+客户定制化通用) + * + * @param formDTO + * @return com.epmet.dto.result.FootBarPatternQueryResultDTO + * @author yinzuomei + * @date 2021/7/27 16:58 + */ + @Override + public FootBarPatternQueryResultDTO queryFootBarPattern(FootBarPatternQueryFormDTO formDTO) { + String parameterKey=formDTO.getAppType().concat(StrConstant.UNDER_LINE).concat("footbar_pattern"); + CustomerParameterEntity pattern=parameterDao.selectAppFootBarPattern(parameterKey,formDTO.getCustomerId()); + if(StringUtils.isEmpty(pattern)){ + pattern=parameterDao.selectAppFootBarPattern(parameterKey, Constant.DEFAULT_CUSTOMER); + } + FootBarPatternQueryResultDTO resultDTO=new FootBarPatternQueryResultDTO(); + resultDTO.setPattern(pattern.getParameterValue()); + resultDTO.setCustomerId(formDTO.getCustomerId()); + return resultDTO; + } + + /** + * ???? + * + * @param formDTO + * @return void + * @author yinzuomei + * @date 2021/7/27 17:24 + */ + @Override + public void saveFootBarPattern(FootBarPatternFormDTO formDTO) { + String parameterKey = formDTO.getAppType().concat(StrConstant.UNDER_LINE).concat("footbar_pattern"); + CustomerParameterEntity original = parameterDao.selectAppFootBarPattern(parameterKey, formDTO.getCustomerId()); + if (null != original) { + original.setParameterValue(formDTO.getPattern()); + parameterDao.updateById(original); + } else { + CustomerParameterEntity defaultCustomer = parameterDao.selectAppFootBarPattern(parameterKey, Constant.DEFAULT_CUSTOMER); + if(null==defaultCustomer){ + throw new RenException(String.format("系统异常,%产品没有配置默认值",parameterKey)); + } + CustomerParameterEntity insertEntity = new CustomerParameterEntity(); + insertEntity.setCustomerId(formDTO.getCustomerId()); + insertEntity.setParameterKey(parameterKey); + insertEntity.setParameterName(defaultCustomer.getParameterName()); + insertEntity.setParameterSwitch(defaultCustomer.getParameterSwitch()); + insertEntity.setParameterValue(formDTO.getPattern()); + insertEntity.setDescription(defaultCustomer.getDescription()); + parameterDao.insert(insertEntity); + } + } + + } diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/resources/mapper/CustomerParameterDao.xml b/epmet-module/oper-crm/oper-crm-server/src/main/resources/mapper/CustomerParameterDao.xml index 2a5c38a13d..e1208d3855 100644 --- a/epmet-module/oper-crm/oper-crm-server/src/main/resources/mapper/CustomerParameterDao.xml +++ b/epmet-module/oper-crm/oper-crm-server/src/main/resources/mapper/CustomerParameterDao.xml @@ -30,4 +30,14 @@ AND PARAMETER_KEY = #{formDTO.parameterKey} + + + \ No newline at end of file