Sfoglia il codice sorgente

feat: 竞争管理竞争对手新增、列表查询、查看详情,竞争对手中企业资质新增

zhaomuran 4 mesi fa
parent
commit
f25cf09332
15 ha cambiato i file con 668 aggiunte e 0 eliminazioni
  1. 44 0
      bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/controller/BlinkCompetitorController.java
  2. 30 0
      bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/controller/BlinkCompetitorQualificationController.java
  3. 129 0
      bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/domain/dataobject/BlinkCompetitorDO.java
  4. 34 0
      bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/domain/dataobject/BlinkCompetitorQualificationDO.java
  5. 143 0
      bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/domain/dto/BlinkCompetitorDTO.java
  6. 29 0
      bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/domain/dto/BlinkCompetitorQualificationDTO.java
  7. 22 0
      bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/domain/qry/BlinkCompetitorQry.java
  8. 14 0
      bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/domain/qry/BlinkCompetitorQualificationQry.java
  9. 46 0
      bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/manager/BlinkCompetitorQualificationServiceImpl.java
  10. 28 0
      bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/objectmapper/BlinkCompetitorMapper.java
  11. 28 0
      bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/objectmapper/BlinkCompetitorQualificationMapper.java
  12. 36 0
      bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/repository/BlinkCompetitorQualificationRepository.java
  13. 37 0
      bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/repository/BlinkCompetitorRepository.java
  14. 15 0
      bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/service/IBlinkCompetitorQualificationService.java
  15. 33 0
      bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/service/IBlinkCompetitorService.java

+ 44 - 0
bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/controller/BlinkCompetitorController.java

@@ -0,0 +1,44 @@
+package com.wx.blink.backend.controller;
+
+import com.wx.blink.backend.domain.dto.BlinkCompetitorDTO;
+import com.wx.blink.backend.domain.qry.BlinkCompetitorQry;
+import com.wx.blink.backend.service.IBlinkCompetitorService;
+import com.wx.blink.base.common.annoation.NoNeedLogin;
+import com.wx.blink.base.common.domain.PageResult;
+import com.wx.blink.base.common.domain.ResponseDTO;
+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;
+
+@RestController
+@Tag(name = "竞争管理")
+public class BlinkCompetitorController {
+
+    @Resource
+    private IBlinkCompetitorService competitorService;
+
+    @Operation(summary = "新增竞争对手")
+    @PostMapping("/supports/competitor/create")
+    @NoNeedLogin
+    public ResponseDTO<String> supportsCompetitorCreate(@RequestBody @Valid BlinkCompetitorDTO dto) {
+        return competitorService.supportsCompetitorCreate(dto);
+    }
+
+    @Operation(summary = "分页查询竞争对手列表")
+    @PostMapping("/supports/competitor/queryPage")
+    @NoNeedLogin
+    public ResponseDTO<PageResult<BlinkCompetitorDTO>> supportsCompetitorQueryPage(@RequestBody @Valid BlinkCompetitorQry qry) {
+        return competitorService.supportsCompetitorQueryPage(qry);
+    }
+
+    @Operation(summary = "获取竞争对手信息")
+    @GetMapping("/supports/competitor/query/{id}")
+    @NoNeedLogin
+    public ResponseDTO<BlinkCompetitorDTO> supportsActivityQuery(@PathVariable("id") Long id) {
+        return competitorService.supportsCompetitorQuery(id);
+    }
+
+}

+ 30 - 0
bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/controller/BlinkCompetitorQualificationController.java

@@ -0,0 +1,30 @@
+package com.wx.blink.backend.controller;
+
+import com.wx.blink.backend.domain.dto.BlinkCompetitorQualificationDTO;
+import com.wx.blink.backend.service.IBlinkCompetitorQualificationService;
+import com.wx.blink.base.common.annoation.NoNeedLogin;
+import com.wx.blink.base.common.domain.ResponseDTO;
+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 BlinkCompetitorQualificationController {
+
+    @Resource
+    private IBlinkCompetitorQualificationService competitorQualificationService;
+
+    @Operation(summary = "新增企业资质")
+    @PostMapping("/supports/competitor/qualification/create")
+    @NoNeedLogin
+    public ResponseDTO<String> supportsCompetitorQualificationCreate(@RequestBody @Valid BlinkCompetitorQualificationDTO dto) {
+        return competitorQualificationService.supportsCompetitorQualificationCreate(dto);
+    }
+
+}

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

