From 76e9e8e05cbe7dafeba51a235386f20ebf986e25 Mon Sep 17 00:00:00 2001 From: wang-hao-jie <1550036656@qq.com> Date: 星期一, 27 十二月 2021 11:54:35 +0800 Subject: [PATCH] 违章记录 --- xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/CarController.java | 168 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 168 insertions(+), 0 deletions(-) diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/CarController.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/CarController.java new file mode 100644 index 0000000..7fd6d1d --- /dev/null +++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/CarController.java @@ -0,0 +1,168 @@ +package cn.exrick.xboot.your.controller; + +import cn.exrick.xboot.core.common.utils.PageUtil; +import cn.exrick.xboot.core.common.utils.ResultUtil; +import cn.exrick.xboot.core.common.vo.PageVo; +import cn.exrick.xboot.core.common.vo.Result; +import cn.exrick.xboot.your.entity.AddOil; +import cn.exrick.xboot.your.entity.Car; +import cn.exrick.xboot.your.entity.DrivingRecord; +import cn.exrick.xboot.your.entity.Suggest; +import cn.exrick.xboot.your.service.IAddOilService; +import cn.exrick.xboot.your.service.ICarService; +import cn.exrick.xboot.your.service.IDrivingRecordService; +import cn.exrick.xboot.your.vo.CarVo; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.segments.MergeSegments; +import com.baomidou.mybatisplus.core.metadata.IPage; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.transaction.annotation.Transactional; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * @author zhangzeli + */ +@Slf4j +@RestController +@Api(tags = "杞﹁締琛ㄧ鐞嗘帴鍙�") +@RequestMapping("/xboot/car") +@Transactional +public class CarController { + + @Autowired + private ICarService iCarService; + @Autowired + private IAddOilService iAddOilService; + @Autowired + private IDrivingRecordService iDrivingRecordService; + + @RequestMapping(value = "/get/{id}", method = RequestMethod.GET) + @ApiOperation(value = "閫氳繃id鑾峰彇") + public Result<Car> get(@PathVariable String id) { + + Car car = iCarService.getById(id); + return new ResultUtil<Car>().setData(car); + } + + @RequestMapping(value = "/getAllCar", method = RequestMethod.GET) + @ApiOperation(value = "鑾峰彇鍏ㄩ儴鏁版嵁") + public Result<List<Car>> getAllCar() { + + List<Car> list = iCarService.list(); + return new ResultUtil<List<Car>>().setData(list); + } + + @RequestMapping(value = "/getAll", method = RequestMethod.GET) + @ApiOperation(value = "鑾峰彇鍏ㄩ儴鏁版嵁") + public Result<List<CarVo>> getAll(String beginTime,String endTime) { + List<CarVo> carVos = new ArrayList<>(); + List<Car> list = iCarService.getAll2(); + for (Car car:list){ + CarVo carVo = new CarVo(); + //鍔犳补淇℃伅 + QueryWrapper<AddOil> queryWrapper = new QueryWrapper<>(); + queryWrapper.select("sum(money) as money,sum(amount) as amount").eq("car_id", car.getId()); + + + //浠庡彂杞︽椂闂磋椹堕噷绋嬪垽鏂垵濮嬮噷绋� + QueryWrapper<DrivingRecord> wrapper = new QueryWrapper<>(); + wrapper.select("min(mileage) as beginMileage,max(mileage) as endMileage").eq("car_id",car.getId()); + + wrapper.ge(beginTime!=null && beginTime!="","out_time",beginTime); + queryWrapper.ge(beginTime!=null && beginTime!="","add_date",beginTime); + + wrapper.le(endTime!=null && endTime!="","in_time",endTime); + queryWrapper.le(endTime!=null && endTime!="","add_date",beginTime); + + DrivingRecord drivingRecord = iDrivingRecordService.getOne(wrapper); + + AddOil addOil = iAddOilService.getOne(queryWrapper); + + if (addOil!=null){ + carVo.setMoney(addOil.getMoney()); + carVo.setOilWear(addOil.getAmount()); + } + + if (drivingRecord!=null) { + carVo.setBeginMileage(drivingRecord.getBeginMileage()); + carVo.setEndMileage(drivingRecord.getEndMileage()); + } + + carVo.setCar(car); + carVos.add(carVo); + } + return new ResultUtil<List<CarVo>>().setData(carVos); + } + @RequestMapping(value = "/getInfo", method = RequestMethod.GET) + @ApiOperation(value = "閫氳繃杞﹁締id鑾峰彇") + public Result<List<Car>> getInfo(String beginTime,String endTime) { + QueryWrapper<Car> wrapper = new QueryWrapper<>(); + wrapper.ge(beginTime!=null && beginTime!="","a.add_date",beginTime); + wrapper.le(endTime!=null && endTime!="","a.add_date",endTime); + wrapper.groupBy("car_no"); + List<Car> list2 = iCarService.getCarInfo2(wrapper); + List<Car> list = iCarService.getCarInfo(); + for (Car car:list2){ + for (Car car1:list){ + if (car.getId().equals(car1.getId())){ + car1.setAmount(car.getAmount()); + car1.setMileage(car.getMileage()); + car1.setMoney(car.getMoney()); + continue; + } + } + } + return new ResultUtil<List<Car>>().setData(list); + } + + @RequestMapping(value = "/getByPage", method = RequestMethod.GET) + @ApiOperation(value = "鍒嗛〉鑾峰彇") + public Result<IPage<Car>> getByPage(String carNo,PageVo page) { + QueryWrapper<Car> wrapper = new QueryWrapper<>(); + if(!StrUtil.isEmpty(carNo)){ + wrapper.like("a.car_no","%"+carNo+"%"); + } + IPage<Car> data = iCarService.page2(PageUtil.initMpPage(page),wrapper); + return new ResultUtil<IPage<Car>>().setData(data); + } + + @RequestMapping(value = "/insertOrUpdate", method = RequestMethod.POST) + @ApiOperation(value = "缂栬緫鎴栨洿鏂版暟鎹�") + public Result<Car> saveOrUpdate(Car car) { + + if (iCarService.saveOrUpdate(car)) { + return new ResultUtil<Car>().setData(car); + } + return new ResultUtil<Car>().setErrorMsg("鎿嶄綔澶辫触"); + } + + @RequestMapping(value = "/bindCar", method = RequestMethod.POST) + @ApiOperation(value = "缁戝畾杞﹁締浜哄憳") + public Result<Car> bindCar(String carId,String userId) { + Car car = iCarService.getById(carId); + car.setUserId(userId); + iCarService.saveOrUpdate(car); + return ResultUtil.success("缁戝畾鎴愬姛"); + } + + @RequestMapping(value = "/delByIds", method = RequestMethod.POST) + @ApiOperation(value = "鎵归噺閫氳繃id鍒犻櫎") + public Result<Object> delAllByIds(@RequestParam String[] ids) { + + for (String id : ids) { + iCarService.removeById(id); + } + return ResultUtil.success("鎵归噺閫氳繃id鍒犻櫎鏁版嵁鎴愬姛"); + } +} -- Gitblit v1.9.1