Browse Source

积分规则配置页面开发

feature/syp_points
zhangyongzhangyong 5 years ago
parent
commit
a280b46904
  1. 11
      esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/redis/RedisKeys.java
  2. 4
      esua-epdc/epdc-module/epdc-points/epdc-points-client/src/main/java/com/elink/esua/epdc/dto/PointsRuleDTO.java
  3. 12
      esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/controller/PointsBehaviorController.java
  4. 6
      esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/controller/PointsRuleController.java
  5. 9
      esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/dao/PointsBehaviorDao.java
  6. 14
      esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/dao/PointsRuleDao.java
  7. 9
      esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/service/PointsBehaviorService.java
  8. 9
      esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/service/PointsRuleService.java
  9. 5
      esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/service/impl/PointsBehaviorServiceImpl.java
  10. 58
      esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/service/impl/PointsRuleServiceImpl.java
  11. 10
      esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/resources/mapper/PointsBehaviorDao.xml
  12. 32
      esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/resources/mapper/PointsRuleDao.xml

11
esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/redis/RedisKeys.java

@ -190,4 +190,15 @@ public class RedisKeys {
public static String getAllRuleCodeKey(String behaviorCode) {
return rootPrefix.concat("epdc:config:behavior:").concat(String.valueOf(behaviorCode));
}
/**
* @param ruleCode 积分规则编码
* @return java.lang.String
* @Author zhangyong
* @Description 所有的积分规则编码
* @Date 2020/4/28
**/
public static String getAllPointsRuleCodeKey(String ruleCode) {
return rootPrefix.concat("epdc:config:points:").concat(String.valueOf(ruleCode));
}
}

4
esua-epdc/epdc-module/epdc-points/epdc-points-client/src/main/java/com/elink/esua/epdc/dto/PointsRuleDTO.java

@ -118,4 +118,8 @@ public class PointsRuleDTO implements Serializable {
*/
private Date updatedTime;
/**
* 虚字段 - 序号
*/
private int orderNumber;
}

12
esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/controller/PointsBehaviorController.java

@ -89,4 +89,16 @@ public class PointsBehaviorController {
ExcelUtils.exportExcelToTarget(response, null, list, PointsBehaviorExcel.class);
}
/**
* @Description: 获取全部的动作编码
* @Param: []
* @return: com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.PointsBehaviorDTO>>
* @Author: zy
* @Date: 2020-04-29
*/
@GetMapping("getBehaviorDesc")
public Result<List<PointsBehaviorDTO>> getBehaviorDesc(){
List<PointsBehaviorDTO> data = pointsBehaviorService.listBehaviorDesc();
return new Result<List<PointsBehaviorDTO>>().ok(data);
}
}

6
esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/controller/PointsRuleController.java

@ -65,16 +65,14 @@ public class PointsRuleController {
public Result save(@RequestBody PointsRuleDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
pointsRuleService.save(dto);
return new Result();
return pointsRuleService.save(dto);
}
@PutMapping
public Result update(@RequestBody PointsRuleDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
pointsRuleService.update(dto);
return new Result();
return pointsRuleService.update(dto);
}
@DeleteMapping

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

@ -42,4 +42,13 @@ public interface PointsBehaviorDao extends BaseDao<PointsBehaviorEntity> {
* @Date: 2020-04-28
*/
List<PointsBehaviorDTO> selectListPointsBehavior(Map<String, Object> params);
/**
* @Description: 获取全部的动作编码
* @Param: []
* @return: com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.PointsBehaviorDTO>>
* @Author: zy
* @Date: 2020-04-29
*/
List<PointsBehaviorDTO> selectListBehaviorDesc();
}

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

@ -18,12 +18,14 @@
package com.elink.esua.epdc.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.form.PointsLogsFormDTO;
import com.elink.esua.epdc.dto.PointsRuleDTO;
import com.elink.esua.epdc.dto.result.BehaviorResultDto;
import com.elink.esua.epdc.dto.result.PointsLogsResultDTO;
import com.elink.esua.epdc.entity.PointsRuleEntity;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
/**
* 积分规则管理表 积分规则管理表
*
@ -41,4 +43,12 @@ public interface PointsRuleDao extends BaseDao<PointsRuleEntity> {
**/
BehaviorResultDto getBehaviorCodeInfoByBehaviorCode(String behaviorCode);
/**
* @Description: 积分规则配置 列表查询
* @Param: [params]
* @return: java.util.List<com.elink.esua.epdc.dao.PointsRuleDao>
* @Author: zy
* @Date: 2020-04-29
*/
List<PointsRuleDTO> selectListPointsRule(Map<String, Object> params);
}

