From 339d338b3e58ef3a8146b16954f8b7ff35b76322 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Fri, 18 Jun 2021 13:58:22 +0800 Subject: [PATCH 1/4] =?UTF-8?q?errorCode=E6=96=B0=E5=A2=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/commons/tools/exception/EpmetErrorCode.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java index 25e0a4d4d9..bdc4de8171 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java @@ -184,7 +184,9 @@ public enum EpmetErrorCode { SIGN_IN_TIME_PASSED(8912,"当前时间已超过签到时间"), INVITATION_NOT_EXIST(8913,"链接不存在"), NOTICE_EXPIRATION_TIME(8914,"通知过期时间不能早于当前时间"), - NOTICE_BE_OVERDUE(8915,"通知已过期不允许再次变更"); + NOTICE_BE_OVERDUE(8915,"通知已过期不允许再次变更"), + + SAME_RULE_NAME(8916,"该积分事件已存在,请重新调整保存"); private int code; From 676b83e882112c90997626d3460abc1d790b92c5 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Fri, 18 Jun 2021 14:54:15 +0800 Subject: [PATCH 2/4] =?UTF-8?q?errorCode=E6=96=B0=E5=A2=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/commons/tools/exception/EpmetErrorCode.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java index bdc4de8171..412fee30f7 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java @@ -186,7 +186,8 @@ public enum EpmetErrorCode { NOTICE_EXPIRATION_TIME(8914,"通知过期时间不能早于当前时间"), NOTICE_BE_OVERDUE(8915,"通知已过期不允许再次变更"), - SAME_RULE_NAME(8916,"该积分事件已存在,请重新调整保存"); + SAME_RULE_NAME(8916,"该积分事件已存在,请重新调整保存"), + UP_LIMIT_POINT(8917,"积分上限需为单位积分倍数,请重新调整保存"); private int code; From 18e9346e586d4f1c60e9150648e70b0b41e8467d Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Fri, 18 Jun 2021 15:29:15 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E7=A7=AF=E5=88=86=E8=A7=84=E5=88=99?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../commons/tools/constant/StrConstant.java | 5 ++ .../main/java/com/epmet/dao/PointRuleDao.java | 9 ++++ .../service/impl/PointRuleServiceImpl.java | 52 +++++++++++++++++++ .../main/resources/mapper/PointRuleDao.xml | 15 +++++- 4 files changed, 80 insertions(+), 1 deletion(-) 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 @@ + + + From e1db211d9e10d0c3cc870ca3d9e8312a53e78a5e Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 18 Jun 2021 15:30:05 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E7=A7=AF=E5=88=86=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/dto/form/MyPointTaskFormDTO.java | 31 +++++++ .../dto/result/MyPointTaskResultDTO.java | 84 +++++++++++++++++++ .../epmet/controller/ResiPointController.java | 26 ++++-- .../com/epmet/dao/UserPointActionLogDao.java | 6 ++ .../service/UserPointActionLogService.java | 10 +++ .../impl/UserPointActionLogServiceImpl.java | 36 +++++++- .../main/resources/mapper/PointRuleDao.xml | 1 + .../mapper/UserPointActionLogDao.xml | 58 +++++++++++++ 8 files changed, 245 insertions(+), 7 deletions(-) create mode 100644 epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/MyPointTaskFormDTO.java create mode 100644 epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/MyPointTaskResultDTO.java diff --git a/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/MyPointTaskFormDTO.java b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/MyPointTaskFormDTO.java new file mode 100644 index 0000000000..16553dcc2f --- /dev/null +++ b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/MyPointTaskFormDTO.java @@ -0,0 +1,31 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 积分任务列表查询入参 + * + * @author yinzuomei@elink-cn.com + * @date 2021/6/18 13:56 + */ +@Data +public class MyPointTaskFormDTO implements Serializable { + private static final long serialVersionUID = 8274146750217261820L; + + /** + * 当前用户Id + * */ + @NotBlank(message = "tokenDto获取userId为空") + private String userId; + + @NotBlank(message = "tokenDto获取customerId为空") + private String customerId; + /** + * 未完成:unfinished;已完成:finished;全部:all + * */ + @NotBlank(message = "未完成:unfinished;已完成:finished;全部:all") + private String type; +} diff --git a/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/MyPointTaskResultDTO.java b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/MyPointTaskResultDTO.java new file mode 100644 index 0000000000..5effadae1f --- /dev/null +++ b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/MyPointTaskResultDTO.java @@ -0,0 +1,84 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 积分任务列表查询返参 + * + * @author yinzuomei@elink-cn.com + * @date 2021/6/18 13:58 + */ +@Data +public class MyPointTaskResultDTO implements Serializable { + + /** + * 规则名称 + * */ + private String ruleName; + + /** + * 规则描述 + * */ + private String ruleDesc; + + /** + * 加减积分描述,举例:积分+2 + * */ + private String pointDesc; + + /** + * 完成情况描述,举例:完成0/3 + * */ + private String finishTotalDesc; + + /** + * 去完成 or 已完成 + * */ + private String finishFlag; + + /** + * 楼院小组:group;爱心互助:heart; 前端根据这个key跳转到相应页面 + * */ + private String linkPage; + + + + /** + * 事件CODE 来自事件表 + */ + // @JsonIgnore + private String eventCode; + + /** + * 操作类型 加积分:add;减积分:subtract + */ + // @JsonIgnore + private String operateType; + + /** + * 积分上限 0表示不涉及积分上限; + */ + // @JsonIgnore + private Integer upLimit; + + /** + * 获得积分值 + */ + // @JsonIgnore + private Integer point; + /** + * 已完成次数 + */ + private Integer finishedCount; + + /** + * 上限次数,-1代表没有上限 + */ + private Integer upLimitCount; + /** + * 排序 + */ + private Integer sort; +} diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/ResiPointController.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/ResiPointController.java index 5c3b666fa1..4b3346ce40 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/ResiPointController.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/ResiPointController.java @@ -4,10 +4,7 @@ import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; -import com.epmet.dto.form.CommonPageUserFormDTO; -import com.epmet.dto.form.CommonUserFormDTO; -import com.epmet.dto.form.ResiAroundPartyPointRankFormDTO; -import com.epmet.dto.form.ResiPointRankFormDTO; +import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.service.PointVerificationLogService; import com.epmet.service.UserPointActionLogService; @@ -15,7 +12,10 @@ import com.epmet.service.UserPointStatisticalDailyService; import com.epmet.service.UserPointTotalService; import com.epmet.utils.ModuleConstant; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; import java.util.List; @@ -156,4 +156,20 @@ public class ResiPointController { List resultDTOS = userPointStatisticalDailyService.listAroundPartyPointRank(formDTO); return new Result>().ok(resultDTOS); } + + /** + * @return com.epmet.commons.tools.utils.Result> + * @param tokenDto + * @param formDTO + * @author yinzuomei + * @description 积分任务列表 + * @Date 2021/6/18 14:19 + **/ + @PostMapping("mytasklist") + public Result> queryMyPointTaskList(@LoginUser TokenDto tokenDto,@RequestBody MyPointTaskFormDTO formDTO){ + formDTO.setUserId(tokenDto.getUserId()); + formDTO.setCustomerId(tokenDto.getCustomerId()); + ValidatorUtils.validateEntity(formDTO); + return new Result>().ok(pointActionLogService.queryMyPointTaskList(formDTO)); + } } diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/UserPointActionLogDao.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/UserPointActionLogDao.java index a2c1963e85..1db465d453 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/UserPointActionLogDao.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/UserPointActionLogDao.java @@ -18,6 +18,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.result.MyPointTaskResultDTO; import com.epmet.dto.result.ResiPointLogPeriodResultDTO; import com.epmet.entity.UserPointActionLogEntity; import org.apache.ibatis.annotations.Mapper; @@ -63,4 +64,9 @@ public interface UserPointActionLogDao extends BaseDao * @return java.lang.Integer */ Integer selectIncrease(@Param("type")String type, @Param("objectId")String objectId); + + List queryMyPointTaskList(@Param("customerId")String customerId, + @Param("userId")String userId, + @Param("type")String type, + @Param("dateId")String dateId); } \ No newline at end of file diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/UserPointActionLogService.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/UserPointActionLogService.java index 892fd67a11..314b9b46db 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/UserPointActionLogService.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/UserPointActionLogService.java @@ -22,6 +22,8 @@ import com.epmet.commons.tools.dto.form.mq.eventmsg.BasePointEventMsg; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.UserPointActionLogDTO; import com.epmet.dto.form.CommonPageUserFormDTO; +import com.epmet.dto.form.MyPointTaskFormDTO; +import com.epmet.dto.result.MyPointTaskResultDTO; import com.epmet.dto.result.ResiPointLogListResultDTO; import com.epmet.entity.UserPointActionLogEntity; import dto.form.SendPointFormDTO; @@ -133,4 +135,12 @@ public interface UserPointActionLogService extends BaseService + */ + List queryMyPointTaskList(MyPointTaskFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java index af4b5fd499..e07a34d8b8 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java @@ -35,9 +35,14 @@ import com.epmet.dto.BizPointTotalDetailDTO; import com.epmet.dto.BizPointUserTotalDetailDTO; import com.epmet.dto.UserPointActionLogDTO; import com.epmet.dto.form.CommonPageUserFormDTO; +import com.epmet.dto.form.MyPointTaskFormDTO; +import com.epmet.dto.result.MyPointTaskResultDTO; import com.epmet.dto.result.ResiPointLogListResultDTO; import com.epmet.dto.result.ResiPointLogPeriodResultDTO; -import com.epmet.entity.*; +import com.epmet.entity.PointRuleEntity; +import com.epmet.entity.UserPointActionLogEntity; +import com.epmet.entity.UserPointStatisticalDailyEntity; +import com.epmet.entity.UserPointTotalEntity; import com.epmet.service.*; import com.epmet.utils.DimIdGenerator; import com.epmet.utils.ModuleConstant; @@ -54,7 +59,6 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; -import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -512,4 +516,32 @@ public class UserPointActionLogServiceImpl extends BaseServiceImpl + */ + @Override + public List queryMyPointTaskList(MyPointTaskFormDTO formDTO) { + //默认查询当天 + String dateId= DateUtils.getBeforeNDay(0); + List list=baseDao.queryMyPointTaskList(formDTO.getCustomerId(),formDTO.getUserId(),formDTO.getType(), dateId); + list.forEach(dto->{ + if(NumConstant.ZERO==dto.getUpLimit()){ + //无上限 + dto.setFinishTotalDesc("完成"+dto.getFinishedCount()); + dto.setFinishFlag("去完成"); + }else{ + dto.setFinishTotalDesc("完成".concat(String.valueOf(dto.getFinishedCount())).concat("/").concat(String.valueOf(dto.getUpLimitCount()))); + if(dto.getUpLimitCount().equals(dto.getFinishedCount())){ + dto.setFinishFlag("已完成"); + }else{ + dto.setFinishFlag("未完成"); + } + } + }); + return list; + } } \ No newline at end of file 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..f6518db3bc 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 @@ -33,6 +33,7 @@ CUSTOMER_ID = #{customerId,jdbcType=VARCHAR} AND FUNCTION_ID = #{functionId,jdbcType=VARCHAR} AND DEL_FLAG = '0' + order by sort asc UPDATE point_rule diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/UserPointActionLogDao.xml b/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/UserPointActionLogDao.xml index c7c6bf89c2..1cfe66e4ee 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/UserPointActionLogDao.xml +++ b/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/UserPointActionLogDao.xml @@ -73,4 +73,62 @@ AND OBJECT_ID = #{objectId} AND DATE_FORMAT(CREATED_TIME, '%Y-%m-%d') = DATE_FORMAT(NOW(), '%Y-%m-%d') + + \ No newline at end of file