From 6a8bcc5d6dcf0fcd98458e87122a64ddd7dfae9a Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期四, 11 七月 2024 18:23:54 +0800 Subject: [PATCH] 代码提交 --- server/service/src/main/java/com/doumee/service/business/impl/CustomerServiceImpl.java | 202 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 200 insertions(+), 2 deletions(-) diff --git a/server/service/src/main/java/com/doumee/service/business/impl/CustomerServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/CustomerServiceImpl.java index fd74554..2e84db3 100644 --- a/server/service/src/main/java/com/doumee/service/business/impl/CustomerServiceImpl.java +++ b/server/service/src/main/java/com/doumee/service/business/impl/CustomerServiceImpl.java @@ -1,20 +1,38 @@ package com.doumee.service.business.impl; +import com.alibaba.druid.sql.visitor.functions.Concat; +import com.doumee.core.constants.ResponseStatus; +import com.doumee.core.exception.BusinessException; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; +import com.doumee.core.utils.Constants; import com.doumee.core.utils.Utils; +import com.doumee.dao.business.CustomerLogMapper; import com.doumee.dao.business.CustomerMapper; +import com.doumee.dao.business.MemberMapper; import com.doumee.dao.business.model.Customer; +import com.doumee.dao.business.model.CustomerLog; +import com.doumee.dao.business.model.Member; +import com.doumee.dao.web.reqeust.FreeCustomizationDTO; +import com.doumee.dao.web.reqeust.RenovationCalculatorDTO; +import com.doumee.dao.web.reqeust.TestTrimStyleDTO; +import com.doumee.service.business.CustomerLogService; import com.doumee.service.business.CustomerService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.checkerframework.checker.units.qual.A; +import org.checkerframework.checker.units.qual.C; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; +import org.springframework.util.StringUtils; +import java.math.BigDecimal; +import java.util.Date; import java.util.List; +import java.util.Objects; /** * 瀹㈡埛淇℃伅琛⊿ervice瀹炵幇 @@ -26,6 +44,13 @@ @Autowired private CustomerMapper customerMapper; + + @Autowired + private CustomerLogMapper customerLogMapper; + + @Autowired + private MemberMapper memberMapper; + @Override public Long create(Customer customer) { @@ -185,13 +210,186 @@ - public void saveRenovationCalculator(){ + @Override + public void saveRenovationCalculator(RenovationCalculatorDTO renovationCalculatorDTO){ + if(Objects.isNull(renovationCalculatorDTO) + || Objects.isNull(renovationCalculatorDTO.getMemberId()) + || Objects.isNull(renovationCalculatorDTO.getHouseStatus()) + || Objects.isNull(renovationCalculatorDTO.getHouseType()) + || Objects.isNull(renovationCalculatorDTO.getBudget()) + || StringUtils.isEmpty(renovationCalculatorDTO.getArea()) + ){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + Member member = memberMapper.selectById(renovationCalculatorDTO.getMemberId()); + if(Objects.isNull(member)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鐢ㄦ埛淇℃伅"); + } + if(StringUtils.isEmpty(member.getPhone())){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈巿鏉冩墜鏈哄彿"); + } + Customer customer = customerMapper.selectOne(new QueryWrapper<Customer>().lambda().eq(Customer::getPhone,member.getPhone()).eq(Customer::getIsdeleted, Constants.ZERO).last("limit 1")); + if(Objects.isNull(customer)){ + customer = new Customer(); + customer.setIsdeleted(Constants.ZERO); + customer.setPhone(member.getPhone()); + customer.setCreateDate(new Date()); + } else{ + customer.setEditDate(new Date()); + } + customer.setOpenid(member.getOpenid()); + customer.setMemberId(member.getId()); + customerMapper.insertOrUpdate(customer); - + //瀛樺偍 customerLog 鏁版嵁 + CustomerLog customerLog = new CustomerLog(); + customerLog.setCreateDate(new Date()); + customerLog.setIsdeleted(Constants.ZERO); + customerLog.setType(Constants.TWO); + customerLog.setCrmStatus(Constants.ZERO); + customerLog.setPhone(customer.getPhone()); + customerLog.setBudget(renovationCalculatorDTO.getBudget().multiply(new BigDecimal(10000)).toString()); + customerLog.setHouseStatus(renovationCalculatorDTO.getHouseStatus()); + customerLog.setArea(renovationCalculatorDTO.getArea()); + customerLog.setHouseType(renovationCalculatorDTO.getHouseType()); + customerLog.setCostomerId(customer.getId().toString()); + customerLogMapper.insert(customerLog); } + @Override + public void saveFreeCustomizationApply(FreeCustomizationDTO freeCustomizationDTO){ + if(Objects.isNull(freeCustomizationDTO) + || Objects.isNull(freeCustomizationDTO.getMemberId()) + || StringUtils.isEmpty(freeCustomizationDTO.getName()) + || StringUtils.isEmpty(freeCustomizationDTO.getPhone()) + || StringUtils.isEmpty(freeCustomizationDTO.getCityCode()) + || StringUtils.isEmpty(freeCustomizationDTO.getCityName()) + || StringUtils.isEmpty(freeCustomizationDTO.getProvinceName()) + || StringUtils.isEmpty(freeCustomizationDTO.getProvinceCode()) + || StringUtils.isEmpty(freeCustomizationDTO.getAreaCode()) + || StringUtils.isEmpty(freeCustomizationDTO.getAreaName()) + ){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + Member member = memberMapper.selectById(freeCustomizationDTO.getMemberId()); + if(Objects.isNull(member)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鐢ㄦ埛淇℃伅"); + } + if(StringUtils.isEmpty(member.getPhone())){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈巿鏉冩墜鏈哄彿"); + } + Customer customer = customerMapper.selectOne(new QueryWrapper<Customer>().lambda() + .eq(Customer::getPhone,freeCustomizationDTO.getPhone()).eq(Customer::getIsdeleted, Constants.ZERO).last("limit 1")); + if(Objects.isNull(customer)){ + customer = new Customer(); + customer.setPhone(freeCustomizationDTO.getPhone()); + customer.setCreateDate(new Date()); + customer.setIsdeleted(Constants.ZERO); + } else{ + customer.setEditDate(new Date()); + } + customer.setOpenid(member.getOpenid()); + customer.setMemberId(member.getId()); + customer.setName(freeCustomizationDTO.getName()); + + customer.setProName(freeCustomizationDTO.getProvinceName()); + customer.setCityName(freeCustomizationDTO.getCityName()); + customer.setAreaName(freeCustomizationDTO.getAreaName()); + customer.setProvinceCode(freeCustomizationDTO.getProvinceCode()); + customer.setCityCode(freeCustomizationDTO.getCityCode()); + customer.setAreaCode(freeCustomizationDTO.getAreaCode()); + customerMapper.insertOrUpdate(customer); + + //瀛樺偍 customerLog 鏁版嵁 + CustomerLog customerLog = new CustomerLog(); + customerLog.setCreateDate(new Date()); + customerLog.setIsdeleted(Constants.ZERO); + customerLog.setType(Constants.ONE); + customerLog.setCrmStatus(Constants.ZERO); + customerLog.setPhone(customer.getPhone()); + customerLog.setCostomerId(customer.getId().toString()); + + customerLog.setProvinceName(freeCustomizationDTO.getProvinceName()); + customerLog.setCityName(freeCustomizationDTO.getCityName()); + customerLog.setAreaCode(freeCustomizationDTO.getAreaName()); + customerLog.setProvicneCode(freeCustomizationDTO.getProvinceCode()); + customerLog.setCityCode(freeCustomizationDTO.getCityCode()); + customerLog.setAreaCode(freeCustomizationDTO.getAreaCode()); + customerLog.setName(freeCustomizationDTO.getName()); + customerLog.setPhone(freeCustomizationDTO.getPhone()); + customerLogMapper.insert(customerLog); + } + + @Override + public void saveTestTrimStyle(TestTrimStyleDTO testTrimStyleDTO){ + if(Objects.isNull(testTrimStyleDTO) + || Objects.isNull(testTrimStyleDTO.getMemberId()) + + || StringUtils.isEmpty(testTrimStyleDTO.getStyleInfo()) + || StringUtils.isEmpty(testTrimStyleDTO.getAgeInfo()) + || Objects.isNull(testTrimStyleDTO.getSex()) + || StringUtils.isEmpty(testTrimStyleDTO.getHouseType()) + || StringUtils.isEmpty(testTrimStyleDTO.getAgeInfo()) + || StringUtils.isEmpty(testTrimStyleDTO.getPhone()) + + || StringUtils.isEmpty(testTrimStyleDTO.getCityCode()) + || StringUtils.isEmpty(testTrimStyleDTO.getCityName()) + || StringUtils.isEmpty(testTrimStyleDTO.getProvinceName()) + || StringUtils.isEmpty(testTrimStyleDTO.getProvinceCode()) + ){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + Member member = memberMapper.selectById(testTrimStyleDTO.getMemberId()); + if(Objects.isNull(member)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鐢ㄦ埛淇℃伅"); + } + if(StringUtils.isEmpty(member.getPhone())){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈巿鏉冩墜鏈哄彿"); + } + Customer customer = customerMapper.selectOne(new QueryWrapper<Customer>().lambda() + .eq(Customer::getPhone,testTrimStyleDTO.getPhone()).eq(Customer::getIsdeleted, Constants.ZERO).last("limit 1")); + if(Objects.isNull(customer)){ + customer = new Customer(); + customer.setPhone(testTrimStyleDTO.getPhone()); + customer.setCreateDate(new Date()); + customer.setIsdeleted(Constants.ZERO); + } else{ + customer.setEditDate(new Date()); + } + customer.setOpenid(member.getOpenid()); + customer.setMemberId(member.getId()); + + customer.setProName(testTrimStyleDTO.getProvinceName()); + customer.setCityName(testTrimStyleDTO.getCityName()); + customer.setProvinceCode(testTrimStyleDTO.getProvinceCode()); + customer.setCityCode(testTrimStyleDTO.getCityCode()); + customerMapper.insertOrUpdate(customer); + + //瀛樺偍 customerLog 鏁版嵁 + CustomerLog customerLog = new CustomerLog(); + customerLog.setCreateDate(new Date()); + customerLog.setIsdeleted(Constants.ZERO); + customerLog.setType(Constants.ZERO); + customerLog.setCrmStatus(Constants.ZERO); + customerLog.setPhone(customer.getPhone()); + customerLog.setCostomerId(customer.getId().toString()); + + customerLog.setProvinceName(testTrimStyleDTO.getProvinceName()); + customerLog.setCityName(testTrimStyleDTO.getCityName()); + customerLog.setProvicneCode(testTrimStyleDTO.getProvinceCode()); + customerLog.setCityCode(testTrimStyleDTO.getCityCode()); + + customerLog.setAgeInfo(testTrimStyleDTO.getAgeInfo()); + customerLog.setHouseType(testTrimStyleDTO.getHouseType()); + customerLog.setStyleInfo(testTrimStyleDTO.getStyleInfo()); + customerLog.setSex(testTrimStyleDTO.getSex()); + customerLog.setAgeInfo(testTrimStyleDTO.getAgeInfo()); + customerLog.setPhone(testTrimStyleDTO.getPhone()); + customerLogMapper.insert(customerLog); + } + -- Gitblit v1.9.3