18
luodangjia
2024-10-18 3cfe12da8ecfb2ef23a0f5cbcf3b98e5b143826b
18
7个文件已修改
1个文件已添加
171 ■■■■■ 已修改文件
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/UploadRealTimeMonitoringDataFallbackFactory.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/UploadRealTimeMonitoringDataClient.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/UploadRealTimeMonitoringData.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/dto/MongoChargingOrderQuery.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/controller/UploadRealTimeMonitoringDataController.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/UploadRealTimeMonitoringDataService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/UploadRealTimeMonitoringDataServiceImpl.java 44 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/UploadRealTimeMonitoringDataFallbackFactory.java
@@ -1,6 +1,7 @@
package com.ruoyi.integration.api.factory;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.dto.MongoChargingOrderQuery;
import com.ruoyi.integration.api.feignClient.UploadRealTimeMonitoringDataClient;
import com.ruoyi.integration.api.model.*;
import org.slf4j.Logger;
@@ -43,7 +44,7 @@
            }
            @Override
            public R<List<UploadRealTimeMonitoringData>> getAll(Set<String> values, Integer page, Integer size) {
            public R<List<UploadRealTimeMonitoringData>> getAll(MongoChargingOrderQuery mongoChargingOrderQuery) {
                return null;
            }
        };
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/UploadRealTimeMonitoringDataClient.java
@@ -2,10 +2,12 @@
import com.ruoyi.common.core.constant.ServiceNameConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.dto.MongoChargingOrderQuery;
import com.ruoyi.integration.api.factory.UploadRealTimeMonitoringDataFallbackFactory;
import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
@@ -42,5 +44,5 @@
    R<List<UploadRealTimeMonitoringData>> getDataByOrderCode(@RequestParam("code") String code);
    @PostMapping("/uploadRealTimeMonitoringData/getAll")
    R<List<UploadRealTimeMonitoringData>> getAll(@RequestParam("values") Set<String> values, @RequestParam("page") Integer page, @RequestParam("size")Integer size);
    R<List<UploadRealTimeMonitoringData>> getAll(@RequestBody MongoChargingOrderQuery mongoChargingOrderQuery);
}
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/UploadRealTimeMonitoringData.java
@@ -50,8 +50,8 @@
    private Integer orderType; //1=充电订单(小程序),2=充电订单(刷卡))
    private Integer siteId;
    private Integer status; //状态(0=未知,1=等待中/已插枪,2=启动中,3=充电中,4=停止中,5=已结束)"
    private Date startTime; //充电开始时间
    private Date endTime; //充电结束时间
    private LocalDateTime startTime; //充电开始时间
    private LocalDateTime endTime; //充电结束时间
}
ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/dto/MongoChargingOrderQuery.java
New file
@@ -0,0 +1,35 @@
package com.ruoyi.common.core.dto;
import com.ruoyi.common.core.web.page.BasePage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
@ApiModel(value = "ChargingOrderQuery充电桩订单查询对象",description = "管理后台充电桩订单查询对象")
public class MongoChargingOrderQuery extends BasePage {
    @ApiModelProperty(value = "订单编号")
    private String code;
    @ApiModelProperty(value = "订单类型(1=充电订单(小程序),2=充电订单(刷卡))")
    private Integer orderType;
    @ApiModelProperty(value = "手机号")
    private String phone;
    @ApiModelProperty(value = "状态(0=未知,1=等待中,2=启动中,3=充电中,4=停止中,5=已结束)")
    private Integer status;
    @ApiModelProperty(value = "站点id")
    private Integer siteId;
    @ApiModelProperty(value = "充电桩code ")
    private String chargingPileCode;
    @ApiModelProperty(value = "充电枪code ")
    private String chargingGunCode;
    @ApiModelProperty(value = "开始时间2020-01-01 00:00:00 - 2021-01-01 23:59:59")
    private String startTime;
    @ApiModelProperty(value = "结束时间2020-01-01 00:00:00 - 2021-01-01 23:59:59")
    private String endTime;
    @ApiModelProperty(value = "订单来源 1明星 2快电 3新电途")
    private Integer orderSource;
    @ApiModelProperty(value = "用户ids 前端忽略")
    private List<Long> userIds;
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/controller/UploadRealTimeMonitoringDataController.java
@@ -1,17 +1,14 @@
package com.ruoyi.integration.controller;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
import com.ruoyi.integration.mongodb.service.UploadRealTimeMonitoringDataService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.ruoyi.common.core.dto.MongoChargingOrderQuery;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
/**
 * <p>
@@ -75,8 +72,8 @@
    @PostMapping(value = "/getAll")
    public R<List<UploadRealTimeMonitoringData>> getAll(@RequestParam("values") Set<String> values,@RequestParam("page") Integer page, @RequestParam("size")Integer size){
        List<UploadRealTimeMonitoringData> list = uploadRealTimeMonitoringDataService.getDataAll(values,page,size);
    public R<List<UploadRealTimeMonitoringData>> getAll(@RequestBody MongoChargingOrderQuery mongoChargingOrderQuery){
        List<UploadRealTimeMonitoringData> list = uploadRealTimeMonitoringDataService.getDataAll(mongoChargingOrderQuery);
        return R.ok(list);
    }
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/UploadRealTimeMonitoringDataService.java
@@ -1,11 +1,10 @@
package com.ruoyi.integration.mongodb.service;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
import com.ruoyi.integration.mongodb.base.BaseService;
import com.ruoyi.common.core.dto.MongoChargingOrderQuery;
import java.util.List;
import java.util.Set;
public interface UploadRealTimeMonitoringDataService extends BaseService<UploadRealTimeMonitoringData> {
    
@@ -15,7 +14,7 @@
     * @return
     */
    List<UploadRealTimeMonitoringData> getDataByOrderCode(String code);
    List<UploadRealTimeMonitoringData> getDataAll(Set<String> values, Integer page, Integer size);
    List<UploadRealTimeMonitoringData> getDataAll(MongoChargingOrderQuery mongoChargingOrderQuery);
    /**
     * 查询订单最新一条数据
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/UploadRealTimeMonitoringDataServiceImpl.java
@@ -1,10 +1,10 @@
package com.ruoyi.integration.mongodb.service.impl;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
import com.ruoyi.integration.iotda.constant.IotConstant;
import com.ruoyi.integration.mongodb.service.UploadRealTimeMonitoringDataService;
import com.ruoyi.common.core.dto.MongoChargingOrderQuery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
@@ -15,7 +15,6 @@
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Set;
@Service
public class UploadRealTimeMonitoringDataServiceImpl implements UploadRealTimeMonitoringDataService {
@@ -58,11 +57,46 @@
    }
    @Override
    public List<UploadRealTimeMonitoringData> getDataAll(Set<String> values, Integer page, Integer size) {
    public List<UploadRealTimeMonitoringData> getDataAll(MongoChargingOrderQuery mongoChargingOrderQuery) {
        Query query = new Query();
        if (!values.isEmpty()){
            query.addCriteria(Criteria.where("transaction_serial_number").in(values));
//        if (!values.isEmpty()){
//            query.addCriteria(Criteria.where("transaction_serial_number").in(values));
//        }
        if (mongoChargingOrderQuery.getCode() != null && !mongoChargingOrderQuery.getCode().isEmpty()) {
            query.addCriteria(Criteria.where("transaction_serial_number").regex(mongoChargingOrderQuery.getCode(), "i")); // "i" 表示不区分大小写
        }
        if (mongoChargingOrderQuery.getOrderType() !=null){
            query.addCriteria(Criteria.where("order_type").is(mongoChargingOrderQuery.getOrderType()));
        }
        if (mongoChargingOrderQuery.getSiteId() != null){
            query.addCriteria(Criteria.where("site_id").is(mongoChargingOrderQuery.getSiteId()));
        }
        if (mongoChargingOrderQuery.getChargingPileCode() != null && !mongoChargingOrderQuery.getChargingPileCode().isEmpty()) {
            query.addCriteria(Criteria.where("charging_pile_code").is(mongoChargingOrderQuery.getChargingPileCode()));
        }
        if (mongoChargingOrderQuery.getChargingGunCode() != null && !mongoChargingOrderQuery.getChargingGunCode().isEmpty()){
            query.addCriteria(Criteria.where("charging_gun_code").is(mongoChargingOrderQuery.getChargingGunCode()));
        }
        if (mongoChargingOrderQuery.getStatus() != null){
            query.addCriteria(Criteria.where("status").is(mongoChargingOrderQuery.getStatus()));
        }
        if (mongoChargingOrderQuery.getStartTime() != null) {
            String[] split = mongoChargingOrderQuery.getStartTime().split(" - ");
            query.addCriteria(Criteria.where("startTime").gte(split[0]).lt(split[1]));
        }
        if (mongoChargingOrderQuery.getEndTime() != null && mongoChargingOrderQuery.getEndTime() != null) {
            String[] split = mongoChargingOrderQuery.getEndTime().split(" - ");
            query.addCriteria(Criteria.where("lastTime").gte(split[0]).lt(split[1]));
        }
        // 设置分页
        Pageable pageable = PageRequest.of(page, size);
        query.with(pageable);
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
@@ -1,6 +1,5 @@
package com.ruoyi.order.controller;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.google.common.collect.Lists;
import java.math.BigDecimal;
import java.math.RoundingMode;
@@ -21,29 +20,24 @@
import com.ruoyi.chargingPile.api.model.Site;
import com.ruoyi.chargingPile.api.model.TChargingGun;
import com.ruoyi.chargingPile.api.model.TChargingPile;
import com.ruoyi.chargingPile.api.model.TParkingRecord;
import com.ruoyi.chargingPile.api.vo.SiteVO;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.dto.ChargingOrderGroup;
import com.ruoyi.common.core.dto.ChargingPercentProvinceDto;
import com.ruoyi.common.core.utils.DateUtils;
import com.ruoyi.common.redis.service.RedisService;
import com.ruoyi.common.security.service.TokenService;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.core.web.page.BasePage;
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.integration.api.feignClient.UploadRealTimeMonitoringDataClient;
import com.ruoyi.integration.api.model.ChargingOrderAndUploadRealTimeMonitoringDataDto;
import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
import com.ruoyi.order.api.model.*;
import com.ruoyi.order.api.query.ChargingOrderQuery;
import com.ruoyi.common.core.dto.MongoChargingOrderQuery;
import com.ruoyi.order.api.query.TChargingCountQuery;
import com.ruoyi.order.api.query.UploadRealTimeMonitoringDataQuery;
import com.ruoyi.order.api.vo.*;
import com.ruoyi.order.api.vo.ChargingOrderInfoVO;
import com.ruoyi.order.api.vo.ChargingOrderVO;
import com.ruoyi.order.api.vo.GetChargingOrderByLicensePlate;
import com.ruoyi.order.api.vo.TCharingOrderVO;
import com.ruoyi.order.dto.GetMyChargingOrderList;
@@ -53,18 +47,14 @@
import com.ruoyi.order.dto.OrderEvaluateVo;
import com.ruoyi.order.dto.*;
import com.ruoyi.order.service.*;
import com.ruoyi.order.service.impl.TChargingOrderServiceImpl;
import com.ruoyi.order.util.PreviousSixMonths;
import com.ruoyi.order.vo.EndOfChargePageInfo;
import com.ruoyi.payment.api.feignClient.AliPaymentClient;
import com.ruoyi.payment.api.feignClient.WxPaymentClient;
import com.ruoyi.payment.api.vo.AliQueryOrder;
import com.ruoyi.payment.api.vo.WxRefundNotifyResp;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.models.auth.In;
import jdk.nashorn.internal.runtime.ListAdapter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
@@ -73,15 +63,12 @@
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.ServletInputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.PrintWriter;
import java.time.YearMonth;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
import java.time.temporal.TemporalAdjusters;
import java.util.*;
import java.util.*;
import java.util.List;
import java.util.stream.Collectors;
@@ -691,37 +678,37 @@
    @ResponseBody
    @PostMapping(value = "/watch/chargingOrder")
    @ApiOperation(value = "监控订单", tags = {"管理后台-订单管理"})
    public R<List<ChargingOrderAndUploadRealTimeMonitoringDataDto>> watchChargingOrder(@RequestBody ChargingOrderQuery dto) {
        Integer page = dto.getPageCurr();
        Integer pageSize = dto.getPageSize();
        List<Long> data = appUserClient.getUserIdsByPhone(dto.getPhone()).getData();
        dto.setUserIds(data);
        dto.setPageCurr(1);
        dto.setPageSize(99999);
        TCharingOrderVO res = chargingOrderService.chargingOrder(dto);
        Map<String,TChargingOrder> map = new HashMap<>();
        //吧list放入map中
        for (ChargingOrderVO record : res.getList().getRecords()) {
            map.put(record.getCode(),record);
        }
        Set<String> strings = map.keySet();
    public R watchChargingOrder(@RequestBody MongoChargingOrderQuery mongoChargingOrderQuery) {
//        Integer page = dto.getPageCurr();
//        Integer pageSize = dto.getPageSize();
//        List<Long> data = appUserClient.getUserIdsByPhone(dto.getPhone()).getData();
//        dto.setUserIds(data);
//        dto.setPageCurr(1);
//        dto.setPageSize(99999);
//        TCharingOrderVO res = chargingOrderService.chargingOrder(dto);
//        Map<String,TChargingOrder> map = new HashMap<>();
//        //吧list放入map中
//        for (ChargingOrderVO record : res.getList().getRecords()) {
//            map.put(record.getCode(),record);
//        }
//        Set<String> strings = map.keySet();
        List<UploadRealTimeMonitoringData> data1 = uploadRealTimeMonitoringDataClient.getAll(strings, page, pageSize).getData();
        List<UploadRealTimeMonitoringData> data1 = uploadRealTimeMonitoringDataClient.getAll(mongoChargingOrderQuery).getData();
        List<ChargingOrderAndUploadRealTimeMonitoringDataDto> dtos = new ArrayList<>();
        for (UploadRealTimeMonitoringData uploadRealTimeMonitoringData : data1) {
            ChargingOrderAndUploadRealTimeMonitoringDataDto dataDto = new ChargingOrderAndUploadRealTimeMonitoringDataDto();
            BeanUtils.copyProperties(uploadRealTimeMonitoringData,dataDto);
            TChargingOrder tChargingOrder = map.get(uploadRealTimeMonitoringData.getCharging_pile_code());
            if (tChargingOrder!=null) {
                BeanUtils.copyProperties(tChargingOrder, dataDto);
            }
            dtos.add(dataDto);
        }
//        List<ChargingOrderAndUploadRealTimeMonitoringDataDto> dtos = new ArrayList<>();
//        for (UploadRealTimeMonitoringData uploadRealTimeMonitoringData : data1) {
//            ChargingOrderAndUploadRealTimeMonitoringDataDto dataDto = new ChargingOrderAndUploadRealTimeMonitoringDataDto();
//            BeanUtils.copyProperties(uploadRealTimeMonitoringData,dataDto);
//            TChargingOrder tChargingOrder = map.get(uploadRealTimeMonitoringData.getCharging_pile_code());
//            if (tChargingOrder!=null) {
//                BeanUtils.copyProperties(tChargingOrder, dataDto);
//            }
//            dtos.add(dataDto);
//        }
        return R.ok(dtos);
        return R.ok(data1);
    }