From 4ed693f48d1435de7a6333df17c2b34154731429 Mon Sep 17 00:00:00 2001
From: Your Name <you@example.com>
Date: 星期三, 05 七月 2023 22:26:27 +0800
Subject: [PATCH] Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity
---
service-api/src/main/java/com/java110/api/controller/app/charge/NotifyDingDingChargeController.java | 76 +++++++++++++++-----------------------
1 files changed, 30 insertions(+), 46 deletions(-)
diff --git a/service-api/src/main/java/com/java110/api/controller/app/charge/NotifyDingDingChargeController.java b/service-api/src/main/java/com/java110/api/controller/app/charge/NotifyDingDingChargeController.java
index e995cf8..b602306 100644
--- a/service-api/src/main/java/com/java110/api/controller/app/charge/NotifyDingDingChargeController.java
+++ b/service-api/src/main/java/com/java110/api/controller/app/charge/NotifyDingDingChargeController.java
@@ -3,10 +3,10 @@
import com.alibaba.fastjson.JSONObject;
import com.java110.core.base.controller.BaseController;
import com.java110.core.log.LoggerFactory;
-import com.java110.dto.chargeMachineOrder.NotifyChargeOrderDto;
-import com.java110.dto.meterWater.NotifyMeterWaterOrderDto;
+import com.java110.dto.charge.NotifyChargeOrderDto;
import com.java110.intf.common.INotifyChargeV1InnerServiceSMO;
import com.java110.utils.cache.MappingCache;
+import com.java110.vo.ResultVo;
import org.slf4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
@@ -17,11 +17,10 @@
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;
import javax.servlet.http.HttpServletRequest;
-import java.security.NoSuchAlgorithmException;
import java.util.Base64;
@RestController
-@RequestMapping(path = "/equipments")
+@RequestMapping(path = "/app/equipments")
public class NotifyDingDingChargeController extends BaseController {
private final static Logger logger = LoggerFactory.getLogger(NotifyDingDingChargeController.class);
@@ -35,7 +34,7 @@
private INotifyChargeV1InnerServiceSMO notifyChargeV1InnerServiceSMOImpl;
/**
- * <p>鏀粯鍥炶皟Api</p>
+ * <p>鍏呯數缁撴潫閫氱煡</p>
*
* @param request
* @throws Exception
@@ -46,7 +45,7 @@
@PathVariable String port,
@RequestBody String postInfo,
HttpServletRequest request) {
- if (!validateSign(request)) {
+ if (!validateSign(request, "/equipments/" + id + "/" + port + "/finish", postInfo)) {
return new ResponseEntity<>("{\n" +
"\"code\" : -1,\n" +
"\"msg\" : \"閴存潈澶辫触\"\n" +
@@ -59,9 +58,18 @@
notifyChargeOrderDto.setMachineCode(id);
notifyChargeOrderDto.setPortCode(port);
notifyChargeOrderDto.setBodyParam(postInfo);
+ notifyChargeOrderDto.setReason(param.getString("typeName"));
+ notifyChargeOrderDto.setEnergy(param.getString("energy"));
- return notifyChargeV1InnerServiceSMOImpl.finishCharge(notifyChargeOrderDto);
+ ResultVo resultVo = null;
+ resultVo = notifyChargeV1InnerServiceSMOImpl.finishCharge(notifyChargeOrderDto);
+ if (resultVo.getCode() == ResultVo.CODE_OK) {
+ resultVo.setCode(200);
+ resultVo.setMsg("success");
+ }
+
+ return ResultVo.createResponseEntity(resultVo);
}
/**
@@ -70,40 +78,12 @@
* @param request
* @throws Exception
*/
- @RequestMapping(path = "/{id}/event", method = RequestMethod.POST)
- public ResponseEntity<String> heartbeat(
+ @RequestMapping(path = "/{id}/power", method = RequestMethod.POST)
+ public ResponseEntity<String> workHeartbeat(
@PathVariable String id,
@RequestBody String postInfo,
HttpServletRequest request) {
- if (!validateSign(request)) {
- return new ResponseEntity<>("{\n" +
- "\"code\" : -1,\n" +
- "\"msg\" : \"閴存潈澶辫触\"\n" +
- "}", HttpStatus.OK);
- }
-
- JSONObject param = JSONObject.parseObject(postInfo);
- NotifyChargeOrderDto notifyChargeOrderDto = new NotifyChargeOrderDto();
- notifyChargeOrderDto.setMachineCode(id);
- notifyChargeOrderDto.setBodyParam(postInfo);
-
- return notifyChargeV1InnerServiceSMOImpl.heartbeat(notifyChargeOrderDto);
-
- }
-
- /**
- * <p>鏀粯鍥炶皟Api</p>
- *
- * @param request
- * @throws Exception
- */
- @RequestMapping(path = "/{id}/{port}/event", method = RequestMethod.POST)
- public ResponseEntity<String> chargeHeartbeat(
- @PathVariable String id,
- @PathVariable String port,
- @RequestBody String postInfo,
- HttpServletRequest request) {
- if (!validateSign(request)) {
+ if (!validateSign(request, "/equipments/" + id + "/power", postInfo)) {
return new ResponseEntity<>("{\n" +
"\"code\" : -1,\n" +
"\"msg\" : \"閴存潈澶辫触\"\n" +
@@ -112,19 +92,23 @@
NotifyChargeOrderDto notifyChargeOrderDto = new NotifyChargeOrderDto();
notifyChargeOrderDto.setMachineCode(id);
- notifyChargeOrderDto.setPortCode(port);
notifyChargeOrderDto.setBodyParam(postInfo);
+ ResultVo resultVo = null;
+ resultVo = notifyChargeV1InnerServiceSMOImpl.workHeartbeat(notifyChargeOrderDto);
+ if (resultVo.getCode() == ResultVo.CODE_OK) {
+ resultVo.setCode(200);
+ resultVo.setMsg("success");
+ }
- return notifyChargeV1InnerServiceSMOImpl.chargeHeartBeat(notifyChargeOrderDto);
-
+ return ResultVo.createResponseEntity(resultVo);
}
- private boolean validateSign(HttpServletRequest request) {
- String appId = request.getParameter("appid");
- String timestamp = request.getParameter("timestamp");
- String sign = request.getParameter("sign");
+ private boolean validateSign(HttpServletRequest request, String url, String postInfo) {
+ String appId = request.getHeader("appid");
+ String timestamp = request.getHeader("timestamp");
+ String sign = request.getHeader("sign");
String secret = MappingCache.getValue(DING_DING_DOMAIN, DING_DING_APP_SECURE);
- String data = "appid=" + appId + "×tamp=" + timestamp;
+ String data = "appid=" + appId + "&content=" + postInfo + "×tamp=" + timestamp + "&uri=" + url;
SecretKey secretKey = new SecretKeySpec(secret.getBytes(), "HmacMD5");
Mac mac = null;
try {
--
Gitblit v1.8.0