diff --git a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/OrgPersonnelExecutor.java b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/OrgPersonnelExecutor.java index d84776c..cec6a07 100644 --- a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/OrgPersonnelExecutor.java +++ b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/OrgPersonnelExecutor.java @@ -75,18 +75,15 @@ public class OrgPersonnelExecutor implements OrgPersonnelApi { OrgPersonnelEntity result = orgPersonnelDomainService.add(entity); OrgPersonnelCO co = toCO(result); enrich(co); - //todo 同步用户信息GBS UserAddCmd userAddCmd = new UserAddCmd(); userAddCmd.setId(result.getId()); userAddCmd.setAccount(result.getAccount()); userAddCmd.setIdCard(result.getIdCardNo()); userAddCmd.setTenantId(result.getTenantId()); - syncGbsUser("add user", new Runnable() { - @Override - public void run() { - gbsUserFacadeClient.add(userAddCmd); - } - }); + userAddCmd.setName(result.getUserName()); + String encrypt = Sm2Util.encryptHex(MD5.md5(defPassword), publicKey); + userAddCmd.setPassword(encrypt); + gbsUserFacadeClient.add(userAddCmd); return SingleResponse.success(co); } diff --git a/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/exception/BizException.java b/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/exception/BizException.java index 929519a..7d85627 100644 --- a/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/exception/BizException.java +++ b/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/exception/BizException.java @@ -29,6 +29,11 @@ public class BizException extends RuntimeException { this.code = errorCode.getCode(); } + public BizException(String errorCode, String message) { + super(message); + this.code = errorCode; + } + public String getCode() { return code; } diff --git a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/adapter/gbs/GbsUserFacadeClient.java b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/adapter/gbs/GbsUserFacadeClient.java index 22571a8..83e9f99 100644 --- a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/adapter/gbs/GbsUserFacadeClient.java +++ b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/adapter/gbs/GbsUserFacadeClient.java @@ -1,17 +1,21 @@ package org.qinan.safetyeval.infrastructure.adapter.gbs; +import com.alibaba.cola.dto.SingleResponse; import com.jjb.saas.system.client.user.facade.UserFacade; import com.jjb.saas.system.client.user.request.RoleDeptAddCmd; import com.jjb.saas.system.client.user.request.UserAddCmd; import com.jjb.saas.system.client.user.request.UserUpdatePasswordCmd; import com.jjb.saas.system.client.user.request.UserUpdateQuitCmd; +import lombok.RequiredArgsConstructor; import org.apache.dubbo.config.annotation.DubboReference; +import org.qinan.safetyeval.domain.exception.BizException; import org.springframework.stereotype.Component; import java.util.ArrayList; import java.util.List; @Component +@RequiredArgsConstructor public class GbsUserFacadeClient { @DubboReference(protocol = "dubbo", url = "${safety-eval.gbs-user-sync.user-facade-url:}") @@ -23,9 +27,12 @@ public class GbsUserFacadeClient { RoleDeptAddCmd roleDeptAddCmd = new RoleDeptAddCmd(); roleDeptAddCmd.setDeptId(2069596397920849920L); roleDeptAddCmd.setRoleId(2069671307598893058L); - roleDeptAddCmd.setRoleCode("b5d8d972b4e948aeb04063ad77fdc196"); + list.add(roleDeptAddCmd); cmd.setRoleDepts(list); - userFacade.add(cmd); + SingleResponse singleResponse = userFacade.add(cmd); + if (singleResponse.isSuccess()) { + throw new BizException(singleResponse.getErrCode(), singleResponse.getErrMessage()); + } } public void delete(Long userId) { diff --git a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/adapter/gbs/GbsUserFacadeFeignClient.java b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/adapter/gbs/GbsUserFacadeFeignClient.java new file mode 100644 index 0000000..466de3e --- /dev/null +++ b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/adapter/gbs/GbsUserFacadeFeignClient.java @@ -0,0 +1,18 @@ +package org.qinan.safetyeval.infrastructure.adapter.gbs; + +import com.alibaba.cola.dto.SingleResponse; +import com.jjb.saas.system.client.user.request.UserAddCmd; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +/** + * 暂时 本地开发未使用因为 和 开发的GBS 网络不通 + */ +@FeignClient(name = "jjb-saas-system") +public interface GbsUserFacadeFeignClient { + + @PostMapping(value = "/system/operation/users", consumes = "application/json") + SingleResponse addUser(@RequestBody UserAddCmd cmd); + +} diff --git a/safety-eval-start/src/main/java/org/qinan/safetyeval/start/SafetyEvalApplication.java b/safety-eval-start/src/main/java/org/qinan/safetyeval/start/SafetyEvalApplication.java index 030c88e..04b92cf 100644 --- a/safety-eval-start/src/main/java/org/qinan/safetyeval/start/SafetyEvalApplication.java +++ b/safety-eval-start/src/main/java/org/qinan/safetyeval/start/SafetyEvalApplication.java @@ -4,6 +4,7 @@ import org.apache.dubbo.config.spring.context.annotation.EnableDubbo; import org.springframework.beans.factory.config.BeanPostProcessor; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.context.annotation.Bean; import org.springframework.util.ReflectionUtils; import org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping; @@ -22,6 +23,7 @@ import java.util.List; */ @SpringBootApplication(scanBasePackages = {"org.qinan.safetyeval", "com.jjb.saas"}) @EnableDubbo +@EnableFeignClients(basePackages = {"org.qinan.safetyeval", "com.jjb.saas"}) public class SafetyEvalApplication { public static void main(String[] args) {