From b8c20abe5c8a1ebd5227d5948ba310606fde5dc7 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期一, 16 十二月 2024 09:01:09 +0800 Subject: [PATCH] 合作商权限 --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderAppealController.java | 68 +++++++++++++++++++++++++++------ 1 files changed, 55 insertions(+), 13 deletions(-) diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderAppealController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderAppealController.java index 75fedb2..ec9cff0 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderAppealController.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderAppealController.java @@ -36,10 +36,7 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Set; +import java.util.*; /** * <p> @@ -97,19 +94,27 @@ @ApiOperation(tags = {"后台-订单管理-订单申诉"},value = "列表") @PostMapping(value = "/manage/pageList") public R<Page<TOrderAppeal>> managePageList(@RequestBody ManageOrderAppealQuery manageOrderAppealQuery) { + Integer pageCurr = manageOrderAppealQuery.getPageCurr(); + Integer pageSize = manageOrderAppealQuery.getPageSize(); Page<TOrderAppeal> page = orderAppealService.lambdaQuery().eq(manageOrderAppealQuery.getStatus() != null, TOrderAppeal::getStatus, manageOrderAppealQuery.getStatus()) .like(manageOrderAppealQuery.getCode() != null, TOrderAppeal::getCode, manageOrderAppealQuery.getCode()) .like(manageOrderAppealQuery.getPhone() != null, TOrderAppeal::getPhone, manageOrderAppealQuery.getPhone()) .eq(manageOrderAppealQuery.getOrderType() != null, TOrderAppeal::getOrderType, manageOrderAppealQuery.getOrderType()) .in(TOrderAppeal::getOrderType, 1, 2) .orderByDesc(TOrderAppeal::getCreateTime) - .page(Page.of(manageOrderAppealQuery.getPageCurr(), manageOrderAppealQuery.getPageSize())); + .page(Page.of(1, 99999999)); SysUser sysUser = sysUserClient.getSysUser(tokenService.getLoginUser().getUserid()).getData(); Integer roleType = sysUser.getRoleType(); List<TOrderAppeal> res = new ArrayList<>(); for (TOrderAppeal record : page.getRecords()) { + record.setUid(record.getId()+""); if (record.getOrderType()!=1){ res.add(record); + continue; + } + if(roleType!=2){ + res.add(record); + continue; } if (roleType == 2 && record.getOrderType()==1){ List<Integer> siteIds = new ArrayList<>(); @@ -121,6 +126,21 @@ } if (siteIds.isEmpty()){ siteIds.add(-1); + }else{ + List<Integer> integers = new ArrayList<>(); + for (Integer siteId : siteIds) { + // 校验有没有这个站点的权限 + List<Boolean> t1= partnerClient.managePageListMenu(sysUser.getObjectId(),siteId).getData(); + + Boolean b = t1.get(2); + if (b){ + integers.add(siteId); + } + } + siteIds = integers; + } + if (siteIds.isEmpty()){ + siteIds.add(-1); } TChargingOrder byId = chargingOrderService.getById(record.getOrderId()); if (byId!=null&&siteIds.contains(byId.getSiteId())){ @@ -130,18 +150,40 @@ record.setAuthInfo(data.get(0)); record.setAuthHandle(data.get(1)); } - - }else{ - res.add(record); + if (byId==null){ + record.setAuthInfo(false); + record.setAuthHandle(false); + } } - record.setUid(record.getId().toString()); } - + List<TOrderAppeal> res1 = testing4(res.size(), pageCurr, pageSize, res); + page.setCurrent(pageCurr); + page.setSize(pageSize); + page.setTotal(res.size()); + page.setRecords(res1); return R.ok(page); - - } - + public static List<TOrderAppeal> testing4(long total, long current, long size, List<TOrderAppeal> str){ + List<TOrderAppeal> result = new ArrayList<>(); + //获取初始化分页结构 + com.ruoyi.order.util.Page<TOrderAppeal> page = new com.ruoyi.order.util.Page().getPage(total, size, current - 1); + //获取集合下标初始值 + long startIndex = page.getStartIndex(); + //获取集合下标结束值 + long endInddex = 0; + if(startIndex + page.getCurrent() >= total || size > total){ + endInddex = total; + }else { + endInddex = Math.min(startIndex + page.getSize(), total); + } + //如果输入的开始查询下标大于集合大小,则查询为空值 + if(startIndex > total){ + result = Collections.emptyList(); + }else{ + result = str.subList((int)startIndex,(int)endInddex); + } + return result; + } @RequiresPermissions(value = {"/appealOrder/del"}, logical = Logical.OR) @ApiOperation(tags = {"后台-订单管理-订单申诉"},value = "删除") -- Gitblit v1.7.1