Pu Zhibing
2024-12-24 d02576529001d80ecde0c980e616c28f303ee6fa
Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile
18个文件已修改
1个文件已添加
791 ■■■■ 已修改文件
ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ParkingLotFallbackFactory.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/PartnerFallbackFactory.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ParkingLotClient.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/PartnerClient.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TOrderAppeal.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/PartnerController.java 158 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingLotController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/dto/ParkingRecordQueryDto.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TParkingRecordMapper.xml 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java 152 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderAppealController.java 68 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/PayOrderDto.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java 63 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java 73 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/Page.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingBillMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ParkingLotFallbackFactory.java
@@ -49,6 +49,11 @@
            public R<TParkingLot> getParkingLotByAppKey(String appKey) {
                return R.fail("根据停车场标识查询失败:" + throwable.getMessage());
            }
            @Override
            public R<Integer> getSiteIdByOrderId(Long id) {
                return null;
            }
        };
    }
}
ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/PartnerFallbackFactory.java
@@ -42,12 +42,12 @@
            }
            @Override
            public R<Boolean> getChargingBillMenu(Integer partnerId, Integer siteId) {
            public R<List<Boolean>> getChargingBillMenu(Integer partnerId, Integer siteId) {
                return R.fail("获取合作商授权的充电算帐单按钮权限失败:" + throwable.getMessage());
            }
            @Override
            public R<Boolean> getChargingOrderMenu(Integer partnerId, Integer siteId) {
            public R<List<Boolean>> getChargingOrderMenu(Integer partnerId, Integer siteId) {
                return null;
            }
@@ -62,7 +62,7 @@
            }
            @Override
            public R<Boolean> getAccountMenu(Integer partnerId, Integer siteId) {
            public R<List<Boolean>> getAccountMenu(Integer partnerId, Integer siteId) {
                return null;
            }
@@ -80,6 +80,11 @@
            public R<List<Boolean>> watchChargingOrder(Integer partnerId, Integer siteId) {
                return null;
            }
        };
            @Override
            public R<List<Boolean>> chargeEvaluation(Integer partnerId, Integer siteId) {
                return null;
            }
        };
    }
}
ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ParkingLotClient.java
@@ -43,4 +43,6 @@
     */
    @PostMapping(value = "/t-parking-lot/getParkingLotByAppKey")
    R<TParkingLot> getParkingLotByAppKey(@RequestParam("appKey") String appKey);
    @PostMapping(value = "/t-parking-lot/getSiteIdByOrderId")
    R<Integer> getSiteIdByOrderId(@RequestParam("id") Long id);
}
ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/PartnerClient.java
@@ -49,19 +49,21 @@
    @PostMapping("/partner/authMenu/{partnerId}")
    Boolean authMenu(@PathVariable("partnerId") Integer partnerId, @RequestParam("siteId") Integer siteId, @RequestParam("siteMenu") String siteMenu);
    @PostMapping("/partner/getChargingBillMenu/{partnerId}/{siteId}")
    R<Boolean> getChargingBillMenu(@PathVariable("partnerId")Integer partnerId,@PathVariable("siteId") Integer siteId);
    R<List<Boolean>> getChargingBillMenu(@PathVariable("partnerId")Integer partnerId,@PathVariable("siteId") Integer siteId);
    @PostMapping("/partner/getChargingOrderMenu/{partnerId}/{siteId}")
    R<Boolean> getChargingOrderMenu(@PathVariable("partnerId")Integer partnerId,@PathVariable("siteId") Integer siteId);
    R<List<Boolean>> getChargingOrderMenu(@PathVariable("partnerId")Integer partnerId,@PathVariable("siteId") Integer siteId);
    @PostMapping("/partner/getChargingListMenu/{partnerId}/{siteId}")
    R<List<Boolean>> getChargingListMenu(@PathVariable("partnerId")Integer partnerId, @PathVariable("siteId") Integer siteId);
    @PostMapping("/partner/getSettlementListMenu/{partnerId}/{siteId}")
    R<List<Boolean>> getSettlementListMenu(@PathVariable("partnerId")Integer partnerId, @PathVariable("siteId") Integer siteId);
    @PostMapping("/partner/getAccountMenu/{partnerId}/{siteId}")
    R<Boolean> getAccountMenu(@PathVariable("partnerId")Integer partnerId, @PathVariable("siteId") Integer siteId);
    R<List<Boolean>> getAccountMenu(@PathVariable("partnerId")Integer partnerId, @PathVariable("siteId") Integer siteId);
    @PostMapping("/partner/managePageListMenu/{partnerId}/{siteId}")
    R<List<Boolean>> managePageListMenu(@PathVariable("partnerId")Integer partnerId,@PathVariable("siteId") Integer siteId);
    @PostMapping("/partner/parkingRecordListMenu/{partnerId}/{siteId}")
    R<List<Boolean>> parkingRecordListMenu(@PathVariable("partnerId")Integer partnerId,@PathVariable("siteId") Integer siteId);
    @PostMapping("/partner/watchChargingOrder/{partnerId}/{siteId}")
    R<List<Boolean>> watchChargingOrder(@PathVariable("partnerId")Integer partnerId,@PathVariable("siteId") Integer siteId);
    @PostMapping("/partner/chargeEvaluation/{partnerId}/{siteId}")
    R<List<Boolean>> chargeEvaluation(@PathVariable("partnerId")Integer partnerId,@PathVariable("siteId") Integer siteId);
}
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TOrderAppeal.java
@@ -30,7 +30,9 @@
    @ApiModelProperty(value = "主键")
    @TableId(value = "id", type = IdType.NONE)
    private Long id;
    @ApiModelProperty(value = "uid")
    @TableField(exist = false)
    private String uid;
    @ApiModelProperty(value = "订单类型(1=充电订单,2=购物订单,3=兑换订单,4=会员订单)")
    @TableField("order_type")
    private Integer orderType;
