From 8e8590ae49d7f60c502b12bab4ee996508bd1db1 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 13 Apr 2021 09:16:44 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E8=AF=A6=E6=83=85=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E6=B7=BB=E5=8A=A0=E8=BF=94=E5=8F=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/form/CategoryTagListFormDTO.java | 32 ++++++++++ .../dto/result/CategoryTagResultDTO.java | 28 +++++++++ .../epmet/dto/form/CategoryOrTagFormDTO.java | 24 ++++++++ .../dto/form/ProjectApprovalFormDTO.java | 61 +++++++++++++++++++ .../dto/result/ProjectDetailResultDTO.java | 4 ++ .../controller/ProjectTraceController.java | 5 +- .../epmet/service/ProjectTraceService.java | 2 +- .../service/impl/ProjectTraceServiceImpl.java | 26 ++++---- .../src/main/resources/mapper/ProjectDao.xml | 1 + 9 files changed, 168 insertions(+), 15 deletions(-) create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/CategoryTagListFormDTO.java create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/CategoryTagResultDTO.java create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/CategoryOrTagFormDTO.java create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectApprovalFormDTO.java diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/CategoryTagListFormDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/CategoryTagListFormDTO.java new file mode 100644 index 0000000000..3faaa44a58 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/CategoryTagListFormDTO.java @@ -0,0 +1,32 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * 根据分类、标签Id集合查询对应数据信息--接口入参 + * @Author sun + */ +@Data +public class CategoryTagListFormDTO implements Serializable { + + private static final long serialVersionUID = 2599592072265715951L; + + /** + * 客户ID + */ + private String customerId; + + /** + * 分类Id + */ + private List categoryIdList; + + /** + * 标签Id + */ + private List tagIdList; + +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/CategoryTagResultDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/CategoryTagResultDTO.java new file mode 100644 index 0000000000..7c832fe023 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/CategoryTagResultDTO.java @@ -0,0 +1,28 @@ +package com.epmet.dto.result; + +import com.epmet.dto.IssueProjectCategoryDictDTO; +import com.epmet.dto.IssueProjectTagDictDTO; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @Description 根据分类、标签Id集合查询对应数据信息--接口返参 + * @Author sun + */ +@Data +public class CategoryTagResultDTO implements Serializable { + + private static final long serialVersionUID = 5957826616179876849L; + + /** + * 分类对象 + */ + private List categoryList; + /** + * 标签对象 + */ + private List tagList; + +} diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/CategoryOrTagFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/CategoryOrTagFormDTO.java new file mode 100644 index 0000000000..6726db391f --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/CategoryOrTagFormDTO.java @@ -0,0 +1,24 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 项目立项-分类、标签信息-接口入参 + * @Author sun + */ +@Data +public class CategoryOrTagFormDTO implements Serializable { + + private static final long serialVersionUID = 2599592072265715951L; + /** + * 分类Id + */ + private String id; + /** + * 分类名称 + */ + private String name; + +} diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectApprovalFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectApprovalFormDTO.java new file mode 100644 index 0000000000..4553ab6654 --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectApprovalFormDTO.java @@ -0,0 +1,61 @@ +package com.epmet.dto.form; + +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +import javax.validation.Valid; +import javax.validation.constraints.NotBlank; +import java.io.Serializable; +import java.util.List; + +/** + * @Description 项目立项-接口入参 + * @Author sun + */ +@Data +public class ProjectApprovalFormDTO implements Serializable { + private static final long serialVersionUID = 4859779755214502427L; + + @NotBlank(message = "项目标题不能为空") + private String title; + + @NotBlank(message = "项目背景不能为空") + @Length(max=1000,message = "项目背景不能超过1000位") + private String backGround; + + @NotBlank(message = "项目方案不能为空") + @Length(max=1000,message = "项目方案不能超过1000位") + private String publicReply; + + @Length(max=1000,message = "内部备注不能超过1000位") + private String internalRemark; + + /** + * 吹哨勾选的工作人员信息集合,不可为空 + */ + @Valid + private List staffList; + /** + * 公开答复对应文件集合 + */ + private List publicFile; + /** + * 内部备注对应文件集合 + */ + private List internalFile; + /** + * 项目所选分类集合,不可为空 + */ + @Valid + private List categoryList; + /** + * 项目所选标签集合 + */ + private List tagList; + + private String customerId; + private String app; + private String client; + private String userId; +} + 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 cd3c278259..ebffaef4d7 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 @@ -31,6 +31,10 @@ public class ProjectDetailResultDTO implements Serializable { * 项目标题 */ private String projectTitle; + /** + * 项目背景 + */ + private String backGround; /** * 项目方案 */ 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 fd0745bae4..82fe6a5984 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 @@ -353,7 +353,10 @@ public class ProjectTraceController { @PostMapping("projectapproval") public Result projectApproval(@LoginUser TokenDto tokenDTO, @RequestBody ProjectApprovalFormDTO formDTO) { formDTO.setCustomerId(tokenDTO.getCustomerId()); - projectTraceService.projectApproval(tokenDTO, formDTO); + formDTO.setApp(tokenDTO.getApp()); + formDTO.setClient(tokenDTO.getClient()); + formDTO.setUserId(tokenDTO.getUserId()); + projectTraceService.projectApproval(formDTO); return new Result(); } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java index 598b068a6a..d3d2cc3f3b 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java @@ -172,5 +172,5 @@ public interface ProjectTraceService { * @Author sun * @Description 项目立项 **/ - void projectApproval(TokenDto tokenDTO, ProjectApprovalFormDTO formDTO); + void projectApproval(ProjectApprovalFormDTO formDTO); } 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 e91c154357..ccef1dc1d5 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 @@ -285,7 +285,7 @@ public class ProjectTraceServiceImpl implements ProjectTraceS **/ @Override @Transactional(rollbackFor = Exception.class) - public void projectApproval(TokenDto tokenDTO, ProjectApprovalFormDTO formDTO) { + public void projectApproval(ProjectApprovalFormDTO formDTO) { List staffList = formDTO.getStaffList(); //1.文字内容安全校验 List list = new ArrayList<>(); @@ -295,12 +295,12 @@ public class ProjectTraceServiceImpl implements ProjectTraceS //2.数据准备,查询需要用到的数据 //2-1.获取token用户所属组织信息 LoginUserDetailsFormDTO dto = new LoginUserDetailsFormDTO(); - dto.setApp(tokenDTO.getApp()); - dto.setClient(tokenDTO.getClient()); - dto.setUserId(tokenDTO.getUserId()); + dto.setApp(formDTO.getApp()); + dto.setClient(formDTO.getClient()); + dto.setUserId(formDTO.getUserId()); Result resultDto = epmetUserOpenFeignClient.getLoginUserDetails(dto); if (!resultDto.success() || StringUtils.isEmpty(resultDto.getData().getAgencyId())) { - throw new RenException(String.format("项目立项调用user服务查询用户数据失败,userId->", tokenDTO.getUserId())); + throw new RenException(String.format("项目立项调用user服务查询用户数据失败,userId->", formDTO.getUserId())); } LoginUserDetailsResultDTO loginUser = resultDto.getData(); @@ -326,7 +326,7 @@ public class ProjectTraceServiceImpl implements ProjectTraceS CategoryTagListFormDTO categoryTag = new CategoryTagListFormDTO(); List categoryIdList = formDTO.getCategoryList().stream().map(CategoryOrTagFormDTO::getId).collect(Collectors.toList()); List tagIdList = formDTO.getTagList().stream().map(CategoryOrTagFormDTO::getId).collect(Collectors.toList()); - categoryTag.setCustomerId(tokenDTO.getCustomerId()); + categoryTag.setCustomerId(formDTO.getCustomerId()); categoryTag.setCategoryIdList(categoryIdList); categoryTag.setTagIdList(tagIdList); Result resultDTOResult = govIssueOpenFeignClient.getCategoryTagList(categoryTag); @@ -339,7 +339,7 @@ public class ProjectTraceServiceImpl implements ProjectTraceS //3.封装保存业务数据 //3-1.项目主表新增数据 ProjectEntity projectEntity = new ProjectEntity(); - projectEntity.setCustomerId(tokenDTO.getCustomerId()); + projectEntity.setCustomerId(formDTO.getCustomerId()); projectEntity.setAgencyId(loginUser.getAgencyId()); projectEntity.setOrigin(ProjectConstant.AGENCY); projectEntity.setOriginId(loginUser.getAgencyId()); @@ -352,8 +352,8 @@ public class ProjectTraceServiceImpl implements ProjectTraceS //3-2.项目进展表新增第一个节点数据 ProjectProcessEntity processEntity = new ProjectProcessEntity(); processEntity.setProjectId(projectEntity.getId()); - processEntity.setCustomerId(tokenDTO.getCustomerId()); - processEntity.setStaffId(tokenDTO.getUserId()); + processEntity.setCustomerId(formDTO.getCustomerId()); + processEntity.setStaffId(formDTO.getUserId()); processEntity.setOperation(ProjectConstant.OPERATION_CREATED); processEntity.setOperationName(ProjectConstant.OPERATION_PROJECT_APPROVAL); processEntity.setPublicReply(formDTO.getPublicReply()); @@ -407,7 +407,7 @@ public class ProjectTraceServiceImpl implements ProjectTraceS //3-4.项目附件表新增数据 if ((null != formDTO.getPublicFile() && formDTO.getPublicFile().size() > NumConstant.ZERO) || (null != formDTO.getInternalFile() && formDTO.getInternalFile().size() > NumConstant.ZERO)) { - projectService.saveFile(formDTO.getPublicFile(), formDTO.getInternalFile(), tokenDTO.getCustomerId(), projectEntity.getId(), processEntity.getId()); + projectService.saveFile(formDTO.getPublicFile(), formDTO.getInternalFile(), formDTO.getCustomerId(), projectEntity.getId(), processEntity.getId()); } //3-5.项目分类表新增数据 @@ -417,7 +417,7 @@ public class ProjectTraceServiceImpl implements ProjectTraceS categoryList.forEach(ca->{ if(item.getId().equals(ca.getId())){ ProjectCategoryEntity entity = new ProjectCategoryEntity(); - entity.setCustomerId(tokenDTO.getCustomerId()); + entity.setCustomerId(formDTO.getCustomerId()); entity.setProjectId(projectEntity.getId()); entity.setCategoryId(item.getId()); entity.setCategoryPids(ca.getPids()); @@ -436,7 +436,7 @@ public class ProjectTraceServiceImpl implements ProjectTraceS tagList.forEach(ta->{ if(item.getId().equals(ta.getId())){ ProjectTagsEntity entity = new ProjectTagsEntity(); - entity.setCustomerId(tokenDTO.getCustomerId()); + entity.setCustomerId(formDTO.getCustomerId()); entity.setProjectId(projectEntity.getId()); entity.setTagId(item.getId()); entity.setTagName(ta.getTagName()); @@ -457,7 +457,7 @@ public class ProjectTraceServiceImpl implements ProjectTraceS period.setProjectStaffId(o); period.setInformedDate(current); period.setSourceOperation(ProjectConstant.OPERATION_CREATED); - period.setCreatedBy(tokenDTO.getUserId()); + period.setCreatedBy(formDTO.getUserId()); container.add(period); }); relationDao.insertBatch(container); 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 50f8bc6433..0a430eab87 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 @@ -124,6 +124,7 @@ SELECT p.ID AS "projectId", p.TITLE AS "projectTitle", + p.BACK_GROUND AS "backGround", p.ORIGIN AS "origin", p.ORIGIN_ID AS "originId", p.STATUS AS "projectStatus",