Просмотр исходного кода

feature(国密切面用户删除功能修改): 国密切面用户删除功能修改

国密切面用户删除功能修改
mazq 3 лет назад
Родитель
Сommit
9afbf6fb9b

+ 8 - 2
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/gm/event/AuthUserInfoEventListener.java

@@ -32,8 +32,10 @@ public class AuthUserInfoEventListener implements ApplicationListener<AuthUserIn
     public void onApplicationEvent(AuthUserInfoEvent authUserInfoEvent) {
         AuthUserInfo authUserInfo = authUserInfoEvent.getAuthUserInfo();
         TableEventEnum tableEventEnum = authUserInfoEvent.getTableEventEnum();
-
-        AuthUserInfoGm authUserInfoGm = gmBusiness.toAuthUserInfoGm(authUserInfo);
+        AuthUserInfoGm authUserInfoGm = null;
+        if(!authUserInfoEvent.getTableEventEnum().equals(TableEventEnum.DELETE)) {
+            authUserInfoGm = gmBusiness.toAuthUserInfoGm(authUserInfo);
+        }
 
         switch (tableEventEnum) {
             case INSERT:
@@ -41,6 +43,10 @@ public class AuthUserInfoEventListener implements ApplicationListener<AuthUserIn
                 break;
             case UPDATE:
                 authUserInfoGmService.update(authUserInfoGm);
+                break;
+            case DELETE:
+                authUserInfoGmService.deleteByIdcard(authUserInfo.getIdcard());
+                break;
             default:
                 break;
         }

+ 15 - 1
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/gm/listener/GmJpaEntityListener.java

@@ -4,11 +4,13 @@ import com.dragoninfo.dcuc.auth.audit.entity.AuthorizeLog;
 import com.dragoninfo.dcuc.auth.gm.event.EventPublisher;
 import com.dragoninfo.dcuc.auth.sub.entity.AuthUserInfo;
 import com.dragoninfo.dcuc.common.enums.TableEventEnum;
+import com.dragonsoft.duceap.base.enums.BooleanEnum;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Configurable;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
 
 import javax.persistence.PostPersist;
+import javax.persistence.PostRemove;
 import javax.persistence.PostUpdate;
 
 /**
@@ -54,7 +56,19 @@ public class GmJpaEntityListener {
     public void afterUpdate(Object target) {
         if (target instanceof AuthUserInfo) {
             AuthUserInfo authUserInfo = (AuthUserInfo) target;
-            eventPublisher.publishAuthUserInfo(authUserInfo, TableEventEnum.UPDATE);
+            if(BooleanEnum.FALSE.value.equals(authUserInfo.getDeleted())) {
+                eventPublisher.publishAuthUserInfo(authUserInfo, TableEventEnum.UPDATE);
+            }else {
+                eventPublisher.publishAuthUserInfo(authUserInfo, TableEventEnum.DELETE);
+            }
+        }
+    }
+
+    @PostRemove
+    public void afterDelete(Object target) {
+        if(target instanceof AuthUserInfo) {
+            AuthUserInfo authUserInfo = (AuthUserInfo) target;
+            eventPublisher.publishAuthUserInfo(authUserInfo, TableEventEnum.DELETE);
         }
     }
 

+ 6 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/gm/service/IAuthUserInfoGmService.java

@@ -71,4 +71,10 @@ public interface IAuthUserInfoGmService {
      * @param id ID
      */
     void checkById(String id);
+
+    /**
+     * 根据身份号删除
+     * @param idcard
+     */
+    void deleteByIdcard(String idcard);
 }

+ 6 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/gm/service/impl/AuthUserInfoGmServiceImpl.java

@@ -107,6 +107,12 @@ public class AuthUserInfoGmServiceImpl implements IAuthUserInfoGmService {
         gmBusiness.checkAuthUserInfoGm(authUserInfoGm);
     }
 
+    @Override
+    public void deleteByIdcard(String idcard) {
+        AuthUserInfoGm info = authUserInfoGmBPO.findByIdCard(idcard);
+        authUserInfoGmBPO.delete(info.getId());
+    }
+
     /**
      * 获取用户信息
      *

+ 0 - 1
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/sub/entity/AuthUserInfo.java

@@ -2,7 +2,6 @@ package com.dragoninfo.dcuc.auth.sub.entity;
 
 import com.dragoninfo.dcuc.auth.gm.entity.AuthUserInfoGm;
 import com.dragoninfo.dcuc.auth.gm.listener.GmJpaEntityListener;
-import com.dragoninfo.dcuc.auth.sub.dto.AuthUserDTO;
 import com.dragonsoft.duceap.base.annotations.audit.DeletedBy;
 import com.dragonsoft.duceap.base.annotations.audit.DeletedDate;
 import com.dragonsoft.duceap.base.entity.persistent.IdEntity;