@@ -70,8 +72,7 @@
    @ApiModelProperty(value = "申诉反馈")
    @TableField("feedback")
    private String feedback;
    @TableField(exist = false)
    private String uid;
    @ApiModelProperty(value = "查看按钮权限 ")
    @TableField(exist = false)
    private Boolean authInfo = true;
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/PartnerController.java
@@ -214,13 +214,29 @@
    }
    // 充电算帐单按钮权限
    @PostMapping("/getChargingBillMenu/{partnerId}/{siteId}")
    R<Boolean> getChargingBillMenu(@PathVariable("partnerId")Integer partnerId,@PathVariable("siteId") Integer siteId){
    R<List<Boolean>> getChargingBillMenu(@PathVariable("partnerId")Integer partnerId,@PathVariable("siteId") Integer siteId){
        TSiteMenu one = siteMenuService.getOne(new LambdaQueryWrapper<TSiteMenu>().eq(TSiteMenu::getPath, "/data/charge_bill_order/download").eq(TSiteMenu::getStatus, 0));
        TPartnerSite partnerSite = partnerSiteService.getOne(new LambdaQueryWrapper<TPartnerSite>()
                .eq(TPartnerSite::getPartnerId, partnerId)
                .eq(TPartnerSite::getSiteMenuId, one.getMenuId())
                .eq(TPartnerSite::getSiteId, siteId));
        return partnerSite!=null?R.ok(true):R.ok(false);
        TSiteMenu two = siteMenuService.getOne(new LambdaQueryWrapper<TSiteMenu>().eq(TSiteMenu::getPath, "/data/charge_bill_order").eq(TSiteMenu::getStatus, 0));
        TPartnerSite partnerSite1 = partnerSiteService.getOne(new LambdaQueryWrapper<TPartnerSite>()
                .eq(TPartnerSite::getPartnerId, partnerId)
                .eq(TPartnerSite::getSiteMenuId, two.getMenuId())
                .eq(TPartnerSite::getSiteId, siteId));
        List<Boolean> booleans = new ArrayList<>();
        if (partnerSite!=null){
            booleans.add(true);
        }else{
            booleans.add(false);
        }
        if (partnerSite1!=null){
            booleans.add(true);
        }else{
            booleans.add(false);
        }
        return R.ok(booleans);
    }
    // 充电时段统计按钮权限
    @PostMapping("/getChargingListMenu/{partnerId}/{siteId}")
@@ -236,6 +252,42 @@
                .eq(TPartnerSite::getPartnerId, partnerId)
                .eq(TPartnerSite::getSiteMenuId, two.getMenuId())
                .eq(TPartnerSite::getSiteId, siteId));
        TSiteMenu three = siteMenuService.getOne(new LambdaQueryWrapper<TSiteMenu>().eq(TSiteMenu::getPath, "/data/charging_period_statistics").eq(TSiteMenu::getStatus, 0));
        TPartnerSite partnerSite2 = partnerSiteService.getOne(new LambdaQueryWrapper<TPartnerSite>()
                .eq(TPartnerSite::getPartnerId, partnerId)
                .eq(TPartnerSite::getSiteMenuId, three.getMenuId())
                .eq(TPartnerSite::getSiteId, siteId));
        if (partnerSite!=null){
            booleans.add(true);
        }else{
            booleans.add(false);
        }
        if (partnerSite1!=null){
            booleans.add(true);
        }else{
            booleans.add(false);
        }
        if (partnerSite2!=null){
            booleans.add(true);
        }else{
            booleans.add(false);
        }
        return R.ok(booleans);
    }
    // 账户结算帐单按钮权限
    @PostMapping("/getAccountMenu/{partnerId}/{siteId}")
    R<List<Boolean>> getAccountMenu(@PathVariable("partnerId")Integer partnerId,@PathVariable("siteId") Integer siteId){
        TSiteMenu one = siteMenuService.getOne(new LambdaQueryWrapper<TSiteMenu>().eq(TSiteMenu::getPath, "/data/account_settlement/download").eq(TSiteMenu::getStatus, 0));
        TPartnerSite partnerSite = partnerSiteService.getOne(new LambdaQueryWrapper<TPartnerSite>()
                .eq(TPartnerSite::getPartnerId, partnerId)
                .eq(TPartnerSite::getSiteMenuId, one.getMenuId())
                .eq(TPartnerSite::getSiteId, siteId));
        TSiteMenu two = siteMenuService.getOne(new LambdaQueryWrapper<TSiteMenu>().eq(TSiteMenu::getPath, "/data/account_settlement").eq(TSiteMenu::getStatus, 0));
        TPartnerSite partnerSite1 = partnerSiteService.getOne(new LambdaQueryWrapper<TPartnerSite>()
                .eq(TPartnerSite::getPartnerId, partnerId)
                .eq(TPartnerSite::getSiteMenuId, two.getMenuId())
                .eq(TPartnerSite::getSiteId, siteId));
        List<Boolean> booleans = new ArrayList<>();
        if (partnerSite!=null){
            booleans.add(true);
        }else{
@@ -247,16 +299,6 @@
            booleans.add(false);
        }
        return R.ok(booleans);
    }
    // 账户结算帐单按钮权限
    @PostMapping("/getAccountMenu/{partnerId}/{siteId}")
    R<Boolean> getAccountMenu(@PathVariable("partnerId")Integer partnerId,@PathVariable("siteId") Integer siteId){
        TSiteMenu one = siteMenuService.getOne(new LambdaQueryWrapper<TSiteMenu>().eq(TSiteMenu::getPath, "/data/account_settlement/download").eq(TSiteMenu::getStatus, 0));
        TPartnerSite partnerSite = partnerSiteService.getOne(new LambdaQueryWrapper<TPartnerSite>()
                .eq(TPartnerSite::getPartnerId, partnerId)
                .eq(TPartnerSite::getSiteMenuId, one.getMenuId())
                .eq(TPartnerSite::getSiteId, siteId));
        return partnerSite!=null?R.ok(true):R.ok(false);
    }
    // 结算表记录按钮权限
    @PostMapping("/getSettlementListMenu/{partnerId}/{siteId}")
@@ -272,6 +314,42 @@
                .eq(TPartnerSite::getPartnerId, partnerId)
                .eq(TPartnerSite::getSiteMenuId, two.getMenuId())
                .eq(TPartnerSite::getSiteId, siteId));
        TSiteMenu three = siteMenuService.getOne(new LambdaQueryWrapper<TSiteMenu>().eq(TSiteMenu::getPath, "/data/balance_sheet_record").eq(TSiteMenu::getStatus, 0));
        TPartnerSite partnerSite2 = partnerSiteService.getOne(new LambdaQueryWrapper<TPartnerSite>()
                .eq(TPartnerSite::getPartnerId, partnerId)
                .eq(TPartnerSite::getSiteMenuId, three.getMenuId())
                .eq(TPartnerSite::getSiteId, siteId));
        if (partnerSite!=null){
            booleans.add(true);
        }else{
            booleans.add(false);
        }
        if (partnerSite1!=null){
            booleans.add(true);
        }else{
            booleans.add(false);
        }
        if (partnerSite2!=null){
            booleans.add(true);
        }else{
            booleans.add(false);
        }
        return R.ok(booleans);
    }
    // 充电桩订单按钮权限
    @PostMapping("/getChargingOrderMenu/{partnerId}/{siteId}")
    R<List<Boolean>> getChargingOrderMenu(@PathVariable("partnerId")Integer partnerId,@PathVariable("siteId") Integer siteId){
        TSiteMenu one = siteMenuService.getOne(new LambdaQueryWrapper<TSiteMenu>().eq(TSiteMenu::getPath, "/data/charging_pile_order/record").eq(TSiteMenu::getStatus, 0));
        TPartnerSite partnerSite = partnerSiteService.getOne(new LambdaQueryWrapper<TPartnerSite>()
                .eq(TPartnerSite::getPartnerId, partnerId)
                .eq(TPartnerSite::getSiteMenuId, one.getMenuId())
                .eq(TPartnerSite::getSiteId, siteId));
        TSiteMenu two = siteMenuService.getOne(new LambdaQueryWrapper<TSiteMenu>().eq(TSiteMenu::getPath, "/data/charging_pile_order").eq(TSiteMenu::getStatus, 0));
        TPartnerSite partnerSite1 = partnerSiteService.getOne(new LambdaQueryWrapper<TPartnerSite>()
                .eq(TPartnerSite::getPartnerId, partnerId)
                .eq(TPartnerSite::getSiteMenuId, two.getMenuId())
                .eq(TPartnerSite::getSiteId, siteId));
        List<Boolean> booleans = new ArrayList<>();
        if (partnerSite!=null){
            booleans.add(true);
        }else{
@@ -283,16 +361,6 @@
            booleans.add(false);
        }
        return R.ok(booleans);
    }
    // 充电桩订单按钮权限
    @PostMapping("/getChargingOrderMenu/{partnerId}/{siteId}")
    R<Boolean> getChargingOrderMenu(@PathVariable("partnerId")Integer partnerId,@PathVariable("siteId") Integer siteId){
        TSiteMenu one = siteMenuService.getOne(new LambdaQueryWrapper<TSiteMenu>().eq(TSiteMenu::getPath, "/data/charging_pile_order/record").eq(TSiteMenu::getStatus, 0));
        TPartnerSite partnerSite = partnerSiteService.getOne(new LambdaQueryWrapper<TPartnerSite>()
                .eq(TPartnerSite::getPartnerId, partnerId)
                .eq(TPartnerSite::getSiteMenuId, one.getMenuId())
                .eq(TPartnerSite::getSiteId, siteId));
        return partnerSite!=null?R.ok(true):R.ok(false);
    }
    // 订单申诉按钮权限
    @PostMapping("/managePageListMenu/{partnerId}/{siteId}")
