Browse Source

运营端配置footbar显示模式,只有为奇数时,才可以选择浮起模式

master
yinzuomei 5 years ago
parent
commit
96fd9319c2
  1. 5
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/Constant.java
  2. 31
      epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerParameterServiceImpl.java
  3. 28
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/CheckFloatFootBarFormDTO.java
  4. 27
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/CheckFloatFootBarResultDTO.java
  5. 24
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/OperCustomizeOpenFeignClient.java
  6. 19
      epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/fallback/OperCustomizeOpenFeignClientFallback.java
  7. 17
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/CustomerFootBarController.java
  8. 13
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/CustomerFootBarService.java
  9. 39
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/CustomerFootBarServiceImpl.java

5
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/Constant.java

@ -145,4 +145,9 @@ public interface Constant {
String DISTRICT = "district";
String STREET = "street";
String COMMUNITY = "community";
//footbar参数值含义:flat:水平模式;float:浮起某个菜单
String FOOT_BAR_FLOAT="float";
//footbar参数值含义:flat:水平模式;float:浮起某个菜单
String FOOT_BAR_FLAT="flat";
}

31
epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerParameterServiceImpl.java

@ -3,14 +3,19 @@ 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.commons.tools.utils.Result;
import com.epmet.dao.CustomerParameterDao;
import com.epmet.dto.form.CheckFloatFootBarFormDTO;
import com.epmet.dto.form.CrmParameterFormDTO;
import com.epmet.dto.form.FootBarPatternFormDTO;
import com.epmet.dto.form.FootBarPatternQueryFormDTO;
import com.epmet.dto.result.CheckFloatFootBarResultDTO;
import com.epmet.dto.result.CrmParameterResultDTO;
import com.epmet.dto.result.FootBarPatternQueryResultDTO;
import com.epmet.entity.CustomerParameterEntity;
import com.epmet.feign.OperCustomizeOpenFeignClient;
import com.epmet.service.CustomerParameterService;
import com.epmet.service.CustomerService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -31,6 +36,10 @@ public class CustomerParameterServiceImpl implements CustomerParameterService {
@Autowired
private CustomerParameterDao parameterDao;
@Autowired
private CustomerService customerService;
@Autowired
private OperCustomizeOpenFeignClient operCustomizeOpenFeignClient;
/**
* @Description 查询客户配置信息
@ -94,6 +103,28 @@ public class CustomerParameterServiceImpl implements CustomerParameterService {
*/
@Override
public void saveFootBarPattern(FootBarPatternFormDTO formDTO) {
//1、客户不存在
if (!Constant.DEFAULT_CUSTOMER.equals(formDTO.getCustomerId()) && null == customerService.get(formDTO.getCustomerId())) {
throw new RenException("客户信息不存在");
}
// 2、如果选择的浮起,只有footbar为奇数+并且3个图标路径全部上传才可以配置浮起模式
if (Constant.FOOT_BAR_FLOAT.equals(formDTO.getPattern())) {
CheckFloatFootBarFormDTO checkFloatFootBarFormDTO = new CheckFloatFootBarFormDTO();
checkFloatFootBarFormDTO.setCustomerId(formDTO.getCustomerId());
checkFloatFootBarFormDTO.setAppType(formDTO.getAppType());
Result<CheckFloatFootBarResultDTO> customizeResult = operCustomizeOpenFeignClient.checkFloatFootBar(checkFloatFootBarFormDTO);
if (!customizeResult.success() && null == customizeResult.getData()) {
throw new RenException("查询客户footbar信息异常");
}
if(customizeResult.getData().getIsOddNum()){
//运营端错误信息是怎么显示的?
throw new RenException("只有footbar个数为奇数时,才可以选择此模式");
}
if(!customizeResult.getData().getBothUploaded()){
throw new RenException("请先上传footbar图标,全部上传后才可以选择此模式");
}
}
//3、符合条件,更新或者插入
String parameterKey = formDTO.getAppType().concat(StrConstant.UNDER_LINE).concat("footbar_pattern");
CustomerParameterEntity original = parameterDao.selectAppFootBarPattern(parameterKey, formDTO.getCustomerId());
if (null != original) {

28
epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/CheckFloatFootBarFormDTO.java

@ -0,0 +1,28 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 校验当前客户是否可以选择浮起footbar模式
* 只有奇数并且3个图标都上传的才可以
*
* @author yinzuomei@elink-cn.com
* @date 2021/7/27 17:56
*/
@Data
public class CheckFloatFootBarFormDTO implements Serializable {
private static final long serialVersionUID = 3202974977135976455L;
/**
* 传客户id
*/
@NotBlank(message = "customerId不能为空")
private String customerId;
/**
* 工作端gov居民端resi
*/
@NotBlank(message = "appType不能为空")
private String appType;
}

27
epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/CheckFloatFootBarResultDTO.java

@ -0,0 +1,27 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* 校验当前客户是否可以选择浮起footbar模式
* 只有奇数并且3个图标都上传的才可以
*
* @author yinzuomei@elink-cn.com
* @date 2021/7/27 17:56
*/
@Data
public class CheckFloatFootBarResultDTO implements Serializable {
private static final long serialVersionUID = 8205326079938200511L;
/**
* 是否是奇数true:是奇数
*/
private Boolean isOddNum;
/**
* 是否都上传了图标true:都上传了
*/
private Boolean bothUploaded;
}

24
epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/OperCustomizeOpenFeignClient.java

@ -1,20 +1,14 @@
package com.epmet.feign;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.CustomerFootBarDTO;
import com.epmet.dto.form.CheckFloatFootBarFormDTO;
import com.epmet.dto.form.CustomerFootBarFormDTO;
import org.springframework.cloud.openfeign.FeignClient;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.CustomerFunctionListFormDTO;
import com.epmet.dto.result.CheckFloatFootBarResultDTO;
import com.epmet.dto.result.DefaultFunctionListResultDTO;
import com.epmet.feign.fallback.OperCustomizeOpenFeignClientFallback;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.PostMapping;
@ -36,4 +30,16 @@ public interface OperCustomizeOpenFeignClient {
@PostMapping(value = "/oper/customize/customerfunction/getOpenedFunctionList", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
Result<List<DefaultFunctionListResultDTO>> getOpenedFunctionList(@RequestBody CustomerFunctionListFormDTO formDTO);
/**
* 校验当前客户是否可以选择浮起footbar模式
* 只有奇数并且3个图标都上传的才可以
*
* @param checkFloatFootBarFormDTO
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.result.CheckFloatFootBarResultDTO>
* @author yinzuomei
* @date 2021/7/27 18:06
*/
@PostMapping(value = "/oper/customize/customerfootbar/checkfloatfootbar", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
Result<CheckFloatFootBarResultDTO> checkFloatFootBar(@RequestBody CheckFloatFootBarFormDTO checkFloatFootBarFormDTO);
}

19
epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/fallback/OperCustomizeOpenFeignClientFallback.java

@ -4,11 +4,10 @@ import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.CustomerFootBarDTO;
import com.epmet.dto.form.CheckFloatFootBarFormDTO;
import com.epmet.dto.form.CustomerFootBarFormDTO;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.CustomerFunctionListFormDTO;
import com.epmet.dto.result.CheckFloatFootBarResultDTO;
import com.epmet.dto.result.DefaultFunctionListResultDTO;
import com.epmet.feign.OperCustomizeOpenFeignClient;
import org.springframework.stereotype.Component;
@ -36,4 +35,18 @@ public class OperCustomizeOpenFeignClientFallback implements OperCustomizeOpenFe
public Result<List<DefaultFunctionListResultDTO>> getOpenedFunctionList(CustomerFunctionListFormDTO formDTO){
return ModuleUtils.feignConError(ServiceConstant.OPER_CUSTOMIZE_SERVER, "getOpenedFunctionList", formDTO);
}
/**
* 校验当前客户是否可以选择浮起footbar模式
* 只有奇数并且3个图标都上传的才可以
*
* @param checkFloatFootBarFormDTO
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.result.CheckFloatFootBarResultDTO>
* @author yinzuomei
* @date 2021/7/27 18:06
*/
@Override
public Result<CheckFloatFootBarResultDTO> checkFloatFootBar(CheckFloatFootBarFormDTO checkFloatFootBarFormDTO) {
return ModuleUtils.feignConError(ServiceConstant.OPER_CUSTOMIZE_SERVER, "checkFloatFootBar", checkFloatFootBarFormDTO);
}
}

17
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/CustomerFootBarController.java

@ -30,7 +30,9 @@ import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.dto.CustomerFootBarDTO;
import com.epmet.dto.form.CheckFloatFootBarFormDTO;
import com.epmet.dto.form.CustomerFootBarFormDTO;
import com.epmet.dto.result.CheckFloatFootBarResultDTO;
import com.epmet.dto.result.CustomerFootBarResultDTO;
import com.epmet.entity.CustomerFootBarEntity;
import com.epmet.excel.CustomerFootBarExcel;
@ -255,4 +257,19 @@ public class CustomerFootBarController {
return new Result();
}
/**
* 校验当前客户是否可以选择浮起footbar模式
* 只有奇数并且3个图标都上传的才可以
*
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.result.CheckFloatFootBarResultDTO>
* @author yinzuomei
* @date 2021/7/27 18:06
*/
@PostMapping("checkfloatfootbar")
public Result<CheckFloatFootBarResultDTO> checkFloatFootBar(@RequestBody CheckFloatFootBarFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
return new Result<CheckFloatFootBarResultDTO>().ok(customerFootBarService.checkFloatFootBar(formDTO));
}
}

13
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/CustomerFootBarService.java

@ -20,7 +20,9 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.CustomerFootBarDTO;
import com.epmet.dto.form.CheckFloatFootBarFormDTO;
import com.epmet.dto.form.CustomerFootBarFormDTO;
import com.epmet.dto.result.CheckFloatFootBarResultDTO;
import com.epmet.dto.result.CustomerFootBarResultDTO;
import com.epmet.entity.CustomerFootBarEntity;
@ -114,4 +116,15 @@ public interface CustomerFootBarService extends BaseService<CustomerFootBarEntit
void addDefault4Customer(String customerId, String appType);
void deleteFootBar(String id);
/**
* 校验当前客户是否可以选择浮起footbar模式
* 只有奇数并且3个图标都上传的才可以
*
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.result.CheckFloatFootBarResultDTO>
* @author yinzuomei
* @date 2021/7/27 18:06
*/
CheckFloatFootBarResultDTO checkFloatFootBar(CheckFloatFootBarFormDTO formDTO);
}

39
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/CustomerFootBarServiceImpl.java

@ -20,16 +20,18 @@ package com.epmet.service.impl;
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.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.RedisKeys;
import com.epmet.commons.tools.redis.RedisUtils;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.dao.CustomerFootBarDao;
import com.epmet.dto.CustomerFootBarDTO;
import com.epmet.dto.form.CheckFloatFootBarFormDTO;
import com.epmet.dto.form.CustomerFootBarFormDTO;
import com.epmet.dto.result.CheckFloatFootBarResultDTO;
import com.epmet.dto.result.CustomerFootBarResultDTO;
import com.epmet.entity.CustomerFootBarEntity;
import com.epmet.redis.CustomerFootBarRedis;
@ -295,4 +297,39 @@ public class CustomerFootBarServiceImpl extends BaseServiceImpl<CustomerFootBarD
}
}
}
/**
* 校验当前客户是否可以选择浮起footbar模式
* 只有奇数并且3个图标都上传的才可以
*
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.result.CheckFloatFootBarResultDTO>
* @author yinzuomei
* @date 2021/7/27 18:06
*/
@Override
public CheckFloatFootBarResultDTO checkFloatFootBar(CheckFloatFootBarFormDTO formDTO) {
CheckFloatFootBarResultDTO resultDTO = new CheckFloatFootBarResultDTO();
resultDTO.setIsOddNum(false);
resultDTO.setBothUploaded(true);
List<CustomerFootBarEntity> footbars = this.listCustomerFootBars(formDTO.getCustomerId(), formDTO.getAppType());
if (!CollectionUtils.isEmpty(footbars)) {
if (footbars.size() % 2 == 0) {
resultDTO.setIsOddNum(false);
} else {
resultDTO.setIsOddNum(true);
}
for (CustomerFootBarEntity entity : footbars) {
if (StringUtils.isBlank(entity.getIconPath())
|| StringUtils.isBlank(entity.getSelectedIconPath())
|| StringUtils.isBlank(entity.getFloatIconPath())) {
resultDTO.setBothUploaded(false);
break;
}
}
}
return resultDTO;
}
}
Loading…
Cancel
Save