Browse Source

Merge remote-tracking branch 'origin/dev' into dev

dev_shibei_match
wxz 5 years ago
parent
commit
3e47c7f53c
  1. 12
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisUtils.java
  2. 2
      epmet-module/epmet-job/epmet-job-server/deploy/docker-compose-dev.yml
  3. 2
      epmet-module/epmet-job/epmet-job-server/pom.xml
  4. 37
      epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java
  5. 26
      epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/feign/impl/GovIssueFeignClientFallBack.java
  6. 13
      epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/SyncVotingCacheAndDbService.java
  7. 24
      epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/impl/IssueVotingDailyStatisticalTaskServiceImpl.java
  8. 24
      epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/impl/SyncVotingCacheAndDbServiceImpl.java
  9. 34
      epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/DailyStatisticalVoteTask.java
  10. 33
      epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/SyncVotingCacheAndDbTask.java
  11. 17
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/LatestIssueListResultDTO.java
  12. 2
      epmet-module/gov-issue/gov-issue-server/deploy/docker-compose-dev.yml
  13. 2
      epmet-module/gov-issue/gov-issue-server/pom.xml
  14. 4
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueVoteStatisticalDailyController.java
  15. 4
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueDao.java
  16. 7
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteStatisticalDao.java
  17. 4
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/redis/IssueVoteDetailRedis.java
  18. 22
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java
  19. 11
      epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteStatisticalDao.xml
  20. 8
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/LatestListResultDTO.java
  21. 2
      epmet-module/gov-project/gov-project-server/deploy/docker-compose-dev.yml
  22. 2
      epmet-module/gov-project/gov-project-server/pom.xml
  23. 4
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java
  24. 11
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java
  25. 5
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java
  26. 24
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java
  27. 3
      epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml
  28. 2
      epmet-module/resi-group/resi-group-server/deploy/docker-compose-dev.yml
  29. 2
      epmet-module/resi-group/resi-group-server/pom.xml
  30. 9
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupStatisticalDao.java
  31. 5
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/redis/ResiGroupRedis.java
  32. 21
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/service/impl/GroupInvitationServiceImpl.java
  33. 2
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/redis/ResiGroupMemberRedis.java
  34. 11
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java
  35. 10
      epmet-module/resi-group/resi-group-server/src/main/resources/db/migration/db.sql
  36. 9
      epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupStatisticalDao.xml
  37. 2
      epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/ResiGroupMemberDao.xml
  38. 2
      epmet-module/resi-home/resi-home-server/deploy/docker-compose-dev.yml
  39. 2
      epmet-module/resi-home/resi-home-server/pom.xml
  40. 18
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java
  41. 16
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/CustomerStaffService.java
  42. 27
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java
  43. 2
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserServiceImpl.java
  44. 36
      epmet-user/epmet-user-server/src/main/resources/mapper/UserRoleDao.xml

12
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisUtils.java

@ -8,6 +8,7 @@
package com.epmet.commons.tools.redis; package com.epmet.commons.tools.redis;
import com.epmet.commons.tools.constant.NumConstant;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory; import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
import org.springframework.data.redis.core.HashOperations; import org.springframework.data.redis.core.HashOperations;
@ -252,12 +253,13 @@ public class RedisUtils {
* @date 2020.05.21 15:42 * @date 2020.05.21 15:42
**/ **/
public Map<String, Object> hincrby(String key,String field,Long delta){ public Map<String, Object> hincrby(String key,String field,Long delta){
Map<String,Object> existed = hGetAll(key);
if(null == existed || existed.size() < NumConstant.ONE) return null;
//hincrby //hincrby
Long count = redisTemplate.opsForHash().increment(key,field,delta); redisTemplate.opsForHash().increment(key,field,delta);
if(count == -1){
return null;
}else{
return hGetAll(key); return hGetAll(key);
}
} }
} }

2
epmet-module/epmet-job/epmet-job-server/deploy/docker-compose-dev.yml

@ -2,7 +2,7 @@ version: "3.7"
services: services:
epmet-job-server: epmet-job-server:
container_name: epmet-job-server-dev container_name: epmet-job-server-dev
image: 192.168.1.130:10080/epmet-cloud-dev/epmet-job-server:0.3.2 image: 192.168.1.130:10080/epmet-cloud-dev/epmet-job-server:0.3.3
ports: ports:
- "8084:8084" - "8084:8084"
network_mode: host # 使用现有网络 network_mode: host # 使用现有网络

2
epmet-module/epmet-job/epmet-job-server/pom.xml

@ -2,7 +2,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<version>0.3.2</version> <version>0.3.3</version>
<parent> <parent>
<groupId>com.epmet</groupId> <groupId>com.epmet</groupId>
<artifactId>epmet-job</artifactId> <artifactId>epmet-job</artifactId>

37
epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java

@ -0,0 +1,37 @@
package com.epmet.feign;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.feign.impl.GovIssueFeignClientFallBack;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
/**
* @Description 议题定时任务
* @Author wangc
* @Date 2020/5/23 13:42
*/
@FeignClient(name = ServiceConstant.GOV_ISSUE_SERVER, fallback = GovIssueFeignClientFallBack.class)
public interface GovIssueFeignClient {
/**
* @Description 定时任务 每天生成生成昨日的议题表决日统计数
* @param
* @return
* @author wangc
* @date 2020.05.20 15:39
**/
@PostMapping(value = "gov/issue/issuevotestatisticaldaily/dailystatisticalvotejob")
Result dailyStatisticalVoteJob();
/**
* @Description 将所有表决中的投票数从缓存同步到数据库要进行数据对比若数据一致无需更新
* @param
* @return
* @author wangc
* @date 2020.05.21 09:07
**/
@PostMapping(value = "gov/issue/issuevotestatistical/syncvotingcacheanddb")
Result syncVotingCacheAndDb();
}

26
epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/feign/impl/GovIssueFeignClientFallBack.java

@ -0,0 +1,26 @@
package com.epmet.feign.impl;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.feign.GovIssueFeignClient;
import org.springframework.stereotype.Component;
/**
* @Description
* @ClassName GovIssueFeignClientFallBack
* @Auth wangc
* @Date 2020-05-25 09:02
*/
@Component
public class GovIssueFeignClientFallBack implements GovIssueFeignClient {
@Override
public Result dailyStatisticalVoteJob() {
return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "dailyStatisticalVoteJob");
}
@Override
public Result syncVotingCacheAndDb() {
return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "syncVotingCacheAndDb");
}
}