@@ -308,12 +376,22 @@
                .eq(TPartnerSite::getPartnerId, partnerId)
                .eq(TPartnerSite::getSiteMenuId, two.getMenuId())
                .eq(TPartnerSite::getSiteId, siteId));
        TSiteMenu three = siteMenuService.getOne(new LambdaQueryWrapper<TSiteMenu>().eq(TSiteMenu::getPath, "/data/order_appeal").eq(TSiteMenu::getStatus, 0));
        TPartnerSite partnerSite2 = partnerSiteService.getOne(new LambdaQueryWrapper<TPartnerSite>()
                .eq(TPartnerSite::getPartnerId, partnerId)
                .eq(TPartnerSite::getSiteMenuId, three.getMenuId())
                .eq(TPartnerSite::getSiteId, siteId));
        if (partnerSite!=null){
            booleans.add(true);
        }else{
            booleans.add(false);
        }
        if (partnerSite1!=null){
            booleans.add(true);
        }else{
            booleans.add(false);
        }
        if (partnerSite2!=null){
            booleans.add(true);
        }else{
            booleans.add(false);
@@ -334,12 +412,22 @@
                .eq(TPartnerSite::getPartnerId, partnerId)
                .eq(TPartnerSite::getSiteMenuId, two.getMenuId())
                .eq(TPartnerSite::getSiteId, siteId));
        TSiteMenu three = siteMenuService.getOne(new LambdaQueryWrapper<TSiteMenu>().eq(TSiteMenu::getPath, "/data/parking_record").eq(TSiteMenu::getStatus, 0));
        TPartnerSite partnerSite2 = partnerSiteService.getOne(new LambdaQueryWrapper<TPartnerSite>()
                .eq(TPartnerSite::getPartnerId, partnerId)
                .eq(TPartnerSite::getSiteMenuId, three.getMenuId())
                .eq(TPartnerSite::getSiteId, siteId));
        if (partnerSite!=null){
            booleans.add(true);
        }else{
            booleans.add(false);
        }
        if (partnerSite1!=null){
            booleans.add(true);
        }else{
            booleans.add(false);
        }
        if (partnerSite2!=null){
            booleans.add(true);
        }else{
            booleans.add(false);
@@ -360,6 +448,11 @@
                .eq(TPartnerSite::getPartnerId, partnerId)
                .eq(TPartnerSite::getSiteMenuId, two.getMenuId())
                .eq(TPartnerSite::getSiteId, siteId));
        TSiteMenu three = siteMenuService.getOne(new LambdaQueryWrapper<TSiteMenu>().eq(TSiteMenu::getPath, "/data/charging_pile_order/monitoring_record").eq(TSiteMenu::getStatus, 0));
        TPartnerSite partnerSite2 = partnerSiteService.getOne(new LambdaQueryWrapper<TPartnerSite>()
                .eq(TPartnerSite::getPartnerId, partnerId)
                .eq(TPartnerSite::getSiteMenuId, three.getMenuId())
                .eq(TPartnerSite::getSiteId, siteId));
        if (partnerSite!=null){
            booleans.add(true);
        }else{
@@ -370,6 +463,27 @@
        }else{
            booleans.add(false);
        }
        if (partnerSite2!=null){
            booleans.add(true);
        }else{
            booleans.add(false);
        }
        return R.ok(booleans);
    }
    // 充电评价数据权限
    @PostMapping("/chargeEvaluation/{partnerId}/{siteId}")
    R<List<Boolean>> chargeEvaluation(@PathVariable("partnerId")Integer partnerId,@PathVariable("siteId") Integer siteId){
        List<Boolean> booleans = new ArrayList<>();
        TSiteMenu one = siteMenuService.getOne(new LambdaQueryWrapper<TSiteMenu>().eq(TSiteMenu::getPath, "/data/charge_evaluation").eq(TSiteMenu::getStatus, 0));
        TPartnerSite partnerSite = partnerSiteService.getOne(new LambdaQueryWrapper<TPartnerSite>()
                .eq(TPartnerSite::getPartnerId, partnerId)
                .eq(TPartnerSite::getSiteMenuId, one.getMenuId())
                .eq(TPartnerSite::getSiteId, siteId));
        if (partnerSite!=null){
            booleans.add(true);
        }else{
            booleans.add(false);
        }
        return R.ok(booleans);
    }
}
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingLotController.java
@@ -184,5 +184,11 @@
                .eq(TParkingLot::getAppKey, appKey).eq(TParkingLot::getDelFlag, 0));
        return R.ok(parkingLot);
    }
    @PostMapping(value = "/getSiteIdByOrderId")
    R<Integer> getSiteIdByOrderId(@RequestParam("id") Long id){
        TParkingRecord byId = parkingRecordService.getById(id);
        TParkingLot parkingLot = parkingLotService.getById(byId.getParkingLotId());
        return R.ok(parkingLot.getId());
    }
}
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java
@@ -82,11 +82,30 @@
    @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());
            }
            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;
                }
            }
            if (siteIds.isEmpty()){
                siteIds.add(-1);
@@ -97,6 +116,7 @@
            ids.add(tParkingLot.getId());
        }
        String s1 = "";
        String s2 = "";
        if (query.getTimePeriod()!=null){
@@ -104,6 +124,7 @@
             s2 = query.getTimePeriod().split(" - ")[1];
        }
        Page<TParkingRecord> page = parkingRecordService.lambdaQuery()
                .in(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())
