Răsfoiți Sursa

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

zhaomuran 6 luni în urmă
părinte
comite
58f6949966

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

@@ -0,0 +1,96 @@
+package com.wx.blink.backend.manager;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+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 com.wx.blink.backend.objectmapper.BlinkCompetitorMapper;
+import com.wx.blink.backend.repository.BlinkCompetitorRepository;
+import com.wx.blink.backend.service.IBlinkCompetitorService;
+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;
+import com.wx.blink.base.module.support.serialnumber.service.SerialNumberService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.text.DecimalFormat;
+import java.util.List;
+import java.util.Objects;
+
+@Service
+public class BlinkCompetitorServiceImpl extends ServiceImpl<BlinkCompetitorRepository, BlinkCompetitorDO> implements IBlinkCompetitorService {
+
+    @Resource
+    private BlinkCompetitorRepository repository;
+    @Resource
+    private BlinkCompetitorMapper mapper;
+    @Resource
+    private SerialNumberService serialNumberService;
+
+    /**
+     * 新增竞争对手
+     *
+     * @param dto
+     * @return
+     */
+    @Override
+    public ResponseDTO<String> supportsCompetitorCreate(BlinkCompetitorDTO dto) {
+        // 验证竞争对手是否重复
+        BlinkCompetitorDO competitorDO = repository.queryByCompetitorName(dto.getCompetitorName(), null, Boolean.FALSE);
+        if (Objects.nonNull(competitorDO)) {
+            return ResponseDTO.dataErrorParam("竞争对手名称重复!请检查");
+        }
+        // 生成DO
+        BlinkCompetitorDO competitor = new BlinkCompetitorDO();
+        mapper.toBlinkCompetitorDO(dto, competitor);
+        //生成客户编码
+        SerialNumberIdEnum serialNumberIdEnum = BlinkEnumUtil.getEnumByValue(4, SerialNumberIdEnum.class);
+        competitor.setCompetitorId(serialNumberService.generate(serialNumberIdEnum));
+        // 设置注册资本
+        DecimalFormat df = new DecimalFormat("#,##0.00");
+        competitor.setRegisteredCapital(df.format(dto.getRegisteredCapitals()));
+        // 计算累计资质管理
+        // 创建人赋值
+        BlinkEntityUtil.setCreateInfo(competitor);
+        // 执行新增
+        this.save(competitor);
+        return ResponseDTO.ok();
+    }
+
+    /**
+     * 分页查询竞争对手列表
+     *
+     * @param qry
+     * @return
+     */
+    @Override
+    public ResponseDTO<PageResult<BlinkCompetitorDTO>> supportsCompetitorQueryPage(BlinkCompetitorQry qry) {
+        Page<?> page = BlinkPageUtil.convert2PageQuery(qry);
+        List<BlinkCompetitorDTO> competitorDTOS = repository.supportsCompetitorQueryPage(page, qry);
+        PageResult<BlinkCompetitorDTO> pageResult = BlinkPageUtil.convert2PageResult(page, competitorDTOS);
+        return ResponseDTO.ok(pageResult);
+    }
+
+    /**
+     * 获取竞争对手信息
+     *
+     * @param id
+     * @return
+     */
+    @Override
+    public ResponseDTO<BlinkCompetitorDTO> supportsCompetitorQuery(Long id) {
+        // 验证竞争对手是否存在
+        BlinkCompetitorDO competitorDO = repository.queryByCompetitorName(null, id, Boolean.FALSE);
+        if (!Objects.nonNull(competitorDO)) {
+            return ResponseDTO.userErrorParam("活动不存在!请检查");
+        }
+        BlinkCompetitorDTO dto = new BlinkCompetitorDTO();
+        mapper.toBlinkCompetitorDTO(competitorDO, dto);
+        return ResponseDTO.ok(dto);
+    }
+}

+ 28 - 0
bound-link-api/blink-backend/src/main/resources/mapper/BlinkCompetitorQualificationRepositoryMapper.xml

@@ -0,0 +1,28 @@
+<?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.wx.blink.backend.repository.BlinkCompetitorQualificationRepository">
+    <!--    查询单个企业资质-->
+    <select id="queryByQualificationName" resultType="com.wx.blink.backend.domain.dataobject.BlinkCompetitorQualificationDO">
+        select *
+        from blink_competitor_qualification
+        where deleted_flag = #{deletedFlag}
+        <if test="qualificationName != null and qualificationName != ''">
+            AND qualification_name = #{qualificationName}
+        </if>
+        <if test="id != null">
+            AND id = #{id}
+        </if>
+    </select>
+
+    <!--    分页查询企业资质列表-->
+    <select id="supportsCompetitorQualificationQueryPage" resultType="com.wx.blink.backend.domain.dto.BlinkCompetitorQualificationDTO">
+        select *
+        from blink_competitor_qualification
+        where deleted_flag = '0'
+        <if test="query.qualificationName != null and query.qualificationName != ''">
+            AND qualification_name LIKE concat('%', #{query.qualificationName}, '%')
+        </if>
+        order by create_time desc
+    </select>
+
+</mapper>

+ 31 - 0
bound-link-api/blink-backend/src/main/resources/mapper/BlinkCompetitorRepositoryMapper.xml

@@ -0,0 +1,31 @@
+<?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.wx.blink.backend.repository.BlinkCompetitorRepository">
+    <!--    查询单个竞争对手-->
+    <select id="queryByCompetitorName" resultType="com.wx.blink.backend.domain.dataobject.BlinkCompetitorDO">
+        select *
+        from blink_competitor
+        where deleted_flag = #{deletedFlag}
+        <if test="competitorName != null and competitorName != ''">
+            AND competitor_name = #{competitorName}
+        </if>
+        <if test="id != null">
+            AND id = #{id}
+        </if>
+    </select>
+
+    <!--    分页查询竞争对手列表-->
+    <select id="supportsCompetitorQueryPage" resultType="com.wx.blink.backend.domain.dto.BlinkCompetitorDTO">
+        select *
+        from blink_competitor
+        where deleted_flag = '0'
+        <if test="query.competitorName != null and query.competitorName != ''">
+            AND competitor_name LIKE concat('%', #{query.competitorName}, '%')
+        </if>
+        <if test="query.flatsType != null and query.flatsType != ''">
+            AND flats_type LIKE concat('%', #{query.flatsType}, '%')
+        </if>
+        order by create_time desc
+    </select>
+
+</mapper>