13
epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/SyncVotingCacheAndDbService.java

@ -0,0 +1,13 @@
package com.epmet.service;
import com.epmet.commons.tools.utils.Result;
/**
* @Description 同步缓存与数据库定时任务 -> 议题表决统计
* @Author wangc
* @Date 2020/5/20 17:39
*/
public interface SyncVotingCacheAndDbService {
Result syncVotingCacheAndDb();
}

24
epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/impl/IssueVotingDailyStatisticalTaskServiceImpl.java

@ -0,0 +1,24 @@
package com.epmet.service.impl;
import com.epmet.commons.tools.utils.Result;
import com.epmet.feign.GovIssueFeignClient;
import com.epmet.service.IssueVotingDailyStatisticalTaskService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* @Description
* @ClassName IssueVotingDailyStatisticalTaskServiceImpl
* @Auth wangc
* @Date 2020-05-25 09:24
*/
@Service
public class IssueVotingDailyStatisticalTaskServiceImpl implements IssueVotingDailyStatisticalTaskService {
@Autowired
private GovIssueFeignClient govIssueFeignClient;
@Override
public Result issueVotingDailyStatistical() {
return govIssueFeignClient.dailyStatisticalVoteJob();
}
}

24
epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/impl/SyncVotingCacheAndDbServiceImpl.java

@ -0,0 +1,24 @@
package com.epmet.service.impl;
import com.epmet.commons.tools.utils.Result;
import com.epmet.feign.GovIssueFeignClient;
import com.epmet.service.SyncVotingCacheAndDbService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* @Description
* @ClassName SyncVotingCacheAndDbServiceImpl
* @Auth wangc
* @Date 2020-05-25 09:45
*/
@Service
public class SyncVotingCacheAndDbServiceImpl implements SyncVotingCacheAndDbService {
@Autowired
private GovIssueFeignClient govIssueFeignClient;
@Override
public Result syncVotingCacheAndDb() {
return govIssueFeignClient.syncVotingCacheAndDb();
}
}

34
epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/DailyStatisticalVoteTask.java

@ -0,0 +1,34 @@
package com.epmet.task;
import com.epmet.commons.tools.utils.Result;
import com.epmet.service.IssueVotingDailyStatisticalTaskService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* @Description
* @ClassName dailyStatisticalVoteTask
* @Auth wangc
* @Date 2020-05-25 09:22
*/
@Component("dailyStatisticalVoteTask")
public class DailyStatisticalVoteTask implements ITask{
private Logger logger = LoggerFactory.getLogger(getClass());
@Autowired
private IssueVotingDailyStatisticalTaskService issueVotingDailyStatisticalTaskService;
@Override
public void run(String params) {
logger.debug("dailyStatisticalVoteTask定时任务正在执行,参数为:{}", params);
Result result=issueVotingDailyStatisticalTaskService.issueVotingDailyStatistical();
if(result.success()){
logger.debug("dailyStatisticalVoteTask定时任务正在执行定时任务执行成功");
}else{
logger.debug("dailyStatisticalVoteTask定时任务正在执行定时任务执行失败:"+result.getMsg());
}
}
}

33
epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/SyncVotingCacheAndDbTask.java

@ -0,0 +1,33 @@
package com.epmet.task;
import com.epmet.commons.tools.utils.Result;
import com.epmet.service.SyncVotingCacheAndDbService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* @Description
* @ClassName SyncVotingCacheAndDbTask
* @Auth wangc
* @Date 2020-05-25 09:47
*/
@Component("syncVotingCacheAndDbTask")
public class SyncVotingCacheAndDbTask implements ITask {
private Logger logger = LoggerFactory.getLogger(getClass());
@Autowired
private SyncVotingCacheAndDbService syncVotingCacheAndDbService;
@Override
public void run(String params) {
logger.debug("syncVotingCacheAndDbTask定时任务正在执行,参数为:{}", params);
Result result = syncVotingCacheAndDbService.syncVotingCacheAndDb();
if(result.success()){
logger.debug("syncVotingCacheAndDbTask定时任务正在执行定时任务执行成功");
}else{
logger.debug("syncVotingCacheAndDbTask定时任务正在执行定时任务执行失败:"+result.getMsg());
}
}
}

17
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/LatestIssueListResultDTO.java

@ -21,16 +21,21 @@ public class LatestIssueListResultDTO implements Serializable {
* 议题标题 * 议题标题
*/ */
private String issueTitle = ""; private String issueTitle = "";
/**
* 议题发起人XX路-XX先生
*/
private String issuePublisherName = "";
/** /**
* 话题内容 * 话题内容
*/ */
private String topicContent = ""; private String topicContent = "";
/** /**
* 表达态度总人数 * 用户头像
*/
private String staffHeadPhoto = "";
/**
* 议题发起人XX路-XX先生/女士
*
*/
private String issuePublisherName = "";
/**
* 议题创建时间
*/ */
private Integer votedCount = 0; private Long createIssueTime;
} }

2
epmet-module/gov-issue/gov-issue-server/deploy/docker-compose-dev.yml

@ -2,7 +2,7 @@ version: "3.7"
services: services:
gov-issue-server: gov-issue-server:
container_name: gov-issue-server-dev container_name: gov-issue-server-dev
image: 192.168.1.130:10080/epmet-cloud-dev/gov-issue-server:0.3.26 image: 192.168.1.130:10080/epmet-cloud-dev/gov-issue-server:0.3.27
ports: ports:
- "8101:8101" - "8101:8101"
network_mode: host # 使用现有网络 network_mode: host # 使用现有网络

2
epmet-module/gov-issue/gov-issue-server/pom.xml

@ -2,7 +2,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" <project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<version>0.3.26</version> <version>0.3.27</version>
<parent> <parent>
<artifactId>gov-issue</artifactId> <artifactId>gov-issue</artifactId>
<groupId>com.epmet</groupId> <groupId>com.epmet</groupId>

4
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueVoteStatisticalDailyController.java

@ -98,8 +98,8 @@ public class IssueVoteStatisticalDailyController {
* @author wangc * @author wangc
* @date 2020.05.20 15:39 * @date 2020.05.20 15:39
**/ **/
@PostMapping(value = "dailystasticalvotejob") @PostMapping(value = "dailystatisticalvotejob")
public Result dailyStasticalVoteJob(){ public Result dailyStatisticalVoteJob(){
issueVoteStatisticalDailyService.countVotingDailyStatistic(); issueVoteStatisticalDailyService.countVotingDailyStatistic();
return new Result(); return new Result();
} }

4
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueDao.java

@ -20,10 +20,6 @@ package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.IssueDTO; import com.epmet.dto.IssueDTO;
import com.epmet.dto.form.*; import com.epmet.dto.form.*;
import com.epmet.dto.result.ClosedIssueListGovResultDTO;
import com.epmet.dto.result.ClosedIssueListResultDTO;
import com.epmet.dto.result.IssueResultDTO;
import com.epmet.dto.result.VotingIssueListResultDTO;
import com.epmet.dto.result.*; import com.epmet.dto.result.*;
import com.epmet.entity.IssueEntity; import com.epmet.entity.IssueEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;

7
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteStatisticalDao.java

@ -68,13 +68,6 @@ public interface IssueVoteStatisticalDao extends BaseDao<IssueVoteStatisticalEnt
*/ */
List<PolyLineDTO> polyLineData(IssueIdFormDTO issueId); List<PolyLineDTO> polyLineData(IssueIdFormDTO issueId);
/**
* @param issueIdList
* @return
* @Author sun
* @Description 根据议题Id查询议题投票情况
**/
List<IssueVoteStatisticalEntity> selectListByissueId(@Param("issueIdList") List<String> issueIdList);
/** /**
* @Description 得到表决中的议题 来进行缓存与数据库的同步 * @Description 得到表决中的议题 来进行缓存与数据库的同步
* @param * @param

4
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/redis/IssueVoteDetailRedis.java

@ -40,6 +40,8 @@ import org.springframework.stereotype.Component;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.util.Map; import java.util.Map;
import static com.epmet.commons.tools.redis.RedisUtils.NOT_EXPIRE;
/** /**
* 议题表决记录表 * 议题表决记录表
* *
@ -75,7 +77,7 @@ public class IssueVoteDetailRedis {
String key = IssueConstant.REDIS_KEY +vote.getIssueId(); String key = IssueConstant.REDIS_KEY +vote.getIssueId();
//bean to map //bean to map
Map<String, Object> map = BeanUtil.beanToMap(vote, false, true); Map<String, Object> map = BeanUtil.beanToMap(vote, false, true);
redisUtils.hMSet(key, map); redisUtils.hMSet(key, map,NOT_EXPIRE);
} }
public VoteRedisFormDTO get(String issueId){ public VoteRedisFormDTO get(String issueId){

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

@ -614,7 +614,9 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
LatestListFormDTO latestListForm = formDTO.getLatestListForm(); LatestListFormDTO latestListForm = formDTO.getLatestListForm();
latestListForm.setPageNo((latestListForm.getPageNo() - NumConstant.ONE) * latestListForm.getPageSize()); latestListForm.setPageNo((latestListForm.getPageNo() - NumConstant.ONE) * latestListForm.getPageSize());
List<IssueEntity> entityList = baseDao.selectIssueList(issueIdList, latestListForm); List<IssueEntity> entityList = baseDao.selectIssueList(issueIdList, latestListForm);
if (null == entityList || entityList.size() < NumConstant.ONE) {
throw new RenException(IssueConstant.SELECT_EXCEPTION);
}
//3:遍历封装数据 //3:遍历封装数据
entityList.forEach(issue -> { entityList.forEach(issue -> {
listRelation.forEach(relation -> { listRelation.forEach(relation -> {
@ -649,11 +651,7 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
return returnList; return returnList;
} }
//2:根据议题Id查询议题投票情况 //2:调用epmet-user服务,查询议题发起人基本信息
List<String> issueIdList = entityList.stream().map(IssueEntity::getId).collect(Collectors.toList());
List<IssueVoteStatisticalEntity> StatisticalList = issueVoteStatisticalDao.selectListByissueId(issueIdList);
//3:调用epmet-user服务,查询议题发起人基本信息
List<String> userIdList = entityList.stream().map(IssueEntity::getCreatedBy).collect(Collectors.toList()); List<String> userIdList = entityList.stream().map(IssueEntity::getCreatedBy).collect(Collectors.toList());
UserResiInfoListFormDTO userResiInfoListFormDTO = new UserResiInfoListFormDTO(); UserResiInfoListFormDTO userResiInfoListFormDTO = new UserResiInfoListFormDTO();
userResiInfoListFormDTO.setUserIdList(userIdList); userResiInfoListFormDTO.setUserIdList(userIdList);
@ -663,7 +661,7 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
} }
List<UserResiInfoResultDTO> userInfoList = listResult.getData(); List<UserResiInfoResultDTO> userInfoList = listResult.getData();
//4:调用resi-group服务,批量查询话题内容 //3:调用resi-group服务,批量查询话题内容
List<String> topicIdList = entityList.stream().map(IssueEntity::getSourceId).collect(Collectors.toList()); List<String> topicIdList = entityList.stream().map(IssueEntity::getSourceId).collect(Collectors.toList());
Result<List<ResiTopicDTO>> resultTopicList = resiGroupFeignClient.getTopicList(topicIdList); Result<List<ResiTopicDTO>> resultTopicList = resiGroupFeignClient.getTopicList(topicIdList);
if (!resultTopicList.success() || null == resultTopicList.getData()) { if (!resultTopicList.success() || null == resultTopicList.getData()) {
@ -671,19 +669,15 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
} }
List<ResiTopicDTO> topicList = resultTopicList.getData(); List<ResiTopicDTO> topicList = resultTopicList.getData();
//5:遍历组装对象 //4:遍历组装对象
entityList.forEach(issue -> { entityList.forEach(issue -> {
LatestIssueListResultDTO resultDTO = new LatestIssueListResultDTO(); LatestIssueListResultDTO resultDTO = new LatestIssueListResultDTO();
resultDTO.setIssueId(issue.getId()); resultDTO.setIssueId(issue.getId());
resultDTO.setIssueTitle(issue.getIssueTitle()); resultDTO.setIssueTitle(issue.getIssueTitle());
StatisticalList.forEach(sta -> { resultDTO.setCreateIssueTime(issue.getCreatedTime().getTime()/1000);
if (issue.getId().equals(sta.getIssueId())) {
//表达态度总人数
resultDTO.setVotedCount(sta.getSupportCount() + sta.getOppositionCount());
}
});
userInfoList.forEach(user -> { userInfoList.forEach(user -> {
if (issue.getCreatedBy().equals(user.getUserId())) { if (issue.getCreatedBy().equals(user.getUserId())) {
resultDTO.setStaffHeadPhoto(user.getHeadPhoto());
//话题发起人昵称 //话题发起人昵称
resultDTO.setIssuePublisherName(user.getShowName()); resultDTO.setIssuePublisherName(user.getShowName());
} }

11
epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteStatisticalDao.xml

@ -69,17 +69,6 @@
ORDER BY statistical_date ASC ORDER BY statistical_date ASC
</select> </select>
<select id="selectListByissueId" resultType="com.epmet.entity.IssueVoteStatisticalEntity">
SELECT
*
FROM
issue_vote_statistical
WHERE del_flag = '0'
<foreach item="issueId" collection="issueIdList" separator="OR" open="AND (" close=")" index="">
issue_id = #{issueId}
</foreach>
</select>
<!-- 得到表决中的议题 来进行缓存与数据库的同步 --> <!-- 得到表决中的议题 来进行缓存与数据库的同步 -->
<select id="getVotingIssuesStatisticalForSync" resultType="com.epmet.dto.IssueVoteStatisticalDTO" > <select id="getVotingIssuesStatisticalForSync" resultType="com.epmet.dto.IssueVoteStatisticalDTO" >
SELECT SELECT

8
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/LatestListResultDTO.java

@ -31,12 +31,12 @@ public class LatestListResultDTO implements Serializable {
*/ */
private String publicReply = ""; private String publicReply = "";
/** /**
* 结案人名称实名显示 * 结案的处理部门
*/ */
private String closeUserName = ""; private String departmentName = "";
/** /**
* 结案人Id * 项目结案时间
*/ */
private String closeUserId = ""; private Long closeProjectTime;
} }