@@ -112,8 +133,7 @@
                .between(query.getTimePeriod()!=null,TParkingRecord::getOutParkingTime,s1,s2)
                .orderByDesc(TParkingRecord::getCreateTime)
                .page(Page.of(query.getPageCurr(), query.getPageSize()));
        SysUser sysUser = sysUserClient.getSysUser(tokenService.getLoginUser().getUserid()).getData();
        Integer roleType = sysUser.getRoleType();
        for (TParkingRecord record : page.getRecords()) {
            TParkingLot byId = parkingLotService.getById(record.getParkingLotId());
            record.setUid(record.getId().toString());
@@ -122,7 +142,7 @@
                if (roleType==2){
                    List<Boolean> data1 = partnerClient.parkingRecordListMenu(sysUser.getObjectId(), byId.getSiteId()).getData();
                    record.setAuthInfo(data1.get(0));
                    record.setAuthInfo(data1.get(1));
                    record.setAuthOut(data1.get(1));
                }
            }
        }
@@ -261,7 +281,22 @@
    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);
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/dto/ParkingRecordQueryDto.java
@@ -4,6 +4,7 @@
import lombok.Data;
import java.time.LocalDate;
import java.util.List;
@Data
public class ParkingRecordQueryDto {
@@ -15,4 +16,6 @@
    private LocalDate startTime;
    @ApiModelProperty("结束时间")
    private LocalDate endTime;
    @ApiModelProperty("站点ids")
    private List<Integer> siteIds;
}
ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TParkingRecordMapper.xml
@@ -97,14 +97,21 @@
    </select>
    <select id="parkingData" resultType="java.util.Map">
        SELECT
            DATE_FORMAT( create_time, '%H:00' ) AS time,
            DATE_FORMAT( t1.create_time, '%H:00' ) AS time,
    count( 1 ) AS orders,
    SUM( timeout_amount ) AS timeoutAmount
    SUM( t1.timeout_amount ) AS timeoutAmount
        FROM
            t_parking_record
        where DATE(create_time ) = CURDATE()
            t_parking_record t1
        left join t_parking_lot t2  on t2.id = t1.parking_lot_id
        where DATE(t1.create_time ) = CURDATE()
        <if test="parkingRecordQueryDto.parkingLotId !=null">
            AND parking_lot_id = #{parkingRecordQueryDto.parkingLotId}
            AND t1.parking_lot_id = #{parkingRecordQueryDto.parkingLotId}
        </if>
        <if test="null != parkingRecordQueryDto.siteIds and parkingRecordQueryDto.siteIds.size()>0" >
            and t2.site_id in
            <foreach collection="parkingRecordQueryDto.siteIds" item="item" index="index" separator="," open="(" close=")">
                #{item}
            </foreach>
        </if>
        GROUP BY
            time
@@ -113,31 +120,39 @@
    </select>
    <select id="parkingDataByDate" resultType="java.util.Map">
        SELECT
            DATE_FORMAT( create_time, '%Y-%m-%d' ) AS time,
            DATE_FORMAT( t1.create_time, '%Y-%m-%d' ) AS time,
    count( 1 ) AS orders,
    SUM( timeout_amount ) AS timeoutAmount
    SUM( t1.timeout_amount ) AS timeoutAmount
        FROM
            t_parking_record
        t_parking_record t1
        left join t_parking_lot t2  on t2.id = t1.parking_lot_id
        <where>
            <if test="parkingRecordQueryDto.parkingLotId !=null">
                AND parking_lot_id = #{parkingRecordQueryDto.parkingLotId}
                AND t1.parking_lot_id = #{parkingRecordQueryDto.parkingLotId}
            </if>
            <if test="parkingRecordQueryDto.dayType == 2">
                AND WEEKOFYEAR( create_time ) = WEEKOFYEAR( CURDATE() )
                AND WEEKOFYEAR( t1.
            create_time ) = WEEKOFYEAR( CURDATE() )
            </if>
            <if test="parkingRecordQueryDto.dayType == 3">
                AND MONTH( create_time ) = MONTH(CURDATE())
                AND MONTH( t1.create_time ) = MONTH(CURDATE())
            </if>
            <if test="parkingRecordQueryDto.dayType == 4">
                AND YEAR( create_time ) = YEAR(CURDATE() )
                AND YEAR( t1.create_time ) = YEAR(CURDATE() )
            </if>
            <if test="parkingRecordQueryDto.dayType == 5">
                <if test="parkingRecordQueryDto.startTime != null">
                    AND create_time >= #{parkingRecordQueryDto.startTime}
                    AND t1.create_time >= #{parkingRecordQueryDto.startTime}
                </if>
                <if test="parkingRecordQueryDto.endTime != null">
                    AND create_time &lt;= #{parkingRecordQueryDto.endTime}
                    AND t1.create_time &lt;= #{parkingRecordQueryDto.endTime}
                </if>
            </if>
            <if test="null != parkingRecordQueryDto.siteIds and parkingRecordQueryDto.siteIds.size()>0" >
                and t2.site_id in
                <foreach collection="parkingRecordQueryDto.siteIds" item="item" index="index" separator="," open="(" close=")">
                    #{item}
                </foreach>
            </if>
        </where>
        GROUP BY
