From d1e55e8c1eecd46921ed43ad6525f37bb0593f07 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期五, 24 五月 2024 18:13:36 +0800 Subject: [PATCH] 最新版本 --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ParkBookServiceImpl.java | 114 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 114 insertions(+), 0 deletions(-) diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ParkBookServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ParkBookServiceImpl.java index c12d4e2..e2b08a6 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ParkBookServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ParkBookServiceImpl.java @@ -7,7 +7,9 @@ import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Constants; import com.doumee.core.utils.Utils; +import com.doumee.dao.business.CarsMapper; import com.doumee.dao.business.ParkBookMapper; +import com.doumee.dao.business.ParksMapper; import com.doumee.dao.business.join.ParkBookJoinMapper; import com.doumee.dao.business.model.*; import com.doumee.service.business.ParkBookService; @@ -21,10 +23,13 @@ import org.apache.shiro.SecurityUtils; 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.ArrayList; import java.util.Date; import java.util.List; +import java.util.Objects; /** * 杞﹁締棰勭害璁板綍淇℃伅琛⊿ervice瀹炵幇 @@ -37,7 +42,11 @@ @Autowired private ParkBookMapper parkBookMapper; @Autowired + private CarsMapper carsMapper; + @Autowired private HkSyncParkServiceImpl hkSyncParkService; + @Autowired + private ParksMapper parksMapper; @Autowired private ParkBookJoinMapper parkBookJoinMapper; @@ -112,6 +121,111 @@ } hkSyncParkService.syncParkBookBySingleModel(model); } + @Override + @Transactional(rollbackFor = {Exception.class,BusinessException.class}) + public String batchAuth(Cars cars) { + if(cars.getIdList() == null || cars.getIdList() == null + ||cars.getAuthTimeType() == null + ||cars.getAuthTimeType()>2 + ||cars.getAuthTimeType()<0 ){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + MPJLambdaWrapper<Cars> queryWrapper = new MPJLambdaWrapper<>(); + queryWrapper.selectAll(Cars.class); + queryWrapper.selectAs(Member::getStartTime,Cars::getMemberStartTime); + queryWrapper.selectAs(Member::getEndTime,Cars::getMemberEndTime); + queryWrapper.selectAs(Member::getIsdeleted,Cars::getMemberDeleted); + queryWrapper.selectAs(Member::getAuthStatus,Cars::getMemberAuthStatus); + queryWrapper.leftJoin(Member.class,Member::getId,Cars::getMemberId); + queryWrapper.eq(Cars::getIsdeleted,Constants.ZERO) + .in(Cars::getId,cars.getIdList()); + List<Cars> carsList = carsMapper.selectList( queryWrapper); + if(carsList== null || carsList.size() ==0){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"杞﹁締淇℃伅鏈夎锛岃杩斿洖鍒锋柊椤甸潰閲嶈瘯锛�"); + } + List<Parks> parksList = null; + if(cars.getParkIdList()!=null && cars.getParkIdList().size() > 0){ + MPJLambdaWrapper<Parks> queryWrapper1 = new MPJLambdaWrapper<>(); + queryWrapper1.selectAll(Parks.class); + queryWrapper1.eq(Parks::getIsdeleted,Constants.ZERO) + .in(Parks::getId,cars.getParkIdList()); + parksList = parksMapper.selectList( queryWrapper1); + if(parksList== null || parksList.size() ==0){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鍋滆溅鍦轰俊鎭湁璇紝璇疯繑鍥炲埛鏂伴〉闈㈤噸璇曪紒"); + } + } + + if(Constants.equalsInteger(cars.getAuthTimeType(),Constants.ONE)){ + if( cars.getStartTime() ==null || cars.getEndTime() == null ){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝璇峰~鍐欐纭殑鏈夋晥鏈熻寖鍥�"); + } + if( cars.getEndTime().getTime() < System.currentTimeMillis()){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鏈夋晥鏈熸埅姝㈡棩鏈熶笉鑳藉皬浜庡綋鍓嶆椂闂达紒"); + } + if(cars.getEndTime().getTime() <= cars.getStartTime().getTime()){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鏈夋晥鏈熸埅姝㈡棩鏈熶笉鑳藉皬浜庡紑濮嬫椂闂达紒"); + } + } + Date date = new Date(); + for(Cars model : carsList){ + Date startTime = cars.getStartTime(); + Date endTime = cars.getEndTime(); + if(Constants.equalsInteger(cars.getAuthTimeType(),Constants.TWO)){ + if(!Constants.equalsInteger(model.getMemberAuthStatus(),Constants.ONE)){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝杞﹁締銆�"+model.getCode()+"銆戣溅涓诲皻鏈巿鏉冮棬绂佷俊鎭紝鎺堟潈鏃犳硶銆愯窡闅忚溅涓汇�戞湁鏁堟湡锛�"); + } + startTime = model.getMemberStartTime(); + endTime=model.getMemberEndTime(); + } + model.setAuthTimeType(cars.getAuthTimeType()); + model.setStartTime(startTime); + model.setEndTime(endTime); + dealCarAuthByModel(model,cars.getLoginUserInfo(),parksList,date); + model.setAuthStatus(Constants.ONE);//宸叉巿鏉� + carsMapper.update(null,new UpdateWrapper<Cars>().lambda() + .eq(Cars::getId,model.getId()) + .set(Cars::getEditDate,date) + .set(Cars::getEdirot,cars.getLoginUserInfo().getId()) + .set(Cars::getAuthStatus,Constants.ONE) + .set(Cars::getStartTime,startTime) + .set(Cars::getEndTime,endTime) + ); + } + return "鎺堟潈鎴愬姛"; + + } + + private int dealCarAuthByModel(Cars model, LoginUserInfo loginUserInfo, List<Parks> parksList,Date date) { + //鍒犻櫎杞﹂噺搴撹褰曟暟鎹� + parkBookMapper.update(null,new UpdateWrapper<ParkBook>().lambda() + .eq(ParkBook::getCarCode,model.getCode()) + .set(ParkBook::getIsdeleted,Constants.ONE) + .set(ParkBook::getHkStatus,Constants.ZERO) + ); + if(org.apache.commons.collections.CollectionUtils.isNotEmpty(parksList)){ + List<ParkBook> parkBookList = new ArrayList<>(); + for (Parks parks:parksList) { + ParkBook parkBook = new ParkBook(); + parkBook.setIsdeleted(Constants.ZERO); + parkBook.setCreateDate(date); + parkBook.setCreator(loginUserInfo.getId()); + parkBook.setEditor(loginUserInfo.getId()); + parkBook.setEditDate(date); + parkBook.setCarCode(model.getCode()); + parkBook.setParkId(parks.getId()); + parkBook.setOrigin(Constants.ZERO); + parkBook.setStartTime(model.getStartTime()); + parkBook.setEndTime(model.getEndTime()); + parkBook.setTimeType(model.getAuthTimeType()); + parkBook.setMemberId(model.getMemberId()); + parkBook.setHkStatus(Constants.ZERO); + parkBook.setRemark("寰呭悓姝ュ畨闃插钩鍙�"); + parkBookList.add(parkBook); + } + parkBookMapper.insertBatchSomeColumn(parkBookList); + } + return 0; + } @Override public ParkBook findOne(ParkBook parkBook) { -- Gitblit v1.9.3