2
epmet-module/gov-project/gov-project-server/deploy/docker-compose-dev.yml

@ -2,7 +2,7 @@ version: "3.7"
services: services:
gov-project-server: gov-project-server:
container_name: gov-project-server-dev container_name: gov-project-server-dev
image: 192.168.1.130:10080/epmet-cloud-dev/gov-project-server:0.3.17 image: 192.168.1.130:10080/epmet-cloud-dev/gov-project-server:0.3.18
ports: ports:
- "8102:8102" - "8102:8102"
network_mode: host # 使用现有网络 network_mode: host # 使用现有网络

2
epmet-module/gov-project/gov-project-server/pom.xml

@ -2,7 +2,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" <project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<version>0.3.17</version> <version>0.3.18</version>
<parent> <parent>
<artifactId>gov-project</artifactId> <artifactId>gov-project</artifactId>
<groupId>com.epmet</groupId> <groupId>com.epmet</groupId>

4
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java

@ -110,7 +110,7 @@ public interface ProjectConstant {
*/ */
String GOV = "gov"; String GOV = "gov";
/** /**
* 调用epmet-user服务获取工作人员信息失败 * 获取项目节点数据失败
*/ */
String SELECT_STAFF_EXCEPTION = "获取工作人员信息失败"; String SELECT_process_EXCEPTION = "获取项目节点数据失败";
} }

11
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java

@ -5,13 +5,10 @@ import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.CustomerStaffDTO; import com.epmet.dto.CustomerStaffDTO;
import com.epmet.dto.form.StaffsInAgencyFromDTO; import com.epmet.dto.form.StaffsInAgencyFromDTO;
import com.epmet.dto.form.UserResiInfoListFormDTO; import com.epmet.dto.form.UserResiInfoListFormDTO;
import com.epmet.dto.result.CustomerStaffListResultDTO;
import com.epmet.dto.result.StaffInfoResultDTO; import com.epmet.dto.result.StaffInfoResultDTO;
import com.epmet.dto.result.StaffListResultDTO;
import com.epmet.dto.result.UserResiInfoResultDTO; import com.epmet.dto.result.UserResiInfoResultDTO;
import com.epmet.feign.fallback.EpmetUserFeignClientFallBack; import com.epmet.feign.fallback.EpmetUserFeignClientFallBack;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
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;
@ -52,12 +49,4 @@ public interface EpmetUserFeignClient {
@PostMapping(value = "epmetuser/customerstaff/getstaffinfobyuserid") @PostMapping(value = "epmetuser/customerstaff/getstaffinfobyuserid")
Result<CustomerStaffDTO> getCustomerStaffInfoByUserId(@RequestBody CustomerStaffDTO formDTO); Result<CustomerStaffDTO> getCustomerStaffInfoByUserId(@RequestBody CustomerStaffDTO formDTO);
/**
* @param staffIdList
* @return
* @Author sun
* @Description 批量查询工作人员基础信息
**/
@PostMapping(value = "epmetuser/customerstaff/getstafflistbyids", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
Result<List<StaffListResultDTO>> getStaffListByIds(@RequestBody List<String> staffIdList);
} }

5
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java

@ -7,7 +7,6 @@ import com.epmet.dto.CustomerStaffDTO;
import com.epmet.dto.form.StaffsInAgencyFromDTO; import com.epmet.dto.form.StaffsInAgencyFromDTO;
import com.epmet.dto.form.UserResiInfoListFormDTO; import com.epmet.dto.form.UserResiInfoListFormDTO;
import com.epmet.dto.result.StaffInfoResultDTO; import com.epmet.dto.result.StaffInfoResultDTO;
import com.epmet.dto.result.StaffListResultDTO;
import com.epmet.dto.result.UserResiInfoResultDTO; import com.epmet.dto.result.UserResiInfoResultDTO;
import com.epmet.feign.EpmetUserFeignClient; import com.epmet.feign.EpmetUserFeignClient;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@ -36,8 +35,4 @@ public class EpmetUserFeignClientFallBack implements EpmetUserFeignClient {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "CustomerStaffDTO", formDTO); return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "CustomerStaffDTO", formDTO);
} }
@Override
public Result<List<StaffListResultDTO>> getStaffListByIds(List<String> staffIdList) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getStaffListByIds", staffIdList);
}
} }

24
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java

