xuhy
2024-10-17 c030f12375d7e5d985847c662f0162b9254aef50
Merge remote-tracking branch 'origin/master'
16个文件已修改
586 ■■■■ 已修改文件
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/TransactionRecord.java 116 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TChargingOrder.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TActivityStatisticslVO.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TActivityVO.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TransactionRecordMessageVO.java 117 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/main/resources/bootstrap.yml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/TransactionRecordMessage.java 114 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java 163 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/resources/bootstrap.yml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingBillMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/RuoYiOrderApplicationTests.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-other/src/main/resources/bootstrap.yml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-payment/src/main/resources/bootstrap.yml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/TransactionRecord.java
@@ -31,55 +31,161 @@
    private Integer stop_reason;// 停止原因
    private String physical_card_number;// 物理卡号
    private String time1;// 计费时段
    private BigDecimal sharp_peak_charge1;// 电量
    private BigDecimal loss_sharp_peak_charge1;// 计损电量
    private BigDecimal sharp_peak_amount1;// 金额
    private BigDecimal sharp_peak_charge1;// 尖电量
    private BigDecimal loss_sharp_peak_charge1;// 计损尖电量
    private BigDecimal sharp_peak_amount1;// 尖金额
    private BigDecimal flat_peak_charge1;// 平电量
    private BigDecimal loss_flat_peak_char1;// 计损平电量
    private BigDecimal flat_peak_amount1;// 平金额
    private BigDecimal peak_charge1;// 峰电量
    private BigDecimal loss_peak_charge1;// 计损峰电量
    private BigDecimal peak_amount1;// 峰金额
    private BigDecimal low_peak_charge1;// 谷电量
    private BigDecimal loss_low_peak_charge1;// 计损谷电量
    private BigDecimal low_peak_amount1;// 谷金额
    private String time2;// 计费时段
    private BigDecimal sharp_peak_charge2;// 电量
    private BigDecimal loss_sharp_peak_charge2;// 计损电量
    private BigDecimal sharp_peak_amount2;// 金额
    private BigDecimal flat_peak_charge2;// 电量
    private BigDecimal loss_flat_peak_char2;// 计损电量
    private BigDecimal flat_peak_amount2;// 金额
    private BigDecimal peak_charge2;// 电量
    private BigDecimal loss_peak_charge2;// 计损电量
    private BigDecimal peak_amount2;// 金额
    private BigDecimal low_peak_charge2;// 电量
    private BigDecimal loss_low_peak_charge2;// 计损电量
    private BigDecimal low_peak_amount2;// 金额
    private String time3;// 计费时段
    private BigDecimal sharp_peak_charge3;// 电量
    private BigDecimal loss_sharp_peak_charge3;// 计损电量
    private BigDecimal sharp_peak_amount3;// 金额
    private BigDecimal flat_peak_charge3;// 电量
    private BigDecimal loss_flat_peak_char3;// 计损电量
    private BigDecimal flat_peak_amount3;// 金额
    private BigDecimal peak_charge3;// 电量
    private BigDecimal loss_peak_charge3;// 计损电量
    private BigDecimal peak_amount3;// 金额
    private BigDecimal low_peak_charge3;// 电量
    private BigDecimal loss_low_peak_charge3;// 计损电量
    private BigDecimal low_peak_amount3;// 金额
    private String time4;// 计费时段
    private BigDecimal sharp_peak_charge4;// 电量
    private BigDecimal loss_sharp_peak_charge4;// 计损电量
    private BigDecimal sharp_peak_amount4;// 金额
    private BigDecimal flat_peak_charge4;// 电量
    private BigDecimal loss_flat_peak_char4;// 计损电量
    private BigDecimal flat_peak_amount4;// 金额
    private BigDecimal peak_charge4;// 电量
    private BigDecimal loss_peak_charge4;// 计损电量
    private BigDecimal peak_amount4;// 金额
    private BigDecimal low_peak_charge4;// 电量
    private BigDecimal loss_low_peak_charge4;// 计损电量
    private BigDecimal low_peak_amount4;// 金额
    private String time5;// 计费时段
    private BigDecimal sharp_peak_charge5;// 电量
    private BigDecimal loss_sharp_peak_charge5;// 计损电量
    private BigDecimal sharp_peak_amount5;// 金额
    private BigDecimal flat_peak_charge5;// 电量
    private BigDecimal loss_flat_peak_char5;// 计损电量
    private BigDecimal flat_peak_amount5;// 金额
    private BigDecimal peak_charge5;// 电量
    private BigDecimal loss_peak_charge5;// 计损电量
    private BigDecimal peak_amount5;// 金额
    private BigDecimal low_peak_charge5;// 电量
    private BigDecimal loss_low_peak_charge5;// 计损电量
    private BigDecimal low_peak_amount5;// 金额
    private String time6;// 计费时段
    private BigDecimal sharp_peak_charge6;// 电量
    private BigDecimal loss_sharp_peak_charge6;// 计损电量
    private BigDecimal sharp_peak_amount6;// 金额
    private BigDecimal flat_peak_charge6;// 电量
    private BigDecimal loss_flat_peak_char6;// 计损电量
    private BigDecimal flat_peak_amount6;// 金额
    private BigDecimal peak_charge6;// 电量
    private BigDecimal loss_peak_charge6;// 计损电量
    private BigDecimal peak_amount6;// 金额
    private BigDecimal low_peak_charge6;// 电量
    private BigDecimal loss_low_peak_charge6;// 计损电量
    private BigDecimal low_peak_amount6;// 金额
    private String time7;// 计费时段
    private BigDecimal sharp_peak_charge7;// 电量
    private BigDecimal loss_sharp_peak_charge7;// 计损电量
    private BigDecimal sharp_peak_amount7;// 金额
    private BigDecimal flat_peak_charge7;// 电量
    private BigDecimal loss_flat_peak_char7;// 计损电量
    private BigDecimal flat_peak_amount7;// 金额
    private BigDecimal peak_charge7;// 电量
    private BigDecimal loss_peak_charge7;// 计损电量
    private BigDecimal peak_amount7;// 金额
    private BigDecimal low_peak_charge7;// 电量
    private BigDecimal loss_low_peak_charge7;// 计损电量
    private BigDecimal low_peak_amount7;// 金额
    private String time8;// 计费时段
    private BigDecimal sharp_peak_charge8;// 电量
    private BigDecimal loss_sharp_peak_charge8;// 计损电量
    private BigDecimal sharp_peak_amount8;// 金额
    private BigDecimal flat_peak_charge8;// 电量
    private BigDecimal loss_flat_peak_char8;// 计损电量
    private BigDecimal flat_peak_amount8;// 金额
    private BigDecimal peak_charge8;// 电量
    private BigDecimal loss_peak_charge8;// 计损电量
    private BigDecimal peak_amount8;// 金额
    private BigDecimal low_peak_charge8;// 电量
    private BigDecimal loss_low_peak_charge8;// 计损电量
    private BigDecimal low_peak_amount8;// 金额
    private String time9;// 计费时段
    private BigDecimal sharp_peak_charge9;// 电量
    private BigDecimal loss_sharp_peak_charge9;// 计损电量
    private BigDecimal sharp_peak_amount9;// 金额
    private BigDecimal flat_peak_charge9;// 电量
    private BigDecimal loss_flat_peak_char9;// 计损电量
    private BigDecimal flat_peak_amount9;// 金额
    private BigDecimal peak_charge9;// 电量
    private BigDecimal loss_peak_charge9;// 计损电量
    private BigDecimal peak_amount9;// 金额
    private BigDecimal low_peak_charge9;// 电量
    private BigDecimal loss_low_peak_charge9;// 计损电量
    private BigDecimal low_peak_amount9;// 金额
    private String time10;// 计费时段
    private BigDecimal sharp_peak_charge10;// 电量
    private BigDecimal loss_sharp_peak_charge10;// 计损电量
    private BigDecimal sharp_peak_amount10;// 金额
    private BigDecimal flat_peak_charge10;// 电量
    private BigDecimal loss_flat_peak_char10;// 计损电量
    private BigDecimal flat_peak_amount10;// 金额
    private BigDecimal peak_charge10;// 电量
    private BigDecimal loss_peak_charge10;// 计损电量
    private BigDecimal peak_amount10;// 金额
    private BigDecimal low_peak_charge10;// 电量
    private BigDecimal loss_low_peak_charge10;// 计损电量
    private BigDecimal low_peak_amount10;// 金额
    private String time11;// 计费时段
    private BigDecimal sharp_peak_charge11;// 电量
    private BigDecimal loss_sharp_peak_charge11;// 计损电量
    private BigDecimal sharp_peak_amount11;// 金额
    private BigDecimal flat_peak_charge11;// 电量
    private BigDecimal loss_flat_peak_char11;// 计损电量
    private BigDecimal flat_peak_amount11;// 金额
    private BigDecimal peak_charge11;// 电量
    private BigDecimal loss_peak_charge11;// 计损电量
    private BigDecimal peak_amount11;// 金额
    private BigDecimal low_peak_charge11;// 电量
    private BigDecimal loss_low_peak_charge11;// 计损电量
    private BigDecimal low_peak_amount11;// 金额
    private String time12;// 计费时段
    private BigDecimal sharp_peak_charge12;// 电量
    private BigDecimal loss_sharp_peak_charge12;// 计损电量
    private BigDecimal sharp_peak_amount12;// 金额
    private BigDecimal flat_peak_charge12;// 电量
    private BigDecimal loss_flat_peak_char12;// 计损电量
    private BigDecimal flat_peak_amount12;// 金额
    private BigDecimal peak_charge12;// 电量
    private BigDecimal loss_peak_charge12;// 计损电量
    private BigDecimal peak_amount12;// 金额
    private BigDecimal low_peak_charge12;// 电量
    private BigDecimal loss_low_peak_charge12;// 计损电量
    private BigDecimal low_peak_amount12;// 金额
}
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java
@@ -56,7 +56,7 @@
     * @return
     */
    @PostMapping(value = "/t-exchange-order/activityStatistics")
    public R<TActivityVO> activityStatistics(@RequestBody TActivityStatisticsQuery dto);
    R<TActivityVO> activityStatistics(@RequestBody TActivityStatisticsQuery dto);
    @PostMapping(value = "/chargingBill/accountBillList")
    @ApiOperation(value = "列表查询", tags = {"管理后台-账户结算账单"})
    R<AccountListVO> accountBillList(@RequestBody ChargingListQuery dto);
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TChargingOrder.java
@@ -204,7 +204,7 @@
    private LocalDateTime refundTime;
    @ApiModelProperty(value = "总电量")
    @TableField("total_electricity")
    private BigDecimal totalElectricity;// 总电量
    private BigDecimal totalElectricity;
    @ApiModelProperty(value = "支付时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TActivityStatisticslVO.java
@@ -1,5 +1,6 @@
package com.ruoyi.order.api.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.ser.Serializers;
import com.ruoyi.common.core.web.domain.BasePojo;
import com.ruoyi.order.api.model.*;
@@ -8,6 +9,7 @@
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Data
@ApiModel(value = "管理后台活动费用统计分页列表", description = "管理后台活动费用统计分页列表")
@@ -33,16 +35,17 @@
    @ApiModelProperty(value = "实付")
    private BigDecimal paymentAmount;
    @ApiModelProperty(value = "消费时间")
    private String time;
    @ApiModelProperty(value = "消费时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime time;
    @ApiModelProperty(value = "总计优惠")
    private BigDecimal total;
    @ApiModelProperty(value = "消费时间")
    @ApiModelProperty(value = "优惠券优惠")
    private BigDecimal coupon;
    @ApiModelProperty(value = "消费时间")
    @ApiModelProperty(value = "会员抵扣")
    private BigDecimal discount;
    @ApiModelProperty(value = "消费时间")
    @ApiModelProperty(value = "会员活动")
    private BigDecimal vipActivity;
    @ApiModelProperty(value = "消费时间")
    @ApiModelProperty(value = "赠送会员")
    private BigDecimal grantVip;
}
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TActivityVO.java
@@ -7,7 +7,6 @@
import lombok.Data;
import java.math.BigDecimal;
@Data
@ApiModel(value = "TOrderAppealVO对象", description = "订单申诉VO对象")
public class TActivityVO  {
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/TransactionRecordMessageVO.java
@@ -10,7 +10,7 @@
@Data
public class TransactionRecordMessageVO {
    private String transaction_serial_number;// 交易流水号
    private String charging_pile_code;// 桩编码
    private String charging_gun_code;// 抢号
@@ -27,54 +27,161 @@
    private Integer stop_reason;// 停止原因
    private String physical_card_number;// 物理卡号
    private String time1;// 计费时段
    private BigDecimal sharp_peak_charge1;// 电量
    private BigDecimal loss_sharp_peak_charge1;// 计损电量
    private BigDecimal sharp_peak_amount1;// 金额
    private BigDecimal sharp_peak_charge1;// 尖电量
    private BigDecimal loss_sharp_peak_charge1;// 计损尖电量
    private BigDecimal sharp_peak_amount1;// 尖金额
    private BigDecimal flat_peak_charge1;// 平电量
    private BigDecimal loss_flat_peak_char1;// 计损平电量
    private BigDecimal flat_peak_amount1;// 平金额
    private BigDecimal peak_charge1;// 峰电量
    private BigDecimal loss_peak_charge1;// 计损峰电量
    private BigDecimal peak_amount1;// 峰金额
    private BigDecimal low_peak_charge1;// 谷电量
    private BigDecimal loss_low_peak_charge1;// 计损谷电量
    private BigDecimal low_peak_amount1;// 谷金额
    private String time2;// 计费时段
    private BigDecimal sharp_peak_charge2;// 电量
    private BigDecimal loss_sharp_peak_charge2;// 计损电量
    private BigDecimal sharp_peak_amount2;// 金额
    private BigDecimal flat_peak_charge2;// 电量
    private BigDecimal loss_flat_peak_char2;// 计损电量
    private BigDecimal flat_peak_amount2;// 金额
    private BigDecimal peak_charge2;// 电量
    private BigDecimal loss_peak_charge2;// 计损电量
    private BigDecimal peak_amount2;// 金额
    private BigDecimal low_peak_charge2;// 电量
    private BigDecimal loss_low_peak_charge2;// 计损电量
    private BigDecimal low_peak_amount2;// 金额
    private String time3;// 计费时段
    private BigDecimal sharp_peak_charge3;// 电量
    private BigDecimal loss_sharp_peak_charge3;// 计损电量
    private BigDecimal sharp_peak_amount3;// 金额
    private BigDecimal flat_peak_charge3;// 电量
    private BigDecimal loss_flat_peak_char3;// 计损电量
    private BigDecimal flat_peak_amount3;// 金额
    private BigDecimal peak_charge3;// 电量
    private BigDecimal loss_peak_charge3;// 计损电量
    private BigDecimal peak_amount3;// 金额
    private BigDecimal low_peak_charge3;// 电量
    private BigDecimal loss_low_peak_charge3;// 计损电量
    private BigDecimal low_peak_amount3;// 金额
    private String time4;// 计费时段
    private BigDecimal sharp_peak_charge4;// 电量
    private BigDecimal loss_sharp_peak_charge4;// 计损电量
    private BigDecimal sharp_peak_amount4;// 金额
    private BigDecimal flat_peak_charge4;// 电量
    private BigDecimal loss_flat_peak_char4;// 计损电量
    private BigDecimal flat_peak_amount4;// 金额
    private BigDecimal peak_charge4;// 电量
    private BigDecimal loss_peak_charge4;// 计损电量
    private BigDecimal peak_amount4;// 金额
    private BigDecimal low_peak_charge4;// 电量
    private BigDecimal loss_low_peak_charge4;// 计损电量
    private BigDecimal low_peak_amount4;// 金额
    private String time5;// 计费时段
    private BigDecimal sharp_peak_charge5;// 电量
    private BigDecimal loss_sharp_peak_charge5;// 计损电量
    private BigDecimal sharp_peak_amount5;// 金额
    private BigDecimal flat_peak_charge5;// 电量
    private BigDecimal loss_flat_peak_char5;// 计损电量
    private BigDecimal flat_peak_amount5;// 金额
    private BigDecimal peak_charge5;// 电量
    private BigDecimal loss_peak_charge5;// 计损电量
    private BigDecimal peak_amount5;// 金额
    private BigDecimal low_peak_charge5;// 电量
    private BigDecimal loss_low_peak_charge5;// 计损电量
    private BigDecimal low_peak_amount5;// 金额
    private String time6;// 计费时段
    private BigDecimal sharp_peak_charge6;// 电量
    private BigDecimal loss_sharp_peak_charge6;// 计损电量
    private BigDecimal sharp_peak_amount6;// 金额
    private BigDecimal flat_peak_charge6;// 电量
    private BigDecimal loss_flat_peak_char6;// 计损电量
    private BigDecimal flat_peak_amount6;// 金额
    private BigDecimal peak_charge6;// 电量
    private BigDecimal loss_peak_charge6;// 计损电量
    private BigDecimal peak_amount6;// 金额
    private BigDecimal low_peak_charge6;// 电量
    private BigDecimal loss_low_peak_charge6;// 计损电量
    private BigDecimal low_peak_amount6;// 金额
    private String time7;// 计费时段
    private BigDecimal sharp_peak_charge7;// 电量
    private BigDecimal loss_sharp_peak_charge7;// 计损电量
    private BigDecimal sharp_peak_amount7;// 金额
    private BigDecimal flat_peak_charge7;// 电量
    private BigDecimal loss_flat_peak_char7;// 计损电量
    private BigDecimal flat_peak_amount7;// 金额
    private BigDecimal peak_charge7;// 电量
    private BigDecimal loss_peak_charge7;// 计损电量
    private BigDecimal peak_amount7;// 金额
    private BigDecimal low_peak_charge7;// 电量
    private BigDecimal loss_low_peak_charge7;// 计损电量
    private BigDecimal low_peak_amount7;// 金额
    private String time8;// 计费时段
    private BigDecimal sharp_peak_charge8;// 电量
    private BigDecimal loss_sharp_peak_charge8;// 计损电量
    private BigDecimal sharp_peak_amount8;// 金额
    private BigDecimal flat_peak_charge8;// 电量
    private BigDecimal loss_flat_peak_char8;// 计损电量
    private BigDecimal flat_peak_amount8;// 金额
    private BigDecimal peak_charge8;// 电量
    private BigDecimal loss_peak_charge8;// 计损电量
    private BigDecimal peak_amount8;// 金额
    private BigDecimal low_peak_charge8;// 电量
    private BigDecimal loss_low_peak_charge8;// 计损电量
    private BigDecimal low_peak_amount8;// 金额
    private String time9;// 计费时段
    private BigDecimal sharp_peak_charge9;// 电量
    private BigDecimal loss_sharp_peak_charge9;// 计损电量
    private BigDecimal sharp_peak_amount9;// 金额
    private BigDecimal flat_peak_charge9;// 电量
    private BigDecimal loss_flat_peak_char9;// 计损电量
    private BigDecimal flat_peak_amount9;// 金额
    private BigDecimal peak_charge9;// 电量
    private BigDecimal loss_peak_charge9;// 计损电量
    private BigDecimal peak_amount9;// 金额
    private BigDecimal low_peak_charge9;// 电量
    private BigDecimal loss_low_peak_charge9;// 计损电量
    private BigDecimal low_peak_amount9;// 金额
    private String time10;// 计费时段
    private BigDecimal sharp_peak_charge10;// 电量
    private BigDecimal loss_sharp_peak_charge10;// 计损电量
    private BigDecimal sharp_peak_amount10;// 金额
    private BigDecimal flat_peak_charge10;// 电量
    private BigDecimal loss_flat_peak_char10;// 计损电量
    private BigDecimal flat_peak_amount10;// 金额
    private BigDecimal peak_charge10;// 电量
    private BigDecimal loss_peak_charge10;// 计损电量
    private BigDecimal peak_amount10;// 金额
    private BigDecimal low_peak_charge10;// 电量
    private BigDecimal loss_low_peak_charge10;// 计损电量
    private BigDecimal low_peak_amount10;// 金额
    private String time11;// 计费时段
    private BigDecimal sharp_peak_charge11;// 电量
    private BigDecimal loss_sharp_peak_charge11;// 计损电量
    private BigDecimal sharp_peak_amount11;// 金额
    private BigDecimal flat_peak_charge11;// 电量
    private BigDecimal loss_flat_peak_char11;// 计损电量
    private BigDecimal flat_peak_amount11;// 金额
    private BigDecimal peak_charge11;// 电量
    private BigDecimal loss_peak_charge11;// 计损电量
    private BigDecimal peak_amount11;// 金额
    private BigDecimal low_peak_charge11;// 电量
    private BigDecimal loss_low_peak_charge11;// 计损电量
    private BigDecimal low_peak_amount11;// 金额
    private String time12;// 计费时段
    private BigDecimal sharp_peak_charge12;// 电量
    private BigDecimal loss_sharp_peak_charge12;// 计损电量
    private BigDecimal sharp_peak_amount12;// 金额
    private BigDecimal flat_peak_charge12;// 电量
    private BigDecimal loss_flat_peak_char12;// 计损电量
    private BigDecimal flat_peak_amount12;// 金额
    private BigDecimal peak_charge12;// 电量
    private BigDecimal loss_peak_charge12;// 计损电量
    private BigDecimal peak_amount12;// 金额
    private BigDecimal low_peak_charge12;// 电量
    private BigDecimal loss_low_peak_charge12;// 计损电量
    private BigDecimal low_peak_amount12;// 金额
}
ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml
@@ -21,16 +21,15 @@
    nacos:
      discovery:
        # 服务注册地址
        server-addr: 127.0.0.1:8848
        server-addr: 192.168.110.169:8848
        service: ${spring.application.name}
        group: DEFAULT_GROUP
        namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
        ip: 192.168.110.111
      username: nacos
      password: nacos
        username: nacos
        password: nacos
      config:
        # 配置中心地址
        server-addr: 127.0.0.1:8848
        server-addr: 192.168.110.169:8848
        namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
        group: DEFAULT_GROUP
        username: nacos
ruoyi-service/ruoyi-chargingPile/src/main/resources/bootstrap.yml
@@ -22,7 +22,7 @@
    nacos:
      discovery:
        # 服务注册地址
        server-addr: 127.0.0.1:8848
        server-addr: 192.168.110.169:8848
        service: ${spring.application.name}
        group: DEFAULT_GROUP
        namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
@@ -30,7 +30,7 @@
        password: nacos
      config:
        # 配置中心地址
        server-addr: 127.0.0.1:8848
        server-addr: 192.168.110.169:8848
        namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
        group: DEFAULT_GROUP
        name: ${spring.application.name}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/model/TransactionRecordMessage.java
@@ -30,53 +30,161 @@
    private Integer stop_reason;// 停止原因
    private String physical_card_number;// 物理卡号
    private String time1;// 计费时段
    private BigDecimal sharp_peak_charge1;// 电量
    private BigDecimal loss_sharp_peak_charge1;// 计损电量
    private BigDecimal sharp_peak_amount1;// 金额
    private BigDecimal sharp_peak_charge1;// 尖电量
    private BigDecimal loss_sharp_peak_charge1;// 计损尖电量
    private BigDecimal sharp_peak_amount1;// 尖金额
    private BigDecimal flat_peak_charge1;// 平电量
    private BigDecimal loss_flat_peak_char1;// 计损平电量
    private BigDecimal flat_peak_amount1;// 平金额
    private BigDecimal peak_charge1;// 峰电量
    private BigDecimal loss_peak_charge1;// 计损峰电量
    private BigDecimal peak_amount1;// 峰金额
    private BigDecimal low_peak_charge1;// 谷电量
    private BigDecimal loss_low_peak_charge1;// 计损谷电量
    private BigDecimal low_peak_amount1;// 谷金额
    private String time2;// 计费时段
    private BigDecimal sharp_peak_charge2;// 电量
    private BigDecimal loss_sharp_peak_charge2;// 计损电量
    private BigDecimal sharp_peak_amount2;// 金额
    private BigDecimal flat_peak_charge2;// 电量
    private BigDecimal loss_flat_peak_char2;// 计损电量
    private BigDecimal flat_peak_amount2;// 金额
    private BigDecimal peak_charge2;// 电量
    private BigDecimal loss_peak_charge2;// 计损电量
    private BigDecimal peak_amount2;// 金额
    private BigDecimal low_peak_charge2;// 电量
    private BigDecimal loss_low_peak_charge2;// 计损电量
    private BigDecimal low_peak_amount2;// 金额
    private String time3;// 计费时段
    private BigDecimal sharp_peak_charge3;// 电量
    private BigDecimal loss_sharp_peak_charge3;// 计损电量
    private BigDecimal sharp_peak_amount3;// 金额
    private BigDecimal flat_peak_charge3;// 电量
    private BigDecimal loss_flat_peak_char3;// 计损电量
    private BigDecimal flat_peak_amount3;// 金额
    private BigDecimal peak_charge3;// 电量
    private BigDecimal loss_peak_charge3;// 计损电量
    private BigDecimal peak_amount3;// 金额
    private BigDecimal low_peak_charge3;// 电量
    private BigDecimal loss_low_peak_charge3;// 计损电量
    private BigDecimal low_peak_amount3;// 金额
    private String time4;// 计费时段
    private BigDecimal sharp_peak_charge4;// 电量
    private BigDecimal loss_sharp_peak_charge4;// 计损电量
    private BigDecimal sharp_peak_amount4;// 金额
    private BigDecimal flat_peak_charge4;// 电量
    private BigDecimal loss_flat_peak_char4;// 计损电量
    private BigDecimal flat_peak_amount4;// 金额
    private BigDecimal peak_charge4;// 电量
    private BigDecimal loss_peak_charge4;// 计损电量
    private BigDecimal peak_amount4;// 金额
    private BigDecimal low_peak_charge4;// 电量
    private BigDecimal loss_low_peak_charge4;// 计损电量
    private BigDecimal low_peak_amount4;// 金额
    private String time5;// 计费时段
    private BigDecimal sharp_peak_charge5;// 电量
    private BigDecimal loss_sharp_peak_charge5;// 计损电量
    private BigDecimal sharp_peak_amount5;// 金额
    private BigDecimal flat_peak_charge5;// 电量
    private BigDecimal loss_flat_peak_char5;// 计损电量
    private BigDecimal flat_peak_amount5;// 金额
    private BigDecimal peak_charge5;// 电量
    private BigDecimal loss_peak_charge5;// 计损电量
    private BigDecimal peak_amount5;// 金额
    private BigDecimal low_peak_charge5;// 电量
    private BigDecimal loss_low_peak_charge5;// 计损电量
    private BigDecimal low_peak_amount5;// 金额
    private String time6;// 计费时段
    private BigDecimal sharp_peak_charge6;// 电量
    private BigDecimal loss_sharp_peak_charge6;// 计损电量
    private BigDecimal sharp_peak_amount6;// 金额
    private BigDecimal flat_peak_charge6;// 电量
    private BigDecimal loss_flat_peak_char6;// 计损电量
    private BigDecimal flat_peak_amount6;// 金额
    private BigDecimal peak_charge6;// 电量
    private BigDecimal loss_peak_charge6;// 计损电量
    private BigDecimal peak_amount6;// 金额
    private BigDecimal low_peak_charge6;// 电量
    private BigDecimal loss_low_peak_charge6;// 计损电量
    private BigDecimal low_peak_amount6;// 金额
    private String time7;// 计费时段
    private BigDecimal sharp_peak_charge7;// 电量
    private BigDecimal loss_sharp_peak_charge7;// 计损电量
    private BigDecimal sharp_peak_amount7;// 金额
    private BigDecimal flat_peak_charge7;// 电量
    private BigDecimal loss_flat_peak_char7;// 计损电量
    private BigDecimal flat_peak_amount7;// 金额
    private BigDecimal peak_charge7;// 电量
    private BigDecimal loss_peak_charge7;// 计损电量
    private BigDecimal peak_amount7;// 金额
    private BigDecimal low_peak_charge7;// 电量
    private BigDecimal loss_low_peak_charge7;// 计损电量
    private BigDecimal low_peak_amount7;// 金额
    private String time8;// 计费时段
    private BigDecimal sharp_peak_charge8;// 电量
    private BigDecimal loss_sharp_peak_charge8;// 计损电量
    private BigDecimal sharp_peak_amount8;// 金额
    private BigDecimal flat_peak_charge8;// 电量
    private BigDecimal loss_flat_peak_char8;// 计损电量
    private BigDecimal flat_peak_amount8;// 金额
    private BigDecimal peak_charge8;// 电量
    private BigDecimal loss_peak_charge8;// 计损电量
    private BigDecimal peak_amount8;// 金额
    private BigDecimal low_peak_charge8;// 电量
    private BigDecimal loss_low_peak_charge8;// 计损电量
    private BigDecimal low_peak_amount8;// 金额
    private String time9;// 计费时段
    private BigDecimal sharp_peak_charge9;// 电量
    private BigDecimal loss_sharp_peak_charge9;// 计损电量
    private BigDecimal sharp_peak_amount9;// 金额
    private BigDecimal flat_peak_charge9;// 电量
    private BigDecimal loss_flat_peak_char9;// 计损电量
    private BigDecimal flat_peak_amount9;// 金额
    private BigDecimal peak_charge9;// 电量
    private BigDecimal loss_peak_charge9;// 计损电量
    private BigDecimal peak_amount9;// 金额
    private BigDecimal low_peak_charge9;// 电量
    private BigDecimal loss_low_peak_charge9;// 计损电量
    private BigDecimal low_peak_amount9;// 金额
    private String time10;// 计费时段
    private BigDecimal sharp_peak_charge10;// 电量
    private BigDecimal loss_sharp_peak_charge10;// 计损电量
    private BigDecimal sharp_peak_amount10;// 金额
    private BigDecimal flat_peak_charge10;// 电量
    private BigDecimal loss_flat_peak_char10;// 计损电量
    private BigDecimal flat_peak_amount10;// 金额
    private BigDecimal peak_charge10;// 电量
    private BigDecimal loss_peak_charge10;// 计损电量
    private BigDecimal peak_amount10;// 金额
    private BigDecimal low_peak_charge10;// 电量
    private BigDecimal loss_low_peak_charge10;// 计损电量
    private BigDecimal low_peak_amount10;// 金额
    private String time11;// 计费时段
    private BigDecimal sharp_peak_charge11;// 电量
    private BigDecimal loss_sharp_peak_charge11;// 计损电量
    private BigDecimal sharp_peak_amount11;// 金额
    private BigDecimal flat_peak_charge11;// 电量
    private BigDecimal loss_flat_peak_char11;// 计损电量
    private BigDecimal flat_peak_amount11;// 金额
    private BigDecimal peak_charge11;// 电量
    private BigDecimal loss_peak_charge11;// 计损电量
    private BigDecimal peak_amount11;// 金额
    private BigDecimal low_peak_charge11;// 电量
    private BigDecimal loss_low_peak_charge11;// 计损电量
    private BigDecimal low_peak_amount11;// 金额
    private String time12;// 计费时段
    private BigDecimal sharp_peak_charge12;// 电量
    private BigDecimal loss_sharp_peak_charge12;// 计损电量
    private BigDecimal sharp_peak_amount12;// 金额
    private BigDecimal flat_peak_charge12;// 电量
    private BigDecimal loss_flat_peak_char12;// 计损电量
    private BigDecimal flat_peak_amount12;// 金额
    private BigDecimal peak_charge12;// 电量
    private BigDecimal loss_peak_charge12;// 计损电量
    private BigDecimal peak_amount12;// 金额
    private BigDecimal low_peak_charge12;// 电量
    private BigDecimal loss_low_peak_charge12;// 计损电量
    private BigDecimal low_peak_amount12;// 金额
}
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -72,6 +72,7 @@
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZoneOffset;
import java.time.format.DateTimeFormatter;
import java.time.format.TextStyle;
@@ -260,8 +261,8 @@
        }else{
            myChargingOrderInfo.setLicensePlate("无");
        }
        myChargingOrderInfo.setStartTime(chargingOrder.getStartTime().toInstant(ZoneOffset.of("+8")).toEpochMilli());
        myChargingOrderInfo.setEndTime(chargingOrder.getEndTime().toInstant(ZoneOffset.of("+8")).toEpochMilli());
        myChargingOrderInfo.setStartTime(chargingOrder.getStartTime().atZone(ZoneId.systemDefault()).toInstant().getEpochSecond() * 1000);
        myChargingOrderInfo.setEndTime(chargingOrder.getEndTime().atZone(ZoneId.systemDefault()).toInstant().getEpochSecond() * 1000);
        myChargingOrderInfo.setOrderAmount(chargingOrder.getOrderAmount());
        myChargingOrderInfo.setPaymentAmount(chargingOrder.getPaymentAmount());
        myChargingOrderInfo.setRechargeAmount(chargingOrder.getRechargeAmount());
