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 = {"管理后台-支付订单-订单信息"})