瀏覽代碼

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/controller/BlinkProviderController.java
#	bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/manager/BlinkProviderServiceImpl.java
#	bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/service/IBlinkProviderService.java
gufj 4 月之前
父節點
當前提交
e6d906165c

+ 24 - 4
bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/controller/BlinkProviderController.java

@@ -1,5 +1,7 @@
 package com.wx.blink.backend.controller;
 
+import com.wx.blink.backend.domain.dto.BlinkProviderStorageDTO;
+import com.wx.blink.backend.domain.dto.BlinkStorageMarginDTO;
 import com.wx.blink.base.common.annoation.NoNeedLogin;
 import com.wx.blink.base.common.domain.PageResult;
 import com.wx.blink.base.common.domain.ResponseDTO;
@@ -8,12 +10,14 @@ import com.wx.blink.backend.service.IBlinkProviderService;
 import com.wx.blink.common.dto.BlinkProviderDTO;
 import com.wx.blink.common.vo.BlinkProjectVO;
 import com.wx.blink.common.vo.BlinkProviderCreateVO;
+import com.wx.blink.common.vo.BlinkProviderCreateVO;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import javax.validation.Valid;
+import java.util.List;
 
 @RestController
 @Tag(name = "服务商管理")
@@ -36,9 +40,25 @@ public class BlinkProviderController {
         return providerService.supportsProviderQueryPage(qry);
     }
 
-    @Operation(summary = "获取服务商信息")
-    @GetMapping("/supports/provider/{id}")
-    public ResponseDTO<BlinkProviderDTO> supportsProviderSingleQuery(@PathVariable String id) {
-        return providerService.supportsProviderSingleQuery(id);
+    @Operation(summary = "获取服务商基本信息")
+    @GetMapping("/supports/provider/query/{id}")
+    @NoNeedLogin
+    public ResponseDTO<BlinkProviderDTO> supportsProviderQuery(@PathVariable("id") String id) {
+        return providerService.supportsProviderQuery(id);
+    }
+
+    @Operation(summary = "获取服务商入库审核信息")
+    @GetMapping("/supports/provider/audit/query/{providerId}")
+    @NoNeedLogin
+    public ResponseDTO<BlinkProviderStorageDTO> supportsProviderAuditQuery(@PathVariable("providerId") String providerId) {
+        return providerService.supportsProviderAuditQuery(providerId);
     }
+
+    @Operation(summary = "获取服务商入库保证金信息")
+    @GetMapping("/supports/provider/margin/query/{providerId}")
+    @NoNeedLogin
+    public ResponseDTO<List<BlinkStorageMarginDTO>> supportsStorageMarginQuery(@PathVariable("providerId") String providerId) {
+        return providerService.supportsStorageMarginQuery(providerId);
+    }
+
 }

+ 25 - 0
bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/domain/dataobject/BlinkProviderDO.java

