diff --git a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/BlockChainCreateProjectFormDTO.java b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/BlockChainCreateProjectFormDTO.java index 295c125f69..b84cf5357e 100644 --- a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/BlockChainCreateProjectFormDTO.java +++ b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/BlockChainCreateProjectFormDTO.java @@ -4,14 +4,16 @@ import lombok.Data; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; +import java.io.Serializable; import java.util.List; /** * 区块链:创建项目form dto */ @Data -public class BlockChainCreateProjectFormDTO { +public class BlockChainCreateProjectFormDTO implements Serializable { + private static final long serialVersionUID = 2061989652173136068L; @NotNull(message = "项目信息不能为空") private BlockChainProjectFormDTO project; diff --git a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/BlockChainProcessProjectFormDTO.java b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/BlockChainProcessProjectFormDTO.java index 0cf7f1caac..4d6dfb09d0 100644 --- a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/BlockChainProcessProjectFormDTO.java +++ b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/BlockChainProcessProjectFormDTO.java @@ -3,14 +3,16 @@ package com.epmet.dto.form; import lombok.Data; import javax.validation.constraints.NotNull; +import java.io.Serializable; import java.util.List; /** * 区块链:项目处理进展信息 */ @Data -public class BlockChainProcessProjectFormDTO { +public class BlockChainProcessProjectFormDTO implements Serializable { + private static final long serialVersionUID = -7316616101790749793L; @NotNull(message = "处理进展信息不能为空") private BlockChainProjectProcessFormDTO process; diff --git a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/feign/EpmetThirdOpenFeignClient.java b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/feign/EpmetThirdOpenFeignClient.java index 22a8c36c5a..27c9cc946d 100644 --- a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/feign/EpmetThirdOpenFeignClient.java +++ b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/feign/EpmetThirdOpenFeignClient.java @@ -11,8 +11,13 @@ import com.epmet.feign.fallback.GovProjectOpenFeignClientFallback; import com.epmet.resi.mine.dto.from.MyPartProjectsFormDTO; import feign.codec.Encoder; import feign.form.spring.SpringFormEncoder; +import org.springframework.beans.factory.ObjectFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.http.HttpMessageConverters; import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.cloud.openfeign.support.SpringEncoder; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -72,9 +77,13 @@ public interface EpmetThirdOpenFeignClient { Result blockChainProcessProject(@RequestBody BlockChainProcessProjectFormDTO input); class MultipartSupportConfig { + + @Autowired + private ObjectFactory messageConverters; + @Bean public Encoder feignFormEncoder() { - return new SpringFormEncoder(); + return new SpringFormEncoder(new SpringEncoder(messageConverters)); } } diff --git a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/feign/ThirdOpenFeignClient.java b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/feign/ThirdOpenFeignClient.java index d4efa88cc9..3dfd425fd9 100644 --- a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/feign/ThirdOpenFeignClient.java +++ b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/feign/ThirdOpenFeignClient.java @@ -2,10 +2,7 @@ package com.epmet.feign; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.Result; -import com.epmet.dto.form.AuthorizerAccessTokenFormDTO; -import com.epmet.dto.form.ComponentAccessTokenFormDTO; -import com.epmet.dto.form.SaveOrUpdateCustSelPlatformFormDTO; -import com.epmet.dto.form.ThirdPlatformFormDTO; +import com.epmet.dto.form.*; import com.epmet.dto.result.ThirdplatformResultDTO; import com.epmet.feign.fallback.ThirdOpenFeignClientFallback; import com.epmet.feign.fallback.ThirdOpenFeignClientFallbackFactory; @@ -57,4 +54,20 @@ public interface ThirdOpenFeignClient { */ @PostMapping("/third/private-epmet/push-authorizer-tokens") Result pushAuthorizerTokens(@RequestBody AuthorizerAccessTokenFormDTO input); + + /** + * 区块链:立项 + * @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); } diff --git a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/feign/fallback/ThirdOpenFeignClientFallback.java b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/feign/fallback/ThirdOpenFeignClientFallback.java index b6929b9883..5e21b0b853 100644 --- a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/feign/fallback/ThirdOpenFeignClientFallback.java +++ b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/feign/fallback/ThirdOpenFeignClientFallback.java @@ -3,10 +3,7 @@ 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.AuthorizerAccessTokenFormDTO; -import com.epmet.dto.form.ComponentAccessTokenFormDTO; -import com.epmet.dto.form.SaveOrUpdateCustSelPlatformFormDTO; -import com.epmet.dto.form.ThirdPlatformFormDTO; +import com.epmet.dto.form.*; import com.epmet.dto.result.ThirdplatformResultDTO; import com.epmet.feign.ThirdOpenFeignClient; import org.springframework.stereotype.Component; @@ -34,4 +31,14 @@ public class ThirdOpenFeignClientFallback implements ThirdOpenFeignClient { public Result pushAuthorizerTokens(AuthorizerAccessTokenFormDTO input) { return ModuleUtils.feignConError(ServiceConstant.EPMET_THIRD_SERVER, "pushAuthorizerTokens", input); } + + @Override + public Result blockChainCreateProject(BlockChainCreateProjectFormDTO input) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_THIRD_SERVER, "blockChainCreateProject", input); + } + + @Override + public Result blockChainProcessProject(BlockChainProcessProjectFormDTO input) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_THIRD_SERVER, "blockChainProcessProject", input); + } } diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/BlockChainProjectController.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/BlockChainProjectController.java index 75701ac62a..2ec27b1e27 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/BlockChainProjectController.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/BlockChainProjectController.java @@ -28,8 +28,8 @@ public class BlockChainProjectController { */ @PostMapping("create") public Result blockChainCreateProject(@RequestBody BlockChainCreateProjectFormDTO input) { - //ValidatorUtils.validateEntity(input); - //blockChainProjectService.blockChainCreateProject(input); + ValidatorUtils.validateEntity(input); + blockChainProjectService.blockChainCreateProject(input); return new Result(); } @@ -40,8 +40,8 @@ public class BlockChainProjectController { */ @PostMapping("process") public Result blockChainProcessProject(@RequestBody BlockChainProcessProjectFormDTO input) { - //ValidatorUtils.validateEntity(input); - //blockChainProjectService.blockChainProcessProject(input); + ValidatorUtils.validateEntity(input); + blockChainProjectService.blockChainProcessProject(input); return new Result(); } } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/BlockChainUploadServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/BlockChainUploadServiceImpl.java index c3afaa5341..18f4d39d4a 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/BlockChainUploadServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/BlockChainUploadServiceImpl.java @@ -1,13 +1,16 @@ package com.epmet.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.epmet.commons.tools.utils.Result; import com.epmet.dao.ProjectStaffDao; import com.epmet.dto.form.*; import com.epmet.entity.ProjectEntity; import com.epmet.entity.ProjectProcessEntity; import com.epmet.entity.ProjectStaffEntity; import com.epmet.feign.EpmetThirdOpenFeignClient; +import com.epmet.feign.ThirdOpenFeignClient; import com.epmet.service.BlockChainUploadService; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -21,10 +24,11 @@ import java.util.stream.Collectors; * 区块链上链service实现 */ @Service +@Slf4j public class BlockChainUploadServiceImpl implements BlockChainUploadService { @Autowired - private EpmetThirdOpenFeignClient thirdOpenFeignClient; + private ThirdOpenFeignClient thirdOpenFeignClient; @Autowired private ProjectStaffDao projectStaffDao; @@ -37,10 +41,6 @@ public class BlockChainUploadServiceImpl implements BlockChainUploadService { @Override public void send2BlockChain(ProjectEntity projectEntity, ProjectProcessEntity processEntity, List assignedStaffEntities, String projectStaffId) { - if (true) { - return; - } - // 1.项目主信息 BlockChainProjectFormDTO project = null; @@ -133,20 +133,27 @@ public class BlockChainUploadServiceImpl implements BlockChainUploadService { handledStaff.setProjectId(handledStaffEntity.getProjectId()); } + Result result; if (project == null) { // 处理 BlockChainProcessProjectFormDTO processForm = new BlockChainProcessProjectFormDTO(); processForm.setProcess(process); processForm.setAssignedStaffs(assignedStaffs); processForm.setHandledStaff(handledStaff); - thirdOpenFeignClient.blockChainProcessProject(processForm); + result = thirdOpenFeignClient.blockChainProcessProject(processForm); } else { // 立项 BlockChainCreateProjectFormDTO createForm = new BlockChainCreateProjectFormDTO(); createForm.setProject(project); createForm.setProcess(process); createForm.setAssignedStaffs(assignedStaffs); - thirdOpenFeignClient.blockChainCreateProject(createForm); + result = thirdOpenFeignClient.blockChainCreateProject(createForm); + } + + if (result == null || !result.success()) { + log.error("项目处理信息,上链失败"); + } else { + log.info("项目处理信息,上链成功"); } } }