Browse Source

Merge branch 'dev_personal_center' of http://121.42.41.42:7070/r/epmet-cloud into dev_personal_center

master
liushaowen 5 years ago
parent
commit
2e47c80379
  1. 4
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/MyPartIssuesResultDTO.java
  2. 18
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java
  3. 11
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java
  4. 2
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/IssueConstant.java
  5. 14
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueVoteStatisticalController.java
  6. 9
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteDetailDao.java
  7. 10
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueVoteStatisticalService.java
  8. 28
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalServiceImpl.java
  9. 15
      epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteDetailDao.xml
  10. 15
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/constant/OrgInfoConstant.java
  11. 27
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/OrgInfoFormDTO.java
  12. 34
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/OrgInfoResultDTO.java
  13. 19
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java
  14. 10
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java
  15. 6
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/constant/CustomerGridConstant.java
  16. 11
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/GridController.java
  17. 4
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java
  18. 9
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerGridService.java
  19. 22
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java
  20. 51
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml
  21. 6
      epmet-module/gov-project/gov-project-client/pom.xml
  22. 53
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/MyPartProjectsResultDTO.java
  23. 9
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/GovProjectOpenFeignClient.java
  24. 7
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/fallback/GovProjectOpenFeignClientFallback.java
  25. 17
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java
  26. 9
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java
  27. 8
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java
  28. 26
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java
  29. 20
      epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml
  30. 6
      epmet-module/resi-group/resi-group-client/pom.xml
  31. 14
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/MyTopicsFormDTO.java
  32. 28
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/IssueGridResultDTO.java
  33. 14
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/MyTopicsResultDTO.java
  34. 14
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java
  35. 13
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java
  36. 11
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/comment/controller/ResiCommentController.java
  37. 18
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java
  38. 8
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicCommentDao.java
  39. 8
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java
  40. 7
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicCommentService.java
  41. 7
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java
  42. 21
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicCommentServiceImpl.java
  43. 8
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java
  44. 2
      epmet-module/resi-group/resi-group-server/src/main/resources/logback-spring.xml
  45. 18
      epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicCommentDao.xml
  46. 27
      epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicDao.xml
  47. 37
      epmet-module/resi-mine/resi-mine-client/src/main/java/com/epmet/resi/mine/dto/from/MyPartProjectsFormDTO.java
  48. 18
      epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/person/controller/IssueController.java
  49. 7
      epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/person/service/IssueService.java
  50. 97
      epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/person/service/impl/IssueServiceImpl.java
  51. 5
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/BadgeAuditRecordResultDTO.java
  52. 5
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/BadgeAuditingResultDTO.java
  53. 2
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBadgeServiceImpl.java
  54. 6
      epmet-user/epmet-user-server/src/main/resources/mapper/BadgeDao.xml

4
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/MyPartIssuesResultDTO.java

@ -1,5 +1,6 @@
package com.epmet.dto.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
@ -34,4 +35,7 @@ public class MyPartIssuesResultDTO implements Serializable {
* 发表网格名称
*/
private String topicReleaseGridName;
@JsonIgnore
private String gridId;
}

18
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java

@ -1,9 +1,16 @@
package com.epmet.feign;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.MyPartIssuesFormDTO;
import com.epmet.dto.result.MyPartIssuesResultDTO;
import org.springframework.cloud.openfeign.FeignClient;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.feign.fallback.GovIssueOpenFeignClientFallBack;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
/**
* 本服务对外开放的API,其他服务通过引用此client调用该服务
@ -12,5 +19,16 @@ import com.epmet.feign.fallback.GovIssueOpenFeignClientFallBack;
* @date 2020/6/4 13:37
*/
@FeignClient(name = ServiceConstant.GOV_ISSUE_SERVER, fallback = GovIssueOpenFeignClientFallBack.class)
//@FeignClient(name = ServiceConstant.GOV_ISSUE_SERVER, fallback = GovIssueOpenFeignClientFallBack.class,url = "localhost:8101")
public interface GovIssueOpenFeignClient {
/**
* @Description 个人中心-我参与的议题列表
* @Param myPartIssuesFormDTO
* @author zxc
* @date 2020/11/10 10:01 上午
*/
@PostMapping("/gov/issue/issuevotestatistical/mypartissues")
Result<List<MyPartIssuesResultDTO>> myPartIssues(@RequestBody MyPartIssuesFormDTO myPartIssuesFormDTO);
}

11
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java

@ -1,8 +1,15 @@
package com.epmet.feign.fallback;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.MyPartIssuesFormDTO;
import com.epmet.dto.result.MyPartIssuesResultDTO;
import com.epmet.feign.GovIssueOpenFeignClient;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* 本服务对外开放的API,其他服务通过引用此client调用该服务
*
@ -11,4 +18,8 @@ import org.springframework.stereotype.Component;
*/
@Component
public class GovIssueOpenFeignClientFallBack implements GovIssueOpenFeignClient {
@Override
public Result<List<MyPartIssuesResultDTO>> myPartIssues(MyPartIssuesFormDTO myPartIssuesFormDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER,"myPartIssues",myPartIssuesFormDTO);
}
}

2
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/IssueConstant.java

@ -93,4 +93,6 @@ public interface IssueConstant {
String BEIJING_TIME_ZONE = "+8";
String REVIEW_ISSUE = "议题评论失败,评论内容为:%s";
String GRID = "grid";
}

14
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueVoteStatisticalController.java

@ -29,6 +29,8 @@ import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.dto.IssueVoteStatisticalDTO;
import com.epmet.dto.form.IssueIdFormDTO;
import com.epmet.dto.form.MyPartIssuesFormDTO;
import com.epmet.dto.result.MyPartIssuesResultDTO;
import com.epmet.dto.result.VoteResultDTO;
import com.epmet.dto.result.VotingTrendResultDTO;
import com.epmet.excel.IssueVoteStatisticalExcel;
@ -145,4 +147,16 @@ public class IssueVoteStatisticalController {
return new Result();
}
/**
* @Description 个人中心-我参与的议题列表
* @Param myPartIssuesFormDTO
* @author zxc
* @date 2020/11/10 10:01 上午
*/
@PostMapping("mypartissues")
public Result<List<MyPartIssuesResultDTO>> myPartIssues(@RequestBody MyPartIssuesFormDTO myPartIssuesFormDTO){
ValidatorUtils.validateEntity(myPartIssuesFormDTO, MyPartIssuesFormDTO.MyPartIssues.class);
return new Result<List<MyPartIssuesResultDTO>>().ok(issueVoteStatisticalService.myPartIssues(myPartIssuesFormDTO));
}
}