@@ -120,6 +120,31 @@ public class BlinkProviderDO extends BaseEntity {
      */
     private String companyNature;
 
+    /**
+     * 审核状态 0待审核 1审核中 2 审核完毕
+     */
+    private Integer auditStatus;
+
+    /**
+     * 入库状态 0已认证(引荐完毕之后就是已认证) 1不合格
+     */
+    private Integer storeStatus;
+
+    /**
+     * 面试状态 0未面试 1面试中 2 面试完毕
+     */
+    private Integer interviewStatus;
+
+    /**
+     * 引荐状态 0未引荐 1引荐中 2 引荐完毕
+     */
+    private Integer referralStatus;
+
+    /**
+     * 退出状态 1已退出
+     */
+    private Integer outStatus;
+
     /**
      * 注册来源
      */

+ 71 - 0
bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/domain/dto/BlinkProviderProjectDTO.java

@@ -0,0 +1,71 @@
+package com.wx.blink.backend.domain.dto;
+
+import com.wx.blink.base.common.domain.BaseEntity;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class BlinkProviderProjectDTO extends BaseEntity {
+
+    /**
+     * id
+     */
+    private Long id;
+
+    /**
+     * 项目名称
+     */
+    @Schema(description = "项目名称")
+    private String projectName;
+
+    /**
+     * 合同额(概算金额【元】)
+     */
+    @Schema(description = "合同额(概算金额【元】)")
+    private BigDecimal budgetAmount;
+
+    /**
+     * 项目所在地
+     */
+    @Schema(description = "项目所在地")
+    private String address;
+
+    /**
+     * 客户名称
+     */
+    @Schema(description = "客户名称")
+    private String customerName;
+
+    /**
+     * 评标方式(预估评标方式)
+     */
+    @Schema(description = "评标方式(预估评标方式)")
+    private String bidWay;
+
+    /**
+     * 预估中标率
+     */
+    @Schema(description = "预估中标率")
+    private String winningRate;
+
+    /**
+     * 项目关系说明
+     */
+    @Schema(description = "项目关系说明")
+    private String tiesDescription;
+
+    /**
+     * 是否引荐客户
+     */
+    @Schema(description = "是否引荐客户")
+    private Integer referralCustomer;
+
+    /**
+     * HISTORY-历史业绩 CURRENT-当前在手项目
+     */
+    @Schema(description = "HISTORY-历史业绩 CURRENT-当前在手项目")
+    private String type;
+
+}

+ 198 - 0
bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/domain/dto/BlinkProviderStorageDTO.java

@@ -0,0 +1,198 @@
+package com.wx.blink.backend.domain.dto;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.wx.blink.base.common.domain.BaseEntity;
+import com.wx.blink.base.common.json.deserializer.FileKeyVoDeserializer;
+import com.wx.blink.base.common.json.serializer.FileKeyVoSerializer;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class BlinkProviderStorageDTO extends BaseEntity {
+
+//    审核信息
+    /**
+     * id
+     */
+    private Long id;
+
+    /**
+     * 服务商ID
+     */
+    @Schema(description = "服务商ID")
+    private String providerId;
+
+    /**
+     * 资源来源
+     */
+    @Schema(description = "资源来源")
+    private String resourceSource;
+
+    /**
+     * 是否有团队
+     */
+    @Schema(description = "是否有团队")
+    private String team;
+
+    /**
+     * 团队人数
+     */
+    @Schema(description = "团队人数")
+    private String teamNumber;
+
+    /**
+     * 审核意见
+     */
+    @Schema(description = "审核意见")
+    private String auditOpinion;
+
+    /**
+     * 商务专员
+     */
+    @Schema(description = "商务专员")
+    private String businessCommissioner;
+
+    /**
+     * 信息审核及评价
+     */
+    @Schema(description = "信息审核及评价")
+    private String auditDescription;
+
+    /**
+     * 预计面试时间
+     */
+    @Schema(description = "预计面试时间")
+    private String interviewTime;
+
+    /**
+     * 预计面试地址
+     */
+    @Schema(description = "预计面试地址")
+    private String interviewAddress;
+
+    /**
+     * 预计面试官
+     */
+    @Schema(description = "预计面试官")
+    private String Interviewer;
+
+//    面试评价信息
+
+    /**
+     * 面试意见
+     */
+    @Schema(description = "面试意见")
+    private String interviewOpinion;
+
+    /**
+     * 预计引荐日期
+     */
+    @Schema(description = "预计引荐日期")
+    private String referralTime;
+
+    /**
+     * 引荐客户
+     */
+    @Schema(description = "引荐客户")
+    private String referralCustomer;
+
+    /**
+     * 引荐人
+     */
+    @Schema(description = "引荐人")
+    private String introducer;
+
+    /**
+     * 引荐人级别
+     */
+    @Schema(description = "引荐人级别")
+    private String introducerGrade;
+
+    /**
+     * 面试评价说明
+     */
+    @Schema(description = "面试评价说明")
+    private String interviewEvaluationDescription;
+
+//    引荐评价信息
+
+    /**
+     * 评价意见
+     */
+    @Schema(description = "评价意见")
+    private String evaluationOpinion;
+
+    /**
+     * 服务商等级
+     */
+    @Schema(description = "服务商等级")
+    private String providerGrade;
+
+    /**
+     * 评价时间
+     */
+    @Schema(description = "评价时间")
+    private String evaluationTime;
+
+    /**
+     * 营销经理
+     */
+    @Schema(description = "营销经理")
+    private String marketingManager;
+
+    /**
+     * 引荐评价说明
+     */
+    @Schema(description = "引荐评价说明")
+    private String referralEvaluationDescription;
+
+//    入库保证金
+
+    /**
+     * 需缴纳保证金
+     */
+    @Schema(description = "需缴纳保证金")
+    private String depositQuota;
+
+    /**
+     * 是否已缴纳保证金
+     */
+    @Schema(description = "是否已缴纳保证金")
+    private Integer payStatus;
+
+    /**
+     * 保证金收款人
+     */
+    @Schema(description = "保证金收款人")
+    private String receivablesPeople;
+
+    /**
+     * 保证金收款账户
+     */
+    @Schema(description = "保证金收款账户")
+    private String receivablesAccount;
+
+    /**
+     * 入库协议
+     */
+    @Schema(description = "入库协议")
+    @JsonDeserialize(using = FileKeyVoDeserializer.class)
+    @JsonSerialize(using = FileKeyVoSerializer.class)
+    private String storageAgreement;
+
+    /**
+     * 历史业绩集合
+     */
+    @Schema(description = "历史业绩集合")
+    private List<BlinkProviderProjectDTO> historyProjectList;
+
+    /**
+     * 当前在手项目集合
+     */
+    @Schema(description = "当前在手项目集合")
+    private List<BlinkProviderProjectDTO> currentProjectList;
+
+}

+ 53 - 0
bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/domain/dto/BlinkStorageMarginDTO.java

@@ -0,0 +1,53 @@
+package com.wx.blink.backend.domain.dto;
+
+import com.wx.blink.base.common.domain.BaseEntity;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class BlinkStorageMarginDTO extends BaseEntity {
+
+    /**
+     * id
+     */
+    private Long id;
+
+    /**
+     * 服务商ID
+     */
+    @Schema(description = "服务商ID")
+    private String providerId;
+
+    /**
+     * 名称
+     */
+    @Schema(description = "名称")
+    private String marginName;
+
+    /**
+     * 流水号
+     */
+    @Schema(description = "流水号")
+    private String serialNumber;
+
+    /**
+     * 保证金金额
+     */
+    @Schema(description = "保证金金额")
+    private String marginAmount;
+
+    /**
+     * 发起日期
+     */
+    @Schema(description = "发起日期")
+    private String initiatedTime;
+
+    /**
+     * 商务专员
+     */
+    @Schema(description = "商务专员")
+    private String businessCommissioner;
+
+}

+ 7 - 3
bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/domain/qry/BlinkProviderQry.java

@@ -1,6 +1,7 @@
 package com.wx.blink.backend.domain.qry;
 
 import com.wx.blink.base.common.domain.PageParam;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
 @Data
@@ -14,16 +15,19 @@ public class BlinkProviderQry extends PageParam {
     /**
      * 服务商名称 search
      * */
+    @Schema(description = "服务商名称")
     private String providerName;
 
     /**
      * 服务商类型 search
      */
+    @Schema(description = "服务商类型")
     private String providerType;
 
     /**
-     *  审核状态(0-待审核、1-审核中、3-不合格、4-通过) qry
+     * AUDIT-审核 INTERVIEW-面试 REFERRAL-引荐 STORE-0-已认证 STORE-1-不合格 OUT-已退出
      * */
-    private Integer status;
+    @Schema(description = "AUDIT-审核 INTERVIEW-面试 REFERRAL-引荐 STORE-0-已认证 STORE-1-不合格 OUT-已退出")
+    private String bizModel;
 
-}
+}

