TRX 1 yıl önce
ebeveyn
işleme
56a55499a6
31 değiştirilmiş dosya ile 435 ekleme ve 74 silme
  1. 36 0
      FullCardClient/src/main/java/com/zhongshu/card/client/model/org/OrganizationMiniModel.java
  2. 88 0
      FullCardClient/src/main/java/com/zhongshu/card/client/model/org/OrganizationRelationModel.java
  3. 4 1
      FullCardClient/src/main/java/com/zhongshu/card/client/model/org/OrganizationRelationSearch.java
  4. 6 0
      FullCardClient/src/main/java/com/zhongshu/card/client/model/org/OrganizationSimpleModel.java
  5. 76 0
      FullCardClient/src/main/java/com/zhongshu/card/client/model/orgModel/ProjectBindOrgModel.java
  6. 8 0
      FullCardClient/src/main/java/com/zhongshu/card/client/model/orgModel/ProjectBindOrgParam.java
  7. 36 0
      FullCardClient/src/main/java/com/zhongshu/card/client/model/projectAbout/PayShareListModel.java
  8. 36 0
      FullCardClient/src/main/java/com/zhongshu/card/client/model/projectAbout/PayShareListParam.java
  9. 3 3
      FullCardClient/src/main/java/com/zhongshu/card/client/service/org/OrganizationService.java
  10. 1 1
      FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/org/OrganizationController.java
  11. 1 1
      FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/org/RoleController.java
  12. 4 15
      FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/orgManager/ProjectBindOrgController.java
  13. 1 1
      FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/school/BookInfoController.java
  14. 0 3
      FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/school/DictInfoController.java
  15. 1 1
      FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/school/NoticeController.java
  16. 1 1
      FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/school/OrganizationRelationController.java
  17. 12 5
      FullCardServer/src/main/java/com/zhongshu/card/server/core/dao/org/impl/OrganizationDaoImpl.java
  18. 14 0
      FullCardServer/src/main/java/com/zhongshu/card/server/core/dao/projectAbout/PayShareListDao.java
  19. 1 1
      FullCardServer/src/main/java/com/zhongshu/card/server/core/domain/org/OrganizationRelation.java
  20. 2 0
      FullCardServer/src/main/java/com/zhongshu/card/server/core/service/org/IndexService.java
  21. 6 3
      FullCardServer/src/main/java/com/zhongshu/card/server/core/service/org/OrganizationServiceImpl.java
  22. 2 1
      FullCardServer/src/main/java/com/zhongshu/card/server/core/service/org/OrganizationUserServiceImpl.java
  23. 18 19
      FullCardServer/src/main/java/com/zhongshu/card/server/core/service/orgManager/OrganizationManagerServiceImpl.java
  24. 71 9
      FullCardServer/src/main/java/com/zhongshu/card/server/core/service/orgManager/ProjectBindOrgServiceImpl.java
  25. 1 1
      FullCardServer/src/main/java/com/zhongshu/card/server/core/service/payment/WalletService.java
  26. 1 1
      FullCardServer/src/main/java/com/zhongshu/card/server/core/service/school/CardInfoServiceImpl.java
  27. 1 1
      FullCardServer/src/main/java/com/zhongshu/card/server/core/service/school/NoticeInfoServiceImpl.java
  28. 1 3
      FullCardServer/src/main/java/com/zhongshu/card/server/core/service/school/SchoolUserServiceImpl.java
  29. 1 1
      FullCardServer/src/main/java/com/zhongshu/card/server/core/service/user/DepartmentServiceImpl.java
  30. 1 1
      FullCardServer/src/main/java/com/zhongshu/card/server/core/service/user/RoleServiceImpl.java
  31. 1 1
      FullCardServer/src/main/java/com/zhongshu/card/server/core/service/user/UserAccountServiceImpl.java

+ 36 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/org/OrganizationMiniModel.java

@@ -0,0 +1,36 @@
+package com.zhongshu.card.client.model.org;
+
+import com.github.microservice.auth.security.type.AuthType;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * 机构数据 最简单的模型
+ *
+ * @author TRX
+ * @date 2024/5/31
+ */
+@Data
+public class OrganizationMiniModel {
+
+    @Schema(description = "数据ID")
+    private String id;
+
+    @Schema(description = "机构名称")
+    private String name;
+
+    @Schema(description = "编码、项目ID、机构编号")
+    private String code;
+
+    @Schema(description = "机构类型")
+    private AuthType authType = AuthType.Enterprise;
+
+    private String authTypeStr;
+
+    public String getAuthTypeStr() {
+        if (authType != null) {
+            return authType.getRemark();
+        }
+        return "";
+    }
+}

+ 88 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/org/OrganizationRelationModel.java

