From 39ddb6cdeefad6489e79cd49dfa94fdaf359dcdc Mon Sep 17 00:00:00 2001 From: liukangdong <898885815@qq.com> Date: 星期一, 20 五月 2024 16:57:10 +0800 Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/dmvisit --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarDriverServiceImpl.java | 70 ++++++++++++++++++++++++++++++++--- 1 files changed, 64 insertions(+), 6 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..b8558f1 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,32 @@ 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.MemberMapper; import com.doumee.dao.business.model.CarDriver; +import com.doumee.dao.business.model.CarUseBook; +import com.doumee.dao.business.model.Company; +import com.doumee.dao.business.model.Member; 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.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 +39,38 @@ @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(),"璇ュ徃鏈哄凡缁忛厤缃紝鏃犻渶閲嶆柊閰嶇疆锛�"); + } + carDriver.setCreateDate(new Date()); + carDriver.setCreator(loginUserInfo.getId()); + carDriver.setEditDate(new Date()); + carDriver.setEdirot(loginUserInfo.getId()); + carDriver.setCompanyId(member.getCompanyId()); + carDriver.setStatus(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 +81,7 @@ } @Override - public void deleteByIdInBatch(List<Integer> ids) { + public void deleteByIdInBatch(List<Integer> ids, LoginUserInfo user) { if (CollectionUtils.isEmpty(ids)) { return; } @@ -54,6 +90,12 @@ @Override public void updateById(CarDriver carDriver) { + LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); + if(loginUserInfo == null){ + loginUserInfo = carDriver.getLoginUserInfo(); + } + carDriver.setEditDate(new Date()); + carDriver.setEdirot(loginUserInfo.getId()); carDriverMapper.updateById(carDriver); } @@ -69,7 +111,16 @@ @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::getPhone,CarDriver::getMemberPhone); + queryWrapper.selectAs(Company::getCompanyNamePath,CarDriver::getCompanyName); + queryWrapper.leftJoin(Member.class,Member::getId,CarUseBook::getMemberId) + .leftJoin(Company.class,Company::getId,Member::getCompanyId) + .eq(CarDriver::getId,id) + .last("limit 1"); + return carDriverMapper.selectJoinOne(CarDriver.class,queryWrapper); } @Override @@ -87,9 +138,15 @@ @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(Member::getName,CarDriver::getMemberName); + queryWrapper.selectAs(Member::getPhone,CarDriver::getMemberPhone); + queryWrapper.selectAs(Company::getCompanyNamePath,CarDriver::getCompanyName); + queryWrapper.leftJoin(Member.class,Member::getId,CarUseBook::getMemberId) + .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())) @@ -103,6 +160,7 @@ .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()) + .orderByDesc(CarDriver::getCreateDate ); ; for(PageWrap.SortData sortData: pageWrap.getSorts()) { if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { @@ -111,7 +169,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