فهرست منبع

ssoUserSpaceApi增加企业信息同步优软云接口

chenw 7 سال پیش
والد
کامیت
92be37715d

+ 4 - 22
base-servers/account/account-server/src/main/java/com/usoftchina/saas/account/service/impl/AccountCenterServiceImpl.java

@@ -14,6 +14,7 @@ import com.usoftchina.saas.exception.ExceptionCode;
 import com.usoftchina.saas.utils.BeanMapper;
 import com.usoftchina.saas.utils.StringUtils;
 import com.usoftchina.sso.api.SsoUserApi;
+import com.usoftchina.sso.api.SsoUserSpaceApi;
 import com.usoftchina.sso.dto.SsoUserSpace;
 import com.usoftchina.sso.dto.SsoUserSpaceList;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -39,13 +40,12 @@ public class AccountCenterServiceImpl implements AccountCenterService {
     @Autowired
     private SsoUserApi ssoUserApi;
     @Autowired
+    private SsoUserSpaceApi ssoUserSpaceApi;
+    @Autowired
     private AuthApi authApi;
     @Autowired
     private AccountCompanyMapper accountCompanyMapper;
 
-    @Value("${sso.base-url}")
-    private String accountCneterUrl;
-
     @Override
     @Transactional
     public Result saveCompanyAccount(CompanyAccountDTO companyAccountDTO) {
@@ -71,7 +71,7 @@ public class AccountCenterServiceImpl implements AccountCenterService {
         companyService.save(company);
         //b. 同步企业信息到优软云 ——>  创建企业
         if ("0".equals(type)) {
-            String result = postToAccount(company.getName(), company.getBusinessCode(), accountRegDTO.getUu());
+            String result = ssoUserSpaceApi.registerLogin(company.getName(), company.getBusinessCode(), Long.parseLong(accountRegDTO.getUu()));
         }
         accountCompanyMapper.insert(accountId, company.getId());
         //2.更新账户信息
@@ -96,24 +96,6 @@ public class AccountCenterServiceImpl implements AccountCenterService {
         return true;
     }
 
-    /**
-     * 将企业信息同步到优软云
-     * @param spaceName
-     * @param businesscode
-     * @param uu
-     * @return
-     */
-    private String postToAccount(String spaceName, String businesscode, String uu) {
-        String url = "/sso/userspace/register/admin";
-        RestTemplate restTemplate = new RestTemplate();
-        MultiValueMap<String, String> requestEntity = new LinkedMultiValueMap<>();
-        requestEntity.add("spaceName", spaceName);
-        requestEntity.add("businessCode", businesscode);
-        requestEntity.add("userUU", uu);
-        String result = restTemplate.postForObject(accountCneterUrl + url, requestEntity, String.class);
-        return result;
-    }
-
     @Override
     public Map<String, Object> getCompanyList(String mobile) {
         Map<String, Object> resultMap = new HashMap<String, Object>();

+ 18 - 3
base-servers/auth/sso-api/src/main/java/com/usoftchina/sso/api/SsoUserSpaceApi.java

@@ -4,7 +4,7 @@ import com.usoftchina.sso.dto.SsoResult;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.stereotype.Component;
 import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 
 /**
@@ -12,16 +12,26 @@ import org.springframework.web.bind.annotation.RequestParam;
  * @date 2018/11/23
  */
 @FeignClient(url = "${sso.base-url}", name = "sso-server", fallback = SsoUserApi.DefaultFallback.class)
-@RequestMapping("/api/userspace")
 public interface SsoUserSpaceApi {
     /**
      * 校验企业名称是否已注册
      * @param spacename
      * @return
      */
-    @GetMapping("/checkSpaceName")
+    @GetMapping("/api/userspace/checkSpaceName")
     SsoResult checkSpaceName(@RequestParam("spaceName") String spacename);
 
+    /**
+     * <p>账户中心接口: 通过登录管理员注册企业</p>
+     * <p>将企业信息同步到优软云</p>
+     * @param spaceName
+     * @param businessCode
+     * @param userUU
+     * @return
+     */
+    @PostMapping("/sso/userspace/register/admin")
+    String registerLogin(@RequestParam("spaceName") String spaceName, @RequestParam("businessCode") String businessCode, @RequestParam("userUU") Long userUU);
+
     @Component
     class DefaultFallback implements SsoUserSpaceApi{
 
@@ -29,6 +39,11 @@ public interface SsoUserSpaceApi {
         public SsoResult checkSpaceName(String spaceName) {
             return null;
         }
+
+        @Override
+        public String registerLogin(String spaceName, String businessCode, Long userUU) {
+            return null;
+        }
     }
 
 }

+ 10 - 0
base-servers/auth/sso-api/src/test/java/com/usoftchina/sso/test/SsoUserSpaceApiTeest.java

@@ -1,5 +1,6 @@
 package com.usoftchina.sso.test;
 
+import com.usoftchina.saas.utils.StringUtils;
 import com.usoftchina.sso.api.SsoUserSpaceApi;
 import com.usoftchina.sso.dto.SsoResult;
 import org.junit.FixMethodOrder;
@@ -27,4 +28,13 @@ public class SsoUserSpaceApiTeest {
         SsoResult result = ssoUserSpaceApi.checkSpaceName("上海宇声电子科技有限公司");
         System.out.println(result);
     }
+
+    @Test
+    public void testB_registerLogin(){
+        String spaceName = "测试企业009";
+        String businessCode = StringUtils.createBusinessCode();
+        Long userUU = 1000027276l;
+        String result = ssoUserSpaceApi.registerLogin(spaceName, businessCode, userUU);
+        System.out.println(result);
+    }
 }