Pu Zhibing
13 小时以前 9bc378e6bb9b4563a0dec222e1c2d5d3278632cb
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
@@ -1,5 +1,6 @@
package com.ruoyi.order.controller;
import com.alibaba.fastjson2.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import java.math.BigDecimal;
@@ -59,6 +60,7 @@
import com.ruoyi.order.util.PreviousSixMonths;
import com.ruoyi.order.util.mongodb.service.UploadRealTimeMonitoringDataService;
import com.ruoyi.order.vo.EndOfChargePageInfo;
import com.ruoyi.order.vo.StatisticsOfBatteryVO;
import com.ruoyi.order.vo.WatchChargingOrderVo;
import com.ruoyi.other.api.feignClient.RoleSiteClient;
import com.ruoyi.other.api.feignClient.UserSiteClient;
@@ -220,55 +222,36 @@
    @PostMapping(value = "/pay/order/list")
    @ApiOperation(value = "列表", tags = {"管理后台-支付订单-订单信息"})
    public R<PageInfo<PayOrderDto>> payOrderList(@RequestBody PayOrderQueryDto 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);
        }
        List<TChargingOrder> list = chargingOrderService.list();
        List<TParkingRecord> parkingRecord = parkingLotClient.getSiteIdAll().getData();
        for (PayOrderDto record : data.getRecords()) {
            if (record.getType() == 1){
                TChargingOrder chargingOrder = list.stream().filter(e -> e.getId().equals(Long.valueOf(record.getId()))).findFirst().orElse(null);
                if (chargingOrder!=null){
                    record.setSiteId(chargingOrder.getSiteId());
                }
            }
            if (record.getType()==4){
                TParkingRecord tParkingRecord = parkingRecord.stream().filter(e -> e.getId().equals(Long.valueOf(record.getId()))).findFirst().orElse(null);
                if (tParkingRecord!=null){
                    record.setSiteId(tParkingRecord.getSiteId());
                }
            }
            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);
            }
        return chargingOrderService.payOrderQuery(payOrderQueryDto);
        }
        List<PayOrderDto> res1 = testing5(res.size(), pageCurr, pageSize, res);
        data.setTotal(res.size());
        data.setRecords(res1);
        return R.ok(data);
//        List<TChargingOrder> list = chargingOrderService.list();
//        List<TParkingRecord> parkingRecord = parkingLotClient.getSiteIdAll().getData();
//        for (PayOrderDto record : data.getRecords()) {
//            if (record.getType() == 1){
//                TChargingOrder chargingOrder = list.stream().filter(e -> e.getId().equals(Long.valueOf(record.getId()))).findFirst().orElse(null);
//                if (chargingOrder!=null){
//                    record.setSiteId(chargingOrder.getSiteId());
//                }
//            }
//            if (record.getType()==4){
//                TParkingRecord tParkingRecord = parkingRecord.stream().filter(e -> e.getId().equals(Long.valueOf(record.getId()))).findFirst().orElse(null);
//                if (tParkingRecord!=null){
//                    record.setSiteId(tParkingRecord.getSiteId());
//                }
//            }
//            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);
    }