@@ -293,7 +294,7 @@
            myChargingOrderInfo.setCurrentAndVoltage(currentAndVoltage);
            //在MongoDB中获取数据
            List<Integer> soc = dataList.stream().map(UploadRealTimeMonitoringData::getSoc).collect(Collectors.toList());
            List<BigDecimal> po = dataList.stream().map(s -> s.getOutput_current().multiply(s.getOutput_voltage()).divide(new BigDecimal(1000))).collect(Collectors.toList());
            List<BigDecimal> po = dataList.stream().map(s -> s.getOutput_current().multiply(s.getOutput_voltage()).divide(new BigDecimal(1000),2, RoundingMode.HALF_DOWN)).collect(Collectors.toList());
            List<Map<String, Object>> power = new ArrayList<>();
            for (int i = 0; i < time.size(); i++) {
                Map<String, Object> map = new HashMap<>();
@@ -306,7 +307,7 @@
            }
            myChargingOrderInfo.setPower(power);
        }
        myChargingOrderInfo.setActionable(myChargingOrderInfo.getEndTime() + 604800000L > System.currentTimeMillis() ? 0 : 1);
        myChargingOrderInfo.setActionable(myChargingOrderInfo.getEndTime() + 604800000L < System.currentTimeMillis() ? 0 : 1);
        return myChargingOrderInfo;
    }
    
