TRX 1 год назад
Родитель
Сommit
bf66ec64b5

+ 3 - 1
FullCardClient/src/main/java/com/zhongshu/card/client/model/base/IDParam.java

@@ -2,11 +2,13 @@ package com.zhongshu.card.client.model.base;
 
 import lombok.Data;
 
+import java.io.Serializable;
+
 /**
  * @author TRX
  * @date 2024/5/26
  */
 @Data
-public class IDParam {
+public class IDParam implements Serializable {
     private String id;
 }

+ 3 - 1
FullCardClient/src/main/java/com/zhongshu/card/client/model/base/OidModel.java

@@ -2,11 +2,13 @@ package com.zhongshu.card.client.model.base;
 
 import lombok.Data;
 
+import java.io.Serializable;
+
 /**
  * @author TRX
  * @date 2024/6/3
  */
 @Data
-public class OidModel {
+public class OidModel implements Serializable {
     private String oid;
 }

+ 3 - 1
FullCardClient/src/main/java/com/zhongshu/card/client/model/base/SuperModel.java

@@ -7,6 +7,8 @@ import lombok.NoArgsConstructor;
 import org.springframework.data.annotation.CreatedDate;
 import org.springframework.data.annotation.LastModifiedDate;
 
+import java.io.Serializable;
+
 /**
  * @author TRX
  * @date 2024/5/26
@@ -14,7 +16,7 @@ import org.springframework.data.annotation.LastModifiedDate;
 @Data
 @AllArgsConstructor
 @NoArgsConstructor
-public class SuperModel {
+public class SuperModel implements Serializable {
 
     @Schema(description = "数据ID")
     private String id;

+ 3 - 1
FullCardClient/src/main/java/com/zhongshu/card/client/model/base/SuperParam.java

@@ -3,13 +3,15 @@ package com.zhongshu.card.client.model.base;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
+import java.io.Serializable;
+
 /**
  * 添加/编辑的父类
  * @author TRX
  * @date 2024/5/26
  */
 @Data
-public class SuperParam {
+public class SuperParam implements Serializable {
 
     @Schema(description = "数据ID")
     private String id;

+ 2 - 1
FullCardClient/src/main/java/com/zhongshu/card/client/model/base/SuperSearch.java

@@ -4,6 +4,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 import org.springframework.data.domain.Sort;
 
+import java.io.Serializable;
 import java.util.List;
 
 /**
@@ -11,7 +12,7 @@ import java.util.List;
  * @date 2024/5/26
  */
 @Data
-public class SuperSearch {
+public class SuperSearch implements Serializable {
 
     @Schema(description = "数据ID", hidden = true)
     private String id;

+ 1 - 1
FullCardClient/src/main/java/com/zhongshu/card/client/service/org/OrganizationService.java

@@ -15,5 +15,5 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 
 public interface OrganizationService {
-
+    ResultContent initSuperOrganization();
 }

+ 31 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/org/TestController.java

@@ -0,0 +1,31 @@
+package com.zhongshu.card.server.core.controller.org;
+
+import com.github.microservice.auth.security.annotations.ResourceAuth;
+import com.github.microservice.auth.security.type.AuthType;
+import com.zhongshu.card.client.model.org.DepartmentParam;
+import com.zhongshu.card.client.ret.ResultContent;
+import com.zhongshu.card.client.service.org.DepartmentService;
+import com.zhongshu.card.server.core.service.TestService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("test/manager")
+@Tag(name = "测试")
+public class TestController {
+
+    @Autowired
+    private TestService testService;
+
+    @Operation(summary = "测试接口", description = "测试接口")
+    @RequestMapping(value = "text", method = {RequestMethod.GET})
+    public ResultContent text() {
+        return this.testService.text();
+    }
+
+
+}

+ 3 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/dao/org/OrganizationDao.java

@@ -1,5 +1,6 @@
 package com.zhongshu.card.server.core.dao.org;
 
+import com.github.microservice.auth.security.type.AuthType;
 import com.github.microservice.components.data.mongo.mongo.dao.MongoDao;
 import com.zhongshu.card.server.core.dao.org.extend.OrganizationDaoExtend;
 import com.zhongshu.card.server.core.dao.org.extend.UserCountDaoExtend;
@@ -15,4 +16,6 @@ public interface OrganizationDao extends MongoDao<Organization>, OrganizationDao
     Organization findTopById(String id);
 
     Organization findTopByOid(String oid);
+
+    Organization findByAuthType(AuthType authType);
 }

+ 4 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/dataConfig/CardDefault.java

@@ -5,6 +5,10 @@ package com.zhongshu.card.server.core.dataConfig;
  * @date 2024/5/31
  */
 public class CardDefault {
+
+    public static final String SUPER_ADMIN_NAME = "admin";
+
+
     /**
      * 默认密码
      */

+ 23 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/init/SuperCountInit.java

@@ -0,0 +1,23 @@
+package com.zhongshu.card.server.core.init;
+
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.boot.CommandLineRunner;
+import org.springframework.stereotype.Component;
+
+/**
+ * 平台用户的初始化
+ *
+ * @author TRX
+ * @date 2024/6/3
+ */
+@Component
+@Slf4j
+public class SuperCountInit implements CommandLineRunner {
+
+    @Override
+    public void run(String... args) throws Exception {
+        // 平台 平台用户的初始化
+        log.info("SuperCountInit");
+
+    }
+}

+ 3 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/listener/OrganizationEventListener.java

@@ -2,9 +2,11 @@ package com.zhongshu.card.server.core.listener;
 
 import com.github.microservice.auth.client.event.auth.OrganizationApplicationEvent;
 import com.github.microservice.auth.client.type.AuthEventType;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.context.ApplicationListener;
 import org.springframework.stereotype.Component;
 
+@Slf4j
 @Component
 public class OrganizationEventListener implements ApplicationListener<OrganizationApplicationEvent> {
 
@@ -12,6 +14,7 @@ public class OrganizationEventListener implements ApplicationListener<Organizati
     public void onApplicationEvent(OrganizationApplicationEvent event) {
         String epId = event.getStreamModel().getParameter().getId();
         AuthEventType eventType = event.getStreamModel().getParameter().getEventType();
+        log.info("OrganizationEventListener {} {}", epId, eventType);
         // 初始
         if(eventType == AuthEventType.Add) {
 

+ 22 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/TestService.java

@@ -0,0 +1,22 @@
+package com.zhongshu.card.server.core.service;
+
+import com.zhongshu.card.client.ret.ResultContent;
+import com.zhongshu.card.client.service.org.OrganizationService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author TRX
+ * @date 2024/6/3
+ */
+@Slf4j
+@Service
+public class TestService {
+    @Autowired
+    OrganizationService organizationService;
+
+    public ResultContent text(){
+        return organizationService.initSuperOrganization();
+    }
+}

+ 50 - 1
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/org/OrganizationServiceImpl.java

@@ -1,5 +1,10 @@
 package com.zhongshu.card.server.core.service.org;
 
+import com.github.microservice.auth.client.content.ResultState;
+import com.github.microservice.auth.client.service.OrganizationUserService;
+import com.github.microservice.auth.client.service.RoleService;
+import com.github.microservice.auth.client.service.UserService;
+import com.github.microservice.auth.security.type.AuthType;
 import com.zhongshu.card.client.model.org.OrganizationAddParam;
 import com.zhongshu.card.client.model.org.OrganizationModel;
 import com.zhongshu.card.client.ret.ResultContent;
@@ -10,11 +15,13 @@ import com.zhongshu.card.server.core.util.BeanUtils;
 import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.ObjectUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 /**
  * 机构管理
+ *
  * @author TRX
  * @date 2024/5/31
  */
@@ -25,6 +32,18 @@ public class OrganizationServiceImpl implements OrganizationService {
     @Autowired
     OrganizationDao organizationDao;
 
+    @Autowired
+    com.github.microservice.auth.client.service.OrganizationService organizationService;
+
+    @Autowired
+    OrganizationUserService organizationUserService;
+
+    @Autowired
+    RoleService roleService;
+
+    @Autowired
+    UserService userService;
+
     public ResultContent addOrganization(OrganizationAddParam param) {
         Organization organization = new Organization();
 
@@ -32,7 +51,37 @@ public class OrganizationServiceImpl implements OrganizationService {
         return ResultContent.buildSuccess();
     }
 
-    public OrganizationModel toModel(Organization entity){
+    @Override
+    public ResultContent initSuperOrganization() {
+        String oid = "";
+        Organization organization = organizationDao.findByAuthType(AuthType.Platform);
+        if (ObjectUtils.isEmpty(organization)) {
+            log.info("initSuperOrganization 开始初始平台结构信息");
+            com.github.microservice.auth.client.model.OrganizationModel organizationModel = new com.github.microservice.auth.client.model.OrganizationModel();
+            organizationModel.setName("全卡项目平台");
+            organizationModel.setAuthType(AuthType.Platform);
+            organizationModel.setRemark("系统自动初始化");
+            com.github.microservice.auth.client.content.ResultContent<String>
+                    resultContent = organizationService.add(organizationModel);
+
+            if (resultContent.getState() == ResultState.Success) {
+                log.info("平台初始成功: {}", resultContent.getContent());
+                oid = resultContent.getContent();
+            } else {
+                String msg = resultContent.getMsg();
+                if (StringUtils.isEmpty(msg) && resultContent.getException() != null) {
+                    msg = resultContent.getException().getMessage();
+                }
+                log.info("initSuperOrganization {}", msg);
+                return ResultContent.buildFail(msg);
+            }
+        } else {
+            oid = organization.getOid();
+        }
+        return ResultContent.buildSuccess(oid);
+    }
+
+    public OrganizationModel toModel(Organization entity) {
         OrganizationModel model = new OrganizationModel();
         if (ObjectUtils.isNotEmpty(entity)) {
             BeanUtils.copyProperties(entity, model);

+ 1 - 1
FullCardServer/src/main/resources/application-local.yml

@@ -11,7 +11,7 @@ spring:
       auto-index-creation: true
     redis:
       host: 127.0.0.1
-      port: 6379
+      port: 6378
       password: 8756redis2024
       database: 7
       timeout: 5000