+ 57 - 1
bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/manager/BlinkProviderServiceImpl.java

@@ -6,13 +6,15 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.wx.blink.backend.domain.dataobject.BlinkProjectDO;
 import com.wx.blink.backend.domain.dataobject.BlinkProviderDO;
+import com.wx.blink.backend.domain.dto.BlinkProviderProjectDTO;
+import com.wx.blink.backend.domain.dto.BlinkProviderStorageDTO;
+import com.wx.blink.backend.domain.dto.BlinkStorageMarginDTO;
 import com.wx.blink.backend.domain.qry.BlinkProviderQry;
 import com.wx.blink.backend.objectmapper.BlinkProviderMapper;
 import com.wx.blink.backend.repository.BlinkProviderRepository;
 import com.wx.blink.backend.service.IBlinkProviderService;
 import com.wx.blink.base.common.domain.PageResult;
 import com.wx.blink.base.common.domain.ResponseDTO;
-import com.wx.blink.base.common.util.BlinkEntityUtil;
 import com.wx.blink.base.common.util.BlinkEnumUtil;
 import com.wx.blink.base.common.util.BlinkPageUtil;
 import com.wx.blink.base.module.support.serialnumber.constant.SerialNumberIdEnum;
@@ -24,6 +26,8 @@ import com.wx.blink.common.vo.BlinkProviderCreateVO;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.text.DecimalFormat;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
 
