Browse Source

Merge remote-tracking branch 'origin/dev_bugfix' into dev_temp

dev_shibei_match
wangchao 5 years ago
parent
commit
4d84b15639
  1. 6
      epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/feign/EpmetPointOpenFeignClient.java
  2. 5
      epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/feign/fallback/EpmetPointOpenFeignClientFallback.java
  3. 11
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueVoteStatisticalService.java
  4. 10
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java
  5. 56
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalServiceImpl.java
  6. 5
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserServiceImpl.java

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

@ -1,8 +1,6 @@
package com.epmet.feign;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.result.ResiPointDetailResultDTO;
import com.epmet.feign.fallback.EpmetPointOpenFeignClientFallback;
@ -20,11 +18,11 @@ public interface EpmetPointOpenFeignClient {
/**
* @Description 获取指定居民的积分信息
* @param dto
* @param
* @return
* @author wangc
* @date 2020.07.22 15:58
**/
@GetMapping("/point/resi/point/mypoint")
Result<ResiPointDetailResultDTO> myPoint(TokenDto dto);
Result<ResiPointDetailResultDTO> myPoint();
}

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

@ -1,7 +1,6 @@
package com.epmet.feign.fallback;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.result.ResiPointDetailResultDTO;
@ -17,7 +16,7 @@ import org.springframework.stereotype.Component;
@Component
public class EpmetPointOpenFeignClientFallback implements EpmetPointOpenFeignClient {
@Override
public Result<ResiPointDetailResultDTO> myPoint(TokenDto dto) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_POINT_SERVER, "myPoint", dto);
public Result<ResiPointDetailResultDTO> myPoint() {
return ModuleUtils.feignConError(ServiceConstant.EPMET_POINT_SERVER, "myPoint");
}
}

11
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueVoteStatisticalService.java

@ -148,4 +148,15 @@ public interface IssueVoteStatisticalService extends BaseService<IssueVoteStatis
* @date 2020.05.21 16:33
**/
IssueVoteStatisticalDTO getByIssueId(String issueId);
/**
* @Description 对指定的issueId的议题表决统计数缓存与Db同步
* @param issueId
* @param gridId
* @parma statisticalId
* @return
* @author wangc
* @date 2020.05.21 09:09
**/
void syncVotingCacheToDbByParams(String issueId,String gridId,String statisticalId);
}

10
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java

