Browse Source

小组成就相关接口

dev
zhaoqifeng 4 years ago
parent
commit
75a31fc9e7
  1. 17
      epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/GroupPointRuleResultDTO.java
  2. 17
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/GroupPointController.java
  3. 10
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/PointRuleService.java
  4. 38
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java
  5. 5
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupInfoRedisDTO.java
  6. 4
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GovGroupSummarizeResultDTO.java
  7. 2
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupSummarizeResultDTO.java
  8. 1
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/redis/ResiGroupRedis.java
  9. 1
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupAchievementStatsServiceImpl.java
  10. 5
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java
  11. 1
      epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml

17
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<String> rules;
}

17
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.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.GroupPointFormDTO; import com.epmet.dto.form.GroupPointFormDTO;
import com.epmet.dto.result.GroupPointRuleResultDTO;
import com.epmet.resi.group.dto.group.result.GroupPointDetailResultDTO; import com.epmet.resi.group.dto.group.result.GroupPointDetailResultDTO;
import com.epmet.dto.result.GroupPointRankingResultDTO; import com.epmet.dto.result.GroupPointRankingResultDTO;
import com.epmet.dto.result.PointRankingResultDTO; import com.epmet.dto.result.PointRankingResultDTO;
import com.epmet.service.BizPointTotalDetailService; import com.epmet.service.BizPointTotalDetailService;
import com.epmet.service.BizPointUserTotalDetailService; import com.epmet.service.BizPointUserTotalDetailService;
import com.epmet.service.PointRuleService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
@ -30,6 +32,8 @@ public class GroupPointController {
private BizPointUserTotalDetailService bizPointUserTotalDetailService; private BizPointUserTotalDetailService bizPointUserTotalDetailService;
@Autowired @Autowired
private BizPointTotalDetailService bizPointTotalDetailService; private BizPointTotalDetailService bizPointTotalDetailService;
@Autowired
private PointRuleService pointRuleService;
/** /**
* 小组积分贡献榜 * 小组积分贡献榜
@ -73,4 +77,17 @@ public class GroupPointController {
GroupPointDetailResultDTO result = bizPointTotalDetailService.pointDetail(formDTO); GroupPointDetailResultDTO result = bizPointTotalDetailService.pointDetail(formDTO);
return new Result<GroupPointDetailResultDTO>().ok(result); return new Result<GroupPointDetailResultDTO>().ok(result);
} }
/**
* 小组积分规则
* @author zhaoqifeng
* @date 2021/4/22 15:36
* @param tokenDto
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.result.GroupPointRuleResultDTO>
*/
@PostMapping("pointrule")
public Result<GroupPointRuleResultDTO> pointRule(@LoginUser TokenDto tokenDto) {
GroupPointRuleResultDTO result = pointRuleService.getGroupRule(tokenDto.getCustomerId());
return new Result<GroupPointRuleResultDTO>().ok(result);
}
} }

10
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.PointRuleFormDTO;
import com.epmet.dto.form.PointRuleListFormDTO; import com.epmet.dto.form.PointRuleListFormDTO;
import com.epmet.dto.result.CustomerFunctionResultDTO; import com.epmet.dto.result.CustomerFunctionResultDTO;
import com.epmet.dto.result.GroupPointRuleResultDTO;
import com.epmet.dto.result.PointDetailResultDTO; import com.epmet.dto.result.PointDetailResultDTO;
import com.epmet.dto.result.PointRuleResultDTO; import com.epmet.dto.result.PointRuleResultDTO;
import com.epmet.entity.PointRuleEntity; import com.epmet.entity.PointRuleEntity;
@ -69,4 +70,13 @@ public interface PointRuleService extends BaseService<PointRuleEntity> {
PointRuleEntity getByEventCodeAndCustomerId(String customerId,String eventCode); PointRuleEntity getByEventCodeAndCustomerId(String customerId,String eventCode);
InitPointRuleResultDTO initPointRule(); InitPointRuleResultDTO initPointRule();
/**
* 获取小组积分规则
* @author zhaoqifeng
* @date 2021/4/22 15:20
* @param customerId
* @return com.epmet.dto.result.GroupPointRuleResultDTO
*/
GroupPointRuleResultDTO getGroupRule(String customerId);
} }