@@ -852,7 +835,17 @@
                                         @RequestParam("attach") String attach) {
        chargingOrderService.chargingOrderCallback(2, out_trade_no, transaction_id, attach);
    }
    /**
     * 支付宝H5支付成功后的回调
     */
    @ResponseBody
    @PostMapping(value = "/chargingOrderALIH5Callback")
    public void chargingOrderALIH5Callback(@RequestParam("out_trade_no") String out_trade_no,
                                         @RequestParam("transaction_id") String transaction_id,
                                         @RequestParam("attach") String attach) {
        chargingOrderService.chargingOrderCallback(3, out_trade_no, transaction_id, attach);
    }
    
    /**
     *
@@ -1107,6 +1100,7 @@
    public R<Map<String,Object>> total() {
        //count近6个月的数据
        Long userId = tokenService.getLoginUser().getUserid();
        SysUser sysUser = sysUserClient.getSysUser(userId).getData();
        //获取当前登录的siteIds
        List<Integer> siteIds = new ArrayList<>();
        List<GetSiteListDTO> data9 = siteClient.getSiteListByUserId(userId).getData();
@@ -1118,17 +1112,23 @@
            siteIds.add(-1);
        }
        Map<String,Object>  map = chargingOrderService.countAll(siteIds);
        BigDecimal data = parkingLotClient.getRecordAmount().getData();
        if (map ==null){
            map = new HashMap<String,Object>();
        if(1 == sysUser.getObjectId()){
            BigDecimal data = parkingLotClient.getRecordAmount().getData();
            if (map ==null){
                map = new HashMap<String,Object>();
            }
            map.put("parkingAmount",data);
            BigDecimal data1 =   shoppingOrderService.getSumAmount();
            map.put("shopAmount",data1);
            BigDecimal data2 =   vipOrderService.getSumAmout();
            map.put("vipAmount",data2);
        }else{
            map.put("parkingAmount",0);
            map.put("shopAmount",0);
            map.put("vipAmount",0);
        }
        map.put("parkingAmount",data);
        BigDecimal data1 =   shoppingOrderService.getSumAmount();
        map.put("shopAmount",data1);
        BigDecimal data2 =   vipOrderService.getSumAmout();
        map.put("vipAmount",data2);
        List<TChargingOrder> list = chargingOrderService.lambdaQuery().eq(TChargingOrder::getStatus, 5).eq(TChargingOrder::getDelFlag, 0)
                .eq(TChargingOrder::getRechargePaymentStatus, 2).list();
                .eq(TChargingOrder::getRechargePaymentStatus, 2).in(TChargingOrder::getSiteId, siteIds).list();
        BigDecimal sharingAmount = BigDecimal.ZERO;
        BigDecimal commissionAmount = BigDecimal.ZERO;
        //计算list中electrovalence的总和
@@ -1263,8 +1263,10 @@
     */
    @PostMapping(value = "/getOrderByCode/{code}")
    public R<TChargingOrder> getOrderByCode(@PathVariable("code") String code){
        return R.ok(chargingOrderService.getOne(Wrappers.lambdaQuery(TChargingOrder.class)
                .eq(TChargingOrder::getCode,code)));
        TChargingOrder one = chargingOrderService.getOne(Wrappers.lambdaQuery(TChargingOrder.class)
                .eq(TChargingOrder::getCode, code));
        one.setIdStr(one.getId().toString());
        return R.ok(one);
    }
    
    
@@ -2360,4 +2362,58 @@
    public R addChargingOrderSummaryData(){
        return chargingOrderService.addChargingOrderSummaryData();
    }
    /**
     * 充电桩数据大屏  新能源汽车电池安全检测次数统计
     */
    @ResponseBody
    @GetMapping(value = "/getStatisticsOfBattery")
    @ApiOperation(value = "新能源汽车电池安全检测次数统计", tags = {"充电桩数据大屏"})
    public R<StatisticsOfBatteryVO> getStatisticsOfBattery(){
        return chargingOrderService.getStatisticsOfBattery();
    }
    /**
     * 充电桩数据大屏  获取站点集合中总的充电量
     */
    @ResponseBody
    @GetMapping("/getSumDegreeBySiteIds")
    public R<BigDecimal> getSumDegreeBySiteIds(@RequestParam("siteIds") List<Integer> SiteIds){
        Double sumDegreeBySiteIds = chargingOrderService.getSumDegreeBySiteIds(SiteIds);
        return R.ok(new BigDecimal(sumDegreeBySiteIds));
    }
    @GetMapping(value = "/getOrderIdByUserId")
    @ApiOperation(value = "H5查询当前用户正在充电中的订单id集合", tags = {"H5-首页-用户充电订单信息"})
    public R<String> getOrderIdByUserId() {
        Long userId = tokenService.getLoginUserApplet().getUserId();
        TChargingOrder chargingOrder = chargingOrderService.getOne(Wrappers.lambdaQuery(TChargingOrder.class)
                .eq(TChargingOrder::getAppUserId, userId)
                .in(TChargingOrder::getStatus, Arrays.asList(1,2,3,4))
                .orderByDesc(TChargingOrder::getCreateTime)
                .last("LIMIT 1"));
        if(Objects.isNull(chargingOrder)){
            return R.ok();
        }
        return R.ok(String.valueOf(chargingOrder.getId()));
    }
//    @GetMapping(value = "/getOrderByCode")
//    @ApiOperation(value = "H5通过编号查询订单", tags = {"H5-首页-用户充电订单信息"})
//    public R<String> getOrderByCode(@RequestParam("code") String code) {
//        Long userId = tokenService.getLoginUserApplet().getUserId();
//        TChargingOrder chargingOrder = chargingOrderService.getOne(Wrappers.lambdaQuery(TChargingOrder.class)
//                .eq(TChargingOrder::getAppUserId, userId)
//                .in(TChargingOrder::getStatus, Arrays.asList(1,2,3,4))
//                .orderByDesc(TChargingOrder::getCreateTime)
//                .last("LIMIT 1"));
//        if(Objects.isNull(chargingOrder)){
//            return R.ok();
//        }
//        return R.ok(String.valueOf(chargingOrder.getId()));
//    }
}