9
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteDetailDao.java

@ -20,6 +20,7 @@ package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.form.VoteFormDTO;
import com.epmet.dto.result.IssueAttitudeCountResultDTO;
import com.epmet.dto.result.MyPartIssuesResultDTO;
import com.epmet.entity.IssueVoteDetailEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -73,4 +74,12 @@ public interface IssueVoteDetailDao extends BaseDao<IssueVoteDetailEntity> {
List<IssueAttitudeCountResultDTO> getVotingCountList(@Param("ids")Set<String> ids, @Param("attitude")String attitude);
List<IssueAttitudeCountResultDTO> getVotingSummaryList(@Param("ids")Set<String> ids);
/**
* @Description 个人中心-我参与的议题列表
* @Param myPartIssuesFormDTO
* @author zxc
* @date 2020/11/10 10:01 上午
*/
List<MyPartIssuesResultDTO> myPartIssues(@Param("userId")String userId);
}

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

@ -23,7 +23,9 @@ import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.dto.IssueVoteStatisticalDTO;
import com.epmet.dto.form.EvaluationListFormDTO;
import com.epmet.dto.form.IssueIdFormDTO;
import com.epmet.dto.form.MyPartIssuesFormDTO;
import com.epmet.dto.result.EvaluationListResultDTO;
import com.epmet.dto.result.MyPartIssuesResultDTO;
import com.epmet.dto.result.VoteResultDTO;
import com.epmet.dto.result.VotingTrendResultDTO;
import com.epmet.entity.IssueVoteStatisticalEntity;
@ -159,4 +161,12 @@ public interface IssueVoteStatisticalService extends BaseService<IssueVoteStatis
* @date 2020.05.21 09:09
**/
void syncVotingCacheToDbByParams(String issueId,String gridId,String statisticalId);
/**
* @Description 个人中心-我参与的议题列表
* @Param myPartIssuesFormDTO
* @author zxc
* @date 2020/11/10 10:01 上午
*/
List<MyPartIssuesResultDTO> myPartIssues(MyPartIssuesFormDTO myPartIssuesFormDTO);
}

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

@ -40,6 +40,7 @@ import com.epmet.dto.result.*;
import com.epmet.entity.IssueEntity;
import com.epmet.entity.IssueVoteStatisticalEntity;
import com.epmet.feign.EpmetUserFeignClient;
import com.epmet.feign.GovOrgOpenFeignClient;
import com.epmet.feign.ResiGroupFeignClient;
import com.epmet.redis.IssueVoteDetailRedis;
import com.epmet.redis.IssueVoteStatisticalRedis;
@ -51,6 +52,7 @@ import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.time.LocalDate;
import java.time.LocalDateTime;
@ -86,6 +88,8 @@ public class IssueVoteStatisticalServiceImpl extends BaseServiceImpl<IssueVoteSt
private ResiGroupFeignClient resiGroupFeignClient;
@Autowired
private IssueVoteDetailService issueVoteDetailService;
@Autowired
private GovOrgOpenFeignClient govOrgOpenFeignClient;
@Override
public PageData<IssueVoteStatisticalDTO> page(Map<String, Object> params) {
@ -532,4 +536,28 @@ public class IssueVoteStatisticalServiceImpl extends BaseServiceImpl<IssueVoteSt
}
/**
* @Description 个人中心-我参与的议题列表
* @Param myPartIssuesFormDTO
* @author zxc
* @date 2020/11/10 10:01 上午
*/
@Override
public List<MyPartIssuesResultDTO> myPartIssues(MyPartIssuesFormDTO myPartIssuesFormDTO) {
List<MyPartIssuesResultDTO> myPartIssuesResult = issueVoteDetailDao.myPartIssues(myPartIssuesFormDTO.getUserId());
if (CollectionUtils.isEmpty(myPartIssuesResult)){
return new ArrayList<>();
}
List<String> orgIds = myPartIssuesResult.stream().map(m -> m.getGridId()).collect(Collectors.toList());
OrgInfoFormDTO form = new OrgInfoFormDTO();
form.setOrgIds(orgIds);
form.setOrgType(IssueConstant.GRID);
Result<List<OrgInfoResultDTO>> listResult = govOrgOpenFeignClient.selectOrgInfo(form);
if (!listResult.success()){
throw new RenException("查询议题来源网格名称失败......");
}
myPartIssuesResult.forEach(m -> listResult.getData().stream().filter(l -> m.getGridId().equals(l.getOrgId())).forEach(l -> m.setTopicReleaseGridName(l.getOrgName())));
return myPartIssuesResult;
}
}

15
epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteDetailDao.xml

@ -71,4 +71,19 @@
issue_id,
attitude
</select>
<!-- 个人中心-我参与的议题列表 -->
<select id="myPartIssues" resultType="com.epmet.dto.result.MyPartIssuesResultDTO">
SELECT
vd.ISSUE_ID,
i.SUGGESTION,
i.ISSUE_TITLE,
i.GRID_ID AS gridId,
UNIX_TIMESTAMP(i.CREATED_TIME) AS shiftIssueTime
FROM issue_vote_detail vd
LEFT JOIN issue i ON i.ID = vd.ISSUE_ID
WHERE i.DEL_FLAG = '0'
AND vd.DEL_FLAG = '0'
AND vd.CREATED_BY = #{userId}
</select>
</mapper>

15
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/constant/OrgInfoConstant.java

@ -0,0 +1,15 @@
package com.epmet.constant;
/**
* @Author zxc
* @DateTime 2020/11/10 5:18 下午
*/
public interface OrgInfoConstant {
String AGENCY = "agency";
String GRID = "grid";
String DEPT = "dept";
}

27
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/OrgInfoFormDTO.java

@ -0,0 +1,27 @@
package com.epmet.dto.form;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Author zxc
* @DateTime 2020/11/10 2:13 下午
*/
@Data
public class OrgInfoFormDTO implements Serializable {
private static final long serialVersionUID = 4480485864711053393L;
/**
* org的类型 agency机关grid网格dept部门
*/
private String orgType;
/**
* orgId集合
*/
private List<String> orgIds;
}

34
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/OrgInfoResultDTO.java

@ -0,0 +1,34 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2020/11/10 2:15 下午
*/
@Data
public class OrgInfoResultDTO implements Serializable {
private static final long serialVersionUID = 7478605833438304330L;
private String orgId;
private String orgName;
/**
* orgType 为空时此字段为空
*/
private String agencyId;
private String pid;
private String pids;
private String allParentName;
private String organizationName;
private String level;
}

19
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java