@ -574,32 +574,12 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
* @param formDTO * @param formDTO
* @return * @return
* @Author sun * @Author sun
* @Description 获取客户下已结案项目列表按结案时间倒序 * @Description 获取客户下已结案项目列表按结案时间倒序(结案时间结案说明处理部门)
**/ **/
@Override @Override
public List<LatestListResultDTO> getClosedProjectList(LatestListFormDTO formDTO) { public List<LatestListResultDTO> getClosedProjectList(LatestListFormDTO formDTO) {
List<LatestListResultDTO> resultList = new ArrayList<>();
//1:查询客户下已结案项目列表
List<LatestListResultDTO> listProject = baseDao.selectClosedProjectList(formDTO);
if(null==listProject||listProject.size()<NumConstant.ONE){
return resultList;
}
List<String> staffIdList = listProject.stream().map(LatestListResultDTO::getCloseUserId).collect(Collectors.toList());
//2:调用epmet-user服务,查询结案人员真实姓名
Result<List<StaffListResultDTO>> listResult = epmetUserFeignClient.getStaffListByIds(staffIdList);
if (!listResult.success() || null == listResult.getData()) {
throw new RenException(ProjectConstant.SELECT_STAFF_EXCEPTION);
}
List<StaffListResultDTO> staffList = listResult.getData();
resultList = listProject.stream().flatMap(project ->
staffList.stream().filter(staff ->
project.getCloseUserId().equals(staff.getStaffId())).map(latest -> {
LatestListResultDTO resultDTO = ConvertUtils.sourceToTarget(project, LatestListResultDTO.class);
resultDTO.setCloseUserName(latest.getStaffName());
return resultDTO;
})).collect(Collectors.toList());
return resultList; return baseDao.selectClosedProjectList(formDTO);
} }
} }

3
epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml

@ -153,7 +153,8 @@
SELECT SELECT
p.id AS "projectId", p.id AS "projectId",
pro.public_reply AS "publicReply", pro.public_reply AS "publicReply",
pro.created_by AS "closeUserId" pro.department_name AS "departmentName",
UNIX_TIMESTAMP(pro.created_time) AS "closeProjectTime"
FROM project p FROM project p
INNER JOIN project_process pro ON p.id = pro.project_id INNER JOIN project_process pro ON p.id = pro.project_id
WHERE p.del_flag = '0' WHERE p.del_flag = '0'

2
epmet-module/resi-group/resi-group-server/deploy/docker-compose-dev.yml

@ -2,7 +2,7 @@ version: "3.7"
services: services:
resi-group-server: resi-group-server:
container_name: resi-group-server-dev container_name: resi-group-server-dev
image: 192.168.1.130:10080/epmet-cloud-dev/resi-group-server:0.3.36 image: 192.168.1.130:10080/epmet-cloud-dev/resi-group-server:0.3.37
ports: ports:
- "8095:8095" - "8095:8095"
network_mode: host # 使用现有网络 network_mode: host # 使用现有网络

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

@ -2,7 +2,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<version>0.3.36</version> <version>0.3.37</version>
<parent> <parent>
<groupId>com.epmet</groupId> <groupId>com.epmet</groupId>
<artifactId>resi-group</artifactId> <artifactId>resi-group</artifactId>

9
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupStatisticalDao.java

@ -38,4 +38,13 @@ public interface ResiGroupStatisticalDao extends BaseDao<ResiGroupStatisticalEnt
* @author sun * @author sun
*/ */
ResiGroupStatisticalEntity selectByResiGroupId(@Param("resiGroupId") String resiGroupId); ResiGroupStatisticalEntity selectByResiGroupId(@Param("resiGroupId") String resiGroupId);
/**
* @Description 总议题数+1
* @param groupId
* @return
* @author wangc
* @date 2020.05.24 00:03
**/
void incryTotalIssues(@Param("groupId") String groupId);
} }

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

