|  |  | 
 |  |  | package com.doumee.service.business.impl; | 
 |  |  |  | 
 |  |  | import cn.hutool.core.util.IdcardUtil; | 
 |  |  | import cn.hutool.core.util.PhoneUtil; | 
 |  |  | 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.doumee.core.annotation.excel.ExcelImporter; | 
 |  |  | 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.service.business.third.model.LoginUserInfo; | 
 |  |  | import com.doumee.service.business.third.model.PageData; | 
 |  |  | import com.doumee.service.business.third.model.PageWrap; | 
 |  |  | import com.doumee.core.utils.Constants; | 
 |  |  | import com.doumee.core.utils.DESUtil; | 
 |  |  | import com.doumee.core.utils.ScientificNotationTUtil; | 
 |  |  | import com.doumee.core.utils.Utils; | 
 |  |  | import com.doumee.dao.admin.request.CarsImport; | 
 |  |  | import com.doumee.dao.admin.request.CarsQuery; | 
 |  |  | import com.doumee.dao.admin.request.MemberImport; | 
 |  |  | import com.doumee.dao.admin.response.CarsDTO; | 
 |  |  | import com.doumee.dao.business.*; | 
 |  |  | import com.doumee.dao.business.dao.CompanyMapper; | 
 |  |  | import com.doumee.dao.business.dao.MemberMapper; | 
 |  |  | import com.doumee.dao.business.join.CarJoinMapper; | 
 |  |  | import com.doumee.dao.business.join.ParkBookJoinMapper; | 
 |  |  | import com.doumee.dao.business.model.*; | 
 |  |  | import com.doumee.dao.business.model.Member; | 
 |  |  | import com.doumee.dao.system.model.SystemUser; | 
 |  |  | import com.doumee.service.business.CarsService; | 
 |  |  | import com.doumee.service.business.impl.hksync.HkSyncParkServiceImpl; | 
 |  |  | 
 |  |  |         } | 
 |  |  |         Date date = new Date(); | 
 |  |  |         //删除已授权下发的包期授权 | 
 |  |  |         dealCancelBookBiz(car.getCode(),date); | 
 |  |  |         Cars model = new Cars(); | 
 |  |  |         model.setEditDate(date); | 
 |  |  |         model.setEdirot(user.getId()); | 
 |  |  |         model.setId(id); | 
 |  |  |         model.setIsdeleted(Constants.ONE); | 
 |  |  |         dealCancelBookBiz(car.getCode(),date,parkBookJoinMapper); | 
 |  |  | //        Cars model = new Cars(); | 
 |  |  | //        model.setEditDate(date); | 
 |  |  | //        model.setEdirot(user.getId()); | 
 |  |  | //        model.setId(id); | 
 |  |  | //        model.setIsdeleted(Constants.ONE); | 
 |  |  |         carsMapper.update(null,new UpdateWrapper<Cars>().lambda() | 
 |  |  |                 .eq(Cars::getId,model.getId()) | 
 |  |  |                 .eq(Cars::getId,id) | 
 |  |  |                 .set(Cars::getStartTime,null) | 
 |  |  |                 .set(Cars::getEndTime,null) | 
 |  |  |                 .set(Cars::getAuthTimeType,null) | 
 |  |  |                 .set(Cars::getAuthStatus,Constants.ZERO) | 
 |  |  |                 .set(Cars::getIsdeleted,Constants.ONE) | 
 |  |  |                 .set(Cars::getEditDate,model.getEditDate()) | 
 |  |  |                 .set(Cars::getEdirot,model.getEdirot()) | 
 |  |  |                 .set(Cars::getEditDate,date) | 
 |  |  |                 .set(Cars::getEdirot,user.getId()) | 
 |  |  |         ); | 
 |  |  |         carsMapper.updateById(model); | 
 |  |  | //        carsMapper.updateById(model); | 
 |  |  |     } | 
 |  |  |     public   boolean  dealCancelBookBiz(String code,Date date){ | 
 |  |  |     public static    boolean  dealCancelBookBiz(String code,Date date,ParkBookMapper parkBookJoinMapper){ | 
 |  |  |  | 
 |  |  |         List<ParkBook> parkBooks = parkBookJoinMapper.selectJoinList(ParkBook.class,new MPJLambdaWrapper<ParkBook>() | 
 |  |  |                 .selectAll(ParkBook.class ) | 
 |  |  | 
 |  |  |         model.setHkStatus(Constants.ZERO); | 
 |  |  |         model.setRemark(""); | 
 |  |  |         model.setAuthStatus(Constants.ZERO); | 
 |  |  |         dealCancelBookBiz(car.getCode(),model.getEditDate()); | 
 |  |  |         dealCancelBookBiz(car.getCode(),model.getEditDate(),parkBookJoinMapper); | 
 |  |  |         carsMapper.update(null,new UpdateWrapper<Cars>().lambda() | 
 |  |  |                 .eq(Cars::getId,model.getId()) | 
 |  |  |                 .set(Cars::getAuthStatus,Constants.ZERO) | 
 |  |  | 
 |  |  |                 .set(Cars::getEditDate,model.getEditDate()) | 
 |  |  |                 .set(Cars::getEdirot,model.getEdirot()) | 
 |  |  |                 .set(Cars::getMemberId,model.getMemberId()) | 
 |  |  |                 .set(Cars::getAuthTimeType,null) | 
 |  |  |                 .set(Cars::getStartTime,null) | 
 |  |  |                 .set(Cars::getEndTime,null) | 
 |  |  |         ); | 
 |  |  | 
 |  |  |         queryWrapper.selectAs(Member::getName,Cars::getMemberName); | 
 |  |  |         queryWrapper.selectAs(SystemUser::getRealname,Cars::getEditorName); | 
 |  |  |         queryWrapper.selectAs(Member::getPhone,Cars::getMemberPhone); | 
 |  |  |         queryWrapper.selectAs(Member::getSex,Cars::getMemberSex); | 
 |  |  |         queryWrapper.selectAs(Member::getIdcardDecode,Cars::getMemberCard); | 
 |  |  |         queryWrapper.selectAs(Company::getCompanyNamePath,Cars::getCompanyName); | 
 |  |  |         queryWrapper.selectAs(Category::getParentId,Cars::getCatePId); | 
 |  |  |         queryWrapper.selectAs(Category::getName,Cars::getCateName); | 
 |  |  | 
 |  |  |                 .or().like(Member::getPhone,pageWrap.getModel().getMemberName())); | 
 |  |  |         queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),Company::getCompanyNamePath,pageWrap.getModel().getCompanyName()); | 
 |  |  |         queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getMemberType()),Member::getType,pageWrap.getModel().getMemberType()); | 
 |  |  |         queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getCateId()),Category::getId,pageWrap.getModel().getCateId()); | 
 |  |  |         queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getCatePId()),Category::getParentId,pageWrap.getModel().getCatePId()); | 
 |  |  |         queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getCode()),Cars::getCode,pageWrap.getModel().getCode()); | 
 |  |  |         queryWrapper.eq(Cars::getIsdeleted,Constants.ZERO); | 
 |  |  | 
 |  |  |                     .in(ParkBook::getCarCode,codes) | 
 |  |  |                     .eq(ParkBook::getIsdeleted,Constants.ZERO) ); | 
 |  |  |             for(Cars cars :result.getRecords()){ | 
 |  |  |                cars.setParkBookList(getParkbookListByCode(cars.getCode(),parkBooks)); | 
 |  |  |                 if(StringUtils.isNotBlank(cars.getCateName())){ | 
 |  |  |                     cars.setGroupCateName(StringUtils.defaultString(cars.getCatePName(),"") + "/" + StringUtils.defaultString(cars.getCateName(),"")); | 
 |  |  |                 } | 
 |  |  |                cars.setParkBookList(getParkbookListByCode(cars,parkBooks)); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         return PageData.from(result); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     private List<ParkBook> getParkbookListByCode(String code, List<ParkBook> parkBooks) { | 
 |  |  |     private List<ParkBook> getParkbookListByCode(Cars car, List<ParkBook> parkBooks) { | 
 |  |  |         List<ParkBook> list =null; | 
 |  |  |         String name = ""; | 
 |  |  |         for(ParkBook p : parkBooks){ | 
 |  |  |             if(StringUtils.equals(p.getCarCode(),code)){ | 
 |  |  |             if(StringUtils.equals(p.getCarCode(),car.getCode())){ | 
 |  |  |                 if(list == null){ | 
 |  |  |                     list = new ArrayList<>(); | 
 |  |  |                 } | 
 |  |  |                 name += p.getParksName(); | 
 |  |  |                 list.add(p); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         car.setParksName(name); | 
 |  |  |         return  list; | 
 |  |  |     } | 
 |  |  |  |