@@ -67,6 +71,24 @@ public class BlinkProviderServiceImpl extends ServiceImpl<BlinkProviderRepositor
         return ResponseDTO.ok();
     }
 
+    /**
+     * 获取服务商基本信息
+     *
+     * @param id
+     * @return
+     */
+    @Override
+    public ResponseDTO<BlinkProviderDTO> supportsProviderQuery(String id) {
+        // 验证服务商名称是否重复
+        BlinkProviderDO providerDO = repository.queryByProviderName(null, id, Boolean.FALSE);
+        if (!Objects.nonNull(providerDO)) {
+            return ResponseDTO.userErrorParam("服务商不存在!请检查");
+        }
+        BlinkProviderDTO dto = new BlinkProviderDTO();
+        mapper.toBlinkProviderDTO(providerDO, dto);
+        return ResponseDTO.ok(dto);
+    }
+
     @Override
     public ResponseDTO<PageResult<BlinkProviderDTO>> supportsProviderQueryPage(BlinkProviderQry qry) {
         Page<?> page = BlinkPageUtil.convert2PageQuery(qry);
@@ -85,4 +107,38 @@ public class BlinkProviderServiceImpl extends ServiceImpl<BlinkProviderRepositor
         }
         return ResponseDTO.ok(providerVO);
     }
+
+    /**
+     * 获取服务商入库审核信息
+     *
+     * @param providerId
+     * @return
+     */
+    @Override
+    public ResponseDTO<BlinkProviderStorageDTO> supportsProviderAuditQuery(String providerId) {
+        BlinkProviderStorageDTO storageDTO = new BlinkProviderStorageDTO();
+        List<BlinkProviderProjectDTO> providerProjectDTOS = new ArrayList<>();
+        providerProjectDTOS.add(new BlinkProviderProjectDTO());
+        storageDTO.setHistoryProjectList(providerProjectDTOS);
+        storageDTO.setCurrentProjectList(providerProjectDTOS);
+        return ResponseDTO.ok(storageDTO);
+    }
+
+    @Override
+    public ResponseDTO<List<BlinkStorageMarginDTO>> supportsStorageMarginQuery(String providerId) {
+        BlinkStorageMarginDTO marginDTO = new BlinkStorageMarginDTO();
+        marginDTO.setProviderId("1");
+        marginDTO.setMarginName("入库保证金");
+        marginDTO.setSerialNumber("202506181740");
+        DecimalFormat df = new DecimalFormat("#,##0.00");
+        String result = df.format(5000.00);
+        marginDTO.setMarginAmount(result);
+        marginDTO.setInitiatedTime("2025.06.30");
+        marginDTO.setBusinessCommissioner("张经理");
+        marginDTO.setCreateTime(new DateTime("2025-06-13 18:34:49.986"));
+        List<BlinkStorageMarginDTO> marginDTOS = new ArrayList<>();
+        marginDTOS.add(marginDTO);
+        marginDTOS.add(marginDTO);
+        return ResponseDTO.ok(marginDTOS);
+    }
 }

+ 1 - 1
bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/repository/BlinkProviderRepository.java

@@ -23,7 +23,7 @@ public interface BlinkProviderRepository extends BaseMapper<BlinkProviderDO> {
      * @param id
      * @return
      */
-    BlinkProviderDO queryByProviderName(@Param("providerName") String providerName, @Param("id") Long id, @Param("deletedFlag") Boolean deletedFlag);
+    BlinkProviderDO queryByProviderName(@Param("providerName") String providerName, @Param("id") String id, @Param("deletedFlag") Boolean deletedFlag);
 
     /**
      * 服务商查询列表

+ 28 - 0
bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/service/IBlinkProviderService.java

@@ -1,11 +1,15 @@
 package com.wx.blink.backend.service;
 
+import com.wx.blink.backend.domain.dto.BlinkProviderStorageDTO;
+import com.wx.blink.backend.domain.dto.BlinkStorageMarginDTO;
 import com.wx.blink.backend.domain.qry.BlinkProviderQry;
 import com.wx.blink.base.common.domain.PageResult;
 import com.wx.blink.base.common.domain.ResponseDTO;
 import com.wx.blink.common.dto.BlinkProviderDTO;
 import com.wx.blink.common.vo.BlinkProviderCreateVO;
 
+import java.util.List;
+
 public interface IBlinkProviderService {
 
     /**
@@ -24,6 +28,30 @@ public interface IBlinkProviderService {
      */
     ResponseDTO<PageResult<BlinkProviderDTO>> supportsProviderQueryPage(BlinkProviderQry qry);
 
+    /**
+     * 获取服务商基本信息
+     *
+     * @param id
+     * @return
+     */
+    ResponseDTO<BlinkProviderDTO> supportsProviderQuery(String id);
+
+    /**
+     * 获取服务商入库审核信息
+     *
+     * @param providerId
+     * @return
+     */
+    ResponseDTO<BlinkProviderStorageDTO> supportsProviderAuditQuery(String providerId);
+
+    /**
+     * 获取服务商入库保证金信息
+     *
+     * @param providerId
+     * @return
+     */
+    ResponseDTO<List<BlinkStorageMarginDTO>> supportsStorageMarginQuery(String providerId);
+
 
     /**
      * 获取服务商信息

+ 30 - 14
bound-link-api/blink-backend/src/main/resources/mapper/BlinkProviderRepositoryMapper.xml

@@ -19,22 +19,38 @@
         from blink_provider
         where deleted_flag = '0'
         <if test="query.providerName != null and query.providerName !=''">
-            AND provider_name = #{query.providerName}
+            AND provider_name LIKE concat('%', #{query.providerName}, '%')
         </if>
         <if test="query.providerType != null and query.providerType !=''">
-            AND provider_type = #{query.providerType}
-        </if>
-        <if test="query.id != null">
-            AND id = #{query.id}
-        </if>
-        <choose>
-            <when test="query.status != null">
-                AND status = #{query.status}
-            </when>
-            <otherwise>
-                AND status NOT IN (3,4)
-            </otherwise>
-        </choose>
+            AND provider_type LIKE concat('%', #{query.providerType}, '%')
+        </if>
+        <if test="query.bizModel == 'AUDIT'">
+            AND audit_status IN (0,1)
+        </if>
+        <if test="query.bizModel == 'INTERVIEW'">
+            AND audit_status = 2
+            AND interview_status IN (0,1)
+        </if>
+        <if test="query.bizModel == 'REFERRAL'">
+            AND audit_status = 2
+            AND interview_status = 2
+            AND referral_status IN (0,1)
+        </if>
+        <if test="query.bizModel == 'STORE-1'">
+            AND audit_status = 2
+            OR store_status = 2
+            OR interview_status = 2
+            AND store_status = 1
+        </if>
+        <if test="query.bizModel == 'STORE-0'">
+            AND audit_status = 2
+            AND store_status = 2
+            AND interview_status = 2
+            AND store_status = 0
+        </if>
+        <if test="query.bizModel == 'OUT'">
+            AND out_status = 0
+        </if>
         order by create_time desc
     </select>
 

+ 24 - 1
bound-link-api/blink-common-dto/src/main/java/com/wx/blink/common/dto/BlinkProviderDTO.java

@@ -186,6 +186,29 @@ public class BlinkProviderDTO extends BaseEntity {
      * 入库状态 0已认证 1不合格
      */
     @Schema(description = "入库状态 0已认证 1不合格")
-    private String storeStatus;
+    private Integer storeStatus;
 
+    /**
+     * 审核状态 0待审核 1审核中 2 审核完毕
+     */
+    @Schema(description = "审核状态 0待审核 1审核中 2 审核完毕")
+    private Integer auditStatus;
+
+    /**
+     * 面试状态 0未面试 1面试中 2 面试完毕
+     */
+    @Schema(description = "面试状态 0未面试 1面试中 2 面试完毕")
+    private Integer interviewStatus;
+
+    /**
+     * 引荐状态 0未引荐 1引荐中 2 引荐完毕
+     */
+    @Schema(description = "引荐状态 0未引荐 1引荐中 2 引荐完毕")
+    private Integer referralStatus;
+
+    /**
+     * 退出状态 1已退出
+     */
+    @Schema(description = "退出状态 1已退出")
+    private Integer outStatus;
 }