puzhibing
2025-02-11 36e7b299289c393c3460140dc966e83f9ea2e749
修改bug
1个文件已添加
10个文件已修改
145 ■■■■ 已修改文件
ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingGunFallbackFactory.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ChargingGunClient.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECController.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECUtil.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/kuaidian/model/OrderInfo.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/kuaidian/model/QueryChargeOrderInfoResult.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/kuaidian/model/QueryTerminalCodeResult.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/model/ConnectorStatusInfo.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/model/ConnectorStatusInfo1.java 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/factory/ChargingGunFallbackFactory.java
@@ -69,6 +69,11 @@
            public R pushChargingGunStatus(Integer id, Integer status) {
                return R.fail("接口状态变化后推送给第三方失败:" + throwable.getMessage());
            }
            @Override
            public R<TChargingGun> getChargingGunByFullNumber(String fullNumber) {
                return R.fail("根据枪唯一码查询信息失败:" + throwable.getMessage());
            }
        };
    }
}
ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ChargingGunClient.java
@@ -86,4 +86,13 @@
     */
    @PostMapping("/t-charging-gun/pushChargingGunStatus")
    R pushChargingGunStatus(@RequestParam("id") Integer id, @RequestParam("status") Integer status);
    /**
     * 根据枪唯一码查询信息
     * @return
     */
    @PostMapping("/t-charging-gun/getChargingGunByFullNumber")
    R<TChargingGun> getChargingGunByFullNumber(@RequestParam("fullNumber") String fullNumber);
}
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java
@@ -321,5 +321,16 @@
                .eq(TChargingGun::getDelFlag, 0));
        return R.ok(list);
    }
    /**
     * 根据枪唯一码查询信息
     * @return
     */
    @PostMapping("/getChargingGunByFullNumber")
    public R<TChargingGun> getChargingGunByFullNumber(@RequestParam("fullNumber") String fullNumber){
        TChargingGun chargingGun = chargingGunService.getOne(new LambdaQueryWrapper<TChargingGun>().eq(TChargingGun::getDelFlag, 0).eq(TChargingGun::getFullNumber, fullNumber));
        return R.ok(chargingGun);
    }
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECController.java
@@ -271,7 +271,7 @@
            stationInfo.setOperatorID("906171535");
            stationInfo.setEquipmentOwnerID("906171535");
            stationInfo.setStationName(datum.getName());
            stationInfo.setCountryCode(datum.getCountryCode());
            stationInfo.setCountryCode(StringUtils.isNotEmpty(datum.getCountryCode()) ? datum.getCountryCode() : "CN");
            stationInfo.setAreaCode(datum.getDistrictsCode());
            stationInfo.setAddress(datum.getAddress());
            stationInfo.setStationTel(datum.getPhone());
@@ -393,6 +393,7 @@
            
            //构建设备接口信息
            equipmentInfo.setConnectorInfos(buildConnectorInfos(tChargingPile.getId(), tChargingPile.getCode(), chargingGunList));
            equipmentInfo.setPower(tChargingPile.getRatedPower());
            equipmentInfos.add(equipmentInfo);
        }
        return equipmentInfos;
@@ -475,6 +476,9 @@
                connectorStatusInfo.setStatus(255);
                break;
        }
        ConnectorStatusInfo connectorStatusInfo1 = new ConnectorStatusInfo();
        BeanUtils.copyProperties(connectorStatusInfo, connectorStatusInfo1);
        connectorStatusInfo.setConnectorStatusInfo(connectorStatusInfo1);
        List<Operator> operators = operatorClient.getAllOperator().getData();
        for (Operator operator : operators) {
            TCECUtil.notificationStationStatus(operator, connectorStatusInfo);
@@ -1422,8 +1426,11 @@
        QueryTerminalCode queryTerminalCode = JSON.parseObject(decrypt, QueryTerminalCode.class);
        String qrCode = queryTerminalCode.getQRCode();
        String substring = qrCode.substring(qrCode.indexOf("=") + 1);
        TChargingGun chargingGun = chargingGunClient.getChargingGunByFullNumber(substring).getData();
        QueryTerminalCodeResult queryTerminalCodeResult = new QueryTerminalCodeResult();
        queryTerminalCodeResult.setTerminalCode(substring);
        if(null != chargingGun){
            queryTerminalCodeResult.setTerminalCode(chargingGun.getId().toString());
        }
        
        //参数加密
        String jsonString = JacksonUtils.toJson(queryTerminalCodeResult);
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECUtil.java
@@ -297,7 +297,10 @@
                sign = SignUtil.bytesToHexString(hmacMd5);
                break;
            case "KuaiDian":
                sign = SignUtil.hmacSign(model.getData(), key);
                //进行字符串拼接、计算
                String m1 = new StringBuilder(model.getOperatorID()).append(model.getData()).append(model.getTimeStamp()).append(model.getSeq()).toString();
                // 打印计算得到的签名Sig
                sign = SignUtil.hmacSign(m1, key);
                break;
        }
        return sign;