@@ -149,102 +164,124 @@
    </select>
    <select id="getCarColor" resultType="java.util.Map">
        SELECT
            vehicle_color,count(1) as counts
        t1.vehicle_color,count(1) as counts
        FROM
            t_parking_record
        t_parking_record t1
        left join t_parking_lot t2  on t2.id = t1.parking_lot_id
        <where>
            <if test="parkingRecordQueryDto.parkingLotId !=null">
                AND parking_lot_id = #{parkingRecordQueryDto.parkingLotId}
                AND t1.parking_lot_id = #{parkingRecordQueryDto.parkingLotId}
            </if>
        <if test="parkingRecordQueryDto.dayType == 1">
            AND DATE( create_time ) = CURDATE()
            AND DATE( t1.create_time ) = CURDATE()
        </if>
        <if test="parkingRecordQueryDto.dayType == 2">
            AND WEEKOFYEAR( create_time ) = WEEKOFYEAR( CURDATE() )
            AND WEEKOFYEAR( t1.create_time ) = WEEKOFYEAR( CURDATE() )
        </if>
        <if test="parkingRecordQueryDto.dayType == 3">
            AND MONTH( create_time ) = MONTH(CURDATE())
            AND MONTH( t1.create_time ) = MONTH(CURDATE())
        </if>
        <if test="parkingRecordQueryDto.dayType == 4">
            AND YEAR( create_time ) = YEAR(CURDATE() )
            AND YEAR( t1.create_time ) = YEAR(CURDATE() )
        </if>
        <if test="parkingRecordQueryDto.dayType == 5">
            <if test="parkingRecordQueryDto.startTime != null">
                AND create_time >= #{parkingRecordQueryDto.startTime}
                AND t1.create_time >= #{parkingRecordQueryDto.startTime}
            </if>
            <if test="parkingRecordQueryDto.endTime != null">
                AND create_time &lt;= #{parkingRecordQueryDto.endTime}
                AND t1.create_time &lt;= #{parkingRecordQueryDto.endTime}
            </if>
        </if>
            <if test="null != parkingRecordQueryDto.siteIds and parkingRecordQueryDto.siteIds.size()>0" >
                and t2.site_id in
                <foreach collection="parkingRecordQueryDto.siteIds" item="item" index="index" separator="," open="(" close=")">
                    #{item}
                </foreach>
            </if>
        </where>
        GROUP BY vehicle_color
        GROUP BY t1.vehicle_color
    </select>
    <select id="getOutType" resultType="java.util.Map">
        SELECT
            out_parking_type,count(1) as counts
        t1.out_parking_type,count(1) as counts
        FROM
            t_parking_record
        t_parking_record t1
        left join t_parking_lot t2  on t2.id = t1.parking_lot_id
        <where>
            <if test="parkingRecordQueryDto.parkingLotId !=null">
                AND parking_lot_id = #{parkingRecordQueryDto.parkingLotId}
                AND t1.parking_lot_id = #{parkingRecordQueryDto.parkingLotId}
            </if>
            <if test="parkingRecordQueryDto.dayType == 1">
                AND DATE( create_time ) = CURDATE()
                AND DATE( t1.create_time ) = CURDATE()
            </if>
            <if test="parkingRecordQueryDto.dayType == 2">
                AND WEEKOFYEAR( create_time ) = WEEKOFYEAR( CURDATE() )
                AND WEEKOFYEAR( t1.create_time ) = WEEKOFYEAR( CURDATE() )
            </if>
            <if test="parkingRecordQueryDto.dayType == 3">
                AND MONTH( create_time ) = MONTH(CURDATE())
                AND MONTH( t1.create_time ) = MONTH(CURDATE())
            </if>
            <if test="parkingRecordQueryDto.dayType == 4">
                AND YEAR( create_time ) = YEAR(CURDATE() )
                AND YEAR( t1.create_time ) = YEAR(CURDATE() )
            </if>
            <if test="parkingRecordQueryDto.dayType == 5">
                <if test="parkingRecordQueryDto.startTime != null">
                    AND create_time >= #{parkingRecordQueryDto.startTime}
                    AND t1.create_time >= #{parkingRecordQueryDto.startTime}
                </if>
                <if test="parkingRecordQueryDto.endTime != null">
                    AND create_time &lt;= #{parkingRecordQueryDto.endTime}
                    AND t1.create_time &lt;= #{parkingRecordQueryDto.endTime}
                </if>
            </if>
            <if test="null != parkingRecordQueryDto.siteIds and parkingRecordQueryDto.siteIds.size()>0" >
                and t2.site_id in
                <foreach collection="parkingRecordQueryDto.siteIds" item="item" index="index" separator="," open="(" close=")">
                    #{item}
                </foreach>
            </if>
        </where>
        GROUP BY out_parking_type
        GROUP BY t1.out_parking_type
    </select>
    <select id="getIsCharge" resultType="java.util.Map">
        SELECT
            CASE
                WHEN charging_order_id IS NOT NULL THEN 'WithChargingOrder'
                WHEN t1.charging_order_id IS NOT NULL THEN 'WithChargingOrder'
                ELSE 'WithoutChargingOrder'
                END AS order_status,
            COUNT(*) AS counts
        FROM
            `t_parking_record`
            `t_parking_record` t1
        left join t_parking_lot t2  on t2.id = t1.parking_lot_id
        <where>
            <if test="parkingRecordQueryDto.parkingLotId !=null">
                AND parking_lot_id = #{parkingRecordQueryDto.parkingLotId}
                AND t1.parking_lot_id = #{parkingRecordQueryDto.parkingLotId}
            </if>
            <if test="parkingRecordQueryDto.dayType == 1">
                AND DATE( create_time ) = CURDATE()
                AND DATE( t1.create_time ) = CURDATE()
            </if>
            <if test="parkingRecordQueryDto.dayType == 2">
                AND WEEKOFYEAR( create_time ) = WEEKOFYEAR( CURDATE() )
                AND WEEKOFYEAR( t1.create_time ) = WEEKOFYEAR( CURDATE() )
            </if>
            <if test="parkingRecordQueryDto.dayType == 3">
                AND MONTH( create_time ) = MONTH(CURDATE())
                AND MONTH( t1.create_time ) = MONTH(CURDATE())
            </if>
            <if test="parkingRecordQueryDto.dayType == 4">
                AND YEAR( create_time ) = YEAR(CURDATE() )
                AND YEAR( t1.create_time ) = YEAR(CURDATE() )
            </if>
            <if test="parkingRecordQueryDto.dayType == 5">
                <if test="parkingRecordQueryDto.startTime != null">
                    AND create_time >= #{parkingRecordQueryDto.startTime}
                    AND t1.create_time >= #{parkingRecordQueryDto.startTime}
                </if>
                <if test="parkingRecordQueryDto.endTime != null">
                    AND create_time &lt;= #{parkingRecordQueryDto.endTime}
                    AND t1.create_time &lt;= #{parkingRecordQueryDto.endTime}
                </if>
            </if>
            <if test="null != parkingRecordQueryDto.siteIds and parkingRecordQueryDto.siteIds.size()>0" >
                and t2.site_id in
                <foreach collection="parkingRecordQueryDto.siteIds" item="item" index="index" separator="," open="(" close=")">
                    #{item}
                </foreach>
            </if>
        </where>
        GROUP BY
            order_status
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
@@ -176,15 +176,81 @@
        }
        return R.ok();
    }
    
    @RequiresPermissions(value = {"/invoiceManagement/select_order", "/paymentOrder/order"}, logical = Logical.OR)
    @ResponseBody
    @PostMapping(value = "/pay/order/list")
    @ApiOperation(value = "列表", tags = {"管理后台-支付订单-订单信息"})
    public R<PageInfo<PayOrderDto>> payOrderList(@RequestBody PayOrderQueryDto payOrderQueryDto) {
        return chargingOrderService.payOrderQuery(payOrderQueryDto);
        Integer pageCurr = payOrderQueryDto.getPageCurr();
        Integer pageSize = payOrderQueryDto.getPageSize();
        payOrderQueryDto.setPageCurr(1);
        payOrderQueryDto.setPageSize(10000999);
        PageInfo<PayOrderDto> data = chargingOrderService.payOrderQuery(payOrderQueryDto).getData();
        List<PayOrderDto> res = new ArrayList<>();
        // 查询当前登陆人按钮权限
        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);
        }
        for (PayOrderDto record : data.getRecords()) {
            if (record.getType() == 1){
                TChargingOrder byId = chargingOrderService.getById(record.getId());
                record.setSiteId(byId.getSiteId());
            }
            if (record.getType()==4){
                Integer siteId=parkingLotClient.getSiteIdByOrderId(Long.valueOf(record.getId())).getData();
                if (siteId!=null){
                    record.setSiteId(siteId);
                }
            }
            if (roleType==1||(record.getType()!=1&&record.getType()!=4)){
                res.add(record);
                continue;
            }
            if (roleType==2 && (record.getType()==1||record.getType()==4) && siteIds.contains(record.getSiteId())){
                res.add(record);
            }
        }
        List<PayOrderDto> res1 = testing5(res.size(), pageCurr, pageSize, res);
        data.setTotal(res.size());
        data.setRecords(res1);
        return R.ok(data);
    }
public static List<PayOrderDto> testing5(long total, long current, long size, List<PayOrderDto> str){
    List<PayOrderDto> result = new ArrayList<>();
    //获取初始化分页结构
    com.ruoyi.order.util.Page<PayOrderDto> 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;
}
    @ResponseBody
    @PostMapping(value = "/pay/order/refund")
    @ApiOperation(value = "退款", tags = {"管理后台-支付订单-订单信息"})
