Browse Source

Merge remote-tracking branch 'origin/release/v2.1.1-beta' into feature/v2.0.0-data-auth

huangjy 4 years ago
parent
commit
4abde6737a

+ 10 - 0
dcuc-auth-api/src/main/java/com/dragoninfo/dcuc/auth/auth/facade/IBimBusinessFacade.java

@@ -1,5 +1,6 @@
 package com.dragoninfo.dcuc.auth.auth.facade;
 package com.dragoninfo.dcuc.auth.auth.facade;
 
 
+import com.dragoninfo.dcuc.auth.auth.vo.bim.BimUserInfoItemRespVO;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -41,4 +42,13 @@ public interface IBimBusinessFacade {
     @PostMapping("cacheUserToken")
     @PostMapping("cacheUserToken")
     void cacheUserToken(@RequestParam("idcard") String idcard, @RequestParam("userToken") String userToken, @RequestParam("expAt") Integer expAt);
     void cacheUserToken(@RequestParam("idcard") String idcard, @RequestParam("userToken") String userToken, @RequestParam("expAt") Integer expAt);
 
 
+    /**
+     * 获取用户信息
+     *
+     * @param userToken 用户令牌
+     * @return 用户信息
+     */
+    @GetMapping("getUserInfoByUserToken")
+    BimUserInfoItemRespVO getUserInfoByUserToken(@RequestParam("userToken") String userToken);
+
 }
 }

+ 67 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/auth/vo/bim/BimUserInfoItemRespVO.java

@@ -0,0 +1,67 @@
+package com.dragoninfo.dcuc.auth.auth.vo.bim;
+
+import lombok.Data;
+
+/**
+ * @author huangzqa
+ * @date 2021/4/9
+ **/
+@Data
+public class BimUserInfoItemRespVO {
+
+    /**
+     * 消息id
+     */
+    private String messageId;
+
+    /**
+     * true表示查询成功
+     */
+    private String result;
+
+    /**
+     * 结果描述
+     */
+    private String resultDescription;
+
+    /**
+     * 用户id
+     */
+    private String yhId;
+
+    /**
+     * 姓名
+     */
+    private String xm;
+
+    /**
+     * 警号
+     */
+    private String jh;
+
+    /***
+     * 身份证号
+     */
+    private String sfzh;
+
+    /**
+     * 单位代码
+     */
+    private String dwdm;
+
+    /**
+     * 单位名称
+     */
+    private String dwmc;
+
+    /**
+     * 职位
+     */
+    private String zw;
+
+    /**
+     * 用户名
+     */
+    private String yhm;
+
+}

+ 26 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/auth/vo/bim/BimUserInfoReqVO.java

@@ -0,0 +1,26 @@
+package com.dragoninfo.dcuc.auth.auth.vo.bim;
+
+import lombok.Data;
+
+/**
+ * @author huangzqa
+ * @date 2021/4/9
+ **/
+@Data
+public class BimUserInfoReqVO {
+
+    /**
+     * token
+     */
+    private String token;
+
+    /**
+     * 消息ID
+     */
+    private String messageId;
+
+    /**
+     * 用户令牌
+     */
+    private String userToken;
+}

+ 23 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/auth/vo/bim/BimUserInfoRespVO.java

@@ -0,0 +1,23 @@
+package com.dragoninfo.dcuc.auth.auth.vo.bim;
+
+import lombok.Data;
+
+/**
+ * @author huangzqa
+ * @date 2021/4/9
+ **/
+@Data
+public class BimUserInfoRespVO {
+
+    private Boolean success;
+
+    private BimUserInfoItemRespVO data;
+
+    private String errorCode;
+
+    private String errorMessage;
+
+    private BimRespException errorException;
+
+
+}

+ 6 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/auth/facade/BimBusinessFacade.java

@@ -1,5 +1,6 @@
 package com.dragoninfo.dcuc.auth.auth.facade;
 package com.dragoninfo.dcuc.auth.auth.facade;
 
 
