From 7fc7b9077c184623c00c4b1f08884de59aef6cae Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期三, 11 九月 2024 17:42:43 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile

---
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/ChargingOrderFallbackFactory.java        |    5 +
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java          |   38 ++++++------
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderClient.java             |   11 +++
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java |   10 ++-
 ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/dto/SettlementConfirmAdd.java                    |  111 ++++++++++++++++++++++++++++++++++++
 5 files changed, 150 insertions(+), 25 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/dto/SettlementConfirmAdd.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/dto/SettlementConfirmAdd.java
index fe67ee4..bb8ac0e 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/dto/SettlementConfirmAdd.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/dto/SettlementConfirmAdd.java
@@ -1,11 +1,18 @@
 package com.ruoyi.order.api.dto;
 
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ruoyi.common.core.web.page.BasePage;
+import com.ruoyi.order.api.model.TChargingOrder;
 import com.ruoyi.order.api.model.TSettlementConfirm;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
 import java.util.List;
 
 @Data
@@ -21,6 +28,106 @@
     private String endTime;
     @ApiModelProperty(value = "点击去生成 传1 填完表格数据点击保存 传2")
     private Integer state;
-    @ApiModelProperty(value = "保存的数据")
-    private TSettlementConfirm data;
+    @ApiModelProperty(value = "主键")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+
+    @ApiModelProperty(value = "合作商id")
+    private Integer partnerId;
+    @ApiModelProperty(value = "结算电费备注")
+    private String remark;
+    @ApiModelProperty(value = "结算服务费备注")
+    private String serviceRemark;
+
+    @ApiModelProperty(value = "计量电量(电量合计)")
+    private BigDecimal meteringElectronic;
+    @ApiModelProperty(value = "充电电量")
+    private BigDecimal chargingElectronic;
+    @ApiModelProperty(value = "电损电量")
+    private BigDecimal lossElectronic;
+    @ApiModelProperty(value = "收入合计")
+    private BigDecimal income;
+
+    @ApiModelProperty(value = "场地费")
+    private BigDecimal venue;
+    @ApiModelProperty(value = "计量电费")
+    private BigDecimal metering;
+    @ApiModelProperty(value = "清洁费")
+    private BigDecimal clean;
+    @ApiModelProperty(value = "日常维护费")
+    private BigDecimal maintain;
+    @ApiModelProperty(value = "成本")
+    private BigDecimal cost;
+    @ApiModelProperty(value = "合计可分配金额")
+    private BigDecimal distribution;
+    @ApiModelProperty(value = "利润")
+    private BigDecimal profitMoney;
+    @ApiModelProperty(value = "新能源利润")
+    private BigDecimal newMoney;
+    @ApiModelProperty(value = "新能源结算金额")
+    private BigDecimal newSettlement;
+
+    @ApiModelProperty(value = "供电局结算电费")
+    private BigDecimal supplyElectronic;
+    @ApiModelProperty(value = "合作商承担电损占比")
+    private BigDecimal proportionPartner;
+    @ApiModelProperty(value = "承担金额")
+    private BigDecimal proportionMoney;
+    @ApiModelProperty(value = "本期结算电费总金额 (实际电费转账)")
+    private BigDecimal totalElectronic;
+    @ApiModelProperty(value = "本期结算服务费总金额(实际服务费转账)")
+    private BigDecimal totalService;
+    @ApiModelProperty(value = "合作商充电服务费根据合同约定分成比例")
+    private BigDecimal servicePartner;
+    @ApiModelProperty(value = "合作商充电服务费根据合同约定分成金额")
+    private BigDecimal serviceMoney;
+
+    @ApiModelProperty(value = "三方收费(合计三方平台收费)")
+    private BigDecimal sharingAmount;
+    @ApiModelProperty(value = " 交易手续费 三方收费*0.06%")
+    private BigDecimal commissionAmount;
+    @ApiModelProperty(value = "充电电费计费(平台合计电费)")
+    private BigDecimal electrovalence;
+    @ApiModelProperty(value = "充电服务费计费(实收服务费)")
+    private BigDecimal serviceCharge;
+    @ApiModelProperty(value = "交易手续费计费")
+    private BigDecimal orderCommission;
+    @ApiModelProperty(value = "会员抵扣")
+    private BigDecimal vipDiscount;
+    @ApiModelProperty(value = "优惠券抵扣")
+    private BigDecimal couponDiscount;
+
+//    @ApiModelProperty(value = "类型(1=开始,2=结束)")
+//    @TableField("type")
+//    private Integer type;
+//    @ApiModelProperty(value = "开始时间")
+//    @TableField("start_time")
+//    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+//    private LocalDateTime startTime;
+//    @ApiModelProperty(value = "结束时间")
+//    @TableField("end_time")
+//    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+//    private LocalDateTime endTime;
+    @ApiModelProperty(value = "站点名称")
+    private String siteName;
+    @ApiModelProperty(value = "合作商名称")
+    private String partnerName;
+
+    @ApiModelProperty(value = "uid")
+    private String uid;
+
+    @ApiModelProperty(value = "结账日期 2024年09月06日17:10:06至2024年09月06日17:10:06")
+    private String time;
+    @ApiModelProperty(value = "充电记录明细")
+    private List<TChargingOrder> list;
+    @ApiModelProperty(value = "收入合计涨幅/跌幅 正数为涨幅负数为跌幅 字段为空 说明没有上月记录 不展示涨幅跌幅")
+    private String incomePercentage;
+    @ApiModelProperty(value = "总利润涨幅/跌幅 正数为涨幅负数为跌幅 字段为空 说明没有上月记录 不展示涨幅跌幅")
+    private String totalPercentage;
+    @ApiModelProperty(value = "利用率")
+    private String rate;
+    @ApiModelProperty(value = "参与电力市场交易退补电费")
+    private Integer electronicRefund;
+
 }
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/ChargingOrderFallbackFactory.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/ChargingOrderFallbackFactory.java
index 21adfde..72ebc17 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/ChargingOrderFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/ChargingOrderFallbackFactory.java
@@ -113,6 +113,11 @@
             public R<String> updateChargingOrder(TChargingOrder chargingOrder) {
                 return R.fail("修改充电订单失败:" + throwable.getMessage());
             }
