diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/StrConstant.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/StrConstant.java index 25cfa3e0b2..7cd1cb998e 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/StrConstant.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/StrConstant.java @@ -86,4 +86,9 @@ public interface StrConstant { String SPECIAL_CUSTOMER = "150282ed25c14ff0785e7e06283b6283"; //平音客户 String PY_CUSTOMER = "6f203e30de1a65aab7e69c058826cd80"; + + /** + * 单位积分,积分上限,积分说明,积分事件 + */ + String POINT_CHANGE = "修改了%s规则,将%s调整为%s"; } diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/PointRuleDao.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/PointRuleDao.java index 9d5dbecdd3..0d304b8ae3 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/PointRuleDao.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/PointRuleDao.java @@ -56,4 +56,13 @@ public interface PointRuleDao extends BaseDao { List selectCustomerIds(); + /** + * @Description 校验重名的规则 + * @Param ruleName + * @Param customerId + * @author zxc + * @date 2021/6/18 1:39 下午 + */ + Integer checkSameName(@Param("ruleName")String ruleName,@Param("customerId") String customerId,@Param("ruleId")String ruleId); + } \ No newline at end of file diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java index 2e31394868..667662594f 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java @@ -27,6 +27,7 @@ import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.enums.CommonOperateTypeEnum; import com.epmet.commons.tools.enums.EventEnum; +import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.ExceptionUtils; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.security.dto.TokenDto; @@ -146,15 +147,31 @@ public class PointRuleServiceImpl extends BaseServiceImpl NumConstant.ZERO){ + throw new RenException(EpmetErrorCode.SAME_RULE_NAME.getCode()); + } + // 检验积分上限是不是单位积分的整数倍 + Integer remainder = formDTO.getUpLimit() % formDTO.getPoint(); + if (remainder > NumConstant.ZERO){ + throw new RenException(EpmetErrorCode.UP_LIMIT_POINT.getCode()); + } PointRuleEntity entityNew = ConvertUtils.sourceToTarget(formDTO, PointRuleEntity.class); entityNew.setId(formDTO.getRuleId()); entityNew.setEnabledFlag(StrConstant.TRUE.equals(formDTO.getEnabledFlag()) ? "1" : "0"); @@ -164,6 +181,41 @@ public class PointRuleServiceImpl extends BaseServiceImpl messages = disposeLog(formDTO, entityDB); + // TODO add + } + + /** + * @Description 变更处理 + * @Param f + * @Param e + * @author zxc + * @date 2021/6/18 3:14 下午 + */ + private List disposeLog(PointRuleFormDTO f,PointRuleEntity e){ + List result = new ArrayList<>(); + // 单位积分 + if (!e.getPoint().equals(f.getPoint())){ + String s = String.format(StrConstant.POINT_CHANGE, e.getRuleName(), e.getPoint(), f.getPoint()); + result.add(s); + } + // 积分上限 + if (!e.getUpLimit().equals(f.getUpLimit())){ + String s = String.format(StrConstant.POINT_CHANGE, e.getRuleName(), e.getUpLimit(), f.getUpLimit()); + result.add(s); + } + // 积分事件 + if (!e.getRuleName().equals(f.getRuleName())){ + String s = String.format(StrConstant.POINT_CHANGE, e.getRuleName(), e.getRuleName(), f.getRuleName()); + result.add(s); + } + // 积分说明 + if (!e.getRuleDesc().equals(f.getRuleDesc())){ + String s = String.format(StrConstant.POINT_CHANGE, e.getRuleName(), e.getRuleDesc(), f.getRuleDesc()); + result.add(s); + } + return result; } private void validateEnableFlag(PointRuleFormDTO formDTO) { diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/PointRuleDao.xml b/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/PointRuleDao.xml index c18c78976b..77e9dada1b 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/PointRuleDao.xml +++ b/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/PointRuleDao.xml @@ -39,7 +39,9 @@ SET POINT = #{point,jdbcType=INTEGER}, ENABLED_FLAG = #{enabledFlag,jdbcType=VARCHAR}, - UP_LIMIT = #{upLimit,jdbcType=INTEGER} + UP_LIMIT = #{upLimit,jdbcType=INTEGER}, + RULE_NAME = #{ruleName}, + RULE_DESC = #{ruleDesc} WHERE id = #{id,jdbcType=VARCHAR} and CUSTOMER_ID = #{customerId,jdbcType=VARCHAR} @@ -54,4 +56,15 @@ + + +