@ -275,4 +275,23 @@ public interface GovOrgOpenFeignClient {
*/
@PostMapping("/gov/org/customeragency/organizetree/{agencyId}")
Result<OrganizeTreeResultDTO> organizeTree(@PathVariable("agencyId") String agencyId);
/**
* @Description 查询org信息
* @Param orgInfoFormDTO
* @author zxc
* @date 2020/11/10 2:55 下午
*/
@PostMapping("/gov/org/grid/selectorginfo")
Result<List<OrgInfoResultDTO>> selectOrgInfo(@RequestBody OrgInfoFormDTO orgInfoFormDTO);
/**
* @param gridIdList
* @return
* @Description 根据网格Id集合获取网格列表信息
* @Author sun
*/
@PostMapping("/gov/org/customergrid/getgridlistbygridids")
Result<List<AllGridsByUserIdResultDTO>> getGridListByGridIds(List<String> gridIdList);
}

10
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java

@ -161,4 +161,14 @@ public class GovOrgOpenFeignClientFallback implements GovOrgOpenFeignClient {
public Result<OrganizeTreeResultDTO> organizeTree(String agencyId) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "organizeTree", agencyId);
}
@Override
public Result<List<OrgInfoResultDTO>> selectOrgInfo(OrgInfoFormDTO orgInfoFormDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "selectOrgInfo", orgInfoFormDTO);
}
@Override
public Result<List<AllGridsByUserIdResultDTO>> getGridListByGridIds(List<String> gridIdList) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getGridListByGridIds", gridIdList);
}
}

6
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/constant/CustomerGridConstant.java

@ -10,4 +10,10 @@ public interface CustomerGridConstant {
* 根据网格Id未查询到网格信息
*/
String SELECT_EXCEPTION = "根据网格Id未查询到网格信息";
String AGENCY = "agency";
String DEPT = "dept";
String GRID = "grid";
}

11
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/GridController.java

@ -154,4 +154,15 @@ public class GridController {
List<GridByStaffResultDTO> grids = customerGridService.listGridsbystaffid(staffId);
return new Result<List<GridByStaffResultDTO>>().ok(grids);
}
/**
* @Description 查询org信息
* @Param orgInfoFormDTO
* @author zxc
* @date 2020/11/10 2:55 下午
*/
@PostMapping("selectorginfo")
public Result<List<OrgInfoResultDTO>> selectOrgInfo(@RequestBody OrgInfoFormDTO orgInfoFormDTO){
return new Result<List<OrgInfoResultDTO>>().ok(customerGridService.selectOrgInfo(orgInfoFormDTO));
}
}

4
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java

@ -242,4 +242,8 @@ public interface CustomerGridDao extends BaseDao<CustomerGridEntity> {
* @return java.util.List<com.epmet.entity.CustomerGridEntity>
*/
List<CustomerGridEntity> selectGridByStaff(@Param("staffId") String staffId);
List<OrgInfoResultDTO> selectOrgInfoByAgency(@Param("orgIds")List<String> orgIds);
List<OrgInfoResultDTO> selectOrgInfoByGrid(@Param("orgIds")List<String> orgIds);
List<OrgInfoResultDTO> selectOrgInfoByDept(@Param("orgIds")List<String> orgIds);
}

9
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerGridService.java

@ -33,6 +33,7 @@ import com.epmet.dto.result.SelectGridNameByGridIdResultDTO;
import com.epmet.dto.result.GridInfoResultDTO;
import com.epmet.dto.result.*;
import com.epmet.entity.CustomerGridEntity;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
import java.util.Map;
@ -268,4 +269,12 @@ public interface CustomerGridService extends BaseService<CustomerGridEntity> {
* @return void
*/
void updateGrid(String staffId);
/**
* @Description 查询org信息
* @Param orgInfoFormDTO
* @author zxc
* @date 2020/11/10 2:55 下午
*/
List<OrgInfoResultDTO> selectOrgInfo(OrgInfoFormDTO orgInfoFormDTO);
}

22
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java

@ -666,4 +666,26 @@ public class CustomerGridServiceImpl extends BaseServiceImpl<CustomerGridDao, Cu
}
}
/**
* @Description 查询org信息
* @Param orgInfoFormDTO
* @author zxc
* @date 2020/11/10 2:55 下午
*/
@Override
public List<OrgInfoResultDTO> selectOrgInfo(OrgInfoFormDTO orgInfoFormDTO) {
List<OrgInfoResultDTO> result;
if (orgInfoFormDTO.getOrgType().equals(CustomerGridConstant.AGENCY)){
// 机关
result = baseDao.selectOrgInfoByAgency(orgInfoFormDTO.getOrgIds());
}else if (orgInfoFormDTO.getOrgType().equals(CustomerGridConstant.GRID)){
//网格
result = baseDao.selectOrgInfoByGrid(orgInfoFormDTO.getOrgIds());
}else {
// 部门
result = baseDao.selectOrgInfoByDept(orgInfoFormDTO.getOrgIds());
}
return result;
}
}

51
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml

@ -490,4 +490,55 @@
AND g.DEL_FLAG = '0'
AND sg.USER_ID = #{staffId}
</select>
<select id="selectOrgInfoByDept" resultType="com.epmet.dto.result.OrgInfoResultDTO">
SELECT
cd.ID AS orgId,
cd.DEPARTMENT_NAME AS orgName,
cd.AGENCY_ID AS agencyId,
ca.PID,
ca.PIDS,
ca.ORGANIZATION_NAME
FROM customer_department cd
LEFT JOIN customer_agency ca ON ca.ID = cd.AGENCY_ID
WHERE cd.DEL_FLAG = '0'
AND ca.DEL_FLAG = '0'
AND
<foreach collection="orgIds" item="orgId" separator=" OR ">
cd.ID = #{orgId}
</foreach>
</select>
<select id="selectOrgInfoByGrid" resultType="com.epmet.dto.result.OrgInfoResultDTO">
SELECT
cg.ID AS orgId,
cg.GRID_NAME AS orgName,
cg.PID AS agencyId,
ca.PID,
ca.PIDS,
ca.ORGANIZATION_NAME
FROM customer_grid cg
LEFT JOIN customer_agency ca ON ca.ID = cg.PID
WHERE cg.DEL_FLAG = '0'
AND ca.DEL_FLAG = '0'
AND
<foreach collection="orgIds" item="orgId" separator=" OR ">
cg.ID = #{orgId}
</foreach>
</select>
<select id="selectOrgInfoByAgency" resultType="com.epmet.dto.result.OrgInfoResultDTO">
SELECT
ID AS orgId,
ORGANIZATION_NAME AS orgName,
PID,
PIDS,
ALL_PARENT_NAME,
ORGANIZATION_NAME,
`LEVEL`
FROM customer_agency
WHERE DEL_FLAG = '0'
AND
<foreach collection="orgIds" item="orgId" separator=" OR ">
ID = #{orgId}
</foreach>
</select>
</mapper>

