Explorar o código

feat: 新增服务商创建,查询,修改审核/认证状态

zhaomuran hai 7 meses
pai
achega
d28740d51e

+ 19 - 7
bound-link-api/blink-management/src/main/java/com/cloud/sa/management/controller/BlinkProviderController.java

@@ -1,13 +1,13 @@
 package com.cloud.sa.management.controller;
 
+import com.cloud.sa.base.common.domain.PageResult;
 import com.cloud.sa.base.common.domain.ResponseDTO;
 import com.cloud.sa.management.domain.dto.BlinkProviderDTO;
-import com.cloud.sa.management.service.BlinkProviderService;
+import com.cloud.sa.management.domain.qry.BlinkProviderQry;
+import com.cloud.sa.management.service.IBlinkProviderService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import javax.validation.Valid;
@@ -18,12 +18,24 @@ public class BlinkProviderController {
 
 
     @Resource
-    private BlinkProviderService blinkProviderService;
+    private IBlinkProviderService providerService;
 
     @Operation(summary = "服务商创建")
     @PostMapping("/supports/provider/create")
-    public ResponseDTO<String> providerCreate(@RequestBody @Valid BlinkProviderDTO providerDTO){
-        return blinkProviderService.providerCreate(providerDTO);
+    public ResponseDTO<String> providerCreate(@RequestBody @Valid BlinkProviderDTO dto){
+        return providerService.supportsProviderCreate(dto);
+    }
+
+    @Operation(summary = "查询服务商列表")
+    @GetMapping("/supports/provider/queryPage")
+    public ResponseDTO<PageResult<BlinkProviderDTO>> supportsProviderQueryPage(BlinkProviderQry qry) {
+        return providerService.supportsProviderQueryPage(qry);
+    }
+
+    @Operation(summary = "修改服务商审核状态/认证状态")
+    @GetMapping("/supports/provider/updateStatus")
+    public ResponseDTO<String> supportsUpdateProviderStatus(BlinkProviderQry qry) {
+        return providerService.supportsUpdateProviderStatus(qry);
     }
 
 

+ 6 - 2
bound-link-api/blink-management/src/main/java/com/cloud/sa/management/domain/dataobject/BlinkProviderDO.java

@@ -166,7 +166,11 @@ public class BlinkProviderDO extends BaseEntity {
     private String attachment;
 
     /**
-     * 状态(0-待审核、1-审核中、3未通过、4-通过)
+     * 审核状态(0-待审核、1-审核中、3-不合格、4-通过)
      * */
-    private String status;
+    private Integer status;
+    /**
+     * 认证状态(true-已认证、false-未认证)
+     * */
+    private String authentication;
 }

+ 23 - 3
bound-link-api/blink-management/src/main/java/com/cloud/sa/management/domain/dto/BlinkProviderDTO.java

@@ -13,7 +13,7 @@ public class BlinkProviderDTO {
     /**
      * 主键
      * */
-    private Integer id;
+    private Long id;
 
     /**
      * 服务商类型
@@ -143,6 +143,16 @@ public class BlinkProviderDTO {
      * */
     private String belongMarketingManger;
 
+    /**
+     * 是否合作项目
+     * */
+    private String cooperateProject = "true";
+
+    /**
+     * 合作金额
+     * */
+    private String cooperateMoney = "100000000";
+
     /**
      * 营业执照
      * */
@@ -177,8 +187,18 @@ public class BlinkProviderDTO {
     private String attachment;
 
     /**
-     * 状态(0-待审核、1-审核中、3未通过、4-通过)
+     * 审核状态(0-待审核、1-审核中、3-不合格、4-通过)
+     * */
+    private Integer status;
+
+    /**
+     * 认证状态(true-已认证、false-未认证)
+     * */
+    private String authentication;
+
+    /**
+     * 创建时间
      * */
-    private String status;
+    private String createTime;
 
 }

+ 23 - 2
bound-link-api/blink-management/src/main/java/com/cloud/sa/management/domain/qry/BlinkProviderQry.java

@@ -1,12 +1,33 @@
 package com.cloud.sa.management.domain.qry;
 
+import com.cloud.sa.base.common.domain.PageParam;
 import lombok.Data;
 
 @Data
-public class BlinkProviderQry {
+public class BlinkProviderQry extends PageParam {
 
     /**
-     * 服务商名称
+     * id
+     */
+    private Long id;
+
+    /**
+     * 服务商名称 search
      * */
     private String providerName;
+
+    /**
+     * 服务商类型 search
+     */
+    private String providerType;
+
+    /**
+     *  审核状态(0-待审核、1-审核中、3-不合格、4-通过) qry
+     * */
+    private Integer status;
+
+    /**
+     *  认证状态(0-待审核、1-审核中、3-不合格、4-通过) qry
+     * */
+    private String authentication;
 }

+ 59 - 21
bound-link-api/blink-management/src/main/java/com/cloud/sa/management/manager/BlinkProviderServiceImpl.java

@@ -1,57 +1,95 @@
 package com.cloud.sa.management.manager;
 
-import com.cloud.sa.base.common.code.UserErrorCode;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.cloud.sa.base.common.domain.PageResult;
 import com.cloud.sa.base.common.domain.ResponseDTO;
 import com.cloud.sa.base.common.util.BlinkEnumUtil;
+import com.cloud.sa.base.common.util.BlinkPageUtil;
 import com.cloud.sa.base.module.support.serialnumber.constant.SerialNumberIdEnum;
 import com.cloud.sa.base.module.support.serialnumber.service.SerialNumberService;
 import com.cloud.sa.management.domain.dataobject.BlinkProviderDO;
 import com.cloud.sa.management.domain.dto.BlinkProviderDTO;
+import com.cloud.sa.management.domain.qry.BlinkProviderQry;
 import com.cloud.sa.management.objectmapper.BlinkProviderMapper;
 import com.cloud.sa.management.repository.BlinkProviderRepository;
-import com.cloud.sa.management.service.BlinkProviderService;
+import com.cloud.sa.management.service.IBlinkProviderService;
 import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.List;
+import java.util.Objects;
 
 @Service
-public class BlinkProviderServiceImpl implements BlinkProviderService {
+public class BlinkProviderServiceImpl extends ServiceImpl<BlinkProviderRepository, BlinkProviderDO> implements IBlinkProviderService {
 
     @Resource
     private SerialNumberService serialNumberService;
     @Resource
-    private BlinkProviderRepository blinkProviderRepository;
+    private BlinkProviderRepository repository;
 
 
     /**
      * 服务商创建
      *
-     * @param providerDTO
+     * @param dto
      * @return
      */
     @Override
-    public ResponseDTO<String> providerCreate(BlinkProviderDTO providerDTO) {
-        // 验证客户服务商名称是否重复
-        BlinkProviderDTO blinkProviderDTO = blinkProviderRepository.selectProviderByProviderName(providerDTO.getProviderName());
-        if (blinkProviderDTO != null){
-            return ResponseDTO.error(UserErrorCode.PROVIDER_EXIST);
+    public ResponseDTO<String> supportsProviderCreate(BlinkProviderDTO dto) {
+        // 验证服务商名称是否重复
+        BlinkProviderDO blinkProviderDO = repository.queryByProviderName(dto.getProviderName(), null, Boolean.FALSE);
+        if (Objects.nonNull(blinkProviderDO)){
+            return ResponseDTO.userErrorParam("服务商名称重复!请检查");
         }
-
-        BlinkProviderDO blinkProviderDO = BlinkProviderMapper.INSTANCE.toBlinkProviderDO(providerDTO);
-        // 获取操作人
-//        RequestUser requestUser = BlinkRequestUtil.getRequestUser();
-//        blinkProviderDO.setOperator(requestUser.getUserName());
-        // 自动添加创建时间,创建人等
-//        BlinkEntityUtil.setCreateInfo(blinkProviderDO);
+        BlinkProviderDO providerDO = BlinkProviderMapper.INSTANCE.toBlinkProviderDO(dto);
         // 生成服务商流水号
         SerialNumberIdEnum serialNumberIdEnum = BlinkEnumUtil.getEnumByValue(4, SerialNumberIdEnum.class);
         String serialNumber = serialNumberService.generate(serialNumberIdEnum);
-        System.out.println(serialNumber);
         // 设置流水号
-        blinkProviderDO.setSerialNumber(serialNumber);
+        providerDO.setSerialNumber(serialNumber);
         // 设置服务商ID
-        blinkProviderDO.setProviderId("KH" + serialNumber);
+        providerDO.setProviderId("KH" + serialNumber);
+        // 设置创建人
+
+        // 设置创建时间
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+        providerDO.setCreateTime(LocalDateTime.parse(dto.getCreateTime(), formatter));
         // 执行创建操作
-        blinkProviderRepository.insert(blinkProviderDO);
+        this.save(providerDO);
+        return ResponseDTO.ok();
+    }
+
+    /**
+     * 查询服务商列表
+     *
+     * @param
+     * @return
+     */
+    @Override
+    public ResponseDTO<PageResult<BlinkProviderDTO>> supportsProviderQueryPage(BlinkProviderQry qry) {
+        Page<?> page = BlinkPageUtil.convert2PageQuery(qry);
+        List<BlinkProviderDTO> list = repository.supportsProviderQueryPage(page, qry);
+        PageResult<BlinkProviderDTO> pageResult = BlinkPageUtil.convert2PageResult(page, list);
+        return ResponseDTO.ok(pageResult);
+    }
+
+    /**
+     * 修改服务商审核状态/认证状态
+     *
+     * @param qry
+     * @return
+     */
+    @Override
+    public ResponseDTO<String> supportsUpdateProviderStatus(BlinkProviderQry qry) {
+        // 验证服务商名是否存在
+        BlinkProviderDO blinkProviderDO = repository.queryByProviderName(null, qry.getId(), Boolean.FALSE);
+        if (Objects.nonNull(blinkProviderDO)){
+            return ResponseDTO.userErrorParam("服务商不存在!请检查");
+        }
+        // 修改服务商审核状态/认证状态
+        repository.supportsUpdateProviderStatus(qry);
 
         return ResponseDTO.ok();
     }

+ 26 - 4
bound-link-api/blink-management/src/main/java/com/cloud/sa/management/repository/BlinkProviderRepository.java

@@ -1,23 +1,45 @@
 package com.cloud.sa.management.repository;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.cloud.sa.management.domain.dataobject.BlinkProviderDO;
 import com.cloud.sa.management.domain.dto.BlinkProviderDTO;
+import com.cloud.sa.management.domain.qry.BlinkProviderQry;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Component;
 
+import java.util.List;
+
 @Mapper
 @Component
 public interface BlinkProviderRepository extends BaseMapper<BlinkProviderDO> {
 
     /**
-     * 通过服务商名称查询单个服务商
+     * 验证服务商是否重复
+     *
+     * @param providerName
+     * @param deletedFlag
+     * @param id
+     * @return
+     */
+    BlinkProviderDO queryByProviderName(@Param("providerName") String providerName, @Param("id") Long id, @Param("deletedFlag") Boolean deletedFlag);
+
+    /**
+     * 服务商查询列表
+     *
+     * @param page
+     * @param qry
+     * @return
+     */
+    List<BlinkProviderDTO> supportsProviderQueryPage(Page<?> page, @Param("query") BlinkProviderQry qry);
+
+    /**
+     * 修改服务商审核状态/认证状态
      *
-     * @param
-     * @param
+     * @param qry
      * @return
      */
-    BlinkProviderDTO selectProviderByProviderName(@Param("providerName") String providerName);
+    void supportsUpdateProviderStatus(@Param("query") BlinkProviderQry qry);
 
 }

+ 0 - 16
bound-link-api/blink-management/src/main/java/com/cloud/sa/management/service/BlinkProviderService.java

@@ -1,16 +0,0 @@
-package com.cloud.sa.management.service;
-
-import com.cloud.sa.base.common.domain.ResponseDTO;
-import com.cloud.sa.management.domain.dto.BlinkProviderDTO;
-
-public interface BlinkProviderService {
-
-    /**
-     * 服务商创建
-     *
-     * @param providerDTO
-     * @return
-     */
-    ResponseDTO<String> providerCreate(BlinkProviderDTO providerDTO);
-
-}

+ 34 - 0
bound-link-api/blink-management/src/main/java/com/cloud/sa/management/service/IBlinkProviderService.java

@@ -0,0 +1,34 @@
+package com.cloud.sa.management.service;
+
+import com.cloud.sa.base.common.domain.PageResult;
+import com.cloud.sa.base.common.domain.ResponseDTO;
+import com.cloud.sa.management.domain.dto.BlinkProviderDTO;
+import com.cloud.sa.management.domain.qry.BlinkProviderQry;
+
+public interface IBlinkProviderService {
+
+    /**
+     * 服务商创建
+     *
+     * @param dto
+     * @return
+     */
+    ResponseDTO<String> supportsProviderCreate(BlinkProviderDTO dto);
+
+    /**
+     * 查询服务商列表
+     *
+     * @param qry
+     * @return
+     */
+    ResponseDTO<PageResult<BlinkProviderDTO>> supportsProviderQueryPage(BlinkProviderQry qry);
+
+    /**
+     * 修改服务商审核状态/认证状态
+     *
+     * @param qry
+     * @return
+     */
+    ResponseDTO<String> supportsUpdateProviderStatus(BlinkProviderQry qry);
+
+}

+ 51 - 2
bound-link-api/blink-management/src/main/resources/mapper/BlinkProviderRepositoryMapper.xml

@@ -2,10 +2,59 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.cloud.sa.management.repository.BlinkProviderRepository">
 <!--    通过服务商名称查询单个服务商-->
-    <select id="selectProviderByProviderName" resultType="com.cloud.sa.management.domain.dto.BlinkProviderDTO">
+    <select id="queryByProviderName" resultType="com.cloud.sa.management.domain.dataobject.BlinkProviderDO">
         select *
         from blink_provider
-        where deleted_flag = '0' and provider_name = #{providerName}
+        where deleted_flag = #{deletedFlag}
+        <if test="providerName != null and providerName != ''">
+            AND provider_name = #{providerName}
+        </if>
+        <if test="id != null">
+            AND id = #{id}
+        </if>
     </select>
+    <!--    查询服务商列表-->
+    <select id="supportsProviderQueryPage" resultType="com.cloud.sa.management.domain.dto.BlinkProviderDTO">
+        select *
+        from blink_provider
+        where deleted_flag = '0'
+        <if test="query.providerName != null and query.providerName !=''">
+            AND provider_name = #{query.providerName}
+        </if>
+        <if test="query.providerType != null and query.providerType !=''">
+            AND provider_type = #{query.providerType}
+        </if>
+        <if test="query.authentication != null and query.authentication !=''">
+            AND authentication = #{query.authentication}
+        </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 != 3
+            </otherwise>
+        </choose>
+        order by create_time desc
+    </select>
+<!--    修改服务商审核状态/认证状态-->
+    <update id="supportsUpdateProviderStatus">
+        UPDATE blink_provider
+        SET
+        <choose>
+            <when test="query.status != null">
+                status = #{query.status}
+            </when>
+            <otherwise>
+                authentication = 'true'
+            </otherwise>
+        </choose>
+        WHERE id = #{query.id}
+          AND deleted_flag = 0
+    </update>
+
 
 </mapper>