Commit 96ed69bd authored by zhangfeng's avatar zhangfeng

Merge branch 'refs/heads/feature_member_score' into dev

parents 1a4865c1 8aa7bcf4
...@@ -104,7 +104,7 @@ public class MemberUserLevelConfigServiceImpl extends AbstractService<MemberUser ...@@ -104,7 +104,7 @@ public class MemberUserLevelConfigServiceImpl extends AbstractService<MemberUser
List<MemberUserLevelConfigDO> sortLevelConfig = levelConfigList.stream() List<MemberUserLevelConfigDO> sortLevelConfig = levelConfigList.stream()
.sorted(Comparator.comparing(MemberUserLevelConfigDO::getLowerCount)) .sorted(Comparator.comparing(MemberUserLevelConfigDO::getLowerCount))
.collect(Collectors.toList()); .collect(Collectors.toList());
MemberUserLevelConfigDO memberUserLevelConfigDO = sortLevelConfig.stream().filter(config -> config.getLowerCount() >= scoreCount && config.getUpperCount() <= scoreCount) MemberUserLevelConfigDO memberUserLevelConfigDO = sortLevelConfig.stream().filter(config -> config.getLowerCount() <= scoreCount && config.getUpperCount() >= scoreCount)
.findAny().orElse(sortLevelConfig.get(sortLevelConfig.size() - 1)); .findAny().orElse(sortLevelConfig.get(sortLevelConfig.size() - 1));
return BeanUtil.copyProperties(memberUserLevelConfigDO, MemberUserLevelConfigBaseRespVO.class); return BeanUtil.copyProperties(memberUserLevelConfigDO, MemberUserLevelConfigBaseRespVO.class);
} }
......
...@@ -112,16 +112,24 @@ public class MemberUserScoreServiceImpl extends AbstractService<MemberUserScoreM ...@@ -112,16 +112,24 @@ public class MemberUserScoreServiceImpl extends AbstractService<MemberUserScoreM
@Override @Override
public AppMemberUserScoreInfoRespVO getUserScoreInfo(AppMemberUserIdQueryVO id) { public AppMemberUserScoreInfoRespVO getUserScoreInfo(AppMemberUserIdQueryVO id) {
MemberUserScoreDO userScoreDO = userScoreMapper.getByMemberId(id.getId()); MemberUserScoreDO userScoreDO = userScoreMapper.getByMemberId(id.getId());
Integer userScoreTotal = 0;
AppMemberUserScoreInfoRespVO infoRespVO;
if (userScoreDO == null) { if (userScoreDO == null) {
throw exception(MEMBER_ID_IS_NULL); infoRespVO = AppMemberUserScoreInfoRespVO.builder()
} .holdScore(0)
Integer userScoreTotal = userScoreDO.getHoldScore() + userScoreDO.getUsedScore() + userScoreDO.getExpiredScore(); .id(id.getId())
AppMemberUserScoreInfoRespVO infoRespVO = AppMemberUserScoreInfoRespVO.builder() .totalScore(userScoreTotal)
.usedScore(0)
.build();
} else {
userScoreTotal = userScoreDO.getHoldScore() + userScoreDO.getUsedScore() + userScoreDO.getExpiredScore();
infoRespVO = AppMemberUserScoreInfoRespVO.builder()
.holdScore(userScoreDO.getHoldScore()) .holdScore(userScoreDO.getHoldScore())
.id(userScoreDO.getId()) .id(id.getId())
.totalScore(userScoreTotal) .totalScore(userScoreTotal)
.usedScore(userScoreDO.getUsedScore()) .usedScore(userScoreDO.getUsedScore())
.build(); .build();
}
MemberUserLevelConfigBaseRespVO level = memberUserLevelConfigService.getLevelByCount(userScoreTotal); MemberUserLevelConfigBaseRespVO level = memberUserLevelConfigService.getLevelByCount(userScoreTotal);
if (level != null) { if (level != null) {
infoRespVO.setLevelName(level.getName()); infoRespVO.setLevelName(level.getName());
......
...@@ -37,6 +37,7 @@ import org.springframework.validation.annotation.Validated; ...@@ -37,6 +37,7 @@ import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.time.Instant; import java.time.Instant;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.*; import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.*;
...@@ -450,42 +451,41 @@ public class ScoreRuleServiceImpl extends AbstractService<ScoreRuleMapper, Score ...@@ -450,42 +451,41 @@ public class ScoreRuleServiceImpl extends AbstractService<ScoreRuleMapper, Score
@Override @Override
public List<WarehouseTreeRegionSimpleVO> getWarehouseTreeRegionListSimple() { public List<WarehouseTreeRegionSimpleVO> getWarehouseTreeRegionListSimple() {
List<WarehouseTreeRegionVO> listIn = warehouseService.getWarehouseTreeRegionList(1); List<WarehouseTreeRegionVO> list = ListUtils.sum(
List<WarehouseTreeRegionVO> listOut = warehouseService.getWarehouseTreeRegionList(2); warehouseService.getWarehouseTreeRegionList(1),
List<WarehouseTreeRegionVO> list = ListUtils.sum(listIn, listOut); warehouseService.getWarehouseTreeRegionList(2)
ArrayList<WarehouseTreeRegionSimpleVO> warehouseTreeRegionSimpleVOS = new ArrayList<>(); );
for (WarehouseTreeRegionVO warehouseTreeRegionVO : list) { return list.stream().map(this::convertToSimpleVO).collect(Collectors.toList());
WarehouseTreeRegionSimpleVO warehouseTreeRegionSimpleVO = new WarehouseTreeRegionSimpleVO(); }
warehouseTreeRegionSimpleVO.setId(warehouseTreeRegionVO.getGuojia()); private WarehouseTreeRegionSimpleVO convertToSimpleVO(WarehouseTreeRegionVO regionVO) {
warehouseTreeRegionSimpleVO.setLabelZh(warehouseTreeRegionVO.getGuojiaName().replaceAll("\t", "")); WarehouseTreeRegionSimpleVO simpleVO = new WarehouseTreeRegionSimpleVO();
warehouseTreeRegionSimpleVO.setLabelEn(warehouseTreeRegionVO.getChildren().get(0).getGuojiaNameEn()); simpleVO.setId(regionVO.getGuojia());
ArrayList<WarehouseTreeRegionSimpleVO.WarehouseCity> warehouseCitiesSimple = new ArrayList<>(); simpleVO.setLabelZh(regionVO.getGuojiaName().trim());
for (WarehouseTreeRegionVO warehouseTreeRegionVOChild : warehouseTreeRegionVO.getChildren()) { simpleVO.setLabelEn(regionVO.getChildren().isEmpty() ? "" : regionVO.getChildren().get(0).getGuojiaNameEn());
WarehouseTreeRegionSimpleVO.WarehouseCity warehouseCity = new WarehouseTreeRegionSimpleVO.WarehouseCity();
warehouseCity.setId(warehouseTreeRegionVOChild.getShi()); // 构建城市和仓库的树状结构
warehouseCity.setLabelZh(warehouseTreeRegionVOChild.getShiName().replaceAll("\t", "")); Map<Long, WarehouseTreeRegionSimpleVO.WarehouseCity> cityMap = new LinkedHashMap<>();
warehouseCity.setLabelEn(warehouseTreeRegionVOChild.getShiNameEn());
if (warehouseCitiesSimple.contains(warehouseCity)) { for (WarehouseTreeRegionVO child : regionVO.getChildren()) {
WarehouseTreeRegionSimpleVO.Warehouse warehouse = new WarehouseTreeRegionSimpleVO.Warehouse(); WarehouseTreeRegionSimpleVO.WarehouseCity city = cityMap
warehouse.setId(warehouseTreeRegionVOChild.getId()); .computeIfAbsent(child.getShi(), key -> {
warehouse.setLabelZh(warehouseTreeRegionVOChild.getTitleZh()); WarehouseTreeRegionSimpleVO.WarehouseCity newCity = new WarehouseTreeRegionSimpleVO.WarehouseCity();
warehouse.setLabelEn(warehouseTreeRegionVOChild.getTitleEn()); newCity.setId(child.getShi());
warehouseCitiesSimple.get(warehouseCitiesSimple.indexOf(warehouseCity)).getChildren().add(warehouse); newCity.setLabelZh(child.getShiName().trim());
continue; newCity.setLabelEn(child.getShiNameEn());
} newCity.setChildren(new ArrayList<>());
ArrayList<WarehouseTreeRegionSimpleVO.Warehouse> warehouseSimples = new ArrayList<>(); return newCity;
});
WarehouseTreeRegionSimpleVO.Warehouse warehouse = new WarehouseTreeRegionSimpleVO.Warehouse(); WarehouseTreeRegionSimpleVO.Warehouse warehouse = new WarehouseTreeRegionSimpleVO.Warehouse();
warehouse.setId(warehouseTreeRegionVOChild.getId()); warehouse.setId(child.getId());
warehouse.setLabelZh(warehouseTreeRegionVOChild.getTitleZh().replaceAll("\t", "")); warehouse.setLabelZh(child.getTitleZh().trim());
warehouse.setLabelEn(warehouseTreeRegionVOChild.getTitleEn()); warehouse.setLabelEn(child.getTitleEn());
warehouseSimples.add(warehouse); city.getChildren().add(warehouse);
warehouseCity.setChildren(warehouseSimples);
warehouseCitiesSimple.add(warehouseCity);
} }
warehouseTreeRegionSimpleVO.setChildren(warehouseCitiesSimple);
warehouseTreeRegionSimpleVOS.add(warehouseTreeRegionSimpleVO); simpleVO.setChildren(new ArrayList<>(cityMap.values()));
} return simpleVO;
return warehouseTreeRegionSimpleVOS;
} }
@Override @Override
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment