From 973bc6167190ad45bb44feb7520ff7635fe90685 Mon Sep 17 00:00:00 2001 From: renkang <8417338+k94314517@user.noreply.gitee.com> Date: 星期五, 22 十一月 2024 13:55:42 +0800 Subject: [PATCH] 客户资料 巡检任务业务 --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwCustomerServiceImpl.java | 205 ++++++++++++++++++++++++++------------------------ 1 files changed, 106 insertions(+), 99 deletions(-) diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwCustomerServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwCustomerServiceImpl.java index 840edc8..8d5464e 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwCustomerServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwCustomerServiceImpl.java @@ -1,21 +1,36 @@ package com.doumee.service.business.impl; +import cn.emay.sdk.util.StringUtil; +import cn.hutool.core.util.IdcardUtil; +import cn.hutool.core.util.PhoneUtil; +import com.doumee.core.constants.ResponseStatus; +import com.doumee.core.exception.BusinessException; import com.doumee.core.model.LoginUserInfo; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; +import com.doumee.core.utils.Constants; +import com.doumee.core.utils.DESUtil; import com.doumee.core.utils.Utils; +import com.doumee.dao.business.MemberMapper; import com.doumee.dao.business.YwCustomerMapper; +import com.doumee.dao.business.model.Member; import com.doumee.dao.business.model.YwCustomer; import com.doumee.service.business.YwCustomerService; 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.checkerframework.checker.units.qual.A; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; +import java.util.Date; import java.util.List; +import java.util.Objects; /** * 杩愮淮瀹㈡埛淇℃伅琛⊿ervice瀹炵幇 @@ -28,11 +43,68 @@ @Autowired private YwCustomerMapper ywCustomerMapper; + @Autowired + private MemberMapper memberMapper; + @Override + @Transactional(rollbackFor = {BusinessException.class,Exception.class}) public Integer create(YwCustomer ywCustomer) { + if(Objects.isNull(ywCustomer) + || Objects.nonNull(ywCustomer.getType()) + || StringUtils.isBlank(ywCustomer.getName()) + || Objects.isNull(ywCustomer.getMember()) + || StringUtils.isBlank(ywCustomer.getMember().getName()) + || StringUtils.isBlank(ywCustomer.getMember().getPhone()) + || Objects.isNull(ywCustomer.getMember().getHighCheckor()) + || Objects.isNull(ywCustomer.getMember().getIdcardType()) + ){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + LoginUserInfo loginUserInfo = ywCustomer.getLoginUserInfo(); + ywCustomer.setStatus(Constants.ZERO); + ywCustomer.setIsdeleted(Constants.ZERO); + ywCustomer.setCreator(loginUserInfo.getId()); + ywCustomer.setCreateDate(new Date()); ywCustomerMapper.insert(ywCustomer); + + Member member = ywCustomer.getMember(); + member.setCreator(loginUserInfo.getId()); + member.setCreateDate(new Date()); + member.setIsdeleted(Constants.ZERO); + member.setStatus(Constants.ZERO); + member.setCompanyType(ywCustomer.getId()); + member.setType(Constants.memberType.customer); + this.checkMember(member); + memberMapper.insert(member); + + ywCustomer.setMemberId(member.getId()); + ywCustomerMapper.updateById(ywCustomer); + return ywCustomer.getId(); } + + + public void checkMember(Member member){ + if (StringUtils.isBlank(member.getPhone())||!PhoneUtil.isPhone(member.getPhone())){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鐢佃瘽鍙风爜鏍煎紡鏈夎"); + } + if (StringUtils.isNotBlank(member.getIdcardNo()) && Constants.equalsInteger(member.getIdcardType(),Constants.ZERO) && !IdcardUtil.isValidCard(member.getIdcardNo())){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"韬唤璇佸彿鏍煎紡鏈夎"); + } + if(StringUtils.isNotBlank(member.getIdcardNo() ) && Constants.equalsInteger(member.getIdcardType(),Constants.ZERO) ){ + if(memberMapper.selectCount(new QueryWrapper<Member>().lambda() + .eq(Member::getIdcardNo, DESUtil.encrypt(Constants.EDS_PWD, member.getIdcardNo())) + .eq(Member::getIsdeleted,Constants.ZERO)) >0){ + throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "韬唤璇佸彿銆�"+member.getIdcardNo()+"銆戝凡琚娇鐢紝涓嶈兘閲嶅"); + } + } + if(memberMapper.selectCount(new QueryWrapper<Member>().lambda() + .eq(Member::getPhone, member.getPhone()) + .eq(Member::getIsdeleted,Constants.ZERO) ) >0){ + throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "鎵嬫満鍙枫��"+member.getPhone()+"銆戝凡琚娇鐢紝涓嶈兘閲嶅"); + } + } + @Override public void deleteById(Integer id, LoginUserInfo user) { @@ -55,6 +127,17 @@ @Override public void updateById(YwCustomer ywCustomer) { + if(Objects.isNull(ywCustomer) + || Objects.nonNull(ywCustomer.getType()) + || StringUtils.isBlank(ywCustomer.getName()) + || Objects.isNull(ywCustomer.getMemberId()) + ){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + + LoginUserInfo loginUserInfo = ywCustomer.getLoginUserInfo(); + ywCustomer.setEditor(loginUserInfo.getId()); + ywCustomer.setEditDate(new Date()); ywCustomerMapper.updateById(ywCustomer); } @@ -73,6 +156,17 @@ return ywCustomerMapper.selectById(id); } + public YwCustomer getDetail(Integer id) { + YwCustomer ywCustomer = ywCustomerMapper.selectById(id); + if(Objects.isNull(ywCustomer)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY); + } + Member member = memberMapper.selectById(ywCustomer.getMemberId()); + if(Objects.nonNull(member)){ + ywCustomer.setMember(member); + } + return ywCustomer; + } @Override public YwCustomer findOne(YwCustomer ywCustomer) { QueryWrapper<YwCustomer> wrapper = new QueryWrapper<>(ywCustomer); @@ -88,106 +182,19 @@ @Override public PageData<YwCustomer> findPage(PageWrap<YwCustomer> pageWrap) { IPage<YwCustomer> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); - QueryWrapper<YwCustomer> queryWrapper = new QueryWrapper<>(); + MPJLambdaWrapper<YwCustomer> queryWrapper = new MPJLambdaWrapper<>(); Utils.MP.blankToNull(pageWrap.getModel()); - if (pageWrap.getModel().getId() != null) { - queryWrapper.lambda().eq(YwCustomer::getId, pageWrap.getModel().getId()); - } - if (pageWrap.getModel().getCreator() != null) { - queryWrapper.lambda().eq(YwCustomer::getCreator, pageWrap.getModel().getCreator()); - } - if (pageWrap.getModel().getCreateDate() != null) { - queryWrapper.lambda().ge(YwCustomer::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); - queryWrapper.lambda().le(YwCustomer::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); - } - if (pageWrap.getModel().getEditor() != null) { - queryWrapper.lambda().eq(YwCustomer::getEditor, pageWrap.getModel().getEditor()); - } - if (pageWrap.getModel().getEditDate() != null) { - queryWrapper.lambda().ge(YwCustomer::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); - queryWrapper.lambda().le(YwCustomer::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); - } - if (pageWrap.getModel().getIsdeleted() != null) { - queryWrapper.lambda().eq(YwCustomer::getIsdeleted, pageWrap.getModel().getIsdeleted()); - } - if (pageWrap.getModel().getRemark() != null) { - queryWrapper.lambda().eq(YwCustomer::getRemark, pageWrap.getModel().getRemark()); - } - if (pageWrap.getModel().getIndustryId() != null) { - queryWrapper.lambda().eq(YwCustomer::getIndustryId, pageWrap.getModel().getIndustryId()); - } - if (pageWrap.getModel().getType() != null) { - queryWrapper.lambda().eq(YwCustomer::getType, pageWrap.getModel().getType()); - } - if (pageWrap.getModel().getName() != null) { - queryWrapper.lambda().eq(YwCustomer::getName, pageWrap.getModel().getName()); - } - if (pageWrap.getModel().getPhone() != null) { - queryWrapper.lambda().eq(YwCustomer::getPhone, pageWrap.getModel().getPhone()); - } - if (pageWrap.getModel().getIdcardNo() != null) { - queryWrapper.lambda().eq(YwCustomer::getIdcardNo, pageWrap.getModel().getIdcardNo()); - } - if (pageWrap.getModel().getIdcardDecode() != null) { - queryWrapper.lambda().eq(YwCustomer::getIdcardDecode, pageWrap.getModel().getIdcardDecode()); - } - if (pageWrap.getModel().getCode() != null) { - queryWrapper.lambda().eq(YwCustomer::getCode, pageWrap.getModel().getCode()); - } - if (pageWrap.getModel().getStatus() != null) { - queryWrapper.lambda().eq(YwCustomer::getStatus, pageWrap.getModel().getStatus()); - } - if (pageWrap.getModel().getHighCheckor() != null) { - queryWrapper.lambda().eq(YwCustomer::getHighCheckor, pageWrap.getModel().getHighCheckor()); - } - if (pageWrap.getModel().getLastLoginDate() != null) { - queryWrapper.lambda().ge(YwCustomer::getLastLoginDate, Utils.Date.getStart(pageWrap.getModel().getLastLoginDate())); - queryWrapper.lambda().le(YwCustomer::getLastLoginDate, Utils.Date.getEnd(pageWrap.getModel().getLastLoginDate())); - } - if (pageWrap.getModel().getLoginNum() != null) { - queryWrapper.lambda().eq(YwCustomer::getLoginNum, pageWrap.getModel().getLoginNum()); - } - if (pageWrap.getModel().getUserId() != null) { - queryWrapper.lambda().eq(YwCustomer::getUserId, pageWrap.getModel().getUserId()); - } - if (pageWrap.getModel().getIdcardType() != null) { - queryWrapper.lambda().eq(YwCustomer::getIdcardType, pageWrap.getModel().getIdcardType()); - } - if (pageWrap.getModel().getAccountBank() != null) { - queryWrapper.lambda().eq(YwCustomer::getAccountBank, pageWrap.getModel().getAccountBank()); - } - if (pageWrap.getModel().getAccountNo() != null) { - queryWrapper.lambda().eq(YwCustomer::getAccountNo, pageWrap.getModel().getAccountNo()); - } - if (pageWrap.getModel().getAccountPhone() != null) { - queryWrapper.lambda().eq(YwCustomer::getAccountPhone, pageWrap.getModel().getAccountPhone()); - } - if (pageWrap.getModel().getCreditCard() != null) { - queryWrapper.lambda().eq(YwCustomer::getCreditCard, pageWrap.getModel().getCreditCard()); - } - if (pageWrap.getModel().getFpType() != null) { - queryWrapper.lambda().eq(YwCustomer::getFpType, pageWrap.getModel().getFpType()); - } - if (pageWrap.getModel().getAccountAddr() != null) { - queryWrapper.lambda().eq(YwCustomer::getAccountAddr, pageWrap.getModel().getAccountAddr()); - } - if (pageWrap.getModel().getIdentityType() != null) { - queryWrapper.lambda().eq(YwCustomer::getIdentityType, pageWrap.getModel().getIdentityType()); - } - if (pageWrap.getModel().getEmail() != null) { - queryWrapper.lambda().eq(YwCustomer::getEmail, pageWrap.getModel().getEmail()); - } - if (pageWrap.getModel().getMemberId() != null) { - queryWrapper.lambda().eq(YwCustomer::getMemberId, pageWrap.getModel().getMemberId()); - } - for(PageWrap.SortData sortData: pageWrap.getSorts()) { - if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { - queryWrapper.orderByDesc(sortData.getProperty()); - } else { - queryWrapper.orderByAsc(sortData.getProperty()); - } - } - return PageData.from(ywCustomerMapper.selectPage(page, queryWrapper)); + YwCustomer model = pageWrap.getModel(); + IPage iPage = ywCustomerMapper.selectJoinPage(page,YwCustomer.class, + queryWrapper + .selectAll(YwCustomer.class) + .selectAs(Member::getName,YwCustomer::getMemberName) + .leftJoin(Member.class,Member::getId,YwCustomer::getMemberId) + .eq(YwCustomer::getIsdeleted,Constants.ZERO) + .like(Objects.nonNull(model)&&StringUtils.isNotBlank(model.getName()),YwCustomer::getName,model.getName()) + .orderByDesc(YwCustomer::getCreateDate) + ); + return PageData.from(iPage); } @Override -- Gitblit v1.9.3