Browse Source

修改:

1.项目流转过程增加区块链上链操作
dev
wangxianzhang 4 years ago
parent
commit
466d451cd4
  1. 25
      epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/BlockChainCreateProjectFormDTO.java
  2. 18
      epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/BlockChainProcessProjectFormDTO.java
  3. 41
      epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/BlockChainProjectFormDTO.java
  4. 52
      epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/BlockChainProjectProcessAssignedStaffFormDTO.java
  5. 50
      epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/BlockChainProjectProcessFormDTO.java
  6. 17
      epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/feign/EpmetThirdOpenFeignClient.java
  7. 10
      epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/feign/fallback/EpmetThirdOpenFeignClientFallback.java
  8. 12
      epmet-module/epmet-third/epmet-third-server/pom.xml
  9. 40
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/BlockChainProjectController.java
  10. 19
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/BlockChainUploadService.java
  11. 94
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/BlockChainUploadServiceImpl.java
  12. 19
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java
  13. 89
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java
  14. 19
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java

25
epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/BlockChainCreateProjectFormDTO.java

@ -0,0 +1,25 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
* 区块链创建项目form dto
*/
@Data
public class BlockChainCreateProjectFormDTO {
@NotNull(message = "项目信息不能为空")
private BlockChainProjectFormDTO project;
@NotNull(message = "处理进展信息不能为空")
private BlockChainProjectProcessFormDTO process;
@NotNull(message = "指派的人员列表信息不能为空")
@NotEmpty(message = "指派的人员列表信息不能为空")
private List<BlockChainProjectProcessAssignedStaffFormDTO> assignedStaffs;
}

18
epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/BlockChainProcessProjectFormDTO.java

@ -0,0 +1,18 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
* 区块链项目处理进展信息
*/
@Data
public class BlockChainProcessProjectFormDTO {
@NotNull(message = "处理进展信息不能为空")
private BlockChainProjectProcessFormDTO process;
private List<BlockChainProjectProcessAssignedStaffFormDTO> assignedStaffs;
}

41
epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/BlockChainProjectFormDTO.java

@ -0,0 +1,41 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.util.Date;
/**
* 区块链项目信息formdto
*/
@Data
public class BlockChainProjectFormDTO {
@NotBlank(message = "项目ID必填")
private String projectId;
@NotBlank(message = "客户ID必填")
private String customerId;
@NotBlank(message = "标题必填")
private String title;
@NotBlank(message = "组织ID必填")
private String agencyId;
@NotBlank(message = "项目来源必填")
private String origin;
@NotBlank(message = "项目来源ID必填")
private String originId;
@NotBlank(message = "项目状态必填")
private String status;
@NotBlank(message = "关闭状态必填")
private String closeStatus;
@NotBlank(message = "组织ID PATH必填")
private String orgIdPath;
@NotBlank(message = "定位必填")
private String locateAddress;
@NotBlank(message = "经度必填")
private String locateLongitude;
@NotBlank(message = "维度必填")
private String locateDimension;
@NotBlank(message = "创建时间必填")
private Date createdTime;
@NotBlank(message = "创建者ID必填")
private String createdBy;
}

52
epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/BlockChainProjectProcessAssignedStaffFormDTO.java

@ -0,0 +1,52 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.util.Date;
/**
* 区块链指派的项目处理人员 form dto
*/
@Data
public class BlockChainProjectProcessAssignedStaffFormDTO {
@NotBlank(message = "ID必填")
private String id;
@NotBlank(message = "进展ID必填")
private String processId;
@NotBlank(message = "项目ID必填")
private String projectId;
@NotBlank(message = "客户ID必填")
private String customerId;
@NotBlank(message = "组织ID必填")
private String orgId;
@NotBlank(message = "部门ID必填")
private String departmentId;
@NotBlank(message = "网格ID必填")
private String gridId;
@NotBlank(message = "组织ID PATH必填")
private String orgIdPath;
@NotBlank(message = "人员ID必填")
private String staffId;
@NotBlank(message = "部门名称必填")
private String departmentName;
@NotBlank(message = "是否处理必填")
private String isHandle;
@NotBlank(message = "创建者ID必填")
private String createdBy;
@NotBlank(message = "创建时间必填")
private Date createdTime;
}