@ -84,7 +84,7 @@ public class ResiGroupRedis {
if(StringUtils.isNotBlank(groupId)){ if(StringUtils.isNotBlank(groupId)){
ResiGroupInfoRedisDTO groupCache = (ResiGroupInfoRedisDTO) ResiGroupInfoRedisDTO groupCache = (ResiGroupInfoRedisDTO)
redisUtils.get(ResiGroupRedisKeys.getResiGroupInfoKey(groupId)); redisUtils.get(ResiGroupRedisKeys.getResiGroupInfoKey(groupId));
if(null == groupCache || StringUtils.isBlank(groupCache.getGroupId())){ if(null == groupCache || StringUtils.isBlank(groupCache.getGroupId()) || null == groupCache.getGroupStatisticalInfo()){
//如果缓存中没有该组信息,从数据库中查询并放入缓存 //如果缓存中没有该组信息,从数据库中查询并放入缓存
ResiGroupDTO groupMySql = groupService.get(groupId); ResiGroupDTO groupMySql = groupService.get(groupId);
if(null != groupMySql && StringUtils.isNotBlank(groupMySql.getId())){ if(null != groupMySql && StringUtils.isNotBlank(groupMySql.getId())){
@ -134,6 +134,9 @@ public class ResiGroupRedis {
statisticalRedis.setTotalEarnestMembers(statistical.getTotalEarnestMemebers()); statisticalRedis.setTotalEarnestMembers(statistical.getTotalEarnestMemebers());
statisticalRedis.setTotalNormalMembers(statistical.getTotalNormalMemebers()); statisticalRedis.setTotalNormalMembers(statistical.getTotalNormalMemebers());
groupRedis.setGroupStatisticalInfo(statisticalRedis); groupRedis.setGroupStatisticalInfo(statisticalRedis);
}else{
//数据库中没有该组的统计数据
logger.warn(String.format("数据库中没有组统计信息,组Id:【%s】",groupId));
} }
//将从数据库中查询出的数据放入缓存 //将从数据库中查询出的数据放入缓存
set(groupRedis); set(groupRedis);

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

@ -40,6 +40,7 @@ import com.epmet.modules.feign.EpmetUserFeignClient;
import com.epmet.modules.feign.ResiGuideFeignClient; import com.epmet.modules.feign.ResiGuideFeignClient;
import com.epmet.modules.group.dao.ResiGroupDao; import com.epmet.modules.group.dao.ResiGroupDao;
import com.epmet.modules.group.entity.ResiGroupEntity; import com.epmet.modules.group.entity.ResiGroupEntity;
import com.epmet.modules.group.redis.ResiGroupRedis;
import com.epmet.modules.group.service.ResiGroupService; import com.epmet.modules.group.service.ResiGroupService;
import com.epmet.modules.invitation.dao.GroupInvitationDao; import com.epmet.modules.invitation.dao.GroupInvitationDao;
import com.epmet.modules.invitation.entity.GroupInvitationEntity; import com.epmet.modules.invitation.entity.GroupInvitationEntity;
@ -54,6 +55,7 @@ import com.epmet.resi.group.constant.LeaderFlagConstant;
import com.epmet.resi.group.constant.MemberStateConstant; import com.epmet.resi.group.constant.MemberStateConstant;
import com.epmet.resi.group.dto.UserRoleDTO; import com.epmet.resi.group.dto.UserRoleDTO;
import com.epmet.resi.group.dto.group.ResiGroupDTO; import com.epmet.resi.group.dto.group.ResiGroupDTO;
import com.epmet.resi.group.dto.group.ResiGroupInfoRedisDTO;
import com.epmet.resi.group.dto.invitation.GroupInvitationDTO; import com.epmet.resi.group.dto.invitation.GroupInvitationDTO;
import com.epmet.resi.group.dto.invitation.form.AccetInvitationFormDTO; import com.epmet.resi.group.dto.invitation.form.AccetInvitationFormDTO;
import com.epmet.resi.group.dto.invitation.form.CreateGroupInvitationFormDTO; import com.epmet.resi.group.dto.invitation.form.CreateGroupInvitationFormDTO;
@ -102,6 +104,8 @@ public class GroupInvitationServiceImpl extends BaseServiceImpl<GroupInvitationD
private EpmetUserFeignClient epmetUserFeignClient; private EpmetUserFeignClient epmetUserFeignClient;
@Autowired @Autowired
private ResiGuideFeignClient resiGuideFeignClient; private ResiGuideFeignClient resiGuideFeignClient;
@Autowired
private ResiGroupRedis resiGroupRedis;
@Override @Override
public PageData<GroupInvitationDTO> page(Map<String, Object> params) { public PageData<GroupInvitationDTO> page(Map<String, Object> params) {
@ -366,6 +370,23 @@ public class GroupInvitationServiceImpl extends BaseServiceImpl<GroupInvitationD
resiGroupMemberService.saveOrUpdate(resiGroupMemberDTO); resiGroupMemberService.saveOrUpdate(resiGroupMemberDTO);
//5、修改群统计值 //5、修改群统计值
resiGroupMemberDao.updateResiGroupStatistical(groupMemeberOperation.getGroupId(), userRoleDTO); resiGroupMemberDao.updateResiGroupStatistical(groupMemeberOperation.getGroupId(), userRoleDTO);
ResiGroupInfoRedisDTO groupCache =
resiGroupRedis.get(groupInvitationDTO.getResiGroupId());
if(null != groupCache && null != groupCache.getGroupStatisticalInfo()){
groupCache.getGroupStatisticalInfo().setTotalMembers(
null == groupCache.getGroupStatisticalInfo().getTotalMembers() ? NumConstant.TWO : groupCache.getGroupStatisticalInfo().getTotalMembers() +NumConstant.ONE
);
if(StringUtils.equals(userRoleDTO.getPartymemberFlag(),NumConstant.ONE_STR)) groupCache.getGroupStatisticalInfo().setTotalPartyMembers(
null == groupCache.getGroupStatisticalInfo().getTotalPartyMembers() ? NumConstant.ONE : groupCache.getGroupStatisticalInfo().getTotalPartyMembers()+NumConstant.ONE
);
if(StringUtils.equals(userRoleDTO.getRegisteredResiFlag(),NumConstant.ONE_STR)) groupCache.getGroupStatisticalInfo().setTotalNormalMembers(
null == groupCache.getGroupStatisticalInfo().getTotalNormalMembers() ? NumConstant.TWO : groupCache.getGroupStatisticalInfo().getTotalNormalMembers()+NumConstant.ONE
);
if(StringUtils.equals(userRoleDTO.getWarmHeartedFlag(),NumConstant.ONE_STR)) groupCache.getGroupStatisticalInfo().setTotalEarnestMembers(
null == groupCache.getGroupStatisticalInfo().getTotalEarnestMembers() ? NumConstant.ONE : groupCache.getGroupStatisticalInfo().getTotalEarnestMembers()+NumConstant.ONE
);
resiGroupRedis.set(groupCache);
}
//6、发送消息 //6、发送消息
this.sendMessageToLeader(formDTO, resiGroupDTO,groupInvitationDTO); this.sendMessageToLeader(formDTO, resiGroupDTO,groupInvitationDTO);
} }

2
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/redis/ResiGroupMemberRedis.java

@ -140,7 +140,7 @@ public class ResiGroupMemberRedis {
.concat(userId)); .concat(userId));
} }
} }
memberCache.setGroupId(groupId);
return memberCache; return memberCache;
} }

11
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java

@ -132,6 +132,7 @@ public class ResiTopicServiceImpl extends BaseServiceImpl<ResiTopicDao, ResiTopi
@Autowired @Autowired
private GovIssueFeignClient govIssueFeignClient; private GovIssueFeignClient govIssueFeignClient;
private final Log logger = LogFactory.getLog(getClass()); private final Log logger = LogFactory.getLog(getClass());
@Override @Override
@ -1068,7 +1069,15 @@ public class ResiTopicServiceImpl extends BaseServiceImpl<ResiTopicDao, ResiTopi
if(operationResult != NumConstant.ONE){ if(operationResult != NumConstant.ONE){
logger.warn(ModuleConstant.FAILURE_TO_ADD_TOPIC_OPERATION); logger.warn(ModuleConstant.FAILURE_TO_ADD_TOPIC_OPERATION);
} }
return; }
//7.更新组统计信息 议题数量+1
resiGroupStatisticalDao.incryTotalIssues(group.getGroupId());
if(null != groupCache && null != groupCache.getGroupStatisticalInfo()){
groupCache.getGroupStatisticalInfo().setTotalIssues(
null == groupCache.getGroupStatisticalInfo().getTotalIssues() ? NumConstant.ONE
: groupCache.getGroupStatisticalInfo().getTotalIssues() + NumConstant.ONE
);
resiGroupRedis.set(groupCache);
} }
logger.warn(ModuleConstant.FAILURE_TO_UPDATE_TOPIC); logger.warn(ModuleConstant.FAILURE_TO_UPDATE_TOPIC);