+
+            @Override
+            public R<String> stopCharging(String id) {
+                return R.fail("手动停止充电失败:" + throwable.getMessage());
+            }
         };
     }
 }
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderClient.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderClient.java
index 5e460f3..b395682 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderClient.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderClient.java
@@ -4,6 +4,7 @@
 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.web.domain.AjaxResult;
 import com.ruoyi.order.api.factory.ChargingOrderFallbackFactory;
 import com.ruoyi.order.api.model.ChargingListQuery;
 import com.ruoyi.order.api.model.TChargingOrder;
@@ -12,6 +13,8 @@
 import com.ruoyi.order.api.query.UploadRealTimeMonitoringDataQuery;
 import com.ruoyi.order.api.vo.ChargingBillVO;
 import com.ruoyi.order.api.vo.SettlementTotalVO;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import com.ruoyi.order.api.vo.GetChargingOrderByLicensePlate;
 import org.springframework.cloud.openfeign.FeignClient;
@@ -126,4 +129,12 @@
      */
     @PostMapping("/t-charging-order/updateChargingOrder")
     R<String> updateChargingOrder(@RequestBody TChargingOrder chargingOrder);
+
+    /**
+     * 手动停止充电
+     * @param id
+     * @return
+     */
+    @PutMapping(value = "/t-charging-order/stopCharging/{id}")
+    R<String> stopCharging(@PathVariable("id") String id);
 }
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java
index ab353e2..79acf34 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java
@@ -25,6 +25,7 @@
 import com.ruoyi.common.log.enums.OperatorType;
 import com.ruoyi.integration.api.feignClient.IntegrationClient;
 import com.ruoyi.integration.api.model.EndCharge;
+import com.ruoyi.order.api.feignClient.ChargingOrderClient;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -57,6 +58,8 @@
 
     @Autowired
     private TChargingGunService chargingGunService;
+    @Autowired
+    private ChargingOrderClient chargingOrderClient;
 
     @Resource
     private TChargingPileService chargingPileService;