@@ -0,0 +1,129 @@
+package com.wx.blink.backend.domain.dataobject;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.wx.blink.base.common.domain.BaseEntity;
+import lombok.Data;
+
+@Data
+@TableName("blink_competitor")
+public class BlinkCompetitorDO extends BaseEntity {
+
+    /**
+     * id
+     */
+    @TableId(type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 竞争对手名称
+     */
+    private String competitorName;
+
+    /**
+     * 曾用名
+     */
+    private String formerName;
+
+    /**
+     * 竞争对手ID
+     */
+    private String competitorId;
+
+    /**
+     * 属性
+     */
+    private String attribute;
+
+    /**
+     * 注册资本(元)
+     */
+    private String registeredCapital;
+
+    /**
+     * 注册日期
+     */
+    private String registeredTime;
+
+    /**
+     * 注册地址
+     */
+    private String registeredAddress;
+
+    /**
+     * 单位类型
+     */
+    private String flatsType;
+
+    /**
+     * 已登记参标数量
+     */
+    private Integer biddingNumber;
+
+    /**
+     * 已登记中标数量
+     */
+    private Integer winningNumber;
+
+    /**
+     * 国家或地区
+     */
+    private String countryRegion;
+
+    /**
+     * 省份
+     */
+    private String province;
+
+    /**
+     * 省份名称
+     */
+    private String provinceName;
+
+    /**
+     * 城市
+     */
+    private String city;
+
+    /**
+     * 城市名称
+     */
+    private String cityName;
+
+    /**
+     * 区县
+     */
+    private String district;
+
+    /**
+     * 区县名称
+     */
+    private String districtName;
+
+    /**
+     * 详细地址
+     */
+    private String address;
+
+    /**
+     * 员工人数
+     */
+    private Integer employeeNumber;
+
+    /**
+     * 优势说明
+     */
+    private String advantageDescription;
+
+    /**
+     * 劣势说明
+     */
+    private String disadvantageDescription;
+
+    /**
+     * 附件集合
+     */
+    private String attachment;
+
+}

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

@@ -0,0 +1,34 @@
+package com.wx.blink.backend.domain.dataobject;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.wx.blink.base.common.domain.BaseEntity;
+import lombok.Data;
+
+@Data
+@TableName("blink_competitor_qualification")
+public class BlinkCompetitorQualificationDO extends BaseEntity {
+
+    /**
+     * id
+     */
+    @TableId(type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 资质名称
+     */
+    private String qualificationName;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 竞争对手ID
+     */
+    private Integer competitorId;
+
+}

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

@@ -0,0 +1,143 @@
+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.annoation.DataAdaptorMapping;
+import com.wx.blink.base.common.domain.BaseEntity;
+import com.wx.blink.base.common.json.deserializer.DictValueVoDeserializer;
+import com.wx.blink.base.common.json.deserializer.FileKeyVoDeserializer;
+import com.wx.blink.base.common.json.serializer.FileKeyVoSerializer;
+import lombok.Data;
+import java.math.BigDecimal;
+
+@Data
+public class BlinkCompetitorDTO extends BaseEntity {
+
+    /**
+     * id
+     */
+    private Long id;
+
+    /**
+     * 竞争对手名称
+     */
+    private String competitorName;
+
+    /**
+     * 曾用名
+     */
+    private String formerName;
+
+    /**
+     * 竞争对手ID
+     */
+    private String competitorId;
+
+    /**
+     * 属性
+     */
+    @JsonDeserialize(using = DictValueVoDeserializer.class)
+    @DataAdaptorMapping(type = "dict", value = "BLINK_EXPO_TYPE")
+    private String attribute;
+
+    /**
+     * 注册资本(元)
+     */
+    private String registeredCapital;
+    private BigDecimal registeredCapitals;
+
+    /**
+     * 注册日期
+     */
+    private String registeredTime;
+
+    /**
+     * 注册地址
+     */
+    private String registeredAddress;
+
+    /**
+     * 单位类型
+     */
+    @JsonDeserialize(using = DictValueVoDeserializer.class)
+    @DataAdaptorMapping(type = "dict", value = "BLINK_EXPO_TYPE")
+    private String flatsType;
+
+    /**
+     * 已登记参标数量
+     */
+    private Integer biddingNumber;
+
+    /**
+     * 已登记中标数量
+     */
+    private Integer winningNumber;
+
+    /**
+     * 累计资质管理
+     */
+    private String qualificationManage;
+
+    /**
+     * 国家或地区
+     */
+    private String countryRegion;
+
+    /**
+     * 省份
+     */
+    private String province;
+
+    /**
+     * 省份名称
+     */
+    private String provinceName;
+
+    /**
+     * 城市
+     */
+    private String city;
+
+    /**
+     * 城市名称
+     */
+    private String cityName;
+
+    /**
+     * 区县
+     */
+    private String district;
+
+    /**
+     * 区县名称
+     */
+    private String districtName;
+
+    /**
+     * 详细地址
+     */
+    private String address;
+
+    /**
+     * 员工人数
+     */
+    private Integer employeeNumber;
+
+    /**
+     * 优势说明
+     */
+    private String advantageDescription;
+
+    /**
+     * 劣势说明
+     */
+    private String disadvantageDescription;
+
+    /**
+     * 附件集合
+     */
+    @JsonDeserialize(using = FileKeyVoDeserializer.class)
+    @JsonSerialize(using = FileKeyVoSerializer.class)
+    private String attachment;
+
+}

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

@@ -0,0 +1,29 @@
+package com.wx.blink.backend.domain.dto;
+
+import com.wx.blink.base.common.domain.BaseEntity;
+import lombok.Data;
+
+@Data
+public class BlinkCompetitorQualificationDTO extends BaseEntity {
+
+    /**
+     * id
+     */
+    private Long id;
+
+    /**
+     * 资质名称
+     */
+    private String qualificationName;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 竞争对手ID
+     */
+    private Integer competitorId;
+
+}

+ 22 - 0
bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/domain/qry/BlinkCompetitorQry.java

@@ -0,0 +1,22 @@
+package com.wx.blink.backend.domain.qry;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.wx.blink.base.common.domain.PageParam;
+import com.wx.blink.base.common.json.deserializer.DictValueVoDeserializer;
+import lombok.Data;
+
+@Data
+public class BlinkCompetitorQry extends PageParam {
+
+    /**
+     * 竞争对手名称
+     */
+    private String competitorName;
+
+    /**
+     * 单位类型
+     */
+    @JsonDeserialize(using = DictValueVoDeserializer.class)
+    private String flatsType;
+
+}

+ 14 - 0
bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/domain/qry/BlinkCompetitorQualificationQry.java

@@ -0,0 +1,14 @@
+package com.wx.blink.backend.domain.qry;
+
+import com.wx.blink.base.common.domain.PageParam;
+import lombok.Data;
+
+@Data
+public class BlinkCompetitorQualificationQry extends PageParam {
+
+    /**
+     * 竞争对手ID
+     */
+    private String competitorId;
+
+}

+ 46 - 0
bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/manager/BlinkCompetitorQualificationServiceImpl.java

@@ -0,0 +1,46 @@
+package com.wx.blink.backend.manager;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.wx.blink.backend.domain.dataobject.BlinkCompetitorQualificationDO;
+import com.wx.blink.backend.domain.dto.BlinkCompetitorQualificationDTO;
+import com.wx.blink.backend.objectmapper.BlinkCompetitorQualificationMapper;
+import com.wx.blink.backend.repository.BlinkCompetitorQualificationRepository;
+import com.wx.blink.backend.service.IBlinkCompetitorQualificationService;
+import com.wx.blink.base.common.domain.ResponseDTO;
+import com.wx.blink.base.common.util.BlinkEntityUtil;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.Objects;
+
+@Service
+public class BlinkCompetitorQualificationServiceImpl extends ServiceImpl<BlinkCompetitorQualificationRepository, BlinkCompetitorQualificationDO> implements IBlinkCompetitorQualificationService {
+
+    @Resource
+    private BlinkCompetitorQualificationRepository repository;
+    @Resource
+    private BlinkCompetitorQualificationMapper mapper;
+
+    /**
+     * 新增企业资质
+     *
+     * @param dto
+     * @return
+     */
+    @Override
+    public ResponseDTO<String> supportsCompetitorQualificationCreate(BlinkCompetitorQualificationDTO dto) {
+        // 验证企业资质是否重复
+        BlinkCompetitorQualificationDO qualificationDO = repository.queryByQualificationName(dto.getQualificationName(), null, Boolean.FALSE);
+        if (Objects.nonNull(qualificationDO)) {
+            return ResponseDTO.dataErrorParam("资质名称重复!请检查");
+        }
+        // 生成DO
+        BlinkCompetitorQualificationDO competitorQualification = new BlinkCompetitorQualificationDO();
+        mapper.toBlinkCompetitorQualificationDO(dto, competitorQualification);
+        // 创建人赋值
+        BlinkEntityUtil.setCreateInfo(competitorQualification);
+        // 执行新增
+        this.save(competitorQualification);
+        return ResponseDTO.ok();
+    }
+}

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

@@ -0,0 +1,28 @@
+package com.wx.blink.backend.objectmapper;
+
+import com.wx.blink.backend.domain.dataobject.BlinkCompetitorDO;
+import com.wx.blink.backend.domain.dto.BlinkCompetitorDTO;
+import com.wx.blink.base.common.util.BlinkStringUtil;
+import org.mapstruct.Mapper;
+import org.mapstruct.MappingTarget;
+
+@Mapper(componentModel = "spring", imports = {BlinkStringUtil.class})
+public interface BlinkCompetitorMapper {
+
+    /**
+     * 竞争对手主数据dto转do
+     *
+     * @param dto
+     * @return
+     */
+    void toBlinkCompetitorDO(BlinkCompetitorDTO dto, @MappingTarget BlinkCompetitorDO competitorDO);
+
+    /**
+     * 竞争对手主数据do转dto
+     *
+     * @param dto
+     * @return
+     */
+    void toBlinkCompetitorDTO(BlinkCompetitorDO competitorDO, @MappingTarget BlinkCompetitorDTO dto);
+
+}

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

@@ -0,0 +1,28 @@
+package com.wx.blink.backend.objectmapper;
+
+import com.wx.blink.backend.domain.dataobject.BlinkCompetitorQualificationDO;
+import com.wx.blink.backend.domain.dto.BlinkCompetitorQualificationDTO;
+import com.wx.blink.base.common.util.BlinkStringUtil;
+import org.mapstruct.Mapper;
+import org.mapstruct.MappingTarget;
+
+@Mapper(componentModel = "spring", imports = {BlinkStringUtil.class})
+public interface BlinkCompetitorQualificationMapper {
+
+    /**
+     * 竞争对手-企业资质主数据dto转do
+     *
+     * @param dto
+     * @return
+     */
+    void toBlinkCompetitorQualificationDO(BlinkCompetitorQualificationDTO dto, @MappingTarget BlinkCompetitorQualificationDO competitorDO);
+
+    /**
+     * 竞争对手-企业资质主数据do转dto
+     *
+     * @param dto
+     * @return
+     */
+    void toBlinkCompetitorQualificationDTO(BlinkCompetitorQualificationDO competitorDO, @MappingTarget BlinkCompetitorQualificationDTO dto);
+
+}

+ 36 - 0
bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/repository/BlinkCompetitorQualificationRepository.java

@@ -0,0 +1,36 @@
+package com.wx.blink.backend.repository;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.wx.blink.backend.domain.dataobject.BlinkCompetitorQualificationDO;
+import com.wx.blink.backend.domain.dto.BlinkCompetitorQualificationDTO;
+import com.wx.blink.backend.domain.qry.BlinkCompetitorQualificationQry;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+@Mapper
+public interface BlinkCompetitorQualificationRepository extends BaseMapper<BlinkCompetitorQualificationDO> {
+
+    /**
+     * 验证企业资质名称是否重复
+     *
+     * @param qualificationName
+     * @param id
+     * @param deletedFlag
+     * @return
+     */
+    BlinkCompetitorQualificationDO queryByQualificationName(@Param("qualificationName") String qualificationName, @Param("id") Long id, @Param("deletedFlag") Boolean deletedFlag);
+
+
+    /**
+     * 分页查询企业资质列表
+     *
+     * @param page
+     * @param qry
+     * @return
+     */
+    List<BlinkCompetitorQualificationDTO> supportsQualificationQueryPage(Page<?> page, @Param("query") BlinkCompetitorQualificationQry qry);
+
+}

+ 37 - 0
bound-link-api/blink-backend/src/main/java/com/wx/blink/backend/repository/BlinkCompetitorRepository.java

@@ -0,0 +1,37 @@
+package com.wx.blink.backend.repository;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.wx.blink.backend.domain.dataobject.BlinkCompetitorDO;
+import com.wx.blink.backend.domain.dto.BlinkCompetitorDTO;
+import com.wx.blink.backend.domain.qry.BlinkCompetitorQry;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+@Mapper
+public interface BlinkCompetitorRepository extends BaseMapper<BlinkCompetitorDO> {
+
+    /**
+     * 验证竞争对手名称是否重复
+     *
+     * @param competitorName
+     * @param id
+     * @param deletedFlag
+     * @return
+     */
+    BlinkCompetitorDO queryByCompetitorName(@Param("competitorName") String competitorName, @Param("id") Long id, @Param("deletedFlag") Boolean deletedFlag);
+
+
+    /**
+     * 分页查询竞争对手列表
+     *
+     * @param page
+     * @param qry
+     * @return
+     */
+    List<BlinkCompetitorDTO> supportsCompetitorQueryPage(Page<?> page, @Param("query") BlinkCompetitorQry qry);
+
+
+}

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

@@ -0,0 +1,15 @@
+package com.wx.blink.backend.service;
+
+import com.wx.blink.backend.domain.dto.BlinkCompetitorQualificationDTO;
+import com.wx.blink.base.common.domain.ResponseDTO;
+
+public interface IBlinkCompetitorQualificationService {
+
+    /**
+     * 新增企业资质
+     *
+     * @param dto
+     * @return
+     */
+    ResponseDTO<String> supportsCompetitorQualificationCreate(BlinkCompetitorQualificationDTO dto);
+}

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

@@ -0,0 +1,33 @@
+package com.wx.blink.backend.service;
+
+import com.wx.blink.backend.domain.dto.BlinkCompetitorDTO;
+import com.wx.blink.backend.domain.qry.BlinkCompetitorQry;
+import com.wx.blink.base.common.domain.PageResult;
+import com.wx.blink.base.common.domain.ResponseDTO;
+
+public interface IBlinkCompetitorService {
+
+    /**
+     * 新增竞争对手
+     *
+     * @param dto
+     * @return
+     */
+    ResponseDTO<String> supportsCompetitorCreate(BlinkCompetitorDTO dto);
+
+    /**
+     * 分页查询竞争对手列表
+     *
+     * @param qry
+     * @return
+     */
+    ResponseDTO<PageResult<BlinkCompetitorDTO>> supportsCompetitorQueryPage(BlinkCompetitorQry qry);
+
+    /**
+     * 获取竞争对手信息
+     *
+     * @param id
+     * @return
+     */
+    ResponseDTO<BlinkCompetitorDTO> supportsCompetitorQuery(Long id);
+}