+import com.dragoninfo.dcuc.auth.auth.vo.bim.BimUserInfoItemRespVO;
 import com.dragoninfo.dcuc.auth.business.IBimBusiness;
 import com.dragoninfo.dcuc.auth.business.IBimBusiness;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -30,4 +31,9 @@ public class BimBusinessFacade implements IBimBusinessFacade {
     public void cacheUserToken(String idcard, String userToken, Integer expAt) {
     public void cacheUserToken(String idcard, String userToken, Integer expAt) {
         bimBusiness.cacheUserToken(idcard, userToken, expAt);
         bimBusiness.cacheUserToken(idcard, userToken, expAt);
     }
     }
+
+    @Override
+    public BimUserInfoItemRespVO getUserInfoByUserToken(String userToken) {
+        return bimBusiness.getUserInfoByUserToken(userToken);
+    }
 }
 }

+ 10 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/business/IBimBusiness.java

@@ -1,5 +1,7 @@
 package com.dragoninfo.dcuc.auth.business;
 package com.dragoninfo.dcuc.auth.business;
 
 
+import com.dragoninfo.dcuc.auth.auth.vo.bim.BimUserInfoItemRespVO;
+
 /**
 /**
  * @author huangzqa
  * @author huangzqa
  * @date 2021/4/9
  * @date 2021/4/9
@@ -49,4 +51,12 @@ public interface IBimBusiness {
      * @param expAt     失效时间(秒)
      * @param expAt     失效时间(秒)
      */
      */
     void cacheUserToken(String idcard, String userToken, Integer expAt);
     void cacheUserToken(String idcard, String userToken, Integer expAt);
+
+    /**
+     * 获取用户信息
+     *
+     * @param userToken 用户令牌
+     * @return 用户信息
+     */
+    BimUserInfoItemRespVO getUserInfoByUserToken(String userToken);
 }
 }

+ 38 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/business/impl/BimBusinessImpl.java

@@ -234,4 +234,42 @@ public class BimBusinessImpl implements IBimBusiness {
     public void cacheUserToken(String idcard, String userToken, Integer expAt) {
     public void cacheUserToken(String idcard, String userToken, Integer expAt) {
         redisTemplate.opsForValue().set(AuthRedisConstant.REDIS_USER_TOKEN_NAMESPACE + idcard, userToken, expAt, TimeUnit.SECONDS);
         redisTemplate.opsForValue().set(AuthRedisConstant.REDIS_USER_TOKEN_NAMESPACE + idcard, userToken, expAt, TimeUnit.SECONDS);
     }
     }
+
+    @Override
+    public BimUserInfoItemRespVO getUserInfoByUserToken(String userToken) {
+
+        if (StrUtil.isBlank(userToken)) {
+            throw new IllegalArgumentException("UserToken is blank.");
+        }
+
+        String messageId = UUIDUtils.getUUID();
+
+        String token = getToken();
+
+        BimUserInfoReqVO bimUserInfoReqVO = new BimUserInfoReqVO();
+        bimUserInfoReqVO.setToken(token);
+        bimUserInfoReqVO.setMessageId(messageId);
+        bimUserInfoReqVO.setUserToken(userToken);
+
+        String reqJson = JsonUtils.toJSONString(bimUserInfoReqVO);
+
+        log.info("UserInfo req :{}", reqJson);
+
+        String url = dcucAuthConfig.getBimUrl() + "/api/rest/customization/ExpApiCustomDragonitService/getUserInfoByUserToken";
+
+        log.info("UserInfo req url:{}", reqJson);
+        String postResp = HttpRequest.post(url)
+                .body(reqJson)
+                .execute()
+                .body();
+        log.info("UserInfo resp :{}", postResp);
+
+        BimUserInfoRespVO bimRespVo = JsonUtils.parseObject(postResp, BimUserInfoRespVO.class);
+
+        if (!bimRespVo.getSuccess()) {
+            log.error("UserInfo error:{}", postResp);
+        }
+
+        return bimRespVo.getData();
+    }
 }
 }