| | |
| | | package com.doumee.service.business.impl; |
| | | |
| | | import com.doumee.biz.zbom.ZbomCRMService; |
| | | 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.model.CustomerLog; |
| | | import com.doumee.dao.business.model.IamInterfaceLog; |
| | | import com.doumee.dao.business.model.*; |
| | | import com.doumee.service.business.CustomerLogService; |
| | | 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 com.github.yulichang.wrapper.MPJLambdaWrapper; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | |
| | | /** |
| | | * 客户留资记录信息表Service实现 |
| | |
| | | |
| | | @Autowired |
| | | private CustomerLogMapper customerLogMapper; |
| | | @Autowired |
| | | private ZbomCRMService zbomCRMService; |
| | | |
| | | @Override |
| | | public Long create(CustomerLog customerLog) { |
| | |
| | | } |
| | | |
| | | @Override |
| | | public void reSubmit(CustomerLog customerLog){ |
| | | CustomerLog log = customerLogMapper.selectById(customerLog.getId()); |
| | | if(log ==null || Constants.equalsInteger(log.getIsdeleted(),Constants.ONE)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY); |
| | | } |
| | | if(Constants.equalsInteger(log.getCrmStatus(),Constants.ONE)){ |
| | | //如果已经提交成功过 |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,该留资数据已提交,无需重新提交!"); |
| | | } |
| | | zbomCRMService.dealCustomerLogData(log); |
| | | } |
| | | @Override |
| | | public void reSubmitAll(CustomerLog log){ |
| | | List<CustomerLog> logList = customerLogMapper.selectList(new QueryWrapper<CustomerLog>() |
| | | .lambda() |
| | | .eq(CustomerLog::getIsdeleted,Constants.ZERO) |
| | | .eq(log.getCrmStatus()!=null,CustomerLog::getCrmStatus,log.getCrmStatus()) |
| | | .ne(CustomerLog::getCrmStatus,Constants.ONE)); |
| | | if(logList ==null || logList.size() ==0){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"对不起,不存在待处理数据"); |
| | | } |
| | | if(Constants.equalsInteger(log.getCrmStatus(),Constants.ONE)){ |
| | | //如果已经提交成功过 |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,该留资数据已提交,无需重新提交!"); |
| | | } |
| | | for(CustomerLog model :logList){ |
| | | zbomCRMService.dealCustomerLogData(model); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void updateByIdInBatch(List<CustomerLog> customerLogs) { |
| | | if (CollectionUtils.isEmpty(customerLogs)) { |
| | | return; |
| | |
| | | QueryWrapper<CustomerLog> wrapper = new QueryWrapper<>(customerLog); |
| | | return customerLogMapper.selectList(wrapper); |
| | | } |
| | | |
| | | @Override |
| | | public PageData<CustomerLog> findPage(PageWrap<CustomerLog> pageWrap) { |
| | | IPage<CustomerLog> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); |
| | | QueryWrapper<CustomerLog> queryWrapper = new QueryWrapper<>(); |
| | | MPJLambdaWrapper<CustomerLog> queryWrapper = new MPJLambdaWrapper<>(); |
| | | Utils.MP.blankToNull(pageWrap.getModel()); |
| | | queryWrapper.selectAll(CustomerLog.class) |
| | | .selectAs(Member::getName,CustomerLog::getMemberName) |
| | | .leftJoin(Customer.class,Customer::getId,CustomerLog::getCostomerId) |
| | | .eq(CustomerLog::getIsdeleted, Constants.ZERO) |
| | | .leftJoin(Member.class,Member::getId,Customer::getMemberId) |
| | | .eq(Objects.nonNull(pageWrap.getModel().getType()),CustomerLog::getType, pageWrap.getModel().getType()) |
| | | .eq(Objects.nonNull(pageWrap.getModel().getMemberId()),Customer::getMemberId, pageWrap.getModel().getMemberId()); |
| | | if (pageWrap.getModel().getMemberId() != null) { |
| | | queryWrapper.eq(Customer::getMemberId, pageWrap.getModel().getMemberId()); |
| | | } |
| | | if (pageWrap.getModel().getId() != null) { |
| | | queryWrapper.lambda().eq(CustomerLog::getId, pageWrap.getModel().getId()); |
| | | queryWrapper.eq(CustomerLog::getId, pageWrap.getModel().getId()); |
| | | } |
| | | if (pageWrap.getModel().getCreator() != null) { |
| | | queryWrapper.lambda().eq(CustomerLog::getCreator, pageWrap.getModel().getCreator()); |
| | | queryWrapper.eq(CustomerLog::getCreator, pageWrap.getModel().getCreator()); |
| | | } |
| | | if (pageWrap.getModel().getCreateDate() != null) { |
| | | queryWrapper.lambda().ge(CustomerLog::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); |
| | | queryWrapper.lambda().le(CustomerLog::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); |
| | | queryWrapper.ge(CustomerLog::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); |
| | | queryWrapper.le(CustomerLog::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); |
| | | } |
| | | if (pageWrap.getModel().getEditor() != null) { |
| | | queryWrapper.lambda().eq(CustomerLog::getEditor, pageWrap.getModel().getEditor()); |
| | | queryWrapper.eq(CustomerLog::getEditor, pageWrap.getModel().getEditor()); |
| | | } |
| | | if (pageWrap.getModel().getEditDate() != null) { |
| | | queryWrapper.lambda().ge(CustomerLog::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); |
| | | queryWrapper.lambda().le(CustomerLog::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); |
| | | queryWrapper.ge(CustomerLog::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); |
| | | queryWrapper.le(CustomerLog::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); |
| | | } |
| | | if (pageWrap.getModel().getIsdeleted() != null) { |
| | | queryWrapper.lambda().eq(CustomerLog::getIsdeleted, pageWrap.getModel().getIsdeleted()); |
| | | queryWrapper.eq(CustomerLog::getIsdeleted, pageWrap.getModel().getIsdeleted()); |
| | | } |
| | | if (pageWrap.getModel().getRemark() != null) { |
| | | queryWrapper.lambda().eq(CustomerLog::getRemark, pageWrap.getModel().getRemark()); |
| | | queryWrapper.eq(CustomerLog::getRemark, pageWrap.getModel().getRemark()); |
| | | } |
| | | if (pageWrap.getModel().getOrderDate() != null) { |
| | | queryWrapper.lambda().eq(CustomerLog::getOrderDate, pageWrap.getModel().getOrderDate()); |
| | | queryWrapper.eq(CustomerLog::getOrderDate, pageWrap.getModel().getOrderDate()); |
| | | } |
| | | if (pageWrap.getModel().getPlaDate() != null) { |
| | | queryWrapper.lambda().eq(CustomerLog::getPlaDate, pageWrap.getModel().getPlaDate()); |
| | | queryWrapper.eq(CustomerLog::getPlaDate, pageWrap.getModel().getPlaDate()); |
| | | } |
| | | if (pageWrap.getModel().getDesignType() != null) { |
| | | queryWrapper.lambda().eq(CustomerLog::getDesignType, pageWrap.getModel().getDesignType()); |
| | | queryWrapper.eq(CustomerLog::getDesignType, pageWrap.getModel().getDesignType()); |
| | | } |
| | | if (pageWrap.getModel().getHouseStatus() != null) { |
| | | queryWrapper.lambda().eq(CustomerLog::getHouseStatus, pageWrap.getModel().getHouseStatus()); |
| | | queryWrapper.eq(CustomerLog::getHouseStatus, pageWrap.getModel().getHouseStatus()); |
| | | } |
| | | if (pageWrap.getModel().getDistrict() != null) { |
| | | queryWrapper.lambda().eq(CustomerLog::getDistrict, pageWrap.getModel().getDistrict()); |
| | | queryWrapper.eq(CustomerLog::getDistrict, pageWrap.getModel().getDistrict()); |
| | | } |
| | | if (pageWrap.getModel().getArea() != null) { |
| | | queryWrapper.lambda().eq(CustomerLog::getArea, pageWrap.getModel().getArea()); |
| | | queryWrapper.eq(CustomerLog::getArea, pageWrap.getModel().getArea()); |
| | | } |
| | | if (pageWrap.getModel().getInfo() != null) { |
| | | queryWrapper.lambda().eq(CustomerLog::getInfo, pageWrap.getModel().getInfo()); |
| | | queryWrapper.eq(CustomerLog::getInfo, pageWrap.getModel().getInfo()); |
| | | } |
| | | if (pageWrap.getModel().getCostomerId() != null) { |
| | | queryWrapper.lambda().eq(CustomerLog::getCostomerId, pageWrap.getModel().getCostomerId()); |
| | | queryWrapper.eq(CustomerLog::getCostomerId, pageWrap.getModel().getCostomerId()); |
| | | } |
| | | if (pageWrap.getModel().getHouseType() != null) { |
| | | queryWrapper.lambda().eq(CustomerLog::getHouseType, pageWrap.getModel().getHouseType()); |
| | | queryWrapper.eq(CustomerLog::getHouseType, pageWrap.getModel().getHouseType()); |
| | | } |
| | | if (pageWrap.getModel().getSex() != null) { |
| | | queryWrapper.lambda().eq(CustomerLog::getSex, pageWrap.getModel().getSex()); |
| | | queryWrapper.eq(CustomerLog::getSex, pageWrap.getModel().getSex()); |
| | | } |
| | | if (pageWrap.getModel().getAgeInfo() != null) { |
| | | queryWrapper.lambda().eq(CustomerLog::getAgeInfo, pageWrap.getModel().getAgeInfo()); |
| | | queryWrapper.eq(CustomerLog::getAgeInfo, pageWrap.getModel().getAgeInfo()); |
| | | } |
| | | if (pageWrap.getModel().getStyleInfo() != null) { |
| | | queryWrapper.lambda().eq(CustomerLog::getStyleInfo, pageWrap.getModel().getStyleInfo()); |
| | | queryWrapper.eq(CustomerLog::getStyleInfo, pageWrap.getModel().getStyleInfo()); |
| | | } |
| | | if (pageWrap.getModel().getProvinceName() != null) { |
| | | queryWrapper.lambda().like(CustomerLog::getProvinceName, pageWrap.getModel().getProvinceName()); |
| | | queryWrapper.like(CustomerLog::getProvinceName, pageWrap.getModel().getProvinceName()); |
| | | } |
| | | if (pageWrap.getModel().getCityName() != null) { |
| | | queryWrapper.lambda().like(CustomerLog::getCityName, pageWrap.getModel().getCityName()); |
| | | queryWrapper.like(CustomerLog::getCityName, pageWrap.getModel().getCityName()); |
| | | } |
| | | if (pageWrap.getModel().getProvicneCode() != null) { |
| | | queryWrapper.lambda().eq(CustomerLog::getProvicneCode, pageWrap.getModel().getProvicneCode()); |
| | | queryWrapper.eq(CustomerLog::getProvicneCode, pageWrap.getModel().getProvicneCode()); |
| | | } |
| | | if (pageWrap.getModel().getCityCode() != null) { |
| | | queryWrapper.lambda().eq(CustomerLog::getCityCode, pageWrap.getModel().getCityCode()); |
| | | queryWrapper.eq(CustomerLog::getCityCode, pageWrap.getModel().getCityCode()); |
| | | } |
| | | if (pageWrap.getModel().getPhone() != null) { |
| | | queryWrapper.lambda().like(CustomerLog::getPhone, pageWrap.getModel().getPhone()); |
| | | queryWrapper.like(CustomerLog::getPhone, pageWrap.getModel().getPhone()); |
| | | } |
| | | if (pageWrap.getModel().getType() != null) { |
| | | queryWrapper.lambda().eq(CustomerLog::getType, pageWrap.getModel().getType()); |
| | | queryWrapper.eq(CustomerLog::getType, pageWrap.getModel().getType()); |
| | | } |
| | | if (pageWrap.getModel().getBudget() != null) { |
| | | queryWrapper.lambda().eq(CustomerLog::getBudget, pageWrap.getModel().getBudget()); |
| | | queryWrapper.eq(CustomerLog::getBudget, pageWrap.getModel().getBudget()); |
| | | } |
| | | if (pageWrap.getModel().getCrmStatus() != null) { |
| | | queryWrapper.lambda().eq(CustomerLog::getCrmStatus, pageWrap.getModel().getCrmStatus()); |
| | | queryWrapper.eq(CustomerLog::getCrmStatus, pageWrap.getModel().getCrmStatus()); |
| | | } |
| | | if (pageWrap.getModel().getCrmDate() != null) { |
| | | queryWrapper.lambda().ge(CustomerLog::getCrmDate, Utils.Date.getStart(pageWrap.getModel().getCrmDate())); |
| | | queryWrapper.lambda().le(CustomerLog::getCrmDate, Utils.Date.getEnd(pageWrap.getModel().getCrmDate())); |
| | | queryWrapper.ge(CustomerLog::getCrmDate, Utils.Date.getStart(pageWrap.getModel().getCrmDate())); |
| | | queryWrapper.le(CustomerLog::getCrmDate, Utils.Date.getEnd(pageWrap.getModel().getCrmDate())); |
| | | } |
| | | if (pageWrap.getModel().getCrmInfo() != null) { |
| | | queryWrapper.lambda().eq(CustomerLog::getCrmInfo, pageWrap.getModel().getCrmInfo()); |
| | | queryWrapper.eq(CustomerLog::getCrmInfo, pageWrap.getModel().getCrmInfo()); |
| | | } |
| | | if (pageWrap.getModel().getQueryStartDate() != null) { |
| | | queryWrapper.lambda().ge(CustomerLog::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getQueryStartDate())); |
| | | queryWrapper.ge(CustomerLog::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getQueryStartDate())); |
| | | } |
| | | if (pageWrap.getModel().getQueryEndDate() != null) { |
| | | queryWrapper.lambda().le(CustomerLog::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getQueryEndDate())); |
| | | queryWrapper.le(CustomerLog::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getQueryEndDate())); |
| | | } |
| | | for(PageWrap.SortData sortData: pageWrap.getSorts()) { |
| | | if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { |
| | | queryWrapper.orderByDesc(sortData.getProperty()); |
| | | } else { |
| | | queryWrapper.orderByAsc(sortData.getProperty()); |
| | | |
| | | queryWrapper.orderByDesc(CustomerLog::getCreateDate); |
| | | PageData<CustomerLog> pageData = PageData.from(customerLogMapper.selectJoinPage(page,CustomerLog.class, queryWrapper)); |
| | | for (CustomerLog customerLog:pageData.getRecords()) { |
| | | if(Objects.nonNull(pageWrap.getModel().getIsHiddenPhone())&& Constants.equalsInteger(pageWrap.getModel().getIsHiddenPhone(),Constants.ZERO)){ |
| | | customerLog.setPhone(Constants.desensitizationPhone(customerLog.getPhone())); |
| | | if(Constants.equalsInteger(customerLog.getType(),Constants.TWO)&& StringUtils.isNotBlank(customerLog.getMemberName())){ |
| | | customerLog.setName(customerLog.getMemberName()); |
| | | } |
| | | } |
| | | } |
| | | return PageData.from(customerLogMapper.selectPage(page, queryWrapper)); |
| | | return pageData; |
| | | } |
| | | |
| | | @Override |