Browse Source

小组等级更新bug修改

dev_shibei_match
zhaoqifeng 4 years ago
parent
commit
886c5c2cf1
  1. 14
      epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/feign/EpmetPointOpenFeignClient.java
  2. 15
      epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/feign/fallback/EpmetPointOpenFeignClientFallback.java
  3. 16
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/GroupPointController.java
  4. 9
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/BizPointTotalDetailService.java
  5. 19
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointTotalDetailServiceImpl.java
  6. 2
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java
  7. 6
      epmet-module/resi-group/resi-group-server/pom.xml
  8. 37
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/redis/ResiGroupRedis.java

14
epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/feign/EpmetPointOpenFeignClient.java

@ -2,12 +2,15 @@ package com.epmet.feign;
import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.BizPointTotalDetailDTO;
import com.epmet.dto.InitPointRuleResultDTO; import com.epmet.dto.InitPointRuleResultDTO;
import com.epmet.dto.form.CommonUserFormDTO; import com.epmet.dto.form.CommonUserFormDTO;
import com.epmet.dto.form.GroupPointFormDTO;
import com.epmet.dto.result.ResiPointDetailResultDTO; import com.epmet.dto.result.ResiPointDetailResultDTO;
import com.epmet.feign.fallback.EpmetPointOpenFeignClientFallback; import com.epmet.feign.fallback.EpmetPointOpenFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
/** /**
* 本服务对外开放的API,其他服务通过引用此client调用该服务 * 本服务对外开放的API,其他服务通过引用此client调用该服务
@ -34,4 +37,15 @@ public interface EpmetPointOpenFeignClient {
**/ **/
@PostMapping("/point/opback/initpointrule") @PostMapping("/point/opback/initpointrule")
Result<InitPointRuleResultDTO> initPointRule(); Result<InitPointRuleResultDTO> initPointRule();
/**
* 获取小组积分
* @author zhaoqifeng
* @date 2021/6/24 12:24
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.BizPointTotalDetailDTO>
*/
@PostMapping("/point/group/point/pointdetail")
Result<BizPointTotalDetailDTO> getGroupPoint(@RequestBody GroupPointFormDTO formDTO);
} }

15
epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/feign/fallback/EpmetPointOpenFeignClientFallback.java

@ -3,8 +3,10 @@ package com.epmet.feign.fallback;
import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.ModuleUtils; import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.BizPointTotalDetailDTO;
import com.epmet.dto.InitPointRuleResultDTO; import com.epmet.dto.InitPointRuleResultDTO;
import com.epmet.dto.form.CommonUserFormDTO; import com.epmet.dto.form.CommonUserFormDTO;
import com.epmet.dto.form.GroupPointFormDTO;
import com.epmet.dto.result.ResiPointDetailResultDTO; import com.epmet.dto.result.ResiPointDetailResultDTO;
import com.epmet.feign.EpmetPointOpenFeignClient; import com.epmet.feign.EpmetPointOpenFeignClient;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@ -26,4 +28,17 @@ public class EpmetPointOpenFeignClientFallback implements EpmetPointOpenFeignCli
public Result<InitPointRuleResultDTO> initPointRule() { public Result<InitPointRuleResultDTO> initPointRule() {
return ModuleUtils.feignConError(ServiceConstant.EPMET_POINT_SERVER, "initPointRule"); return ModuleUtils.feignConError(ServiceConstant.EPMET_POINT_SERVER, "initPointRule");
} }
/**
* 获取小组积分
*
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.BizPointTotalDetailDTO>
* @author zhaoqifeng
* @date 2021/6/24 12:24
*/
@Override
public Result<BizPointTotalDetailDTO> getGroupPoint(GroupPointFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_POINT_SERVER, "formDTO");
}
} }

16
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/GroupPointController.java

