Ver código fonte

Merge branch 'huangzqa-add-app-token-20210426' into 'release/v2.1.1-beta'

Huangzqa add app token 20210426

See merge request dcuc-tjdsj/auth-service!29
黄资权 4 anos atrás
pai
commit
3e98903ccd

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

@@ -51,4 +51,12 @@ public interface IBimBusinessFacade {
     @GetMapping("getUserInfoByUserToken")
     BimUserInfoItemRespVO getUserInfoByUserToken(@RequestParam("userToken") String userToken);
 
+    /**
+     * 获取应用令牌
+     *
+     * @param needReGet 需要重新获取
+     * @return 应用令牌
+     */
+    @GetMapping("getAppToken")
+    String getAppToken(@RequestParam("needReGet") boolean needReGet);
 }

+ 10 - 4
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/auth/dto/ServiceAuthFlowDTO.java

@@ -15,6 +15,10 @@ import java.util.Date;
 public class ServiceAuthFlowDTO implements Serializable {
 
     private String id;
+    /**
+     * 申请单号
+     */
+    private String applicantId;
 
     /**
      * 申请人身份证号
@@ -122,6 +126,11 @@ public class ServiceAuthFlowDTO implements Serializable {
      */
     private String processType;
 
+    /**
+     * 流程标识码
+     */
+    private String businessCode;
+
     /**
      * 流程名称
      */
@@ -136,10 +145,7 @@ public class ServiceAuthFlowDTO implements Serializable {
      */
     private Date endTime;
 
-    /**
-     * 流程标识码
-     */
-    private String businessCode;
+
 
     /**
      * api接口调用人身份证号

+ 6 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/auth/entity/ServiceAuthFlow.java

@@ -24,6 +24,12 @@ public class ServiceAuthFlow implements IdEntity<String> {
     @Column(name = "ID")
     private String id;
 
+    /**
+     * 申请单号
+     */
+    @Column(name = "APPLICANT_ID")
+    private String applicantId;
+
     /**
      * 申请人身份证号
      */

+ 28 - 6
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/auth/vo/AppFunVO.java

@@ -1,23 +1,45 @@
 package com.dragoninfo.dcuc.auth.auth.vo;
 
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
 import java.io.Serializable;
 
 /**
  * 接口更新同步应用资源
  * 接收参数
  */
+@ApiModel(value = "应用资源")
 public class AppFunVO implements Serializable {
-    //资源名称
+    /**
+     * 资源名称
+     */
+    @ApiModelProperty(value = "资源名称")
     private String name;
-    //上下级资源关联的字段信息,已存在为更新,不存在则新增
+    /**
+     * 上下级资源关联的字段信息,已存在为更新,不存在则新增
+     */
+    @ApiModelProperty(value = "上下级资源关联的字段信息,已存在为更新,不存在则新增")
     private String code;
-    //上级资源的关联字段信息
+    /**
+     * 上级资源的关联字段信息
+     */
+    @ApiModelProperty(value = "上级资源的关联字段信息")
     private String parentCode;
-    //有效标志(删除标志) 0:无效,1:有效
+    /**
+     * 有效标志(删除标志) 0:无效,1:有效
+     */
+    @ApiModelProperty(value = "有效标志(删除标志) 0:无效,1:有效")
     private String isActive;
-    //资源url,非必填
+    /**
+     * 资源url,非必填
+     */
+    @ApiModelProperty(value = "资源url,非必填")
     private String url;
-    //资源排序号,非必填
+    /**
+     * 资源排序号,非必填
+     */
+    @ApiModelProperty(value = "资源排序号,非必填")
     private String sort;
 
     public String getName() {

+ 18 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/auth/vo/bim/BimGetAppTokenItemRespVO.java

@@ -0,0 +1,18 @@
+package com.dragoninfo.dcuc.auth.auth.vo.bim;
+
+import lombok.Data;
+
+/**
+ * @author huangzqa
+ * @date 2021/4/9
+ **/
+@Data
+public class BimGetAppTokenItemRespVO {
+
+    private String messageId;
+
+    private Boolean result;
+
+    private String appToken;
+
+}

+ 18 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/auth/vo/bim/BimGetAppTokenReqVO.java

@@ -0,0 +1,18 @@
+package com.dragoninfo.dcuc.auth.auth.vo.bim;
+
+import lombok.Data;
+
+/**
+ * @author huangzqa
+ * @date 2021/4/9
+ **/
+@Data
+public class BimGetAppTokenReqVO {
+
+    private String token;
+
+    private String messageId;
+
+    private String appId;
+
+}

+ 23 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/auth/vo/bim/BimGetAppTokenRespVO.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 BimGetAppTokenRespVO {
+
+    private Boolean success;
+
+    private BimGetAppTokenItemRespVO data;
+
+    private String errorCode;
+
+    private String errorMessage;
+
+    private BimRespException errorException;
+
+
+}

+ 6 - 1
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/AuthRedisConstant.java

@@ -22,5 +22,10 @@ public class AuthRedisConstant {
     /**
      * BIM token命名空间
      */
-    public static final String REDIS_BIM_TOKEN_NAMESPACE = REDIS_TOKEN_NAMESPACE + "TOKEN:";
+    public static final String REDIS_BIM_TOKEN_NAMESPACE = REDIS_TOKEN_NAMESPACE + "TOKEN";
+
+    /**
+     * BIM APP_TOKEN命名空间
+     */
+    public static final String REDIS_BIM_APP_TOKEN_NAMESPACE = REDIS_TOKEN_NAMESPACE + "APP_TOKEN";
 }

+ 2 - 1
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/auth/bpo/ServiceAuthResultBPO.java

@@ -32,7 +32,8 @@ public class ServiceAuthResultBPO extends BaseBPO<ServiceAuthResult,String> {
                 "  y.apply_name as appName,\n" +
                 "  y.apply_name as app_name,\n" +
                 "  t.app_code as appCode, \n" +
-                "  r.service_status  \n" +
+                "  r.service_status,  \n" +
+                "  r.service_status as serviceStatus \n" +
                 "FROM \n" +
                 "\tT_SERVICE_AUTH_RESULT t \n" +
                 "LEFT JOIN T_SERVICE_RESOURCE r ON r.id = t.service_id\n" +

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

@@ -36,4 +36,9 @@ public class BimBusinessFacade implements IBimBusinessFacade {
     public BimUserInfoItemRespVO getUserInfoByUserToken(String userToken) {
         return bimBusiness.getUserInfoByUserToken(userToken);
     }
+
+    @Override
+    public String getAppToken(boolean needReGet) {
+        return bimBusiness.getAppToken(needReGet);
+    }
 }

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

@@ -59,4 +59,12 @@ public interface IBimBusiness {
      * @return 用户信息
      */
     BimUserInfoItemRespVO getUserInfoByUserToken(String userToken);
+
+    /**
+     * 获取应用令牌
+     *
+     * @param needReGet 需要重新获取
+     * @return 应用令牌
+     */
+    String getAppToken(boolean needReGet);
 }

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

@@ -272,4 +272,60 @@ public class BimBusinessImpl implements IBimBusiness {
 
         return bimRespVo.getData();
     }
+
+    @Override
+    public String getAppToken(boolean needReGet) {
+
+        String redisAppToken = String.valueOf(redisTemplate.opsForValue().get(AuthRedisConstant.REDIS_BIM_APP_TOKEN_NAMESPACE));
+
+        String appToken = "";
+
+        if (StrUtil.isNotBlank(redisAppToken)) {
+            appToken = redisAppToken;
+        }
+
+        if (needReGet) {
+            appToken = httpGetAppToken();
+        }
+        return appToken;
+    }
+
+    /**
+     * 获取应用令牌
+     *
+     * @return 应用令牌
+     */
+    private String httpGetAppToken() {
+        String messageId = UUIDUtils.getUUID();
+        String token = getToken();
+
+        String loginId = dcucAuthConfig.getBimLoginId();
+
+        BimGetAppTokenReqVO bimGetAppTokenReqVO = new BimGetAppTokenReqVO();
+        bimGetAppTokenReqVO.setAppId(loginId);
+        bimGetAppTokenReqVO.setMessageId(messageId);
+        bimGetAppTokenReqVO.setToken(token);
+
+        String reqJson = JsonUtils.toJSONString(bimGetAppTokenReqVO);
+
+        log.info("getAppTokenByAppId req :{}", reqJson);
+
+        String url = dcucAuthConfig.getBimUrl() + "/api/rest/customization/ExpApiCustomDragonitService/getAppTokenByAppId";
+
+        log.info("getAppTokenByAppId req url:{}", reqJson);
+        String postResp = HttpRequest.post(url)
+                .body(reqJson)
+                .execute()
+                .body();
+        log.info("getAppTokenByAppId resp :{}", postResp);
+
+        BimGetAppTokenRespVO bimRespVo = JsonUtils.parseObject(postResp, BimGetAppTokenRespVO.class);
+
+        if (!bimRespVo.getSuccess()) {
+            log.error("getAppTokenByAppId error:{}", postResp);
+        }
+
+        BimGetAppTokenItemRespVO data = bimRespVo.getData();
+        return data.getAppToken();
+    }
 }

+ 2 - 0
dcuc-auth-service/src/main/resources/config/mysql/V4_3_0005__Add_AuthFlow.sql

@@ -0,0 +1,2 @@
+ALTER TABLE `T_SERVICE_AUTH_FLOW` ADD `applicant_id` varchar(32) DEFAULT NULL COMMENT '申请单号';
+

+ 2 - 0
dcuc-auth-service/src/main/resources/config/sql/V4_3_0006__Add_AuthFlow.sql

@@ -0,0 +1,2 @@
+alter table T_SERVICE_AUTH_FLOW add applicant_id varchar2(32);
+comment on column T_SERVICE_AUTH_FLOW.applicant_id is '申请单号id';