38
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; package com.epmet.service.impl;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.epmet.common.enu.PointUnitEnum; import com.epmet.common.enu.PointUnitEnum;
import com.epmet.common.enu.SysResponseEnum; import com.epmet.common.enu.SysResponseEnum;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; 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.NumConstant;
import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.enums.CommonOperateTypeEnum; 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.ExceptionUtils;
import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.security.dto.TokenDto; 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.PointDetailFormDTO;
import com.epmet.dto.form.PointRuleFormDTO; import com.epmet.dto.form.PointRuleFormDTO;
import com.epmet.dto.form.PointRuleListFormDTO; import com.epmet.dto.form.PointRuleListFormDTO;
import com.epmet.dto.result.CustomerFunctionResultDTO; import com.epmet.dto.result.*;
import com.epmet.dto.result.DefaultFunctionListResultDTO;
import com.epmet.dto.result.PointDetailResultDTO;
import com.epmet.dto.result.PointRuleResultDTO;
import com.epmet.entity.PointRuleDefaultEntity; import com.epmet.entity.PointRuleDefaultEntity;
import com.epmet.entity.PointRuleEntity; import com.epmet.entity.PointRuleEntity;
import com.epmet.entity.RuleOperateLogEntity; import com.epmet.entity.RuleOperateLogEntity;
@ -61,6 +60,7 @@ import org.springframework.util.CollectionUtils;
import java.util.*; import java.util.*;
import java.util.concurrent.ExecutorService; import java.util.concurrent.ExecutorService;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@ -284,6 +284,36 @@ public class PointRuleServiceImpl extends BaseServiceImpl<PointRuleDao, PointRul
return result; return result;
} }
/**
* 获取小组积分规则
*
* @param customerId
* @return com.epmet.dto.result.GroupPointRuleResultDTO
* @author zhaoqifeng
* @date 2021/4/22 15:20
*/
@Override
public GroupPointRuleResultDTO getGroupRule(String customerId) {
GroupPointRuleResultDTO resultDTO = new GroupPointRuleResultDTO();
List<String> list = new ArrayList<>();
QueryWrapper<PointRuleEntity> wrapper = new QueryWrapper<>();
wrapper.eq("CUSTOMER_ID", customerId)
.eq("DEL_FLAG", NumConstant.ZERO_STR);
List<PointRuleEntity> 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) { private void insertOperateRecord(TokenDto tokenDTO, PointRuleEntity entityNew, PointRuleEntity entityDB, String opType) {
RuleOperateLogEntity record = new RuleOperateLogEntity(); RuleOperateLogEntity record = new RuleOperateLogEntity();
if (tokenDTO != null) { if (tokenDTO != null) {

5
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 gridId;
/**
* 小组等级
* */
private String level;
/** /**
* 组状态 * 组状态
* */ * */

4
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 Integer totalTopics;
/**
* 小组等级
*/
private String level;
} }

2
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关闭 * 进组审核open开启close关闭
*/ */
private String auditSwitch; private String auditSwitch;
private String level;
public GroupSummarizeResultDTO(){ public GroupSummarizeResultDTO(){
this.setGroupId(""); this.setGroupId("");
this.setGroupHeadPhoto(""); this.setGroupHeadPhoto("");

1
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); ResiGroupInfoRedisDTO groupRedis = ConvertUtils.sourceToTarget(groupMySql,ResiGroupInfoRedisDTO.class);
groupRedis.setGroupId(groupMySql.getId()); groupRedis.setGroupId(groupMySql.getId());
groupRedis.setGroupState(groupMySql.getState()); groupRedis.setGroupState(groupMySql.getState());
groupRedis.setLevel("LV" + groupMySql.getLevel());
Map<String,Object> param = new HashMap<>(); Map<String,Object> param = new HashMap<>();
param.put(TopicConstant.RESI_GROUP_ID,groupId); param.put(TopicConstant.RESI_GROUP_ID,groupId);
param.put(FieldConstant.DEL_FLAG, NumConstant.ZERO_STR); param.put(FieldConstant.DEL_FLAG, NumConstant.ZERO_STR);

1
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<ResiGr
wrapper.eq("IS_ARRIVE", NumConstant.ONE); wrapper.eq("IS_ARRIVE", NumConstant.ONE);
wrapper.eq("DEL_FLAG", NumConstant.ZERO); wrapper.eq("DEL_FLAG", NumConstant.ZERO);
wrapper.orderByDesc("ARRIVE_TIME"); wrapper.orderByDesc("ARRIVE_TIME");
wrapper.orderByDesc("TARGET_VALUE");
List<ResiGroupAchievementStatsEntity> list = baseDao.selectList(wrapper); List<ResiGroupAchievementStatsEntity> list = baseDao.selectList(wrapper);
return ConvertUtils.sourceToTarget(list, ResiGroupAchievementStatsDTO.class); return ConvertUtils.sourceToTarget(list, ResiGroupAchievementStatsDTO.class);
} }

5
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<ResiGroupDao, ResiGrou
resultDTO.setGroupName(resiGroupInfoRedisDTO.getGroupName()); resultDTO.setGroupName(resiGroupInfoRedisDTO.getGroupName());
resultDTO.setTotalMember(resiGroupInfoRedisDTO.getGroupStatisticalInfo().getTotalMembers()); resultDTO.setTotalMember(resiGroupInfoRedisDTO.getGroupStatisticalInfo().getTotalMembers());
resultDTO.setTotalTopics(resiGroupInfoRedisDTO.getGroupStatisticalInfo().getTotalTopics()); resultDTO.setTotalTopics(resiGroupInfoRedisDTO.getGroupStatisticalInfo().getTotalTopics());
resultDTO.setLevel(resiGroupInfoRedisDTO.getLevel());
//获取组长信息 //获取组长信息
Result<UserResiInfoResultDTO> groupLeaderUserInfo = this.getGroupLeaderUserInfo(formDTO.getGroupId()); Result<UserResiInfoResultDTO> groupLeaderUserInfo = this.getGroupLeaderUserInfo(formDTO.getGroupId());
@ -1266,9 +1267,7 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
List<String> achievements = new ArrayList<>(); List<String> achievements = new ArrayList<>();
List<GroupAchievementDTO> list = baseDao.selectRecentGroupAchievements(tokenDto.getUserId()); List<GroupAchievementDTO> list = baseDao.selectRecentGroupAchievements(tokenDto.getUserId());
if (CollectionUtils.isNotEmpty(list)) { if (CollectionUtils.isNotEmpty(list)) {
achievements = list.stream().map(item -> { achievements = list.stream().map(item -> item.getGroupName() + ":" + "达成“" + item.getAchievementName() + "”" + "成就").collect(Collectors.toList());
return item.getGroupName() + ":" + "达成“" + item.getAchievementName() + "”" + "成就";
}).collect(Collectors.toList());
} }
result.setAchievement(achievements); result.setAchievement(achievements);
return result; return result;

1
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_MEMBERS AS totalMember,
rgs.TOTAL_PARTY_MEMBERS AS totalPartyMember, rgs.TOTAL_PARTY_MEMBERS AS totalPartyMember,
rgm.GROUP_LEADER_FLAG AS leaderFlag, rgm.GROUP_LEADER_FLAG AS leaderFlag,
CONCAT('LV', rg.level) AS level,
( (
SELECT SELECT
count(1) count(1)

Loading…
Cancel
Save