puzhibing
2024-09-11 7fc7b9077c184623c00c4b1f08884de59aef6cae
Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile
5个文件已修改
175 ■■■■ 已修改文件
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/dto/SettlementConfirmAdd.java 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/ChargingOrderFallbackFactory.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderClient.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
}
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());
            }
        };
    }
}
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);
}
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();
    }
    
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;