6
epmet-module/gov-project/gov-project-client/pom.xml

@ -17,5 +17,11 @@
<artifactId>epmet-commons-tools</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>resi-mine-client</artifactId>
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>

53
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/MyPartProjectsResultDTO.java

@ -0,0 +1,53 @@
package com.epmet.dto.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Description 个人中心-我参与的项目列表-接口返参
* @Auth sun
*/
@Data
public class MyPartProjectsResultDTO implements Serializable {
private static final long serialVersionUID = 2081387920547808112L;
/**
* 项目id
*/
private String projectId;
/**
* 话题发表于哪个网格
*/
private String topicReleaseGridName;
/**
* 项目标题
*/
private String projectTitle;
/**
* 当前处理部门
*/
private List<String> departmentNameList;
/**
* 转项目时间时间戳
*/
private Long shiftProjectTime;
/**
* 议题Id用户数据整合使用(项目出自哪个网格"组织-网格")
*/
@JsonIgnore
private String issueId;
/**
* 项目状态(待处理 pending结案closed)用于查询当前处理部门信息
*/
@JsonIgnore
private String status;
}

9
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/GovProjectOpenFeignClient.java

@ -4,9 +4,11 @@ import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.ProcessListFormDTO;
import com.epmet.dto.ProjectDTO;
import com.epmet.dto.form.ProjectListFromDTO;
import com.epmet.dto.result.MyPartProjectsResultDTO;
import com.epmet.dto.result.PendProjectListResultDTO;
import com.epmet.dto.result.ProcessAndCurrentDeptResultDTO;
import com.epmet.dto.result.ProcesslistResultDTO;
import com.epmet.resi.mine.dto.from.MyPartProjectsFormDTO;
import org.springframework.cloud.openfeign.FeignClient;
import com.epmet.commons.tools.constant.ServiceConstant;
@ -46,4 +48,11 @@ public interface GovProjectOpenFeignClient {
@PostMapping("gov/project/trace/processlistnotrule")
Result<ProcessAndCurrentDeptResultDTO> getProcessList(@RequestBody ProcessListFormDTO fromDTO);
/**
* @Description 根据议题Id集合查询对应的项目信息
* @author sun
*/
@PostMapping("gov/project/project/issuetoprojectlist")
Result<List<MyPartProjectsResultDTO>> issueToProjectList(MyPartProjectsFormDTO formDTO);
}

7
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/fallback/GovProjectOpenFeignClientFallback.java

@ -6,10 +6,12 @@ import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.ProjectDTO;
import com.epmet.dto.form.ProcessListFormDTO;
import com.epmet.dto.form.ProjectListFromDTO;
import com.epmet.dto.result.MyPartProjectsResultDTO;
import com.epmet.dto.result.PendProjectListResultDTO;
import com.epmet.dto.result.ProcessAndCurrentDeptResultDTO;
import com.epmet.dto.result.ProcesslistResultDTO;
import com.epmet.feign.GovProjectOpenFeignClient;
import com.epmet.resi.mine.dto.from.MyPartProjectsFormDTO;
import org.springframework.stereotype.Component;
import java.util.List;
@ -44,4 +46,9 @@ public class GovProjectOpenFeignClientFallback implements GovProjectOpenFeignCli
public Result<ProcessAndCurrentDeptResultDTO> getProcessList(ProcessListFormDTO fromDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_PROJECT_SERVER, "getProcessList", fromDTO);
}
@Override
public Result<List<MyPartProjectsResultDTO>> issueToProjectList(MyPartProjectsFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_PROJECT_SERVER, "issueToProjectList", formDTO);
}
}

17
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java

@ -34,11 +34,9 @@ import com.epmet.dto.form.LatestListFormDTO;
import com.epmet.dto.form.ProjectListFromDTO;
import com.epmet.dto.form.ShiftProjectFormDTO;
import com.epmet.dto.form.ShiftProjectsFromDTO;
import com.epmet.dto.result.IssueProjectResultDTO;
import com.epmet.dto.result.LatestListResultDTO;
import com.epmet.dto.result.PendProjectListResultDTO;
import com.epmet.dto.result.ShiftProjectResultDTO;
import com.epmet.dto.result.*;
import com.epmet.excel.ProjectExcel;
import com.epmet.resi.mine.dto.from.MyPartProjectsFormDTO;
import com.epmet.service.ProjectService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -183,4 +181,15 @@ public class ProjectController {
projectService.projectProcessCostTimeDataCompensation();
return new Result();
}
/**
* @param formDTO
* @Author sun
* @Description 根据议题Id集合查询对应的项目信息
**/
@PostMapping("issuetoprojectlist")
public Result<List<MyPartProjectsResultDTO>> issueToProjectList(@RequestBody MyPartProjectsFormDTO formDTO) {
return new Result<List<MyPartProjectsResultDTO>>().ok(projectService.issueToProjectList(formDTO));
}
}

9
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java

@ -24,6 +24,7 @@ import com.epmet.dto.form.LatestListFormDTO;
import com.epmet.dto.form.ProjectListFromDTO;
import com.epmet.dto.form.ShiftProjectsFromDTO;
import com.epmet.dto.result.LatestListResultDTO;
import com.epmet.dto.result.MyPartProjectsResultDTO;
import com.epmet.dto.result.ProjectDetailResultDTO;
import com.epmet.entity.ProjectEntity;
import org.apache.ibatis.annotations.Mapper;
@ -130,4 +131,12 @@ public interface ProjectDao extends BaseDao<ProjectEntity> {
* @date 2020.10.26 11:20
*/
List<String> selectAllCustomerIds();
/**
* @Author sun
* @Description 根据议题ID集合查询对应的项目基本信息
**/
List<MyPartProjectsResultDTO> selectIssueProjectList(@Param("customerId") String customerId, @Param("issueList") List<String> issueList,
@Param("pageIndex") int pageIndex, @Param("pageSize") Integer pageSize);
}

8
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java

@ -24,6 +24,7 @@ import com.epmet.dto.ProjectDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.entity.ProjectEntity;
import com.epmet.resi.mine.dto.from.MyPartProjectsFormDTO;
import java.util.List;
import java.util.Map;
@ -216,4 +217,11 @@ public interface ProjectService extends BaseService<ProjectEntity> {
* @date 2020.10.26 10:54
*/
void projectProcessCostTimeDataCompensation();
/**
* @param formDTO
* @Author sun
* @Description 根据议题Id集合查询对应的项目信息
**/
List<MyPartProjectsResultDTO> issueToProjectList(MyPartProjectsFormDTO formDTO);
}

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

