Quellcode durchsuchen

feat: 新增服务商创建

zhaomuran vor 7 Monaten
Ursprung
Commit
8deef42964

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

@@ -0,0 +1,30 @@
+package com.cloud.sa.management.controller;
+
+import com.cloud.sa.base.common.domain.ResponseDTO;
+import com.cloud.sa.management.domain.dto.BlinkProviderDTO;
+import com.cloud.sa.management.service.BlinkProviderService;
+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 javax.annotation.Resource;
+import javax.validation.Valid;
+
+@RestController
+@Tag(name = "服务商管理")
+public class BlinkProviderController {
+
+
+    @Resource
+    private BlinkProviderService blinkProviderService;
+
+    @Operation(summary = "服务商创建")
+    @PostMapping("/supports/provider/create")
+    public ResponseDTO<String> providerCreate(@RequestBody @Valid BlinkProviderDTO providerDTO){
+        return blinkProviderService.providerCreate(providerDTO);
+    }
+
+
+}

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

@@ -0,0 +1,172 @@
+package com.cloud.sa.management.domain.dataobject;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.cloud.sa.base.common.domain.BaseEntity;
+import lombok.Data;
+
+@Data
+@TableName("blink_provider")
+public class BlinkProviderDO extends BaseEntity {
+    /**
+     * 主键
+     * */
+    @TableId(type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 服务商类型
+     * */
+    private String providerType;
+
+    /**
+     * 服务流水号
+     * */
+    private String serialNumber;
+
+    /**
+     * 服务商名称
+     * */
+    private String providerName;
+
+    /**
+     * 服务商ID
+     * */
+    private String providerId;
+
+    /**
+     * 统一社会代码
+     * */
+    private String uniformSocialCode;
+
+    /**
+     * 法人
+     * */
+    private String legalPerson;
+
+    /**
+     * 销售团队(数量)
+     * */
+    private Integer teamNumber;
+
+    /**
+     * 当前职务
+     * */
+    private String currentPosition;
+
+    /**
+     * 国家或地区
+     * */
+    private String countryRegion;
+
+    /**
+     * 省份
+     * */
+    private String province;
+
+    /**
+     * 省份名称
+     * */
+    private String provinceName;
+
+    /**
+     * 城市
+     * */
+    private String city;
+
+    /**
+     * 城市名称
+     * */
+    private String cityName;
+
+    /**
+     * 区县
+     * */
+    private String district;
+
+    /**
+     * 区县名称
+     * */
+    private String districtName;
+
+    /**
+     * 详细地址
+     * */
+    private String fullAddress;
+
+    /**
+     * 联系人
+     * */
+    private String contactPeople;
+
+    /**
+     * 注册时间
+     * */
+    private String enrollTime;
+
+    /**
+     * 注册资本
+     * */
+    private String enrollCapital;
+
+    /**
+     * 联系人电话
+     * */
+    private String contactPeoplePhone;
+
+    /**
+     * 公司简介
+     * */
+    private String companyProfile;
+
+    /**
+     * 经营范围
+     * */
+    private String businessScope;
+
+    /**
+     * 归属地区
+     * */
+    private String belongRegion;
+
+    /**
+     * 注册来源
+     * */
+    private String enrollSource;
+
+    /**
+     * 归属营销经理
+     * */
+    private String belongMarketingManger;
+
+    /**
+     * 营业执照
+     * */
+    private String license;
+
+    /**
+     * 身份证人像面
+     * */
+    private String idCardFront;
+
+    /**
+     * 身份证国徽面
+     * */
+    private String idCardBack;
+
+    /**
+     * 备注
+     * */
+    private String remark;
+
+    /**
+     * 附件
+     * */
+    private String attachment;
+
+    /**
+     * 状态(0-待审核、1-审核中、3未通过、4-通过)
+     * */
+    private String status;
+}

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

@@ -0,0 +1,184 @@
+package com.cloud.sa.management.domain.dto;
+
+import com.cloud.sa.base.common.json.deserializer.DictValueVoDeserializer;
+import com.cloud.sa.base.common.json.deserializer.FileKeyVoDeserializer;
+import com.cloud.sa.base.common.json.serializer.FileKeyVoSerializer;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import lombok.Data;
+
+@Data
+public class BlinkProviderDTO {
+
+    /**
+     * 主键
+     * */
+    private Integer id;
+
+    /**
+     * 服务商类型
+     * */
+    @JsonDeserialize(using = DictValueVoDeserializer.class)
+    private String providerType;
+
+    /**
+     * 服务流水号
+     * */
+    private String serialNumber;
+
+    /**
+     * 服务商名称
+     * */
+    private String providerName;
+
+    /**
+     * 服务商ID
+     * */
+    private String providerId;
+
+    /**
+     * 统一社会代码
+     * */
+    private String uniformSocialCode;
+
+    /**
+     * 法人
+     * */
+    private String legalPerson;
+
+    /**
+     * 销售团队(数量)
+     * */
+    private Integer teamNumber;
+
+    /**
+     * 当前职务
+     * */
+    private String currentPosition;
+
+    /**
+     * 国家或地区
+     * */
+    private String countryRegion;
+
+    /**
+     * 省份
+     * */
+    private String province;
+
+    /**
+     * 省份名称
+     * */
+    private String provinceName;
+
+    /**
+     * 城市
+     * */
+    private String city;
+
+    /**
+     * 城市名称
+     * */
+    private String cityName;
+
+    /**
+     * 区县
+     * */
+    private String district;
+
+    /**
+     * 区县名称
+     * */
+    private String districtName;
+
+    /**
+     * 详细地址
+     * */
+    private String fullAddress;
+
+    /**
+     * 联系人
+     * */
+    private String contactPeople;
+
+    /**
+     * 注册时间
+     * */
+    private String enrollTime;
+
+    /**
+     * 注册资本
+     * */
+    private String enrollCapital;
+
+    /**
+     * 联系人电话
+     * */
+    private String contactPeoplePhone;
+
+    /**
+     * 公司简介
+     * */
+    private String companyProfile;
+
+    /**
+     * 经营范围
+     * */
+    private String businessScope;
+
+    /**
+     * 归属地区
+     * */
+    @JsonDeserialize(using = DictValueVoDeserializer.class)
+    private String belongRegion;
+
+    /**
+     * 注册来源
+     * */
+    @JsonDeserialize(using = DictValueVoDeserializer.class)
+    private String enrollSource;
+
+    /**
+     * 归属营销经理
+     * */
+    private String belongMarketingManger;
+
+    /**
+     * 营业执照
+     * */
+    @JsonDeserialize(using = FileKeyVoDeserializer.class)
+    @JsonSerialize(using = FileKeyVoSerializer.class)
+    private String license;
+
+    /**
+     * 身份证人像面
+     * */
+    @JsonDeserialize(using = FileKeyVoDeserializer.class)
+    @JsonSerialize(using = FileKeyVoSerializer.class)
+    private String idCardFront;
+
+    /**
+     * 身份证国徽面
+     * */
+    @JsonDeserialize(using = FileKeyVoDeserializer.class)
+    @JsonSerialize(using = FileKeyVoSerializer.class)
+    private String idCardBack;
+
+    /**
+     * 备注
+     * */
+    private String remark;
+
+    /**
+     * 附件
+     * */
+    @JsonDeserialize(using = FileKeyVoDeserializer.class)
+    @JsonSerialize(using = FileKeyVoSerializer.class)
+    private String attachment;
+
+    /**
+     * 状态(0-待审核、1-审核中、3未通过、4-通过)
+     * */
+    private String status;
+
+}

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

@@ -0,0 +1,12 @@
+package com.cloud.sa.management.domain.qry;
+
+import lombok.Data;
+
+@Data
+public class BlinkProviderQry {
+
+    /**
+     * 服务商名称
+     * */
+    private String providerName;
+}

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

@@ -0,0 +1,58 @@
+package com.cloud.sa.management.manager;
+
+import com.cloud.sa.base.common.code.UserErrorCode;
+import com.cloud.sa.base.common.domain.ResponseDTO;
+import com.cloud.sa.base.common.util.BlinkEnumUtil;
+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.objectmapper.BlinkProviderMapper;
+import com.cloud.sa.management.repository.BlinkProviderRepository;
+import com.cloud.sa.management.service.BlinkProviderService;
+import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
+
+@Service
+public class BlinkProviderServiceImpl implements BlinkProviderService {
+
+    @Resource
+    private SerialNumberService serialNumberService;
+    @Resource
+    private BlinkProviderRepository blinkProviderRepository;
+
+
+    /**
+     * 服务商创建
+     *
+     * @param providerDTO
+     * @return
+     */
+    @Override
+    public ResponseDTO<String> providerCreate(BlinkProviderDTO providerDTO) {
+        // 验证客户服务商名称是否重复
+        BlinkProviderDTO blinkProviderDTO = blinkProviderRepository.selectProviderByProviderName(providerDTO.getProviderName());
+        if (blinkProviderDTO != null){
+            return ResponseDTO.error(UserErrorCode.PROVIDER_EXIST);
+        }
+
+        BlinkProviderDO blinkProviderDO = BlinkProviderMapper.INSTANCE.toBlinkProviderDO(providerDTO);
+        // 获取操作人
+//        RequestUser requestUser = BlinkRequestUtil.getRequestUser();
+//        blinkProviderDO.setOperator(requestUser.getUserName());
+        // 自动添加创建时间,创建人等
+//        BlinkEntityUtil.setCreateInfo(blinkProviderDO);
+        // 生成服务商流水号
+        SerialNumberIdEnum serialNumberIdEnum = BlinkEnumUtil.getEnumByValue(4, SerialNumberIdEnum.class);
+        String serialNumber = serialNumberService.generate(serialNumberIdEnum);
+        System.out.println(serialNumber);
+        // 设置流水号
+        blinkProviderDO.setSerialNumber(serialNumber);
+        // 设置服务商ID
+        blinkProviderDO.setProviderId("KH" + serialNumber);
+        // 执行创建操作
+        blinkProviderRepository.insert(blinkProviderDO);
+
+        return ResponseDTO.ok();
+    }
+}

+ 15 - 0
bound-link-api/blink-management/src/main/java/com/cloud/sa/management/objectmapper/BlinkProviderMapper.java

@@ -0,0 +1,15 @@
+package com.cloud.sa.management.objectmapper;
+
+import com.cloud.sa.management.domain.dataobject.BlinkProviderDO;
+import com.cloud.sa.management.domain.dto.BlinkProviderDTO;
+import org.mapstruct.Mapper;
+import org.mapstruct.factory.Mappers;
+
+@Mapper(componentModel = "spring")
+public interface BlinkProviderMapper {
+
+    BlinkProviderMapper INSTANCE = Mappers.getMapper(BlinkProviderMapper.class);
+
+    BlinkProviderDO toBlinkProviderDO(BlinkProviderDTO blinkProviderDTO);
+
+}

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

@@ -0,0 +1,23 @@
+package com.cloud.sa.management.repository;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.cloud.sa.management.domain.dataobject.BlinkProviderDO;
+import com.cloud.sa.management.domain.dto.BlinkProviderDTO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Component;
+
+@Mapper
+@Component
+public interface BlinkProviderRepository extends BaseMapper<BlinkProviderDO> {
+
+    /**
+     * 通过服务商名称查询单个服务商
+     *
+     * @param
+     * @param
+     * @return
+     */
+    BlinkProviderDTO selectProviderByProviderName(@Param("providerName") String providerName);
+
+}

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

@@ -0,0 +1,16 @@
+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);
+
+}

+ 11 - 0
bound-link-api/blink-management/src/main/resources/mapper/BlinkProviderRepositoryMapper.xml

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!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 *
+        from blink_provider
+        where deleted_flag = '0' and provider_name = #{providerName}
+    </select>
+
+</mapper>