@@ -327,7 +330,9 @@
                sign = SignUtil.bytesToHexString(hmacMd5);
                break;
            case "KuaiDian":
                sign = SignUtil.hmacSign(model.getData(), key);
                //进行字符串拼接、计算
                String m1 = new StringBuilder(model.getOperatorID()).append(model.getData()).append(model.getTimeStamp()).append(model.getSeq()).toString();
                sign = SignUtil.hmacSign(m1, key);
                break;
        }
        return sign;
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/kuaidian/model/OrderInfo.java
@@ -1,5 +1,6 @@
package com.ruoyi.integration.drainage.kuaidian.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.ruoyi.integration.drainage.model.ChargeDetail;
import lombok.Data;
@@ -19,48 +20,57 @@
     * 充电订单号
     */
    @NotNull
    private String StartChargeSeq;
    @JsonProperty("StartChargeSeq")
    private String startChargeSeq;
    /**
     * 充电设备接口编码
     */
    @NotNull
    private String ConnectorID;
    @JsonProperty("ConnectorID")
    private String connectorID;
    /**
     * 开始充电时间
     * yyyy-MM-dd HH:mm:ss
     */
    @NotNull
    private String StartTime;
    @JsonProperty("StartTime")
    private String startTime;
    /**
     * 结束充电时间
     * yyyy-MM-dd HH:mm:ss
     */
    @NotNull
    private String EndTime;
    @JsonProperty("EndTime")
    private String endTime;
    /**
     * 累计充电电量
     */
    @NotNull
    private BigDecimal TotalPower;
    @JsonProperty("TotalPower")
    private BigDecimal totalPower;
    /**
     * 总电费
     */
    @NotNull
    private BigDecimal TotalElecMoney;
    @JsonProperty("TotalElecMoney")
    private BigDecimal totalElecMoney;
    /**
     * 总服务费
     */
    @NotNull
    private BigDecimal TotalSeviceMoney;
    @JsonProperty("TotalSeviceMoney")
    private BigDecimal totalSeviceMoney;
    /**
     * 累计总金额
     */
    @NotNull
    private BigDecimal TotalMoney;
    @JsonProperty("TotalMoney")
    private BigDecimal totalMoney;
    /**
     * 车辆识别码
     */
    @Null
    @JsonProperty("VIN")
    private String VIN;
    /**
     * 充电结束原因
@@ -72,15 +82,18 @@
     * 5`99:自定义
     */
    @NotNull
    private Integer StopReason;
    @JsonProperty("StopReason")
    private Integer stopReason;
    /**
     * 时段数N
     * 范围0`23
     */
    @Null
    private Integer SumPeriod;
    @JsonProperty("SumPeriod")
    private Integer sumPeriod;
    /**
     * 充电明细信息
     */
    private List<ChargeDetail> ChargeDetails;
    @JsonProperty("ChargeDetails")
    private List<ChargeDetail> chargeDetails;
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/kuaidian/model/QueryChargeOrderInfoResult.java
@@ -1,5 +1,6 @@
package com.ruoyi.integration.drainage.kuaidian.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import java.util.List;
@@ -14,5 +15,6 @@
    /**
     * 充电订单账单集合
     */
    private List<OrderInfo> OrderInfos;
    @JsonProperty("Orderlnfos")
    private List<OrderInfo> orderInfos;
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/kuaidian/model/QueryTerminalCodeResult.java
@@ -1,5 +1,6 @@
package com.ruoyi.integration.drainage.kuaidian.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
@@ -15,5 +16,6 @@
     * 枪号
     */
    @NotNull
    @JsonProperty("TerminalCode")
    private String TerminalCode;
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/model/ConnectorStatusInfo.java
@@ -49,4 +49,7 @@
    @Null
    @JsonProperty("LookStatus")
    private Integer lookStatus;
    @JsonProperty("ConnectorStatusInfo")
    private ConnectorStatusInfo connectorStatusInfo;
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/model/ConnectorStatusInfo1.java
New file
@@ -0,0 +1,54 @@
package com.ruoyi.integration.drainage.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Null;
/**
 * 充电设备接口状态
 * @author zhibing.pu
 * @Date 2025/1/21 14:53
 */
@Data
public class ConnectorStatusInfo1 {
    /**
     * 充电设备接口编码
     */
    @NotNull
    @JsonProperty("ConnectorID")
    private String connectorID;
    /**
     * 充电设备接口状态
     * 0:离网
     * 1:空闲
     * 2:占用(未充电)
     * 3:占用(充电中)
     * 4:占用(预约锁定)
     * 255:故障
     */
    @NotNull
    @JsonProperty("Status")
    private Integer status;
    /**
     * 车位状态
     * 0:未知
     * 10:空闲
     * 50:占用
     */
    @Null
    @JsonProperty("ParkStatus")
    private Integer parkStatus;
    /**
     * 地锁状态
     * 0:未知
     * 10:已解锁
     * 50:已上锁
     */
    @Null
    @JsonProperty("LookStatus")
    private Integer lookStatus;
    private ConnectorStatusInfo1 ConnectorStatusInfo;
}
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -1942,7 +1942,7 @@
            chargingOrder.setChargingCapacity(query.getCharging_degree());
            chargingOrder.setElectricity(query.getCharging_degree());
            chargingOrder.setTotalElectricity(new BigDecimal(100 - query.getSoc()));
            BmsDemandAndChargerExportation data = bmsDemandAndChargerExportationClient.getBmsDemandAndChargerExportation(chargingOrder.getCode()).getData();
            BmsDemandAndChargerExportation data = bmsDemandAndChargerExportationClient.getBmsDemandAndChargerExportation(chargingOrder1.getCode()).getData();
            if(null != data){
                chargingOrder.setNeedElec(data.getBms_current_requirements());
            }