@@ -1697,102 +1698,14 @@
        if(com.ruoyi.common.core.utils.StringUtils.isNotEmpty(query.getTransaction_serial_number())){
            //获取当前的计费策略
            TChargingOrder chargingOrder = this.getOne(new LambdaQueryWrapper<TChargingOrder>().eq(TChargingOrder::getCode, query.getTransaction_serial_number()));
            AccountingStrategyDetailOrder strategyDetail = accountingStrategyDetailOrderClient.getNowAccountingStrategyDetailOrder(chargingOrder.getId()).getData();
            TChargingOrderAccountingStrategy chargingOrderAccountingStrategy = chargingOrderAccountingStrategyService.getOne(new LambdaQueryWrapper<TChargingOrderAccountingStrategy>()
                    .eq(TChargingOrderAccountingStrategy::getChargingOrderId, chargingOrder.getId()).orderByDesc(TChargingOrderAccountingStrategy::getCreateTime).last(" limit 0, 1"));
            if(null == chargingOrderAccountingStrategy){
                chargingOrderAccountingStrategy = new TChargingOrderAccountingStrategy();
                chargingOrderAccountingStrategy.setChargingOrderId(chargingOrder.getId());
                chargingOrderAccountingStrategy.setAccountingStrategyDetailId(strategyDetail.getId());
                chargingOrderAccountingStrategy.setType(strategyDetail.getType());
                chargingOrderAccountingStrategy.setStartTime(chargingOrder.getStartTime().format(DateTimeFormatter.ofPattern("HH:mm")));
                chargingOrderAccountingStrategy.setEndTime(LocalDateTime.now().format(DateTimeFormatter.ofPattern("HH:mm")));
                chargingOrderAccountingStrategy.setElectrovalence(strategyDetail.getElectrovalence());
                chargingOrderAccountingStrategy.setServiceCharge(strategyDetail.getServiceCharge());
                chargingOrderAccountingStrategy.setCostServiceCharge(strategyDetail.getCostServiceCharge());
                //已充电总度数
                BigDecimal charging_degree = query.getCharging_degree();
                BigDecimal electrovalenc = strategyDetail.getElectrovalence().multiply(charging_degree);
                BigDecimal originalServicePrice = strategyDetail.getServiceCharge().multiply(charging_degree);
                BigDecimal serviceCharge = originalServicePrice;
                //计算优惠金额
                if(null != chargingOrder.getVipDiscount()){
                    serviceCharge = serviceCharge.multiply(chargingOrder.getVipDiscount().divide(new BigDecimal(10)));
                }
                chargingOrderAccountingStrategy.setChargingCapacity(charging_degree);
                chargingOrderAccountingStrategy.setPeriodElectricPrice(electrovalenc);
                chargingOrderAccountingStrategy.setPeriodServicePrice(serviceCharge);
                chargingOrderAccountingStrategy.setPeriodOriginalServicePrice(originalServicePrice);
                chargingOrderAccountingStrategy.setCreateTime(LocalDateTime.now());
                chargingOrderAccountingStrategyService.save(chargingOrderAccountingStrategy);
            }else{
                if(chargingOrderAccountingStrategy.getAccountingStrategyDetailId().equals(strategyDetail.getId())){
                    //已充电总度数
                    BigDecimal charging_degree = query.getCharging_degree();
                    BigDecimal chargingCapacity = chargingOrderAccountingStrategy.getChargingCapacity();
                    //计算本阶段充电度数
                    BigDecimal subtract = charging_degree.subtract(chargingCapacity);
                    //计算本阶段费用
                    BigDecimal electrovalenc = strategyDetail.getElectrovalence().multiply(subtract);
                    BigDecimal originalServicePrice = strategyDetail.getServiceCharge().multiply(subtract);
                    BigDecimal serviceCharge = originalServicePrice;
                    //计算优惠金额
                    if(null != chargingOrder.getVipDiscount()){
                        serviceCharge = serviceCharge.multiply(chargingOrder.getVipDiscount().divide(new BigDecimal(10)));
                    }
                    //将本阶段的费用增加到总费用中
                    electrovalenc = electrovalenc.add(chargingOrderAccountingStrategy.getPeriodElectricPrice());
                    originalServicePrice = originalServicePrice.add(chargingOrderAccountingStrategy.getPeriodOriginalServicePrice());
                    serviceCharge = serviceCharge.add(chargingOrderAccountingStrategy.getPeriodServicePrice());
                    chargingOrderAccountingStrategy.setChargingCapacity(charging_degree);
                    chargingOrderAccountingStrategy.setPeriodElectricPrice(electrovalenc);
                    chargingOrderAccountingStrategy.setPeriodServicePrice(serviceCharge);
                    chargingOrderAccountingStrategy.setPeriodOriginalServicePrice(originalServicePrice);
                    chargingOrderAccountingStrategy.setEndTime(LocalDateTime.now().format(DateTimeFormatter.ofPattern("HH:mm")));
                    chargingOrderAccountingStrategyService.updateById(chargingOrderAccountingStrategy);
                }else{
                    chargingOrderAccountingStrategy = new TChargingOrderAccountingStrategy();
                    chargingOrderAccountingStrategy.setChargingOrderId(chargingOrder.getId());
                    chargingOrderAccountingStrategy.setAccountingStrategyDetailId(strategyDetail.getId());
                    chargingOrderAccountingStrategy.setType(strategyDetail.getType());
                    chargingOrderAccountingStrategy.setStartTime(chargingOrder.getStartTime().format(DateTimeFormatter.ofPattern("HH:mm")));
                    chargingOrderAccountingStrategy.setEndTime(LocalDateTime.now().format(DateTimeFormatter.ofPattern("HH:mm")));
                    chargingOrderAccountingStrategy.setElectrovalence(strategyDetail.getElectrovalence());
                    chargingOrderAccountingStrategy.setServiceCharge(strategyDetail.getServiceCharge());
                    chargingOrderAccountingStrategy.setCostServiceCharge(strategyDetail.getCostServiceCharge());
                    //已充电总度数
                    BigDecimal charging_degree = query.getCharging_degree();
                    BigDecimal electrovalenc = strategyDetail.getElectrovalence().multiply(charging_degree);
                    BigDecimal originalServicePrice = strategyDetail.getServiceCharge().multiply(charging_degree);
                    BigDecimal serviceCharge = originalServicePrice;
                    //计算优惠金额
                    if(null != chargingOrder.getVipDiscount()){
                        serviceCharge = serviceCharge.multiply(chargingOrder.getVipDiscount().divide(new BigDecimal(10)));
                    }
                    chargingOrderAccountingStrategy.setChargingCapacity(charging_degree);
                    chargingOrderAccountingStrategy.setPeriodElectricPrice(electrovalenc);
                    chargingOrderAccountingStrategy.setPeriodServicePrice(serviceCharge);
                    chargingOrderAccountingStrategy.setPeriodOriginalServicePrice(originalServicePrice);
                    chargingOrderAccountingStrategy.setCreateTime(LocalDateTime.now());
                    chargingOrderAccountingStrategyService.save(chargingOrderAccountingStrategy);
                }
            }
            List<TChargingOrderAccountingStrategy> list = chargingOrderAccountingStrategyService.list(new LambdaQueryWrapper<TChargingOrderAccountingStrategy>()
                    .eq(TChargingOrderAccountingStrategy::getChargingOrderId, chargingOrder.getId()));
            //总充电金额
            BigDecimal t = BigDecimal.ZERO;
            for (TChargingOrderAccountingStrategy coas : list) {
                t = t.add(coas.getPeriodServicePrice()).add(coas.getPeriodElectricPrice());
            }
            BigDecimal residualAmount = chargingOrder.getRechargeAmount().subtract(t).setScale(4, RoundingMode.HALF_EVEN);
            BigDecimal residualAmount = chargingOrder.getResidualAmount().add(chargingOrder.getVipDiscountAmount()).subtract(query.getPaid_amount());
            chargingOrder.setResidualAmount(residualAmount);
            if(query.getOutput_current().compareTo(BigDecimal.ZERO) != 0){
                BigDecimal divide = (query.getOutput_current().multiply(query.getOutput_voltage())).divide(new BigDecimal(1000));
                chargingOrder.setChargingPower(divide);
                chargingOrder.setCurrent(query.getOutput_current());
                chargingOrder.setVoltage(query.getOutput_voltage());
                chargingOrder.setPower(query.getOutput_current().multiply(query.getOutput_voltage()));
                chargingOrder.setPower(divide);
                chargingOrder.setNeedElec(query.getOutput_current());
                
                TChargingGun chargingGun = chargingGunClient.getChargingGunById(chargingOrder.getChargingGunId()).getData();
@@ -1865,19 +1778,32 @@
            try {
                String time = (String) clazz.getMethod("getTime" + (i + 1)).invoke(vo);
                if(StringUtils.hasLength(time)){
                    //充电度数
                    Object invoke = clazz.getMethod("getSharp_peak_charge" + (i + 1)).invoke(vo);
                    String[] split = time.split("-");
                    AccountingStrategyDetailOrder strategyDetail = accountingStrategyDetailOrderList.stream().filter(s -> s.getStartTime().equals(split[0]) && s.getEndTime().equals(split[1])).findFirst().get();
                    //阶段(1=尖阶段,2=峰阶段,3=平阶段,4=谷阶段)
                    Object invoke = null;
                    switch (strategyDetail.getType()){
                        case 1:
                            //充电度数
                            invoke = clazz.getMethod("getSharp_peak_charge" + (i + 1)).invoke(vo);
                            break;
                        case 2:
                            //充电度数
                            invoke = clazz.getMethod("getPeak_charge" + (i + 1)).invoke(vo);
                            break;
                        case 3:
                            //充电度数
                            invoke = clazz.getMethod("getFlat_peak_charge" + (i + 1)).invoke(vo);
                            break;
                        case 4:
                            //充电度数
                            invoke = clazz.getMethod("getLow_peak_charge" + (i + 1)).invoke(vo);
                            break;
                    }
                    if(null == invoke || invoke.toString().equals("0")){
                        continue;
                    }
                    BigDecimal Sharp_peak_charge = new BigDecimal(invoke.toString());
                    //充电金额
                    Object invoke1 = clazz.getMethod("getSharp_peak_amount" + (i + 1)).invoke(vo);
                    BigDecimal sharp_peak_amount = new BigDecimal(invoke1.toString());
                    String[] split = time.split("-");
                    AccountingStrategyDetailOrder strategyDetail = accountingStrategyDetailOrderList.stream().filter(s -> s.getStartTime().equals(split[0]) && s.getEndTime().equals(split[1])).findFirst().get();
                    TChargingOrderAccountingStrategy chargingOrderAccountingStrategy = new TChargingOrderAccountingStrategy();
                    chargingOrderAccountingStrategy.setChargingOrderId(chargingOrder.getId());
                    chargingOrderAccountingStrategy.setAccountingStrategyDetailId(strategyDetail.getId());
@@ -2547,9 +2473,13 @@
            if (!data1.isEmpty()){
                tSettlementConfirm.setSiteName(data1.get(0).getName());
            }
            meteringElectronic = meteringElectronic.add(tSettlementConfirm.getMeteringElectronic());
            chargingElectronic = chargingElectronic.add(tSettlementConfirm.getChargingElectronic());
            lossElectronic = lossElectronic.add(tSettlementConfirm.getLossElectronic());
            if (tSettlementConfirm.getMeteringElectronic()!=null){
                meteringElectronic = meteringElectronic.add(tSettlementConfirm.getMeteringElectronic());
                chargingElectronic = chargingElectronic.add(tSettlementConfirm.getChargingElectronic());
            }
            if (tSettlementConfirm.getLossElectronic()!=null){
                lossElectronic = lossElectronic.add(tSettlementConfirm.getLossElectronic());
            }
            income = income.add(tSettlementConfirm.getIncome());
            venue = venue.add(tSettlementConfirm.getVenue());
            metering = metering.add(tSettlementConfirm.getMetering());
@@ -2613,13 +2543,22 @@
                settlementConfirm.setIncome(settlementConfirm.getElectrovalence().add(settlementConfirm.getServiceCharge()));
                if (tSettlementConfirm.getSiteId().equals(settlementConfirm.getSiteId())){
                    // 电站相同比较收入涨幅跌幅
                    BigDecimal subtract = tSettlementConfirm.getIncome().subtract(settlementConfirm.getIncome()).divide(tSettlementConfirm.getIncome()).setScale(2, RoundingMode.HALF_DOWN).multiply(new BigDecimal("100"));
                    tSettlementConfirm.setIncomePercentage(subtract+"%");
                    if (tSettlementConfirm.getIncome().compareTo(BigDecimal.ZERO)>0){
                        BigDecimal subtract = tSettlementConfirm.getIncome().subtract(settlementConfirm.getIncome()).divide(tSettlementConfirm.getIncome()).setScale(2, RoundingMode.HALF_DOWN).multiply(new BigDecimal("100"));
                        tSettlementConfirm.setIncomePercentage(subtract+"%");
                    }else {
                        tSettlementConfirm.setIncomePercentage("100"+"%");
                    }
                    // 比较总利润 收入合计-成本合计
                    BigDecimal subtract1 = tSettlementConfirm.getIncome().subtract(tSettlementConfirm.getCost());
                    BigDecimal subtract2 = settlementConfirm.getIncome().subtract(settlementConfirm.getCost());
                    tSettlementConfirm.setTotalPercentage(subtract1.subtract(subtract2).divide(subtract2).setScale(2, RoundingMode.HALF_DOWN).multiply(new BigDecimal("100"))+"%");
                }
                    BigDecimal bigDecimal1 = subtract1.subtract(subtract2)
                            .divide(subtract2, 2, RoundingMode.HALF_DOWN)
                            .multiply(new BigDecimal("100"))
                            .setScale(2, RoundingMode.HALF_DOWN);
                    tSettlementConfirm.setTotalPercentage(bigDecimal1+"%");                }
                beforeCost = beforeCost.add(settlementConfirm.getCost());
                beforeIncome = beforeIncome.add(settlementConfirm.getIncome());
@@ -2669,7 +2608,7 @@
        if (subtract2.compareTo(new BigDecimal("0")) == 0){
            tSettlementConfirm.setTotalPercentage(0+"%");
        }else{
            tSettlementConfirm.setTotalPercentage(subtract1.subtract(subtract2).divide(subtract2).setScale(2, RoundingMode.HALF_DOWN).multiply(new BigDecimal("100"))+"%");
            tSettlementConfirm.setTotalPercentage(subtract1.subtract(subtract2).divide(subtract2,2, RoundingMode.HALF_DOWN).setScale(2, RoundingMode.HALF_DOWN).multiply(new BigDecimal("100"))+"%");
        }
        tSettlementConfirm.setElectronicRefund(0);
        // 查询上次汇报数据 进行比对涨幅跌幅
@@ -2773,7 +2712,7 @@
        info.setEndDay(endTime.format(DateTimeFormatter.ofPattern("MM月dd日")) + " 周" + endTime.getDayOfWeek().getDisplayName(TextStyle.FULL, Locale.SIMPLIFIED_CHINESE));
        info.setEndHour(endTime.format(DateTimeFormatter.ofPattern("HH:mm")));
        int hour = endTime.getHour() - startTime.getHour();
        int second = endTime.getSecond() - startTime.getSecond();
        int second = endTime.getMinute() - startTime.getMinute();
        info.setDuration(0 == hour ? String.format("%s分钟", second) : String.format("%s小时%s分钟", hour, second));
        return info;
    }
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java
@@ -127,15 +127,15 @@
                        coupon = coupon.add(tActivityStatisticslVO.getCouponDiscountAmount());
                        stringBuilder.append("优惠券抵扣").append("+");
                }
                    if (tActivityStatisticslVO.getVipDiscountAmount()!=null
                            &&
                            (tActivityStatisticslVO.getCouponDiscountAmount().compareTo(BigDecimal.ZERO)>0)){
                    if (tActivityStatisticslVO.getVipDiscountAmount()!=null &&(tActivityStatisticslVO.getVipDiscountAmount().compareTo(BigDecimal.ZERO)>0)){
                        discount = discount.add(tActivityStatisticslVO.getVipDiscountAmount());
                        stringBuilder.append("会员抵扣").append("+");
                    }
                    stringBuilder.deleteCharAt(stringBuilder.length()-1);
                    tActivityStatisticslVO.setType(stringBuilder.toString());
                    tActivityStatisticslVO.setTime(simpleDateFormat.format(tActivityStatisticslVO.getCreateTime()));
                    if (stringBuilder.length()>0){
                        stringBuilder.deleteCharAt(stringBuilder.length()-1);
                        tActivityStatisticslVO.setType(stringBuilder.toString());
                    }
                    tActivityStatisticslVO.setTime(tActivityStatisticslVO.getCreateTime());
                    break;
                case 2:
                    StringBuilder stringBuilder1 = new StringBuilder();
@@ -155,7 +155,7 @@
                    }
                    stringBuilder1.deleteCharAt(stringBuilder1.length()-1);
                    tActivityStatisticslVO.setType(stringBuilder1.toString());
                    tActivityStatisticslVO.setTime(simpleDateFormat.format(tActivityStatisticslVO.getCreateTime()));
                    tActivityStatisticslVO.setTime(tActivityStatisticslVO.getCreateTime());
                    break;
                case 3:
                    // 会员订单 优惠金额大于0
@@ -165,19 +165,19 @@
                        vipActivity = vipActivity.add(tActivityStatisticslVO.getVipDiscountAmount());
                    }
                    tActivityStatisticslVO.setType("会员活动");
                    tActivityStatisticslVO.setTime(simpleDateFormat.format(tActivityStatisticslVO.getCreateTime()));
                    tActivityStatisticslVO.setTime(tActivityStatisticslVO.getCreateTime());
                    break;
                case 4:
                    // 赠送会员订单 如果支付金额为0 那么就是后台赠送的会员
                    if (tActivityStatisticslVO.getPaymentAmount().compareTo(BigDecimal.ZERO)==0){
                        grantVip = grantVip.add(tActivityStatisticslVO.getOrderAmount());
                        tActivityStatisticslVO.setType("赠送会员");
                        tActivityStatisticslVO.setTime(simpleDateFormat.format(tActivityStatisticslVO.getCreateTime()));
                        tActivityStatisticslVO.setTime(tActivityStatisticslVO.getCreateTime());
                    }else{
                        // 赠送
                        grantVip = grantVip.add(tActivityStatisticslVO.getVipDiscountAmount());
                        tActivityStatisticslVO.setType("赠送会员");
                        tActivityStatisticslVO.setTime(simpleDateFormat.format(tActivityStatisticslVO.getCreateTime()));
                        tActivityStatisticslVO.setTime(tActivityStatisticslVO.getCreateTime());
                    }
                    break;
            }
