Răsfoiți Sursa

合作单位重新设计

czh 2 ani în urmă
părinte
comite
5f7d83d800
35 a modificat fișierele cu 832 adăugiri și 191 ștergeri
  1. 2 2
      sckw-auth/src/main/java/com/sckw/auth/controller/AuthController.java
  2. 6 6
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/enums/SystemTypeEnum.java
  3. 1 0
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/web/constant/HttpStatus.java
  4. 0 1
      sckw-modules-api/sckw-contract-api/src/main/resources/application.properties
  5. 28 0
      sckw-modules-api/sckw-system-api/src/main/java/com/sckw/system/api/model/dto/res/AreaTreeFrontResDto.java
  6. 1 2
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/controller/KwcCheckedController.java
  7. 1 2
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/controller/KwcContractSaleController.java
  8. 6 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/dto/req/QueryListReqDto.java
  9. 5 0
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/req/QueryListReqVo.java
  10. 3 2
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractLogisticsService.java
  11. 3 2
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractTradeService.java
  12. 3 0
      sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractLogisticsMapper.xml
  13. 3 0
      sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractTradeMapper.xml
  14. 31 3
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/controller/KwmCooperateManageController.java
  15. 18 0
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/dao/KwmCooperateMapper.java
  16. 21 0
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/dto/res/CooperateQueryDto.java
  17. 0 64
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/entity/KwmCooperateType.java
  18. 31 0
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/vo/req/FindCooperateByEntReqVo.java
  19. 5 0
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/vo/req/InitiateReqVo.java
  20. 6 0
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/vo/res/AddressQueryResVo.java
  21. 4 0
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/vo/res/CooperateManageQueryResVo.java
  22. 90 0
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/vo/res/FindCooperateByEntResVo.java
  23. 27 0
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/vo/res/FindEntCooperateResVo.java
  24. 13 0
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/service/CommonBusinessService.java
  25. 4 0
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/service/KwmAddressService.java
  26. 121 54
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/service/KwmCooperateApplyService.java
  27. 171 42
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/service/KwmCooperateManageService.java
  28. 90 6
      sckw-modules/sckw-manage/src/main/resources/mapper/KwmCooperateMapper.xml
  29. 1 0
      sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/KwsDeptController.java
  30. 7 0
      sckw-modules/sckw-system/src/main/java/com/sckw/system/dao/KwsUserDao.java
  31. 7 3
      sckw-modules/sckw-system/src/main/java/com/sckw/system/dubbo/RemoteSystemServiceImpl.java
  32. 31 1
      sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/res/QueryCurrentOrganizationResVo.java
  33. 73 1
      sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsEnterpriseService.java
  34. 7 0
      sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsUserService.java
  35. 12 0
      sckw-modules/sckw-system/src/main/resources/mapper/KwsUserDao.xml

+ 2 - 2
sckw-auth/src/main/java/com/sckw/auth/controller/AuthController.java

