浏览代码

Merge branch 'huangzqa-fix-20210817' into 'release/v2.4.0'

Huangzqa fix 20210817

See merge request dcuc-tjdsj/auth-service!109
黄资权 3 年之前
父节点
当前提交
c85b5b7cf4

+ 10 - 5
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/gm/aspect/GmSelectAspect.java

@@ -203,7 +203,8 @@ public class GmSelectAspect {
         Object[] args = pjp.getArgs();
         String id = (String) args[0];
 
-        return appFunInfoGmService.findByAppIdAndIsActive(id);
+        appFunInfoGmService.findByAppIdAndIsActive(id);
+        return pjp.proceed();
     }
 
     /**
@@ -217,7 +218,8 @@ public class GmSelectAspect {
     public Object appFunGetRoot(ProceedingJoinPoint pjp) throws Throwable {
         Object[] args = pjp.getArgs();
         String appId = (String) args[0];
-        return appFunInfoGmService.getRoot(appId);
+        appFunInfoGmService.getRoot(appId);
+        return pjp.proceed();
     }
 
     /**
@@ -231,7 +233,8 @@ public class GmSelectAspect {
     public Object appFunGetCodeById(ProceedingJoinPoint pjp) throws Throwable {
         Object[] args = pjp.getArgs();
         String id = (String) args[0];
-        return appFunInfoGmService.getById(id);
+        appFunInfoGmService.getById(id);
+        return pjp.proceed();
     }
 
     /**
@@ -245,7 +248,8 @@ public class GmSelectAspect {
     public Object appFunGetByCodes(ProceedingJoinPoint pjp) throws Throwable {
         Object[] args = pjp.getArgs();
         String value = (String) args[0];
-        return appFunInfoGmService.getByCodes(value);
+        appFunInfoGmService.getByCodes(value);
+        return pjp.proceed();
     }
 
     /**
@@ -259,7 +263,8 @@ public class GmSelectAspect {
     public Object appFunFindByCode(ProceedingJoinPoint pjp) throws Throwable {
         Object[] args = pjp.getArgs();
         String value = (String) args[0];
-        return appFunInfoGmService.getByCode(value);
+        appFunInfoGmService.getByCode(value);
+        return pjp.proceed();
     }
 
     /**

+ 7 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/gm/business/IGmBusiness.java

@@ -108,6 +108,13 @@ public interface IGmBusiness {
      */
     AppFunInfoGm toAppFunInfoGm(AppFunInfo appFunInfo);
 
+    /**
+     * 检查功能信息
+     *
+     * @param appFunInfoGm 功能信息
+     */
+    void checkAppFunInfo(AppFunInfoGm appFunInfoGm);
+
     /**
      * 同步功能信息数据
      */

+ 14 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/gm/business/impl/GmBusinessImpl.java

@@ -302,6 +302,20 @@ public class GmBusinessImpl implements IGmBusiness {
         return appFunInfoGm;
     }
 
