From 17efddc6a667670dca682bf36b51a43e99615e6d Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期三, 16 十月 2024 15:59:38 +0800 Subject: [PATCH] 代码初始化 --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarDriverServiceImpl.java | 115 +++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 106 insertions(+), 9 deletions(-) diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarDriverServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarDriverServiceImpl.java index 662a111..598ad6c 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarDriverServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarDriverServiceImpl.java @@ -1,19 +1,30 @@ package com.doumee.service.business.impl; +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.Utils; import com.doumee.dao.business.CarDriverMapper; -import com.doumee.dao.business.model.CarDriver; +import com.doumee.dao.business.MemberMapper; +import com.doumee.dao.business.model.*; import com.doumee.service.business.CarDriverService; 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 lombok.extern.java.Log; +import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; +import javax.smartcardio.Card; +import java.util.Date; import java.util.List; /** @@ -26,15 +37,44 @@ @Autowired private CarDriverMapper carDriverMapper; + @Autowired + private MemberMapper memberMapper; @Override public Integer create(CarDriver carDriver) { + LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); + if(loginUserInfo == null){ + loginUserInfo = carDriver.getLoginUserInfo(); + } + Member member = memberMapper.selectById(carDriver.getMemberId()); + if(member == null + ||Constants.equalsInteger(member.getIsdeleted(),Constants.ONE) + ||!Constants.equalsInteger(member.getType(),Constants.TWO)){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"璇ュ徃鏈轰俊鎭笉瀛樺湪锛岃杩斿洖鍒锋柊椤甸潰閲嶈瘯锛�"); + } + if(carDriverMapper.selectCount(new QueryWrapper<CarDriver>().lambda() + .eq(CarDriver::getMemberId,carDriver.getMemberId()) + .eq(CarDriver::getIsdeleted, Constants.ZERO))>0){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"璇ュ徃鏈哄凡缁忛厤缃紝鏃犻渶閲嶆柊閰嶇疆锛�"); + } + if(carDriver.getCarId()!=null && carDriverMapper.selectCount(new QueryWrapper<CarDriver>().lambda() + .eq(CarDriver::getCarId,carDriver.getCarId()) + .eq(CarDriver::getIsdeleted, Constants.ZERO))>0){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"璇ヨ溅杈嗗凡缁忛厤缃紝鏃犻渶閲嶆柊閰嶇疆锛�"); + } + carDriver.setCreateDate(new Date()); + carDriver.setCreator(loginUserInfo.getId()); + carDriver.setEditDate(new Date()); + carDriver.setEdirot(loginUserInfo.getId()); + carDriver.setCompanyId(member.getCompanyId()); + carDriver.setStatus(Constants.ZERO); + carDriver.setIsdeleted(Constants.ZERO); carDriverMapper.insert(carDriver); return carDriver.getId(); } @Override - public void deleteById(Integer id) { + public void deleteById(Integer id, LoginUserInfo user) { carDriverMapper.deleteById(id); } @@ -45,7 +85,7 @@ } @Override - public void deleteByIdInBatch(List<Integer> ids) { + public void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user) { if (CollectionUtils.isEmpty(ids)) { return; } @@ -54,7 +94,40 @@ @Override public void updateById(CarDriver carDriver) { - carDriverMapper.updateById(carDriver); + LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); + if(loginUserInfo == null){ + loginUserInfo = carDriver.getLoginUserInfo(); + } + if(carDriverMapper.selectById(carDriver.getId()) == null){ + throw new BusinessException(ResponseStatus.DATA_EMPTY ); + } + Member member = memberMapper.selectById(carDriver.getMemberId()); + if(member == null + ||Constants.equalsInteger(member.getIsdeleted(),Constants.ONE) + ||!Constants.equalsInteger(member.getType(),Constants.TWO)){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"璇ュ徃鏈轰俊鎭笉瀛樺湪锛岃杩斿洖鍒锋柊椤甸潰閲嶈瘯锛�"); + } + if(carDriverMapper.selectCount(new QueryWrapper<CarDriver>().lambda() + .eq(CarDriver::getMemberId,carDriver.getMemberId()) + .ne(CarDriver::getId,carDriver.getId()) + .eq(CarDriver::getIsdeleted, Constants.ZERO))>0){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"璇ュ徃鏈哄凡缁忛厤缃紝鏃犻渶閲嶆柊閰嶇疆锛�"); + } + if(carDriver.getCarId()!=null && carDriverMapper.selectCount(new QueryWrapper<CarDriver>().lambda() + .eq(CarDriver::getCarId,carDriver.getCarId()) + .ne(CarDriver::getId,carDriver.getId()) + .eq(CarDriver::getIsdeleted, Constants.ZERO))>0){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"璇ヨ溅杈嗗凡缁忛厤缃紝鏃犻渶閲嶆柊閰嶇疆锛�"); + } + carDriver.setEditDate(new Date()); + carDriver.setEdirot(loginUserInfo.getId()); + carDriverMapper.update(null,new UpdateWrapper<CarDriver>().lambda() + .eq(CarDriver::getId,carDriver.getId()) + .set(CarDriver::getMemberId,carDriver.getMemberId()) + .set(CarDriver::getCarId,carDriver.getCarId()) + .set(CarDriver::getEdirot,carDriver.getEdirot()) + .set(CarDriver::getEditDate,carDriver.getEditDate()) + ); } @Override @@ -69,7 +142,19 @@ @Override public CarDriver findById(Integer id) { - return carDriverMapper.selectById(id); + MPJLambdaWrapper<CarDriver> queryWrapper = new MPJLambdaWrapper<>(); + queryWrapper.selectAll(CarDriver.class); + queryWrapper.selectAs(Member::getName,CarDriver::getMemberName); + queryWrapper.selectAs(Member::getSex,CarDriver::getMemberSex); + queryWrapper.selectAs(Member::getPhone,CarDriver::getMemberPhone); + queryWrapper.selectAs(Cars::getCode,CarDriver::getCarCode); + queryWrapper.selectAs(Company::getCompanyNamePath,CarDriver::getCompanyName); + queryWrapper.leftJoin(Member.class,Member::getId,CarDriver::getMemberId) + .leftJoin(Cars.class,Cars::getId,CarDriver::getCarId) + .leftJoin(Company.class,Company::getId,Member::getCompanyId) + .eq(CarDriver::getId,id) + .last("limit 1"); + return carDriverMapper.selectJoinOne(CarDriver.class,queryWrapper); } @Override @@ -87,9 +172,18 @@ @Override public PageData<CarDriver> findPage(PageWrap<CarDriver> pageWrap) { IPage<CarDriver> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); - QueryWrapper<CarDriver> queryWrapper = new QueryWrapper<>(); + MPJLambdaWrapper<CarDriver> queryWrapper = new MPJLambdaWrapper<>(); Utils.MP.blankToNull(pageWrap.getModel()); - queryWrapper.lambda() + queryWrapper.selectAll(CarDriver.class); + queryWrapper.selectAs(Cars::getCode,CarDriver::getCarCode); + queryWrapper.selectAs(Member::getName,CarDriver::getMemberName); + queryWrapper.selectAs(Member::getSex,CarDriver::getMemberSex); + queryWrapper.selectAs(Member::getPhone,CarDriver::getMemberPhone); + queryWrapper.selectAs(Company::getCompanyNamePath,CarDriver::getCompanyName); + queryWrapper.leftJoin(Member.class,Member::getId,CarDriver::getMemberId) + .leftJoin(Cars.class,Cars::getId,CarDriver::getCarId) + .leftJoin(Company.class,Company::getId,Member::getCompanyId); + queryWrapper .eq(pageWrap.getModel().getId() != null, CarDriver::getId, pageWrap.getModel().getId()) .eq(pageWrap.getModel().getCreator() != null, CarDriver::getCreator, pageWrap.getModel().getCreator()) .ge(pageWrap.getModel().getCreateDate() != null, CarDriver::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())) @@ -97,12 +191,15 @@ .eq(pageWrap.getModel().getEdirot() != null, CarDriver::getEdirot, pageWrap.getModel().getEdirot()) .ge(pageWrap.getModel().getEditDate() != null, CarDriver::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())) .le(pageWrap.getModel().getEditDate() != null, CarDriver::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())) - .eq(pageWrap.getModel().getIsdeleted() != null, CarDriver::getIsdeleted, pageWrap.getModel().getIsdeleted()) + .eq( CarDriver::getIsdeleted, Constants.ZERO) .eq(pageWrap.getModel().getRemark() != null, CarDriver::getRemark, pageWrap.getModel().getRemark()) .eq(pageWrap.getModel().getSortnum() != null, CarDriver::getSortnum, pageWrap.getModel().getSortnum()) .eq(pageWrap.getModel().getCompanyId() != null, CarDriver::getCompanyId, pageWrap.getModel().getCompanyId()) .eq(pageWrap.getModel().getStatus() != null, CarDriver::getStatus, pageWrap.getModel().getStatus()) .eq(pageWrap.getModel().getMemberId() != null, CarDriver::getMemberId, pageWrap.getModel().getMemberId()) + .and(StringUtils.isNotBlank(pageWrap.getModel().getMemberName()), ms->ms.like(Member::getName,pageWrap.getModel().getMemberName()) + .or().like(Member::getPhone,pageWrap.getModel().getMemberName())) + .orderByDesc(CarDriver::getCreateDate ); ; for(PageWrap.SortData sortData: pageWrap.getSorts()) { if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { @@ -111,7 +208,7 @@ queryWrapper.orderByAsc(sortData.getProperty()); } } - return PageData.from(carDriverMapper.selectPage(page, queryWrapper)); + return PageData.from(carDriverMapper.selectJoinPage(page,CarDriver.class, queryWrapper)); } @Override -- Gitblit v1.9.3