TRX vor 1 Jahr
Ursprung
Commit
caa33d3d68

+ 30 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/orgModel/ProjectBindOrgsParam.java

@@ -0,0 +1,30 @@
+package com.zhongshu.card.client.model.orgModel;
+
+import com.zhongshu.card.client.type.DataState;
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+/**
+ * @author TRX
+ * @date 2024/9/26
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class ProjectBindOrgsParam {
+
+    @Schema(description = "项目oid")
+    @NotEmpty
+    private String projectOid;
+
+    @Schema(description = "机构oid")
+    @NotEmpty
+    private List<String> orgOids;
+
+}

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

@@ -10,6 +10,7 @@ import com.zhongshu.card.client.model.org.OrganizationMiniModel;
 import com.zhongshu.card.client.model.org.OrganizationRelationSearch;
 import com.zhongshu.card.client.model.orgModel.ProjectBindOrgModel;
 import com.zhongshu.card.client.model.orgModel.ProjectBindOrgParam;
+import com.zhongshu.card.client.model.orgModel.ProjectBindOrgsParam;
 import com.zhongshu.card.client.type.OrganizationRelationType;
 import com.zhongshu.card.server.core.service.orgManager.ProjectBindOrgServiceImpl;
 import io.swagger.v3.oas.annotations.Operation;
@@ -45,6 +46,14 @@ public class ProjectBindOrgController {
         return this.projectBindOrgService.projectBindOrg(param);
     }
 
+    @ResourceAuth(value = "user", type = AuthType.User)
+    @ResourceAuth(value = AuthConstant.SuperAdmin, type = AuthType.Platform)
+    @Operation(summary = "项目绑定机构(多个)-保存", description = "项目绑定机构(多个)-保存")
+    @RequestMapping(value = "projectBindOids", method = {RequestMethod.POST})
+    public ResultContent projectBindOids(@RequestBody @Valid ProjectBindOrgsParam param) {
+        return this.projectBindOrgService.projectBindOids(param);
+    }
+
     @ResourceAuth(value = "user", type = AuthType.User)
     @ResourceAuth(value = AuthConstant.SuperAdmin, type = AuthType.Platform)
     @Operation(summary = "项目机构列表-分页查询", description = "项目机构列表-分页查询")

+ 27 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/domain/paySetting/OrgPayAccount.java

@@ -0,0 +1,27 @@
+package com.zhongshu.card.server.core.domain.paySetting;
+
+import com.zhongshu.card.server.core.domain.base.SuperMain;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.springframework.data.mongodb.core.mapping.Document;
+
+/**
+ * 机构(项目、机构)在支付中心的账号id
+ *
+ * @author TRX
+ * @date 2024/10/9
+ */
+@Data
+@Builder
+@Document
+@AllArgsConstructor
+@NoArgsConstructor
+public class OrgPayAccount extends SuperMain {
+
+    @Schema(description = "账号id")
+    private String payAccountId;
+
+}

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

@@ -8,6 +8,7 @@ import com.zhongshu.card.client.model.org.OrganizationMiniModel;
 import com.zhongshu.card.client.model.org.OrganizationRelationSearch;
 import com.zhongshu.card.client.model.orgModel.ProjectBindOrgModel;
 import com.zhongshu.card.client.model.orgModel.ProjectBindOrgParam;
+import com.zhongshu.card.client.model.orgModel.ProjectBindOrgsParam;
 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;
@@ -116,7 +117,50 @@ public class ProjectBindOrgServiceImpl extends SuperService {
         organizationRelation.setAboutAuthType(projectInfo.getAuthType());
 
         organizationRelationDao.save(organizationRelation);
+        return ResultContent.buildSuccess();
+    }
 
+    public ResultContent projectBindOids(ProjectBindOrgsParam param) {
+        String projectOid = param.getProjectOid();
+        Organization projectInfo = organizationDao.findTopByOid(projectOid);
+        if (ObjectUtils.isEmpty(projectInfo)) {
+            return ResultContent.buildFail(String.format(ResultMessage.DATA_NOT_EXIST, projectInfo));
+        }
+        if (projectInfo.getAuthType() != AuthType.Project) {
+            return ResultContent.buildFail(String.format("不属于项目类型:%s", projectOid));
+        }
+        if (ObjectUtils.isNotEmpty(param.getOrgOids())) {
+            List<OrganizationRelation> list = new ArrayList<>();
+            for (String oid : param.getOrgOids()) {
+                Organization orgInfo = organizationDao.findTopByOid(oid);
+                if (ObjectUtils.isEmpty(orgInfo)) {
+                    continue;
+                }
+
+                OrganizationRelation orgRelation = null;
+                if (ObjectUtils.isNotEmpty(orgInfo)) {
+                    orgRelation = organizationRelationDao.findTopByMainOrganizationAndRelOrganizationAndRelationType(
+                            projectInfo, orgInfo, OrganizationRelationType.ProjectBindOrg);
+                }
+                if (ObjectUtils.isEmpty(orgRelation)) {
+                    orgRelation = new OrganizationRelation();
+                }
+                BeanUtils.copyProperties(param, orgRelation);
+                orgRelation.setMainOrganization(projectInfo);
+                orgRelation.setMainName(projectInfo.getName());
+                orgRelation.setAuthType(projectInfo.getAuthType());
+
+                orgRelation.setRelOrganization(orgInfo);
+                orgRelation.setRelName(orgInfo.getName());
+                orgRelation.setRelAuthType(orgInfo.getAuthType());
+                orgRelation.setRelationType(OrganizationRelationType.ProjectBindOrg);
+
+                orgRelation.setAboutOid(projectInfo.getOid());
+                orgRelation.setAboutAuthType(projectInfo.getAuthType());
+                list.add(orgRelation);
+            }
+            organizationRelationDao.saveAll(list);
+        }
         return ResultContent.buildSuccess();
     }
 

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

@@ -86,6 +86,8 @@ public class UnionFrictionlessSettingService extends SuperService {
 
         BeanUtils.copyProperties(param, entity);
         unionFrictionlessSettingDao.save(entity);
+        // 在支付中心开始账号
+
         return ResultContent.buildSuccess();
     }