@@ -330,7 +396,12 @@
    @PostMapping(value = "/pay/order/refund/list")
    @ApiOperation(value = "列表", tags = {"管理后台-支付订单-退款订单"})
    public R<PageInfo<TChargingOrderRefund>> refundList(@RequestBody ChargingRefundDto chargingRefundDto) {
        R<PageInfo<TChargingOrderRefund>> refundList = chargingOrderService.getRefundList(chargingRefundDto);
        Integer pageCurr = chargingRefundDto.getPageCurr();
        Integer pageSize = chargingRefundDto.getPageSize();
//        R<PageInfo<TChargingOrderRefund>> refundList = chargingOrderService.getRefundList(chargingRefundDto);
        chargingRefundDto.setPageCurr(1);
        chargingRefundDto.setPageSize(199999999);
        R<PageInfo<TChargingOrderRefund>> refundList1 = chargingOrderService.getRefundList(chargingRefundDto);
        Long userId = tokenService.getLoginUser().getUserid();
        //如果没传siteId,获取当前登陆人所有的siteIds
        List<Integer> siteIds = new ArrayList<>();
@@ -344,17 +415,56 @@
        if (siteIds.isEmpty()){
            siteIds.add(-1);
        }
        // 查询当前登陆人按钮权限
        SysUser sysUser = sysUserClient.getSysUser(tokenService.getLoginUser().getUserid()).getData();
        Integer roleType = sysUser.getRoleType();
        List<TChargingOrderRefund> tChargingOrderRefunds = new ArrayList<>();
        for (TChargingOrderRefund record : refundList.getData().getRecords()) {
            TChargingOrder byId = chargingOrderService.getById(record.getChargingOrderId());
        for (TChargingOrderRefund record : refundList1.getData().getRecords()) {
            if (roleType==1){
                tChargingOrderRefunds.add(record);
                continue;
            }
            if (record.getType()!=1){
                tChargingOrderRefunds.add(record);
            }
            TChargingOrder byId = chargingOrderService.getById(record.getOrderId());
            record.setUid(record.getId().toString());
            if (siteIds.contains(byId.getSiteId())){
            if (byId==null){
                continue;
            }
            if (roleType==2&&siteIds.contains(byId.getSiteId())){
                tChargingOrderRefunds.add(record);
            }
        }
        refundList.getData().setRecords(tChargingOrderRefunds);
        return refundList;
        PageInfo<TChargingOrderRefund> data = refundList1.getData();
        List<TChargingOrderRefund> res1 = testing4(tChargingOrderRefunds.size(), pageCurr, pageSize, tChargingOrderRefunds);
        data.setTotal(tChargingOrderRefunds.size());
        data.setRecords(res1);
        return refundList1;
    }
    public static List<TChargingOrderRefund> testing4(long total, long current, long size, List<TChargingOrderRefund> str){
        List<TChargingOrderRefund> result = new ArrayList<>();
        //获取初始化分页结构
        com.ruoyi.order.util.Page<TChargingOrderRefund> 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;
    }
    @ResponseBody
    @PostMapping(value = "/pay/order/refund/list1")
@@ -857,6 +967,8 @@
    @ApiOperation(value = "监控订单", tags = {"管理后台-订单管理"})
    public R watchChargingOrder(@RequestBody MongoChargingOrderQuery mongoChargingOrderQuery) {
        Long userid = tokenService.getLoginUser().getUserid();
        SysUser sysUser = sysUserClient.getSysUser(tokenService.getLoginUser().getUserid()).getData();
        Integer roleType = sysUser.getRoleType();
        List<Integer> siteIds = new ArrayList<>();
        if (mongoChargingOrderQuery.getSiteId()==null){
            List<GetSiteListDTO> data = siteClient.getSiteListByUserId(userid).getData();
@@ -866,6 +978,25 @@
        }else {
            siteIds.add(mongoChargingOrderQuery.getSiteId());
        }
        if (siteIds.isEmpty()){
            siteIds.add(-1);
        }else{
            if (roleType == 2){
                List<Integer> integers = new ArrayList<>();
                for (Integer siteId : siteIds) {
                    // 校验有没有这个站点的权限
                    List<Boolean> t1= partnerClient.watchChargingOrder(sysUser.getObjectId(),siteId).getData();
                    Boolean b = t1.get(1);
                    if (b){
                        integers.add(siteId);
                    }
                }
                siteIds = integers;
            }
        }
        if (siteIds.isEmpty()){
            siteIds.add(-1);
        }
        mongoChargingOrderQuery.setSiteIds(siteIds);
        mongoChargingOrderQuery.setPageSize(10);
        R<UploadRealTimeMonitoringPageData> all = uploadRealTimeMonitoringDataClient.getAll(mongoChargingOrderQuery);
@@ -873,8 +1004,7 @@
        List<ChargingOrderAndUploadRealTimeMonitoringDataDto> dtos = new ArrayList<>();
        Map<String,ChargingOrderVO> map  = new HashMap<>();
        SysUser sysUser = sysUserClient.getSysUser(tokenService.getLoginUser().getUserid()).getData();
        Integer roleType = sysUser.getRoleType();
        for (UploadRealTimeMonitoringData uploadRealTimeMonitoringData : data1.getRecords()) {
            if (roleType==2){
                List<Boolean> data = partnerClient.watchChargingOrder(sysUser.getObjectId(), uploadRealTimeMonitoringData.getSiteId()).getData();
@@ -968,6 +1098,7 @@
        }else {
            siteIds.add(statisticsQueryDto.getSiteId());
        }
        if (siteIds.isEmpty())siteIds.add(-1);
        TCharingOrderMapVO tCharingOrderMapVO = new TCharingOrderMapVO();
@@ -1231,6 +1362,7 @@
        }else {
            siteIds.add(statisticsQueryDto.getSiteId());
        }
        if (siteIds.isEmpty())siteIds.add(-1);
        statisticsQueryDto.setSiteIds(siteIds);
        
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 = "删除")
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/PayOrderDto.java
@@ -13,6 +13,8 @@
    private String id;
    @ApiModelProperty("1充电订单2购物订单3vip订单4停车订单")
    private Integer type;
    @ApiModelProperty("站点id")
    private Integer siteId;
    @ApiModelProperty("订单编号")
    private String code;
    @ApiModelProperty("订单标题")
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java
@@ -102,6 +102,9 @@
            startTime2 = split[1];
        }
        Long userId = tokenService.getLoginUser().getUserid();
        // 查询当前登陆人按钮权限
        SysUser sysUser = sysUserClient.getSysUser(tokenService.getLoginUser().getUserid()).getData();
        Integer roleType = sysUser.getRoleType();
        List<Integer> siteIds = new ArrayList<>();
            //如果没传siteId,获取当前登陆人所有的siteIds
            if (dto.getSiteId()==null){
@@ -116,7 +119,22 @@
            }
            if (siteIds.isEmpty()){
                siteIds.add(-1);
            }else{
                if (roleType == 2){
                    List<Integer> integers = new ArrayList<>();
                    for (Integer siteId : siteIds) {
                        // 校验有没有这个站点的权限
                        List<Boolean> t1= partnerClient.getAccountMenu(sysUser.getObjectId(),siteId).getData();
                        Boolean b = t1.get(1);
                        if (b){
                            integers.add(siteId);
                        }
                    }
                    siteIds = integers;
                }
            }
            if (siteIds.isEmpty())siteIds.add(-1);
            dto.setSiteIds(siteIds);
@@ -135,13 +153,11 @@
        BigDecimal chargingCapacityTotal = new BigDecimal("0");
        BigDecimal discountTotal = new BigDecimal("0");
        int orderCount = 0;
        // 查询当前登陆人按钮权限
        SysUser sysUser = sysUserClient.getSysUser(tokenService.getLoginUser().getUserid()).getData();
        Integer roleType = sysUser.getRoleType();
        for (ChargingBillListVO chargingBillListVO : list) {
            if (roleType==2){
                Boolean data = partnerClient.getAccountMenu(sysUser.getObjectId(), chargingBillListVO.getSiteId()).getData();
                chargingBillListVO.setAuthDownLoad(data);
                List<Boolean> data = partnerClient.getAccountMenu(sysUser.getObjectId(), chargingBillListVO.getSiteId()).getData();
                chargingBillListVO.setAuthDownLoad(data.get(0));
                if (chargingBillListVO.getType()==1){
                    continue;
                }
@@ -518,9 +534,11 @@
        PageInfo<ChargingBillListVO> pageInfo = new PageInfo<>(dto.getPageCurr(),dto.getPageSize());
        PageInfo<ChargingBillListVO> pageInfo1 = new PageInfo<>(1,9999999);
        Long userId = tokenService.getLoginUser().getUserid();
        // 查询当前登陆人按钮权限
        SysUser sysUser = sysUserClient.getSysUser(tokenService.getLoginUser().getUserid()).getData();
        Integer roleType = sysUser.getRoleType();
        //如果没传siteId,获取当前登陆人所有的siteIds
        List<Integer> siteIds = new ArrayList<>();
            //如果没传siteId,获取当前登陆人所有的siteIds
            if (dto.getSiteId()==null){
                if (userId != null){
@@ -534,7 +552,28 @@
            }
            if (siteIds.isEmpty()){
                siteIds.add(-1);
            }else{
                if (roleType == 2){
                    List<Integer> integers = new ArrayList<>();
                    for (Integer siteId : siteIds) {
                        // 校验有没有这个站点的权限
                        List<Boolean> t1= partnerClient.getChargingBillMenu(sysUser.getObjectId(),siteId).getData();
                        Boolean b = t1.get(1);
                        if (b){
                            integers.add(siteId);
                        }
                    }
                    siteIds = integers;
                }
            }
        if (roleType==1){
            siteIds.add(0);
        }
        if (siteIds.isEmpty()){
            siteIds.add(-1);
        }
            dto.setSiteIds(siteIds);
        List<ChargingBillListVO> list = this.baseMapper.chargingBillList(pageInfo,dto,startTime1,startTime2);
@@ -549,13 +588,14 @@
        BigDecimal discountTotal = new BigDecimal("0");
        BigDecimal refundAmountTotal = new BigDecimal("0");
        int orderCount = 0;
        // 查询当前登陆人按钮权限
        SysUser sysUser = sysUserClient.getSysUser(tokenService.getLoginUser().getUserid()).getData();
        Integer roleType = sysUser.getRoleType();
        List<ChargingBillListVO> chargingBillListVOS = new ArrayList<>();
        for (ChargingBillListVO chargingBillListVO : list) {
            if (roleType==2 && chargingBillListVO.getSiteId()!=0){
                chargingBillListVOS.add(chargingBillListVO);
            }
            if (roleType ==1 && (siteIds.contains(chargingBillListVO.getSiteId())|| chargingBillListVO.getSiteId()==0)){
                chargingBillListVOS.add(chargingBillListVO);
            }
        }
@@ -565,9 +605,8 @@
            }
            if (roleType == 2){
                // 校验有没有这个站点的权限
                Boolean t1= partnerClient.getChargingBillMenu(sysUser.getObjectId(),chargingBillListVO.getSiteId()).getData();
                chargingBillListVO.setAuthDownLoad(t1);
                List<Boolean> t1= partnerClient.getChargingBillMenu(sysUser.getObjectId(),chargingBillListVO.getSiteId()).getData();
                chargingBillListVO.setAuthDownLoad(t1.get(0));
                if (chargingBillListVO.getSiteId()==0){
                    continue;
                }
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -1215,6 +1215,9 @@
            dto.setUserIds(data);
        }
        Long userId = tokenService.getLoginUser().getUserid();
        // 查询当前登陆人按钮权限
        SysUser sysUser = sysUserClient.getSysUser(tokenService.getLoginUser().getUserid()).getData();
        Integer roleType = sysUser.getRoleType();
        //如果没传siteId,获取当前登陆人所有的siteIds
        List<Integer> siteIds = new ArrayList<>();
        if (dto.getSiteId()==null){
@@ -1229,7 +1232,22 @@
        }
        if (siteIds.isEmpty()){
            siteIds.add(-1);
        }else{
            if (roleType == 2){
                List<Integer> integers = new ArrayList<>();
                for (Integer siteId : siteIds) {
                    // 校验有没有这个站点的权限
                    List<Boolean> t1= partnerClient.getChargingOrderMenu(sysUser.getObjectId(),siteId).getData();
                    Boolean b = t1.get(1);
                    if (b){
                        integers.add(siteId);
                    }
                }
                siteIds = integers;
            }
        }
        if (siteIds.isEmpty())siteIds.add(-1);
        dto.setSiteIds(siteIds);
        List<ChargingOrderVO> list = this.baseMapper.chargingOrder(pageInfo,dto,startTime1,startTime2,endTime1,endTime2);
        List<ChargingOrderVO> list1 = this.baseMapper.chargingOrder(pageInfo1,dto,startTime1,startTime2,endTime1,endTime2);
@@ -1241,14 +1259,15 @@
         BigDecimal commissionMoney = new BigDecimal("0");
         BigDecimal refundMoney = new BigDecimal("0");
         BigDecimal paymentMoney = new BigDecimal("0");
        // 查询当前登陆人按钮权限
        SysUser sysUser = sysUserClient.getSysUser(tokenService.getLoginUser().getUserid()).getData();
        Integer roleType = sysUser.getRoleType();
        for (ChargingOrderVO chargingOrderVO : list) {
            if (roleType == 2){
                // 校验有没有这个站点的权限
                Boolean t1= partnerClient.getChargingOrderMenu(sysUser.getObjectId(),chargingOrderVO.getSiteId()).getData();
                chargingOrderVO.setAuthRecord(t1);
                for (Integer siteId : siteIds) {
                    // 校验有没有这个站点的权限
                    List<Boolean> t1= partnerClient.getChargingOrderMenu(sysUser.getObjectId(),siteId).getData();
                    chargingOrderVO.setAuthRecord(t1.get(0));
                }
            }
            chargingOrderVO.setCommissionAmount(chargingOrderVO.getOrderAmount()!=null?chargingOrderVO.getOrderAmount().multiply(new BigDecimal("0.006")):new BigDecimal("0"));
            chargingOrderVO.setPlatFormMoney(chargingOrderVO.getOrderAmount()!=null?chargingOrderVO.getOrderAmount().multiply(new BigDecimal("0.006")).setScale(2,BigDecimal.ROUND_DOWN):new BigDecimal("0"));
@@ -1445,6 +1464,9 @@
            }
        }
        Long userId = tokenService.getLoginUser().getUserid();
        // 查询当前登陆人按钮权限
        SysUser sysUser = sysUserClient.getSysUser(tokenService.getLoginUser().getUserid()).getData();
        Integer roleType = sysUser.getRoleType();
        //如果没传siteId,获取当前登陆人所有的siteIds
        List<Integer> siteIds = new ArrayList<>();
        if (dto.getSiteId()==null){
@@ -1459,13 +1481,25 @@
        }
        if (siteIds.isEmpty()){
            siteIds.add(-1);
        }else{
            if (roleType == 2){
                List<Integer> integers = new ArrayList<>();
                for (Integer siteId : siteIds) {
                    // 校验有没有这个站点的权限
                    List<Boolean> t1= partnerClient.getChargingOrderMenu(sysUser.getObjectId(),siteId).getData();
                    Boolean b = t1.get(1);
                    if (b){
                        integers.add(siteId);
                    }
                }
                siteIds = integers;
            }
        }
        dto.setSiteIds(siteIds);
        PageInfo<ChargingOrderListVO> pageInfo = new PageInfo<>(dto.getPageCurr(),dto.getPageSize());
        List<ChargingOrderListVO> list = this.baseMapper.chargingList(pageInfo,dto,startTime1,startTime2,endTime1,endTime2);
        // 查询当前登陆人按钮权限
        SysUser sysUser = sysUserClient.getSysUser(tokenService.getLoginUser().getUserid()).getData();
        Integer roleType = sysUser.getRoleType();
        for (ChargingOrderListVO chargingOrderListVO : list) {
            if (roleType==2){
                List<Boolean> data = partnerClient.getChargingListMenu(sysUser.getObjectId(), chargingOrderListVO.getSiteId()).getData();
@@ -2738,6 +2772,9 @@
        dto.setStartTime(startTime);
        dto.setEndTime(endTime);
        Long userId = tokenService.getLoginUser().getUserid();
        // 查询当前登陆人按钮权限
        SysUser sysUser = sysUserClient.getSysUser(tokenService.getLoginUser().getUserid()).getData();
        Integer roleType = sysUser.getRoleType();
        //如果没传siteId,获取当前登陆人所有的siteIds
        List<Integer> siteIds = new ArrayList<>();
        if (dto.getSiteIds()==null){
@@ -2752,13 +2789,25 @@
        }
        if (siteIds.isEmpty()){
            siteIds.add(-1);
        }else{
            if (roleType == 2){
                List<Integer> integers = new ArrayList<>();
                for (Integer siteId : siteIds) {
                    // 校验有没有这个站点的权限
                    List<Boolean> t1= partnerClient.getSettlementListMenu(sysUser.getObjectId(),siteId).getData();
                    Boolean b = t1.get(2);
                    if (b){
                        integers.add(siteId);
                    }
                }
                siteIds = integers;
            }
        }
        dto.setSiteIdss(siteIds);
        PageInfo<TSettlementConfirm> pageInfo = new PageInfo<>(dto.getPageCurr(),dto.getPageSize());
        List<TSettlementConfirm> list = tSettlementConfirmMapper.settlementList(pageInfo,dto);
        // 查询当前登陆人按钮权限
        SysUser sysUser = sysUserClient.getSysUser(tokenService.getLoginUser().getUserid()).getData();
        Integer roleType = sysUser.getRoleType();
        for (TSettlementConfirm tSettlementConfirm : list) {
            if (roleType==2){
                List<Boolean> data = partnerClient.getSettlementListMenu(sysUser.getObjectId(), tSettlementConfirm.getSiteId()).getData();
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java
@@ -254,8 +254,9 @@
            tagList.add(evaluationTagVO);
        }
    }
    @Resource
    private PartnerClient partnerClient;
    /**
     * 获取充电评价列表
     * @param pageList
@@ -295,6 +296,20 @@
        }
        if (siteIds.isEmpty()){
            siteIds.add(-1);
        }else{
            List<Integer> integers = new ArrayList<>();
            for (Integer siteId : siteIds) {
                // 校验有没有这个站点的权限
                List<Boolean> t1= partnerClient.chargeEvaluation(sysUser.getObjectId(),siteId).getData();
                Boolean b = t1.get(0);
                if (b){
                    integers.add(siteId);
                }
            }
            siteIds = integers;
        }
        if (siteIds.isEmpty()){
            siteIds.add(-1);
        }
        List<GetOrderEvaluatePageListDTO> list = this.baseMapper.getPageList(pageList, evaluationTagIds, siteIds, pageInfo);
        for (GetOrderEvaluatePageListDTO dto : list) {
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/util/Page.java
New file
@@ -0,0 +1,35 @@
package com.ruoyi.order.util;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Page<T> implements Serializable {
    private List<T> records; //最终查询的结果记录
    private long total; //共有多少条记录
    private long size;  //一页显示多少条
    private long current; //取第几页显示
    private long pages; //总共几页
    private long startIndex; //从哪里开始截取集合的下标
    //获取初始化分页对象 这里用long类型是为了与mybatisplus保持一致
    public Page<String> getPage(long total, long size ,long current){
        Page<String> page = new Page<>();
        page.setTotal(total);
        page.setSize(size);
        //总页数的计算 如果集合总记录数能被入参size(一页几条)整除,则为对应商,否则多出部分也独立算一页
        page.setPages(total % size == 0 ? total / size : total / size + 1);
        //前端约定入参从1开始,但此处入参调用时会减1,此处+1恢复原值供前端展示
        page.setCurrent(current + 1);
        //开始索引的设置
        page.setStartIndex(size * current);
        return page;
    }
}
ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingBillMapper.xml
@@ -9,7 +9,7 @@
        <if test="req.type != null and req.type!=0">
            and t1.type = #{req.type}
        </if>
      <if test="req.state != null ">
        <if test="req.state != null ">
            and t1.status = #{req.state}
        </if>
        <if test="startTime1 != null and startTime1!=''">
ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml
@@ -248,7 +248,8 @@
        co.payment_amount,
        co.create_time as pay_time,
        co.id as order_id,
        co.app_user_id as user_id
        co.app_user_id as user_id,
        1 as type
        FROM t_charging_order_refund re
        LEFT JOIN t_charging_order  co ON re.charging_order_id = co.id
        UNION ALL
@@ -267,7 +268,8 @@
        so.payment_amount,
        so.create_time as pay_time,
        so.id as order_id,
        so.app_user_id as user_id
        so.app_user_id as user_id,
        2 as type
        FROM t_shopping_order_refund re
        LEFT JOIN t_shopping_order so on re.shopping_order_id = so.id
        UNION ALL
@@ -286,7 +288,8 @@
        vo.payment_amount,
        vo.create_time as pay_time,
        vo.id as order_id,
        vo.app_user_id as user_id
        vo.app_user_id as user_id,
        3 as type
        FROM t_vip_order_refund vr
        LEFT JOIN t_vip_order vo on vr.vip_order_id = vo.id