@@ -130,10 +133,9 @@
     @Log(title = "【充电桩信息】结束充电", businessType = BusinessType.OTHER,operatorType = OperatorType.MANAGE)
     @ApiOperation(tags = {"后台-充电枪"},value = "结束充电")
     @PutMapping(value = "/stopCharging")
-    public AjaxResult<String> stopCharging(@RequestParam("id") Integer id) {
-        // TODO 硬件 结束充电
-//        EndCharge endCharge = new EndCharge();
-//        integrationClient.endCharge(endCharge);
+    public AjaxResult<String> stopCharging(@RequestParam("id") String id) {
+        // 硬件 结束充电
+        chargingOrderClient.stopCharging(id);
         return AjaxResult.success();
     }
     
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
index acd926c..9b7c706 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -1903,26 +1903,26 @@
 		tSettlementConfirm.setType(dto.getType());
 
 		if (dto.getState() == 2){
-			tSettlementConfirm.setSupplyElectronic(dto.getData().getSupplyElectronic());
-			tSettlementConfirm.setVenue(dto.getData().getVenue());
-			tSettlementConfirm.setMetering(dto.getData().getMetering());
-			tSettlementConfirm.setClean(dto.getData().getClean());
-			tSettlementConfirm.setLossElectronic(dto.getData().getLossElectronic());
-			tSettlementConfirm.setMaintain(dto.getData().getMaintain());
+			tSettlementConfirm.setSupplyElectronic(dto.getSupplyElectronic());
+			tSettlementConfirm.setVenue(dto.getVenue());
+			tSettlementConfirm.setMetering(dto.getMetering());
+			tSettlementConfirm.setClean(dto.getClean());
+			tSettlementConfirm.setLossElectronic(dto.getLossElectronic());
+			tSettlementConfirm.setMaintain(dto.getMaintain());
 
-			tSettlementConfirm.setMeteringElectronic(dto.getData().getMeteringElectronic());
-			tSettlementConfirm.setProportionPartner(dto.getData().getProportionPartner());
-			tSettlementConfirm.setProportionMoney(dto.getData().getProportionMoney());
-			tSettlementConfirm.setTotalElectronic(dto.getData().getTotalElectronic());
-			tSettlementConfirm.setTotalService(dto.getData().getTotalService());
-			tSettlementConfirm.setRemark(dto.getData().getRemark());
-			tSettlementConfirm.setServicePartner(dto.getData().getServicePartner());
-			tSettlementConfirm.setServiceMoney(dto.getData().getServiceMoney());
-			tSettlementConfirm.setTotalService(dto.getData().getTotalService());
-			tSettlementConfirm.setServiceRemark(dto.getData().getServiceRemark());
-			tSettlementConfirm.setDistribution(dto.getData().getDistribution());
-			tSettlementConfirm.setIncome(dto.getData().getElectrovalence().add(dto.getData().getServiceCharge()));
-			tSettlementConfirm.setCost(dto.getData().getVenue().add(dto.getData().getClean()).add(dto.getData().getMaintain()));
+			tSettlementConfirm.setMeteringElectronic(dto.getMeteringElectronic());
+			tSettlementConfirm.setProportionPartner(dto.getProportionPartner());
+			tSettlementConfirm.setProportionMoney(dto.getProportionMoney());
+			tSettlementConfirm.setTotalElectronic(dto.getTotalElectronic());
+			tSettlementConfirm.setTotalService(dto.getTotalService());
+			tSettlementConfirm.setRemark(dto.getRemark());
+			tSettlementConfirm.setServicePartner(dto.getServicePartner());
+			tSettlementConfirm.setServiceMoney(dto.getServiceMoney());
+			tSettlementConfirm.setTotalService(dto.getTotalService());
+			tSettlementConfirm.setServiceRemark(dto.getServiceRemark());
+			tSettlementConfirm.setDistribution(dto.getDistribution());
+			tSettlementConfirm.setIncome(dto.getElectrovalence().add(dto.getServiceCharge()));
+			tSettlementConfirm.setCost(dto.getVenue().add(dto.getClean()).add(dto.getMaintain()));
 			tSettlementConfirmMapper.insert(tSettlementConfirm);
 		}
 		return tSettlementConfirm;

--
Gitblit v1.7.1