ruoyi-service/ruoyi-order/src/main/resources/bootstrap.yml
@@ -23,16 +23,15 @@
    nacos:
      discovery:
        # 服务注册地址
        server-addr: 127.0.0.1:8848
        server-addr: 192.168.110.169:8848
        service: ${spring.application.name}
        group: DEFAULT_GROUP
        namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
        username: nacos
        password: nacos
#        ip: 192.168.110.85
      config:
        # 配置中心地址
        server-addr: 127.0.0.1:8848
        server-addr: 192.168.110.169:8848
        namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
        group: DEFAULT_GROUP
        name: ${spring.application.name}
ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingBillMapper.xml
@@ -6,7 +6,7 @@
    <select id="chargingBillList" resultType="com.ruoyi.order.api.vo.ChargingBillListVO">
    select t1.* from t_charging_bill t1
    where 1=1
        <if test="req.type != null ">
        <if test="req.type != null and req.type!=0">
            and t1.type = #{req.type}
        </if>
      <if test="req.state != null ">
ruoyi-service/ruoyi-order/src/test/java/com/ruoyi/order/RuoYiOrderApplicationTests.java
@@ -1,6 +1,8 @@
package com.ruoyi.order;
import com.alibaba.fastjson2.JSON;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.order.dto.MyChargingOrderInfo;
import com.ruoyi.order.service.TChargingOrderService;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
@@ -17,7 +19,7 @@
    
    @Test
    public void test(){
        AjaxResult ajaxResult = chargingOrderService.chargingOrderCallback(2, "CD55720241011143234718", "4200002400202410113181486798", "");
        MyChargingOrderInfo myChargingOrderInfo = chargingOrderService.getMyChargingOrderInfo("1846484071567437825");
        System.err.println(JSON.toJSONString(myChargingOrderInfo));
    }
}
ruoyi-service/ruoyi-other/src/main/resources/bootstrap.yml
@@ -23,16 +23,15 @@
    nacos:
      discovery:
        # 服务注册地址
        server-addr: 127.0.0.1:8848
        server-addr: 192.168.110.169:8848
        service: ${spring.application.name}
        group: DEFAULT_GROUP
        namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
        username: nacos
        password: nacos
#        ip: 192.168.110.85
      config:
        # 配置中心地址
        server-addr: 127.0.0.1:8848
        server-addr: 192.168.110.169:8848
        namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
        group: DEFAULT_GROUP
        name: ${spring.application.name}
ruoyi-service/ruoyi-payment/src/main/resources/bootstrap.yml
@@ -18,16 +18,15 @@
    nacos:
      discovery:
        # 服务注册地址
        server-addr: 127.0.0.1:8848
        server-addr: 192.168.110.169:8848
        service: ${spring.application.name}
        group: DEFAULT_GROUP
        namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
        username: nacos
        password: nacos
        ip: 192.168.110.111
      config:
        # 配置中心地址
        server-addr: 127.0.0.1:8848
        server-addr: 192.168.110.169:8848
        namespace: b5290bc2-e3aa-4988-8a7d-9c07e4e073cb
        group: DEFAULT_GROUP
        name: ${spring.application.name}