@ -437,6 +437,11 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
//5:缓存中网格下表决中的议题总数减1
govIssueRedis.subtractWorkGrassrootsIssueRedDotValue(entity.getGridId());
try {
issueVoteStatisticalService.syncVotingCacheToDbByParams(formDTO.getIssueId(),entity.getGridId(),null);
}catch (RenException e){
logger.error(e.getMsg());
}
}
/**
@ -581,6 +586,11 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
//6:缓存中网格下表决中的议题总数减1
govIssueRedis.subtractWorkGrassrootsIssueRedDotValue(entity.getGridId());
try{
issueVoteStatisticalService.syncVotingCacheToDbByParams(formDTO.getIssueId(),entity.getGridId(),null);
}catch(RenException e){
logger.error(e.getMsg());
}
}
/**

56
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalServiceImpl.java

@ -252,7 +252,7 @@ public class IssueVoteStatisticalServiceImpl extends BaseServiceImpl<IssueVoteSt
//获取所有voting的议题
Set<IssueDTO> issues =
issueDao.selectIssueIdsByCondition(issueParam);
if(null == issues || issues.size()< NumConstant.ONE){
if(null == issues || issues.isEmpty()){
return;
}
Set<String> ids = issues.stream().map(IssueDTO::getId).collect(Collectors.toSet());
@ -285,9 +285,7 @@ public class IssueVoteStatisticalServiceImpl extends BaseServiceImpl<IssueVoteSt
List<IssueVoteStatisticalDTO> listToUpdate = new ArrayList<>();
setVotableCountsAndUpdateCache(listToUpdate,
existedIds.stream().flatMap(existedId -> issues.stream().filter(issue ->
StringUtils.equals(issue.getId(),existedId)).map(issueDTO -> {
return issueDTO;
})).collect(Collectors.toSet()),
StringUtils.equals(issue.getId(),existedId))).collect(Collectors.toSet()),
votableCountMap);
// 批量更新listToUpdate
@ -417,8 +415,10 @@ public class IssueVoteStatisticalServiceImpl extends BaseServiceImpl<IssueVoteSt
public void syncVotingCacheToDbByIssueId(String issueId) {
VoteRedisFormDTO vote = issueVoteDetailRedis.getVoteStatistical(issueId);
if(null == vote) throw new RenException(String.format(ModuleConstants.ISSUE_NOT_FOUND_EXCEPTION_TEMPLATE,issueId));
IssueVoteStatisticalDTO toUpd = ConvertUtils.sourceToTarget(vote,IssueVoteStatisticalDTO.class);
toUpd.setUpdatedBy("system");
IssueVoteStatisticalDTO toUpd = new IssueVoteStatisticalDTO();
toUpd.setOppositionCount(vote.getOppositionAmount());
toUpd.setSupportCount(vote.getSupportAmount());
toUpd.setVotableCount(vote.getShouldVoteCount());
IssueEntity issue = issueDao.selectById(issueId);
if(null != issue && StringUtils.isNotBlank(issue.getGridId())){
CommonGridIdFormDTO gridId = new CommonGridIdFormDTO();
@ -427,19 +427,17 @@ public class IssueVoteStatisticalServiceImpl extends BaseServiceImpl<IssueVoteSt
resiGroupFeignClient.votableCount(gridId);
if(votableCount.success() && null != votableCount.getData()){
toUpd.setVotableCount(votableCount.getData());
}
}else {
toUpd.setVotableCount(NumConstant.ZERO);
}
IssueVoteStatisticalDTO existedStatistical = getByIssueId(issueId);
if(null != existedStatistical && StringUtils.isNotBlank(existedStatistical.getId())){
toUpd.setId(existedStatistical.getId());
}
update(toUpd);
}
}
/**
* @Description 通过IssueId获取
* @param issueId
@ -452,6 +450,44 @@ public class IssueVoteStatisticalServiceImpl extends BaseServiceImpl<IssueVoteSt
return baseDao.selectByIssueId(issueId);
}
/**
* @Description 对指定的issueId的议题表决统计数缓存与Db同步,对于前项操作已经查询过的数据不再重复查询
* @param issueId
* @param gridId
* @parma statisticalId
* @return
* @author wangc
* @date 2020.05.21 09:09
**/
@Override
public void syncVotingCacheToDbByParams(String issueId, String gridId, String statisticalId) {
VoteRedisFormDTO vote = issueVoteDetailRedis.getVoteStatistical(issueId);
if(null == vote) throw new RenException(String.format(ModuleConstants.ISSUE_NOT_FOUND_EXCEPTION_TEMPLATE,issueId));
IssueVoteStatisticalDTO toUpd = new IssueVoteStatisticalDTO();
toUpd.setOppositionCount(vote.getOppositionAmount());
toUpd.setSupportCount(vote.getSupportAmount());
toUpd.setVotableCount(vote.getShouldVoteCount());
CommonGridIdFormDTO gridParam = new CommonGridIdFormDTO();
gridParam.setGridId(gridId);
Result<Integer> votableCount =
resiGroupFeignClient.votableCount(gridParam);
if(votableCount.success() && null != votableCount.getData()){
toUpd.setVotableCount(votableCount.getData());
}
if(StringUtils.isNotBlank(statisticalId)){
toUpd.setId(statisticalId);
update(toUpd);
}else{
IssueVoteStatisticalDTO existedStatistical = getByIssueId(issueId);
if(null != existedStatistical && StringUtils.isNotBlank(existedStatistical.getId())){
toUpd.setId(existedStatistical.getId());
update(toUpd);
}
}
}
/**
* @Description 遍历应表决数
* @param list - List<IssueVoteStatisticalDTO> | Set<IssueDTO> | Map<String,Integer>

5
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserServiceImpl.java

@ -3,7 +3,6 @@ package com.epmet.service.impl;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.CpUserDetailRedis;
import com.epmet.commons.tools.utils.Result;
@ -203,9 +202,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
userRoleFormDTO.setGridId(myResiUserInfoFormDTO.getGridId());
result.setRoleList(userRoleDao.getUserRoleList(userRoleFormDTO));
TokenDto dto = new TokenDto();
dto.setUserId(myResiUserInfoFormDTO.getUserId());
Result<ResiPointDetailResultDTO> pointResult = epmetPointOpenFeignClient.myPoint(dto);
Result<ResiPointDetailResultDTO> pointResult = epmetPointOpenFeignClient.myPoint();
if(pointResult.success() && null != pointResult.getData()){
//累计积分
result.setPoint(pointResult.getData().getUsablePoint());

Loading…
Cancel
Save