Pu Zhibing
2024-10-08 5f3db406212c961daffdb55d76547d3733c7e805
修改bug
3个文件已添加
10个文件已修改
136 ■■■■■ 已修改文件
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/SecurityDetectionFallbackFactory.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/SendMessageFallbackFactory.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/SecurityDetectionClient.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/SendMessageClient.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformStartChargingReply.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/SecurityDetection.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WxLoginController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingGunServiceImpl.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/controller/SecurityDetectionController.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/SecurityDetectionService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/SecurityDetectionServiceImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/SecurityDetectionFallbackFactory.java
New file
@@ -0,0 +1,29 @@
package com.ruoyi.integration.api.factory;
import com.ruoyi.integration.api.feignClient.SecurityDetectionClient;
import com.ruoyi.integration.api.feignClient.SendMessageClient;
import com.ruoyi.integration.api.model.PlatformStartCharging;
import com.ruoyi.integration.api.model.PlatformStopCharging;
import com.ruoyi.integration.api.model.QrCodeDelivery;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
/**
 * 充电桩服务降级处理
 *
 * @author ruoyi
 */
@Component
public class SecurityDetectionFallbackFactory implements org.springframework.cloud.openfeign.FallbackFactory<SecurityDetectionClient>
{
    private static final Logger log = LoggerFactory.getLogger(SecurityDetectionFallbackFactory.class);
    @Override
    public SecurityDetectionClient create(Throwable throwable) {
        log.error("调用失败:{}", throwable.getMessage());
        return new SecurityDetectionClient() {
        };
    }
}
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/factory/SendMessageFallbackFactory.java
@@ -6,6 +6,7 @@
import com.ruoyi.integration.api.model.ChargingHandshake;
import com.ruoyi.integration.api.model.PlatformStartCharging;
import com.ruoyi.integration.api.model.PlatformStopCharging;
import com.ruoyi.integration.api.model.QrCodeDelivery;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
@@ -36,6 +37,11 @@
            public String platformStopCharging(PlatformStopCharging platformStopCharging) {
                return "远程停机失败";
            }
            @Override
            public String qrCodeDelivery(QrCodeDelivery qrCodeDelivery) {
                return "二维码下发失败";
            }
        };
    }
}
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/SecurityDetectionClient.java
New file
@@ -0,0 +1,15 @@
package com.ruoyi.integration.api.feignClient;
import com.ruoyi.common.core.constant.ServiceNameConstants;
import com.ruoyi.integration.api.factory.SecurityDetectionFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
/**
 * @author zhibing.pu
 * @Date 2024/10/8 14:23
 */