@ -4,6 +4,7 @@ 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.commons.tools.validator.ValidatorUtils; import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.BizPointTotalDetailDTO;
import com.epmet.dto.form.GroupPointFormDTO; import com.epmet.dto.form.GroupPointFormDTO;
import com.epmet.dto.result.GroupPointRankingResultDTO; import com.epmet.dto.result.GroupPointRankingResultDTO;
import com.epmet.dto.result.GroupPointRuleResultDTO; import com.epmet.dto.result.GroupPointRuleResultDTO;
@ -97,4 +98,19 @@ public class GroupPointController {
result.setGroupSummary(ModuleConstant.GROUP_RULE_SUMMARY); result.setGroupSummary(ModuleConstant.GROUP_RULE_SUMMARY);
return new Result<GroupPointRuleResultDTO>().ok(result); return new Result<GroupPointRuleResultDTO>().ok(result);
} }
/**
* 获取小组积分
* @author zhaoqifeng
* @date 2021/6/24 12:17
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.BizPointTotalDetailDTO>
*/
@PostMapping("pointdetail")
public Result<BizPointTotalDetailDTO> getGroupPoint(@RequestBody GroupPointFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, GroupPointFormDTO.GroupPoint.class);
BizPointTotalDetailDTO result = bizPointTotalDetailService.getGroupPoint(formDTO);
return new Result<BizPointTotalDetailDTO>().ok(result);
}
} }

9
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/BizPointTotalDetailService.java

@ -126,4 +126,13 @@ public interface BizPointTotalDetailService extends BaseService<BizPointTotalDet
* @date 2021/4/21 14:05 * @date 2021/4/21 14:05
*/ */
List<GroupPointRankingResultDTO> groupPointRanking(GroupPointFormDTO formDTO); List<GroupPointRankingResultDTO> groupPointRanking(GroupPointFormDTO formDTO);
/**
* 获取小组积分
* @author zhaoqifeng
* @date 2021/6/24 12:17
* @param formDTO
* @return com.epmet.dto.BizPointTotalDetailDTO
*/
BizPointTotalDetailDTO getGroupPoint(GroupPointFormDTO formDTO);
} }

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

@ -17,6 +17,7 @@
package com.epmet.service.impl; package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
@ -220,4 +221,22 @@ public class BizPointTotalDetailServiceImpl extends BaseServiceImpl<BizPointTota
return list; return list;
} }
/**
* 获取小组积分
*
* @param formDTO
* @return com.epmet.dto.BizPointTotalDetailDTO
* @author zhaoqifeng
* @date 2021/6/24 12:17
*/
@Override
public BizPointTotalDetailDTO getGroupPoint(GroupPointFormDTO formDTO) {
LambdaQueryWrapper<BizPointTotalDetailEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(BizPointTotalDetailEntity :: getBizType, "group")
.eq(BizPointTotalDetailEntity ::getObjectId, formDTO.getGroupId())
.eq(BizPointTotalDetailEntity ::getDelFlag, NumConstant.ZERO_STR);
BizPointTotalDetailEntity entity = baseDao.selectOne(wrapper);
return ConvertUtils.sourceToTarget(entity, BizPointTotalDetailDTO.class);
}
} }

2
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java

@ -197,7 +197,7 @@ public class ResiGroupOpenFeignClientFallback implements ResiGroupOpenFeignClien
* @date 2021/4/21 16:30 * @date 2021/4/21 16:30
*/ */
@Override @Override
public Result<GroupPointDetailResultDTO> groupPointDetail(@RequestBody GroupPointDetailFormDTO formDTO) { public Result<GroupPointDetailResultDTO> groupPointDetail(GroupPointDetailFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "groupPointDetail", formDTO); return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "groupPointDetail", formDTO);
} }

6
epmet-module/resi-group/resi-group-server/pom.xml

@ -124,6 +124,12 @@
<version>2.0.0</version> <version>2.0.0</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>epmet-point-client</artifactId>
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies> </dependencies>
<build> <build>

37
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/redis/ResiGroupRedis.java