+    @Override
+    public void checkAppFunInfo(AppFunInfoGm appFunInfoGm) {
+        if (appFunInfoGm == null) {
+            return;
+        }
+        String sourceDigestString = appFunInfoGm.toSourceDigestString();
+        String digest = appFunInfoGm.getDigest();
+        if (StrUtil.isNotBlank(digest)) {
+            if (ResponseUtil.isFail(gmSignFacade.gmSm3Verify(sourceDigestString, digest))) {
+                throw new GmIntegrityException();
+            }
+        }
+    }
+
     @Override
     public void syncAppFunInfo() {
         List<AppFunInfo> authorizeLogs = appFunInfoService.findAll();

+ 2 - 3
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/gm/repository/AppFunInfoGmRepository.java

@@ -1,6 +1,5 @@
 package com.dragoninfo.dcuc.auth.gm.repository;
 
-import com.dragoninfo.dcuc.auth.auth.entity.AppFunInfo;
 import com.dragoninfo.dcuc.auth.gm.entity.AppFunInfoGm;
 import com.dragonsoft.duceap.core.persistent.repository.BaseRepository;
 import org.springframework.data.jpa.repository.Modifying;
@@ -70,7 +69,7 @@ public interface AppFunInfoGmRepository extends BaseRepository<AppFunInfoGm, Str
      * @param id Id
      * @return 功能信息
      */
-    List<AppFunInfoGm> getById(String id);
+    AppFunInfoGm getById(String id);
 
     /**
      * 获取功能信息
@@ -79,7 +78,7 @@ public interface AppFunInfoGmRepository extends BaseRepository<AppFunInfoGm, Str
      * @return 功能信息
      */
     @Query("from AppFunInfoGm where :codes like concat('%',concat(code,'%')) and isActive='1'")
-    List<AppFunInfo> getByCodes(@Param("codes") String codes);
+    List<AppFunInfoGm> getByCodes(@Param("codes") String codes);
 
     /**
      * 根据code 查询

+ 5 - 17
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/gm/service/IAppFunInfoGmService.java

@@ -1,6 +1,5 @@
 package com.dragoninfo.dcuc.auth.gm.service;
 
-import com.dragoninfo.dcuc.auth.auth.entity.AppFunInfo;
 import com.dragoninfo.dcuc.auth.gm.entity.AppFunInfoGm;
 
 import java.util.List;
@@ -57,51 +56,40 @@ public interface IAppFunInfoGmService {
      * 获取功能信息列表
      *
      * @param appId 应用ID
-     * @return 功能信息
      */
-    List<AppFunInfoGm> findByAppIdAndIsActive(String appId);
+    void findByAppIdAndIsActive(String appId);
 
     /**
      * 获取根功能
      *
      * @param appId 应用ID
-     * @return 功能信息
      */
-    List<AppFunInfoGm> getRoot(String appId);
+    void getRoot(String appId);
 
     /**
      * 根据ID获取
      *
      * @param id Id
-     * @return 功能信息
      */
-    List<AppFunInfoGm> getById(String id);
+    void getById(String id);
 
     /**
      * 获取功能信息
      *
      * @param codes 代码
-     * @return 功能信息
      */
-    List<AppFunInfo> getByCodes(String codes);
+    void getByCodes(String codes);
 
     /**
      * 根据code 查询
      *
      * @param code 功能代码
-     * @return 功能信息
      */
-    AppFunInfoGm getByCode(String code);
+    void getByCode(String code);
 
     /**
      * 删除所有
      */
     void deleteAll();
 
-    /**
-     * 报错或者更新
-     *
-     * @param appFunInfoGm 功能信息
-     */
-    void saveOrUpdate(AppFunInfoGm appFunInfoGm);
 }

+ 25 - 19
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/gm/service/impl/AppFunInfoGmServiceImpl.java

@@ -1,6 +1,6 @@
 package com.dragoninfo.dcuc.auth.gm.service.impl;
 
-import com.dragoninfo.dcuc.auth.auth.entity.AppFunInfo;
+import com.dragoninfo.dcuc.auth.gm.business.IGmBusiness;
 import com.dragoninfo.dcuc.auth.gm.entity.AppFunInfoGm;
 import com.dragoninfo.dcuc.auth.gm.repository.AppFunInfoGmRepository;
 import com.dragoninfo.dcuc.auth.gm.service.IAppFunInfoGmService;