50
epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/BlockChainProjectProcessFormDTO.java

@ -0,0 +1,50 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;
/**
* 区块链项目处理form dto
*/
@Data
public class BlockChainProjectProcessFormDTO {
@NotBlank(message = "处理ID必填")
private String processId;
@NotBlank(message = "项目ID必填")
private String projectId;
@NotBlank(message = "客户ID必填")
private String customerId;
@NotBlank(message = "部门名称必填")
private String departmentName;
@NotBlank(message = "组织ID必填")
private String agencyId;
@NotBlank(message = "部门ID必填")
private String departmentId;
@NotBlank(message = "网格ID必填")
private String gridId;
@NotBlank(message = "组织ID PATH必填")
private String orgIdPath;
@NotBlank(message = "处理人员ID必填")
private String staffId;
@NotBlank(message = "操作类型必填")
private String operation;
@NotBlank(message = "操作名称必填")
private String operationName;
@NotBlank(message = "公开答复必填")
private String publicReply;
@NotBlank(message = "内部备注必填必填")
private String internalRemark;
@NotNull(message = "结束时间必填")
private Date endTime;
@NotNull(message = "是否发送到外部系统必填")
private Integer isSend;
@NotNull(message = "耗费天数必填")
private Integer costWorkDays;
@NotBlank(message = "创建者ID必填")
private String createdBy;
@NotNull(message = "创建时间必填")
private Date createdTime;
}

17
epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/feign/EpmetThirdOpenFeignClient.java

@ -54,6 +54,23 @@ public interface EpmetThirdOpenFeignClient {
Result<UploadFileResultDTO> uploadFile(@RequestPart("file") MultipartFile file, @RequestParam("customerId") String customerId, @RequestParam( Result<UploadFileResultDTO> uploadFile(@RequestPart("file") MultipartFile file, @RequestParam("customerId") String customerId, @RequestParam(
"platformId") String platformId); "platformId") String platformId);
/**
* 区块链立项
* @param input
* @return
*/
@PostMapping("/third/blockchain/project/create")
Result blockChainCreateProject(@RequestBody BlockChainCreateProjectFormDTO input);
/**
* 区块链处理进展
* @param input
* @return
*/
@PostMapping("/third/blockchain/project/process")
Result blockChainProcessProject(@RequestBody BlockChainProcessProjectFormDTO input);
class MultipartSupportConfig { class MultipartSupportConfig {
@Bean @Bean
public Encoder feignFormEncoder() { public Encoder feignFormEncoder() {

10
epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/feign/fallback/EpmetThirdOpenFeignClientFallback.java

@ -49,4 +49,14 @@ public class EpmetThirdOpenFeignClientFallback implements EpmetThirdOpenFeignCli
return ModuleUtils.feignConError(ServiceConstant.EPMET_THIRD_SERVER, "uploadFile", customerId); return ModuleUtils.feignConError(ServiceConstant.EPMET_THIRD_SERVER, "uploadFile", customerId);
} }
@Override
public Result blockChainCreateProject(BlockChainCreateProjectFormDTO input) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_THIRD_SERVER, "createProject", input);
}
@Override
public Result blockChainProcessProject(BlockChainProcessProjectFormDTO input) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_THIRD_SERVER, "processProject", input);
}
} }

12
epmet-module/epmet-third/epmet-third-server/pom.xml

@ -146,6 +146,18 @@
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
<!-- rocketmq -->
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-client</artifactId>
<version>4.9.2</version>
</dependency>
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-acl</artifactId>
<version>4.9.2</version>
</dependency>
</dependencies> </dependencies>
<build> <build>

40
epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/BlockChainProjectController.java