@@ -30,10 +30,10 @@ public class AuthController {
      */
     @PostMapping("/login")
     public HttpResult login(@Valid @RequestBody LoginReqVo reqVo,
-                            @RequestHeader(name = "Client-Type", required = true) String ClientType,
+                            @RequestHeader(name = "Client-Type", required = true) String clientType,
                             @RequestHeader(name = "System-Type", required = true) int systemType) throws SystemException {
         reqVo.setSystemType(systemType);
-        reqVo.setClientType(ClientType);
+        reqVo.setClientType(clientType);
         return HttpResult.ok(authService.login(reqVo));
     }
 

+ 6 - 6
sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/enums/SystemTypeEnum.java

@@ -12,22 +12,22 @@ public enum SystemTypeEnum {
     //运营端
     MANAGE(1, "运营端"),
     //企业开户
-    COMPANY(2, "企业开户"),
+    COMPANY(2, "企业"),
     //司机
-    DRIVER(3, "司机");
+    DRIVER(3, "司机");
 
-    private final int code;
+    private final Integer code;
 
     private final String name;
 
-    SystemTypeEnum(int code, String name){
+    SystemTypeEnum(Integer code, String name){
         this.code = code;
         this.name = name;
     }
 
-    public static SystemTypeEnum getName(int code){
+    public static SystemTypeEnum getName(Integer code){
         for (SystemTypeEnum systemTypeEnum : values()) {
-            if (systemTypeEnum.getCode() == code) {
+            if (systemTypeEnum.getCode().equals(code)) {
                 return systemTypeEnum;
             }
         }

+ 1 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/web/constant/HttpStatus.java

@@ -135,6 +135,7 @@ public class HttpStatus {
     public static final String PARENT_UNIT_NOT_EXISTS = "未查询到父级单位信息";
     public static final String COOPERATE_ATTRIBUTE_NOT_EXISTS = "未查询到已有的合作属性";
     public static final String COOPERATE_NOT_EXISTS = "未查询到合作记录或已失效";
+    public static final String COOPERATE_CANCEL_EXISTS = "未查询到可撤销的记录";
     public static final String ADDRESS_NOT_EXISTS = "未查询到地址记录或已失效";
     public static final String CONTRACT_NOT_EXISTS = "未查询到合同或已失效";
 

+ 0 - 1
sckw-modules-api/sckw-contract-api/src/main/resources/application.properties

@@ -1 +0,0 @@
-

+ 28 - 0
sckw-modules-api/sckw-system-api/src/main/java/com/sckw/system/api/model/dto/res/AreaTreeFrontResDto.java

@@ -0,0 +1,28 @@
+package com.sckw.system.api.model.dto.res;
+
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @author czh
+ * @desc 区域向上查找返参
+ * @date 2023/8/2
+ */
+@Data
+public class AreaTreeFrontResDto implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = -8939067497366959341L;
+
+    private Integer code;
+
+    private String name;
+
+    private Integer level;
+
+    private List<AreaTreeFrontResDto> child;
+
+}

+ 1 - 2
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/controller/KwcCheckedController.java

@@ -84,8 +84,7 @@ public class KwcCheckedController {
      */
     @PostMapping("submit")
     public HttpResult submit(@Valid @RequestBody ContractLogisticsReqVo reqVo) throws SystemException {
-        kwcContractLogisticsService.submit(reqVo);
-        return HttpResult.ok();
+        return HttpResult.ok(kwcContractLogisticsService.submit(reqVo));
     }
 
     /**

+ 1 - 2
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/controller/KwcContractSaleController.java

@@ -86,8 +86,7 @@ public class KwcContractSaleController {
      */
     @PostMapping("submit")
     public HttpResult submit(@Valid @RequestBody ContractTradeReqVo reqVo) throws SystemException {
-        kwcContractTradeService.submit(reqVo);
-        return HttpResult.ok();
+        return HttpResult.ok(kwcContractTradeService.submit(reqVo));
     }
 
     /**

+ 6 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/dto/req/QueryListReqDto.java

@@ -62,4 +62,10 @@ public class QueryListReqDto {
      * 交易方式
      */
     private Integer trading;
+
+    /**
+     * 对方企业id
+     */
+    private Long targetEntId;
+
 }

+ 5 - 0
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/model/vo/req/QueryListReqVo.java

@@ -63,4 +63,9 @@ public class QueryListReqVo extends PageRequest implements Serializable {
      */
     private Integer trading;
 
+    /**
+     * 对方企业id
+     */
+    private Long targetEntId;
+
 }

+ 3 - 2
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractLogisticsService.java

@@ -307,16 +307,17 @@ public class KwcContractLogisticsService {
      * @date 2023/7/17
      */
     @Transactional(rollbackFor = {})
-    public void submit(ContractLogisticsReqVo reqVo) {
+    public Long submit(ContractLogisticsReqVo reqVo) {
         Long id = reqVo.getId();
         //直接签约先存草稿再修改状态
         if (Objects.isNull(id)) {
             id = addCheckedContract(reqVo);
             changeToSubmit(id);
-            return;
+            return id;
         }
         update(reqVo);
         changeToSubmit(id);
+        return id;
     }
 
     /**

+ 3 - 2
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractTradeService.java

@@ -351,16 +351,17 @@ public class KwcContractTradeService {
      * @date 2023/7/16
      */
     @Transactional(rollbackFor = {})
-    public void submit(ContractTradeReqVo reqVo) {
+    public Long submit(ContractTradeReqVo reqVo) {
         Long id = reqVo.getId();
         if (Objects.isNull(id)) {
             //创建合同
             id = addTradeContract(reqVo);
             changeToSubmit(id);
-            return;
+            return id;
         }
         update(reqVo);
         changeToSubmit(id);
+        return id;
     }
 
 

+ 3 - 0
sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractLogisticsMapper.xml

@@ -91,6 +91,9 @@
                 #{item}
             </foreach>
           </if>
+          <if test="targetEntId != null">
+              and e.ent_id = #{targetEntId}
+          </if>
     </select>
 
 </mapper>

+ 3 - 0
sckw-modules/sckw-contract/src/main/resources/mapper/KwcContractTradeMapper.xml

@@ -98,5 +98,8 @@
         <if test="charging != null">
             and a.charging = #{charging}
         </if>
+        <if test="targetEntId != null">
+            and e.ent_id = #{targetEntId}
+        </if>
     </select>
 </mapper>

+ 31 - 3
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/controller/KwmCooperateManageController.java

@@ -1,6 +1,7 @@
 package com.sckw.manage.controller;
 
 import com.sckw.core.exception.SystemException;
+import com.sckw.core.model.enums.CooperateStatusEnum;
 import com.sckw.core.web.constant.HttpStatus;
 import com.sckw.core.web.response.HttpResult;
 import com.sckw.manage.model.vo.req.*;
@@ -64,20 +65,34 @@ public class KwmCooperateManageController {
     /**
      * @param reqVo ids
      * @return HttpResult
-     * @desc: 解除合
+     * @desc: 解除合
      * @author: czh
      * @date: 2023/7/11
      */
     @PostMapping("dissolve")
     public HttpResult dissolve(@Valid @RequestBody IdsReqVo reqVo) throws SystemException {
-        kwmCooperateManageService.dissolve(reqVo.getIds());
+        kwmCooperateManageService.dissolve(reqVo.getIds(), CooperateStatusEnum.PASS.getCode());
         return HttpResult.ok(HttpStatus.MSG_023);
     }
 
     /**
      * @param reqVo ids
      * @return HttpResult
-     * @desc: 删除合同
+     * @desc: 恢复合作
+     * @author: czh
+     * @date: 2023/7/11
+     */
+    @PostMapping("restore")
+    public HttpResult restore(@Valid @RequestBody IdsReqVo reqVo) throws SystemException {
+        kwmCooperateManageService.restore(reqVo.getIds(), CooperateStatusEnum.OK.getCode());
+        return HttpResult.ok(HttpStatus.MSG_005);
+    }
+
+
+    /**
+     * @param reqVo ids
+     * @return HttpResult
+     * @desc: 删除合作
      * @author: czh
      * @date: 2023/7/11
      */
@@ -122,4 +137,17 @@ public class KwmCooperateManageController {
         return HttpResult.ok(kwmCooperateManageService.findEntCooperate(reqVo));
     }
 
+
+    /**
+     * @param reqVo 企业id
+     * @return HttpResult
+     * @desc: 根据企业查合作信息
+     * @author: czh
+     * @date: 2023/8/1
+     */
+    @PostMapping("findCooperateByEnt")
+    public HttpResult findCooperateByEnt(@RequestBody FindCooperateByEntReqVo reqVo) throws SystemException {
+        return HttpResult.ok(kwmCooperateManageService.findCooperateByEnt(reqVo));
+    }
+
 }

+ 18 - 0
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/dao/KwmCooperateMapper.java

@@ -4,6 +4,7 @@ import com.sckw.manage.model.dto.req.CooperateManageQueryReqDto;
 import com.sckw.manage.model.dto.res.CooperateManageQueryResDto;
 import com.sckw.manage.model.entity.KwmCooperate;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sckw.manage.model.vo.req.FindCooperateByEntReqVo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -27,6 +28,23 @@ public interface KwmCooperateMapper extends BaseMapper<KwmCooperate> {
      */
     List<CooperateManageQueryResDto> findList(@Param(value = "reqDto") CooperateManageQueryReqDto reqDto);
 
+    /**
+     * @param reqVo 企业id
+     * @return KwmCooperate
+     * @desc: 根据企业查合作信息
+     * @author: czh
+     * @date: 2023/8/1
+     */
+    List<KwmCooperate> findCooperateByEnt(FindCooperateByEntReqVo reqVo);
+
+    /**
+     * @param reqDto 查全量入参
+     * @return CooperateManageQueryResVo
+     * @desc: 查全量
+     * @author: czh
+     * @date: 2023/7/10
+     */
+    List<CooperateManageQueryResDto> findManageList(@Param(value = "reqDto") CooperateManageQueryReqDto reqDto);
 }
 
 

+ 21 - 0
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/dto/res/CooperateQueryDto.java

@@ -0,0 +1,21 @@
+package com.sckw.manage.model.dto.res;
+
+import com.sckw.manage.model.entity.KwmCooperate;
+import com.sckw.manage.model.entity.KwmCooperateType;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author czh
+ * @desc 合作单位
+ * @date 2023/8/1
+ */
+@Data
+public class CooperateQueryDto {
+
+    private KwmCooperate kwmCooperate;
+
+    private List<KwmCooperateType> kwmCooperateTypeList;
+
+}

+ 0 - 64
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/entity/KwmCooperateType.java

@@ -65,68 +65,4 @@ public class KwmCooperateType implements Serializable {
      */
     private Integer delFlag;
 
-    @TableField(exist = false)
-    private static final long serialVersionUID = 1L;
-
-    @Override
-    public boolean equals(Object that) {
-        if (this == that) {
-            return true;
-        }
-        if (that == null) {
-            return false;
-        }
-        if (getClass() != that.getClass()) {
-            return false;
-        }
-        KwmCooperateType other = (KwmCooperateType) that;
-        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
-            && (this.getCooperateId() == null ? other.getCooperateId() == null : this.getCooperateId().equals(other.getCooperateId()))
-            && (this.getType() == null ? other.getType() == null : this.getType().equals(other.getType()))
-            && (this.getRemark() == null ? other.getRemark() == null : this.getRemark().equals(other.getRemark()))
-            && (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()))
-            && (this.getCreateBy() == null ? other.getCreateBy() == null : this.getCreateBy().equals(other.getCreateBy()))
-            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
-            && (this.getUpdateBy() == null ? other.getUpdateBy() == null : this.getUpdateBy().equals(other.getUpdateBy()))
-            && (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime()))
-            && (this.getDelFlag() == null ? other.getDelFlag() == null : this.getDelFlag().equals(other.getDelFlag()));
-    }
-
-    @Override
-    public int hashCode() {
-        final int prime = 31;
-        int result = 1;
-        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
-        result = prime * result + ((getCooperateId() == null) ? 0 : getCooperateId().hashCode());
-        result = prime * result + ((getType() == null) ? 0 : getType().hashCode());
-        result = prime * result + ((getRemark() == null) ? 0 : getRemark().hashCode());
-        result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
-        result = prime * result + ((getCreateBy() == null) ? 0 : getCreateBy().hashCode());
-        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
-        result = prime * result + ((getUpdateBy() == null) ? 0 : getUpdateBy().hashCode());
-        result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode());
-        result = prime * result + ((getDelFlag() == null) ? 0 : getDelFlag().hashCode());
-        return result;
-    }
-
-    @Override
-    public String toString() {
-        StringBuilder sb = new StringBuilder();
-        sb.append(getClass().getSimpleName());
-        sb.append(" [");
-        sb.append("Hash = ").append(hashCode());
-        sb.append(", id=").append(id);
-        sb.append(", cooperateId=").append(cooperateId);
-        sb.append(", type=").append(type);
-        sb.append(", remark=").append(remark);
-        sb.append(", status=").append(status);
-        sb.append(", createBy=").append(createBy);
-        sb.append(", createTime=").append(createTime);
-        sb.append(", updateBy=").append(updateBy);
-        sb.append(", updateTime=").append(updateTime);
-        sb.append(", delFlag=").append(delFlag);
-        sb.append(", serialVersionUID=").append(serialVersionUID);
-        sb.append("]");
-        return sb.toString();
-    }
 }

+ 31 - 0
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/vo/req/FindCooperateByEntReqVo.java

@@ -0,0 +1,31 @@
+package com.sckw.manage.model.vo.req;
+
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @author czh
+ * @desc 通过企业查合作信息
+ * @date 2023/8/1
+ */
+@Data
+public class FindCooperateByEntReqVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = -8336489430768187668L;
+
+    /**
+     * 当前企业
+     */
+    @NotNull(message = "当前企业不能为空")
+    private Long entId;
+
+    /**
+     * 对方企业
+     */
+    private Long targetEntId;
+
+}

+ 5 - 0
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/vo/req/InitiateReqVo.java

@@ -19,6 +19,11 @@ public class InitiateReqVo implements Serializable {
     @Serial
     private static final long serialVersionUID = 8349164938027233004L;
 
+    /**
+     * 合作id
+     */
+    private Long id;
+
     /**
      * 选择的合作单位类型,多个用","隔开
      */

+ 6 - 0
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/vo/res/AddressQueryResVo.java

@@ -1,8 +1,10 @@
 package com.sckw.manage.model.vo.res;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.sckw.core.utils.LongToStringUtils;
 import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
 
 import java.io.Serial;
 import java.io.Serializable;
@@ -48,6 +50,8 @@ public class AddressQueryResVo implements Serializable {
     /**
      * 创建时间
      */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date createTime;
 
     /**
@@ -98,6 +102,8 @@ public class AddressQueryResVo implements Serializable {
     /**
      * 修改时间
      */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date updateTime;
 
     /**

+ 4 - 0
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/vo/res/CooperateManageQueryResVo.java

@@ -1,8 +1,10 @@
 package com.sckw.manage.model.vo.res;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.sckw.core.utils.LongToStringUtils;
 import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
 
 import java.io.Serial;
 import java.io.Serializable;
@@ -38,6 +40,8 @@ public class CooperateManageQueryResVo implements Serializable {
     /**
      * 创建日期(时间戳)
      */
+    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date createTime;
 
     /**

+ 90 - 0
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/vo/res/FindCooperateByEntResVo.java

@@ -0,0 +1,90 @@
+package com.sckw.manage.model.vo.res;
+
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @author czh
+ * @desc 通过企业查合作信息
+ * @date 2023/8/1
+ */
+@Data
+public class FindCooperateByEntResVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 6831940531630253367L;
+
+    /**
+     * 合作id
+     */
+    private Long id;
+
+    /**
+     * 合作类型
+     */
+    private String cooperateTypes;
+
+    /**
+     * 我方企业id
+     */
+    private Long entId;
+
+    /**
+     * 我方企业名
+     */
+    private String entName;
+
+    /**
+     * 对方企业id
+     */
+    private Long targetEntId;
+
+    /**
+     * 对方企业名
+     */
+    private String targetEntName;
+
+    /**
+     * 发起方企业id
+     */
+    private Long initiateEntId;
+
+    /**
+     * 发起方企业名
+     */
+    private String initiateEntName;
+
+    /**
+     * 我方联系人id
+     */
+    private Long contactsId;
+
+    /**
+     * 我方联系人姓名
+     */
+    private String contacts;
+
+    /**
+     * 我方联系电话
+     */
+    private String phone;
+
+    /**
+     * 对方联系人id
+     */
+    private Long targetContactsId;
+
+    /**
+     * 对方联系人姓名
+     */
+    private String targetContacts;
+
+    /**
+     * 对方联系电话
+     */
+    private String targetPhone;
+
+}
+

+ 27 - 0
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/vo/res/FindEntCooperateResVo.java

@@ -4,6 +4,7 @@ import lombok.Data;
 
 import java.io.Serial;
 import java.io.Serializable;
+import java.util.List;
 
 /**
  * @author czh
@@ -16,8 +17,34 @@ public class FindEntCooperateResVo implements Serializable {
     @Serial
     private static final long serialVersionUID = -3663266782855234702L;
 
+    /**
+     * 企业id
+     */
     private Long entId;
 
+    /**
+     * 企业名
+     */
     private String entName;
 
+    /**
+     * 联系人id
+     */
+    private Long contactsId;
+
+    /**
+     * 联系人姓名
+     */
+    private String contacts;
+
+    /**
+     * 联系电话
+     */
+    private String phone;
+
+    /**
+     * 对方企业
+     */
+    List<FindEntCooperateResVo> target;
+
 }

+ 13 - 0
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/service/CommonBusinessService.java

@@ -21,6 +21,7 @@ import com.sckw.system.api.model.dto.res.EntCacheResDto;
 import com.sckw.system.api.model.dto.res.SysDictResDto;
 import com.sckw.system.api.model.dto.res.UserCacheResDto;
 import org.apache.dubbo.config.annotation.DubboReference;
+import org.jetbrains.annotations.NotNull;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -148,7 +149,19 @@ public class CommonBusinessService {
             return Collections.emptyList();
         }
 
+        return getCooperateManageQueryResVos(reqDto, list);
+    }
+
+    /**
+     * @param reqDto 入参  list数据
+     * @return CooperateManageQueryResVo
+     * @desc: 组装返参
+     * @author: czh
+     * @date: 2023/8/2
+     */
+    public List<CooperateManageQueryResVo> getCooperateManageQueryResVos(CooperateManageQueryReqDto reqDto, List<CooperateManageQueryResDto> list) {
         //dubbo接口查用户和企业
+        Long entId = LoginUserHolder.getEntId();
         List<Long> userIds = list.stream().map(CooperateManageQueryResDto::getCreateBy).distinct().toList();
         List<Long> targetEntIds = list.stream().map(CooperateManageQueryResDto::getTargetEntId).distinct().toList();
         List<UserCacheResDto> userCacheResDtos = remoteSystemService.queryUserCacheByIds(userIds);

+ 4 - 0
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/service/KwmAddressService.java

@@ -252,7 +252,11 @@ public class KwmAddressService {
      * @author: czh
      * @date: 2023/7/12
      */
+    @Transactional(rollbackFor = {})
     public void add(AddressAddReqVo reqVo) {
+        Integer cityCode = reqVo.getCityCode();
+
+
         LambdaQueryWrapper<KwmAddress> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(KwmAddress::getName, reqVo.getName()).
                 eq(KwmAddress::getDelFlag, Global.NO).

+ 121 - 54
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/service/KwmCooperateApplyService.java

@@ -21,6 +21,7 @@ import com.sckw.excel.utils.EasyExcelUtil;
 import com.sckw.manage.dao.KwmCooperateMapper;
 import com.sckw.manage.dao.KwmCooperateTypeMapper;
 import com.sckw.manage.model.dto.req.CooperateManageQueryReqDto;
+import com.sckw.manage.model.dto.res.CooperateQueryDto;
 import com.sckw.manage.model.entity.KwmCooperate;
 import com.sckw.manage.model.entity.KwmCooperateType;
 import com.sckw.manage.model.vo.req.CooperateApplyQueryReqVo;
@@ -38,6 +39,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * @author czh
@@ -126,17 +128,42 @@ public class KwmCooperateApplyService {
         List<Integer> chooseCooperateTypes = Arrays.stream(reqVo.getChooseCooperateTypes().split(Global.COMMA)).map(Integer::parseInt).toList();
 
         //查是否有在合作中、审核中的记录
-        List<KwmCooperate> kwmCooperates = queryValidCooperate(reqVo.getEntId(), currentEntId);
-        if (!CollectionUtils.isEmpty(kwmCooperates)) {
+        List<CooperateQueryDto> cooperateQueryDtoList = queryValidCooperate(reqVo.getEntId(), currentEntId);
+        if (!CollectionUtils.isEmpty(cooperateQueryDtoList)) {
             //有待审核的记录不允许新增申请
-            if (kwmCooperates.stream().anyMatch(item -> item.getStatus() == CooperateStatusEnum.PROCESS.getCode())) {
-                throw new SystemException(HttpStatus.QUERY_FAIL_CODE, HttpStatus.MSG_015);
+            for (CooperateQueryDto cooperateQueryDto : cooperateQueryDtoList) {
+                List<KwmCooperateType> kwmCooperateTypeList = cooperateQueryDto.getKwmCooperateTypeList();
+                if (CollectionUtils.isEmpty(kwmCooperateTypeList)) {
+                    throw new SystemException(HttpStatus.CODE_10301, HttpStatus.COOPERATE_ATTRIBUTE_NOT_EXISTS);
+                }
+
+                for (KwmCooperateType kwmCooperateType : kwmCooperateTypeList) {
+                    if (cooperateQueryDto.getKwmCooperate().getEntId().equals(currentEntId) && kwmCooperateType.getStatus() == CooperateStatusEnum.PROCESS.getCode()) {
+                        throw new SystemException(HttpStatus.QUERY_FAIL_CODE, HttpStatus.MSG_015);
+                    }
+                }
+
+                //已合作的可以新增,但不能重复新增
+                List<Integer> typeList = kwmCooperateTypeList.stream().map(KwmCooperateType::getType).toList();
+                if (cooperateQueryDto.getKwmCooperate().getInviterEntId().equals(currentEntId)) {
+                    chooseCooperateTypes.forEach(item -> {
+                        if (typeList.contains(item)) {
+                            throw new SystemException(HttpStatus.CODE_10301, HttpStatus.MSG_016);
+                        }
+                    });
+                }
+
+                //对方发起了与之相对的申请,也不能再申请
+                if (cooperateQueryDto.getKwmCooperate().getInviteeEntId().equals(currentEntId)) {
+                    chooseCooperateTypes.forEach(item -> {
+                        Integer relative = commonBusinessService.changeAttribute(item);
+                        if (typeList.contains(relative)) {
+                            throw new SystemException(HttpStatus.CODE_10301, HttpStatus.MSG_016);
+                        }
+                    });
+                }
             }
-
-            //已合作的可以新增,但不能重复新增
-            checkTypeRepeat(currentEntId, chooseCooperateTypes, kwmCooperates);
         }
-
         //保存发起申请
         saveInitiate(reqVo, currentEntId, chooseCooperateTypes);
     }
@@ -148,49 +175,51 @@ public class KwmCooperateApplyService {
      * @author: czh
      * @date: 2023/7/11
      */
-    public void saveInitiate(InitiateReqVo reqVo, Long currentEntId, List<Integer> chooseCooperateTypes) {
+    public void saveInitiate(InitiateReqVo reqVo, Long currentEntId, List<Integer> chooseCooperateTypes) throws SystemException {
         Date date = new Date();
-        KwmCooperate kwmCooperate = new KwmCooperate();
-        long id = new IdWorker(1L).nextId();
-        kwmCooperate.setEntId(currentEntId);
-        kwmCooperate.setInviterEntId(currentEntId);
-        kwmCooperate.setInviteeEntId(reqVo.getEntId());
-
-        //我方联系人
-        UserCacheResDto contactDto = remoteSystemService.queryUserCacheById(reqVo.getUserId());
-        if (Objects.nonNull(contactDto)) {
-            kwmCooperate.setInviterContactsId(contactDto.getId());
-            kwmCooperate.setInviterContacts(contactDto.getName());
-            kwmCooperate.setInviterPhone(contactDto.getPhone());
-        }
+        Long id = reqVo.getId();
+        if (Objects.isNull(reqVo.getId())) {
+            KwmCooperate kwmCooperate = new KwmCooperate();
+            id = new IdWorker(1L).nextId();
+            kwmCooperate.setEntId(currentEntId);
+            kwmCooperate.setInviterEntId(currentEntId);
+            kwmCooperate.setInviteeEntId(reqVo.getEntId());
+
+            //我方联系人
+            UserCacheResDto contactDto = remoteSystemService.queryUserCacheById(reqVo.getUserId());
+            if (Objects.nonNull(contactDto)) {
+                kwmCooperate.setInviterContactsId(contactDto.getId());
+                kwmCooperate.setInviterContacts(contactDto.getName());
+                kwmCooperate.setInviterPhone(contactDto.getPhone());
+            }
 
-        //对方联系人
-        UserCacheResDto userCacheResDto = remoteSystemService.queryManagerInfoByEntId(reqVo.getEntId());
-        if (Objects.nonNull(userCacheResDto)) {
-            kwmCooperate.setInviteeContactsId(userCacheResDto.getId());
-            kwmCooperate.setInviteeContacts(contactDto.getName());
-            kwmCooperate.setInviteePhone(contactDto.getPhone());
-        }
+            //对方联系人
+            UserCacheResDto userCacheResDto = remoteSystemService.queryManagerInfoByEntId(reqVo.getEntId());
+            if (Objects.nonNull(userCacheResDto)) {
+                kwmCooperate.setInviteeContactsId(userCacheResDto.getId());
+                kwmCooperate.setInviteeContacts(contactDto.getName());
+                kwmCooperate.setInviteePhone(contactDto.getPhone());
+            }
 
-        kwmCooperate.setId(id);
-        kwmCooperate.setRemark(reqVo.getRemark());
-        kwmCooperate.setStatus(CooperateStatusEnum.PROCESS.getCode());
-        kwmCooperate.setCreateBy(LoginUserHolder.getUserId());
-        kwmCooperate.setCreateTime(date);
-        kwmCooperate.setUpdateBy(LoginUserHolder.getUserId());
-        kwmCooperate.setUpdateTime(date);
-        kwmCooperate.setDelFlag(Global.NO);
-        if (kwmCooperateMapper.insert(kwmCooperate) <= 0) {
-            throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.INSERT_FAIL);
+            kwmCooperate.setId(id);
+            kwmCooperate.setRemark(reqVo.getRemark());
+            kwmCooperate.setStatus(CooperateStatusEnum.PROCESS.getCode());
+            kwmCooperate.setCreateBy(LoginUserHolder.getUserId());
+            kwmCooperate.setCreateTime(date);
+            kwmCooperate.setUpdateBy(LoginUserHolder.getUserId());
+            kwmCooperate.setUpdateTime(date);
+            kwmCooperate.setDelFlag(Global.NO);
+            if (kwmCooperateMapper.insert(kwmCooperate) <= 0) {
+                throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.INSERT_FAIL);
+            }
         }
 
-
-        chooseCooperateTypes.forEach(item -> {
+        for (Integer item : chooseCooperateTypes) {
             KwmCooperateType kwmCooperateType = new KwmCooperateType();
             kwmCooperateType.setId(new IdWorker(1L).nextId());
             kwmCooperateType.setCooperateId(id);
             kwmCooperateType.setType(item);
-            kwmCooperateType.setStatus(Global.NO);
+            kwmCooperateType.setStatus(CooperateStatusEnum.PROCESS.getCode());
             kwmCooperateType.setCreateBy(LoginUserHolder.getUserId());
             kwmCooperateType.setCreateTime(date);
             kwmCooperateType.setUpdateBy(LoginUserHolder.getUserId());
@@ -199,7 +228,8 @@ public class KwmCooperateApplyService {
             if (kwmCooperateTypeMapper.insert(kwmCooperateType) <= 0) {
                 throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.INSERT_FAIL);
             }
-        });
+        }
+
     }
 
     /**
@@ -244,12 +274,12 @@ public class KwmCooperateApplyService {
 
     /**
      * @param entId 对方企业id  currentEntId 我方企业id
-     * @return KwmCooperate
+     * @return CooperateQueryDto
      * @desc: 查是否有在合作中、审核中的记录
      * @author: czh
      * @date: 2023/7/11
      */
-    private List<KwmCooperate> queryValidCooperate(Long entId, Long currentEntId) {
+    private List<CooperateQueryDto> queryValidCooperate(Long entId, Long currentEntId) {
         LambdaQueryWrapper<KwmCooperate> wrapper = new LambdaQueryWrapper<>();
         List<Integer> statusList = new ArrayList<>();
         statusList.add(CooperateStatusEnum.OK.getCode());
@@ -261,11 +291,31 @@ public class KwmCooperateApplyService {
                         or().
                         eq(KwmCooperate::getInviteeEntId, currentEntId).
                         eq(KwmCooperate::getInviterEntId, entId));
-        return kwmCooperateMapper.selectList(wrapper);
-    }
+        List<KwmCooperate> kwmCooperates = kwmCooperateMapper.selectList(wrapper);
+        if (CollectionUtils.isEmpty(kwmCooperates)) {
+            return Collections.emptyList();
+        }
 
+        LambdaQueryWrapper<KwmCooperateType> wrapper2 = new LambdaQueryWrapper<>();
+        wrapper2.eq(KwmCooperateType::getDelFlag, Global.NO).
+                in(KwmCooperateType::getStatus, statusList).
+                in(KwmCooperateType::getCooperateId, kwmCooperates.stream().map(KwmCooperate::getId).toList());
+        List<KwmCooperateType> kwmCooperateTypes = kwmCooperateTypeMapper.selectList(wrapper2);
+        Map<Long, List<KwmCooperateType>> map = new HashMap<>();
+        if (CollectionUtils.isNotEmpty(kwmCooperateTypes)) {
+            map = kwmCooperateTypes.stream().collect(Collectors.groupingBy(KwmCooperateType::getCooperateId));
+        }
 
+        List<CooperateQueryDto> list = new ArrayList<>();
+        for (KwmCooperate kwmCooperate : kwmCooperates) {
+            CooperateQueryDto cooperateQueryDto = new CooperateQueryDto();
+            cooperateQueryDto.setKwmCooperate(kwmCooperate);
+            cooperateQueryDto.setKwmCooperateTypeList(map.get(kwmCooperate.getId()));
+            list.add(cooperateQueryDto);
+        }
 
+        return list;
+    }
 
 
     /**
@@ -298,19 +348,38 @@ public class KwmCooperateApplyService {
 
         Long userId = LoginUserHolder.getUserId();
         Date date = new Date();
+        List<Integer> statusList = new ArrayList<>();
+        statusList.add(CooperateStatusEnum.PROCESS.getCode());
+        statusList.add(CooperateStatusEnum.OK.getCode());
         kwmCooperates.forEach(item -> {
-            if (item.getStatus() != CooperateStatusEnum.PROCESS.getCode()) {
-                throw new SystemException(HttpStatus.CODE_10301, HttpStatus.MSG_019);
+            List<KwmCooperateType> kwmCooperateTypes = kwmCooperateTypeMapper.selectList(new LambdaQueryWrapper<KwmCooperateType>().
+                    eq(KwmCooperateType::getCooperateId, item.getId()).
+                    in(KwmCooperateType::getStatus, statusList).
+                    eq(KwmCooperateType::getDelFlag, Global.NO));
+            List<KwmCooperateType> updateKwmCooperateTypes = kwmCooperateTypes.stream().filter(x -> x.getStatus().equals(CooperateStatusEnum.PROCESS.getCode())).toList();
+            if (CollectionUtils.isEmpty(updateKwmCooperateTypes)) {
+                throw new SystemException(HttpStatus.QUERY_FAIL_CODE, HttpStatus.COOPERATE_CANCEL_EXISTS);
             }
-            item.setStatus(type);
+
+            //目前只有一条
+            for (KwmCooperateType kwmCooperateType : updateKwmCooperateTypes) {
+                kwmCooperateType.setStatus(type);
+                kwmCooperateType.setUpdateBy(userId);
+                kwmCooperateType.setUpdateTime(date);
+                if (kwmCooperateTypeMapper.updateById(kwmCooperateType) <= 0) {
+                    throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.UPDATE_FAIL);
+                }
+            }
+
             item.setUpdateBy(userId);
             item.setUpdateTime(date);
             item.setApprovalRemark(remark);
+            if (kwmCooperateTypes.stream().noneMatch(x -> x.getStatus().equals(CooperateStatusEnum.OK.getCode()))) {
+                item.setStatus(type);
+            }
             if (kwmCooperateMapper.updateById(item) <= 0) {
                 throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.UPDATE_FAIL);
             }
-
-
         });
     }
 
@@ -372,6 +441,4 @@ public class KwmCooperateApplyService {
     }
 
 
-
-
 }

+ 171 - 42
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/service/KwmCooperateManageService.java

@@ -21,15 +21,14 @@ import com.sckw.excel.utils.EasyExcelUtil;
 import com.sckw.manage.dao.KwmCooperateMapper;
 import com.sckw.manage.dao.KwmCooperateTypeMapper;
 import com.sckw.manage.model.dto.req.CooperateManageQueryReqDto;
+import com.sckw.manage.model.dto.res.CooperateManageQueryResDto;
 import com.sckw.manage.model.entity.KwmCooperate;
 import com.sckw.manage.model.entity.KwmCooperateType;
 import com.sckw.manage.model.vo.req.BindManagerReqVo;
 import com.sckw.manage.model.vo.req.CooperateManageQueryReqVo;
+import com.sckw.manage.model.vo.req.FindCooperateByEntReqVo;
 import com.sckw.manage.model.vo.req.FindEntCooperateReqVo;
-import com.sckw.manage.model.vo.res.CooperateManageQueryResVo;
-import com.sckw.manage.model.vo.res.FindEntCooperateResVo;
-import com.sckw.manage.model.vo.res.FindListGroupResVo;
-import com.sckw.manage.model.vo.res.QueryDetailResVo;
+import com.sckw.manage.model.vo.res.*;
 import com.sckw.system.api.RemoteSystemService;
 import com.sckw.system.api.model.dto.res.EntCacheResDto;
 import lombok.extern.slf4j.Slf4j;
@@ -39,6 +38,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * @author czh
@@ -71,11 +71,22 @@ public class KwmCooperateManageService {
      */
     public PageResult queryByPage(CooperateManageQueryReqVo reqVo) {
         PageHelper.startPage(reqVo.getPage(), reqVo.getPageSize());
-        List<CooperateManageQueryResVo> list = commonBusinessService.findList(buildQueryParam(reqVo));
+        List<CooperateManageQueryResVo> list = findList(buildQueryParam(reqVo));
         return PageHelperUtil.getPageResult(new PageInfo<>(list));
     }
 
 
+    private List<CooperateManageQueryResVo> findList(CooperateManageQueryReqDto reqDto) {
+        Long entId = LoginUserHolder.getEntId();
+        reqDto.setCurrentEntId(entId);
+        List<CooperateManageQueryResDto> list = kwmCooperateMapper.findManageList(reqDto);
+        if (CollectionUtils.isEmpty(list)) {
+            return Collections.emptyList();
+        }
+
+        return commonBusinessService.getCooperateManageQueryResVos(reqDto, list);
+    }
+
     /**
      * @param reqVo 查询入参
      * @return CooperateManageQueryReqDto
@@ -95,14 +106,10 @@ public class KwmCooperateManageService {
         //只允许查出申请中、已拒绝、已撤销的记录
         List<Integer> status = new ArrayList<>();
         if (Objects.isNull(reqVo.getStatus())) {
-            status.add(CooperateStatusEnum.PROCESS.getCode());
             status.add(CooperateStatusEnum.OK.getCode());
             status.add(CooperateStatusEnum.PASS.getCode());
         }
 
-        if (Objects.nonNull(reqVo.getStatus()) && reqVo.getStatus().equals(CooperateStatusEnum.PROCESS.getCode())) {
-            status.add(CooperateStatusEnum.PROCESS.getCode());
-        }
         if (Objects.nonNull(reqVo.getStatus()) && reqVo.getStatus().equals(CooperateStatusEnum.OK.getCode())) {
             status.add(CooperateStatusEnum.OK.getCode());
         }
@@ -144,7 +151,7 @@ public class KwmCooperateManageService {
      * @date: 2023/7/10
      */
     public void bindManager(BindManagerReqVo reqVo) throws SystemException {
-       commonBusinessService.bingManager(reqVo.getUserId(), reqVo.getId());
+        commonBusinessService.bingManager(reqVo.getUserId(), reqVo.getId());
     }
 
     /**
@@ -154,7 +161,7 @@ public class KwmCooperateManageService {
      * @date: 2023/7/11
      */
     @Transactional(rollbackFor = {})
-    public void dissolve(String ids) {
+    public void dissolve(String ids, Integer type) {
         //todo 判断是否可以解除(若和所选企业有未完结的业务单据(销售订单/采购订单、托运订单/承运订单、对账单、结算单),不支持解除合作)
         //提示:您与所选企业存在未完结业务,当前无法删除!
         List<KwmCooperate> kwmCooperates = kwmCooperateMapper.selectBatchIds(Arrays.asList(ids.split(Global.COMMA)));
@@ -165,11 +172,17 @@ public class KwmCooperateManageService {
         Date date = new Date();
         kwmCooperates.forEach(item -> {
             //运营端可以操作任意状态,企业端只能操作合作中的数据
-            if (checkUserPermission(item.getStatus())) {
-                throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.MSG_012);
+            if (SystemTypeEnum.MANAGE.getCode().equals(LoginUserHolder.getSystemType())) {
+                if (!item.getStatus().equals(CooperateStatusEnum.OK.getCode()) && type.equals(CooperateStatusEnum.PASS.getCode())) {
+                    throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.MSG_012);
+                }
+
+                if (!item.getStatus().equals(CooperateStatusEnum.PASS.getCode()) && type.equals(CooperateStatusEnum.OK.getCode())) {
+                    throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.MSG_012);
+                }
             }
 
-            item.setStatus(CooperateStatusEnum.PASS.getCode());
+            item.setStatus(type);
             item.setUpdateBy(userId);
             item.setUpdateTime(date);
             if (kwmCooperateMapper.updateById(item) <= 0) {
@@ -260,18 +273,18 @@ public class KwmCooperateManageService {
      * @author: czh
      * @date: 2023/7/22
      */
-    public List<FindEntCooperateResVo> findEntCooperate(FindEntCooperateReqVo reqVo) {
+    public FindEntCooperateResVo findEntCooperate(FindEntCooperateReqVo reqVo) {
         Long id = reqVo.getId();
         Integer cooperateType = reqVo.getCooperateType();
         LambdaQueryWrapper<KwmCooperate> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(KwmCooperate::getInviterEntId, id).or().
                 eq(KwmCooperate::getInviteeEntId, id).and(
                         wp -> wp.eq(KwmCooperate::getDelFlag, Global.NO).
-                                 eq(KwmCooperate::getStatus, CooperateStatusEnum.OK.getCode())
+                                eq(KwmCooperate::getStatus, CooperateStatusEnum.OK.getCode())
                 );
         List<KwmCooperate> kwmCooperates = kwmCooperateMapper.selectList(wrapper);
         if (CollectionUtils.isEmpty(kwmCooperates)) {
-            return Collections.emptyList();
+            return null;
         }
 
         LambdaQueryWrapper<KwmCooperateType> kwmCooperateTypeLambdaQueryWrapper = new LambdaQueryWrapper<>();
@@ -280,48 +293,164 @@ public class KwmCooperateManageService {
         kwmCooperateTypeLambdaQueryWrapper.eq(KwmCooperateType::getType, cooperateType);
         List<KwmCooperateType> kwmCooperateTypes = kwmCooperateTypeMapper.selectList(kwmCooperateTypeLambdaQueryWrapper);
         if (CollectionUtils.isEmpty(kwmCooperateTypes)) {
-            return Collections.emptyList();
+            return null;
         }
 
         //装对方企业的id
         List<Long> kwmCooperateIdList = kwmCooperateTypes.stream().map(KwmCooperateType::getCooperateId).toList();
+        kwmCooperates = kwmCooperates.stream().filter(item -> kwmCooperateIdList.contains(item.getId())).toList();
+        if (CollectionUtils.isEmpty(kwmCooperates)) {
+            return null;
+        }
+
         List<Long> targetEntIdList = new ArrayList<>();
         kwmCooperates.forEach(item -> {
-            if (kwmCooperateIdList.contains(item.getId())) {
-                targetEntIdList.add(item.getInviterEntId().equals(id) ? item.getInviteeEntId() : item.getInviterEntId());
-            }
+            targetEntIdList.add(item.getInviterEntId().equals(id) ? item.getInviteeEntId() : item.getInviterEntId());
         });
 
-        List<EntCacheResDto> entCacheResDtos = remoteSystemService.queryEntCacheByIds(targetEntIdList);
-        if (CollectionUtils.isEmpty(entCacheResDtos)) {
-            return Collections.emptyList();
+        Map<Long, EntCacheResDto> entCacheResDtoMap = remoteSystemService.queryEntCacheMapByIds(targetEntIdList);
+        if (Objects.isNull(entCacheResDtoMap)) {
+            return null;
         }
 
         //装对方企业信息
-        List<FindEntCooperateResVo> list = new ArrayList<>();
-        entCacheResDtos.forEach(item -> {
+        List<FindEntCooperateResVo> targetEntList = new ArrayList<>();
+        kwmCooperates.forEach(item -> {
             FindEntCooperateResVo findEntCooperateResVo = new FindEntCooperateResVo();
-            findEntCooperateResVo.setEntId(item.getId());
-            findEntCooperateResVo.setEntName(item.getFirmName());
-            list.add(findEntCooperateResVo);
+            Long entId = item.getInviterEntId().equals(id) ? item.getInviteeEntId() : item.getInviterEntId();
+            EntCacheResDto entCacheResDto = entCacheResDtoMap.get(entId);
+            if (Objects.isNull(entCacheResDto)) {
+                return;
+            }
+            findEntCooperateResVo.setEntId(entId);
+            findEntCooperateResVo.setEntName(entCacheResDto.getFirmName());
+            findEntCooperateResVo.setContactsId(item.getInviterEntId().equals(id) ? item.getInviteeContactsId() : item.getInviterContactsId());
+            findEntCooperateResVo.setContacts(item.getInviterEntId().equals(id) ? item.getInviteeContacts() : item.getInviterContacts());
+            findEntCooperateResVo.setPhone(item.getInviterEntId().equals(id) ? item.getInviteePhone() : item.getInviterPhone());
+            targetEntList.add(findEntCooperateResVo);
         });
 
         //装对方企业的主体单位
-        Map<Long, List<EntCacheResDto>> longListMap = remoteSystemService.queryEntDeptCacheByIds(targetEntIdList);
-        List<Long> longs = list.stream().map(FindEntCooperateResVo::getEntId).toList();
-        longs.forEach(item -> {
-            List<EntCacheResDto> entCacheResDtos1 = longListMap.get(item);
-            if (CollectionUtils.isEmpty(entCacheResDtos1)) {
-                return;
-            }
-            entCacheResDtos1.forEach(x -> {
-                FindEntCooperateResVo findEntCooperateResVo = new FindEntCooperateResVo();
-                findEntCooperateResVo.setEntId(x.getId());
-                findEntCooperateResVo.setEntName(x.getFirmName());
-                list.add(findEntCooperateResVo);
-            });
+//        Map<Long, List<EntCacheResDto>> longListMap = remoteSystemService.queryEntDeptCacheByIds(targetEntIdList);
+//        List<Long> longs = targetEntList.stream().map(FindEntCooperateResVo::getEntId).toList();
+//        longs.forEach(item -> {
+//            List<EntCacheResDto> entCacheResDtos1 = longListMap.get(item);
+//            if (CollectionUtils.isEmpty(entCacheResDtos1)) {
+//                return;
+//            }
+//            entCacheResDtos1.forEach(x -> {
+//                FindEntCooperateResVo findEntCooperateResVo = new FindEntCooperateResVo();
+//                findEntCooperateResVo.setEntId(x.getId());
+//                findEntCooperateResVo.setEntName(x.getFirmName());
+//                targetEntList.add(findEntCooperateResVo);
+//            });
+//        });
+
+        FindEntCooperateResVo findEntCooperateResVo = new FindEntCooperateResVo();
+        EntCacheResDto entCacheResDto = remoteSystemService.queryEntCacheById(id);
+        KwmCooperate kwmCooperate = kwmCooperates.get(0);
+        findEntCooperateResVo.setEntId(id);
+        findEntCooperateResVo.setEntName(entCacheResDto.getFirmName());
+        findEntCooperateResVo.setContactsId(kwmCooperate.getInviterEntId().equals(id) ? kwmCooperate.getInviterContactsId() : kwmCooperate.getInviteeContactsId());
+        findEntCooperateResVo.setContacts(kwmCooperate.getInviterEntId().equals(id) ? kwmCooperate.getInviterContacts() : kwmCooperate.getInviteeContacts());
+        findEntCooperateResVo.setPhone(kwmCooperate.getInviterEntId().equals(id) ? kwmCooperate.getInviterPhone() : kwmCooperate.getInviteePhone());
+        findEntCooperateResVo.setTarget(targetEntList);
+        return findEntCooperateResVo;
+    }
+
+
+    /**
+     * @param reqVo 企业id
+     * @return FindCooperateByEntResVo
+     * @desc: 根据企业查合作信息
+     * @author: czh
+     * @date: 2023/8/1
+     */
+    public List<FindCooperateByEntResVo> findCooperateByEnt(FindCooperateByEntReqVo reqVo) {
+        List<KwmCooperate> kwmCooperates = kwmCooperateMapper.findCooperateByEnt(reqVo);
+        if (CollectionUtils.isEmpty(kwmCooperates)) {
+            return Collections.emptyList();
+        }
+
+        //获取合作属性
+        List<Long> cooperateIdList = kwmCooperates.stream().map(KwmCooperate::getId).toList();
+        LambdaQueryWrapper<KwmCooperateType> wrapper = new LambdaQueryWrapper<>();
+        wrapper.in(KwmCooperateType::getCooperateId, cooperateIdList);
+        wrapper.eq(KwmCooperateType::getDelFlag, Global.NO);
+        List<KwmCooperateType> kwmCooperateTypes = kwmCooperateTypeMapper.selectList(wrapper);
+        Map<Long, List<KwmCooperateType>> collect = new HashMap<>();
+        if (CollectionUtils.isNotEmpty(kwmCooperateTypes)) {
+            collect = kwmCooperateTypes.stream().collect(Collectors.groupingBy(KwmCooperateType::getCooperateId));
+        }
+
+        //获取所有企业信息
+        List<Long> allEntIdList = new ArrayList<>();
+        kwmCooperates.forEach(item -> {
+            allEntIdList.add(item.getEntId());
+            allEntIdList.add(item.getInviterEntId());
+            allEntIdList.add(item.getInviteeEntId());
         });
+        List<EntCacheResDto> entCacheResDtos = remoteSystemService.queryEntCacheByIds(allEntIdList);
+        Map<Long, EntCacheResDto> entMap = new HashMap<>();
+        if (CollectionUtils.isNotEmpty(entCacheResDtos)) {
+            entMap = entCacheResDtos.stream().collect(Collectors.toMap(EntCacheResDto::getId, e -> e, (n, o) -> n));
+        }
+
+        List<FindCooperateByEntResVo> list = new ArrayList<>();
+        Long currentEntId = LoginUserHolder.getEntId();
+        for (KwmCooperate kwmCooperate : kwmCooperates) {
+            FindCooperateByEntResVo findCooperateByEntResVo = new FindCooperateByEntResVo();
+            findCooperateByEntResVo.setId(kwmCooperate.getId());
+
+
+            //设置合作属性
+            List<KwmCooperateType> kwmCooperateTypes1 = collect.get(kwmCooperate.getId());
+            if (CollectionUtils.isNotEmpty(kwmCooperateTypes1)) {
+                findCooperateByEntResVo.setCooperateTypes(String.join(Global.COMMA, kwmCooperateTypes1.stream().map(KwmCooperateType::getType).map(String::valueOf).toList()));
+            }
+
+            //设置发起企业
+            EntCacheResDto entCacheResDto = entMap.get(kwmCooperate.getEntId());
+            findCooperateByEntResVo.setInitiateEntId(kwmCooperate.getEntId());
+            if (Objects.nonNull(entCacheResDto)) {
+                findCooperateByEntResVo.setInitiateEntName(entCacheResDto.getFirmName());
+            }
+
+            EntCacheResDto inviterEntCacheResDto = entMap.get(kwmCooperate.getInviterEntId());
+            EntCacheResDto inviteeEntCacheResDto = entMap.get(kwmCooperate.getInviteeEntId());
+            String inviterEntName = Objects.isNull(inviterEntCacheResDto) ? null : inviterEntCacheResDto.getFirmName();
+            String inviteeEntName = Objects.isNull(inviteeEntCacheResDto) ? null : inviteeEntCacheResDto.getFirmName();
+
+            //设置我方和对方企业信息、联系人
+            if (currentEntId.equals(kwmCooperate.getEntId())) {
+                findCooperateByEntResVo.setEntId(kwmCooperate.getInviterEntId());
+                findCooperateByEntResVo.setEntName(inviterEntName);
+                findCooperateByEntResVo.setContactsId(kwmCooperate.getInviterContactsId());
+                findCooperateByEntResVo.setContacts(kwmCooperate.getInviterContacts());
+                findCooperateByEntResVo.setPhone(kwmCooperate.getInviterPhone());
+                findCooperateByEntResVo.setTargetEntId(kwmCooperate.getInviteeEntId());
+                findCooperateByEntResVo.setTargetEntName(inviteeEntName);
+                findCooperateByEntResVo.setTargetContactsId(kwmCooperate.getInviteeContactsId());
+                findCooperateByEntResVo.setTargetContacts(kwmCooperate.getInviteeContacts());
+                findCooperateByEntResVo.setTargetPhone(kwmCooperate.getInviteePhone());
+            } else {
+                findCooperateByEntResVo.setEntId(kwmCooperate.getInviteeEntId());
+                findCooperateByEntResVo.setEntName(inviteeEntName);
+                findCooperateByEntResVo.setContactsId(kwmCooperate.getInviteeContactsId());
+                findCooperateByEntResVo.setContacts(kwmCooperate.getInviteeContacts());
+                findCooperateByEntResVo.setPhone(kwmCooperate.getInviteePhone());
+                findCooperateByEntResVo.setTargetEntId(kwmCooperate.getInviterEntId());
+                findCooperateByEntResVo.setTargetEntName(inviterEntName);
+                findCooperateByEntResVo.setTargetContactsId(kwmCooperate.getInviterContactsId());
+                findCooperateByEntResVo.setTargetContacts(kwmCooperate.getInviterContacts());
+                findCooperateByEntResVo.setTargetPhone(kwmCooperate.getInviterPhone());
+            }
+            list.add(findCooperateByEntResVo);
+        }
         return list;
     }
 
+    public void restore(String ids, Integer type) {
+        dissolve(ids, type);
+    }
 }

+ 90 - 6
sckw-modules/sckw-manage/src/main/resources/mapper/KwmCooperateMapper.xml

@@ -33,6 +33,7 @@
     <select id="findList" parameterType="com.sckw.manage.model.dto.req.CooperateManageQueryReqDto"
             resultType="com.sckw.manage.model.dto.res.CooperateManageQueryResDto">
         SELECT a.id,
+               b.status,
                group_concat(b.type) types,
                min(a.ent_id) entId,
                min(a.invitee_ent_id) inviteeEntId,
@@ -43,10 +44,9 @@
                min(a.inviter_contacts_id) inviterContactsId,
                min(a.invitee_phone) inviteePhone,
                min(a.inviter_phone) inviterPhone,
-               min(a.create_time) createTime,
-               min(a.create_by) createBy,
+               min(b.create_time) createTime,
+               min(b.create_by) createBy,
                min(a.remark) remark,
-               min(a.status) status,
                min(a.approval_remark) approvalRemark,
                case when min(a.ent_id) = min(a.invitee_ent_id) then min(a.inviter_ent_id) else min(a.invitee_ent_id) end targetEntId,
                case when min(a.ent_id) = #{reqDto.currentEntId} then 1 else 2 end applyTypeCode
@@ -55,10 +55,10 @@
          WHERE a.del_flag = 0
            and (a.invitee_ent_id = #{reqDto.currentEntId} OR a.inviter_ent_id = #{reqDto.currentEntId})
            <if test="reqDto.startTime != null">
-               and a.create_time >= #{reqDto.startTime}
+               and b.create_time >= #{reqDto.startTime}
            </if>
            <if test="reqDto.endTime != null">
-               and a.create_time &lt; date_add(#{reqDto.endTime}, INTERVAL 1 DAY)
+               and b.create_time &lt; date_add(#{reqDto.endTime}, INTERVAL 1 DAY)
            </if>
            <if test="reqDto.applyTypeCode != null and reqDto.applyTypeCode == 1">
                and a.ent_id = #{reqDto.currentEntId}
@@ -70,6 +70,8 @@
                and exists (select 1
                              from kwm_cooperate_type c
                             where c.cooperate_id = a.id
+                               and c.statu = 1
+                               and c.del_flag = 0
                               and c.type in
                             <foreach collection="reqDto.cooperateTypes" item="item" open="(" close=")" separator=",">
                                #{item}
@@ -77,7 +79,7 @@
                           )
            </if>
          <if test="reqDto.status != null and reqDto.status.size() > 0">
-             and a.status in
+             and b.status in
              <foreach collection="reqDto.status" item="item" open="(" close=")" separator=",">
                  #{item}
              </foreach>
@@ -88,7 +90,89 @@
                  #{item}
              </foreach>
          </if>
+        group by a.id, b.status
+        order by a.create_time desc
+    </select>
+
+    <select id="findCooperateByEnt" resultType="com.sckw.manage.model.entity.KwmCooperate">
+        select a.*
+          from kwm_cooperate a
+         where a.del_flag = 0
+           and a.status = 1
+           and ((a.inviter_ent_id = #{entId}
+                <if test="targetEntId != null">
+                    and a.invitee_ent_id = #{targetEntId}
+                </if>
+                )
+                or
+                (a.invitee_ent_id = #{entId}
+                <if test="targetEntId != null">
+                    and a.inviter_ent_id = #{targetEntId}
+                </if>
+                ))
+    </select>
+
+    <select id="findManageList" resultType="com.sckw.manage.model.dto.res.CooperateManageQueryResDto">
+        SELECT a.id,
+                min(a.status) status,
+                group_concat(b.type) types,
+                min(a.ent_id) entId,
+                min(a.invitee_ent_id) inviteeEntId,
+                min(a.inviter_ent_id) inviterEntId,
+                min(a.invitee_contacts) inviteeContacts,
+                min(a.inviter_contacts) inviterContacts,
+                min(a.invitee_contacts_id) inviteeContactsId,
+                min(a.inviter_contacts_id) inviterContactsId,
+                min(a.invitee_phone) inviteePhone,
+                min(a.inviter_phone) inviterPhone,
+                min(b.create_time) createTime,
+                min(b.create_by) createBy,
+                min(a.remark) remark,
+                min(a.approval_remark) approvalRemark,
+                case when min(a.ent_id) = min(a.invitee_ent_id) then min(a.inviter_ent_id) else min(a.invitee_ent_id) end targetEntId,
+                case when min(a.ent_id) = #{reqDto.currentEntId} then 1 else 2 end applyTypeCode
+        FROM kwm_cooperate a
+        LEFT JOIN kwm_cooperate_type b ON a.id = b.cooperate_id and b.status = 1 and b.del_flag = 0
+        WHERE a.del_flag = 0
+        and (a.invitee_ent_id = #{reqDto.currentEntId} OR a.inviter_ent_id = #{reqDto.currentEntId})
+        <if test="reqDto.startTime != null">
+            and b.create_time >= #{reqDto.startTime}
+        </if>
+        <if test="reqDto.endTime != null">
+            and b.create_time &lt; date_add(#{reqDto.endTime}, INTERVAL 1 DAY)
+        </if>
+        <if test="reqDto.applyTypeCode != null and reqDto.applyTypeCode == 1">
+            and a.ent_id = #{reqDto.currentEntId}
+        </if>
+        <if test="reqDto.applyTypeCode != null and reqDto.applyTypeCode == 2">
+            and a.ent_id != #{reqDto.currentEntId}
+        </if>
+        <if test="reqDto.cooperateTypes != null and reqDto.cooperateTypes.size() > 0">
+            and exists (select 1
+                            from kwm_cooperate_type c
+                            where c.cooperate_id = a.id
+                              and c.statu = 1
+                                and c.del_flag = 0
+                            and c.type in
+                        <foreach collection="reqDto.cooperateTypes" item="item" open="(" close=")" separator=",">
+                            #{item}
+                        </foreach>
+                        )
+        </if>
+        <if test="reqDto.status != null and reqDto.status.size() > 0">
+            and b.status in
+            <foreach collection="reqDto.status" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        <if test="reqDto.ids != null and reqDto.ids.size() > 0">
+            and a.id in
+            <foreach collection="reqDto.ids" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
         group by a.id
         order by a.create_time desc
     </select>
+
 </mapper>

+ 1 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/KwsDeptController.java

@@ -30,6 +30,7 @@ public class KwsDeptController {
      **/
     @GetMapping("/detail")
     public HttpResult selectByKey(@RequestParam Long id) throws SystemException {
+        int i = 1 / 0;
         KwsDept sysDict = kwsDeptService.selectByKey(id);
         return HttpResult.ok(sysDict);
     }

+ 7 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/dao/KwsUserDao.java

@@ -38,6 +38,13 @@ public interface KwsUserDao {
      */
     KwsUser selectByKey(Long id);
 
+    /**
+     * 详情查询
+     * @param list
+     * @return
+     */
+    List<KwsUser> selectByKeys(List<Long> list);
+
     /**
      * 查询
      * @param params

+ 7 - 3
sckw-modules/sckw-system/src/main/java/com/sckw/system/dubbo/RemoteSystemServiceImpl.java

@@ -462,6 +462,11 @@ public class RemoteSystemServiceImpl implements RemoteSystemService {
         return JSONObject.parseObject(areaCache, SysAreaCacheResDto.class);
     }
 
+    @Override
+    public List<AreaTreeFrontResDto> queryAreaTreeFrontByCodeList(List<Integer> list) {
+        return null;
+    }
+
     @Override
     public UserCacheResDto queryManagerInfoByEntId(Long entId) {
         KwsEnterpriseResDto kwsEnterpriseResDto = remoteBaseService.queryEnterpriseById(entId);
@@ -510,11 +515,10 @@ public class RemoteSystemServiceImpl implements RemoteSystemService {
         String areaCache = RedissonUtils.getString(key);
         if (StringUtils.isBlank(areaCache)) {
             List<FindAreaTreeResVo> findAreaTreeResVos = queryAreaGroup(code);
-            RedissonUtils.putString(key, JSON.toJSONString(findAreaTreeResVos), Global.COMMON_EXPIRE);
+            RedissonUtils.putString(key, JSON.toJSONString(findAreaTreeResVos), Global.MINUS_ONE);
             return findAreaTreeResVos;
         }
 
-        RedissonUtils.putString(key, areaCache, Global.COMMON_EXPIRE);
         return JSONArray.parseArray(areaCache, FindAreaTreeResVo.class);
     }
 
@@ -530,7 +534,7 @@ public class RemoteSystemServiceImpl implements RemoteSystemService {
         params.put("pcode", code);
         List<Map<String, Object>> list = sysAreaService.findList(params);
         if (CollectionUtils.isEmpty(list)) {
-            return Collections.emptyList();
+            return null;
         }
 
         List<FindAreaTreeResVo> result = BeanUtils.copyToList(list, FindAreaTreeResVo.class);

+ 31 - 1
sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/res/QueryCurrentOrganizationResVo.java

@@ -29,11 +29,41 @@ public class QueryCurrentOrganizationResVo implements Serializable {
     /**
      * 父id
      */
-    private Long pId;
+    private Long pid;
 
     /**
      * 企业属性
      */
     private String entTypes;
 
+    /**
+     * 联系人
+     */
+    private String contacts;
+
+    /**
+     * 联系人id
+     */
+    private Long contactsId;
+
+    /**
+     * 联系人电话
+     */
+    private String phone;
+
+    /**
+     * 所属地区
+     */
+    private String cityName;
+
+    /**
+     * 主营范围
+     */
+    private String business;
+
+    /**
+     * 可供合作的类型
+     */
+    private String cooperateTypes;
+
 }

+ 73 - 1
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsEnterpriseService.java

@@ -729,7 +729,7 @@ public class KwsEnterpriseService {
                     QueryCurrentOrganizationResVo queryCurrentOrganizationResVo1 = new QueryCurrentOrganizationResVo();
                     queryCurrentOrganizationResVo1.setEntId(entCacheResDto1.getId());
                     queryCurrentOrganizationResVo1.setEntName(entCacheResDto1.getFirmName());
-                    queryCurrentOrganizationResVo1.setPId(kwsEntDept.getEntPid());
+                    queryCurrentOrganizationResVo1.setPid(kwsEntDept.getEntPid());
                     list.add(queryCurrentOrganizationResVo1);
                 }
             }
@@ -778,13 +778,85 @@ public class KwsEnterpriseService {
             kwsEnterprises = kwsEnterprises.stream().filter(item -> !entIdList.contains(item.getId())).toList();
         }
 
+        if (CollectionUtils.isEmpty(kwsEnterprises)) {
+            return Collections.emptyList();
+        }
+
+        Map<Long, List<KwsEntType>> collect = new HashMap<>();
+        List<KwsEntType> kwsEntTypeList = kwsEntTypeDao.findListByEntIds(kwsEnterprises.stream().map(KwsEnterprise::getId).toList());
+        if (CollectionUtils.isNotEmpty(kwsEntTypeList)) {
+            collect = kwsEntTypeList.stream().collect(Collectors.groupingBy(KwsEntType::getEntId));
+        }
+
+        List<Long> managers = kwsEnterprises.stream().map(KwsEnterprise::getManager).toList();
+        Map<Long, KwsUser> userCollect = new HashMap<>();
+        if (CollectionUtils.isNotEmpty(managers)) {
+            List<KwsUser> kwsUsers = kwsUserService.selectByKeys(managers);
+            if (CollectionUtils.isNotEmpty(kwsUsers)) {
+                userCollect = kwsUsers.stream().collect(Collectors.toMap(KwsUser::getId, e -> e, (n, o) -> n));
+            }
+        }
+
+
         List<QueryCurrentOrganizationResVo> list = new ArrayList<>();
         for (KwsEnterprise kwsEnterprise : kwsEnterprises) {
             QueryCurrentOrganizationResVo queryCurrentOrganizationResVo = new QueryCurrentOrganizationResVo();
+            List<KwsEntType> kwsEntTypeList1 = collect.get(kwsEnterprise.getId());
+            queryCurrentOrganizationResVo.setEntTypes(CollectionUtils.isEmpty(kwsEntTypeList1) ? null : String.join(Global.COMMA, kwsEntTypeList1.stream().map(KwsEntType::getType).map(String::valueOf).toList()));
+            Long manager = kwsEnterprise.getManager();
+            if (Objects.nonNull(manager)) {
+                queryCurrentOrganizationResVo.setContactsId(manager);
+                KwsUser kwsUser = userCollect.get(manager);
+                if (Objects.nonNull(kwsUser)) {
+                    queryCurrentOrganizationResVo.setContacts(kwsUser.getName());
+                    queryCurrentOrganizationResVo.setPhone(kwsUser.getPhone());
+                }
+            }
+            queryCurrentOrganizationResVo.setCityName(kwsEnterprise.getCityName());
+            queryCurrentOrganizationResVo.setBusiness(kwsEnterprise.getBusiness());
             queryCurrentOrganizationResVo.setEntId(kwsEnterprise.getId());
             queryCurrentOrganizationResVo.setEntName(kwsEnterprise.getFirmName());
+            queryCurrentOrganizationResVo.setCooperateTypes(getCooperateType(kwsEntTypeList1));
             list.add(queryCurrentOrganizationResVo);
         }
         return list;
     }
+
+
+    /**
+     * @param kwsEntTypeList 企业类型集合
+     * @return String
+     * @desc: 根据企业属性返回可供合作的属性
+     * @author: czh
+     * @date: 2023/8/1
+     */
+    private String getCooperateType (List<KwsEntType> kwsEntTypeList) {
+        if (CollectionUtils.isEmpty(kwsEntTypeList)) {
+            return null;
+        }
+
+        List<Integer> cooperateTypeList = new ArrayList<>();
+        for (KwsEntType kwsEntType : kwsEntTypeList) {
+            if (EntTypeEnum.SUPPLIER.getCode() == kwsEntType.getType()) {
+                cooperateTypeList.add(CooperateTypeEnum.SUPPLIER.getCode());
+                cooperateTypeList.add(CooperateTypeEnum.CONSIGN.getCode());
+            }
+
+            if (EntTypeEnum.PURCHASER.getCode() == kwsEntType.getType()) {
+                cooperateTypeList.add(CooperateTypeEnum.PURCHASER.getCode());
+                cooperateTypeList.add(CooperateTypeEnum.CONSIGN.getCode());
+            }
+
+            if (EntTypeEnum.LOGISTICS3.getCode() == kwsEntType.getType()) {
+                cooperateTypeList.add(CooperateTypeEnum.CARRIAGE.getCode());
+            }
+
+            if (EntTypeEnum.LOGISTICS4.getCode() == kwsEntType.getType()) {
+                cooperateTypeList.add(CooperateTypeEnum.CONSIGN.getCode());
+                cooperateTypeList.add(CooperateTypeEnum.CARRIAGE.getCode());
+            }
+        }
+
+        return String.join(Global.COMMA, cooperateTypeList.stream().distinct().map(String::valueOf).toList());
+    }
 }

+ 7 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsUserService.java

@@ -341,6 +341,13 @@ public class KwsUserService {
         return kwsUserDao.selectByKey(key);
     }
 
+    /**
+     * 根据主键查询
+     */
+    public List<KwsUser> selectByKeys(List<Long> key) {
+        return kwsUserDao.selectByKeys(key);
+    }
+
     /**
      * 分页查询
      */

+ 12 - 0
sckw-modules/sckw-system/src/main/resources/mapper/KwsUserDao.xml

@@ -34,6 +34,18 @@
     where id = #{id,jdbcType=BIGINT}
   </select>
 
+  <select id="selectByKeys"  resultMap="BaseResultMap">
+    select
+    <include refid="Base_Column_List" />
+    from kws_user
+    where del_flag = 0
+      and id in
+    <foreach collection="list" item="item" open="(" close=")" separator=",">
+      #{item}
+    </foreach>
+  </select>
+
+
   <insert id="insert" parameterType="com.sckw.system.model.KwsUser">
     insert into kws_user
     <trim prefix="(" suffix=")" suffixOverrides=",">