Browse Source

积分规则配置页面-动作编码做唯一性校验

feature/syp_points
zhangyongzhangyong 6 years ago
parent
commit
10da304398
  1. 9
      esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/dao/PointsRuleDao.java
  2. 32
      esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/service/impl/PointsRuleServiceImpl.java
  3. 10
      esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/resources/mapper/PointsRuleDao.xml

9
esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/dao/PointsRuleDao.java

@ -61,4 +61,13 @@ public interface PointsRuleDao extends BaseDao<PointsRuleEntity> {
* @Date: 2020-04-29
*/
List<PointsRuleDTO> selectListPointsRule(Map<String, Object> params);
/**
* 查询积分规则表 动作编码是否存在
* @param behaviorCode 动作编码
* @return int
* @Author zhangyong
* @Date 15:48 2020-05-08
**/
int selectBehaviorCodeDoestItExist(String behaviorCode);
}

32
esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/service/impl/PointsRuleServiceImpl.java

@ -22,6 +22,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.commons.tools.constant.NumConstant;
import com.elink.esua.epdc.commons.tools.enums.pointsenum.PointsRuleAvailableEnum;
import com.elink.esua.epdc.commons.tools.exception.ErrorCode;
import com.elink.esua.epdc.commons.tools.page.PageData;
@ -96,10 +97,17 @@ public class PointsRuleServiceImpl extends BaseServiceImpl<PointsRuleDao, Points
@Override
@Transactional(rollbackFor = Exception.class)
public Result save(PointsRuleDTO dto) {
// 判断积分规则编码是否重复
Result checkRuleCode = this.checkRuleCodeIsExist(dto.getRuleCode());
if (checkRuleCode.getCode() == ErrorCode.INTERNAL_SERVER_ERROR) {
return checkRuleCode;
}
// 判断所选动作是否重复
Result checkBehaviorCode = this.checkBehaviorCodeIsExist(dto.getBehaviorCode());
if (checkBehaviorCode.getCode() == ErrorCode.INTERNAL_SERVER_ERROR) {
return checkBehaviorCode;
}
PointsRuleEntity entity = ConvertUtils.sourceToTarget(dto, PointsRuleEntity.class);
insert(entity);
// 存入redis
@ -125,7 +133,7 @@ public class PointsRuleServiceImpl extends BaseServiceImpl<PointsRuleDao, Points
@Override
@Transactional(rollbackFor = Exception.class)
public Result update(PointsRuleDTO dto) {
// 查询之前的动作编码
// 查询之前的积分规则编码、动作编码
PointsRuleEntity queryEntity = baseDao.selectById(dto.getId());
// 判断本次修改操作是否修改了积分规则编码, 如果改动了,查询新的积分规则编码是否已存在
if (!(queryEntity.getRuleCode().equals(dto.getRuleCode()))) {
@ -134,6 +142,14 @@ public class PointsRuleServiceImpl extends BaseServiceImpl<PointsRuleDao, Points
return checkRuleCode;
}
}
// 判断本次修改操作是否修改了动作编码, 如果改动了,查询新的动作编码是否在表中已存在
if (!(queryEntity.getBehaviorCode().equals(dto.getBehaviorCode()))) {
Result checkBehaviorCode = this.checkBehaviorCodeIsExist(dto.getBehaviorCode());
if (checkBehaviorCode.getCode() == ErrorCode.INTERNAL_SERVER_ERROR) {
return checkBehaviorCode;
}
}
PointsRuleEntity entity = ConvertUtils.sourceToTarget(dto, PointsRuleEntity.class);
updateById(entity);
// 删除redis中的存储信息
@ -209,4 +225,18 @@ public class PointsRuleServiceImpl extends BaseServiceImpl<PointsRuleDao, Points
return new Result();
}
/**
* @Description: 查询积动作是否存在
* @Param: [behaviorCode]
* @return: com.elink.esua.epdc.commons.tools.utils.Result
* @Author: zy
* @Date: 2020-05-08
*/
private Result checkBehaviorCodeIsExist(String behaviorCode) {
int behaviorCodeNum = baseDao.selectBehaviorCodeDoestItExist(behaviorCode);
if (behaviorCodeNum > NumConstant.ZERO) {
return new Result().error("动作已存在,请选择其他动作");
}
return new Result();
}
}

10
esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/resources/mapper/PointsRuleDao.xml

@ -63,4 +63,14 @@
ORDER BY
CREATED_TIME DESC
</select>
<select id="selectBehaviorCodeDoestItExist" resultType="int">
SELECT
count(1)
FROM
epdc_points_rule r
WHERE
DEL_FLAG = 0
AND BEHAVIOR_CODE = #{behaviorCode}
</select>
</mapper>

Loading…
Cancel
Save