@ -42,6 +42,7 @@ import com.epmet.dto.result.*;
import com.epmet.entity.*;
import com.epmet.feign.*;
import com.epmet.redis.ProjectRedis;
import com.epmet.resi.mine.dto.from.MyPartProjectsFormDTO;
import com.epmet.service.*;
import org.apache.commons.collections4.CollectionUtils;
import lombok.extern.slf4j.Slf4j;
@ -1362,4 +1363,29 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
ProjectOrgPeriodResultDTO target = dest.get(seq);
if(null != target) target.setPeriodTillReplyFirstly(staffResponseTraceUnit.getCreatedTime());
}
/**
* @param formDTO
* @Author sun
* @Description 根据议题Id集合查询对应的项目信息
**/
@Override
public List<MyPartProjectsResultDTO> issueToProjectList(MyPartProjectsFormDTO formDTO) {
//1.根据议题ID集合查询对应的项目基本信息
int pageIndex = (formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize();
List<MyPartProjectsResultDTO> list = baseDao.selectIssueProjectList(formDTO.getCustomerId(), formDTO.getIssueList(), pageIndex, formDTO.getPageSize());
//2.使用已有方法查询项目当前处理部门信息
list.forEach(l -> {
if (ProjectConstant.CLOSED.equals(l.getStatus())) {
l.setDepartmentNameList(new ArrayList<String>());
} else {
ProjectDTO dto = new ProjectDTO();
dto.setId(l.getProjectId());
l.setDepartmentNameList(baseDao.selectDepartmentNameList(dto));
}
});
return list;
}
}

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

@ -206,4 +206,24 @@
DEL_FLAG = '0'
</select>
<select id="selectIssueProjectList" resultType="com.epmet.dto.result.MyPartProjectsResultDTO">
SELECT
id AS "projectId",
title AS "projectTitle",
UNIX_TIMESTAMP(created_time) AS "shiftProjectTime",
origin_id AS "issueId",
status AS "status"
FROM
project
WHERE
del_flag = '0'
AND origin = 'issue'
AND customer_id = #{customerId}
<foreach collection="issueList" item="issueId" open="AND( " separator=" OR " index="index" close=")">
origin_id = #{issueId}
</foreach>
ORDER BY CREATED_TIME DESC
LIMIT #{pageIndex}, #{pageSize}
</select>
</mapper>

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

@ -26,6 +26,12 @@
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
</dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>resi-mine-client</artifactId>
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>

14
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/MyTopicsFormDTO.java

@ -0,0 +1,14 @@
package com.epmet.resi.group.dto.topic;
import lombok.Data;
@Data
public class MyTopicsFormDTO {
private String customerId;
private Integer pageSize = 10;
private Integer pageNo = 1;
}

28
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/IssueGridResultDTO.java

@ -0,0 +1,28 @@
package com.epmet.resi.group.dto.topic.result;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* @Description 话题对应的议题及所属网格数据
* @Auth sun
*/
@Data
public class IssueGridResultDTO implements Serializable {
private static final long serialVersionUID = -3495808492616727671L;
/**
* 网格Id
* */
private String gridId;
/**
* 议题Id
* */
private String issueId;
}

14
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/MyTopicsResultDTO.java

@ -0,0 +1,14 @@
package com.epmet.resi.group.dto.topic.result;
import lombok.Data;
@Data
public class MyTopicsResultDTO {
private String topicId;
private Long releaseTime;
private String topicContent;
private String releaseGroupName;
private String releaseGridName;
}

14
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java

@ -1,9 +1,15 @@
package com.epmet.resi.group.feign;
import com.epmet.commons.tools.utils.Result;
import com.epmet.resi.group.dto.topic.result.IssueGridResultDTO;
import com.epmet.resi.mine.dto.from.MyPartProjectsFormDTO;
import org.springframework.cloud.openfeign.FeignClient;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.resi.group.feign.fallback.ResiGroupOpenFeignClientFallback;
import org.springframework.web.bind.annotation.PostMapping;
import java.util.List;
/**
* 本服务对外开放的API,其他服务通过引用此client调用该服务
@ -13,4 +19,12 @@ import com.epmet.resi.group.feign.fallback.ResiGroupOpenFeignClientFallback;
*/
@FeignClient(name = ServiceConstant.RESI_GROUP_SERVER, fallback = ResiGroupOpenFeignClientFallback.class)
public interface ResiGroupOpenFeignClient {
/**
* @Description 查询用户参与的且不是自己发表的话题对应的议题Id集合
* @author sun
*/
@PostMapping(value = "/resi/group/comment/topictoissuelist")
Result<List<IssueGridResultDTO>> topicToIssueList(MyPartProjectsFormDTO formDTO);
}

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

@ -1,8 +1,15 @@
package com.epmet.resi.group.feign.fallback;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.resi.group.dto.topic.result.IssueGridResultDTO;
import com.epmet.resi.group.feign.ResiGroupOpenFeignClient;
import com.epmet.resi.mine.dto.from.MyPartProjectsFormDTO;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* 本服务对外开放的API,其他服务通过引用此client调用该服务
*
@ -11,4 +18,10 @@ import org.springframework.stereotype.Component;
*/
@Component
public class ResiGroupOpenFeignClientFallback implements ResiGroupOpenFeignClient {
@Override
public Result<List<IssueGridResultDTO>> topicToIssueList(MyPartProjectsFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "topicToIssueList", formDTO);
}
}

11
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/comment/controller/ResiCommentController.java

@ -8,6 +8,8 @@ import com.epmet.modules.topic.service.ResiTopicCommentService;
import com.epmet.resi.group.dto.comment.form.ResiQueryCommentFormDTO;
import com.epmet.resi.group.dto.comment.result.ResiCommentResultDTO;
import com.epmet.resi.group.dto.topic.form.ResiPublishCommentFormDTO;
import com.epmet.resi.group.dto.topic.result.IssueGridResultDTO;
import com.epmet.resi.mine.dto.from.MyPartProjectsFormDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@ -70,4 +72,13 @@ public class ResiCommentController {
ValidatorUtils.validateEntity(queryCommentFormDTO);
return commentService.getCommentListGov(queryCommentFormDTO);
}
/**
* @Description 查询用户参与的且不是自己发表的话题对应的议题Id集合
* @author sun
*/
@PostMapping("topictoissuelist")
public Result<List<IssueGridResultDTO>> topicToIssueList(@RequestBody MyPartProjectsFormDTO formDTO) {
return new Result<List<IssueGridResultDTO>>().ok(commentService.topicToIssueList(formDTO));
}
}