10
epmet-module/resi-group/resi-group-server/src/main/resources/db/migration/db.sql

@ -30,4 +30,14 @@ ALTER TABLE RESI_TOPIC ADD (
ISSUE_ID VARCHAR (64) DEFAULT NULL COMMENT '议题ID,可为空' ISSUE_ID VARCHAR (64) DEFAULT NULL COMMENT '议题ID,可为空'
); );
-- @Date 2020-05-23 23:56
-- @Author wangc
-- @Description 数据库epmet_resi_group中的resi_group_statistica(组统计表)字段增加默认值
ALTER TABLE `resi_group_statistical` CHANGE `TOTAL_TOPICS` `TOTAL_TOPICS` INT(255) NULL DEFAULT '0' COMMENT '话题总数';
ALTER TABLE `resi_group_statistical` CHANGE `TOTAL_MEMBERS` `TOTAL_MEMBERS` INT(255) NOT NULL DEFAULT '1' COMMENT '成员总数';
ALTER TABLE `resi_group_statistical` CHANGE `TOTAL_NORMAL_MEMEBERS` `TOTAL_NORMAL_MEMEBERS` INT(11) NULL DEFAULT '1' COMMENT '普通居民总数=群人数';
ALTER TABLE `resi_group_statistical` CHANGE `TOTAL_EARNEST_MEMEBERS` `TOTAL_EARNEST_MEMEBERS` INT(255) NULL DEFAULT '0' COMMENT '热心居民总数';
ALTER TABLE `resi_group_statistical` CHANGE `TOTAL_PARTY_MEMBERS` `TOTAL_PARTY_MEMBERS` INT(255) NULL DEFAULT '0' COMMENT '党员总数';
ALTER TABLE `resi_group_statistical` CHANGE `TOTAL_ISSUES` `TOTAL_ISSUES` INT(255) NULL DEFAULT '0' COMMENT '已转议题总数';

9
epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupStatisticalDao.xml

@ -28,4 +28,13 @@
AND rgs.resi_group_id = #{resiGroupId} AND rgs.resi_group_id = #{resiGroupId}
</select> </select>
<!-- 总议题数+1 -->
<update id="incryTotalIssues" parameterType="string">
UPDATE resi_group_statistical
SET TOTAL_ISSUES = TOTAL_ISSUES + 1
WHERE
RESI_GROUP_ID = #{groupId}
AND DEL_FLAG = '0'
</update>
</mapper> </mapper>

2
epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/ResiGroupMemberDao.xml

@ -127,7 +127,7 @@
groupp.DEL_FLAG = '0' groupp.DEL_FLAG = '0'
AND AND
<foreach collection="gridIds" index="index" item="item" open="( " separator=" or " close=" )"> <foreach collection="gridIds" index="index" item="item" open="( " separator=" or " close=" )">
groupp.GRID_ID = #{item.gridId} groupp.GRID_ID = #{item}
</foreach> </foreach>
AND AND
groupp.STATE = 'approved' groupp.STATE = 'approved'

2
epmet-module/resi-home/resi-home-server/deploy/docker-compose-dev.yml

@ -2,7 +2,7 @@ version: "3.7"
services: services:
resi-home-server: resi-home-server:
container_name: resi-home-server-dev container_name: resi-home-server-dev
image: 192.168.1.130:10080/epmet-cloud-dev/resi-home-server:0.3.4 image: 192.168.1.130:10080/epmet-cloud-dev/resi-home-server:0.3.5
ports: ports:
- "8104:8104" - "8104:8104"
network_mode: host # 使用现有网络 network_mode: host # 使用现有网络

2
epmet-module/resi-home/resi-home-server/pom.xml

@ -3,7 +3,7 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<version>0.3.4</version> <version>0.3.5</version>
<parent> <parent>
<artifactId>resi-home</artifactId> <artifactId>resi-home</artifactId>

18
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java

@ -27,15 +27,7 @@ import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.dto.*; import com.epmet.dto.*;
import com.epmet.dto.form.*; import com.epmet.dto.form.*;
import com.epmet.dto.CustomerStaffDTO;
import com.epmet.dto.CustomerStaffGridDTO;
import com.epmet.dto.StaffGridListDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*; import com.epmet.dto.result.*;
import com.epmet.dto.CustomerStaffDTO;
import com.epmet.dto.CustomerStaffGridDTO;
import com.epmet.dto.StaffGridListDTO;
import com.epmet.dto.form.CustomerStaffFormDTO;
import com.epmet.excel.CustomerStaffExcel; import com.epmet.excel.CustomerStaffExcel;
import com.epmet.service.CustomerStaffService; import com.epmet.service.CustomerStaffService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -281,14 +273,4 @@ public class CustomerStaffController {
return new Result<CustomerStaffListResultDTO>().ok(customerStaffService.getCustomerStaffList(staffIdList)); return new Result<CustomerStaffListResultDTO>().ok(customerStaffService.getCustomerStaffList(staffIdList));
} }
/**
* @param staffIdList
* @return
* @Author sun
* @Description 批量查询工作人员基础信息
**/
@PostMapping(value = "getstafflistbyids")
public Result<List<StaffListResultDTO>> getStaffListByIds(@RequestBody List<String> staffIdList){
return new Result<List<StaffListResultDTO>>().ok(customerStaffService.getStaffListByIds(staffIdList));
}
} }

16
epmet-user/epmet-user-server/src/main/java/com/epmet/service/CustomerStaffService.java

@ -21,14 +21,7 @@ import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.*; import com.epmet.dto.*;
import com.epmet.dto.CustomerStaffDTO; import com.epmet.dto.form.*;
import com.epmet.dto.StaffGridListDTO;
import com.epmet.dto.form.CommonUserIdListFormDTO;
import com.epmet.dto.form.CustomerStaffFormDTO;
import com.epmet.dto.form.StaffInfoFromDTO;
import com.epmet.dto.form.StaffSubmitFromDTO;
import com.epmet.dto.form.DepartmentInStaffFormDTO;
import com.epmet.dto.form.StaffsInAgencyFromDTO;
import com.epmet.dto.result.*; import com.epmet.dto.result.*;
import com.epmet.entity.CustomerStaffEntity; import com.epmet.entity.CustomerStaffEntity;
@ -232,11 +225,4 @@ public interface CustomerStaffService extends BaseService<CustomerStaffEntity> {
**/ **/
CustomerStaffListResultDTO getCustomerStaffList(List<String> staffIdList); CustomerStaffListResultDTO getCustomerStaffList(List<String> staffIdList);
/**
* @param staffIdList
* @return
* @Author sun
* @Description 批量查询工作人员基础信息
**/
List<StaffListResultDTO> getStaffListByIds(List<String> staffIdList);
} }

