| | |
| | | import com.doumee.core.utils.Utils; |
| | | import com.doumee.dao.business.CustomerLogMapper; |
| | | import com.doumee.dao.business.CustomerMapper; |
| | | import com.doumee.dao.business.CustomerUserMapper; |
| | | 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.business.model.*; |
| | | import com.doumee.dao.web.reqeust.FreeCustomizationDTO; |
| | | import com.doumee.dao.web.reqeust.RenovationCalculatorDTO; |
| | | import com.doumee.dao.web.reqeust.TestTrimStyleDTO; |
| | |
| | | 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.doumee.service.business.CustomerUserService; |
| | | import com.github.yulichang.wrapper.MPJLambdaWrapper; |
| | | import org.checkerframework.checker.units.qual.A; |
| | | import org.checkerframework.checker.units.qual.C; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | |
| | | @Autowired |
| | | private CustomerLogMapper customerLogMapper; |
| | | @Autowired |
| | | private CustomerUserMapper customerUserMapper; |
| | | |
| | | @Autowired |
| | | private MemberMapper memberMapper; |
| | |
| | | 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)); |
| | | } |
| | | |
| | |
| | | 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()); |
| | |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到用户信息"); |
| | | } |
| | | if(StringUtils.isEmpty(member.getPhone())){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未授权手机号"); |
| | | 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")); |
| | |
| | | customer.setOpenid(member.getOpenid()); |
| | | customer.setMemberId(member.getId()); |
| | | customer.setName(freeCustomizationDTO.getName()); |
| | | |
| | | customer.setProName(freeCustomizationDTO.getProvinceName()); |
| | | customer.setCityName(freeCustomizationDTO.getCityName()); |
| | | customer.setAreaName(freeCustomizationDTO.getAreaName()); |
| | |
| | | customerLog.setAreaCode(freeCustomizationDTO.getAreaCode()); |
| | | customerLog.setName(freeCustomizationDTO.getName()); |
| | | customerLog.setPhone(freeCustomizationDTO.getPhone()); |
| | | customerLog.setUsernames(freeCustomizationDTO.getUsername()); |
| | | if(org.apache.commons.lang3.StringUtils.isBlank(freeCustomizationDTO.getUsername())){ |
| | | //如果导购信息为空,查询该客户已绑定的导购信息,传递给CRM使用 |
| | | List<CustomerUser> userList = customerUserMapper.selectJoinList(CustomerUser.class, |
| | | new MPJLambdaWrapper<CustomerUser>() |
| | | .selectAs(Users::getIamUsername,CustomerUser::getUsername) |
| | | .leftJoin(Users.class, Users::getId,CustomerUser::getUserId) |
| | | .eq(CustomerUser::getIsdeleted,Constants.ZERO) |
| | | .eq(CustomerUser::getCustomerPhone,customerLog.getPhone()) |
| | | .groupBy(Users::getIamUsername)); |
| | | if(userList!=null && userList.size()>0){ |
| | | String names = ""; |
| | | for(CustomerUser cu : userList){ |
| | | if(!names.equals("")){ |
| | | names += ","; |
| | | } |
| | | names += cu.getUsername(); |
| | | } |
| | | if(!names.equals("")){ |
| | | customerLog.setUsernames(names); |
| | | } |
| | | } |
| | | } |
| | | customerLogMapper.insert(customerLog); |
| | | customerLog.setOpenid(member.getOpenid()); |
| | | return customerLog; |