18
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java

@ -4,13 +4,12 @@ import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.form.VoteFormDTO;
import com.epmet.modules.topic.service.ResiTopicService;
import com.epmet.resi.group.dto.topic.MyTopicsFormDTO;
import com.epmet.resi.group.dto.topic.ResiTopicDTO;
import com.epmet.resi.group.dto.topic.TopicInfoDTO;
import com.epmet.resi.group.dto.topic.form.*;
import com.epmet.resi.group.dto.topic.result.*;
import oracle.jdbc.proxy.annotation.Post;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -259,4 +258,19 @@ public class ResiTopicController {
ValidatorUtils.validateEntity(formDTO);
return new Result<CheckTopicPublisherResultDTO>().ok(topicService.checkTopicPublisher(formDTO));
}
/**
* @Description 我创建的话题列表
* @return
* @author wxz
* @date 2020.11.10 14:58
*/
@PostMapping("my-topics")
public Result listMyTopics(@RequestBody MyTopicsFormDTO formDTO, @LoginUser TokenDto tokenDto) {
ValidatorUtils.validateEntity(formDTO);
List<MyTopicsResultDTO> myTopics = topicService.listMyTopics(formDTO.getCustomerId(), tokenDto.getUserId(), formDTO.getPageNo(), formDTO.getPageSize());
return new Result().ok(myTopics);
}
}

8
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicCommentDao.java

@ -22,7 +22,9 @@ import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.modules.comment.entity.ResiTopicCommentEntity;
import com.epmet.resi.group.dto.comment.form.ResiQueryCommentFormDTO;
import com.epmet.resi.group.dto.comment.result.ResiCommentResultDTO;
import com.epmet.resi.mine.dto.from.MyPartProjectsFormDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -52,4 +54,10 @@ public interface ResiTopicCommentDao extends BaseDao<ResiTopicCommentEntity> {
* @Date 2020.04.01 17:15
**/
List<ResiCommentResultDTO> getCommentList(ResiQueryCommentFormDTO queryCommentFormDTO);
/**
* @Description 查询用户参与的且不是自己发表的话题对应的议题Id集合
* @author sun
*/
List<String> selectTopicList(@Param("userId") String userId);
}

8
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java

@ -153,4 +153,12 @@ public interface ResiTopicDao extends BaseDao<ResiTopicEntity> {
*/
CheckTopicPublisherResultDTO checkTopicPublisher(CheckTopicPublisherFormDTO formDTO);
List<MyTopicsResultDTO> listMyTopics(@Param("userId") String userId, @Param("customerId") String customerId);
/**
* @Description 根据话题Id集合查询对应的已转成议题的议题Id集合
* @author sun
*/
List<IssueGridResultDTO> selectIssueList(@Param("topicList") List<String> topicList);
}

7
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicCommentService.java

@ -26,6 +26,8 @@ import com.epmet.resi.group.dto.comment.form.ResiQueryCommentFormDTO;
import com.epmet.resi.group.dto.comment.result.ResiCommentResultDTO;
import com.epmet.resi.group.dto.topic.ResiTopicCommentDTO;
import com.epmet.resi.group.dto.topic.form.ResiPublishCommentFormDTO;
import com.epmet.resi.group.dto.topic.result.IssueGridResultDTO;
import com.epmet.resi.mine.dto.from.MyPartProjectsFormDTO;
import java.util.List;
@ -128,4 +130,9 @@ public interface ResiTopicCommentService extends BaseService<ResiTopicCommentEnt
**/
Result<List<ResiCommentResultDTO>> getCommentListGov(ResiQueryCommentFormDTO commentFormDTO);
/**
* @Description 查询用户参与的且不是自己发表的话题对应的议题Id集合
* @author sun
*/
List<IssueGridResultDTO> topicToIssueList(MyPartProjectsFormDTO formDTO);
}

7
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java

@ -264,4 +264,11 @@ public interface ResiTopicService extends BaseService<ResiTopicEntity> {
*/
CheckTopicPublisherResultDTO checkTopicPublisher(CheckTopicPublisherFormDTO formDTO);
/**
* @Description 我发表的话题列表
* @return
* @author wxz
* @date 2020.11.10 15:03
*/
List<MyTopicsResultDTO> listMyTopics(String customerId, String userId, Integer pageNo, Integer pageSize);
}

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

@ -43,6 +43,7 @@ import com.epmet.modules.member.dao.ResiGroupMemberDao;
import com.epmet.modules.member.redis.ResiGroupMemberRedis;
import com.epmet.modules.member.service.ResiGroupMemberService;
import com.epmet.modules.topic.dao.ResiTopicCommentDao;
import com.epmet.modules.topic.dao.ResiTopicDao;
import com.epmet.modules.topic.service.ResiTopicCommentService;
import com.epmet.modules.topic.service.ResiTopicService;
import com.epmet.modules.utils.ModuleConstant;
@ -56,7 +57,9 @@ import com.epmet.resi.group.dto.member.result.ResiGroupMemberInfoRedisResultDTO;
import com.epmet.resi.group.dto.topic.ResiTopicCommentDTO;
import com.epmet.resi.group.dto.topic.ResiTopicDTO;
import com.epmet.resi.group.dto.topic.form.ResiPublishCommentFormDTO;
import com.epmet.resi.group.dto.topic.result.IssueGridResultDTO;
import com.epmet.resi.group.dto.topic.result.ResiTopicInfoResultDTO;
import com.epmet.resi.mine.dto.from.MyPartProjectsFormDTO;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
@ -94,6 +97,8 @@ public class ResiTopicCommentServiceImpl extends BaseServiceImpl<ResiTopicCommen
@Autowired
ResiGroupMemberDao resiGroupMemberDao;
ResiTopicDao resiTopicdDao;
@Value("${openapi.scan.server.url}")
private String scanApiUrl;
@Value("${openapi.scan.method.textSyncScan}")
@ -347,4 +352,20 @@ public class ResiTopicCommentServiceImpl extends BaseServiceImpl<ResiTopicCommen
}
}
/**
* @Description 查询用户参与的且不是自己发表的话题对应的议题Id集合
* @author sun
*/
@Override
public List<IssueGridResultDTO> topicToIssueList(MyPartProjectsFormDTO formDTO) {
List<IssueGridResultDTO> list = new ArrayList<>();
//1.查询用户评论过的切不是自己发起的话题列表
List<String> topicList = baseDao.selectTopicList(formDTO.getUserId());
if (topicList.size() < NumConstant.ONE) {
return list;
}
//2.查询话题Id集合对应的已转成议题的议题Id集合
return resiTopicdDao.selectIssueList(topicList);
}
}

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