27
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java

@ -35,22 +35,6 @@ import com.epmet.dao.StaffRoleDao;
import com.epmet.dto.*; import com.epmet.dto.*;
import com.epmet.dto.form.*; import com.epmet.dto.form.*;
import com.epmet.dto.result.*; import com.epmet.dto.result.*;
import com.epmet.dto.form.*;
import com.epmet.dto.CustomerStaffDTO;
import com.epmet.dto.CustomerStaffGridDTO;
import com.epmet.dto.GovStaffRoleDTO;
import com.epmet.dto.StaffGridListDTO;
import com.epmet.dto.StaffRoleDTO;
import com.epmet.dto.result.StaffDetailResultDTO;
import com.epmet.dto.result.DepartInStaffListResultDTO;
import com.epmet.dto.result.StaffInfoResultDTO;
import com.epmet.dto.result.StaffInitResultDTO;
import com.epmet.dto.result.StaffRoleResultDTO;
import com.epmet.dto.CustomerStaffDTO;
import com.epmet.dto.CustomerStaffGridDTO;
import com.epmet.dto.StaffGridListDTO;
import com.epmet.dto.form.CustomerStaffFormDTO;
import com.epmet.dto.result.CommonStaffInfoResultDTO;
import com.epmet.entity.CustomerStaffEntity; import com.epmet.entity.CustomerStaffEntity;
import com.epmet.entity.GovStaffRoleEntity; import com.epmet.entity.GovStaffRoleEntity;
import com.epmet.entity.StaffRoleEntity; import com.epmet.entity.StaffRoleEntity;
@ -440,15 +424,4 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl<CustomerStaffDao,
return list; return list;
} }
/**
* @param staffIdList
* @return
* @Author sun
* @Description 批量查询工作人员基础信息
**/
@Override
public List<StaffListResultDTO> getStaffListByIds(List<String> staffIdList) {
return baseDao.selectStaffByIds(staffIdList);
}
} }

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

@ -168,8 +168,6 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
userRoleFormDTO.setCustomerId(myResiUserInfoFormDTO.getCustomerId()); userRoleFormDTO.setCustomerId(myResiUserInfoFormDTO.getCustomerId());
userRoleFormDTO.setGridId(myResiUserInfoFormDTO.getGridId()); userRoleFormDTO.setGridId(myResiUserInfoFormDTO.getGridId());
result.setRoleList(userRoleDao.getUserRoleList(userRoleFormDTO)); result.setRoleList(userRoleDao.getUserRoleList(userRoleFormDTO));
userRoleDao.getUserRoleList(userRoleFormDTO);
userRoleDao.getUserRoleList(userRoleFormDTO);
return result; return result;
} }

36
epmet-user/epmet-user-server/src/main/resources/mapper/UserRoleDao.xml

@ -17,6 +17,7 @@
<result property="updatedTime" column="UPDATED_TIME"/> <result property="updatedTime" column="UPDATED_TIME"/>
</resultMap> </resultMap>
<!-- 如果没有传gridId只查用户的非网格级别的身份 -->
<select id="getUserRoleInfo" parameterType="com.epmet.dto.form.UserRoleFormDTO" <select id="getUserRoleInfo" parameterType="com.epmet.dto.form.UserRoleFormDTO"
resultType="com.epmet.dto.result.UserRoleResultDTO"> resultType="com.epmet.dto.result.UserRoleResultDTO">
@ -33,33 +34,24 @@
ur.DEL_FLAG = 0 ur.DEL_FLAG = 0
AND AND
ur.USER_ID = #{userId} ur.USER_ID = #{userId}
<if test='null != app and "" != app'>
AND
er.APP = #{app}
</if>
<if test='null != customerId and "" != customerId'>
AND
ur.CUSTOMER_ID = #{customerId}
</if>
<if test='null != gridId and "" != gridId'> <if test='null != gridId and "" != gridId'>
AND AND( ur.GRID_ID = #{gridId} OR ur.GRID_ID = 'all' )
( ur.GRID_ID = #{gridId} OR ur.GRID_ID = 'all' )
</if> </if>
<if test='null == gridId or "" == gridId'> <if test='gridId == null or gridId = ""'>
AND AND ur.GRID_ID = 'all'
ur.GRID_ID = 'all'
</if> </if>
</where> </where>
</select> </select>
<!-- 如果没有传gridId只查用户的非网格级别的身份 -->
<select id="getUserRoleList" parameterType="com.epmet.dto.form.UserRoleFormDTO" <select id="getUserRoleList" parameterType="com.epmet.dto.form.UserRoleFormDTO"
resultType="string"> resultType="string">
SELECT SELECT
DISTINCT DISTINCT
er.ROLE_KEY er.ROLE_NAME
FROM FROM
USER_ROLE ur USER_ROLE ur
JOIN EPMET_ROLE er ON ur.ROLE_ID = er.ID JOIN EPMET_ROLE er ON ur.ROLE_ID = er.ID
@ -69,21 +61,11 @@
ur.DEL_FLAG = 0 ur.DEL_FLAG = 0
AND AND
ur.USER_ID = #{userId} ur.USER_ID = #{userId}
<if test='null != app and "" != app'>
AND
er.APP = #{app}
</if>
<if test='null != customerId and "" != customerId'>
AND
ur.CUSTOMER_ID = #{customerId}
</if>
<if test='null != gridId and "" != gridId'> <if test='null != gridId and "" != gridId'>
AND AND( ur.GRID_ID = #{gridId} OR ur.GRID_ID = 'all' )
( ur.GRID_ID = #{gridId} OR ur.GRID_ID = 'all' )
</if> </if>
<if test='null == gridId or "" == gridId'> <if test='gridId == null or gridId = ""'>
AND AND ur.GRID_ID = 'all'
ur.GRID_ID = 'all'
</if> </if>
</where> </where>

Loading…
Cancel
Save