|
|
@@ -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);
|
|
|
+ }
|
|
|
+}
|