@ -79,6 +79,7 @@ import com.epmet.resi.group.dto.topic.form.*;
import com.epmet.resi.group.dto.topic.form.CheckTopicPublisherFormDTO;
import com.epmet.resi.group.dto.topic.form.GovTopicIssueInfoFormDTO;
import com.epmet.resi.group.dto.topic.result.*;
import com.github.pagehelper.PageHelper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
@ -1275,6 +1276,13 @@ public class ResiTopicServiceImpl extends BaseServiceImpl<ResiTopicDao, ResiTopi
return resiTopicDao.checkTopicPublisher(formDTO);
}
@Override
public List<MyTopicsResultDTO> listMyTopics(String customerId, String userId, Integer pageNo, Integer pageSize) {
PageHelper.startPage(pageNo, pageSize);
List<MyTopicsResultDTO> myTopics = resiTopicDao.listMyTopics(userId, customerId);
// todo 查询网格名称,赋值
return myTopics;
}
}

2
epmet-module/resi-group/resi-group-server/src/main/resources/logback-spring.xml

@ -134,7 +134,7 @@
</appender>
<!-- 开发、测试环境 -->
<springProfile name="dev,test">
<springProfile name="local,dev,test">
<logger name="org.springframework.web" level="INFO"/>
<logger name="org.springboot.sample" level="INFO"/>
<logger name="com.epmet.modules.comment.dao" level="DEBUG"/>

18
epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicCommentDao.xml

@ -70,4 +70,22 @@
#{pageNo},#{pageSize}
</select>
<select id="selectTopicList" resultType="java.lang.String">
SELECT
DISTINCT(topic_id)
FROM
resi_topic_comment
WHERE
del_flag = '0'
AND created_by = #{userId}
AND topic_id NOT IN (
SELECT
id
FROM
resi_topic
WHERE
created_by = #{userId}
)
</select>
</mapper>

27
epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicDao.xml

@ -446,5 +446,32 @@
AND created_by = #{createdBy}
AND id = #{topicId}
</select>
<select id="listMyTopics" resultType="com.epmet.resi.group.dto.topic.result.MyTopicsResultDTO">
select t.id as topicId,
t.topic_content as topicContent,
unix_timestamp(t.created_time) as releaseTime,
g.GROUP_NAME as releaseGroupName
from resi_topic t
inner join resi_group g on (t.GROUP_ID = g.ID and g.CUSTOMER_ID = #{customerId})
where t.CREATED_BY = #{userId}
order by t.CREATED_TIME desc
</select>
<select id="selectIssueList" resultType="com.epmet.resi.group.dto.topic.result.IssueGridResultDTO">
SELECT
rt.issue_id AS "gridId",
rg.grid_id AS "issueId"
FROM
resi_topic rt
INNER JOIN resi_group rg ON rt.group_id = rg.id
WHERE
rt.del_flag = '0'
AND rt.shift_issue = '1'<!-- 话题转议题标志 -->
<foreach collection="topicList" item="topicId" open="AND( " separator=" OR " index="index" close=")">
rt.id = #{topicId}
</foreach>
</select>
</mapper>

37
epmet-module/resi-mine/resi-mine-client/src/main/java/com/epmet/resi/mine/dto/from/MyPartProjectsFormDTO.java

@ -0,0 +1,37 @@
package com.epmet.resi.mine.dto.from;
import lombok.Data;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.List;
/**
* @Description 个人中心-我参与的项目列表-接口入参
* @Auth sun
*/
@Data
public class MyPartProjectsFormDTO implements Serializable {
private static final long serialVersionUID = -6534841370041338474L;
@NotBlank(message = "客户Id不能为空", groups = {MyPartProjectsFormDTO.MyProject.class})
private String customerId;
/**
* 当前页
* */
@Min(value = 1)
private Integer pageNo;
/**
* 每页数量
* */
private Integer pageSize = 20;
/**
* token中用户Id
*/
private String userId;
/**
* 议题Id集合
*/
private List<String> issueList;
public interface MyProject {}
}

18
epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/person/controller/IssueController.java

@ -2,11 +2,16 @@ package com.epmet.modules.person.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.security.user.LoginUserUtil;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.result.MyPartIssuesResultDTO;
import com.epmet.dto.result.MyPartProjectsResultDTO;
import com.epmet.modules.person.service.IssueService;
import com.epmet.resi.mine.dto.from.MyPartProjectsFormDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@ -22,6 +27,8 @@ public class IssueController {
@Autowired
private IssueService issueService;
@Autowired
private LoginUserUtil loginUserUtil;
/**
* @Description 个人中心-我参与的议题列表
@ -34,4 +41,15 @@ public class IssueController {
return new Result<List<MyPartIssuesResultDTO>>().ok(issueService.myPartIssues(tokenDto));
}
/**
* @Description 个人中心-我参与的项目列表
* @author sun
*/
@PostMapping("my-part-projects")
public Result<List<MyPartProjectsResultDTO>> myPartProjects(@RequestBody MyPartProjectsFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, MyPartProjectsFormDTO.MyProject.class);
formDTO.setUserId(loginUserUtil.getLoginUserId());
return new Result<List<MyPartProjectsResultDTO>>().ok(issueService.myPartProjects(formDTO));
}
}

7
epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/person/service/IssueService.java

@ -2,6 +2,8 @@ package com.epmet.modules.person.service;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.dto.result.MyPartIssuesResultDTO;
import com.epmet.dto.result.MyPartProjectsResultDTO;
import com.epmet.resi.mine.dto.from.MyPartProjectsFormDTO;
import java.util.List;
@ -19,4 +21,9 @@ public interface IssueService {
*/
List<MyPartIssuesResultDTO> myPartIssues(TokenDto tokenDto);
/**
* @Description 个人中心-我参与的项目列表
* @author sun
*/
List<MyPartProjectsResultDTO> myPartProjects(MyPartProjectsFormDTO formDTO);
}

97
epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/person/service/impl/IssueServiceImpl.java

