diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/EvaluationListFormDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/EvaluationListFormDTO.java new file mode 100644 index 0000000000..11c8bc0d5e --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/EvaluationListFormDTO.java @@ -0,0 +1,32 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 满意度评价列表——已关闭 + */ +@Data +public class EvaluationListFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 议题Id + */ + private String IssueId; + + /** + * 页码 + */ + private Integer pageNo; + + /** + * 每页数量 + */ + private Integer pageSize; + + +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/UserResiInfoListFormDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/UserResiInfoListFormDTO.java new file mode 100644 index 0000000000..1a5fe5274c --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/UserResiInfoListFormDTO.java @@ -0,0 +1,22 @@ +package com.epmet.dto.form; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.List; + +/** + * @Description userId集合 + * @Author yinzuomei + * @Date 2020/4/7 18:20 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class UserResiInfoListFormDTO implements Serializable { + private static final long serialVersionUID = -4454561042197166135L; + + private List userIdList; +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/EvaluationListResultDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/EvaluationListResultDTO.java new file mode 100644 index 0000000000..0a286112d7 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/EvaluationListResultDTO.java @@ -0,0 +1,47 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 满意度评价列表——已关闭 + */ +@Data +public class EvaluationListResultDTO implements Serializable { + + private static final long serialVersionUID = -1L; + + /** + * 评价用户Id + */ + private String userId; + + /** + * 评价用户(山东路168-尹女士) + */ + private String userNickName; + + /** + * 满意度 - 不满意:bad、基本满意:good、非常满意:perfect + */ + private String satisfaction; + + /** + * 评价时间 + */ + private Long evaluateTime; + + /** + * 评价内容 + */ + private String evaluateContent; + + /** + * 用户头像 + */ + private String userHeadPhoto; + + +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/UserResiInfoResultDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/UserResiInfoResultDTO.java new file mode 100644 index 0000000000..6bdc1f6d2f --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/UserResiInfoResultDTO.java @@ -0,0 +1,64 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 用户注册信息返参DTO + * @Author yinzuomei + * @Date 2020/4/7 18:45 + */ +@Data +public class UserResiInfoResultDTO implements Serializable { + + /** + * 唯一标识 + */ + private String id; + + /** + * 用户Id(主键) user.id + */ + private String userId; + + /** + * 手机号(注册手机号) + */ + private String regMobile; + + /** + * 姓氏 + */ + private String surname; + + /** + * 名称 + */ + private String name; + + /** + * 街道 + */ + private String street; + + /** + * 小区名称 + */ + private String district; + + /** + * 楼栋单元 + */ + private String buildingAddress; + + /** + * 用户显示名称 + */ + private String showName; + + /** + * 用户头像 + */ + private String headPhoto; +} diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/IssueConstant.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/IssueConstant.java index 48ed20352d..c5170b7e79 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/IssueConstant.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/IssueConstant.java @@ -52,4 +52,6 @@ public interface IssueConstant { String ISSUE_AGENCY = "agency"; String ISSUE_DEPT = "dept"; String ISSUE_GRID = "grid"; + + String SELECT_USERINFO_EXCEPTION = "获取用户昵称、头像失败"; } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueManageController.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueManageController.java index 6ad967cdca..da9fa30482 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueManageController.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueManageController.java @@ -6,14 +6,20 @@ import com.epmet.commons.tools.enums.RequirePermissionEnum; 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.CloseIssueFormDTO; +import com.epmet.dto.form.*; +import com.epmet.dto.result.DepartmentStaffListResultDTO; +import com.epmet.dto.result.EvaluationListResultDTO; +import com.epmet.dto.result.VotingTrendResultDTO; import com.epmet.service.IssueService; +import com.epmet.service.IssueVoteStatisticalService; 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; +import java.util.List; + /** * @Description 政府端-基层治理-议题管理 * @Author yinzuomei @@ -25,6 +31,8 @@ public class IssueManageController { @Autowired private IssueService issueService; + @Autowired + private IssueVoteStatisticalService issueVoteStatisticalService; /** * @param formDTO @@ -39,5 +47,38 @@ public class IssueManageController { issueService.closeIssue(formDTO); return new Result(); } + + /** + * @param formDTO + * @return + * @Author sun + * @Description 议题管理-部门人员选择 + **/ + @PostMapping("departmentstafflist") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_SHIFT_PROJECT) + public Result departmentStaffList(@LoginUser TokenDto tokenDTO, @RequestBody DepartmentStaffListFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + return new Result().ok(issueService.departmentStaffList(formDTO)); + } + + /** + * @Description 详情折线图 + * @param issueId + * @author zxc + */ + @PostMapping("votingtrend") + public Result votingTrend(@RequestBody IssueIdFormDTO issueId){ + return new Result().ok(issueVoteStatisticalService.votingTrend(issueId)); + } + + /** + * @Description 满意度评价列表——已关闭 + * @param formDTO + * @author zxc + */ + @PostMapping("evaluationlist") + public Result> evaluationList(@RequestBody EvaluationListFormDTO formDTO){ + return new Result>().ok(issueVoteStatisticalService.evaluationList(formDTO)); + } } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueSatisfactionDetailController.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueSatisfactionDetailController.java index b899a287ca..4eb362bec6 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueSatisfactionDetailController.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueSatisfactionDetailController.java @@ -27,7 +27,9 @@ import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.dto.IssueSatisfactionDetailDTO; import com.epmet.dto.form.EvaluateFormDTO; +import com.epmet.dto.form.EvaluationListFormDTO; import com.epmet.dto.form.InitEvaluationFormDTO; +import com.epmet.dto.result.EvaluationListResultDTO; import com.epmet.dto.result.InitEvaluationResultDTO; import com.epmet.excel.IssueSatisfactionDetailExcel; import com.epmet.service.IssueSatisfactionDetailService; @@ -105,7 +107,7 @@ public class IssueSatisfactionDetailController { } /** - * @Description 提交满意度评价 + * @Description 提交满意度评价——已关闭 * @param formDTO * @author zxc */ @@ -115,4 +117,14 @@ public class IssueSatisfactionDetailController { return new Result(); } + /** + * @Description 满意度评价列表——已关闭 + * @param formDTO + * @author zxc + */ + @PostMapping("evaluationlist") + public Result> evaluationList(@RequestBody EvaluationListFormDTO formDTO){ + return new Result>().ok(issueSatisfactionDetailService.evaluationList(formDTO)); + } + } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueSatisfactionDetailDao.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueSatisfactionDetailDao.java index 0c29b55ace..b8152ad1d3 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueSatisfactionDetailDao.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueSatisfactionDetailDao.java @@ -19,10 +19,14 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.EvaluateInfoDTO; +import com.epmet.dto.form.EvaluationListFormDTO; import com.epmet.dto.form.InitEvaluationFormDTO; +import com.epmet.dto.result.EvaluationListResultDTO; import com.epmet.entity.IssueSatisfactionDetailEntity; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * 议题满意度调查记录表 * @@ -39,4 +43,11 @@ public interface IssueSatisfactionDetailDao extends BaseDao evaluationList(EvaluationListFormDTO formDTO); + } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java new file mode 100644 index 0000000000..dd7dd564dc --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java @@ -0,0 +1,32 @@ +package com.epmet.feign; + +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.UserResiInfoListFormDTO; +import com.epmet.dto.result.UserResiInfoResultDTO; +import com.epmet.feign.fallback.EpmetUserFeignClientFallBack; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.List; + +/** + * @author zxc + * @dscription + * @date 2020/5/11 10:32 + */ +//url = "localhost:8087" +@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallback = EpmetUserFeignClientFallBack.class) +public interface EpmetUserFeignClient { + + /** + * @Description 查询评价人和评价人头像 + * @param formDTO + * @author zxc + */ + @PostMapping("/epmetuser/userresiinfo/getuserresiinfolist") + Result> getUserResiInfoList(@RequestBody UserResiInfoListFormDTO formDTO); + + +} diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java index 9cd829abe4..448afc2e58 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java @@ -5,8 +5,10 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.dto.CustomerGridDTO; import com.epmet.dto.form.CustomerGridFormDTO; import com.epmet.dto.result.AgencyGridResultDTO; +import com.epmet.dto.result.DepartmentStaffListResultDTO; import com.epmet.feign.fallback.GovOrgFeignClientFallBack; import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; /** @@ -24,4 +26,13 @@ public interface GovOrgFeignClient { **/ @PostMapping("/gov/org/customergrid/getcustomergridbygridid") Result getAgencyAndGrid(AgencyGridResultDTO agencyGridResultDTO); + + /** + * @param agencyId + * @return + * @Author sun + * @Description 查询组织下人员,组织下部门人员,组织下网格人员列表信息 + **/ + @PostMapping(value = "/gov/org/customeragency/departmentstafflist/{agencyId}") + Result departmentStaffList(@PathVariable("agencyId") String agencyId); } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java new file mode 100644 index 0000000000..8dd1e31196 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java @@ -0,0 +1,24 @@ +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.UserResiInfoListFormDTO; +import com.epmet.dto.result.UserResiInfoResultDTO; +import com.epmet.feign.EpmetUserFeignClient; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * @Auther zxc + * @Create 2020-05-11 10:33 + */ +@Component +public class EpmetUserFeignClientFallBack implements EpmetUserFeignClient { + + @Override + public Result> getUserResiInfoList(UserResiInfoListFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getUserResiInfoList", formDTO); + } +} diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java index 8aec17593a..336832326b 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java @@ -4,6 +4,7 @@ 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.result.AgencyGridResultDTO; +import com.epmet.dto.result.DepartmentStaffListResultDTO; import com.epmet.feign.GovOrgFeignClient; import org.springframework.stereotype.Component; @@ -13,8 +14,14 @@ import org.springframework.stereotype.Component; */ @Component public class GovOrgFeignClientFallBack implements GovOrgFeignClient { + @Override public Result getAgencyAndGrid(AgencyGridResultDTO agencyGridResultDTO) { return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getagencyandgrid", agencyGridResultDTO); } + + @Override + public Result departmentStaffList(String agencyId) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "departmentStaffList", agencyId); + } } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueSatisfactionDetailService.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueSatisfactionDetailService.java index 1abbd939af..a8fafa08a0 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueSatisfactionDetailService.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueSatisfactionDetailService.java @@ -21,9 +21,12 @@ import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.IssueSatisfactionDetailDTO; import com.epmet.dto.form.EvaluateFormDTO; +import com.epmet.dto.form.EvaluationListFormDTO; import com.epmet.dto.form.InitEvaluationFormDTO; +import com.epmet.dto.result.EvaluationListResultDTO; import com.epmet.dto.result.InitEvaluationResultDTO; import com.epmet.entity.IssueSatisfactionDetailEntity; +import org.springframework.web.bind.annotation.RequestBody; import java.util.List; import java.util.Map; @@ -97,16 +100,23 @@ public interface IssueSatisfactionDetailService extends BaseService evaluationList(@RequestBody EvaluationListFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java index 51a86afe48..d29223015f 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java @@ -2,7 +2,9 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.dto.form.CloseIssueFormDTO; +import com.epmet.dto.form.DepartmentStaffListFormDTO; import com.epmet.dto.form.IssueDetailFormDTO; +import com.epmet.dto.result.DepartmentStaffListResultDTO; import com.epmet.dto.result.GridVotingIssueCountResultDTO; import com.epmet.dto.result.IssueResultDTO; import com.epmet.entity.IssueEntity; @@ -31,6 +33,13 @@ public interface IssueService extends BaseService { **/ void closeIssue(CloseIssueFormDTO formDTO); + /** + * @param formDTO + * @return + * @Author sun + * @Description 议题管理-部门人员选择 + **/ + DepartmentStaffListResultDTO departmentStaffList(DepartmentStaffListFormDTO formDTO); /** * @param gridIdList * @return java.util.List diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueVoteStatisticalService.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueVoteStatisticalService.java index 8e1751de09..39e65850e8 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueVoteStatisticalService.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueVoteStatisticalService.java @@ -21,10 +21,13 @@ import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; 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.result.EvaluationListResultDTO; import com.epmet.dto.result.VoteResultDTO; import com.epmet.dto.result.VotingTrendResultDTO; import com.epmet.entity.IssueVoteStatisticalEntity; +import org.springframework.web.bind.annotation.RequestBody; import java.util.List; import java.util.Map; @@ -111,4 +114,11 @@ public interface IssueVoteStatisticalService extends BaseService evaluationList(EvaluationListFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueSatisfactionDetailServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueSatisfactionDetailServiceImpl.java index 5bd8aff0e6..37fb08814d 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueSatisfactionDetailServiceImpl.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueSatisfactionDetailServiceImpl.java @@ -20,6 +20,8 @@ package com.epmet.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; @@ -28,7 +30,9 @@ import com.epmet.dao.IssueSatisfactionDetailDao; import com.epmet.dto.EvaluateInfoDTO; import com.epmet.dto.IssueSatisfactionDetailDTO; import com.epmet.dto.form.EvaluateFormDTO; +import com.epmet.dto.form.EvaluationListFormDTO; import com.epmet.dto.form.InitEvaluationFormDTO; +import com.epmet.dto.result.EvaluationListResultDTO; import com.epmet.dto.result.InitEvaluationResultDTO; import com.epmet.entity.IssueSatisfactionDetailEntity; import com.epmet.redis.IssueSatisfactionDetailRedis; @@ -130,7 +134,7 @@ public class IssueSatisfactionDetailServiceImpl extends BaseServiceImpl evaluationList(EvaluationListFormDTO formDTO) { + return baseDao.evaluationList(formDTO); + } + } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java index 6483bfa018..6b93c7607b 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java @@ -11,9 +11,11 @@ import com.epmet.constant.UserMessageConstant; import com.epmet.dao.IssueDao; import com.epmet.dao.IssueProcessDao; import com.epmet.dto.form.CloseIssueFormDTO; +import com.epmet.dto.form.DepartmentStaffListFormDTO; import com.epmet.dto.form.IssueDetailFormDTO; import com.epmet.dto.form.UserMessageFormDTO; import com.epmet.dto.result.AgencyGridResultDTO; +import com.epmet.dto.result.DepartmentStaffListResultDTO; import com.epmet.dto.result.GridVotingIssueCountResultDTO; import com.epmet.dto.result.IssueResultDTO; import com.epmet.entity.IssueEntity; @@ -154,4 +156,17 @@ public class IssueServiceImpl extends BaseServiceImpl imp msgList.add(msgDTO); return messageFeignClient.saveUserMessageList(msgList); } + + /** + * @param formDTO + * @return + * @Author sun + * @Description 议题管理-部门人员选择 + **/ + @Override + public DepartmentStaffListResultDTO departmentStaffList(DepartmentStaffListFormDTO formDTO) { + //1:调用gov-org服务,分别查询组织下人员,组织下部门人员,组织下网格人员列表信息 + Result resultDTOResult = govOrgFeignClient.departmentStaffList(formDTO.getAgencyId()); + return resultDTOResult.getData(); + } } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteDetailServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteDetailServiceImpl.java index 2f10a43d19..ab2483778d 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteDetailServiceImpl.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteDetailServiceImpl.java @@ -119,7 +119,7 @@ public class IssueVoteDetailServiceImpl extends BaseServiceImpl page(Map params) { @@ -145,4 +160,35 @@ public class IssueVoteStatisticalServiceImpl extends BaseServiceImpl evaluationList(EvaluationListFormDTO formDTO) { + int pageIndex = (formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize(); + formDTO.setPageNo(pageIndex); + List data = issueSatisfactionDetailDao.evaluationList(formDTO); + if (data.size()==NumConstant.ZERO||data==null){ + return new ArrayList<>(); + } + //获取头像和昵称 eg:山东路168号-周先生 + List userIds = data.stream().map(EvaluationListResultDTO::getUserId).collect(Collectors.toList()); + UserResiInfoListFormDTO userResiInfo = new UserResiInfoListFormDTO(); + userResiInfo.setUserIdList(userIds); + List userResiInfoList = userFeignClient.getUserResiInfoList(userResiInfo).getData(); + if (null == userResiInfoList || userResiInfoList.size() < NumConstant.ONE) { + throw new RenException(IssueConstant.SELECT_USERINFO_EXCEPTION); + } + List resultList = data.stream().flatMap(evaluation -> userResiInfoList.stream().filter(user -> + evaluation.getUserId().equals(user.getUserId())).map(userInfo -> { + EvaluationListResultDTO resultDTO = ConvertUtils.sourceToTarget(evaluation, EvaluationListResultDTO.class); + resultDTO.setUserNickName(null == userInfo.getShowName() ? "" : userInfo.getShowName()); + resultDTO.setUserHeadPhoto(null == userInfo.getHeadPhoto() ? "" : userInfo.getHeadPhoto()); + return resultDTO; + })).collect(Collectors.toList()); + return resultList; + } + } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueSatisfactionDetailDao.xml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueSatisfactionDetailDao.xml index 576f6b859d..9f3644db84 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueSatisfactionDetailDao.xml +++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueSatisfactionDetailDao.xml @@ -29,4 +29,20 @@ AND created_by = #{userId} + + + \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/DepartmentStaffListFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/DepartmentStaffListFormDTO.java new file mode 100644 index 0000000000..4542a587db --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/DepartmentStaffListFormDTO.java @@ -0,0 +1,20 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 项目跟踪-部门人员选择-接口入参 + * @Author sun + */ +@Data +public class DepartmentStaffListFormDTO implements Serializable { + private static final long serialVersionUID = 4859779755214502427L; + + @NotBlank(message = "机关组织Id不能为空") + private String agencyId; + +} + diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CustomerStaffListResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CustomerStaffListResultDTO.java new file mode 100644 index 0000000000..4ca73628f7 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CustomerStaffListResultDTO.java @@ -0,0 +1,45 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + + +/** + * 工作人员信息及角色 + * + * @author sun + */ +@Data +public class CustomerStaffListResultDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 工作人员信息集合 + */ + private List staffList; + /** + * 工作人员角色集合 + */ + private List roleList; + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CustomerStaffRoleResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CustomerStaffRoleResultDTO.java new file mode 100644 index 0000000000..f54628f303 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CustomerStaffRoleResultDTO.java @@ -0,0 +1,48 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + + +/** + * 工作人员角色 + * + * @author sun + */ +@Data +public class CustomerStaffRoleResultDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 工作人员Id + */ + private String staffId = ""; + /** + * 人员角色Key + */ + private String roleKey = ""; + /** + * 人员角色名称 + */ + private String roleName = ""; + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/DepartmentStaffListResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/DepartmentStaffListResultDTO.java new file mode 100644 index 0000000000..6f706566c3 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/DepartmentStaffListResultDTO.java @@ -0,0 +1,51 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + + +/** + * 项目跟踪-部门人员选择-接口返参 + * + * @author sun + */ +@Data +public class DepartmentStaffListResultDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 组织下工作人员信息 + */ + private List agencyStaffList; + + /** + * 部门人员选择-组织下部门及人员列表 + */ + private List departmentList; + + /** + * 部门人员选择-组织下网格及人员列表 + */ + private List gridList; + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/DeptListResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/DeptListResultDTO.java new file mode 100644 index 0000000000..480b6ac408 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/DeptListResultDTO.java @@ -0,0 +1,49 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + + +/** + * 部门人员选择-组织下部门及人员列表 + * + * @author sun + */ +@Data +public class DeptListResultDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 部门Id + */ + private String departmentId; + /** + * 部门名称 + */ + private String departmentName; + /** + * 部门下人员集合 + */ + private List departmentStaffList; + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/GridListResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/GridListResultDTO.java new file mode 100644 index 0000000000..49be734771 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/GridListResultDTO.java @@ -0,0 +1,49 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + + +/** + * 部门人员选择-组织下网格及人员列表 + * + * @author sun + */ +@Data +public class GridListResultDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 网格Id + */ + private String gridId; + /** + * 网格名称 + */ + private String gridName; + /** + * 网格下工作人员集合 + */ + private List gridStaffList; + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/StaffListResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/StaffListResultDTO.java new file mode 100644 index 0000000000..27ff1b358b --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/StaffListResultDTO.java @@ -0,0 +1,36 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @dscription 工作人员信息 + * @author sun + */ +@Data +public class StaffListResultDTO implements Serializable { + + private static final long serialVersionUID = 5957826616179876849L; + /** + * 人员Id + */ + private String staffId; + /** + * 人员名称 + */ + private String staffName; + /** + * 人员头像 + */ + private String staffHeadPhoto; + /** + * 性别 + */ + private String gender; + /** + * 角色名称(机关领导、部门领导、网格长) + */ + private String roleName; + +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/constant/CustomerAgencyConstant.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/constant/CustomerAgencyConstant.java index 330185b612..f30c8c65ce 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/constant/CustomerAgencyConstant.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/constant/CustomerAgencyConstant.java @@ -38,4 +38,17 @@ public interface CustomerAgencyConstant { * 组织信息查询失败 */ String SELECT_EXCEPTION = "根据组织ID未查询到机构组织信息"; + + /** + * 工作人员角色-单位领导 + */ + String AGENCY_LEADER = "agency_leader"; + /** + * 工作人员角色-部门领导 + */ + String DEPT_LEADER = "dept_leader"; + /** + * 工作人员角色-网格长 + */ + String GRID_MANAGER = "grid_manager"; } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java index ee839de020..50cfe3c5be 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java @@ -28,6 +28,7 @@ import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.CustomerAgencyDTO; import com.epmet.dto.form.StaffOrgFormDTO; import com.epmet.dto.result.AgencyGridResultDTO; +import com.epmet.dto.result.DepartmentStaffListResultDTO; import com.epmet.dto.result.StaffOrgsResultDTO; import com.epmet.excel.CustomerAgencyExcel; import com.epmet.service.CustomerAgencyService; @@ -117,4 +118,15 @@ public class CustomerAgencyController { return new Result().ok(customerAgencyService.getAgencyAndGrid(agencyGridResultDTO)); } + /** + * @param agencyId + * @return + * @Author sun + * @Description 查询组织下人员,组织下部门人员,组织下网格人员列表信息 + **/ + @PostMapping("departmentstafflist/{agencyId}") + public Result departmentStaffList(@PathVariable("agencyId") String agencyId) { + return new Result().ok(customerAgencyService.departmentStaffList(agencyId)); + } + } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java index cc9f544cfb..669664481c 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java @@ -18,10 +18,11 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; -import com.epmet.dto.*; +import com.epmet.dto.CustomerGridDTO; +import com.epmet.dto.UserIdAndPidDTO; +import com.epmet.dto.UserIdDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; -import com.epmet.dto.result.CustomerGridForStrangerResultDTO; import com.epmet.entity.CustomerGridEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -160,4 +161,10 @@ public interface CustomerGridDao extends BaseDao { * @date 2020/5/11 18:50 */ BelongGridNameResultDTO getGridNameByGridId(BelongGridNameFormDTO formDTO); + + /** + * @Description 根据组织机关Id查询机关下网格列表 + * @author sun + */ + List selectGridList(@Param("agencyId") String agencyId); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffAgencyDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffAgencyDao.java index 9de920b942..7be691d69f 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffAgencyDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffAgencyDao.java @@ -20,6 +20,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.CustomerStaffAgencyDTO; import com.epmet.dto.form.CustomerGridFormDTO; +import com.epmet.dto.result.StaffListResultDTO; import com.epmet.entity.CustomerStaffAgencyEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -68,4 +69,10 @@ public interface CustomerStaffAgencyDao extends BaseDao getSelectableStaffsForDept(@Param("departmentId") String departmentId); + + /** + * 查询组织下人员列表 + * @Author sun + */ + List selectAgencyStaffList(@Param("agencyId") String agencyId); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffDepartmentDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffDepartmentDao.java index 0c6fc36a4b..88fc246656 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffDepartmentDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffDepartmentDao.java @@ -19,6 +19,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.CustomerStaffDepartmentDTO; +import com.epmet.dto.result.ParentListResultDTO; import com.epmet.entity.CustomerStaffDepartmentEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -58,4 +59,11 @@ public interface CustomerStaffDepartmentDao extends BaseDao selectDeptStaffs(@Param("deptIdList") List deptIdList); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffGridDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffGridDao.java index 7a01c76048..2a160f8a90 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffGridDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffGridDao.java @@ -19,6 +19,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.CustomerGridDTO; +import com.epmet.dto.CustomerStaffDepartmentDTO; import com.epmet.dto.CustomerStaffGridDTO; import com.epmet.dto.form.LatestGridFormDTO; import com.epmet.entity.CustomerStaffGridEntity; @@ -82,4 +83,11 @@ public interface CustomerStaffGridDao extends BaseDao { * @Author sun */ List selectByGridId(@Param("gridId")String gridId); + + /** + * + * @Author sun + * @Description 遍历查询每个部门下人员 + */ + List selectGridStaffs(@Param("gridIdList") List gridIdList); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java index 2f9fbb99c9..297df14501 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java @@ -22,6 +22,7 @@ import com.epmet.dto.CustomerStaffGridDTO; import com.epmet.dto.StaffGridListDTO; import com.epmet.feign.fallback.EpmetUserFeignClientFallBack; import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -159,4 +160,13 @@ public interface EpmetUserFeignClient { **/ @PostMapping("/epmetuser/staffrole/getcustomerstaffroles") Result getCustomerStaffRoles(CommonUserFormDTO commonUserFormDTO); + + /** + * @param staffIdList + * @return + * @Author sun + * @Description 根据staffId集合查询工作人员基础信息 + **/ + @PostMapping(value = "/epmetuser/customerstaff/getcustomerstafflist", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) + Result getCustomerStaffList(List staffIdList); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java index bac3fd9024..f6ac8153ce 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java @@ -101,4 +101,9 @@ public class EpmetUserFeignClientFallBack implements EpmetUserFeignClient { public Result getCustomerStaffRoles(CommonUserFormDTO commonUserFormDTO) { return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getCustomerStaffRoles", commonUserFormDTO); } + + @Override + public Result getCustomerStaffList(List staffIdList) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getCustomerStaffList", staffIdList); + } } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java index dceb37c12e..7af4c11691 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java @@ -23,6 +23,7 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.dto.CustomerAgencyDTO; import com.epmet.dto.form.StaffOrgFormDTO; import com.epmet.dto.result.AgencyGridResultDTO; +import com.epmet.dto.result.DepartmentStaffListResultDTO; import com.epmet.dto.result.StaffOrgsResultDTO; import com.epmet.entity.CustomerAgencyEntity; @@ -113,4 +114,12 @@ public interface CustomerAgencyService extends BaseService * @Description 根据组织Id、网格Id查询组织、网格名称 **/ AgencyGridResultDTO getAgencyAndGrid(AgencyGridResultDTO agencyGridResultDTO); + + /** + * @param agencyId + * @return + * @Author sun + * @Description 查询组织下人员,组织下部门人员,组织下网格人员列表信息 + **/ + DepartmentStaffListResultDTO departmentStaffList(String agencyId); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java index 43d442b32e..8a7607b942 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java @@ -27,16 +27,14 @@ import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.constant.CustomerAgencyConstant; import com.epmet.constant.CustomerGridConstant; -import com.epmet.dao.CustomerAgencyDao; -import com.epmet.dao.CustomerGridDao; -import com.epmet.dto.CustomerAgencyDTO; -import com.epmet.dto.CustomerDTO; +import com.epmet.dao.*; +import com.epmet.dto.*; import com.epmet.dto.form.CustomerFormDTO; import com.epmet.dto.form.StaffOrgFormDTO; -import com.epmet.dto.result.AgencyGridResultDTO; -import com.epmet.dto.result.StaffOrgsResultDTO; +import com.epmet.dto.result.*; import com.epmet.entity.CustomerAgencyEntity; import com.epmet.entity.CustomerGridEntity; +import com.epmet.feign.EpmetUserFeignClient; import com.epmet.feign.OperCrmFeignClient; import com.epmet.redis.CustomerAgencyRedis; import com.epmet.service.CustomerAgencyService; @@ -47,9 +45,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.util.*; +import java.util.stream.Collectors; /** * 机关单位信息表 @@ -67,6 +64,17 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl page(Map params) { IPage page = baseDao.selectPage( @@ -167,4 +175,127 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl agencyStaffList = customerStaffAgencyDao.selectAgencyStaffList(agencyId); + //2:根据组织Id查询该组织下部门、人员列表 + //2.1:查询组织下部门列表 + List listDept = customerDepartmentDao.selectDepartmentList(agencyId); + List departmentList = ConvertUtils.sourceToTarget(listDept, DeptListResultDTO.class); + //2.2:查询每一个部门下人员列表 + List deptIdList = departmentList.stream().map(DeptListResultDTO::getDepartmentId).collect(Collectors.toList()); + List deptStaffs = customerStaffDepartmentDao.selectDeptStaffs(deptIdList); + departmentList.forEach(dept->{ + List departmentStaffList = new ArrayList<>(); + deptStaffs.forEach(ds->{ + if(dept.getDepartmentId().equals(ds.getDepartmentId())){ + StaffListResultDTO sf = new StaffListResultDTO(); + sf.setStaffId(ds.getUserId()); + departmentStaffList.add(sf); + } + }); + dept.setDepartmentStaffList(departmentStaffList); + }); + //3:根据组织Id查询该组织下网格、人员列表 + //3.1:查询组织下网格列表 + List gridList = customerGridDao.selectGridList(agencyId); + //3.2:查询每一个网格下人员列表 + List gridIdList = gridList.stream().map(GridListResultDTO::getGridId).collect(Collectors.toList()); + List gridStaffs = customerStaffGridDao.selectGridStaffs(gridIdList); + gridList.forEach(grid->{ + List gridStaffList = new ArrayList<>(); + gridStaffs.forEach(gs->{ + if(grid.getGridId().equals(gs.getGridId())){ + StaffListResultDTO sf = new StaffListResultDTO(); + sf.setStaffId(gs.getUserId()); + gridStaffList.add(sf); + } + }); + grid.setGridStaffList(gridStaffList); + }); + //4:汇总组织下人员、组织下部门下人员、组织下网格下人员Id集合,调用epmet-user服务查询工作人员基本信息 + List staffIdList1 = agencyStaffList.stream().map(StaffListResultDTO::getStaffId).collect(Collectors.toList()); + List staffIdList2 = deptStaffs.stream().map(CustomerStaffDepartmentDTO::getUserId).collect(Collectors.toList()); + List staffIdList3 = gridStaffs.stream().map(CustomerStaffGridDTO::getUserId).collect(Collectors.toList()); + List staffIdList = new ArrayList<>(); + staffIdList.addAll(staffIdList1); staffIdList.addAll(staffIdList2); staffIdList.addAll(staffIdList3); + staffIdList = new ArrayList(new LinkedHashSet<>(staffIdList)); + Result userList = epmetUserFeignClient.getCustomerStaffList(staffIdList); + //5:循环数据,将人员数据放到对应数据结构下 + CustomerStaffListResultDTO dto = userList.getData(); + List staffList = dto.getStaffList(); + List roleList = dto.getRoleList(); + //有时间再优化成jdk8的遍历方式 + //5.1装载组织下人员数据 + for(StaffListResultDTO sf : agencyStaffList){ + //人员信息 + for(StaffListResultDTO stf : staffList){ + if(sf.getStaffId().equals(stf.getStaffId())){ + sf = ConvertUtils.sourceToTarget(stf, StaffListResultDTO.class); + break; + } + } + //人员角色信息 + for(CustomerStaffRoleResultDTO role : roleList){ + if(sf.getStaffId().equals(role.getStaffId())&&CustomerAgencyConstant.AGENCY_LEADER.equals(role.getRoleKey())){ + sf.setRoleName(role.getRoleName()); + break; + } + } + } + //5.2装载组织下部门下人员数据 + for(DeptListResultDTO dept : departmentList){ + List departmentStaffList = dept.getDepartmentStaffList(); + for(StaffListResultDTO ds : departmentStaffList){ + //人员信息 + for(StaffListResultDTO stf : staffList){ + if(ds.getStaffId().equals(stf.getStaffId())){ + ds = ConvertUtils.sourceToTarget(stf, StaffListResultDTO.class); + break; + } + } + //人员角色信息 + for(CustomerStaffRoleResultDTO role : roleList){ + if(ds.getStaffId().equals(role.getStaffId())&&CustomerAgencyConstant.DEPT_LEADER.equals(role.getRoleKey())){ + ds.setRoleName(role.getRoleName()); + break; + } + } + } + } + //5.3装载组织下网格下人员数据 + for(GridListResultDTO grid : gridList){ + List gridStaffList = grid.getGridStaffList(); + for(StaffListResultDTO gs : gridStaffList){ + //人员信息 + for(StaffListResultDTO stf : staffList){ + if(gs.getStaffId().equals(stf.getStaffId())){ + gs = ConvertUtils.sourceToTarget(stf, StaffListResultDTO.class); + break; + } + } + //人员角色信息 + for(CustomerStaffRoleResultDTO role : roleList){ + if(gs.getStaffId().equals(role.getStaffId())&&CustomerAgencyConstant.GRID_MANAGER.equals(role.getRoleKey())){ + gs.setRoleName(role.getRoleName()); + break; + } + } + } + } + resultDTO.setAgencyStaffList(agencyStaffList); + resultDTO.setDepartmentList(departmentList); + resultDTO.setGridList(gridList); + return resultDTO; + } + } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml index 5f40d5c0d8..9723d1e3f0 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml @@ -285,4 +285,14 @@ AND cg.del_flag = 0 + + \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffAgencyDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffAgencyDao.xml index 9f09e6ab22..0a721b3f77 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffAgencyDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffAgencyDao.xml @@ -95,6 +95,14 @@ DEPARTMENT_ID = #{departmentId} ) - + \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffDepartmentDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffDepartmentDao.xml index 7702cf9aa0..254cbc4ab2 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffDepartmentDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffDepartmentDao.xml @@ -14,6 +14,20 @@ + + UPDATE diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffGridDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffGridDao.xml index 9a4290d11c..1e6501c6bb 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffGridDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffGridDao.xml @@ -63,6 +63,20 @@ AND csg.grid_id = #{gridId} + + insert into customer_staff_grid diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectDTO.java index d2c8daf6ed..356bff7769 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectDTO.java @@ -63,6 +63,11 @@ public class ProjectDTO implements Serializable { */ private String status; + /** + * 结案说明 + */ + private String publicReply; + /** * 结案状态:已解决 resolved,未解决 unresolved */ diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectStaffDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectStaffDTO.java index ea0ef88350..7e4e7d2dce 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectStaffDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectStaffDTO.java @@ -84,7 +84,7 @@ public class ProjectStaffDTO implements Serializable { private String departmentName; /** - * 是否处理:未处理unhandle,已处理handle + * 是否处理:未处理unhandled,已处理handle */ private String isHandle; diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectClosedFromDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectClosedFromDTO.java index 29f755243b..4b9e9a5ff6 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectClosedFromDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectClosedFromDTO.java @@ -1,7 +1,9 @@ package com.epmet.dto.form; import lombok.Data; +import org.hibernate.validator.constraints.Length; +import javax.validation.constraints.NotBlank; import java.io.Serializable; /** @@ -13,6 +15,10 @@ import java.io.Serializable; public class ProjectClosedFromDTO implements Serializable { private static final long serialVersionUID = -7383213527369892832L; + /** + * 用户Id + */ + private String userId; /** * 项目Id */ @@ -24,9 +30,20 @@ public class ProjectClosedFromDTO implements Serializable { /** * 公开答复内容 */ + @NotBlank(message = "结案说明不能为空") + @Length(max = 1000, message = "结案说明不能超过1000个字符") private String publicReply; /** * 内部备注内容 */ + @Length(max = 1000, message = "内部备注不能超过1000个字符") private String internalRemark; + /** + * 项目人员关联表ID + */ + private String projectStaffId; + /** + * 部门名 + */ + private String departmentName; } diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectEvaluateFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectEvaluateFormDTO.java new file mode 100644 index 0000000000..d70fe56a24 --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectEvaluateFormDTO.java @@ -0,0 +1,37 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 提交满意度评价——已转项目 + */ +@Data +public class ProjectEvaluateFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 议题Id + */ + private String projectId; + + /** + * 满意度 - 不满意:bad、基本满意:good、非常满意:perfect + */ + private String satisfaction; + + /** + * 评价内容 + */ + private String comment; + + /** + * 用户ID + */ + private String userId; + + +} diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectEvaluationListFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectEvaluationListFormDTO.java new file mode 100644 index 0000000000..6ba8cf9c1d --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectEvaluationListFormDTO.java @@ -0,0 +1,32 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 满意度评价列表——已转项目 + */ +@Data +public class ProjectEvaluationListFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 议题Id + */ + private String projectId; + + /** + * 页码 + */ + private Integer pageNo; + + /** + * 每页数量 + */ + private Integer pageSize; + + +} diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectInitEvaluationFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectInitEvaluationFormDTO.java new file mode 100644 index 0000000000..c57d2cc4be --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectInitEvaluationFormDTO.java @@ -0,0 +1,27 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 满意度评价初始化 + */ +@Data +public class ProjectInitEvaluationFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 项目Id + */ + private String projectId; + + /** + * 创建人 + */ + private String userId; + + +} diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ReturnFromDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ReturnFromDTO.java index 12ec7137d1..8b36b5ddcd 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ReturnFromDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ReturnFromDTO.java @@ -1,7 +1,9 @@ package com.epmet.dto.form; import lombok.Data; +import org.hibernate.validator.constraints.Length; +import javax.validation.constraints.NotBlank; import java.io.Serializable; /** @@ -13,6 +15,10 @@ import java.io.Serializable; public class ReturnFromDTO implements Serializable { private static final long serialVersionUID = -8747667324909671154L; + /** + * 用户Id + */ + private String userId; /** * 项目Id */ @@ -24,9 +30,20 @@ public class ReturnFromDTO implements Serializable { /** * 公开答复内容 */ + @Length(max = 1000, message = "公开答复不能超过1000个字符") private String publicReply; /** * 内部流转意见 */ + @NotBlank(message = "内部备注不能为空") + @Length(max = 1000, message = "内部备注不能超过1000个字符") private String internalRemark; + /** + * 项目人员关联表ID + */ + private String projectStaffId; + /** + * 部门名 + */ + private String departmentName; } diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/CreatedListResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/CreatedListResultDTO.java index 3481754cba..ed225dc760 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/CreatedListResultDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/CreatedListResultDTO.java @@ -22,6 +22,14 @@ public class CreatedListResultDTO implements Serializable { * 项目标题 */ private String projectTitle; + /** + * 项目状态 + */ + private String projectStatus; + /** + * 结案说明 + */ + private String publicReply; /** * 项目创建时间 */ diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/InvolvedListResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/InvolvedListResultDTO.java index 39c552f9e5..1d22d0b0b3 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/InvolvedListResultDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/InvolvedListResultDTO.java @@ -22,6 +22,14 @@ public class InvolvedListResultDTO implements Serializable { * 项目标题 */ private String projectTitle; + /** + * 项目状态 + */ + private String projectStatus; + /** + * 结案说明 + */ + private String publicReply; /** * 创建时间 */ diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectDetailResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectDetailResultDTO.java index 9c9425d36f..f44973bcea 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectDetailResultDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectDetailResultDTO.java @@ -3,6 +3,7 @@ package com.epmet.dto.result; import lombok.Data; import java.io.Serializable; +import java.util.List; /** * @author zhaoqifeng @@ -45,5 +46,9 @@ public class ProjectDetailResultDTO implements Serializable { * 处理状态(是否由我处理) */ private Boolean processable; + /** + * 当前跟进部门 + */ + private List departmentNameList; } diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectEvaluateInfoResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectEvaluateInfoResultDTO.java new file mode 100644 index 0000000000..52950afad5 --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectEvaluateInfoResultDTO.java @@ -0,0 +1,25 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 项目满意度评价信息 + */ +@Data +public class ProjectEvaluateInfoResultDTO implements Serializable { + + private static final long serialVersionUID = -3699103790181586654L; + + /** + * 评价内容 + */ + private String evaluateContent; + + /** + * 满意度 - 不满意:bad、基本满意:good、非常满意:perfect + */ + private String satisfaction; +} diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectEvaluationListResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectEvaluationListResultDTO.java new file mode 100644 index 0000000000..dc40ce5a3c --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectEvaluationListResultDTO.java @@ -0,0 +1,47 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 满意度评价列表——已关闭 + */ +@Data +public class ProjectEvaluationListResultDTO implements Serializable { + + private static final long serialVersionUID = -1L; + + /** + * 评价用户Id + */ + private String userId; + + /** + * 评价用户(山东路168-尹女士) + */ + private String userNickName; + + /** + * 满意度 - 不满意:bad、基本满意:good、非常满意:perfect + */ + private String satisfaction; + + /** + * 评价时间 + */ + private Long evaluateTime; + + /** + * 评价内容 + */ + private String evaluateContent; + + /** + * 用户头像 + */ + private String userHeadPhoto; + + +} diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectInitEvaluationResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectInitEvaluationResultDTO.java new file mode 100644 index 0000000000..33883cd6ab --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectInitEvaluationResultDTO.java @@ -0,0 +1,28 @@ +package com.epmet.dto.result; + +import com.epmet.dto.form.ProjectEvaluateFormDTO; +import com.epmet.dto.form.ProjectInitEvaluationFormDTO; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 满意度评价初始化 + */ +@Data +public class ProjectInitEvaluationResultDTO implements Serializable { + + private static final long serialVersionUID = -1L; + + /** + * 评价状态:true已评价,false未评价 + */ + private Boolean status; + + /** + * 评价信息 + */ + private ProjectEvaluateInfoResultDTO evaluateInfo; + +} diff --git a/epmet-module/gov-project/gov-project-server/pom.xml b/epmet-module/gov-project/gov-project-server/pom.xml index ef9a20e890..1588d4238f 100644 --- a/epmet-module/gov-project/gov-project-server/pom.xml +++ b/epmet-module/gov-project/gov-project-server/pom.xml @@ -72,6 +72,12 @@ 2.0.0 compile + + com.epmet + gov-org-client + 2.0.0 + compile + diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectSatisfactionDetailController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectSatisfactionDetailController.java index 4505cf4ec7..e6cff263f9 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectSatisfactionDetailController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectSatisfactionDetailController.java @@ -26,6 +26,11 @@ import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.dto.ProjectSatisfactionDetailDTO; +import com.epmet.dto.form.ProjectEvaluateFormDTO; +import com.epmet.dto.form.ProjectEvaluationListFormDTO; +import com.epmet.dto.form.ProjectInitEvaluationFormDTO; +import com.epmet.dto.result.ProjectEvaluationListResultDTO; +import com.epmet.dto.result.ProjectInitEvaluationResultDTO; import com.epmet.excel.ProjectSatisfactionDetailExcel; import com.epmet.service.ProjectSatisfactionDetailService; import org.springframework.beans.factory.annotation.Autowired; @@ -91,4 +96,35 @@ public class ProjectSatisfactionDetailController { ExcelUtils.exportExcelToTarget(response, null, list, ProjectSatisfactionDetailExcel.class); } + /** + * @Description 提交满意度评价初始化——已转项目 + * @param formDTO + * @author zxc + */ + @PostMapping("projectinitevaluation") + public Result projectInitEvaluation(@RequestBody ProjectInitEvaluationFormDTO formDTO){ + return new Result().ok(projectSatisfactionDetailService.projectInitEvaluation(formDTO)); + } + + /** + * @Description 提交满意度评价——已转项目 + * @param projectEvaluate + * @author zxc + */ + @PostMapping("projectevaluate") + public Result projectEvaluate(@RequestBody ProjectEvaluateFormDTO projectEvaluate){ + projectSatisfactionDetailService.projectEvaluate(projectEvaluate); + return new Result(); + } + + /** + * @Description 满意度评价列表——已转项目 + * @param formDTO + * @author zxc + */ + @PostMapping("projectevaluationlist") + public Result> projectEvaluationList(@RequestBody ProjectEvaluationListFormDTO formDTO){ + return new Result>().ok(projectSatisfactionDetailService.projectEvaluationList(formDTO)); + } + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java index 9f2e75ed7f..3f88868a85 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java @@ -10,6 +10,7 @@ import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.service.ProjectProcessService; import com.epmet.service.ProjectSatisfactionDetailService; +import com.epmet.service.ProjectStaffService; import com.epmet.service.ProjectTraceService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; @@ -37,6 +38,9 @@ public class ProjectTraceController { @Autowired private ProjectSatisfactionDetailService projectSatisfactionDetailService; + @Autowired + private ProjectStaffService projectStaffService; + /** * 待处理项目列表 * @@ -166,5 +170,18 @@ public class ProjectTraceController { ValidatorUtils.validateEntity(formDTO); return new Result>().ok(projectSatisfactionDetailService.evaluationList(formDTO)); } + + /** + * @param formDTO + * @return + * @Author sun + * @Description 项目跟踪-部门人员选择 + **/ + @PostMapping("departmentstafflist") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_TRACE_TRANSFER) + public Result departmentStaffList(@LoginUser TokenDto tokenDTO, @RequestBody DepartmentStaffListFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + return new Result().ok(projectStaffService.departmentStaffList(formDTO)); + } } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessDao.java index 825918297a..71f0b72b72 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessDao.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessDao.java @@ -41,4 +41,6 @@ public interface ProjectProcessDao extends BaseDao { * @Description 根据项目Id查询项目处理进展列表 **/ List getProcessListByProjectId(@Param("projectId") String projectId); + + List selectReturnableList(@Param("projectId") String projectId); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectSatisfactionDetailDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectSatisfactionDetailDao.java index 514c7060b1..83ab6375c0 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectSatisfactionDetailDao.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectSatisfactionDetailDao.java @@ -18,7 +18,11 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.form.ProjectEvaluationListFormDTO; +import com.epmet.dto.form.ProjectInitEvaluationFormDTO; +import com.epmet.dto.result.ProjectEvaluateInfoResultDTO; import com.epmet.dto.result.EvaluationListResultDTO; +import com.epmet.dto.result.ProjectEvaluationListResultDTO; import com.epmet.entity.ProjectSatisfactionDetailEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -41,4 +45,19 @@ public interface ProjectSatisfactionDetailDao extends BaseDao getEvaluationListByProjectId(@Param("projectId") String projectId); + + /** + * @Description 满意度评价初始化——已转项目 + * @param projectEvaluateFormDTO + * @author zxc + */ + ProjectEvaluateInfoResultDTO checkProjectSatisfaction(ProjectInitEvaluationFormDTO projectEvaluateFormDTO); + + /** + * @Description 满意度评价列表——已转项目 + * @param formDTO + * @author zxc + */ + List projectEvaluationList(ProjectEvaluationListFormDTO formDTO); + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectStaffDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectStaffDao.java index b93b670473..27b5165246 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectStaffDao.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectStaffDao.java @@ -22,6 +22,7 @@ import com.epmet.dto.ProjectStaffDTO; import com.epmet.dto.result.DepartmentResultDTO; import com.epmet.entity.ProjectStaffEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -43,5 +44,14 @@ public interface ProjectStaffDao extends BaseDao { * @date 2020/5/12 16:40 */ List selectDepartmentNameList(ProjectStaffDTO dto); + + /** + * 获取节点处理人信息 + * @author zhaoqifeng + * @date 2020/5/13 15:08 + * @param processId + * @return com.epmet.dto.ProjectStaffDTO + */ + ProjectStaffDTO selectProjectStaffInfo(@Param("processId") String processId); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectProcessEntity.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectProcessEntity.java index 0890e5dec8..e9ae924698 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectProcessEntity.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectProcessEntity.java @@ -43,11 +43,6 @@ public class ProjectProcessEntity extends BaseEpmetEntity { */ private String projectId; - /** - * 项目处理进展ID - */ - private String processId; - /** * 部门名 */ diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectStaffEntity.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectStaffEntity.java index dc8e798090..3184a68a34 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectStaffEntity.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectStaffEntity.java @@ -79,7 +79,7 @@ public class ProjectStaffEntity extends BaseEpmetEntity { private String departmentName; /** - * 是否处理:未处理unhandle,已处理handle + * 是否处理:未处理unhandled,已处理handle */ private String isHandle; diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java index 11f0f28937..bf4458e68b 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java @@ -2,7 +2,9 @@ package com.epmet.feign; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.StaffsInAgencyFromDTO; import com.epmet.dto.form.UserResiInfoListFormDTO; +import com.epmet.dto.result.StaffInfoResultDTO; import com.epmet.dto.result.UserResiInfoResultDTO; import com.epmet.feign.fallback.EpmetUserFeignClientFallBack; import org.springframework.cloud.openfeign.FeignClient; @@ -26,4 +28,12 @@ public interface EpmetUserFeignClient { **/ @PostMapping("/epmetuser/userresiinfo/getuserresiinfolist") Result> getUserResiInfoList(@RequestBody UserResiInfoListFormDTO userResiInfoListFormDTO); + + /** + * 工作人员列表 + * @param fromDTO + * @return + */ + @PostMapping("/epmetuser/customerstaff/stafflist") + Result> getStaffList(@RequestBody StaffsInAgencyFromDTO fromDTO); } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java index e4ae2ffc95..503ee6d58c 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java @@ -2,8 +2,14 @@ package com.epmet.feign; import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.CustomerAgencyDTO; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.result.DepartmentStaffListResultDTO; import com.epmet.feign.fallback.GovOrgFeignClientFallBack; import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; /** @@ -13,5 +19,20 @@ import org.springframework.cloud.openfeign.FeignClient; @FeignClient(name = ServiceConstant.GOV_ORG_SERVER, fallback = GovOrgFeignClientFallBack.class) public interface GovOrgFeignClient { + /** + * 根据Id查询agency + * @param agencyId + * @return + */ + @PostMapping("/gov/org/agency/agencybyid/{agencyId}") + Result getAgencyById(@PathVariable("agencyId") String agencyId); + /** + * @param agencyId + * @return + * @Author sun + * @Description 查询组织下人员,组织下部门人员,组织下网格人员列表信息 + **/ + @PostMapping(value = "/gov/org/customeragency/departmentstafflist/{agencyId}") + Result departmentStaffList(@PathVariable("agencyId") String agencyId); } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java index 88e9590eaf..94a52d75f0 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java @@ -3,7 +3,9 @@ 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.StaffsInAgencyFromDTO; import com.epmet.dto.form.UserResiInfoListFormDTO; +import com.epmet.dto.result.StaffInfoResultDTO; import com.epmet.dto.result.UserResiInfoResultDTO; import com.epmet.feign.EpmetUserFeignClient; import org.springframework.stereotype.Component; @@ -21,4 +23,9 @@ public class EpmetUserFeignClientFallBack implements EpmetUserFeignClient { public Result> getUserResiInfoList(UserResiInfoListFormDTO userResiInfoListFormDTO) { return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getUserResiInfoList", userResiInfoListFormDTO); } + + @Override + public Result> getStaffList(StaffsInAgencyFromDTO fromDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getStaffList", fromDTO); + } } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java index 6eccf9cb4a..318975d5c9 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java @@ -1,5 +1,13 @@ 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.CustomerAgencyDTO; +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.result.DepartmentStaffListResultDTO; import com.epmet.feign.GovOrgFeignClient; import org.springframework.stereotype.Component; @@ -10,4 +18,12 @@ import org.springframework.stereotype.Component; @Component public class GovOrgFeignClientFallBack implements GovOrgFeignClient { + @Override + public Result getAgencyById(String agencyId) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getAgencyById", agencyId); + } + @Override + public Result departmentStaffList(String agencyId) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "departmentStaffList", agencyId); + } } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessService.java index ce4889776a..ebfc0e83ca 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessService.java @@ -21,7 +21,9 @@ import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.ProjectProcessDTO; import com.epmet.dto.form.ProcessListFormDTO; +import com.epmet.dto.form.ReturnListFromDTO; import com.epmet.dto.result.ProcesslistResultDTO; +import com.epmet.dto.result.ReturnListResultDTO; import com.epmet.entity.ProjectProcessEntity; import java.util.List; @@ -102,4 +104,13 @@ public interface ProjectProcessService extends BaseService * @Description 项目跟踪-项目处理进展列表 **/ List progressList(ProcessListFormDTO formDTO); + + /** + * 可退回节点列表 + * @author zhaoqifeng + * @date 2020/5/13 13:42 + * @param fromDTO + * @return java.util.List + */ + List getReturnableList(ReturnListFromDTO fromDTO); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectSatisfactionDetailService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectSatisfactionDetailService.java index 94decfd804..245b443e28 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectSatisfactionDetailService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectSatisfactionDetailService.java @@ -21,8 +21,14 @@ import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.ProjectSatisfactionDetailDTO; import com.epmet.dto.form.EvaluationListFormDTO; +import com.epmet.dto.form.ProjectEvaluationListFormDTO; import com.epmet.dto.result.EvaluationListResultDTO; +import com.epmet.dto.form.ProjectEvaluateFormDTO; +import com.epmet.dto.form.ProjectInitEvaluationFormDTO; +import com.epmet.dto.result.ProjectEvaluationListResultDTO; +import com.epmet.dto.result.ProjectInitEvaluationResultDTO; import com.epmet.entity.ProjectSatisfactionDetailEntity; +import org.springframework.web.bind.annotation.RequestBody; import java.util.List; import java.util.Map; @@ -102,4 +108,25 @@ public interface ProjectSatisfactionDetailService extends BaseService evaluationList(EvaluationListFormDTO formDTO); + + /** + * @Description 满意度评价初始化——已转项目 + * @param projectInitEvaluation + * @author zxc + */ + ProjectInitEvaluationResultDTO projectInitEvaluation(ProjectInitEvaluationFormDTO projectInitEvaluation); + + /** + * @Description 提交满意度评价——已转项目 + * @param projectEvaluate + * @author zxc + */ + void projectEvaluate(ProjectEvaluateFormDTO projectEvaluate); + + /** + * @Description 满意度评价列表——已转项目 + * @param formDTO + * @author zxc + */ + List projectEvaluationList(@RequestBody ProjectEvaluationListFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java index 99e0b34b68..cb39927bf0 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java @@ -21,8 +21,10 @@ import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.dto.ProjectDTO; +import com.epmet.dto.form.ProjectClosedFromDTO; import com.epmet.dto.form.ProjectDetailFromDTO; import com.epmet.dto.form.ProjectListFromDTO; +import com.epmet.dto.form.ReturnFromDTO; import com.epmet.dto.result.CreatedListResultDTO; import com.epmet.dto.result.InvolvedListResultDTO; import com.epmet.dto.result.PendProjectListResultDTO; @@ -139,4 +141,22 @@ public interface ProjectService extends BaseService { * @date 2020/5/12 15:13 */ ProjectDetailResultDTO getProjectDetail(ProjectDetailFromDTO fromDTO); + + /** + * 项目结案 + * @author zhaoqifeng + * @date 2020/5/13 9:54 + * @param fromDTO 参数 + * @return void + */ + void closed(ProjectClosedFromDTO fromDTO); + + /** + * 项目退回 + * @author zhaoqifeng + * @date 2020/5/13 14:35 + * @param fromDTO 参数 + * @return void + */ + void projectReturn(ReturnFromDTO fromDTO); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectStaffService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectStaffService.java index 62d3b66965..ba73f3a7de 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectStaffService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectStaffService.java @@ -20,7 +20,10 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.ProjectStaffDTO; +import com.epmet.dto.form.DepartmentStaffListFormDTO; import com.epmet.dto.result.DepartmentResultDTO; +import com.epmet.entity.ProjectProcessEntity; +import com.epmet.dto.result.DepartmentStaffListResultDTO; import com.epmet.entity.ProjectStaffEntity; import java.util.List; @@ -103,4 +106,21 @@ public interface ProjectStaffService extends BaseService { * @date 2020/5/12 16:40 */ List getDepartmentNameList(ProjectStaffDTO dto); + + /** + * 获取节点处理人信息 + * @author zhaoqifeng + * @date 2020/5/13 15:06 + * @param projectProcessId 项目处理进展ID + * @return com.epmet.dto.ProjectStaffDTO + */ + ProjectStaffDTO getProjectStaffInfo(String projectProcessId); + + /** + * @param formDTO + * @return + * @Author sun + * @Description 项目跟踪-部门人员选择 + **/ + DepartmentStaffListResultDTO departmentStaffList(DepartmentStaffListFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java index 6c45ca75e9..78ea0dc5b0 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java @@ -23,21 +23,31 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.Result; import com.epmet.dao.ProjectProcessDao; import com.epmet.dao.ProjectStaffDao; +import com.epmet.dto.CustomerAgencyDTO; import com.epmet.dto.ProjectProcessDTO; import com.epmet.dto.form.ProcessListFormDTO; +import com.epmet.dto.form.ReturnListFromDTO; +import com.epmet.dto.form.StaffsInAgencyFromDTO; import com.epmet.dto.result.ProcesslistResultDTO; +import com.epmet.dto.result.ReturnListResultDTO; +import com.epmet.dto.result.StaffInfoResultDTO; +import com.epmet.entity.ProjectEntity; import com.epmet.entity.ProjectProcessEntity; +import com.epmet.feign.EpmetUserFeignClient; import com.epmet.feign.GovOrgFeignClient; import com.epmet.redis.ProjectProcessRedis; import com.epmet.service.ProjectProcessService; +import com.epmet.service.ProjectService; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.*; +import java.util.stream.Collectors; /** * 项目处理进展表 @@ -54,6 +64,10 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl page(Map params) { @@ -119,4 +133,29 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl getReturnableList(ReturnListFromDTO fromDTO) { + List list = baseDao.selectReturnableList(fromDTO.getProjectId()); + //遍历获取所有的userId + List userIds = list.stream().map(ProjectProcessEntity::getStaffId).collect(Collectors.toList()); + //获取项目信息 + ProjectEntity projectEntity = projectService.selectById(fromDTO.getProjectId()); + //获取组织信息 + Result customerAgency = govOrgFeignClient.getAgencyById(projectEntity.getAgencyId()); + //获取人员信息 + StaffsInAgencyFromDTO staffsInAgencyFromDTO = new StaffsInAgencyFromDTO(); + staffsInAgencyFromDTO.setCustomerId(customerAgency.getData().getCustomerId()); + staffsInAgencyFromDTO.setStaffList(userIds); + List staffList = epmetUserFeignClient.getStaffList(staffsInAgencyFromDTO).getData(); + //合成返回值 + List resultList = + list.stream().flatMap(process -> staffList.stream().filter(staff -> process.getStaffId().equals(staff.getStaffId())).map(userInfo ->{ + ReturnListResultDTO resultDTO = new ReturnListResultDTO(); + resultDTO.setProjectProcessId(process.getId()); + resultDTO.setProcessor(process.getDepartmentName().concat("-").concat(userInfo.getStaffName())); + return resultDTO; + })).collect(Collectors.toList()); + return resultList; + } + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionDetailServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionDetailServiceImpl.java index 7ad9452c05..df8fb0c47b 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionDetailServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionDetailServiceImpl.java @@ -20,6 +20,8 @@ package com.epmet.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.exception.RenException; @@ -28,15 +30,14 @@ import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.constant.ProjectConstant; import com.epmet.dao.ProjectSatisfactionDetailDao; import com.epmet.dto.ProjectSatisfactionDetailDTO; -import com.epmet.dto.form.EvaluationListFormDTO; -import com.epmet.dto.form.UserResiInfoListFormDTO; -import com.epmet.dto.result.EvaluationListResultDTO; -import com.epmet.dto.result.UserResiInfoResultDTO; +import com.epmet.dto.form.*; +import com.epmet.dto.result.*; import com.epmet.entity.ProjectSatisfactionDetailEntity; import com.epmet.feign.EpmetUserFeignClient; import com.epmet.redis.ProjectSatisfactionDetailRedis; import com.epmet.service.ProjectSatisfactionDetailService; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -147,4 +148,58 @@ public class ProjectSatisfactionDetailServiceImpl extends BaseServiceImpl projectEvaluationList(ProjectEvaluationListFormDTO formDTO) { + int pageIndex = (formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize(); + formDTO.setPageNo(pageIndex); + return baseDao.projectEvaluationList(formDTO); + } + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java index fcb7ee4416..a9aa55a296 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java @@ -20,6 +20,7 @@ package com.epmet.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.constant.FieldConstant; @@ -30,14 +31,15 @@ import com.epmet.dao.ProjectDao; import com.epmet.dto.CustomerProjectParameterDTO; import com.epmet.dto.ProjectDTO; import com.epmet.dto.ProjectStaffDTO; -import com.epmet.dto.form.ProjectDetailFromDTO; -import com.epmet.dto.form.ProjectListFromDTO; -import com.epmet.dto.form.WorkDayFormDTO; +import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.entity.ProjectEntity; +import com.epmet.entity.ProjectProcessEntity; +import com.epmet.entity.ProjectStaffEntity; import com.epmet.feign.CommonFeignClient; import com.epmet.redis.ProjectRedis; import com.epmet.service.CustomerProjectParameterService; +import com.epmet.service.ProjectProcessService; import com.epmet.service.ProjectService; import com.epmet.service.ProjectStaffService; import org.apache.commons.lang3.StringUtils; @@ -65,6 +67,8 @@ public class ProjectServiceImpl extends BaseServiceImpl getPendProjectList(ProjectListFromDTO fromDTO) { List list = new ArrayList<>(); + //查询条件 + int pageIndex = (fromDTO.getPageNo() - NumConstant.ONE) * fromDTO.getPageSize(); + fromDTO.setPageNo(pageIndex); + List projectList = baseDao.selectPendList(fromDTO); //获取客户定制的可滞留天数 Integer finalDays = getDays(fromDTO); @@ -149,6 +157,11 @@ public class ProjectServiceImpl extends BaseServiceImpl getCreatedList(ProjectListFromDTO fromDTO) { List list = new ArrayList<>(); + + //查询条件 + int pageIndex = (fromDTO.getPageNo() - NumConstant.ONE) * fromDTO.getPageSize(); + fromDTO.setPageNo(pageIndex); + List projectList = baseDao.selectCreatedList(fromDTO); //获取客户定制的可滞留天数 Integer finalDays = getDays(fromDTO); @@ -156,6 +169,8 @@ public class ProjectServiceImpl extends BaseServiceImpl finalDays) { @@ -181,6 +196,11 @@ public class ProjectServiceImpl extends BaseServiceImpl getInvolvedList(ProjectListFromDTO fromDTO) { List list = new ArrayList<>(); + + //查询条件 + int pageIndex = (fromDTO.getPageNo() - NumConstant.ONE) * fromDTO.getPageSize(); + fromDTO.setPageNo(pageIndex); + List projectList = baseDao.selectCreatedList(fromDTO); //获取客户定制的可滞留天数 Integer finalDays = getDays(fromDTO); @@ -188,6 +208,8 @@ public class ProjectServiceImpl extends BaseServiceImpl finalDays) { @@ -228,13 +250,84 @@ public class ProjectServiceImpl extends BaseServiceImpl departmentNameList = new ArrayList<>(); + if (ProjectConstant.CLOSED.equals(resultDTO.getProjectStatus())) { + //项目已结案,跟进部门为空 + resultDTO.setDepartmentNameList(departmentNameList); + } else { + //项目未结案,找出所有跟进部门 + ProjectDTO projectDTO = new ProjectDTO(); + projectDTO.setId(fromDTO.getProjectId()); + departmentNameList = baseDao.selectDepartmentNameList(projectDTO); + resultDTO.setDepartmentNameList(departmentNameList); + } + return resultDTO; } + @Override + @Transactional(rollbackFor = Exception.class) + public void closed(ProjectClosedFromDTO fromDTO) { + //更新项目表状态 + ProjectEntity projectEntity = baseDao.selectById(fromDTO.getProjectId()); + projectEntity.setStatus(ProjectConstant.CLOSED); + projectEntity.setClosedStatus(fromDTO.getClosedStatus()); + baseDao.updateById(projectEntity); + + //更新项目关联表 + ProjectStaffEntity projectStaffEntity = new ProjectStaffEntity(); + projectStaffEntity.setId(fromDTO.getProjectStaffId()); + projectStaffEntity.setIsHandle(ProjectConstant.HANDLE); + projectStaffService.updateById(projectStaffEntity); + + //结案记录加入项目进展表 + ProjectProcessEntity projectProcessEntity = new ProjectProcessEntity(); + projectProcessEntity.setProjectId(fromDTO.getProjectId()); + projectProcessEntity.setDepartmentName(fromDTO.getDepartmentName()); + projectProcessEntity.setEndTime(new Date()); + projectProcessEntity.setOperation(ProjectConstant.OPERATION_CLOSE); + projectProcessEntity.setOperationName(ProjectConstant.OPERATION_CLOSE_NAME); + projectProcessEntity.setPublicReply(fromDTO.getPublicReply()); + projectProcessEntity.setInternalRemark(fromDTO.getInternalRemark()); + projectProcessEntity.setStaffId(fromDTO.getUserId()); + projectProcessEntity.setCostWorkdays(getDetentionDays(ConvertUtils.sourceToTarget(projectEntity, ProjectDTO.class))); + projectProcessService.insert(projectProcessEntity); + } + + @Override + public void projectReturn(ReturnFromDTO fromDTO) { + //更新项目关联表 + ProjectStaffEntity projectStaffEntity = new ProjectStaffEntity(); + projectStaffEntity.setId(fromDTO.getProjectStaffId()); + projectStaffEntity.setIsHandle(ProjectConstant.HANDLE); + projectStaffService.updateById(projectStaffEntity); + + //结案记录加入项目进展表 + ProjectProcessEntity projectProcessEntity = new ProjectProcessEntity(); + projectProcessEntity.setProjectId(fromDTO.getProjectId()); + projectProcessEntity.setDepartmentName(fromDTO.getDepartmentName()); + projectProcessEntity.setOperation(ProjectConstant.OPERATION_RETURN); + projectProcessEntity.setOperationName(ProjectConstant.OPERATION_RETURN_NAME); + projectProcessEntity.setPublicReply(fromDTO.getPublicReply()); + projectProcessEntity.setInternalRemark(fromDTO.getInternalRemark()); + projectProcessEntity.setStaffId(fromDTO.getUserId()); + projectProcessService.insert(projectProcessEntity); + + //将人员关系添加到项目关联表 + ProjectStaffDTO projectStaffDTO = projectStaffService.getProjectStaffInfo(fromDTO.getProjectProcessId()); + ProjectStaffEntity projectStaff = ConvertUtils.sourceToTarget(projectStaffDTO, ProjectStaffEntity.class); + projectStaff.setId(null); + projectStaff.setIsHandle(ProjectConstant.UNHANDLED); + projectStaffService.insert(projectStaff); + + //TODO 通知 + } + /** * 获取客户定制的可滞留天数 * - * @param fromDTO + * @param fromDTO 参数 * @return java.lang.Integer * @author zhaoqifeng * @date 2020/5/12 16:20 @@ -255,7 +348,7 @@ public class ProjectServiceImpl extends BaseServiceImpl list = new ArrayList<>(); WorkDayFormDTO workDayFormDTO = new WorkDayFormDTO(); workDayFormDTO.setId(projectDTO.getId()); - workDayFormDTO.setStartDate(format.format(projectDTO.getCreatedTime())); + workDayFormDTO.setStartDate(format.format(projectDTO.getUpdatedTime())); workDayFormDTO.setEndDate(format.format(new Date())); Result> detentionDays = commonFeignClient.detentionDays(list); return detentionDays.getData().get(0).getDetentionDays(); diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java index bfab5baef5..03b6c60045 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java @@ -20,13 +20,17 @@ package com.epmet.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; -import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.utils.Result; import com.epmet.dao.ProjectStaffDao; import com.epmet.dto.ProjectStaffDTO; +import com.epmet.dto.form.DepartmentStaffListFormDTO; import com.epmet.dto.result.DepartmentResultDTO; +import com.epmet.dto.result.DepartmentStaffListResultDTO; import com.epmet.entity.ProjectStaffEntity; +import com.epmet.feign.GovOrgFeignClient; import com.epmet.redis.ProjectStaffRedis; import com.epmet.service.ProjectStaffService; import org.apache.commons.lang3.StringUtils; @@ -49,6 +53,8 @@ public class ProjectStaffServiceImpl extends BaseServiceImpl page(Map params) { @@ -107,4 +113,16 @@ public class ProjectStaffServiceImpl extends BaseServiceImpl resultDTOResult = govOrgFeignClient.departmentStaffList(formDTO.getAgencyId()); + return resultDTOResult.getData(); + } + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java index d7ff474a5d..69448b017a 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java @@ -3,6 +3,7 @@ package com.epmet.service.impl; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.dto.form.*; import com.epmet.dto.result.*; +import com.epmet.service.ProjectProcessService; import com.epmet.service.ProjectService; import com.epmet.service.ProjectTraceService; import org.springframework.beans.factory.annotation.Autowired; @@ -19,6 +20,8 @@ import java.util.List; public class ProjectTraceServiceImpl implements ProjectTraceService { @Autowired private ProjectService projectService; + @Autowired + private ProjectProcessService projectProcessService; @Override public List getPendProjectList(TokenDto tokenDto, ProjectListFromDTO fromDTO) { @@ -40,21 +43,24 @@ public class ProjectTraceServiceImpl implements ProjectTraceService { @Override public ProjectDetailResultDTO getProjectDetail(TokenDto tokenDto, ProjectDetailFromDTO fromDTO) { - return null; + fromDTO.setProjectId(tokenDto.getUserId()); + return projectService.getProjectDetail(fromDTO); } @Override public void closed(TokenDto tokenDto, ProjectClosedFromDTO fromDTO) { - + fromDTO.setUserId(tokenDto.getUserId()); + projectService.closed(fromDTO); } @Override public List getReturnableList(ReturnListFromDTO fromDTO) { - return null; + return projectProcessService.getReturnableList(fromDTO); } @Override public void projectReturn(TokenDto tokenDto, ReturnFromDTO fromDTO) { - + fromDTO.setUserId(tokenDto.getUserId()); + projectService.projectReturn(fromDTO); } } diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml index 9b8fd485ff..e7cc041e78 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml @@ -23,7 +23,8 @@ SELECT distinct p.ID, p.TITLE, - psp.CREATED_TIME + p.CREATED_TIME, + psp.CREATED_TIME AS UPDATED_TIME FROM project p INNER JOIN (SELECT ps.PROJECT_ID, @@ -37,51 +38,76 @@ GROUP BY ps.PROJECT_ID) psp ON p.ID = psp.PROJECT_ID WHERE p.DEL_FLAG = '0' AND p.status = 'pending' - ORDER BY psp.CREATED_TIME ASC + ORDER BY p.CREATED_TIME ASC + LIMIT #{pageNo}, #{pageSize} - + \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectSatisfactionDetailDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectSatisfactionDetailDao.xml index e2ddbd3417..afa26f2ac2 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectSatisfactionDetailDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectSatisfactionDetailDao.xml @@ -30,5 +30,33 @@ ORDER BY CREATED_TIME DESC + + + + + \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml index 736a87d3ae..bb19e5068a 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml @@ -32,6 +32,14 @@ AND IS_HANDLE = 'unhandled' + \ No newline at end of file diff --git a/epmet-module/resi-hall/resi-hall-client/resi-hall-client.iml b/epmet-module/resi-hall/resi-hall-client/resi-hall-client.iml index f1936e17be..6f6a140623 100644 --- a/epmet-module/resi-hall/resi-hall-client/resi-hall-client.iml +++ b/epmet-module/resi-hall/resi-hall-client/resi-hall-client.iml @@ -14,6 +14,8 @@ + + @@ -139,7 +141,5 @@ - - \ No newline at end of file diff --git a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/EvaluationListFormDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/EvaluationListFormDTO.java new file mode 100644 index 0000000000..11c8bc0d5e --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/EvaluationListFormDTO.java @@ -0,0 +1,32 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 满意度评价列表——已关闭 + */ +@Data +public class EvaluationListFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 议题Id + */ + private String IssueId; + + /** + * 页码 + */ + private Integer pageNo; + + /** + * 每页数量 + */ + private Integer pageSize; + + +} diff --git a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/ProjectEvaluateFormDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/ProjectEvaluateFormDTO.java new file mode 100644 index 0000000000..d70fe56a24 --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/ProjectEvaluateFormDTO.java @@ -0,0 +1,37 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 提交满意度评价——已转项目 + */ +@Data +public class ProjectEvaluateFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 议题Id + */ + private String projectId; + + /** + * 满意度 - 不满意:bad、基本满意:good、非常满意:perfect + */ + private String satisfaction; + + /** + * 评价内容 + */ + private String comment; + + /** + * 用户ID + */ + private String userId; + + +} diff --git a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/ProjectEvaluationListFormDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/ProjectEvaluationListFormDTO.java new file mode 100644 index 0000000000..6ba8cf9c1d --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/ProjectEvaluationListFormDTO.java @@ -0,0 +1,32 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 满意度评价列表——已转项目 + */ +@Data +public class ProjectEvaluationListFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 议题Id + */ + private String projectId; + + /** + * 页码 + */ + private Integer pageNo; + + /** + * 每页数量 + */ + private Integer pageSize; + + +} diff --git a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/ProjectIdFormDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/ProjectIdFormDTO.java new file mode 100644 index 0000000000..318eae5dcf --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/ProjectIdFormDTO.java @@ -0,0 +1,20 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 项目Id + * @Author zxc + */ +@Data +public class ProjectIdFormDTO implements Serializable { + private static final long serialVersionUID = 2887479755214503489L; + + @NotBlank(message = "项目id不能为空") + private String projectId; + +} + diff --git a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/ProjectInitEvaluationFormDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/ProjectInitEvaluationFormDTO.java new file mode 100644 index 0000000000..c57d2cc4be --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/ProjectInitEvaluationFormDTO.java @@ -0,0 +1,27 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 满意度评价初始化 + */ +@Data +public class ProjectInitEvaluationFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 项目Id + */ + private String projectId; + + /** + * 创建人 + */ + private String userId; + + +} diff --git a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/UserResiInfoListFormDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/UserResiInfoListFormDTO.java new file mode 100644 index 0000000000..1a5fe5274c --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/UserResiInfoListFormDTO.java @@ -0,0 +1,22 @@ +package com.epmet.dto.form; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.List; + +/** + * @Description userId集合 + * @Author yinzuomei + * @Date 2020/4/7 18:20 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class UserResiInfoListFormDTO implements Serializable { + private static final long serialVersionUID = -4454561042197166135L; + + private List userIdList; +} diff --git a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/EvaluationListResultDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/EvaluationListResultDTO.java new file mode 100644 index 0000000000..0a286112d7 --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/EvaluationListResultDTO.java @@ -0,0 +1,47 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 满意度评价列表——已关闭 + */ +@Data +public class EvaluationListResultDTO implements Serializable { + + private static final long serialVersionUID = -1L; + + /** + * 评价用户Id + */ + private String userId; + + /** + * 评价用户(山东路168-尹女士) + */ + private String userNickName; + + /** + * 满意度 - 不满意:bad、基本满意:good、非常满意:perfect + */ + private String satisfaction; + + /** + * 评价时间 + */ + private Long evaluateTime; + + /** + * 评价内容 + */ + private String evaluateContent; + + /** + * 用户头像 + */ + private String userHeadPhoto; + + +} diff --git a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/ProjectEvaluateInfoResultDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/ProjectEvaluateInfoResultDTO.java new file mode 100644 index 0000000000..52950afad5 --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/ProjectEvaluateInfoResultDTO.java @@ -0,0 +1,25 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 项目满意度评价信息 + */ +@Data +public class ProjectEvaluateInfoResultDTO implements Serializable { + + private static final long serialVersionUID = -3699103790181586654L; + + /** + * 评价内容 + */ + private String evaluateContent; + + /** + * 满意度 - 不满意:bad、基本满意:good、非常满意:perfect + */ + private String satisfaction; +} diff --git a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/ProjectEvaluationListResultDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/ProjectEvaluationListResultDTO.java new file mode 100644 index 0000000000..dc40ce5a3c --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/ProjectEvaluationListResultDTO.java @@ -0,0 +1,47 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 满意度评价列表——已关闭 + */ +@Data +public class ProjectEvaluationListResultDTO implements Serializable { + + private static final long serialVersionUID = -1L; + + /** + * 评价用户Id + */ + private String userId; + + /** + * 评价用户(山东路168-尹女士) + */ + private String userNickName; + + /** + * 满意度 - 不满意:bad、基本满意:good、非常满意:perfect + */ + private String satisfaction; + + /** + * 评价时间 + */ + private Long evaluateTime; + + /** + * 评价内容 + */ + private String evaluateContent; + + /** + * 用户头像 + */ + private String userHeadPhoto; + + +} diff --git a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/ProjectInitEvaluationResultDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/ProjectInitEvaluationResultDTO.java new file mode 100644 index 0000000000..182cdff0fd --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/ProjectInitEvaluationResultDTO.java @@ -0,0 +1,26 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 满意度评价初始化 + */ +@Data +public class ProjectInitEvaluationResultDTO implements Serializable { + + private static final long serialVersionUID = -1L; + + /** + * 评价状态:true已评价,false未评价 + */ + private Boolean status; + + /** + * 评价信息 + */ + private ProjectEvaluateInfoResultDTO evaluateInfo; + +} diff --git a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/UserResiInfoResultDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/UserResiInfoResultDTO.java new file mode 100644 index 0000000000..6bdc1f6d2f --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/UserResiInfoResultDTO.java @@ -0,0 +1,64 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 用户注册信息返参DTO + * @Author yinzuomei + * @Date 2020/4/7 18:45 + */ +@Data +public class UserResiInfoResultDTO implements Serializable { + + /** + * 唯一标识 + */ + private String id; + + /** + * 用户Id(主键) user.id + */ + private String userId; + + /** + * 手机号(注册手机号) + */ + private String regMobile; + + /** + * 姓氏 + */ + private String surname; + + /** + * 名称 + */ + private String name; + + /** + * 街道 + */ + private String street; + + /** + * 小区名称 + */ + private String district; + + /** + * 楼栋单元 + */ + private String buildingAddress; + + /** + * 用户显示名称 + */ + private String showName; + + /** + * 用户头像 + */ + private String headPhoto; +} diff --git a/epmet-module/resi-hall/resi-hall-server/resi-hall-server.iml b/epmet-module/resi-hall/resi-hall-server/resi-hall-server.iml index d1c75d92ba..62d773bcc3 100644 --- a/epmet-module/resi-hall/resi-hall-server/resi-hall-server.iml +++ b/epmet-module/resi-hall/resi-hall-server/resi-hall-server.iml @@ -25,6 +25,8 @@ + + @@ -195,7 +197,5 @@ - - \ No newline at end of file diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/constat/HallConstat.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/constat/HallConstat.java new file mode 100644 index 0000000000..19af02540a --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/constat/HallConstat.java @@ -0,0 +1,14 @@ +package com.epmet.constat; + +/** + * @Author zxc + * @CreateTime 2020/5/13 18:02 + */ +public interface HallConstat { + + /** + * 调用epmet-user服务查询数据失败 + */ + String SELECT_USERINFO_EXCEPTION = "获取用户昵称、头像失败"; + +} diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/controller/IssueController.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/controller/IssueController.java index 508694bfea..cc50d7dcd0 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/controller/IssueController.java +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/controller/IssueController.java @@ -5,13 +5,8 @@ import com.epmet.commons.tools.annotation.RequirePermission; import com.epmet.commons.tools.enums.RequirePermissionEnum; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; -import com.epmet.dto.form.EvaluateFormDTO; -import com.epmet.dto.form.IssueDetailFormDTO; -import com.epmet.dto.form.IssueIdFormDTO; -import com.epmet.dto.result.InitEvaluationResultDTO; -import com.epmet.dto.result.IssueDetailResultDTO; -import com.epmet.dto.result.VoteResultDTO; -import com.epmet.dto.result.VotingTrendResultDTO; +import com.epmet.dto.form.*; +import com.epmet.dto.result.*; import com.epmet.service.IssueService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; @@ -19,6 +14,8 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + /** * @Description 居民端党群议事 * @Author yinzuomei @@ -86,7 +83,7 @@ public class IssueController { } /** - * @Description 满意度评价初始化 + * @Description 满意度评价初始化——已关闭 * @param tokenDto * @param issueId * @author zxc @@ -97,7 +94,18 @@ public class IssueController { } /** - * @Description 提交满意度评价 + * @Description 满意度评价初始化——已转项目 + * @param tokenDto + * @param projectId + * @author zxc + */ + @PostMapping("projectinitevaluation") + public Result projectInitEvaluation(@LoginUser TokenDto tokenDto, @RequestBody ProjectIdFormDTO projectId){ + return new Result().ok(issueService.projectInitEvaluation(tokenDto,projectId)); + } + + /** + * @Description 提交满意度评价——已关闭的议题 * @param formDTO * @author zxc */ @@ -107,5 +115,36 @@ public class IssueController { return new Result(); } + /** + * @Description 提交满意度评价——已转项目 + * @param formDTO + * @author zxc + */ + @PostMapping("projectevaluate") + public Result projectEvaluate(@LoginUser TokenDto tokenDto,@RequestBody ProjectEvaluateFormDTO formDTO){ + issueService.projectEvaluate(tokenDto,formDTO); + return new Result(); + } + + /** + * @Description 满意度评价列表——已关闭 + * @param formDTO + * @author zxc + */ + @PostMapping("evaluationlist") + public Result> evaluationList(@RequestBody EvaluationListFormDTO formDTO){ + return new Result>().ok(issueService.evaluationList(formDTO)); + } + + /** + * @Description 满意度评价列表——已转项目 + * @param formDTO + * @author zxc + */ + @PostMapping("projectevaluationlist") + public Result> projectEvaluationList(@RequestBody ProjectEvaluationListFormDTO formDTO){ + return new Result>().ok(issueService.projectEvaluationList(formDTO)); + } + } diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java index 6b397e298e..e5721246f5 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java @@ -3,12 +3,16 @@ package com.epmet.feign; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.form.IssueInitiatorFormDTO; +import com.epmet.dto.form.UserResiInfoListFormDTO; import com.epmet.dto.result.IssueInitiatorResultDTO; +import com.epmet.dto.result.UserResiInfoResultDTO; import com.epmet.feign.fallback.EpmetUserFeignClientFallBack; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; +import java.util.List; + /** * @author zxc * @dscription @@ -27,4 +31,13 @@ public interface EpmetUserFeignClient { @PostMapping(value = "/epmetuser/userresiinfo/selectissueinitiator") Result selectIssueInitiator(@RequestBody IssueInitiatorFormDTO formDTO); + /** + * @Description 查询评价人和评价人头像 + * @param formDTO + * @author zxc + */ + @PostMapping("/epmetuser/userresiinfo/getuserresiinfolist") + Result> getUserResiInfoList(@RequestBody UserResiInfoListFormDTO formDTO); + + } diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java index c4103e74dc..992cf49c72 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java @@ -1,19 +1,16 @@ package com.epmet.feign; -import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.constant.ServiceConstant; -import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.form.*; -import com.epmet.dto.result.InitEvaluationResultDTO; -import com.epmet.dto.result.IssueResultDTO; -import com.epmet.dto.result.VoteResultDTO; -import com.epmet.dto.result.VotingTrendResultDTO; +import com.epmet.dto.result.*; import com.epmet.feign.fallback.GovIssueFeignClientFallBack; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; +import java.util.List; + /** * @Description Feign调用gov-issue-server模块 @@ -56,7 +53,7 @@ public interface GovIssueFeignClient { Result vote(@RequestBody VoteFormDTO issueId); /** - * @Description 满意度评价初始化 + * @Description 满意度评价初始化——已关闭 * @param formDTO * @author zxc */ @@ -71,4 +68,12 @@ public interface GovIssueFeignClient { @PostMapping("/gov/issue/issuesatisfactiondetail/evaluate") Result evaluate(@RequestBody EvaluateFormDTO formDTO); + /** + * @Description 满意度评价列表——已关闭 + * @param formDTO + * @author zxc + */ + @PostMapping("/gov/issue/issuesatisfactiondetail/evaluationlist") + Result> evaluationList(@RequestBody EvaluationListFormDTO formDTO); + } diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/GovProjectFeignClient.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/GovProjectFeignClient.java new file mode 100644 index 0000000000..1d9f6bcabc --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/GovProjectFeignClient.java @@ -0,0 +1,49 @@ +package com.epmet.feign; + +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.ProjectEvaluateFormDTO; +import com.epmet.dto.form.ProjectEvaluationListFormDTO; +import com.epmet.dto.form.ProjectInitEvaluationFormDTO; +import com.epmet.dto.result.ProjectEvaluationListResultDTO; +import com.epmet.dto.result.ProjectInitEvaluationResultDTO; +import com.epmet.feign.fallback.GovProjectFeignClientFallBack; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.List; + + +/** + * @Description Feign调用gov-project-server模块 + * @ClassName GovProjectFeignClient + * url = "localhost:8102" + */ +@FeignClient(name = ServiceConstant.GOV_PROJECT_SERVER, fallback = GovProjectFeignClientFallBack.class) +public interface GovProjectFeignClient { + + /** + * @Description 提交满意度评价初始化——已转项目 + * @param formDTO + * @author zxc + */ + @PostMapping("/gov/project/projectsatisfactiondetail/projectinitevaluation") + Result projectInitEvaluation(@RequestBody ProjectInitEvaluationFormDTO formDTO); + + /** + * @Description 提交满意度评价——已转项目 + * @param projectEvaluate + * @author zxc + */ + @PostMapping("/gov/project/projectsatisfactiondetail/projectevaluate") + Result projectEvaluate(@RequestBody ProjectEvaluateFormDTO projectEvaluate); + + /** + * @Description 满意度评价列表——已转项目 + * @param formDTO + * @author zxc + */ + @PostMapping("/gov/project/projectsatisfactiondetail/projectevaluationlist") + Result> projectEvaluationList(ProjectEvaluationListFormDTO formDTO); +} diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java index e7003949aa..8cdf3782bb 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java @@ -4,10 +4,15 @@ 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.IssueInitiatorFormDTO; +import com.epmet.dto.form.UserResiInfoListFormDTO; +import com.epmet.dto.result.EvaluationListResultDTO; import com.epmet.dto.result.IssueInitiatorResultDTO; +import com.epmet.dto.result.UserResiInfoResultDTO; import com.epmet.feign.EpmetUserFeignClient; import org.springframework.stereotype.Component; +import java.util.List; + /** * @Auther zxc * @Create 2020-05-11 10:33 @@ -25,4 +30,9 @@ public class EpmetUserFeignClientFallBack implements EpmetUserFeignClient { public Result selectIssueInitiator(IssueInitiatorFormDTO formDTO) { return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "selectIssueInitiator", formDTO); } + + @Override + public Result> getUserResiInfoList(UserResiInfoListFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getUserResiInfoList", formDTO); + } } diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java index c464a6f5a3..03ba888efa 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java @@ -5,13 +5,12 @@ import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ModuleUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.form.*; -import com.epmet.dto.result.InitEvaluationResultDTO; -import com.epmet.dto.result.IssueResultDTO; -import com.epmet.dto.result.VoteResultDTO; -import com.epmet.dto.result.VotingTrendResultDTO; +import com.epmet.dto.result.*; import com.epmet.feign.GovIssueFeignClient; import org.springframework.stereotype.Component; +import java.util.List; + /** * @Description Feign * @ClassName GovIssueFeginFallBack @@ -48,4 +47,9 @@ public class GovIssueFeignClientFallBack implements GovIssueFeignClient { public Result evaluate(EvaluateFormDTO formDTO) { return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "evaluate", formDTO); } + + @Override + public Result> evaluationList(EvaluationListFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "evaluationList", formDTO); + } } diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/fallback/GovProjectFeignClientFallBack.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/fallback/GovProjectFeignClientFallBack.java new file mode 100644 index 0000000000..a68d848f90 --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/fallback/GovProjectFeignClientFallBack.java @@ -0,0 +1,37 @@ +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.ProjectEvaluateFormDTO; +import com.epmet.dto.form.ProjectEvaluationListFormDTO; +import com.epmet.dto.form.ProjectInitEvaluationFormDTO; +import com.epmet.dto.result.ProjectEvaluationListResultDTO; +import com.epmet.dto.result.ProjectInitEvaluationResultDTO; +import com.epmet.feign.GovProjectFeignClient; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * @Description Feign + * @ClassName GovProjectFeignClientFallBack + */ +@Component +public class GovProjectFeignClientFallBack implements GovProjectFeignClient { + + @Override + public Result projectInitEvaluation(ProjectInitEvaluationFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_PROJECT_SERVER, "projectInitEvaluation", formDTO); + } + + @Override + public Result projectEvaluate(ProjectEvaluateFormDTO projectEvaluate) { + return ModuleUtils.feignConError(ServiceConstant.GOV_PROJECT_SERVER, "projectEvaluate", projectEvaluate); + } + + @Override + public Result> projectEvaluationList(ProjectEvaluationListFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_PROJECT_SERVER, "projectEvaluationList", formDTO); + } +} diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/IssueService.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/IssueService.java index 20eace94e3..7127ec9eee 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/IssueService.java +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/IssueService.java @@ -1,15 +1,13 @@ package com.epmet.service; +import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.security.dto.TokenDto; -import com.epmet.dto.form.EvaluateFormDTO; -import com.epmet.dto.form.IssueDetailFormDTO; -import com.epmet.dto.form.IssueIdFormDTO; -import com.epmet.dto.result.InitEvaluationResultDTO; -import com.epmet.dto.result.IssueDetailResultDTO; -import com.epmet.dto.result.VoteResultDTO; -import com.epmet.dto.result.VotingTrendResultDTO; +import com.epmet.dto.form.*; +import com.epmet.dto.result.*; import org.springframework.web.bind.annotation.RequestBody; +import java.util.List; + /** * @Author zxc * @CreateTime 2020/5/11 9:44 @@ -54,7 +52,7 @@ public interface IssueService { VoteResultDTO vote(IssueIdFormDTO issueId); /** - * @Description 满意度评价初始化 + * @Description 满意度评价初始化——已关闭 * @param tokenDto * @param issueId * @author zxc @@ -62,10 +60,39 @@ public interface IssueService { InitEvaluationResultDTO initEvaluation(TokenDto tokenDto, IssueIdFormDTO issueId); /** - * @Description 提交满意度评价 + * @Description 满意度评价初始化——已转项目 + * @param tokenDto + * @param projectId + * @author zxc + */ + ProjectInitEvaluationResultDTO projectInitEvaluation(TokenDto tokenDto, ProjectIdFormDTO projectId); + + /** + * @Description 提交满意度评价——已关闭 * @param evaluateFormDTO * @author zxc */ void evaluate(TokenDto tokenDto,EvaluateFormDTO evaluateFormDTO); + /** + * @Description 提交满意度评价——已转项目 + * @param projectEvaluateFormDTO + * @author zxc + */ + void projectEvaluate(TokenDto tokenDto, ProjectEvaluateFormDTO projectEvaluateFormDTO); + + /** + * @Description 满意度评价列表——已关闭 + * @param formDTO + * @author zxc + */ + List evaluationList(EvaluationListFormDTO formDTO); + + /** + * @Description 满意度评价列表——已转项目 + * @param formDTO + * @author zxc + */ + List projectEvaluationList(ProjectEvaluationListFormDTO formDTO); + } diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java index 2f520351cf..dd197c2d98 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java @@ -1,20 +1,25 @@ package com.epmet.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.ConvertUtils; import com.epmet.commons.tools.utils.Result; +import com.epmet.constat.HallConstat; import com.epmet.dto.TopicInfoDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; -import com.epmet.feign.EpmetUserFeignClient; -import com.epmet.feign.GovIssueFeignClient; -import com.epmet.feign.GovOrgFeignClient; -import com.epmet.feign.ResiGroupFeignClient; +import com.epmet.feign.*; import com.epmet.service.IssueService; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + /** * @Author zxc * @CreateTime 2020/5/11 9:46 @@ -30,6 +35,8 @@ public class IssueServiceImpl implements IssueService { private ResiGroupFeignClient resiGroupFeignClient; @Autowired private GovIssueFeignClient govIssueFeignClient; + @Autowired + private GovProjectFeignClient govProjectFeignClient; /** * @Description 议题详情 @@ -123,7 +130,7 @@ public class IssueServiceImpl implements IssueService { } /** - * @Description 满意度评价初始化 + * @Description 满意度评价初始化——已关闭 * @param tokenDto * @param issueId * @author zxc @@ -138,7 +145,22 @@ public class IssueServiceImpl implements IssueService { } /** - * @Description 提交满意度评价 + * @Description 满意度评价初始化——已转项目 + * @param tokenDto + * @param projectId + * @author zxc + */ + @Override + public ProjectInitEvaluationResultDTO projectInitEvaluation(TokenDto tokenDto, ProjectIdFormDTO projectId) { + ProjectInitEvaluationFormDTO formDTO = new ProjectInitEvaluationFormDTO(); + formDTO.setProjectId(projectId.getProjectId()); + formDTO.setUserId(tokenDto.getUserId()); + Result projectInitEvaluationResult = govProjectFeignClient.projectInitEvaluation(formDTO); + return projectInitEvaluationResult.getData(); + } + + /** + * @Description 提交满意度评价——已关闭 * @param evaluateFormDTO * @author zxc */ @@ -147,4 +169,74 @@ public class IssueServiceImpl implements IssueService { evaluateFormDTO.setUserId(tokenDto.getUserId()); govIssueFeignClient.evaluate(evaluateFormDTO); } + + /** + * @Description 提交满意度评价——已转项目 + * @param projectEvaluateFormDTO + * @author zxc + */ + @Override + public void projectEvaluate(TokenDto tokenDto, ProjectEvaluateFormDTO projectEvaluateFormDTO) { + projectEvaluateFormDTO.setUserId(tokenDto.getUserId()); + govProjectFeignClient.projectEvaluate(projectEvaluateFormDTO); + } + + /** + * @Description 满意度评价列表——已关闭 + * @param formDTO + * @author zxc + */ + @Override + public List evaluationList(EvaluationListFormDTO formDTO) { + Result> listResult = govIssueFeignClient.evaluationList(formDTO); + List data = listResult.getData(); + if (data.size()==NumConstant.ZERO||data==null){ + return new ArrayList<>(); + } + //获取头像和昵称 eg:山东路168号-周先生 + List userIds = data.stream().map(EvaluationListResultDTO::getUserId).collect(Collectors.toList()); + UserResiInfoListFormDTO userResiInfo = new UserResiInfoListFormDTO(); + userResiInfo.setUserIdList(userIds); + List userResiInfoList = userFeignClient.getUserResiInfoList(userResiInfo).getData(); + if (null == userResiInfoList || userResiInfoList.size() < NumConstant.ONE) { + throw new RenException(HallConstat.SELECT_USERINFO_EXCEPTION); + } + List resultList = data.stream().flatMap(evaluation -> userResiInfoList.stream().filter(user -> + evaluation.getUserId().equals(user.getUserId())).map(userInfo -> { + EvaluationListResultDTO resultDTO = ConvertUtils.sourceToTarget(evaluation, EvaluationListResultDTO.class); + resultDTO.setUserNickName(null == userInfo.getShowName() ? "" : userInfo.getShowName()); + resultDTO.setUserHeadPhoto(null == userInfo.getHeadPhoto() ? "" : userInfo.getHeadPhoto()); + return resultDTO; + })).collect(Collectors.toList()); + return resultList; + } + + /** + * @Description 满意度评价列表——已转项目 + * @param formDTO + * @author zxc + */ + @Override + public List projectEvaluationList(ProjectEvaluationListFormDTO formDTO) { + List listResult = govProjectFeignClient.projectEvaluationList(formDTO).getData(); + if (listResult.size()==NumConstant.ZERO||listResult.equals(null)){ + return new ArrayList<>(); + } + //获取头像和昵称 eg:山东路168号-周先生 + List userIds = listResult.stream().map(ProjectEvaluationListResultDTO::getUserId).collect(Collectors.toList()); + UserResiInfoListFormDTO userResiInfo = new UserResiInfoListFormDTO(); + userResiInfo.setUserIdList(userIds); + List userResiInfoList = userFeignClient.getUserResiInfoList(userResiInfo).getData(); + if (null == userResiInfoList || userResiInfoList.size() < NumConstant.ONE) { + throw new RenException(HallConstat.SELECT_USERINFO_EXCEPTION); + } + List resultList = listResult.stream().flatMap(evaluation -> userResiInfoList.stream().filter(user -> + evaluation.getUserId().equals(user.getUserId())).map(userInfo -> { + EvaluationListResultDTO resultDTO = ConvertUtils.sourceToTarget(evaluation, EvaluationListResultDTO.class); + resultDTO.setUserNickName(null == userInfo.getShowName() ? "" : userInfo.getShowName()); + resultDTO.setUserHeadPhoto(null == userInfo.getHeadPhoto() ? "" : userInfo.getHeadPhoto()); + return resultDTO; + })).collect(Collectors.toList()); + return resultList; + } } diff --git a/epmet-module/resi-hall/resi-hall.iml b/epmet-module/resi-hall/resi-hall.iml index 0d9345ff78..2837671944 100644 --- a/epmet-module/resi-hall/resi-hall.iml +++ b/epmet-module/resi-hall/resi-hall.iml @@ -8,6 +8,8 @@ + + @@ -45,7 +47,5 @@ - - \ No newline at end of file diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/EvaluationListResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/EvaluationListResultDTO.java new file mode 100644 index 0000000000..0a286112d7 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/EvaluationListResultDTO.java @@ -0,0 +1,47 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 满意度评价列表——已关闭 + */ +@Data +public class EvaluationListResultDTO implements Serializable { + + private static final long serialVersionUID = -1L; + + /** + * 评价用户Id + */ + private String userId; + + /** + * 评价用户(山东路168-尹女士) + */ + private String userNickName; + + /** + * 满意度 - 不满意:bad、基本满意:good、非常满意:perfect + */ + private String satisfaction; + + /** + * 评价时间 + */ + private Long evaluateTime; + + /** + * 评价内容 + */ + private String evaluateContent; + + /** + * 用户头像 + */ + private String userHeadPhoto; + + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java index ca2bd6d210..375c4abd26 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java @@ -269,4 +269,15 @@ public class CustomerStaffController { ValidatorUtils.validateEntity(userIdList); return customerStaffService.getEnableStaffMsgList(userIdList); } + + /** + * @param staffIdList + * @return + * @Author sun + * @Description 根据staffId集合查询工作人员基础信息 + **/ + @PostMapping(value = "getcustomerstafflist") + public Result getCustomerStaffList(@RequestBody List staffIdList){ + return new Result().ok(customerStaffService.getCustomerStaffList(staffIdList)); + } } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/CustomerStaffDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/CustomerStaffDao.java index 7b056bfea2..c5dbec183f 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/CustomerStaffDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/CustomerStaffDao.java @@ -24,6 +24,7 @@ import com.epmet.dto.form.*; import com.epmet.dto.result.DepartInStaffListResultDTO; import com.epmet.dto.result.StaffInfoResultDTO; import com.epmet.dto.result.CommonStaffInfoResultDTO; +import com.epmet.dto.result.StaffListResultDTO; import com.epmet.entity.CustomerStaffEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -123,4 +124,12 @@ public interface CustomerStaffDao extends BaseDao { * @Date 2020.04.24 15:34 **/ List selectEnableStaffMsg(@Param("userIds") List userIds,@Param("customerId")String customerId); + + /** + * @param staffIdList + * @return + * @Author sun + * @Description 根据staffId集合查询工作人员基础信息 + **/ + List selectStaffByIds(@Param("staffIdList") List staffIdList); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffRoleDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffRoleDao.java index 8f1f6a9d5b..c7e1be6e9c 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffRoleDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffRoleDao.java @@ -22,7 +22,9 @@ import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.commons.mybatis.entity.DataScope; import com.epmet.dto.StaffRoleDTO; import com.epmet.dto.form.CommonUserFormDTO; +import com.epmet.dto.result.CustomerStaffRoleResultDTO; import com.epmet.dto.result.GovStaffRoleResultDTO; +import com.epmet.dto.result.StaffListResultDTO; import com.epmet.dto.result.StaffRolesResultDTO; import com.epmet.entity.StaffRoleEntity; import org.apache.ibatis.annotations.Mapper; @@ -76,4 +78,11 @@ public interface StaffRoleDao extends BaseDao { **/ List selectSpecificRolesStaffs(@Param("roleKeys")List roleKeys,@Param("userIds")List userIds,@Param("customerId")String customerId); + /** + * @param staffIdList + * @return + * @Author sun + * @Description 根据staffId集合查询人员拥有的所有角色信息 + **/ + List selectStaffRoleList(@Param("staffIdList") List staffIdList); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/CustomerStaffService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/CustomerStaffService.java index 331cbf7223..cddd2a8c9a 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/CustomerStaffService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/CustomerStaffService.java @@ -223,4 +223,12 @@ public interface CustomerStaffService extends BaseService { * @Date 2020.04.24 15:44 **/ Result> getEnableStaffMsgList(CommonUserIdListFormDTO userIdList); + + /** + * @param staffIdList + * @return + * @Author sun + * @Description 根据staffId集合查询工作人员基础信息 + **/ + CustomerStaffListResultDTO getCustomerStaffList(List staffIdList); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserWechatService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserWechatService.java index 8d6f6cbdb0..5dde082f0f 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserWechatService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserWechatService.java @@ -1,7 +1,6 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; -import com.epmet.commons.tools.utils.Result; import com.epmet.dto.result.CertifiedResultDTO; import com.epmet.entity.UserWechatEntity; @@ -15,6 +14,11 @@ import java.util.List; */ public interface UserWechatService extends BaseService { + /** + * @Description 获取头像 + * @param certifiedResultDTOS + * @author zxc + */ List selectUserHeadPhotoByUserId(List certifiedResultDTOS); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java index e6d681851e..518697e1f6 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java @@ -31,6 +31,7 @@ import com.epmet.constant.CustomerStaffConstant; import com.epmet.constant.UserConstant; import com.epmet.constant.UserRoleConstant; import com.epmet.dao.CustomerStaffDao; +import com.epmet.dao.StaffRoleDao; import com.epmet.dto.*; import com.epmet.dto.form.*; import com.epmet.dto.result.*; @@ -91,6 +92,8 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl page(Map params) { @@ -419,4 +422,22 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl>().ok(baseDao.selectEnableStaffMsg(userIdList.getUserIdList(), userIdList.getCustomerId())); } + /** + * @param staffIdList + * @return + * @Author sun + * @Description 根据staffId集合查询工作人员基础信息 + **/ + @Override + public CustomerStaffListResultDTO getCustomerStaffList(List staffIdList) { + //1:批量查询人员基本信息 + List staffList = baseDao.selectStaffByIds(staffIdList); + //2:批量查询人员拥有的所有角色信息 + List roleList = staffRoleDao.selectStaffRoleList(staffIdList); + CustomerStaffListResultDTO list = new CustomerStaffListResultDTO(); + list.setStaffList(staffList); + list.setRoleList(roleList); + return list; + } + } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserWechatServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserWechatServiceImpl.java index 3231224271..2f2f27b7d2 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserWechatServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserWechatServiceImpl.java @@ -1,6 +1,5 @@ package com.epmet.service.impl; -import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.dao.UserWechatDao; import com.epmet.dto.UserHeadPhotoDTO; @@ -10,8 +9,6 @@ import com.epmet.service.UserWechatService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.io.Serializable; -import java.util.Collection; import java.util.List; /** @@ -26,6 +23,11 @@ public class UserWechatServiceImpl extends BaseServiceImpl selectUserHeadPhotoByUserId(List certifiedResultDTOS) { List userHeadPhotoDTOS = userWechatDao.selectUserHeadPhotoByUserId(certifiedResultDTOS); diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/CustomerStaffDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/CustomerStaffDao.xml index 6fbcd71df4..8f762dbe01 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/CustomerStaffDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/CustomerStaffDao.xml @@ -118,9 +118,8 @@ WHERE cs.DEL_FLAG = '0' AND cs.CUSTOMER_ID = #{customerId} - AND cs.USER_ID in - - #{userId} + + cs.USER_ID = #{userId} ORDER BY convert(cs.REAL_NAME using gbk) ASC @@ -179,4 +178,20 @@ #{userId} + + \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/StaffRoleDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/StaffRoleDao.xml index 518b6ed7d8..e7a2ce2fa9 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/StaffRoleDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/StaffRoleDao.xml @@ -102,4 +102,21 @@ + + \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/UserResiInfoDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/UserResiInfoDao.xml index c889d350da..16b1f13c66 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/UserResiInfoDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/UserResiInfoDao.xml @@ -121,7 +121,7 @@ '先生' WHEN uw.sex = '2' THEN '女士' - ELSE '某某' + ELSE '先生/女士' END ) AS issueInitiator FROM