@@ -25,6 +25,9 @@ public class AppFunInfoGmServiceImpl implements IAppFunInfoGmService {
     @Autowired
     private AppFunInfoGmRepository appFunInfoGmRepository;
 
+    @Autowired
+    private IGmBusiness gmBusiness;
+
     @Override
     public void save(AppFunInfoGm appFunInfoGm) {
         appFunInfoGmRepository.save(appFunInfoGm);
@@ -51,28 +54,39 @@ public class AppFunInfoGmServiceImpl implements IAppFunInfoGmService {
     }
 
     @Override
-    public List<AppFunInfoGm> findByAppIdAndIsActive(String appId) {
-        return appFunInfoGmRepository.findByAppIdAndIsActive(appId);
+    public void findByAppIdAndIsActive(String appId) {
+        List<AppFunInfoGm> appFunInfoGmList = appFunInfoGmRepository.findByAppIdAndIsActive(appId);
+        for (AppFunInfoGm appFunInfoGm : appFunInfoGmList) {
+            gmBusiness.checkAppFunInfo(appFunInfoGm);
+        }
     }
 
     @Override
-    public List<AppFunInfoGm> getRoot(String appId) {
-        return appFunInfoGmRepository.getRoot(appId);
+    public void getRoot(String appId) {
+        List<AppFunInfoGm> appFunInfoGmList = appFunInfoGmRepository.getRoot(appId);
+        for (AppFunInfoGm appFunInfoGm : appFunInfoGmList) {
+            gmBusiness.checkAppFunInfo(appFunInfoGm);
+        }
     }
 
     @Override
-    public List<AppFunInfoGm> getById(String id) {
-        return appFunInfoGmRepository.getById(id);
+    public void getById(String id) {
+        AppFunInfoGm appFunInfoGm = appFunInfoGmRepository.getById(id);
+        gmBusiness.checkAppFunInfo(appFunInfoGm);
     }
 
     @Override
-    public List<AppFunInfo> getByCodes(String codes) {
-        return appFunInfoGmRepository.getByCodes(codes);
+    public void getByCodes(String codes) {
+        List<AppFunInfoGm> appFunInfoList = appFunInfoGmRepository.getByCodes(codes);
+        for (AppFunInfoGm appFunInfoGm : appFunInfoList) {
+            gmBusiness.checkAppFunInfo(appFunInfoGm);
+        }
     }
 
     @Override
-    public AppFunInfoGm getByCode(String code) {
-        return appFunInfoGmRepository.getByCode(code);
+    public void getByCode(String code) {
+        AppFunInfoGm appFunInfoGm = appFunInfoGmRepository.getByCode(code);
+        gmBusiness.checkAppFunInfo(appFunInfoGm);
     }
 
     @Override
@@ -80,12 +94,4 @@ public class AppFunInfoGmServiceImpl implements IAppFunInfoGmService {
         appFunInfoGmRepository.deleteAllInBatch();
     }
 
-    @Override
-    public void saveOrUpdate(AppFunInfoGm appFunInfoGm) {
-        if (appFunInfoGm.getId() == null) {
-            appFunInfoGmRepository.save(appFunInfoGm);
-        } else {
-            appFunInfoGmRepository.update(appFunInfoGm);
-        }
-    }
 }

+ 23 - 0
dcuc-auth-service/src/main/resources/config/mysql/V4_3_0017__AddRoleInfo_GM.sql

@@ -0,0 +1,23 @@
+CREATE TABLE T_ROLE_INFO_GM
+(
+    ID                 VARCHAR(32)   NOT NULL COMMENT '编号',
+    CODE               VARCHAR(40)   NOT NULL COMMENT '角色代码',
+    NAME               VARCHAR(40)   NOT NULL COMMENT '角色名称',
+    APP_ID             VARCHAR(32)   NOT NULL COMMENT '应用ID',
+    DETAIL             VARCHAR(120) COMMENT '详细描述',
+    ROLE_LEVEL         VARCHAR(20) COMMENT '角色层级:省厅、市局、分局、派出所',
+    INIT_NUMBER        DECIMAL(5) COMMENT '初始配额人数',
+    ROLE_BUSINESS      VARCHAR(200) COMMENT '业务域编号',
+    POLICE_CATEGORY    VARCHAR(200) COMMENT '警种',
+    IS_NOT_LIMIT_COUNT VARCHAR(10) COMMENT '是否限制配额',
+    IS_ACTIVE          CHAR(1)       NOT NULL COMMENT '有效标志(0:无效 1:有效)',
+    CREATE_TIME        DATETIME COMMENT '创建时间',
+    CREATOR            VARCHAR(40) COMMENT '创建人',
+    MODIFIED_TIME      DATETIME COMMENT '修改时间',
+    MODIFIER           VARCHAR(40) COMMENT '修改人',
+    REMARK             VARCHAR(400) COMMENT '备注',
+    ROLE_TYPE          VARCHAR(10) COMMENT '角色归属 00:通用,01:管理员角色,10:警员角色,20:辅警角色,30:施工员角色',
+    FACE_VERIFY_FLAG   VARCHAR(1) COMMENT '人像识别标识位',
+    DIGEST             VARCHAR(1024) NOT NULL COMMENT '摘要',
+    SIGN               VARCHAR(1024) NOT NULL COMMENT '签名'
+) COMMENT = '角色信息GM表 ';

+ 0 - 0
dcuc-auth-service/src/main/resources/config/mysql/V4_3_0017__AddOperate.sql → dcuc-auth-service/src/main/resources/config/mysql/V4_3_0018__AddOperate.sql


+ 45 - 0
dcuc-auth-service/src/main/resources/config/sql/V4_3_0017__AddRoleInfo_GM.sql

@@ -0,0 +1,45 @@
+CREATE TABLE T_ROLE_INFO_GM
+(
+    ID        NOT NULL,
+    CODE      NOT NULL,
+    NAME      NOT NULL,
+    APP_ID    NOT NULL,
+    DETAIL,
+    ROLE_LEVEL,
+    INIT_NUMBER,
+    ROLE_BUSINESS,
+    POLICE_CATEGORY,
+    IS_NOT_LIMIT_COUNT,
+    IS_ACTIVE NOT NULL,
+    CREATE_TIME,
+    CREATOR,
+    MODIFIED_TIME,
+    MODIFIER,
+    REMARK,
+    ROLE_TYPE,
+    FACE_VERIFY_FLAG,
+    DIGEST NVARCHAR2(1024) NOT NULL,
+    SIGN NVARCHAR2(1024) NOT NULL
+);
+
+COMMENT ON TABLE T_ROLE_INFO_GM IS '角色信息GM表';
+COMMENT ON COLUMN T_ROLE_INFO_GM.ID IS '编号';
+COMMENT ON COLUMN T_ROLE_INFO_GM.CODE IS '角色代码';
+COMMENT ON COLUMN T_ROLE_INFO_GM.NAME IS '角色名称';
+COMMENT ON COLUMN T_ROLE_INFO_GM.APP_ID IS '应用ID';
+COMMENT ON COLUMN T_ROLE_INFO_GM.DETAIL IS '详细描述';
+COMMENT ON COLUMN T_ROLE_INFO_GM.ROLE_LEVEL IS '角色层级:省厅、市局、分局、派出所';
+COMMENT ON COLUMN T_ROLE_INFO_GM.INIT_NUMBER IS '初始配额人数';
+COMMENT ON COLUMN T_ROLE_INFO_GM.ROLE_BUSINESS IS '业务域编号';
+COMMENT ON COLUMN T_ROLE_INFO_GM.POLICE_CATEGORY IS '警种';
+COMMENT ON COLUMN T_ROLE_INFO_GM.IS_NOT_LIMIT_COUNT IS '是否限制配额';
+COMMENT ON COLUMN T_ROLE_INFO_GM.IS_ACTIVE IS '有效标志(0:无效 1:有效)';
+COMMENT ON COLUMN T_ROLE_INFO_GM.CREATE_TIME IS '创建时间';
+COMMENT ON COLUMN T_ROLE_INFO_GM.CREATOR IS '创建人';
+COMMENT ON COLUMN T_ROLE_INFO_GM.MODIFIED_TIME IS '修改时间';
+COMMENT ON COLUMN T_ROLE_INFO_GM.MODIFIER IS '修改人';
+COMMENT ON COLUMN T_ROLE_INFO_GM.REMARK IS '备注';
+COMMENT ON COLUMN T_ROLE_INFO_GM.ROLE_TYPE IS '角色归属 00:通用,01:管理员角色,10:警员角色,20:辅警角色,30:施工员角色';
+COMMENT ON COLUMN T_ROLE_INFO_GM.FACE_VERIFY_FLAG IS '人像识别标识位';
+COMMENT ON COLUMN T_ROLE_INFO_GM.DIGEST IS '摘要';
+COMMENT ON COLUMN T_ROLE_INFO_GM.SIGN IS '签名';

+ 0 - 0
dcuc-auth-service/src/main/resources/config/sql/V4_3_0017__AddOperate.sql → dcuc-auth-service/src/main/resources/config/sql/V4_3_0018__AddOperate.sql