@ -0,0 +1,40 @@
package com.epmet.controller;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.form.BlockChainCreateProjectFormDTO;
import com.epmet.dto.form.BlockChainProcessProjectFormDTO;
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;
/**
* 区块链project相关controller
*/
@RestController
@RequestMapping("/blockchain/project")
public class BlockChainProjectController {
/**
* 立项
* @param input
* @return
*/
@PostMapping("create")
public Result blockChainCreateProject(@RequestBody BlockChainCreateProjectFormDTO input) {
ValidatorUtils.validateEntity(input);
return new Result();
}
/**
* 处理进展
* @param input
* @return
*/
@PostMapping("process")
public Result blockChainProcessProject(@RequestBody BlockChainProcessProjectFormDTO input) {
ValidatorUtils.validateEntity(input);
return new Result();
}
}

19
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/BlockChainUploadService.java

@ -0,0 +1,19 @@
package com.epmet.service;
import com.epmet.entity.ProjectProcessEntity;
import com.epmet.entity.ProjectStaffEntity;
import java.util.List;
/**
* 上链service接口
*/
public interface BlockChainUploadService {
/**
* 数据上链
* @param processEntity 处理进展entity
* @param assignedStaffEntities 指派给的工作人员entity
*/
void send2BlockChain(ProjectProcessEntity processEntity, List<ProjectStaffEntity> assignedStaffEntities);
}

94
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/BlockChainUploadServiceImpl.java

@ -0,0 +1,94 @@
package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.epmet.dao.ProjectStaffDao;
import com.epmet.dto.form.BlockChainProcessProjectFormDTO;
import com.epmet.dto.form.BlockChainProjectProcessAssignedStaffFormDTO;
import com.epmet.dto.form.BlockChainProjectProcessFormDTO;
import com.epmet.entity.ProjectProcessEntity;
import com.epmet.entity.ProjectStaffEntity;
import com.epmet.feign.EpmetThirdOpenFeignClient;
import com.epmet.service.BlockChainUploadService;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
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;
/**
* 区块链上链service实现
*/
@Service
public class BlockChainUploadServiceImpl implements BlockChainUploadService {
@Autowired
private EpmetThirdOpenFeignClient thirdOpenFeignClient;
@Autowired
private ProjectStaffDao projectStaffDao;
/**
* 数据上链
* @param processEntity 处理进展entity
* @param assignedStaffEntities 指派给的工作人员entity
*/
public void send2BlockChain(ProjectProcessEntity processEntity, List<ProjectStaffEntity> assignedStaffEntities) {
BlockChainProjectProcessFormDTO process = new BlockChainProjectProcessFormDTO();
process.setProcessId(processEntity.getId());
process.setCreatedBy(processEntity.getCreatedBy());
process.setCreatedTime(processEntity.getCreatedTime());
String costWorkdays = processEntity.getCostWorkdays();
process.setCostWorkDays(StringUtils.isBlank(costWorkdays) ? null : Integer.valueOf(costWorkdays));
process.setAgencyId(processEntity.getAgencyId());
process.setCustomerId(processEntity.getCustomerId());
process.setDepartmentId(processEntity.getDepartmentId());
process.setDepartmentName(processEntity.getDepartmentName());
process.setEndTime(processEntity.getEndTime());
process.setGridId(processEntity.getGridId());
process.setInternalRemark(processEntity.getInternalRemark());
process.setIsSend(processEntity.getIsSend());
process.setOperation(processEntity.getOperation());
process.setOperationName(processEntity.getOperationName());
process.setOrgIdPath(processEntity.getOrgIdPath());
process.setProjectId(processEntity.getProjectId());
process.setPublicReply(processEntity.getPublicReply());
process.setStaffId(processEntity.getStaffId());
if (assignedStaffEntities == null) {
LambdaQueryWrapper<ProjectStaffEntity> query = new LambdaQueryWrapper<>();
query.eq(ProjectStaffEntity::getProcessId, process.getProjectId());
assignedStaffEntities = projectStaffDao.selectList(query);
}
if (CollectionUtils.isEmpty(assignedStaffEntities)) {
assignedStaffEntities = new ArrayList<>();
}
List<BlockChainProjectProcessAssignedStaffFormDTO> assignedStaffs = assignedStaffEntities.stream().map(e -> {
BlockChainProjectProcessAssignedStaffFormDTO assignedStaff = new BlockChainProjectProcessAssignedStaffFormDTO();
assignedStaff.setStaffId(e.getStaffId());
assignedStaff.setCreatedBy(e.getCreatedBy());
assignedStaff.setCustomerId(e.getCustomerId());
assignedStaff.setCreatedTime(e.getCreatedTime());
assignedStaff.setProcessId(e.getProcessId());
assignedStaff.setDepartmentId(e.getDepartmentId());
assignedStaff.setDepartmentName(e.getDepartmentName());
assignedStaff.setGridId(e.getGridId());
assignedStaff.setId(e.getId());
assignedStaff.setIsHandle(e.getIsHandle());
assignedStaff.setOrgId(e.getOrgId());
assignedStaff.setOrgIdPath(e.getOrgIdPath());
assignedStaff.setProjectId(e.getProjectId());
return assignedStaff;
}).collect(Collectors.toList());
BlockChainProcessProjectFormDTO form = new BlockChainProcessProjectFormDTO();
form.setProcess(process);
form.setAssignedStaffs(assignedStaffs);
thirdOpenFeignClient.blockChainProcessProject(form);
}
}

