xuhy
2024-10-08 1f1cf6f0288863f59051bd506243eb99a985bee9
Merge remote-tracking branch 'origin/master'
7个文件已修改
66 ■■■■ 已修改文件
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 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/ali/tools/AliAppletTools.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AlipayOpenAppQrcodeCreate.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/ChargingOrderFallbackFactory.java
@@ -35,6 +35,11 @@
        return new ChargingOrderClient() {
            @Override
            public R<String> queryOrderByGunId(String id) {
                return R.fail("远程调用根据枪id 查询最新的订单id 用户后台结束充电" + throwable.getMessage());
            }
            @Override
            public R<Long> useOrderCount(Long userId) {
                return R.fail("订单计数:" + throwable.getMessage());
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderClient.java
@@ -28,6 +28,9 @@
 */
@FeignClient(contextId = "ChargingOrderClient", value = ServiceNameConstants.ORDER_SERVICE, fallbackFactory = ChargingOrderFallbackFactory.class)
public interface ChargingOrderClient {
    @PostMapping(value = "/t-charging-order/queryOrderByGunId/{id}")
    R<String> queryOrderByGunId(@PathVariable("id") String id);
    @PostMapping(value = "/t-charging-order/useOrderCount")
    R<Long> useOrderCount(@RequestParam("userId") Long userId);
    @PostMapping(value = "/t-charging-order/chargingBillListR")
@@ -137,7 +140,7 @@
     */
    @PutMapping(value = "/t-charging-order/stopCharging/{id}")
    R<String> stopCharging(@PathVariable("id") String id);
    
    /**
     * 充电支付成功回调通知
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/ali/tools/AliAppletTools.java
@@ -113,7 +113,7 @@
        String plainData = null;
        if (isDataEncrypted) {
            try {
                plainData = AlipayEncrypt.decryptContent(content, encryptType, "XABBSOeWDakvuG9TDez4Qg====", charset);
                plainData = AlipayEncrypt.decryptContent(content, encryptType, "84iAz9sTR7siFxTmAD6sfw==", charset);
            } catch (AlipayApiException e) {
                //解密异常, 记录日志
                throw new ServiceException("解密异常");
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AlipayOpenAppQrcodeCreate.java
@@ -44,8 +44,8 @@
    }
    private static AlipayConfig getAlipayConfig() {
        String privateKey  = "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCxWgLykkSXsj6zz5kVohKb6yAaOK8d4wnbWLrabBQSHZg+UZj9HknzQvgrSdfiMd6Dlv70OYQBRynWb2OSGaIKpWLbDKQDT+hDBcbZQ3nVTKExC7w8t/5mUc0CH4DkMsMMDcDW2synh9Lv4fmw7eNnRgd6g6csGIZyOUgt34eMcmCUBP58bEkYhuPm9rLBMw7fCRl9zZbKNAiE5j9FNL1/oAWhET6BCHRqKpiDHvKLQDZdXUwI+sA/JSolNlU+x052YBPGxjH9zqD8mpRLZRTPCb5pV5wCG+EqQkiCauyhAJSCVo2Dx3uXe4nP/6UDlQmgxyiZ+uuMtPsDFjKd7EIXAgMBAAECggEBAKXBfufAFSPCkB/2cxlo9QOM6eAYAnNocxnzABCM2uVji5sTIG3SFUOq3891oLPj8BgE1BzmdJ3NKSklymYOVwikMpSQZ+pAkM+zYnpFOmVEzZLNaQ1G2ho/cd/+GbUuTGXDpOwqawRZSaiyB3B5pgQry2mSCniII4A2UWOuez2jR7R6kXh2UL4DGDPYjDj2Gx3WfYEeuarjdbaeKU6ngdArkYqNtsbpmaR9aOUhNyo6ltOWh7pKjdjApAEtoEqqYjr1uQ4E0wfF4noiU1hR7gTG8FjvWHy1/piPWM4CihUbhJemC5xKuVKltI0zMtR+uAx609sz6gOYlZkrYAXL0uECgYEA8Gqq/Jc1w6I5FTGImnoadKr1VWXBFKdU00p6EMX6FaY9uD41+YtaOtfBeNyAUZ20UlP+t9EsUbHunaMVb64N2wYMbSwy9ibNAse/KxT3XCT659lsyFyVPtbGxALXLu6sNH7VIljJv7KRm6slBqLKSdac2qZX/LwVvjIGjNz7p8MCgYEAvNjhFEn9KE8eOCK+qGEITVoR8k26lFGG0XsjRoinkgAUeUL2R6HFscOqUT31DvvQ7lNfopM+Sksmi/c64wXjcT49iHZwqCs6FNYHvY9HS0StVckLGliUg0U7FNWX0dwZyehpYamV4Eh9O/yZN+p07zAmDohTYmdsMWyqoieJqx0CgYEA6iiKZ0CDbgrXnCvFh+e7Uryb/NQBjbM4rB6S6zlYTbO/025MNcQjWsJ/vs7M8DEwyyriIXjKuLsb1E9d9otJFXU7ry1oaVT7QmT4beaa0hV2h1C+YhvChRS9PXYizaRK90o9HpnpzhsHNN4pTuBJNEeiOFfhxNgQOVISDSrCtO8CgYBMCnRPLB/A3GLJrcvhlvi11N/HFl9bm5xSu2eP3jTDSD72OO1cGJq3IpdxESac+u69GFs45ls9pRcHYuyWP2e+0JYMXcytGoLPowMI5CmL+EJneYV7/VEHrpfEouD4As1rjKbqSVPtNKMgxWyYpFKjgVrBnUkeJZDeMehfVNZNTQKBgAfhnhQgDk61C3KmgzKJ0hCogjTUL6AdjgC5bfV1AsV9yesh0q1bgHDrlMkS2aKYSF9wNeKYCYl2/ZYhilom4Mst/uxAl/8aLwDM9Cg29KfmMakst521IXv2Jrk2MiXXJMV5wowE8kbdb4Hkzsn1km2tBnng7Jyyek2HH737Jd1R";
        String alipayPublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAh+tCVKqUmlHDL8Ki1TUJtzE5IKV1irJuoHWZTvndJCKJJ8bdWxL9mu5xsy8KkfrnS6wJIKBMLTxMoYQHG7l2Gt07YyUCYHS5+yvbHtTkyFFy2KRPeUEWXz1Tm4juvInDvvr+n7v9ETepToGhC+UDlQcBvuSppw8N+463E+1GRrC4APwXYGLzaIvYvDHcQAULkWhXsjzxJSmeSi12kqWKlgnVJC1y0FT8xQtvhwShfaIqKwzErn9S2z7JjdXboJMUYQHoqF1A4SmWY8c0qawqvx2hGP36W3RDQ4cczzFwUHS1Cylhsbgh1COc4OdANCX4Np2NUzaRDCNzN0WVFKtK+QIDAQAB";
        String privateKey  = "MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCdf1zyOndfbhI67zoFtjuVMYMJkr1UHBOpX1kWe4z8uqo5F7ESpJzsUNRcV/Mgz4QPOYGMV6C5KsT6QH2in5XDumIlY3FVFLOeXrVczJSTJdeY+00Ky9MMB5/Hsg/0GqdBvbDMxY/A6EQ1jH7BnV5wpq8gsNDTJLRKfTpnh0jyjH4nNormnLNgah9SBdxTOccWqP3VblpuqLNMYCIvoF5ukD3Z/GCIQ4FUTMwzdXW69uVEzCTucwxsylHmj3lE8Th4Lf4Nr4+oq2LfkNoHv1ygDluKA2oy5AaUg/pfEEeQYSzAJXc23AAdEgj5oS2eIkbthuC70Ns8clTgVfiWj5mvAgMBAAECggEBAJHvj/pLPo1Ies/tF0BvqSoHJLpcI96p3XYViYERnoQXmt8oGsWBjn5SL1QZkokWf/FzgZy/HYg2HysbUs67PJSOQZ8PU9ZYRk86xqZkUk8+w1VXlf2o+7er4NuzHKE9iTmbQRWdAiTnkzxjIJja7sVHTgLmk7jxy7Ux8Eo5ytgi7M7eFjr/jOErHikEImdiM77T1SDD7rbEtXhocr6vyAMgI02/ZEAO4w9Cui+fqrDWUouMeHzgRZxJ1Mp1GGlsZ5X3P3Fd6oGyznvsuqS6h803O+zdg+0GdtmudjVHuHi/clOpMI3YB9JfBZPli5lCMSO2yrr+zRnvXBQM94MfaQECgYEA2rqA1G1sKbWakH1N3ZKH4Jferat/sKc5KDa9ws1vyIwGA1emwG7zuettaAlQBbzXUmOC8O0m/a5vyu029p9BuWpi2upeo8SX66Cm8RenjOJ/giaPmIYtbFC5PwSeIFk3rLQK6gsMQAsiYvul/5ZySus1+7YOFPq/y5J4pGNqwO8CgYEAuFXOfN/gIPsiy3FuKiAcC72QLe4dtk4WE96UADKZ6jpcIfuf2szNFJbbn/MZS4iWJ4QmPQMw4aRhDGxzVcpZkYrNFDZBarMTfYYlD8ZYOXhf7JG+IRqSWTVK/3Zpspdwi90CKKPlcglboOMl4vRHiR2tB7ff1A47EIcvRlJLM0ECgYEArSbhn8jzzF0IfAPGJXa/fCudy2wtjIIE/HHBbTpGmMNIa1LzHfl3liHqnWZp4/DnoEBIw0NqD38M3t9FGJ1gYVD36weIXirefVjTb55jNGOFv1mZaYwm301UKLAWIdOfAGgTD84pJ3XpBeTjN185IVfsh1RK9469UIGmYbSWKR8CgYEAozWGD9aAsXLqCcsyySWI73Q1thUARau5rHoD/HDRCiwF6yjJDocKhVJUvrgVC2Wx3OcKnDa5Du/l5YQYUjtJNq34ig7HuNs5RIiDRAZPkwLbm7Am8VR/g3DGKI4FY9TmF0/lW2pR+rgCYt77aojy1Zpq20yYZz76WNX4q4CtiIECgYBxaN8iMXuKkGigDq+DWiw3RSt9XalqJEWdLKXLJZto1ESN+KC6ZQaCM+j9L+2A4n2N10UjjABdvcztK7EFw5LFI5nDEFEQu7VUfi2eKIS2hUKm2QGQPxeCbNd5mUL4kXsmetKHcZnxZlG1CBinWXCUbJAIRbl9Cc4ax85evX+ChA==";
        String alipayPublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkoPidM7vHL/74FhOWARjkMDZN0GktpVEQaYz6qpIjTuKLcQsR74CUv9LoiGD9uquYAI52TdmxzMWbuMEvrdVIT6pWyJuCvScX2U5Zwn9Bk8bE5RmTobUrU3LFudMYIGFU3qUHqnTJFQxLsSUibTtxbov1bpCQNwk3/2RdYOpJHKDjkXzNcjJrkuNcGcuzNW/3+L5CMaVm0dxqxx0dhJ4H0xvpMw2uvdxdLXN/KoYszfps4j61x0KFwkulvD1WHzR1f/ot9NU8FZe+dkNm5cXb9HbwQIbfARyB5bd0EYHSr4fJIUJx1GnjpfT6/traxEoyOcI6diJa4b2hZpR3WvxTQIDAQAB";
        AlipayConfig alipayConfig = new AlipayConfig();
        alipayConfig.setServerUrl("https://openapi.alipay.com/gateway.do");
        alipayConfig.setAppId("2021004173610331");
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java
@@ -563,7 +563,9 @@
        TAppUser byId = appUserService.getById(userId);
        AppUserInfoDto appUserInfoDto = new AppUserInfoDto();
        TVip data = vipClient.getVipInfoByType(2).getData();
        appUserInfoDto.setMinPrice(data.getMonthlyCard());
        if(null != data){
            appUserInfoDto.setMinPrice(data.getMonthlyCard());
        }
        //判断会员
        if (byId.getVipEndTime()==null||byId.getVipEndTime().isBefore(LocalDateTime.now())){
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java
@@ -39,10 +39,7 @@
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.awt.image.BufferedImage;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.PrintWriter;
import java.io.*;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.Arrays;
@@ -143,8 +140,10 @@
    @ApiOperation(tags = {"后台-充电枪"},value = "结束充电")
    @PutMapping(value = "/stopCharging")
    public AjaxResult<String> stopCharging(@RequestParam("id") String id) {
        // 根据充电枪id 查询最新的一笔订单
        String data = chargingOrderClient.queryOrderByGunId(id).getData();
        // 硬件 结束充电
        chargingOrderClient.stopCharging(id);
        chargingOrderClient.stopCharging(data);
        return AjaxResult.success();
    }
    
@@ -162,7 +161,7 @@
            response.setContentType("application/force-download");
            response.addHeader("Content-Disposition", "attachment;fileName=" + fileName);
            String url = "https://mxcd.zhinenganguan.com?No=" + code;
            String filePath = fileUploadConfig.getLocation();
            String filePath = fileUploadConfig.getLocation() + fileName;
            QRCodeUtils.encode(url, filePath);
            FileInputStream inputStream = new FileInputStream(filePath);
            ServletOutputStream out = response.getOutputStream();
@@ -174,6 +173,17 @@
            out.flush();
            out.close();
            inputStream.close();
            //清楚服务器上的文件
            Process process = null;
            try {
                process = Runtime.getRuntime().exec("sudo rm -rf " + filePath);
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
            if (process != null) {
                process.destroy();
            }
        }catch (Exception e){
            e.printStackTrace();
        }
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
@@ -61,6 +61,7 @@
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.models.auth.In;
import jdk.nashorn.internal.runtime.ListAdapter;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -139,8 +140,27 @@
    private TChargingOrderAccountingStrategyService chargingOrderAccountingStrategyService;
    /**
     * 远程调用根据枪id 查询最新的订单id 用户后台结束充电
     * @param id
     * @return
     */
    @ResponseBody
    @PostMapping(value = "/queryOrderByGunId/{id}")
    public R<String> queryOrderByGunId(@PathVariable("id") String id) {
        List<Integer> integers = new ArrayList<>();
        integers.add(2);
        integers.add(3);
        integers.add(4);
        TChargingOrder one = chargingOrderService.lambdaQuery()
                .eq(TChargingOrder::getChargingGunId, id)
                .in(TChargingOrder::getStatus, integers)
                .one();
        if (one!=null){
            return R.ok(one.getId().toString());
        }
        return R.ok();
    }
    @ResponseBody
    @PostMapping(value = "/pay/order/list")
    @ApiOperation(value = "列表", tags = {"管理后台-支付订单-订单信息"})