From a75b18a4157ab486e0b51c438ac165ab3a08e3e0 Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期四, 25 七月 2024 18:10:00 +0800 Subject: [PATCH] 代码提交 --- server/service/src/main/java/com/doumee/service/business/impl/CustomerServiceImpl.java | 225 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 218 insertions(+), 7 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 7c9a030..5fdc7af 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) { @@ -166,13 +191,7 @@ if (pageWrap.getModel().getAreaCode() != null) { queryWrapper.lambda().eq(Customer::getAreaCode, pageWrap.getModel().getAreaCode()); } - for(PageWrap.SortData sortData: pageWrap.getSorts()) { - if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { - queryWrapper.orderByDesc(sortData.getProperty()); - } else { - queryWrapper.orderByAsc(sortData.getProperty()); - } - } + queryWrapper.lambda().orderByDesc(Customer::getCreateDate ); return PageData.from(customerMapper.selectPage(page, queryWrapper)); } @@ -181,4 +200,196 @@ QueryWrapper<Customer> wrapper = new QueryWrapper<>(customer); return customerMapper.selectCount(wrapper); } + + @Override + public CustomerLog 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.setName(StringUtils.isEmpty(member.getName())?member.getNickname():member.getName()); + 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); + customerLog.setOpenid(member.getOpenid()); + return customerLog; + } + + + @Override + public CustomerLog 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())){ + member.setPhone(freeCustomizationDTO.getPhone()); + memberMapper.updateById(member); + } + 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); + customerLog.setOpenid(member.getOpenid()); + return customerLog; + } + + @Override + public CustomerLog 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); + customerLog.setOpenid(member.getOpenid()); + return customerLog; + } + + + + } -- Gitblit v1.9.3