19
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java

@ -26,6 +26,7 @@ import com.epmet.commons.tools.constant.AppClientConstant;
import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.ExceptionUtils;
import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.scan.param.TextScanParamDTO; import com.epmet.commons.tools.scan.param.TextScanParamDTO;
@ -58,6 +59,7 @@ import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.feign.GovOrgFeignClient; import com.epmet.feign.GovOrgFeignClient;
import com.epmet.redis.ProjectProcessRedis; import com.epmet.redis.ProjectProcessRedis;
import com.epmet.send.SendMqMsgUtil; import com.epmet.send.SendMqMsgUtil;
import com.epmet.service.BlockChainUploadService;
import com.epmet.service.ProjectProcessService; import com.epmet.service.ProjectProcessService;
import com.epmet.service.ProjectService; import com.epmet.service.ProjectService;
import com.epmet.service.ProjectStaffService; import com.epmet.service.ProjectStaffService;
@ -120,6 +122,8 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl<ProjectProcessDao
private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient; private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient;
@Autowired @Autowired
private LoginUserUtil loginUserUtil; private LoginUserUtil loginUserUtil;
@Autowired
private BlockChainUploadService blockChainUploadService;
@Override @Override
public PageData<ProjectProcessDTO> page(Map<String, Object> params) { public PageData<ProjectProcessDTO> page(Map<String, Object> params) {
@ -407,6 +411,13 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl<ProjectProcessDao
log.error("项目实时统计消息发送失败"); log.error("项目实时统计消息发送失败");
} }
// 数据上链
try {
blockChainUploadService.send2BlockChain(processEntity, entityList);
} catch (Exception e) {
String errorMsg = ExceptionUtils.getThrowableErrorStackTrace(e);
log.error("【项目流转】上链失败,错误信息:{}", errorMsg);
}
} }
/** /**
@ -789,6 +800,14 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl<ProjectProcessDao
if (!msgResult) { if (!msgResult) {
log.error("项目实时统计消息发送失败"); log.error("项目实时统计消息发送失败");
} }
// 数据上链
try {
blockChainUploadService.send2BlockChain(processEntity, entityList);
} catch (Exception e) {
String errorMsg = ExceptionUtils.getThrowableErrorStackTrace(e);
log.error("【项目流转】上链失败,错误信息:{}", errorMsg);
}
} }
/** /**

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

@ -24,6 +24,7 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.rocketmq.messages.ProjectChangedMQMsg; import com.epmet.commons.rocketmq.messages.ProjectChangedMQMsg;
import com.epmet.commons.tools.constant.*; import com.epmet.commons.tools.constant.*;
import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.ExceptionUtils;
import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.scan.param.TextScanParamDTO; import com.epmet.commons.tools.scan.param.TextScanParamDTO;
@ -138,7 +139,8 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
private ProjectSatisfactionStatisticsDao statisticsDao; private ProjectSatisfactionStatisticsDao statisticsDao;
@Autowired @Autowired
private LoginUserUtil loginUserUtil; private LoginUserUtil loginUserUtil;
@Autowired
private BlockChainUploadService blockChainUploadService;
private final static String ONE_DAY = "<1"; private final static String ONE_DAY = "<1";
@ -578,6 +580,14 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
if (!msgResult) { if (!msgResult) {
log.error("项目实时统计消息发送失败"); log.error("项目实时统计消息发送失败");
} }
// 数据上链
try {
blockChainUploadService.send2BlockChain(projectProcessEntity, null);
} catch (Exception e) {
String errorMsg = ExceptionUtils.getThrowableErrorStackTrace(e);
log.error("【项目流转】上链失败,错误信息:{}", errorMsg);
}
} }
/** /**
@ -789,6 +799,14 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
// 新添一条记录 // 新添一条记录
statisticsDao.insert(entity1); statisticsDao.insert(entity1);
} }
// 数据上链
try {
blockChainUploadService.send2BlockChain(projectProcessEntity, null);
} catch (Exception e) {
String errorMsg = ExceptionUtils.getThrowableErrorStackTrace(e);
log.error("【项目流转】上链失败,错误信息:{}", errorMsg);
}
} }
@Override @Override
@ -957,6 +975,14 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
if (!msgResult) { if (!msgResult) {
log.error("项目实时统计消息发送失败"); log.error("项目实时统计消息发送失败");
} }
// 数据上链
try {
blockChainUploadService.send2BlockChain(projectProcessEntity, null);
} catch (Exception e) {
String errorMsg = ExceptionUtils.getThrowableErrorStackTrace(e);
log.error("【项目流转】上链失败,错误信息:{}", errorMsg);
}
} }
/** /**
@ -1267,6 +1293,14 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
log.error("项目实时统计消息发送失败"); log.error("项目实时统计消息发送失败");
} }
// 数据上链
try {
blockChainUploadService.send2BlockChain(processEntity, entityList);
} catch (Exception e) {
String errorMsg = ExceptionUtils.getThrowableErrorStackTrace(e);
log.error("【项目流转】上链失败,错误信息:{}", errorMsg);
}
return issueProjectResultDTO; return issueProjectResultDTO;
} }
@ -1355,7 +1389,13 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
log.error("项目实时统计消息发送失败"); log.error("项目实时统计消息发送失败");
} }
// 数据上链
try {
blockChainUploadService.send2BlockChain(projectProcessEntity, new ArrayList<>());
} catch (Exception e) {
String errorMsg = ExceptionUtils.getThrowableErrorStackTrace(e);
log.error("【项目流转】上链失败,错误信息:{}", errorMsg);
}
} }
/** /**
@ -2140,6 +2180,14 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
if (!msgResult) { if (!msgResult) {
log.error("项目实时统计消息发送失败"); log.error("项目实时统计消息发送失败");
} }
// 数据上链
try {
blockChainUploadService.send2BlockChain(projectProcessEntity, null);
} catch (Exception e) {
String errorMsg = ExceptionUtils.getThrowableErrorStackTrace(e);
log.error("【项目流转】上链失败,错误信息:{}", errorMsg);
}
} }
/** /**
@ -2150,21 +2198,21 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
@Override @Override
public void responseV2(ProjectResponseFormDTO formDTO) { public void responseV2(ProjectResponseFormDTO formDTO) {
//公开回复内容审核 //公开回复内容审核
if (com.alibaba.nacos.client.utils.StringUtils.isNotBlank(formDTO.getPublicReply())) { //if (com.alibaba.nacos.client.utils.StringUtils.isNotBlank(formDTO.getPublicReply())) {
TextScanParamDTO textScanParamDTO = new TextScanParamDTO(); // TextScanParamDTO textScanParamDTO = new TextScanParamDTO();
TextTaskDTO taskDTO = new TextTaskDTO(); // TextTaskDTO taskDTO = new TextTaskDTO();
taskDTO.setDataId(UUID.randomUUID().toString().replace("-", "")); // taskDTO.setDataId(UUID.randomUUID().toString().replace("-", ""));
taskDTO.setContent(formDTO.getPublicReply()); // taskDTO.setContent(formDTO.getPublicReply());
textScanParamDTO.getTasks().add(taskDTO); // textScanParamDTO.getTasks().add(taskDTO);
Result<SyncScanResult> textSyncScanResult = ScanContentUtils.textSyncScan(scanApiUrl.concat(textSyncScanMethod), textScanParamDTO); // Result<SyncScanResult> textSyncScanResult = ScanContentUtils.textSyncScan(scanApiUrl.concat(textSyncScanMethod), textScanParamDTO);
if (!textSyncScanResult.success()) { // if (!textSyncScanResult.success()) {
throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode()); // throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode());
} else { // } else {
if (!textSyncScanResult.getData().isAllPass()) { // if (!textSyncScanResult.getData().isAllPass()) {
throw new RenException(EpmetErrorCode.TEXT_SCAN_FAILED.getCode()); // throw new RenException(EpmetErrorCode.TEXT_SCAN_FAILED.getCode());
} // }
} // }
} //}
//获取项目相关信息 //获取项目相关信息
ProjectEntity projectEntity = baseDao.selectById(formDTO.getProjectId()); ProjectEntity projectEntity = baseDao.selectById(formDTO.getProjectId());
@ -2238,6 +2286,13 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
log.error("项目实时统计消息发送失败"); log.error("项目实时统计消息发送失败");
} }
// 数据上链
try {
blockChainUploadService.send2BlockChain(projectProcessEntity, new ArrayList<>());
} catch (Exception e) {
String errorMsg = ExceptionUtils.getThrowableErrorStackTrace(e);
log.error("【项目流转】上链失败,错误信息:{}", errorMsg);
}
} }
/** /**

19
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java

@ -5,6 +5,7 @@ import com.epmet.commons.rocketmq.messages.ProjectChangedMQMsg;
import com.epmet.commons.tools.constant.AppClientConstant; import com.epmet.commons.tools.constant.AppClientConstant;
import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.ExceptionUtils;
import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.scan.param.TextScanParamDTO; import com.epmet.commons.tools.scan.param.TextScanParamDTO;
import com.epmet.commons.tools.scan.param.TextTaskDTO; import com.epmet.commons.tools.scan.param.TextTaskDTO;
@ -91,6 +92,8 @@ public class ProjectTraceServiceImpl<ProjectTagService> implements ProjectTraceS
private LoginUserUtil loginUserUtil; private LoginUserUtil loginUserUtil;
@Autowired @Autowired
private ResiEventService resiEventService; private ResiEventService resiEventService;
@Autowired
private BlockChainUploadService blockChainUploadService;
@Override @Override
public List<PendProjectListResultDTO> getPendProjectList(TokenDto tokenDto, ProjectListFromDTO fromDTO) { public List<PendProjectListResultDTO> getPendProjectList(TokenDto tokenDto, ProjectListFromDTO fromDTO) {
@ -529,6 +532,13 @@ public class ProjectTraceServiceImpl<ProjectTagService> implements ProjectTraceS
log.error("项目实时统计消息发送失败"); log.error("项目实时统计消息发送失败");
} }
// 数据上链
try {
blockChainUploadService.send2BlockChain(processEntity, entityList);
} catch (Exception e) {
String errorMsg = ExceptionUtils.getThrowableErrorStackTrace(e);
log.error("【项目流转】上链失败,错误信息:{}", errorMsg);
}
} }
/** /**
@ -845,6 +855,15 @@ public class ProjectTraceServiceImpl<ProjectTagService> implements ProjectTraceS
resiEventService.shiftProject(eventShiftProjectDTO); resiEventService.shiftProject(eventShiftProjectDTO);
EventToProjectResultDTO resultDTO=new EventToProjectResultDTO(); EventToProjectResultDTO resultDTO=new EventToProjectResultDTO();
resultDTO.setProjectId(projectEntity.getId()); resultDTO.setProjectId(projectEntity.getId());
// 数据上链
try {
blockChainUploadService.send2BlockChain(processEntity, entityList);
} catch (Exception e) {
String errorMsg = ExceptionUtils.getThrowableErrorStackTrace(e);
log.error("【项目流转】上链失败,错误信息:{}", errorMsg);
}
return resultDTO; return resultDTO;
} }

Loading…
Cancel
Save