From 75a31fc9e797f14f0e6378f92baf1af2cad76ac7 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Thu, 22 Apr 2021 17:12:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=8F=E7=BB=84=E6=88=90=E5=B0=B1=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/result/GroupPointRuleResultDTO.java | 17 +++++++++ .../controller/GroupPointController.java | 17 +++++++++ .../com/epmet/service/PointRuleService.java | 10 +++++ .../service/impl/PointRuleServiceImpl.java | 38 +++++++++++++++++-- .../dto/group/ResiGroupInfoRedisDTO.java | 5 +++ .../result/GovGroupSummarizeResultDTO.java | 4 ++ .../group/result/GroupSummarizeResultDTO.java | 2 + .../modules/group/redis/ResiGroupRedis.java | 1 + .../ResiGroupAchievementStatsServiceImpl.java | 1 + .../service/impl/ResiGroupServiceImpl.java | 5 +-- .../resources/mapper/group/ResiGroupDao.xml | 1 + 11 files changed, 94 insertions(+), 7 deletions(-) create mode 100644 epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/GroupPointRuleResultDTO.java diff --git a/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/GroupPointRuleResultDTO.java b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/GroupPointRuleResultDTO.java new file mode 100644 index 0000000000..6a14bebb4a --- /dev/null +++ b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/GroupPointRuleResultDTO.java @@ -0,0 +1,17 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @author zhaoqifeng + * @dscription + * @date 2021/4/22 15:15 + */ +@Data +public class GroupPointRuleResultDTO implements Serializable { + private static final long serialVersionUID = -1651136821935977327L; + private List rules; +} diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/GroupPointController.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/GroupPointController.java index 0715bb6c8e..f016acbe7b 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/GroupPointController.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/GroupPointController.java @@ -4,11 +4,13 @@ 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.dto.form.GroupPointFormDTO; +import com.epmet.dto.result.GroupPointRuleResultDTO; import com.epmet.resi.group.dto.group.result.GroupPointDetailResultDTO; import com.epmet.dto.result.GroupPointRankingResultDTO; import com.epmet.dto.result.PointRankingResultDTO; import com.epmet.service.BizPointTotalDetailService; import com.epmet.service.BizPointUserTotalDetailService; +import com.epmet.service.PointRuleService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -30,6 +32,8 @@ public class GroupPointController { private BizPointUserTotalDetailService bizPointUserTotalDetailService; @Autowired private BizPointTotalDetailService bizPointTotalDetailService; + @Autowired + private PointRuleService pointRuleService; /** * 小组积分贡献榜 @@ -73,4 +77,17 @@ public class GroupPointController { GroupPointDetailResultDTO result = bizPointTotalDetailService.pointDetail(formDTO); return new Result().ok(result); } + + /** + * 小组积分规则 + * @author zhaoqifeng + * @date 2021/4/22 15:36 + * @param tokenDto + * @return com.epmet.commons.tools.utils.Result + */ + @PostMapping("pointrule") + public Result pointRule(@LoginUser TokenDto tokenDto) { + GroupPointRuleResultDTO result = pointRuleService.getGroupRule(tokenDto.getCustomerId()); + return new Result().ok(result); + } } diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/PointRuleService.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/PointRuleService.java index 28ec8991c2..cd39750f34 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/PointRuleService.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/PointRuleService.java @@ -24,6 +24,7 @@ import com.epmet.dto.form.PointDetailFormDTO; import com.epmet.dto.form.PointRuleFormDTO; import com.epmet.dto.form.PointRuleListFormDTO; import com.epmet.dto.result.CustomerFunctionResultDTO; +import com.epmet.dto.result.GroupPointRuleResultDTO; import com.epmet.dto.result.PointDetailResultDTO; import com.epmet.dto.result.PointRuleResultDTO; import com.epmet.entity.PointRuleEntity; @@ -69,4 +70,13 @@ public interface PointRuleService extends BaseService { PointRuleEntity getByEventCodeAndCustomerId(String customerId,String eventCode); InitPointRuleResultDTO initPointRule(); + + /** + * 获取小组积分规则 + * @author zhaoqifeng + * @date 2021/4/22 15:20 + * @param customerId + * @return com.epmet.dto.result.GroupPointRuleResultDTO + */ + GroupPointRuleResultDTO getGroupRule(String customerId); } \ 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 99a88c18a3..2e31394868 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 @@ -18,6 +18,7 @@ package com.epmet.service.impl; import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.epmet.common.enu.PointUnitEnum; import com.epmet.common.enu.SysResponseEnum; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; @@ -25,6 +26,7 @@ import com.epmet.commons.tools.constant.Constant; 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.ExceptionUtils; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.security.dto.TokenDto; @@ -41,10 +43,7 @@ import com.epmet.dto.form.CustomerFunctionListFormDTO; import com.epmet.dto.form.PointDetailFormDTO; import com.epmet.dto.form.PointRuleFormDTO; import com.epmet.dto.form.PointRuleListFormDTO; -import com.epmet.dto.result.CustomerFunctionResultDTO; -import com.epmet.dto.result.DefaultFunctionListResultDTO; -import com.epmet.dto.result.PointDetailResultDTO; -import com.epmet.dto.result.PointRuleResultDTO; +import com.epmet.dto.result.*; import com.epmet.entity.PointRuleDefaultEntity; import com.epmet.entity.PointRuleEntity; import com.epmet.entity.RuleOperateLogEntity; @@ -61,6 +60,7 @@ import org.springframework.util.CollectionUtils; import java.util.*; import java.util.concurrent.ExecutorService; +import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; /** @@ -284,6 +284,36 @@ public class PointRuleServiceImpl extends BaseServiceImpl list = new ArrayList<>(); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("CUSTOMER_ID", customerId) + .eq("DEL_FLAG", NumConstant.ZERO_STR); + List ruleList = baseDao.selectList(wrapper); + if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(ruleList)) { + AtomicInteger index=new AtomicInteger(1); + list = ruleList.stream().filter(i -> ("resi_group").equals(Objects.requireNonNull(EventEnum.getEnum(i.getEventCode())).getEventClass())).map(item -> { + String rule = index.getAndIncrement() + "." + item.getRuleName() + "," + "" + item.getPoint() + "分"; + if (NumConstant.ZERO != item.getUpLimit()) { + rule = rule + "(每天最多得" + item.getUpLimit() + "分)"; + } + return rule; + }).collect(Collectors.toList()); + } + resultDTO.setRules(list); + return resultDTO; + } + private void insertOperateRecord(TokenDto tokenDTO, PointRuleEntity entityNew, PointRuleEntity entityDB, String opType) { RuleOperateLogEntity record = new RuleOperateLogEntity(); if (tokenDTO != null) { diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupInfoRedisDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupInfoRedisDTO.java index f2c52f6804..c6cb017da1 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupInfoRedisDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupInfoRedisDTO.java @@ -46,6 +46,11 @@ public class ResiGroupInfoRedisDTO implements Serializable{ * */ private String gridId; + /** + * 小组等级 + * */ + private String level; + /** * 组状态 * */ diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GovGroupSummarizeResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GovGroupSummarizeResultDTO.java index e0b0c2fd4c..da9773d04a 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GovGroupSummarizeResultDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GovGroupSummarizeResultDTO.java @@ -40,4 +40,8 @@ public class GovGroupSummarizeResultDTO implements Serializable { * 话题总数 */ private Integer totalTopics; + /** + * 小组等级 + */ + private String level; } diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupSummarizeResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupSummarizeResultDTO.java index 0b19208c9f..dbf681b90d 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupSummarizeResultDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupSummarizeResultDTO.java @@ -69,6 +69,8 @@ public class GroupSummarizeResultDTO implements Serializable { * 进组审核open开启;close关闭 */ private String auditSwitch; + + private String level; public GroupSummarizeResultDTO(){ this.setGroupId(""); this.setGroupHeadPhoto(""); diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/redis/ResiGroupRedis.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/redis/ResiGroupRedis.java index 03dcc4ecba..9d52a420b1 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/redis/ResiGroupRedis.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/redis/ResiGroupRedis.java @@ -101,6 +101,7 @@ public class ResiGroupRedis { ResiGroupInfoRedisDTO groupRedis = ConvertUtils.sourceToTarget(groupMySql,ResiGroupInfoRedisDTO.class); groupRedis.setGroupId(groupMySql.getId()); groupRedis.setGroupState(groupMySql.getState()); + groupRedis.setLevel("LV" + groupMySql.getLevel()); Map param = new HashMap<>(); param.put(TopicConstant.RESI_GROUP_ID,groupId); param.put(FieldConstant.DEL_FLAG, NumConstant.ZERO_STR); diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupAchievementStatsServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupAchievementStatsServiceImpl.java index be9f4c8431..46b0fa5303 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupAchievementStatsServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupAchievementStatsServiceImpl.java @@ -113,6 +113,7 @@ public class ResiGroupAchievementStatsServiceImpl extends BaseServiceImpl list = baseDao.selectList(wrapper); return ConvertUtils.sourceToTarget(list, ResiGroupAchievementStatsDTO.class); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java index 1235f88966..08c1737eaa 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java @@ -822,6 +822,7 @@ public class ResiGroupServiceImpl extends BaseServiceImpl groupLeaderUserInfo = this.getGroupLeaderUserInfo(formDTO.getGroupId()); @@ -1266,9 +1267,7 @@ public class ResiGroupServiceImpl extends BaseServiceImpl achievements = new ArrayList<>(); List list = baseDao.selectRecentGroupAchievements(tokenDto.getUserId()); if (CollectionUtils.isNotEmpty(list)) { - achievements = list.stream().map(item -> { - return item.getGroupName() + ":" + "达成“" + item.getAchievementName() + "”" + "成就"; - }).collect(Collectors.toList()); + achievements = list.stream().map(item -> item.getGroupName() + ":" + "达成“" + item.getAchievementName() + "”" + "成就").collect(Collectors.toList()); } result.setAchievement(achievements); return result; diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml index 7e3964af2f..044d36975c 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml @@ -140,6 +140,7 @@ rgs.TOTAL_MEMBERS AS totalMember, rgs.TOTAL_PARTY_MEMBERS AS totalPartyMember, rgm.GROUP_LEADER_FLAG AS leaderFlag, + CONCAT('LV', rg.level) AS level, ( SELECT count(1)