@FeignClient(contextId = "SecurityDetectionClient", value = ServiceNameConstants.INTEGRATION_SERVICE, fallbackFactory = SecurityDetectionFallbackFactory.class)
public interface SecurityDetectionClient {
}
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/feignClient/SendMessageClient.java
@@ -4,6 +4,7 @@
import com.ruoyi.integration.api.factory.SendMessageFallbackFactory;
import com.ruoyi.integration.api.model.PlatformStartCharging;
import com.ruoyi.integration.api.model.PlatformStopCharging;
import com.ruoyi.integration.api.model.QrCodeDelivery;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@@ -32,4 +33,13 @@
     */
    @PostMapping("/sendMessage/platformStopCharging")
    String platformStopCharging(@RequestBody PlatformStopCharging platformStopCharging);
    /**
     * 二维码下发
     * @param qrCodeDelivery
     * @return
     */
    @PostMapping("/sendMessage/qrCodeDelivery")
    String qrCodeDelivery(@RequestBody QrCodeDelivery qrCodeDelivery);
}
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/PlatformStartChargingReply.java
@@ -15,7 +15,6 @@
@Document(collection = "platform_start_charging_reply") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class PlatformStartChargingReply extends BaseModel {
    @Id
    private String transaction_serial_number; // 交易流水号
    private String charging_pile_code; // 桩编码
    private String charging_gun_code; // 抢号
ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/SecurityDetection.java
@@ -9,8 +9,7 @@
@Document(collection = "security_detection") //指定要对应的文档名(表名)
@Accessors(chain = true)
public class SecurityDetection {
    @Id
    private String transaction_serial_number; // 交易流水号
    private String charging_pile_code; // 桩编码
    private String charging_gun_code; // 抢号
    private Integer secure_connection; // 车枪连接(0=未连接,1=连接)
ruoyi-api/ruoyi-api-integration/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -6,3 +6,4 @@
com.ruoyi.integration.api.factory.PlatformStopChargingReplyFallbackFactory
com.ruoyi.integration.api.factory.SwitchwayGateFallbackFactory
com.ruoyi.integration.api.factory.IotInterfaceFallbackFactory
com.ruoyi.integration.api.factory.SecurityDetectionFallbackFactory
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WxLoginController.java
@@ -30,7 +30,7 @@
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
import org.springframework.mock.web.MockMultipartFile;
//import org.springframework.mock.web.MockMultipartFile;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.bind.annotation.*;
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingGunServiceImpl.java
@@ -19,6 +19,8 @@
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.integration.api.feignClient.SendMessageClient;
import com.ruoyi.integration.api.model.QrCodeDelivery;
import com.ruoyi.other.api.feignClient.RoleSiteClient;
import com.ruoyi.other.api.feignClient.UserSiteClient;
import com.ruoyi.system.api.domain.SysUser;
@@ -60,6 +62,9 @@
    @Resource
    private SysUserRoleClient sysUserRoleClient;
    @Resource
    private SendMessageClient sendMessageClient;
    
    
@@ -116,8 +121,17 @@
            return AjaxResult.error("接口编码已存在");
        }
        this.save(dto);
        //下发硬件充电二维码
        TChargingPile chargingPile = chargingPileService.getById(dto.getChargingPileId());
        
        //下发硬件充电二维码
        String code_prefix = "https://mxcd.zhinenganguan.com?No=";
        QrCodeDelivery qrCodeDelivery = new QrCodeDelivery();
        qrCodeDelivery.setCharging_pile_code(chargingPile.getCode());
        qrCodeDelivery.setCode_format(1);
        qrCodeDelivery.setPrefix_length(code_prefix.length());
        qrCodeDelivery.setCode_prefix(code_prefix);
        qrCodeDelivery.setQr_code(code_prefix + chargingPile.getCode() + dto.getCode());
        sendMessageClient.qrCodeDelivery(qrCodeDelivery);
        return AjaxResult.success();
    }
    
@@ -143,8 +157,17 @@
            return AjaxResult.error("接口编码已存在");
        }
        this.updateById(dto);
        //下发硬件充电二维码
        TChargingPile chargingPile = chargingPileService.getById(dto.getChargingPileId());
        
        //下发硬件充电二维码
        String code_prefix = "https://mxcd.zhinenganguan.com?No=";
        QrCodeDelivery qrCodeDelivery = new QrCodeDelivery();
        qrCodeDelivery.setCharging_pile_code(chargingPile.getCode());
        qrCodeDelivery.setCode_format(1);
        qrCodeDelivery.setPrefix_length(code_prefix.length());
        qrCodeDelivery.setCode_prefix(code_prefix);
        qrCodeDelivery.setQr_code(code_prefix + chargingPile.getCode() + dto.getCode());
        sendMessageClient.qrCodeDelivery(qrCodeDelivery);
        return AjaxResult.success();
    }
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/controller/SecurityDetectionController.java
New file
@@ -0,0 +1,22 @@
package com.ruoyi.integration.controller;
import com.ruoyi.integration.mongodb.service.SecurityDetectionService;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
 * @author zhibing.pu
 * @Date 2024/10/8 14:25
 */
@RestController
@RequestMapping("/securityDetection")
public class SecurityDetectionController {
    @Resource
    private SecurityDetectionService securityDetectionService;
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/SecurityDetectionService.java
@@ -8,4 +8,11 @@
 */
public interface SecurityDetectionService extends BaseService<SecurityDetection> {
    /**
     * 根据业务流水号查询数据
     * @param transactionSerialNumber
     * @return
     */
    SecurityDetection getSecurityDetection(String transactionSerialNumber);
}
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/SecurityDetectionServiceImpl.java
@@ -33,4 +33,14 @@
    public List<SecurityDetection> findAll() {
        return mongoTemplate.findAll(SecurityDetection.class);
    }
    /**
     * 根据业务流水号查询数据
     * @param transactionSerialNumber
     * @return
     */
    @Override
    public SecurityDetection getSecurityDetection(String transactionSerialNumber) {
        return null;
    }
}
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -650,6 +650,9 @@
        //执行5分钟的定时任务检测
        ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
        scheduler.scheduleAtFixedRate(()->{
            //获取安全校验
            List<PlatformStartChargingReply> data = platformStartChargingReplyClient.getPlatformStartChargingReply(code).getData();
            System.err.println("-------------------开始检查调起充电结果-------------------");
            System.err.println(data.toString());