Browse Source

小组成就相关接口

master
zhaoqifeng 5 years ago
parent
commit
9bbd4a6534
  1. 61
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointTotalDetailServiceImpl.java
  2. 44
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointUserTotalDetailServiceImpl.java
  3. 4
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupDTO.java
  4. 2
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java
  5. 9
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java
  6. 21
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java

61
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointTotalDetailServiceImpl.java

@ -41,10 +41,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
/**
@ -147,12 +145,18 @@ public class BizPointTotalDetailServiceImpl extends BaseServiceImpl<BizPointTota
.eq("OBJECT_ID", formDTO.getGroupId())
.eq("DEL_FLAG", NumConstant.ZERO_STR);
BizPointTotalDetailEntity entity = baseDao.selectOne(wrapper);
int toUpgrade = Integer.parseInt(detail.getNextLevelPoint()) - entity.getTotalPoint();
detail.setToUpgrade(Integer.toString(toUpgrade));
Integer increase = bizPointUserTotalDetailService.getIncrease("group", formDTO.getGroupId());
detail.setIncrease(increase.toString());
detail.setTotal(entity.getTotalPoint().toString());
detail.setCurrentPoint(entity.getTotalPoint().toString());
if (null == entity) {
detail.setToUpgrade(detail.getNextLevelPoint());
detail.setTotal(NumConstant.ZERO_STR);
detail.setCurrentPoint(NumConstant.ZERO_STR);
} else {
int toUpgrade = Integer.parseInt(detail.getNextLevelPoint()) - entity.getTotalPoint();
detail.setToUpgrade(Integer.toString(toUpgrade));
detail.setTotal(entity.getTotalPoint().toString());
detail.setCurrentPoint(entity.getTotalPoint().toString());
}
return detail;
}
@ -166,7 +170,7 @@ public class BizPointTotalDetailServiceImpl extends BaseServiceImpl<BizPointTota
*/
@Override
public List<GroupPointRankingResultDTO> groupPointRanking(GroupPointFormDTO formDTO) {
List<GroupPointRankingResultDTO> list = new ArrayList<>();
List<GroupPointRankingResultDTO> list;
QueryWrapper<BizPointTotalDetailEntity> wrapper = new QueryWrapper<>();
wrapper.eq("BIZ_TYPE", "group")
.eq("GRID_ID", formDTO.getGridId())
@ -174,24 +178,29 @@ public class BizPointTotalDetailServiceImpl extends BaseServiceImpl<BizPointTota
.orderByDesc("TOTAL_POINT");
List<BizPointTotalDetailEntity> totalDetailList = baseDao.selectList(wrapper);
Result<List<ResiGroupDTO>> groupList = resiGroupOpenFeignClient.getGroupListByGrid(formDTO.getGridId());
list = groupList.getData().stream().map(item -> {
GroupPointRankingResultDTO dto = new GroupPointRankingResultDTO();
dto.setGroupId(item.getId());
dto.setGroupName(item.getGroupName());
dto.setPoint(NumConstant.ZERO_STR);
if (formDTO.getGroupId().equals(item.getId())) {
dto.setIsMine(NumConstant.ONE_STR);
} else {
dto.setIsMine(NumConstant.ZERO_STR);
}
return dto;
}).collect(Collectors.toList());
list.forEach(item -> totalDetailList.stream().filter(detail -> item.getGroupId().equals(detail.getObjectId())).forEach(total -> {
item.setPoint(total.getTotalPoint().toString());
}));
list =
totalDetailList.stream().flatMap(detail -> groupList.getData().stream().filter(item -> item.getId().equals(detail.getObjectId())).map(group -> {
GroupPointRankingResultDTO dto = new GroupPointRankingResultDTO();
dto.setGroupId(group.getId());
dto.setGroupName(group.getGroupName());
dto.setPoint(detail.getTotalPoint().toString());
if (formDTO.getGroupId().equals(group.getId())) {
dto.setIsMine(NumConstant.ONE_STR);
} else {
dto.setIsMine(NumConstant.ZERO_STR);
}
return dto;
})).collect(Collectors.toList());
int i = 1;
for (GroupPointRankingResultDTO dto : list) {
dto.setRanking(String.valueOf(i));
i++;
}
list.stream().sorted(Comparator.comparing(GroupPointRankingResultDTO :: getPoint, Comparator.comparingInt(Integer::parseInt)).reversed().thenComparing(GroupPointRankingResultDTO::getGroupName))
.collect(Collectors.toList());
AtomicInteger i = new AtomicInteger(1);
list.forEach(dto -> {
dto.setRanking(String.valueOf(i.getAndIncrement()));
});
return list;
}

44
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointUserTotalDetailServiceImpl.java

@ -35,6 +35,7 @@ import com.epmet.dto.result.UserBaseInfoResultDTO;
import com.epmet.entity.BizPointUserTotalDetailEntity;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.resi.group.dto.group.ResiGroupDTO;
import com.epmet.resi.group.dto.member.ResiGroupMemberDTO;
import com.epmet.resi.group.feign.ResiGroupOpenFeignClient;
import com.epmet.service.BizPointUserTotalDetailService;
import org.apache.commons.lang3.StringUtils;
@ -42,10 +43,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.text.Collator;
import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
/**
@ -176,30 +176,30 @@ public class BizPointUserTotalDetailServiceImpl extends BaseServiceImpl<BizPoint
.eq("DEL_FLAG", NumConstant.ZERO_STR)
.orderByDesc("TOTAL_POINT");
List<BizPointUserTotalDetailEntity> userTotalList = baseDao.selectList(wrapper);
int i = 1;
list = userTotalList.stream().map(item -> {
AtomicInteger i = new AtomicInteger(1);
//获取小组信息
Result<ResiGroupDTO> group = resiGroupOpenFeignClient.getGroupDetail(formDTO.getGroupId());
if (!group.success() || null == group.getData()) {
throw new RenException(group.getCode(), group.getMsg());
}
List<ResiGroupMemberDTO> memberList = group.getData().getMemberList();
list = memberList.stream().map(item -> {
PointRankingResultDTO dto = new PointRankingResultDTO();
dto.setUserId(item.getUserId());
dto.setPoint(item.getTotalPoint().toString());
if (tokenDto.getUserId().equals(item.getUserId())) {
dto.setUserId(item.getCustomerUserId());
dto.setPoint(NumConstant.ZERO_STR);
if (tokenDto.getUserId().equals(item.getCustomerUserId())) {
dto.setIsMine(NumConstant.ONE_STR);
} else {
dto.setIsMine(NumConstant.ZERO_STR);
}
return dto;
}).collect(Collectors.toList());
for (PointRankingResultDTO dto : list) {
dto.setRanking(String.valueOf(i));
i++;
}
//获取小组信息
Result<ResiGroupDTO> group = resiGroupOpenFeignClient.getGroupDetail(formDTO.getGroupId());
if (!group.success() || null == group.getData()) {
throw new RenException(group.getCode(), group.getMsg());
}
list.forEach(item -> userTotalList.stream().filter(user -> user.getUserId().equals(item.getUserId())).forEach(total -> {
item.setPoint(total.getTotalPoint().toString());
}));
//获取用户信息
List<String> userIds = userTotalList.stream().map(BizPointUserTotalDetailEntity :: getUserId).collect(Collectors.toList());
List<String> userIds = memberList.stream().map(ResiGroupMemberDTO :: getCustomerUserId).collect(Collectors.toList());
Result<List<UserBaseInfoResultDTO>> userInfoListResult = epmetUserOpenFeignClient.queryUserBaseInfo(userIds);
if (!userInfoListResult.success() || null == userInfoListResult.getData()) {
throw new RenException(userInfoListResult.getCode(), userInfoListResult.getMsg());
@ -215,6 +215,10 @@ public class BizPointUserTotalDetailServiceImpl extends BaseServiceImpl<BizPoint
item.setHeadPhoto(user.getHeadImgUrl());
}
));
list = list.stream().sorted(Comparator.comparing(PointRankingResultDTO :: getPoint, Comparator.comparingInt(Integer::parseInt)).reversed()
.thenComparing(PointRankingResultDTO::getName, Collator.getInstance(Locale.CHINA)))
.collect(Collectors.toList());
list.forEach(item -> item.setRanking(String.valueOf(i.getAndIncrement())));
return list;
}

4
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupDTO.java

@ -17,10 +17,12 @@
package com.epmet.resi.group.dto.group;
import com.epmet.resi.group.dto.member.ResiGroupMemberDTO;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
@ -125,4 +127,6 @@ Ps: 如果一个小组被拒绝,当前小组的状态将永久停留在“审
*/
private Date updatedTime;
private List<ResiGroupMemberDTO> memberList;
}

2
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java

@ -522,7 +522,7 @@ public class ResiGroupController {
*/
@PostMapping("groupDetail/{groupId}")
public Result<ResiGroupDTO> getGroupDetail(@PathVariable String groupId) {
ResiGroupDTO groupDTO = resiGroupService.get(groupId);
ResiGroupDTO groupDTO = resiGroupService.getGroupInfoAndGroupMember(groupId);
return new Result<ResiGroupDTO>().ok(groupDTO);
}

9
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java

@ -409,4 +409,13 @@ public interface ResiGroupService extends BaseService<ResiGroupEntity> {
* @return com.epmet.resi.group.dto.member.result.AchievementResultDTO
*/
AchievementResultDTO achievement(TokenDto tokenDto);
/**
* 获取小组信息及小组成员
* @author zhaoqifeng
* @date 2021/4/23 14:56
* @param groupId
* @return com.epmet.resi.group.dto.group.ResiGroupDTO
*/
ResiGroupDTO getGroupInfoAndGroupMember(String groupId);
}

21
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java

@ -57,6 +57,7 @@ import com.epmet.modules.group.redis.ResiGroupRedis;
import com.epmet.modules.group.service.*;
import com.epmet.modules.member.dao.GroupMemeberOperationDao;
import com.epmet.modules.member.dao.ResiGroupMemberDao;
import com.epmet.modules.member.entity.ResiGroupMemberEntity;
import com.epmet.modules.member.redis.ResiGroupMemberRedis;
import com.epmet.modules.member.service.GroupMemeberOperationService;
import com.epmet.modules.member.service.ResiGroupMemberService;
@ -1282,6 +1283,26 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
return result;
}
/**
* 获取小组信息及小组成员
*
* @param groupId
* @return com.epmet.resi.group.dto.group.ResiGroupDTO
* @author zhaoqifeng
* @date 2021/4/23 14:56
*/
@Override
public ResiGroupDTO getGroupInfoAndGroupMember(String groupId) {
ResiGroupDTO group = this.get(groupId);
QueryWrapper<ResiGroupMemberEntity> wrapper = new QueryWrapper<>();
wrapper.eq("RESI_GROUP_ID", groupId)
.eq("STATUS", GroupStateConstant.GROUP_APPROVED)
.eq("DEL_FLAG", NumConstant.ZERO_STR);
List<ResiGroupMemberEntity> memberList = resiGroupMemberDao.selectList(wrapper);
group.setMemberList(ConvertUtils.sourceToTarget(memberList, ResiGroupMemberDTO.class));
return group;
}
@Override
public GroupDetailResultDTO getGroupDetail(String groupId) {
GroupDetailResultDTO groupDetail = new GroupDetailResultDTO();

Loading…
Cancel
Save