@@ -0,0 +1,88 @@
+package com.zhongshu.card.client.model.org;
+
+import com.github.microservice.auth.security.type.AuthType;
+import com.zhongshu.card.client.model.base.SuperModel;
+import com.zhongshu.card.client.type.OrganizationState;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 结构基本信息模型 (与数据模型系统)
+ *
+ * @author TRX
+ * @date 2024/5/31
+ */
+@Data
+public class OrganizationRelationModel extends SuperModel {
+
+    @Schema(description = "机构名称")
+    private String name;
+
+    @Schema(description = "编码、项目ID、机构编号")
+    private String code;
+
+    @Schema(description = "机构类型")
+    private AuthType authType = AuthType.Enterprise;
+
+    private String authTypeStr;
+
+    public String getAuthTypeStr() {
+        if (authType != null) {
+            return authType.getRemark();
+        }
+        return "";
+    }
+
+    @Schema(description = "状态")
+    private OrganizationState state;
+
+    private String stateStr;
+
+    public String getStateStr() {
+        if (state != null) {
+            return state.getRemark();
+        }
+        return "";
+    }
+
+    @Schema(description = "logo")
+    private String logo;
+
+    @Schema(description = "统一社会信用代码")
+    private String orgCode;
+
+    @Schema(description = " 行政区划编码 21,2104,210403")
+    private String adminDivisionItemCode;
+
+    @Schema(description = "地区列表")
+    private List<RegionModel> regionList;
+
+    private String regionStr;
+
+    public String getRegionStr() {
+        if (regionList != null) {
+            List<String> arr = regionList.stream().map(it -> it.getName()).collect(Collectors.toList());
+            return String.join("/", arr);
+        }
+        return "";
+    }
+
+    @Schema(description = "地址")
+    private String address;
+
+    @Schema(description = "经度")
+    private String mapLon;
+
+    @Schema(description = "纬度")
+    private String mapLat;
+
+    @Schema(description = "联系人-用来初始管理员")
+    private String contactName;
+
+    @Schema(description = "联系人电话")
+    private String contactPhone;
+
+}

+ 4 - 1
FullCardClient/src/main/java/com/zhongshu/card/client/model/org/OrganizationRelationSearch.java