@ -1,13 +1,30 @@
package com.epmet.modules.person.service.impl;
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.Result;
import com.epmet.dto.form.MyPartIssuesFormDTO;
import com.epmet.dto.result.AllGridsByUserIdResultDTO;
import com.epmet.dto.result.MyPartIssuesResultDTO;
import com.epmet.dto.result.MyPartProjectsResultDTO;
import com.epmet.feign.GovIssueOpenFeignClient;
import com.epmet.feign.GovOrgOpenFeignClient;
import com.epmet.feign.GovProjectOpenFeignClient;
import com.epmet.modules.person.service.IssueService;
import com.epmet.resi.group.dto.topic.result.IssueGridResultDTO;
import com.epmet.resi.group.feign.ResiGroupOpenFeignClient;
import com.epmet.resi.mine.dto.from.MyPartProjectsFormDTO;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
* @Author zxc
@ -17,6 +34,17 @@ import java.util.List;
@Slf4j
public class IssueServiceImpl implements IssueService {
private final Log logger = LogFactory.getLog(getClass());
@Autowired
private GovIssueOpenFeignClient issueOpenFeignClient;
@Autowired
private ResiGroupOpenFeignClient resiGroupOpenFeignClient;
@Autowired
private GovProjectOpenFeignClient govProjectOpenFeignClient;
@Autowired
private GovOrgOpenFeignClient govOrgOpenFeignClient;
/**
* @Description 个人中心-我参与的议题列表
* @Param tokenDto
@ -27,6 +55,73 @@ public class IssueServiceImpl implements IssueService {
public List<MyPartIssuesResultDTO> myPartIssues(TokenDto tokenDto) {
MyPartIssuesFormDTO form = new MyPartIssuesFormDTO();
form.setUserId(tokenDto.getUserId());
return null;
Result<List<MyPartIssuesResultDTO>> listResult = issueOpenFeignClient.myPartIssues(form);
if (!listResult.success()){
throw new RenException("查询我参与的议题列表失败......");
}
if (CollectionUtils.isEmpty(listResult.getData())){
return new ArrayList<>();
}
return listResult.getData();
}
/**
* @Description 个人中心-我参与的项目列表
* @author sun
*/
@Override
public List<MyPartProjectsResultDTO> myPartProjects(MyPartProjectsFormDTO formDTO) {
List<MyPartProjectsResultDTO> resultList = new ArrayList<>();
//1.查询用户评论过的且以转成议题的议题信息,不包含自己发表的且已转成议题的话题
Result<List<IssueGridResultDTO>> result = resiGroupOpenFeignClient.topicToIssueList(formDTO);
if (!result.success()) {
logger.error(String.format("我参与的项目列表->查询用户参与的议题数据失败,用户Id:%s", formDTO.getUserId()));
throw new RenException("获取用户参与的议题数据失败");
}
List<IssueGridResultDTO> issueGridList = result.getData();
if (issueGridList.size() < NumConstant.ONE) {
return resultList;
}
//议题Id集合
List<String> issueIdList = issueGridList.stream().map(IssueGridResultDTO::getIssueId).collect(Collectors.toList());
issueIdList = issueIdList.stream().distinct().collect(Collectors.toList());
//网格Id集合
List<String> gridIdList = issueGridList.stream().map(IssueGridResultDTO::getGridId).collect(Collectors.toList());
gridIdList = gridIdList.stream().distinct().collect(Collectors.toList());
//2.根据议题Id集合查询对应的项目信息
formDTO.setIssueList(issueIdList);
Result<List<MyPartProjectsResultDTO>> projectResult = govProjectOpenFeignClient.issueToProjectList(formDTO);
if (!projectResult.success()) {
logger.error(String.format("我参与的项目列表->查询用户参与的项目数据失败,用户Id:%s", formDTO.getUserId()));
throw new RenException("获取用户参与的项目数据失败");
}
if (projectResult.getData().size() < NumConstant.ONE) {
return resultList;
}
resultList = projectResult.getData();
//3.根据网格Id集合查询网格信息
Result<List<AllGridsByUserIdResultDTO>> gridResult = govOrgOpenFeignClient.getGridListByGridIds(gridIdList);
if (!gridResult.success()) {
logger.error("我参与的项目列表->获取网格信息失败");
throw new RenException("获取用户参与的项目数据失败");
}
List<AllGridsByUserIdResultDTO> gridList = gridResult.getData();
//4.封装数据并返回
resultList.forEach(re -> {
issueGridList.forEach(is -> {
if (re.getIssueId().equals(is.getIssueId())) {
gridList.forEach(g -> {
if (is.getGridId().equals(g.getGridId())) {
re.setTopicReleaseGridName(g.getGridName());
}
});
}
});
});
return resultList;
}
}

5
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/BadgeAuditRecordResultDTO.java

@ -45,4 +45,9 @@ public class BadgeAuditRecordResultDTO implements Serializable {
* 用户头像
*/
private String userAvatar;
/**
* 审核记录ID
*/
private String recordId;
}

5
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/BadgeAuditingResultDTO.java

@ -45,4 +45,9 @@ public class BadgeAuditingResultDTO implements Serializable {
*/
private String userAvatar;
/**
* 徽章审核记录ID
*/
private String recordId;
}

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

@ -132,6 +132,7 @@ public class UserBadgeServiceImpl implements UserBadgeService {
@Override
@Transactional(rollbackFor = Exception.class)
public Result authBadgeRecord(CertificationAddFormDTO certificationAddFormDTO) {
log.info(JSON.toJSONString(certificationAddFormDTO));
if (StringUtils.isNotBlank(certificationAddFormDTO.getMobile())){
String smsCode = userBadgeRedis.getBadgeSmsCode(certificationAddFormDTO.getMobile());
if (!StringUtils.isNotBlank(smsCode)){
@ -150,6 +151,7 @@ public class UserBadgeServiceImpl implements UserBadgeService {
form.setIdNum(certificationAddFormDTO.getIdcard());
form.setCertificationImg(certificationAddFormDTO.getCertificationImg());
form.setSurname(certificationAddFormDTO.getSurname());
log.info(JSON.toJSONString(form));
userBadgeDao.insertUserBadgeCertificateRecord(form);
//TODO 站内信发送 您好,您的xxx徽章因认证失败未成功点亮,请查看

6
epmet-user/epmet-user-server/src/main/resources/mapper/BadgeDao.xml

@ -142,7 +142,8 @@
</select>
<select id="selectAuditingList" resultType="com.epmet.dto.result.BadgeAuditingResultDTO">
SELECT
ubcr.ID AS "badgeId",
ubcr.ID AS recordId,
ubcr.badge_id AS "badgeId",
badge.BADGE_NAME,
badge.BADGE_ICON,
ubcr.USER_ID,
@ -176,7 +177,8 @@
</select>
<select id="selectAuditRecord" resultType="com.epmet.dto.result.BadgeAuditRecordResultDTO">
SELECT
ubcr.ID AS "badgeId",
ubcr.ID AS recordId,
ubcr.badge_id AS "badgeId",
badge.BADGE_NAME,
badge.BADGE_ICON,
ubcr.USER_ID,

Loading…
Cancel
Save