From 8a038cf6f0792cfe260a94e86d954b50f068e758 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期五, 07 二月 2025 16:55:41 +0800 Subject: [PATCH] bug修改 --- ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java | 102 ++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 93 insertions(+), 9 deletions(-) diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java index 8d71d90..7b17c17 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.chargingPile.api.dto.GetSiteListDTO; +import com.ruoyi.chargingPile.api.feignClient.PartnerClient; import com.ruoyi.chargingPile.api.feignClient.SiteClient; import com.ruoyi.chargingPile.api.model.TParkingLot; import com.ruoyi.chargingPile.api.model.TParkingRecord; @@ -25,9 +26,13 @@ import com.ruoyi.common.log.enums.BusinessType; import com.ruoyi.common.log.enums.OperatorType; import com.ruoyi.common.security.service.TokenService; +import com.ruoyi.common.security.annotation.Logical; +import com.ruoyi.common.security.annotation.RequiresPermissions; import com.ruoyi.order.api.query.TOrderInvoiceQuery; import com.ruoyi.order.api.vo.TCharingUserEquimentVO; import com.ruoyi.order.api.vo.TOrderInvoiceVO; +import com.ruoyi.system.api.domain.SysUser; +import com.ruoyi.system.api.feignClient.SysUserClient; import io.swagger.annotations.ApiOperation; import org.apache.poi.ss.usermodel.Workbook; import org.springframework.beans.BeanUtils; @@ -67,22 +72,50 @@ private SiteClient siteClient; @Resource private TokenService tokenService; + @Resource + private PartnerClient partnerClient; + @Resource + private SysUserClient sysUserClient; + @RequiresPermissions(value = {"/parkingRecord"}, logical = Logical.OR) @ApiOperation(tags = {"后台-订单管理-停车记录"},value = "列表") @PostMapping(value = "/page") public R<Page<TParkingRecord>> page(@RequestBody ParkingRecordPageQuery query) { Long userid = tokenService.getLoginUser().getUserid(); + SysUser sysUser = sysUserClient.getSysUser(tokenService.getLoginUser().getUserid()).getData(); + Integer roleType = sysUser.getRoleType(); List<Integer> siteIds = new ArrayList<>(); - List<GetSiteListDTO> data = siteClient.getSiteListByUserId(userid).getData(); - for (GetSiteListDTO datum : data) { - siteIds.add(datum.getId()); + List<GetSiteListDTO> data = siteClient.getSiteListByUserId(userid).getData(); + for (GetSiteListDTO datum : data) { + siteIds.add(datum.getId()); + } + if (siteIds.isEmpty()){ + siteIds.add(-1); + }else{ + if (roleType == 2){ + List<Integer> integers = new ArrayList<>(); + for (Integer siteId : siteIds) { + // 校验有没有这个站点的权限 + List<Boolean> t1= partnerClient.parkingRecordListMenu(sysUser.getObjectId(),siteId).getData(); + + Boolean b = t1.get(1); + if (b){ + integers.add(siteId); + } + } + siteIds = integers; } - List<TParkingLot> list = parkingLotService.lambdaQuery().in(!siteIds.isEmpty(), TParkingLot::getSiteId, siteIds).list(); + } + if (siteIds.isEmpty()){ + siteIds.add(-1); + } + List<TParkingLot> list = parkingLotService.lambdaQuery().in( TParkingLot::getSiteId, siteIds).list(); List<Integer> ids = new ArrayList<>(); for (TParkingLot tParkingLot : list) { ids.add(tParkingLot.getId()); } + String s1 = ""; String s2 = ""; @@ -91,6 +124,7 @@ s2 = query.getTimePeriod().split(" - ")[1]; } Page<TParkingRecord> page = parkingRecordService.lambdaQuery() + .in(null != ids && ids.size() > 0, TParkingRecord::getParkingLotId,ids) .like(query.getLicensePlate() != null, TParkingRecord::getLicensePlate, query.getLicensePlate()) .eq(query.getStatus() != null, TParkingRecord::getStatus, query.getStatus()) .eq(query.getOutParkingType() != null, TParkingRecord::getOutParkingType, query.getOutParkingType()) @@ -105,16 +139,26 @@ record.setUid(record.getId().toString()); if (byId!=null) { record.setParkName(byId.getName()); + if (roleType==2){ + List<Boolean> data1 = partnerClient.parkingRecordListMenu(sysUser.getObjectId(), byId.getSiteId()).getData(); + record.setAuthInfo(data1.get(0)); + record.setAuthOut(data1.get(1)); + } } } return R.ok(page); } - + + + @RequiresPermissions(value = {"/parkingPaymentOrder"}, logical = Logical.OR) @ApiOperation(tags = {"后台-订单管理-停车记录"},value = "停车缴费订单列表") @PostMapping(value = "/pageList") public R<TParkingRecordPageInfoVO> pageList(@RequestBody ParkingRecordQuery query) { return R.ok(parkingRecordService.pageList(query)); } + + + @RequiresPermissions(value = {"/parkingPaymentOrder/export"}, logical = Logical.OR) @ApiOperation(tags = {"后台-订单管理-停车记录"},value = "导出") @PutMapping("/export") @Log(title = "【停车记录】导出停车记录", businessType = BusinessType.EXPORT,operatorType = OperatorType.MANAGE) @@ -160,12 +204,18 @@ } } } + + + + @ApiOperation(tags = {"后台-订单管理-停车记录"},value = "详情") @GetMapping(value = "/detail") public R<TParkingRecord> detail(Long id) { return R.ok(parkingRecordService.getById(id)); } - + + + @RequiresPermissions(value = {"/parkingRecord/already_appeared"}, logical = Logical.OR) @ApiOperation(tags = {"后台-订单管理-停车记录"},value = "出场") @GetMapping(value = "/out") @Log(title = "【停车记录】修改出场状态", businessType = BusinessType.UPDATE,operatorType = OperatorType.MANAGE) @@ -222,14 +272,31 @@ public void addParkingRecord(@RequestBody TParkingRecord parkingRecord){ parkingRecordService.save(parkingRecord); } - + + + @RequiresPermissions(value = {"/parkingOperationAnalysis"}, logical = Logical.OR) @ResponseBody @PostMapping(value = "/parking/data") @ApiOperation(value = "统计", tags = {"管理后台-数据分析-车场运营分析"}) public R<TParkLotRecordVO> data(@RequestBody ParkingRecordQueryDto parkingRecordQueryDto){ //上方折线图 TParkLotRecordVO tParkLotRecordVO = new TParkLotRecordVO(); - + // 查询当前登陆人按钮权限 + SysUser sysUser = sysUserClient.getSysUser(tokenService.getLoginUser().getUserid()).getData(); + Integer roleType = sysUser.getRoleType(); + Long userId = tokenService.getLoginUser().getUserid(); + //如果没传siteId,获取当前登陆人所有的siteIds + List<Integer> siteIds = new ArrayList<>(); + if (userId != null){ + List<GetSiteListDTO> data2 = siteClient.getSiteListByUserId(userId).getData(); + for (GetSiteListDTO datum : data2) { + siteIds.add(datum.getId()); + } + } + if (siteIds.isEmpty()){ + siteIds.add(-1); + } + parkingRecordQueryDto.setSiteIds(siteIds); if (parkingRecordQueryDto.getDayType()==1) { List<Map<String, Object>> maps = parkingRecordService.parkingData(parkingRecordQueryDto); @@ -307,6 +374,9 @@ return R.ok(tParkLotRecordVO); } + + + private static Map<String, Object> findMapWithTimeValue(List<Map<String, Object>> charMap1,String timeValue) { for (Map<String, Object> map : charMap1) { if (map.containsKey("time") && map.get("time").equals(timeValue)) { @@ -315,6 +385,8 @@ } return null; // 如果没有找到,返回 null } + + private Map<String, Object> findMapWithDateValue(List<Map<String, Object>> list, String date) { for (Map<String, Object> map : list) { @@ -324,6 +396,10 @@ } return null; } + + + + @RequiresPermissions(value = {"/workbench"}, logical = Logical.OR) @ResponseBody @PostMapping(value = "/parking/work") @ApiOperation(value = "停车订单统计", tags = {"管理后台-工作台"}) @@ -353,6 +429,11 @@ return R.ok(tParkLotRecordCountVo); } + + + + + @RequiresPermissions(value = {"/workbench"}, logical = Logical.OR) @ResponseBody @PostMapping(value = "/parking/work1") @ApiOperation(value = "停车订单统计", tags = {"管理后台-工作台"}) @@ -380,7 +461,10 @@ return R.ok(tParkLotRecordCountVo); } - + + + + @RequiresPermissions(value = {"/workbench"}, logical = Logical.OR) @ResponseBody @PostMapping(value = "/parking/income") @ApiOperation(value = "停车收入统计", tags = {"管理后台-工作台"}) -- Gitblit v1.7.1