@@ -11,7 +11,10 @@ import lombok.Data;
 @Data
 public class OrganizationRelationSearch {
 
-    @Schema(description = "项目Oid")
+    @Schema(description = "项目oid")
+    private String projectOid;
+
+    @Schema(description = "项目Oid", hidden = true)
     private String mainOid;
 
     @Schema(description = "主ID", hidden = true)

+ 6 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/org/OrganizationSimpleModel.java

@@ -6,10 +6,13 @@ import com.zhongshu.card.client.type.OrganizationState;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.stream.Collectors;
 
 /**
+ * 机构的数据模型
+ *
  * @author TRX
  * @date 2024/5/31
  */
@@ -83,4 +86,7 @@ public class OrganizationSimpleModel extends SuperModel {
     @Schema(description = "联系人电话")
     private String contactPhone;
 
+    @Schema(description = "已绑定项目列表")
+    private List<OrganizationMiniModel> bindProjects = new ArrayList<>();
+
 }

+ 76 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/orgModel/ProjectBindOrgModel.java

@@ -0,0 +1,76 @@
+package com.zhongshu.card.client.model.orgModel;
+
+import com.zhongshu.card.client.model.base.SuperModel;
+import com.zhongshu.card.client.model.org.OrganizationMiniModel;
+import com.zhongshu.card.client.model.org.OrganizationRelationModel;
+import com.zhongshu.card.client.model.org.UserCountSimpleModel;
+import com.zhongshu.card.client.model.projectAbout.PayShareListModel;
+import com.zhongshu.card.client.type.DataState;
+import com.zhongshu.card.client.type.OrganizationRelationType;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.apache.commons.lang3.ObjectUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 项目绑定
+ *
+ * @author TRX
+ * @date 2024/9/26
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class ProjectBindOrgModel extends SuperModel {
+
+    @Schema(description = "主数据")
+    private OrganizationRelationModel mainOrganization;
+
+    public String getProjectOid() {
+        if (ObjectUtils.isNotEmpty(mainOrganization)) {
+            return mainOrganization.getOid();
+        }
+        return "";
+    }
+
+    @Schema(description = "关联数据")
+    private OrganizationRelationModel relOrganization;
+
+    private String orgOid;
+
+    public String getOrgOid() {
+        if (ObjectUtils.isNotEmpty(relOrganization)) {
+            return relOrganization.getOid();
+        }
+        return "";
+    }
+
+    @Schema(description = "绑定关联类型")
+    private OrganizationRelationType relationType;
+
+    @Schema(description = "分账配置")
+    private PayShareListModel payShareList;
+
+    private String payShareListId;
+
+    public String getPayShareListId() {
+        if (ObjectUtils.isNotEmpty(payShareList)) {
+            return payShareList.getId();
+        }
+        return "";
+    }
+
+    @Schema(description = "负责人userId")
+    private List<String> managerUserIds;
+
+    @Schema(description = "负责人信息列表")
+    private List<UserCountSimpleModel> managerUserList = new ArrayList<>();
+
+    @Schema(description = "数据状态")
+    private DataState state = DataState.Enable;
+
+}

+ 8 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/orgModel/ProjectBindOrgParam.java

@@ -8,6 +8,8 @@ import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
+import java.util.List;
+
 /**
  * @author TRX
  * @date 2024/9/26
@@ -28,4 +30,10 @@ public class ProjectBindOrgParam {
     @Schema(description = "数据状态")
     @NotNull
     private DataState state = DataState.Enable;
+
+    @Schema(description = "分账配置")
+    private String payShareListId;
+
+    @Schema(description = "负责人userId")
+    private List<String> managerUserIds;
 }

+ 36 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/projectAbout/PayShareListModel.java

@@ -0,0 +1,36 @@
+package com.zhongshu.card.client.model.projectAbout;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.math.BigDecimal;
+
+/**
+ * @author TRX
+ * @date 2024/9/24
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class PayShareListModel {
+
+    @Schema(description = "数据ID")
+    private String id;
+
+    @Schema(description = "项目ID")
+    private String projectOid;
+
+    @Schema(description = "规则名称")
+    private String name;
+
+    @Schema(description = "项目分账比例,0-100")
+    private BigDecimal projectScale = BigDecimal.ZERO;
+
+    @Schema(description = "机构分账比例,0-100")
+    private BigDecimal orgScale = BigDecimal.ZERO;
+
+    @Schema(description = "")
+    private String remark;
+}

+ 36 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/projectAbout/PayShareListParam.java

@@ -0,0 +1,36 @@
+package com.zhongshu.card.client.model.projectAbout;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.math.BigDecimal;
+
+/**
+ * @author TRX
+ * @date 2024/9/24
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class PayShareListParam {
+
+    @Schema(description = "数据ID")
+    private String id;
+
+    @Schema(description = "项目ID")
+    private String projectOid;
+
+    @Schema(description = "规则名称")
+    private String name;
+
+    @Schema(description = "项目分账比例,0-100")
+    private BigDecimal projectScale = BigDecimal.ZERO;
+
+    @Schema(description = "机构分账比例,0-100")
+    private BigDecimal orgScale = BigDecimal.ZERO;
+
+    @Schema(description = "")
+    private String remark;
+}

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

@@ -37,6 +37,9 @@ public interface OrganizationService {
 
     ResultContent  deleteProject(String oid);
 
+    // 查询可用的项目列表
+    ResultContent<List<OrganizationSimpleModel>> getProjectList();
+
     /**
      * 通用添加结构信息
      *
@@ -94,9 +97,6 @@ public interface OrganizationService {
 
     ResultContent<OrganizationModel> getOrgDetail(String oid);
 
-    // 查询可用的项目列表
-    ResultContent<List<OrganizationModel>> getProjectList();
-
     ResultContent<List<OrganizationModel>> getUserOrgList(OrganizationUserSearch param);
 
     ResultContent buildCode(AuthType authType);

+ 1 - 1
FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/org/OrganizationController.java

@@ -190,7 +190,7 @@ public class OrganizationController {
     @ResourceAuth(value = "user", type = AuthType.User)
     @Operation(summary = "查询所有可用的项目列表", description = "查询所有可用的项目列表")
     @RequestMapping(value = "getProjectList", method = {RequestMethod.GET})
-    public ResultContent<List<OrganizationModel>> getProjectList() {
+    public ResultContent<List<OrganizationSimpleModel>> getProjectList() {
         return this.organizationService.getProjectList();
     }
 

+ 1 - 1
FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/org/RoleController.java

@@ -11,7 +11,7 @@ import com.zhongshu.card.client.model.org.role.RoleAddParam;
 import com.zhongshu.card.client.model.org.role.RoleModel;
 import com.zhongshu.card.client.model.org.role.RoleQueryParam;
 import com.zhongshu.card.client.model.org.role.RoleSearchParam;
-import com.zhongshu.card.server.core.service.org.RoleServiceImpl;
+import com.zhongshu.card.server.core.service.user.RoleServiceImpl;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Parameter;
 import io.swagger.v3.oas.annotations.tags.Tag;

+ 4 - 15
FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/orgManager/ProjectBindOrgController.java

@@ -5,16 +5,12 @@ import com.github.microservice.auth.security.annotations.ResourceAuth;
 import com.github.microservice.auth.security.type.AuthType;
 import com.github.microservice.net.ResultContent;
 import com.zhongshu.card.client.model.base.IDParam;
-import com.zhongshu.card.client.model.base.OidModel;
 import com.zhongshu.card.client.model.base.ProjectOidParam;
+import com.zhongshu.card.client.model.org.OrganizationMiniModel;
 import com.zhongshu.card.client.model.org.OrganizationRelationSearch;
-import com.zhongshu.card.client.model.org.OrganizationSearchParam;
-import com.zhongshu.card.client.model.org.OrganizationSimpleModel;
-import com.zhongshu.card.client.model.orgModel.OrgSaveParam;
+import com.zhongshu.card.client.model.orgModel.ProjectBindOrgModel;
 import com.zhongshu.card.client.model.orgModel.ProjectBindOrgParam;
-import com.zhongshu.card.client.service.org.OrganizationService;
 import com.zhongshu.card.client.type.OrganizationRelationType;
-import com.zhongshu.card.server.core.service.orgManager.OrganizationManagerServiceImpl;
 import com.zhongshu.card.server.core.service.orgManager.ProjectBindOrgServiceImpl;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Parameter;
@@ -36,16 +32,9 @@ import java.util.List;
 @Tag(name = "项目绑定机构管理")
 public class ProjectBindOrgController {
 
-    @Autowired
-    private OrganizationService organizationService;
-
-    @Autowired
-    private OrganizationManagerServiceImpl organizationManagerService;
-
     @Autowired
     private ProjectBindOrgServiceImpl projectBindOrgService;
 
-
     //------------------------------机构管理 start----------------------
     @ResourceAuth(value = "projectBindOrg", type = AuthType.Platform, remark = "项目机构管理_绑定项目_2_Button")
     @ResourceAuth(value = "projectBindOrg", type = AuthType.Project, remark = "项目机构管理_绑定项目_2_Button")
@@ -63,7 +52,7 @@ public class ProjectBindOrgController {
     @ResourceAuth(value = AuthConstant.SuperAdmin, type = AuthType.Platform)
     @Operation(summary = "项目机构列表-分页查询", description = "项目机构列表-分页查询")
     @RequestMapping(value = {"projectOrgPage"}, method = {RequestMethod.POST})
-    public ResultContent<Page<OrganizationSimpleModel>> projectOrgPage(
+    public ResultContent<Page<ProjectBindOrgModel>> projectOrgPage(
             @Parameter(hidden = true) @PageableDefault(page = 0, size = 10) Pageable pageable,
             @Parameter(required = false) OrganizationRelationSearch param) {
         param.setRelationType(OrganizationRelationType.ProjectBindOrg);
@@ -73,7 +62,7 @@ public class ProjectBindOrgController {
     @ResourceAuth(value = "user", type = AuthType.User)
     @Operation(summary = "得到项目下所有的机构列表数据", description = "得到项目下所有的机构列表数据")
     @RequestMapping(value = "getProjectOrgList", method = {RequestMethod.POST})
-    public ResultContent<List<OrganizationSimpleModel>> getProjectOrgList(
+    public ResultContent<List<OrganizationMiniModel>> getProjectOrgList(
             @RequestBody ProjectOidParam param) {
         return this.projectBindOrgService.getProjectOrgList(param.getProjectOid());
     }

+ 1 - 1
FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/school/BookInfoController.java

@@ -8,7 +8,7 @@ import com.github.microservice.net.ResultContent;
 import com.zhongshu.card.client.service.school.BookInfoService;
 import com.zhongshu.card.client.service.school.NoticeInfoService;
 import com.zhongshu.card.client.type.OrganizationUserType;
-import com.zhongshu.card.server.core.service.org.RoleServiceImpl;
+import com.zhongshu.card.server.core.service.user.RoleServiceImpl;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Parameter;
 import io.swagger.v3.oas.annotations.tags.Tag;

+ 0 - 3
FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/school/DictInfoController.java

@@ -6,11 +6,8 @@ import com.github.microservice.auth.security.type.AuthType;
 import com.zhongshu.card.client.model.base.IDParam;
 import com.zhongshu.card.client.model.school.*;
 import com.github.microservice.net.ResultContent;
-import com.zhongshu.card.client.service.school.BookInfoService;
 import com.zhongshu.card.client.service.school.DictInfoService;
-import com.zhongshu.card.client.service.school.NoticeInfoService;
 import com.zhongshu.card.client.type.DictInfoType;
-import com.zhongshu.card.server.core.service.org.RoleServiceImpl;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Parameter;
 import io.swagger.v3.oas.annotations.tags.Tag;

+ 1 - 1
FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/school/NoticeController.java

@@ -6,7 +6,7 @@ import com.zhongshu.card.client.model.base.IDParam;
 import com.zhongshu.card.client.model.school.*;
 import com.github.microservice.net.ResultContent;
 import com.zhongshu.card.client.service.school.NoticeInfoService;
-import com.zhongshu.card.server.core.service.org.RoleServiceImpl;
+import com.zhongshu.card.server.core.service.user.RoleServiceImpl;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Parameter;
 import io.swagger.v3.oas.annotations.tags.Tag;

+ 1 - 1
FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/school/OrganizationRelationController.java

@@ -8,7 +8,7 @@ import com.github.microservice.net.ResultContent;
 import com.zhongshu.card.client.service.school.BookInfoService;
 import com.zhongshu.card.client.service.school.NoticeInfoService;
 import com.zhongshu.card.client.service.school.SchoolBingShopService;
-import com.zhongshu.card.server.core.service.org.RoleServiceImpl;
+import com.zhongshu.card.server.core.service.user.RoleServiceImpl;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Parameter;
 import io.swagger.v3.oas.annotations.tags.Tag;

+ 12 - 5
FullCardServer/src/main/java/com/zhongshu/card/server/core/dao/org/impl/OrganizationDaoImpl.java

@@ -5,6 +5,7 @@ import com.zhongshu.card.client.model.org.OrganizationSearchParam;
 import com.zhongshu.card.server.core.dao.BaseImpl;
 import com.zhongshu.card.server.core.dao.org.extend.OrganizationDaoExtend;
 import com.zhongshu.card.server.core.domain.org.Organization;
+import com.zhongshu.card.server.core.service.orgManager.ProjectBindOrgServiceImpl;
 import com.zhongshu.card.server.core.util.CommonUtil;
 import org.apache.commons.lang3.ObjectUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -34,6 +35,9 @@ public class OrganizationDaoImpl extends BaseImpl implements OrganizationDaoExte
     @Autowired
     private DBHelper dbHelper;
 
+    @Autowired
+    private ProjectBindOrgServiceImpl projectBindOrgServiceImpl;
+
     @Override
     public Page<Organization> page(Pageable pageable, OrganizationSearchParam param) {
         Criteria criteria = new Criteria();
@@ -60,11 +64,6 @@ public class OrganizationDaoImpl extends BaseImpl implements OrganizationDaoExte
             criteria.and("id").in(param.getIds());
         }
 
-        // 所属项目oid
-        if (StringUtils.isNotEmpty(param.getProjectOid())) {
-            criteria.and("projectOid").is(param.getProjectOid());
-        }
-
         // 是否是机构数据
         if (param.getIsOrg() != null) {
             criteria.and("isOrg").is(param.getIsOrg());
@@ -79,6 +78,14 @@ public class OrganizationDaoImpl extends BaseImpl implements OrganizationDaoExte
             criteria.and("createTime").gte(param.getStartTime()).and("createTime").lte(param.getEndTime());
         }
 
+        if (StringUtils.isNotEmpty(param.getProjectOid())) {
+            List<Organization> list = projectBindOrgServiceImpl.getProjectBindOrgs(param.getProjectOid());
+            if (ObjectUtils.isEmpty(list)) {
+                return CommonUtil.buildEmptyPage(pageable, Organization.class);
+            }
+            criteria.and("oid").in(list.stream().map(Organization::getOid).toArray());
+        }
+
         // 模糊搜索
         List<Criteria> criterias = new ArrayList<>();
         if (StringUtils.isNotEmpty(param.getName())) {

+ 14 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/dao/projectAbout/PayShareListDao.java

@@ -0,0 +1,14 @@
+package com.zhongshu.card.server.core.dao.projectAbout;
+
+import com.github.microservice.components.data.mongo.mongo.dao.MongoDao;
+import com.zhongshu.card.server.core.domain.projectAbout.PayShareList;
+import com.zhongshu.card.server.core.domain.projectAbout.ProjectCommonConfig;
+
+/**
+ *
+ */
+public interface PayShareListDao extends MongoDao<PayShareList> {
+
+    PayShareList findTopById(String id);
+
+}

+ 1 - 1
FullCardServer/src/main/java/com/zhongshu/card/server/core/domain/org/OrganizationRelation.java

@@ -49,7 +49,7 @@ public class OrganizationRelation extends SuperMain {
     @Schema(description = "绑定关联类型")
     private OrganizationRelationType relationType;
 
-    @Schema(description = "分配置")
+    @Schema(description = "分配置")
     @DBRef(lazy = true)
     private PayShareList payShareList;
 

+ 2 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/org/IndexService.java

@@ -21,6 +21,8 @@ import com.zhongshu.card.client.type.UserState;
 import com.zhongshu.card.server.core.dao.org.*;
 import com.zhongshu.card.server.core.domain.org.*;
 import com.zhongshu.card.server.core.service.base.RedisService;
+import com.zhongshu.card.server.core.service.user.RoleServiceImpl;
+import com.zhongshu.card.server.core.service.user.UserAccountServiceImpl;
 import com.zhongshu.card.server.core.util.CommonUtil;
 import com.zhongshu.card.server.core.util.wx.WechatCUtil;
 import jakarta.servlet.http.HttpServletRequest;

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

@@ -30,6 +30,9 @@ import com.zhongshu.card.server.core.service.projectAbout.ProjectCommonConfigSer
 import com.zhongshu.card.server.core.service.projectAbout.ProjectIotInfoService;
 import com.zhongshu.card.server.core.service.projectAbout.ProjectWeChatInfoService;
 import com.zhongshu.card.server.core.service.sync.ProjectSyncIotCenterService;
+import com.zhongshu.card.server.core.service.user.DepartmentServiceImpl;
+import com.zhongshu.card.server.core.service.user.RoleServiceImpl;
+import com.zhongshu.card.server.core.service.user.UserAccountServiceImpl;
 import com.zhongshu.card.server.core.util.*;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.ObjectUtils;
@@ -889,11 +892,11 @@ public class OrganizationServiceImpl extends SuperService implements Organizatio
      *
      * @return
      */
-    public ResultContent<List<OrganizationModel>> getProjectList() {
+    public ResultContent<List<OrganizationSimpleModel>> getProjectList() {
         List<Organization> list = organizationDao.findByAuthTypeAndStateOrderByCreateTimeDesc(AuthType.Project, OrganizationState.Normal);
-        List<OrganizationModel> models = new ArrayList<>();
+        List<OrganizationSimpleModel> models = new ArrayList<>();
         if (ObjectUtils.isNotEmpty(list)) {
-            models = list.stream().map(this::toModel).collect(Collectors.toList());
+            models = list.stream().map(this::toSimpleModel).collect(Collectors.toList());
         }
         return ResultContent.buildSuccess(models);
     }

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

@@ -3,7 +3,6 @@ package com.zhongshu.card.server.core.service.org;
 import com.github.microservice.auth.security.type.AuthType;
 import com.github.microservice.net.ResultContent;
 import com.zhongshu.card.client.model.org.DepartmentModel;
-import com.zhongshu.card.client.model.org.OrganizationUserModel;
 import com.zhongshu.card.client.model.org.OrganizationUserSimpleModel;
 import com.zhongshu.card.client.model.org.UserCountAddParam;
 import com.zhongshu.card.client.model.school.RegisterBindSchoolParam;
@@ -13,6 +12,8 @@ import com.zhongshu.card.server.core.dao.org.*;
 import com.zhongshu.card.server.core.domain.org.*;
 import com.zhongshu.card.server.core.model.org.OrgBindUserParam;
 import com.zhongshu.card.server.core.service.base.SuperService;
+import com.zhongshu.card.server.core.service.user.DepartmentServiceImpl;
+import com.zhongshu.card.server.core.service.user.RoleServiceImpl;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.ObjectUtils;
 import org.springframework.beans.factory.annotation.Autowired;

+ 18 - 19
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/orgManager/OrganizationManagerServiceImpl.java

@@ -1,15 +1,8 @@
 package com.zhongshu.card.server.core.service.orgManager;
 
-import com.github.microservice.auth.client.constant.AuthConstant;
-import com.github.microservice.auth.client.content.ResultState;
-import com.github.microservice.auth.client.model.RoleGroupModel;
-import com.github.microservice.auth.client.model.RoleModel;
-import com.github.microservice.auth.client.model.UserAuthModel;
-import com.github.microservice.auth.client.model.UserModel;
 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.client.type.LoginType;
 import com.github.microservice.auth.security.helper.AuthHelper;
 import com.github.microservice.auth.security.type.AuthType;
 import com.github.microservice.components.data.base.util.PageEntityUtil;
@@ -17,37 +10,30 @@ import com.github.microservice.net.ResultContent;
 import com.github.microservice.net.ResultMessage;
 import com.zhongshu.card.client.model.org.*;
 import com.zhongshu.card.client.model.orgModel.OrgSaveParam;
-import com.zhongshu.card.client.model.project.ProjectSaveParam;
-import com.zhongshu.card.client.service.org.OrganizationService;
-import com.zhongshu.card.client.type.*;
-import com.zhongshu.card.client.utils.DateUtils;
 import com.zhongshu.card.server.core.dao.org.*;
-import com.zhongshu.card.server.core.dataConfig.CardSystemDefault;
-import com.zhongshu.card.server.core.domain.org.*;
+import com.zhongshu.card.server.core.domain.org.Organization;
+import com.zhongshu.card.server.core.domain.org.Region;
 import com.zhongshu.card.server.core.service.base.SuperService;
 import com.zhongshu.card.server.core.service.org.*;
 import com.zhongshu.card.server.core.service.projectAbout.ProjectCommonConfigService;
 import com.zhongshu.card.server.core.service.projectAbout.ProjectIotInfoService;
 import com.zhongshu.card.server.core.service.projectAbout.ProjectWeChatInfoService;
 import com.zhongshu.card.server.core.service.sync.ProjectSyncIotCenterService;
+import com.zhongshu.card.server.core.service.user.DepartmentServiceImpl;
+import com.zhongshu.card.server.core.service.user.RoleServiceImpl;
+import com.zhongshu.card.server.core.service.user.UserAccountServiceImpl;
 import com.zhongshu.card.server.core.util.BeanUtils;
 import com.zhongshu.card.server.core.util.NextNoUtil;
-import com.zhongshu.card.server.core.util.ValidateResult;
-import com.zhongshu.card.server.core.util.ValidateUtils;
 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.data.domain.Page;
-import org.springframework.data.domain.PageRequest;
 import org.springframework.data.domain.Pageable;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.Assert;
 
-import java.util.ArrayList;
 import java.util.List;
-import java.util.Set;
 import java.util.stream.Collectors;
 
 /**
@@ -294,8 +280,21 @@ public class OrganizationManagerServiceImpl extends SuperService {
                 model.setRegionList(regionList);
             }
 
+            // 得到绑定的项目信息
+            List<Organization> projects = projectBindOrgServiceImpl.getOrgBindProjects(entity.getOid());
+            if (ObjectUtils.isNotEmpty(projects)) {
+                model.setBindProjects(projects.stream().map(this::toMiniModel).collect(Collectors.toList()));
+            }
         }
         return model;
     }
 
+    public OrganizationMiniModel toMiniModel(Organization entity) {
+        OrganizationMiniModel model = null;
+        if (ObjectUtils.isNotEmpty(entity)) {
+            model = new OrganizationMiniModel();
+            BeanUtils.copyProperties(entity, model);
+        }
+        return model;
+    }
 }

+ 71 - 9
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/orgManager/ProjectBindOrgServiceImpl.java

@@ -4,18 +4,23 @@ import com.github.microservice.auth.security.type.AuthType;
 import com.github.microservice.components.data.base.util.PageEntityUtil;
 import com.github.microservice.net.ResultContent;
 import com.github.microservice.net.ResultMessage;
+import com.zhongshu.card.client.model.org.OrganizationMiniModel;
 import com.zhongshu.card.client.model.org.OrganizationRelationSearch;
 import com.zhongshu.card.client.model.org.OrganizationSimpleModel;
+import com.zhongshu.card.client.model.orgModel.ProjectBindOrgModel;
 import com.zhongshu.card.client.model.orgModel.ProjectBindOrgParam;
 import com.zhongshu.card.client.type.OrganizationRelationType;
 import com.zhongshu.card.server.core.dao.org.OrganizationDao;
 import com.zhongshu.card.server.core.dao.org.OrganizationRelationDao;
+import com.zhongshu.card.server.core.dao.projectAbout.PayShareListDao;
 import com.zhongshu.card.server.core.domain.org.Organization;
 import com.zhongshu.card.server.core.domain.org.OrganizationRelation;
+import com.zhongshu.card.server.core.domain.projectAbout.PayShareList;
 import com.zhongshu.card.server.core.service.base.SuperService;
-import com.zhongshu.card.server.core.service.org.OrganizationServiceImpl;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.ObjectUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
@@ -46,6 +51,9 @@ public class ProjectBindOrgServiceImpl extends SuperService {
     @Autowired
     private OrganizationRelationDao organizationRelationDao;
 
+    @Autowired
+    private PayShareListDao payShareListDao;
+
     /**
      * 项目绑定机构信息
      *
@@ -76,16 +84,26 @@ public class ProjectBindOrgServiceImpl extends SuperService {
         if (ObjectUtils.isNotEmpty(organizationRelation)) {
             return ResultContent.buildFail(String.format("项目已绑定机构:%s", orgInfo.getName()));
         }
+        PayShareList payShareList = null;
+        if (StringUtils.isNotEmpty(param.getPayShareListId())) {
+            payShareList = payShareListDao.findTopById(param.getPayShareListId());
+            if (ObjectUtils.isEmpty(payShareList)) {
+                return ResultContent.buildFail(String.format("分组规则不存在:%s", param.getPayShareListId()));
+            }
+        }
 
         organizationRelation = new OrganizationRelation();
+        BeanUtils.copyProperties(param, organizationRelation);
         organizationRelation.setMainOrganization(projectInfo);
         organizationRelation.setMainName(projectInfo.getName());
         organizationRelation.setAuthType(projectInfo.getAuthType());
+        organizationRelation.setPayShareList(payShareList);
 
         organizationRelation.setRelOrganization(orgInfo);
         organizationRelation.setRelName(orgInfo.getName());
         organizationRelation.setRelAuthType(orgInfo.getAuthType());
         organizationRelation.setRelationType(OrganizationRelationType.ProjectBindOrg);
+
         organizationRelationDao.save(organizationRelation);
 
         return ResultContent.buildSuccess();
@@ -98,12 +116,12 @@ public class ProjectBindOrgServiceImpl extends SuperService {
      * @param pageable
      * @return
      */
-    public ResultContent<Page<OrganizationSimpleModel>> orgPage(OrganizationRelationSearch param, Pageable pageable) {
-        Assert.hasText(param.getMainOid(), "mainOid不能为空");
+    public ResultContent<Page<ProjectBindOrgModel>> orgPage(OrganizationRelationSearch param, Pageable pageable) {
+        // projectOid
+        Assert.hasText(param.getProjectOid(), "projectOid不能为空");
+        param.setMainOid(param.getProjectOid());
         Page<OrganizationRelation> page = organizationRelationDao.page(pageable, param);
-        return ResultContent.buildSuccess(PageEntityUtil.concurrent2PageModel(page, (it) -> {
-            return organizationManagerService.toSimpleModel(it.getRelOrganization());
-        }));
+        return ResultContent.buildSuccess(PageEntityUtil.concurrent2PageModel(page, this::toModel));
     }
 
     /**
@@ -112,8 +130,8 @@ public class ProjectBindOrgServiceImpl extends SuperService {
      * @param projectOid
      * @return
      */
-    public ResultContent<List<OrganizationSimpleModel>> getProjectOrgList(String projectOid) {
-        List<OrganizationSimpleModel> models = new ArrayList<>();
+    public ResultContent<List<OrganizationMiniModel>> getProjectOrgList(String projectOid) {
+        List<OrganizationMiniModel> models = new ArrayList<>();
         Organization projectInfo = organizationDao.findTopByOid(projectOid);
         if (ObjectUtils.isEmpty(projectInfo)) {
             return ResultContent.buildFail(String.format(ResultMessage.DATA_NOT_EXIST, projectOid));
@@ -122,7 +140,7 @@ public class ProjectBindOrgServiceImpl extends SuperService {
         List<OrganizationRelation> list = organizationRelationDao.findByMainOrganizationAndRelationType(projectInfo, OrganizationRelationType.ProjectBindOrg);
         if (ObjectUtils.isNotEmpty(list)) {
             models = list.stream().map(it -> {
-                return organizationManagerService.toSimpleModel(it.getRelOrganization());
+                return organizationManagerService.toMiniModel(it.getRelOrganization());
             }).collect(Collectors.toList());
         }
         return ResultContent.buildSuccess(models);
@@ -171,4 +189,48 @@ public class ProjectBindOrgServiceImpl extends SuperService {
         return organizationRelationDao.countByMainOrganizationAndRelationType(organization, OrganizationRelationType.ProjectBindOrg);
     }
 
+    /**
+     * 得到机构绑定的项目列表
+     *
+     * @param oid
+     * @return
+     */
+    public List<Organization> getOrgBindProjects(String oid) {
+        List<Organization> list = new ArrayList<>();
+        Organization organization = organizationDao.findTopByOid(oid);
+        if (ObjectUtils.isNotEmpty(organization)) {
+            List<OrganizationRelation> _list = organizationRelationDao.findByRelOrganizationAndRelationType(organization, OrganizationRelationType.ProjectBindOrg);
+            if (ObjectUtils.isNotEmpty(_list)) {
+                list = _list.stream().map(it -> it.getMainOrganization()).collect(Collectors.toList());
+            }
+        }
+        return list;
+    }
+
+    /**
+     * 得到项目绑定的结构信息
+     *
+     * @param projectOid
+     * @return
+     */
+    public List<Organization> getProjectBindOrgs(String projectOid) {
+        List<Organization> list = new ArrayList<>();
+        Organization organization = organizationDao.findTopByOid(projectOid);
+        if (ObjectUtils.isNotEmpty(organization)) {
+            List<OrganizationRelation> _list = organizationRelationDao.findByMainOrganizationAndRelationType(organization, OrganizationRelationType.ProjectBindOrg);
+            if (ObjectUtils.isNotEmpty(_list)) {
+                list = _list.stream().map(it -> it.getRelOrganization()).collect(Collectors.toList());
+            }
+        }
+        return list;
+    }
+
+    public ProjectBindOrgModel toModel(OrganizationRelation entity) {
+        ProjectBindOrgModel model = null;
+        if (ObjectUtils.isNotEmpty(entity)) {
+
+        }
+        return model;
+    }
+
 }

+ 1 - 1
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/payment/WalletService.java

@@ -16,7 +16,7 @@ import com.zhongshu.card.server.core.domain.org.UserAccount;
 import com.zhongshu.card.server.core.domain.payment.Wallet;
 import com.zhongshu.card.server.core.domain.payment.WalletRecharge;
 import com.zhongshu.card.server.core.service.base.SuperService;
-import com.zhongshu.card.server.core.service.org.UserAccountServiceImpl;
+import com.zhongshu.card.server.core.service.user.UserAccountServiceImpl;
 import com.zhongshu.card.server.core.util.BeanUtils;
 import com.zhongshu.card.server.core.util.CommonUtil;
 import com.zhongshu.card.client.utils.DateUtils;

+ 1 - 1
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/school/CardInfoServiceImpl.java

@@ -23,7 +23,7 @@ import com.zhongshu.card.server.core.domain.school.CardInfoLossRecord;
 import com.zhongshu.card.server.core.domain.school.CardInfoPool;
 import com.zhongshu.card.server.core.service.base.SuperService;
 import com.zhongshu.card.server.core.service.org.OrganizationServiceImpl;
-import com.zhongshu.card.server.core.service.org.UserAccountServiceImpl;
+import com.zhongshu.card.server.core.service.user.UserAccountServiceImpl;
 import com.zhongshu.card.server.core.util.BeanUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.ObjectUtils;

+ 1 - 1
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/school/NoticeInfoServiceImpl.java

@@ -13,7 +13,7 @@ import com.zhongshu.card.server.core.domain.school.NoticeInfo;
 import com.zhongshu.card.server.core.domain.school.NoticeInfoView;
 import com.zhongshu.card.server.core.service.base.CommonService;
 import com.zhongshu.card.server.core.service.base.SuperService;
-import com.zhongshu.card.server.core.service.org.UserAccountServiceImpl;
+import com.zhongshu.card.server.core.service.user.UserAccountServiceImpl;
 import com.zhongshu.card.server.core.util.BeanUtils;
 import com.zhongshu.card.server.core.util.CommonUtil;
 import lombok.extern.slf4j.Slf4j;

+ 1 - 3
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/school/SchoolUserServiceImpl.java

@@ -2,14 +2,12 @@ package com.zhongshu.card.server.core.service.school;
 
 import cn.afterturn.easypoi.excel.ExcelImportUtil;
 import cn.afterturn.easypoi.excel.entity.ImportParams;
-import com.github.microservice.auth.client.service.OrganizationUserService;
 import com.github.microservice.auth.security.type.AuthType;
 import com.github.microservice.core.util.bean.BeanUtil;
 import com.zhongshu.card.client.model.org.*;
 import com.zhongshu.card.client.model.school.*;
 import com.github.microservice.net.ResultContent;
 import com.github.microservice.net.ResultMessage;
-import com.zhongshu.card.client.service.org.UserAccountService;
 import com.zhongshu.card.client.service.school.SchoolUserService;
 import com.zhongshu.card.client.type.UserType;
 import com.zhongshu.card.server.core.dao.school.CardInfoDao;
@@ -22,7 +20,7 @@ import com.zhongshu.card.server.core.domain.org.UserAccount;
 import com.zhongshu.card.server.core.domain.school.CardInfo;
 import com.zhongshu.card.server.core.service.base.SuperService;
 import com.zhongshu.card.server.core.service.org.OrganizationUserServiceImpl;
-import com.zhongshu.card.server.core.service.org.UserAccountServiceImpl;
+import com.zhongshu.card.server.core.service.user.UserAccountServiceImpl;
 import com.zhongshu.card.server.core.util.BeanUtils;
 import com.zhongshu.card.server.core.util.CommonUtil;
 import com.zhongshu.card.server.core.util.ExcelUtils;

+ 1 - 1
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/org/DepartmentServiceImpl.java → FullCardServer/src/main/java/com/zhongshu/card/server/core/service/user/DepartmentServiceImpl.java

@@ -1,4 +1,4 @@
-package com.zhongshu.card.server.core.service.org;
+package com.zhongshu.card.server.core.service.user;
 
 import com.zhongshu.card.client.model.org.DepartmentModel;
 import com.zhongshu.card.client.model.org.DepartmentParam;

+ 1 - 1
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/org/RoleServiceImpl.java → FullCardServer/src/main/java/com/zhongshu/card/server/core/service/user/RoleServiceImpl.java

@@ -1,4 +1,4 @@
-package com.zhongshu.card.server.core.service.org;
+package com.zhongshu.card.server.core.service.user;
 
 import com.github.microservice.auth.client.constant.AuthConstant;
 import com.github.microservice.auth.client.content.ResultState;

+ 1 - 1
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/org/UserAccountServiceImpl.java → FullCardServer/src/main/java/com/zhongshu/card/server/core/service/user/UserAccountServiceImpl.java

@@ -1,4 +1,4 @@
-package com.zhongshu.card.server.core.service.org;
+package com.zhongshu.card.server.core.service.user;
 
 import com.github.microservice.auth.client.content.ResultState;
 import com.github.microservice.auth.client.model.UserAuthModel;