package com.charging.chargingparking.modules.backController; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.charging.chargingparking.dto.MessageResult; import com.charging.chargingparking.dto.PojoUtils; import com.charging.chargingparking.entity.ParkingInfo; import com.charging.chargingparking.entity.ParkingPay; import com.charging.chargingparking.entity.ParkingRecord; import com.charging.chargingparking.modules.common.dto.Sort; import com.charging.chargingparking.service.ParkingInfoService; import com.charging.chargingparking.service.ParkingPayService; import com.charging.chargingparking.service.ParkingRecordService; import com.charging.chargingparking.service.ParkingUserRelationService; import com.charging.chargingparking.sys.service.UserService; import com.charging.chargingparking.utils.StringUtils; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * @author qxyzm * @date 2022/6/14 0014 上午 9:34 */ @RestController @Slf4j @RequestMapping("/backParkingPay") public class BackParkingPayController { private Logger logger = LoggerFactory.getLogger(getClass()); @Autowired private ParkingRecordService parkingRecordService; @Autowired private ParkingPayService parkingPayService; @Autowired private UserService userService; @Autowired private ParkingInfoService parkingInfoService; @Autowired private ParkingUserRelationService parkingUserRelationService; @PostMapping("parkingPayList") public MessageResult parkingPayList(String parkingName, @RequestParam Integer pageSize, @RequestParam Integer pageIndex) { MessageResult messageResult = new MessageResult<>(); try{ QueryWrapper parkingInfoQueryWrapper = new QueryWrapper<>(); parkingInfoQueryWrapper.like("parking_name",parkingName); Page page = parkingPayService.page(new Page<>(pageIndex,pageSize),parkingInfoQueryWrapper); messageResult.setData(page); messageResult.setResult(true); }catch (Exception ex){ log.error(ex.getMessage(),ex); messageResult.setResult(false); } return messageResult; } @ApiOperation(value="获取信息") @GetMapping("edit/{id}") public MessageResult edit(@PathVariable("id") String id){ MessageResult msgResult = new MessageResult<>(); try { ParkingPay parkingPayInfo = parkingPayService.getById(id); ParkingRecord parkingRecord = parkingRecordService.getById(parkingPayInfo.getParkingRecordId()); if (parkingRecord != null) { parkingPayInfo.setCarNum(parkingRecord.getCarNum()); } if (parkingPayInfo != null) { msgResult.setResult(true); msgResult.setData(parkingPayInfo); } else { msgResult.setResult(false); msgResult.setMessage("数据库不存在该记录!"); } } catch(Exception ex){ logger.error(ex.getMessage(),ex); msgResult.setResult(false); msgResult.setMessage(ex.getMessage()); } return msgResult; } @ApiOperation(value = "列表") @RequestMapping(value = "pageList", method = RequestMethod.POST) public MessageResult pageList( String carNum, String payTimeRange,String parkingName, @RequestParam(value = "pageIndex", defaultValue = "1") int pageIndex, @RequestParam(value = "pageSize", defaultValue = "20") int pageSize, @RequestAttribute String subject) { //当前用户ID System.out.println(subject); MessageResult msgResult = new MessageResult<>(); Map searchParams = new HashMap<>(); List sortList = new ArrayList<>(); sortList.add(new Sort("a.create_time", "desc")); if (StringUtils.isNotEmpty(carNum)) { searchParams.put("carNum", "%" + carNum + "%"); } if (StringUtils.isNotEmpty(parkingName)) { searchParams.put("parkingName", parkingName); } if (StringUtils.isNotEmpty(payTimeRange)) { String[] timeRangeArray = payTimeRange.split(","); String startTime = ""; String endTime = ""; if (timeRangeArray.length == 1) { startTime = timeRangeArray[0]; //startTime += " 00:00:00"; } else if (timeRangeArray.length == 2) { startTime = timeRangeArray[0]; endTime = timeRangeArray[1]; //startTime += " 00:00:00"; //endTime += " 23:59:59"; } searchParams.put("pay_time_start", startTime); searchParams.put("pay_time_end", endTime); } if(!userService.hasRole(subject,"SYSADMIN")) { searchParams.put("filterParkingList", parkingUserRelationService.findByUserId(subject)); } com.github.pagehelper.Page page = parkingPayService.pageSearch(searchParams, pageIndex, pageSize, sortList); for (ParkingPay parkingPay : page) { ParkingRecord parkingRecord = parkingRecordService.getById(parkingPay.getParkingRecordId()); if (parkingRecord != null) { parkingPay.setCarNum(parkingRecord.getCarNum()); ParkingInfo parkingInfo = parkingInfoService.getById(parkingRecord.getParkId()); parkingPay.setParkingName(parkingInfo.getParkingName()); } } msgResult.setResult(true); msgResult.setData(PojoUtils.pageWrapper(page)); return msgResult; } @ApiOperation(value = "汇总") @RequestMapping(value = "amountSummary", method = RequestMethod.POST) public MessageResult amountSummary( String carNum, String payTimeRange,String parkingName, @RequestParam(value = "pageIndex", defaultValue = "1") int pageIndex, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize, @RequestAttribute String subject) { //当前用户ID System.out.println(subject); MessageResult msgResult = new MessageResult<>(); Map searchParams = new HashMap<>(); List sortList = new ArrayList<>(); sortList.add(new Sort("a.create_time", "desc")); if (StringUtils.isNotEmpty(carNum)) { searchParams.put("carNum", "%" + carNum + "%"); } if (StringUtils.isNotEmpty(parkingName)) { searchParams.put("parkingName", parkingName); } if (StringUtils.isNotEmpty(payTimeRange)) { String[] timeRangeArray = payTimeRange.split(","); String startTime = ""; String endTime = ""; if (timeRangeArray.length == 1) { startTime = timeRangeArray[0]; //startTime += " 00:00:00"; } else if (timeRangeArray.length == 2) { startTime = timeRangeArray[0]; endTime = timeRangeArray[1]; //startTime += " 00:00:00"; //endTime += " 23:59:59"; } searchParams.put("pay_time_start", startTime); searchParams.put("pay_time_end", endTime); } if(!userService.hasRole(subject,"SYSADMIN")) { searchParams.put("filterParkingList", parkingUserRelationService.findByUserId(subject)); } com.github.pagehelper.Page page = parkingPayService.pageSummary(searchParams, pageIndex, pageSize, sortList); msgResult.setResult(true); msgResult.setData(PojoUtils.pageWrapper(page)); return msgResult; } }