9
esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/service/PointsBehaviorService.java

@ -93,4 +93,13 @@ public interface PointsBehaviorService extends BaseService<PointsBehaviorEntity>
* @date 2020-04-28
*/
void delete(String[] ids);
/**
* @Description: 获取全部的动作编码
* @Param: []
* @return: com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.PointsBehaviorDTO>>
* @Author: zy
* @Date: 2020-04-29
*/
List<PointsBehaviorDTO> listBehaviorDesc();
}

9
esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/service/PointsRuleService.java

@ -19,6 +19,7 @@ package com.elink.esua.epdc.service;
import com.elink.esua.epdc.commons.mybatis.service.BaseService;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.PointsRuleDTO;
import com.elink.esua.epdc.entity.PointsRuleEntity;
@ -67,21 +68,21 @@ public interface PointsRuleService extends BaseService<PointsRuleEntity> {
* 默认保存
*
* @param dto
* @return void
* @return Result
* @author generator
* @date 2020-04-28
*/
void save(PointsRuleDTO dto);
Result save(PointsRuleDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @return Result
* @author generator
* @date 2020-04-28
*/
void update(PointsRuleDTO dto);
Result update(PointsRuleDTO dto);
/**
* 批量删除

5
esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/service/impl/PointsBehaviorServiceImpl.java

@ -145,4 +145,9 @@ public class PointsBehaviorServiceImpl extends BaseServiceImpl<PointsBehaviorDao
redisUtils.delete(RedisKeys.getAllRuleCodeKey(entity.getBehaviorCode()));
}
@Override
public List<PointsBehaviorDTO> listBehaviorDesc() {
return baseDao.selectListBehaviorDesc();
}
}

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

@ -20,9 +20,13 @@ package com.elink.esua.epdc.service.impl;
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.exception.ErrorCode;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.redis.RedisKeys;
import com.elink.esua.epdc.commons.tools.redis.RedisUtils;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dao.PointsRuleDao;
import com.elink.esua.epdc.dto.PointsRuleDTO;
import com.elink.esua.epdc.entity.PointsRuleEntity;
@ -49,13 +53,14 @@ public class PointsRuleServiceImpl extends BaseServiceImpl<PointsRuleDao, Points
@Autowired
private PointsRuleRedis pointsRuleRedis;
@Autowired
private RedisUtils redisUtils;
@Override
public PageData<PointsRuleDTO> page(Map<String, Object> params) {
IPage<PointsRuleEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, PointsRuleDTO.class);
IPage<PointsRuleDTO> page = getPage(params);
List<PointsRuleDTO> list = baseDao.selectListPointsRule(params);
return new PageData<>(list, page.getTotal());
}
@Override
@ -82,23 +87,62 @@ public class PointsRuleServiceImpl extends BaseServiceImpl<PointsRuleDao, Points
@Override
@Transactional(rollbackFor = Exception.class)
public void save(PointsRuleDTO dto) {
public Result save(PointsRuleDTO dto) {
Result checkRuleCode = this.checkRuleCodeIsExist(dto.getRuleCode());
if (checkRuleCode.getCode() == ErrorCode.INTERNAL_SERVER_ERROR) {
return checkRuleCode;
}
PointsRuleEntity entity = ConvertUtils.sourceToTarget(dto, PointsRuleEntity.class);
insert(entity);
// 存入redis
redisUtils.set(RedisKeys.getAllPointsRuleCodeKey(entity.getRuleCode()) , entity, RedisUtils.NOT_EXPIRE);
return new Result();
}
/**
* @Description: 查询积分规则编码是否存在
* @Param: [behaviorCode]
* @return: com.elink.esua.epdc.commons.tools.utils.Result
* @Author: zy
* @Date: 2020-04-28
*/
private Result checkRuleCodeIsExist(String ruleCode) {
Object bhc = redisUtils.get(RedisKeys.getAllPointsRuleCodeKey(ruleCode));
if (bhc != null) {
return new Result().error("积分规则编码已存在,请重新设置");
}
return new Result();
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(PointsRuleDTO dto) {
public Result update(PointsRuleDTO dto) {
// 查询之前的动作编码
PointsRuleEntity queryEntity = baseDao.selectById(dto.getId());
// 判断本次修改操作是否修改了积分规则编码, 如果改动了,查询新的积分规则编码是否已存在
if (!(queryEntity.getRuleCode().equals(dto.getRuleCode()))) {
Result checkRuleCode = this.checkRuleCodeIsExist(dto.getRuleCode());
if (checkRuleCode.getCode() == ErrorCode.INTERNAL_SERVER_ERROR) {
return checkRuleCode;
}
}
PointsRuleEntity entity = ConvertUtils.sourceToTarget(dto, PointsRuleEntity.class);
updateById(entity);
// 删除redis中的存储信息
redisUtils.delete(RedisKeys.getAllPointsRuleCodeKey(queryEntity.getRuleCode()));
// 新增redis信息
redisUtils.set(RedisKeys.getAllPointsRuleCodeKey(entity.getRuleCode()) , entity, RedisUtils.NOT_EXPIRE);
return new Result();
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
PointsRuleEntity entity = baseDao.selectById(ids[0]);
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
// 删除redis中的存储信息
redisUtils.delete(RedisKeys.getAllPointsRuleCodeKey(entity.getRuleCode()));
}
}

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

@ -37,4 +37,14 @@
ORDER BY
b.CREATED_TIME
</select>
<select id="selectListBehaviorDesc" resultType="com.elink.esua.epdc.dto.PointsBehaviorDTO">
SELECT
b.BEHAVIOR_CODE behaviorCode,
b.BEHAVIOR_DESC behaviorDesc
FROM
`epdc_points_behavior` b
WHERE
b.DEL_FLAG = 0
</select>
</mapper>

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

@ -31,4 +31,36 @@
</select>
<select id="selectListPointsRule" resultType="com.elink.esua.epdc.dto.PointsRuleDTO">
SELECT
(@i:=@i+1) as orderNumber,
r.ID id,
r.RULE_CODE ruleCode,
r.RULE_DESC ruleDesc,
r.BEHAVIOR_CODE behaviorCode,
r.OPERATION_TYPE operationType,
r.POINTS points,
r.LIMIT_TYPE limitType,
r.UPPER_LIMIT_VAL upperLimitVal,
r.ENABLE_FLAG enableFlag,
r.ADDED_VAL addedVal,
r.REMARK remark
FROM
epdc_points_rule r, (select @i:=0) as it
WHERE r.DEL_FLAG = 0
<if test="ruleCode != null and ruleCode != ''">
AND r.RULE_CODE LIKE concat('%',#{ruleCode},'%')
</if>
<if test="ruleDesc != null and ruleDesc != ''">
AND r.RULE_DESC LIKE concat('%',#{ruleDesc},'%')
</if>
<if test="operationType != null and operationType != ''">
AND r.OPERATION_TYPE = #{operationType}
</if>
<if test="enableFlag != null and enableFlag != ''">
AND r.ENABLE_FLAG = #{enableFlag}
</if>
ORDER BY
CREATED_TIME DESC
</select>
</mapper>
Loading…
Cancel
Save