@ -19,15 +19,20 @@ package com.epmet.modules.group.redis;
import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.redis.RedisKeys; import com.epmet.commons.tools.redis.RedisKeys;
import com.epmet.commons.tools.redis.RedisUtils; import com.epmet.commons.tools.redis.RedisUtils;
import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.BizPointTotalDetailDTO;
import com.epmet.dto.form.GroupPointFormDTO;
import com.epmet.dto.result.UserBaseInfoResultDTO; import com.epmet.dto.result.UserBaseInfoResultDTO;
import com.epmet.feign.EpmetPointOpenFeignClient;
import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.modules.constant.ResiGroupRedisKeys; import com.epmet.modules.constant.ResiGroupRedisKeys;
import com.epmet.modules.group.service.ResiGroupService; import com.epmet.modules.group.service.ResiGroupService;
import com.epmet.modules.group.service.ResiGroupStatisticalService; import com.epmet.modules.group.service.ResiGroupStatisticalService;
import com.epmet.modules.support.GroupLevelUtils;
import com.epmet.modules.utils.ModuleConstant; import com.epmet.modules.utils.ModuleConstant;
import com.epmet.resi.group.constant.TopicConstant; import com.epmet.resi.group.constant.TopicConstant;
import com.epmet.resi.group.dto.group.ResiGroupDTO; import com.epmet.resi.group.dto.group.ResiGroupDTO;
@ -64,6 +69,8 @@ public class ResiGroupRedis {
@Autowired @Autowired
private EpmetUserOpenFeignClient epmetUserOpenFeignClient; private EpmetUserOpenFeignClient epmetUserOpenFeignClient;
@Autowired
private EpmetPointOpenFeignClient epmetPointOpenFeignClient;
public void delete(Object[] ids) { public void delete(Object[] ids) {
@ -92,16 +99,37 @@ public class ResiGroupRedis {
public ResiGroupInfoRedisDTO get(String groupId){ public ResiGroupInfoRedisDTO get(String groupId){
if(StringUtils.isNotBlank(groupId)){ if(StringUtils.isNotBlank(groupId)){
GroupPointFormDTO groupPointFormDTO = new GroupPointFormDTO();
groupPointFormDTO.setGroupId(groupId);
Result<BizPointTotalDetailDTO> bizPointTotalDetailResult = epmetPointOpenFeignClient.getGroupPoint(groupPointFormDTO);
if (!bizPointTotalDetailResult.success()) {
throw new RenException(bizPointTotalDetailResult.getCode(), bizPointTotalDetailResult.getMsg());
}
Integer level = 1;
if (null != bizPointTotalDetailResult.getData()) {
level = GroupLevelUtils.getLevel(bizPointTotalDetailResult.getData().getTotalPoint());
if (null == level) {
level = 1;
}
}
ResiGroupDTO groupMySql = groupService.get(groupId);
if (!level.equals(groupMySql.getLevel())) {
ResiGroupDTO dto = new ResiGroupDTO();
dto.setId(groupMySql.getId());
dto.setLevel(level);
groupService.update(dto);
}
ResiGroupInfoRedisDTO groupCache = (ResiGroupInfoRedisDTO) ResiGroupInfoRedisDTO groupCache = (ResiGroupInfoRedisDTO)
redisUtils.get(ResiGroupRedisKeys.getResiGroupInfoKey(groupId)); redisUtils.get(ResiGroupRedisKeys.getResiGroupInfoKey(groupId));
if(null == groupCache || StringUtils.isBlank(groupCache.getGroupId()) || null == groupCache.getGroupStatisticalInfo()){ if(null == groupCache || StringUtils.isBlank(groupCache.getGroupId()) || null == groupCache.getGroupStatisticalInfo()){
//如果缓存中没有该组信息,从数据库中查询并放入缓存 //如果缓存中没有该组信息,从数据库中查询并放入缓存
ResiGroupDTO groupMySql = groupService.get(groupId); if(StringUtils.isNotBlank(groupMySql.getId())){
if(null != groupMySql && StringUtils.isNotBlank(groupMySql.getId())){
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()); groupRedis.setLevel("LV" + level);
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);
@ -127,6 +155,9 @@ public class ResiGroupRedis {
//返回数据 //返回数据
return groupRedis; return groupRedis;
} }
} else {
groupCache.setLevel("LV" + level);
set(groupCache);
} }
return groupCache; return groupCache;
} }

Loading…
Cancel
Save