|
|
@@ -1,35 +1,19 @@
|
|
|
package com.wx.blink.backend.manager;
|
|
|
|
|
|
-import cn.hutool.core.collection.CollectionUtil;
|
|
|
-import cn.hutool.core.date.DateTime;
|
|
|
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
-import com.wx.blink.backend.domain.dataobject.BlinkProjectDO;
|
|
|
+import com.cloud.sa.flow.commom.domain.virentity.StInstanceEvent;
|
|
|
import com.wx.blink.backend.domain.dataobject.BlinkProviderDO;
|
|
|
-import com.wx.blink.backend.domain.dto.BlinkProviderProjectDTO;
|
|
|
-import com.wx.blink.backend.domain.dto.BlinkProviderStorageDTO;
|
|
|
-import com.wx.blink.backend.domain.dto.BlinkStorageMarginDTO;
|
|
|
-import com.wx.blink.backend.domain.qry.BlinkProviderQry;
|
|
|
import com.wx.blink.backend.objectmapper.BlinkProviderMapper;
|
|
|
import com.wx.blink.backend.repository.BlinkProviderRepository;
|
|
|
import com.wx.blink.backend.service.IBlinkProviderService;
|
|
|
-import com.wx.blink.base.common.domain.PageResult;
|
|
|
import com.wx.blink.base.common.domain.ResponseDTO;
|
|
|
-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 com.wx.blink.common.dto.BlinkProviderDTO;
|
|
|
-import com.wx.blink.common.vo.BlinkProjectCombineTeamVO;
|
|
|
-import com.wx.blink.common.vo.BlinkProjectVO;
|
|
|
-import com.wx.blink.common.vo.BlinkProviderCreateVO;
|
|
|
+import lombok.SneakyThrows;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
-import java.text.DecimalFormat;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Objects;
|
|
|
+import java.text.ParseException;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
|
|
|
@Service
|
|
|
public class BlinkProviderServiceImpl extends ServiceImpl<BlinkProviderRepository, BlinkProviderDO> implements IBlinkProviderService {
|
|
|
@@ -41,109 +25,110 @@ public class BlinkProviderServiceImpl extends ServiceImpl<BlinkProviderRepositor
|
|
|
@Resource
|
|
|
private BlinkProviderMapper mapper;
|
|
|
|
|
|
+
|
|
|
@Override
|
|
|
- public ResponseDTO<String> supportsProviderCreate(BlinkProviderCreateVO vo) {
|
|
|
- //如果是个人注册,使用联系人当做服务商名称
|
|
|
- if (vo.getProviderType().equals("01")) {
|
|
|
- vo.setProviderName(vo.getContactPeople());
|
|
|
- // 验证服务商名称+手机号是否重复
|
|
|
- BlinkProviderDO providerDO = repository.queryByProviderNameAndPhone(vo.getProviderName(), vo.getContactPhone(), null, Boolean.FALSE);
|
|
|
- if (Objects.nonNull(providerDO)) {
|
|
|
- return ResponseDTO.userErrorParam("服务商注册校验失败!请检查");
|
|
|
- }
|
|
|
- } else {
|
|
|
- // 验证服务商名称是否重复
|
|
|
- BlinkProviderDO providerDO = repository.queryByProviderName(vo.getProviderName(), null, Boolean.FALSE);
|
|
|
- if (Objects.nonNull(providerDO)) {
|
|
|
- return ResponseDTO.userErrorParam("服务商名称重复!请检查");
|
|
|
- }
|
|
|
+ public ResponseDTO<String> registerProvider(StInstanceEvent event) {
|
|
|
+
|
|
|
+
|
|
|
+ BlinkProviderDO provider = new BlinkProviderDO();
|
|
|
+ String providerType = event.getMainFormData().getOrDefault("provider_type", "01").toString();
|
|
|
+ provider.setProviderType(providerType);
|
|
|
+ String providerName = event.getMainFormData().getOrDefault("provider_name", "").toString();
|
|
|
+ String contactPeople = event.getMainFormData().getOrDefault("contact_people", "").toString();
|
|
|
+ if (providerType.equals("01")) {
|
|
|
+ provider.setProviderName(contactPeople);
|
|
|
}
|
|
|
- BlinkProviderDO entity = new BlinkProviderDO();
|
|
|
- mapper.ProviderCreateVoToDomain(vo, entity);
|
|
|
- // 生成服务商账号
|
|
|
- SerialNumberIdEnum serialNumberIdEnum = BlinkEnumUtil.getEnumByValue(4, SerialNumberIdEnum.class);
|
|
|
- String serialNumber = serialNumberService.generate(serialNumberIdEnum);
|
|
|
-// // 设置服务商账号
|
|
|
- entity.setProviderCode("KH" + serialNumber);
|
|
|
- entity.setCreateUserId("admin");
|
|
|
- entity.setCreateTime(DateTime.now());
|
|
|
- this.save(entity);
|
|
|
+ // 验重
|
|
|
+ Integer count = repository.countProviderByName(providerName);
|
|
|
+ if (count > 0) {
|
|
|
+ return ResponseDTO.userErrorParam(providerName + "已经存在,请检查!");
|
|
|
+ }
|
|
|
+ provider.setProviderName(providerName);
|
|
|
+ provider.setRegionType(event.getMainFormData().getOrDefault("region_type", "").toString());
|
|
|
+ provider.setCountryRegion(event.getMainFormData().getOrDefault("country_region", "").toString());
|
|
|
+ provider.setProvinceCityDistrict(event.getMainFormData().getOrDefault("province_city_district", "").toString());
|
|
|
+ provider.setAddress(event.getMainFormData().getOrDefault("address", "").toString());
|
|
|
+ provider.setSocialCode(event.getMainFormData().getOrDefault("social_code", "").toString());
|
|
|
+ provider.setLegalPerson(event.getMainFormData().getOrDefault("legal_person", "").toString());
|
|
|
+ provider.setTeamNumber(Long.valueOf(event.getMainFormData().getOrDefault("team_number", "0").toString()));
|
|
|
+ provider.setUrgentAudit(Integer.valueOf(event.getMainFormData().getOrDefault("urgent_audit", "0").toString()));
|
|
|
+ provider.setCompanyNature(event.getMainFormData().getOrDefault("company_nature", "").toString());
|
|
|
+ provider.setHandState(Integer.valueOf(event.getMainFormData().getOrDefault("hand_state", "0").toString()));
|
|
|
+ provider.setCompanyDescription(event.getMainFormData().getOrDefault("company_description", "").toString());
|
|
|
+ provider.setState(0);
|
|
|
+ this.baseMapper.insert(provider);
|
|
|
return ResponseDTO.ok();
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 获取服务商基本信息
|
|
|
- *
|
|
|
- * @param id
|
|
|
- * @return
|
|
|
- */
|
|
|
@Override
|
|
|
- public ResponseDTO<BlinkProviderDTO> supportsProviderQuery(String id) {
|
|
|
- // 验证服务商名称是否重复
|
|
|
- BlinkProviderDO providerDO = repository.queryByProviderName(null, id, Boolean.FALSE);
|
|
|
- if (!Objects.nonNull(providerDO)) {
|
|
|
- return ResponseDTO.userErrorParam("服务商不存在!请检查");
|
|
|
+ public ResponseDTO<String> updateAuditProvider(StInstanceEvent data) throws ParseException {
|
|
|
+ BlinkProviderDO aDo = this.baseMapper.selectById(data.getMainFormData().getOrDefault("provider_id", "").toString());
|
|
|
+ // todo 历史业绩插入子表
|
|
|
+ // todo 在手项目插入子表
|
|
|
+ aDo.setResourceSource(data.getMainFormData().getOrDefault("resource_source", "").toString());
|
|
|
+ aDo.setHasTeam(Integer.valueOf(data.getMainFormData().getOrDefault("has_team", "0").toString()));
|
|
|
+ aDo.setTeamSize(Long.valueOf(data.getMainFormData().getOrDefault("team_size", "0").toString()));
|
|
|
+ String reviewComments = data.getMainFormData().getOrDefault("review_comments", "0").toString();
|
|
|
+ if (reviewComments.equals("0")) {
|
|
|
+ aDo.setState(2);
|
|
|
+ } else {
|
|
|
+ aDo.setState(1);
|
|
|
}
|
|
|
- BlinkProviderDTO dto = new BlinkProviderDTO();
|
|
|
- mapper.toBlinkProviderDTO(providerDO, dto);
|
|
|
- return ResponseDTO.ok(dto);
|
|
|
- }
|
|
|
+ SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
|
|
|
- @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);
|
|
|
+ aDo.setReviewerDate(formatter.parse(data.getMainFormData().getOrDefault("review_date", "").toString()));
|
|
|
+ aDo.setReviewer(data.getMainFormData().getOrDefault("reviewer", "").toString());
|
|
|
+ aDo.setExpectedInterviewDate(formatter.parse(data.getMainFormData().getOrDefault("expected_interview_date", "").toString()));
|
|
|
+ aDo.setExpectedInterviewLocation(data.getMainFormData().getOrDefault("expected_interview_location", "").toString());
|
|
|
+ aDo.setExpectedInterviewer(data.getMainFormData().getOrDefault("expected_interviewer", "").toString());
|
|
|
+ this.baseMapper.updateById(aDo);
|
|
|
+ return ResponseDTO.ok();
|
|
|
}
|
|
|
|
|
|
+ @SneakyThrows
|
|
|
@Override
|
|
|
- public ResponseDTO<BlinkProviderDTO> supportsProviderSingleQuery(String id) {
|
|
|
- //定义返回
|
|
|
- BlinkProviderDTO providerVO = new BlinkProviderDTO();
|
|
|
- BlinkProviderDO providerDO = this.getById(id);
|
|
|
- if (Objects.nonNull(providerDO)) {
|
|
|
- mapper.domainToProviderVO(providerDO, providerVO);
|
|
|
+ public ResponseDTO<String> updateInterviewProvider(StInstanceEvent data) {
|
|
|
+ String providerId = data.getMainFormData().getOrDefault("provider_id", "").toString();
|
|
|
+ BlinkProviderDO aDo = this.baseMapper.selectById(providerId);
|
|
|
+ String evaluationOpinion = data.getMainFormData().getOrDefault("evaluation_opinion", "0").toString();
|
|
|
+ if (evaluationOpinion.equals("1"))
|
|
|
+ aDo.setState(4);
|
|
|
+ if (evaluationOpinion.equals("0"))
|
|
|
+ aDo.setState(3);
|
|
|
+ if (evaluationOpinion.equals("2"))
|
|
|
+ aDo.setState(5);
|
|
|
+ SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+ aDo.setEvaluationDate(formatter.parse(data.getMainFormData().getOrDefault("evaluation_date", "").toString()));
|
|
|
+ aDo.setProviderLevel(data.getMainFormData().getOrDefault("provider_level", "").toString());
|
|
|
+ aDo.setNeedsDepositAmount(Double.parseDouble(data.getMainFormData().getOrDefault("needs_to_deposit_security_deposit", "0").toString()));
|
|
|
+ aDo.setIsPaidDeposit(Integer.valueOf(data.getMainFormData().getOrDefault("has_security_deposit_been_paid", "0").toString()));
|
|
|
+ aDo.setDepositReipient(data.getMainFormData().getOrDefault("security_deposit_recipient", "").toString());
|
|
|
+ aDo.setDepositAccount(data.getMainFormData().getOrDefault("security_deposit_collection_account", "").toString());
|
|
|
+ if (evaluationOpinion.equals("2")) {
|
|
|
+ aDo.setExpectedReferralDate(formatter.parse(data.getMainFormData().getOrDefault("expected_referral_date", "").toString()));
|
|
|
+ aDo.setReferralCustomerName(data.getMainFormData().getOrDefault("referral_customer_name", "").toString());
|
|
|
+ aDo.setReferral(data.getMainFormData().getOrDefault("referral", "").toString());
|
|
|
+ aDo.setReferralPosition(data.getMainFormData().getOrDefault("referral_position", "").toString());
|
|
|
}
|
|
|
- return ResponseDTO.ok(providerVO);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 获取服务商入库审核信息
|
|
|
- *
|
|
|
- * @param providerId
|
|
|
- * @return
|
|
|
- */
|
|
|
- @Override
|
|
|
- public ResponseDTO<BlinkProviderStorageDTO> supportsProviderAuditQuery(String providerId) {
|
|
|
- BlinkProviderStorageDTO storageDTO = new BlinkProviderStorageDTO();
|
|
|
- List<BlinkProviderProjectDTO> providerProjectDTOS = new ArrayList<>();
|
|
|
- providerProjectDTOS.add(new BlinkProviderProjectDTO());
|
|
|
- storageDTO.setHistoryProjectList(providerProjectDTOS);
|
|
|
- storageDTO.setCurrentProjectList(providerProjectDTOS);
|
|
|
- return ResponseDTO.ok(storageDTO);
|
|
|
+ this.baseMapper.updateById(aDo);
|
|
|
+ return ResponseDTO.ok();
|
|
|
}
|
|
|
|
|
|
+ @SneakyThrows
|
|
|
@Override
|
|
|
- public ResponseDTO<PageResult<BlinkStorageMarginDTO>> supportsStorageMarginQueryPage(BlinkProviderQry qry) {
|
|
|
- BlinkStorageMarginDTO marginDTO = new BlinkStorageMarginDTO();
|
|
|
- marginDTO.setProviderId("1");
|
|
|
- marginDTO.setMarginName("入库保证金");
|
|
|
- marginDTO.setSerialNumber("202506181740");
|
|
|
- DecimalFormat df = new DecimalFormat("#,##0.00");
|
|
|
- String result = df.format(5000.00);
|
|
|
- marginDTO.setMarginAmount(result);
|
|
|
- marginDTO.setInitiatedTime("2025.06.30");
|
|
|
- marginDTO.setBusinessCommissioner("张经理");
|
|
|
- marginDTO.setCreateTime(new DateTime("2025-06-13 18:34:49.986"));
|
|
|
- List<BlinkStorageMarginDTO> marginDTOS = new ArrayList<>();
|
|
|
- marginDTOS.add(marginDTO);
|
|
|
- marginDTOS.add(marginDTO);
|
|
|
- marginDTOS.add(marginDTO);
|
|
|
- marginDTOS.add(marginDTO);
|
|
|
- marginDTOS.add(marginDTO);
|
|
|
- Page<?> page = BlinkPageUtil.convert2PageQuery(qry);
|
|
|
- PageResult<BlinkStorageMarginDTO> pageResult = BlinkPageUtil.convert2PageResult(page, marginDTOS);
|
|
|
- return ResponseDTO.ok(pageResult);
|
|
|
+ public ResponseDTO<String> updateReferrlaProvider(StInstanceEvent data) {
|
|
|
+ String providerId = data.getMainFormData().getOrDefault("provider_id", "").toString();
|
|
|
+ BlinkProviderDO aDo = this.baseMapper.selectById(providerId);
|
|
|
+ String evaluationOpinion = data.getMainFormData().getOrDefault("recommendation_evaluation_opinion", "").toString();
|
|
|
+ if (evaluationOpinion.equals("0"))
|
|
|
+ aDo.setState(6);
|
|
|
+ if (evaluationOpinion.equals("1"))
|
|
|
+ aDo.setState(7);
|
|
|
+ aDo.setProviderLevel(data.getMainFormData().getOrDefault("provider_level", "").toString());
|
|
|
+ SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+ aDo.setReferralDate(formatter.parse(data.getMainFormData().getOrDefault("referral_date", "").toString()));
|
|
|
+ aDo.setBelongsToMarketingManager(data.getMainFormData().getOrDefault("belongs_to_marketing_manager", "").toString());
|
|
|
+ this.updateById(aDo);
|
|
|
+ return ResponseDTO.ok();
|
|
|
}
|
|
|
}
|