|
@@ -30,6 +30,7 @@ import org.springframework.web.bind.annotation.RestController;
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
import java.time.LocalDateTime;
|
|
|
+import java.util.Enumeration;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
@@ -81,49 +82,54 @@ public class GigThirdApiController {
|
|
|
@Inner(value = false)
|
|
|
@SysLog("浪潮异步通知回调")
|
|
|
@PostMapping("/lingcaiai")
|
|
|
- public String lingcaiaiNotify(@RequestBody String body) {
|
|
|
- log.info("浪潮结算回调请求方法参数:body={}", body);
|
|
|
+ public String lingcaiaiNotify(HttpServletRequest request) {
|
|
|
+ Enumeration<String> attributeNames = request.getAttributeNames();
|
|
|
+ log.info("attributeNames={}", attributeNames);
|
|
|
+ Map<String, String[]> parameterMap = request.getParameterMap();
|
|
|
+ log.info("parameterMap={}", parameterMap);
|
|
|
|
|
|
- // 请求body json
|
|
|
- JSONObject bodyJson = JSONUtil.parseObj(body);
|
|
|
-
|
|
|
- // 签名
|
|
|
- String verify = bodyJson.getStr("verify");
|
|
|
- // 通知类型
|
|
|
- String channel = bodyJson.getStr("channel");
|
|
|
- // 项目单号
|
|
|
- String batchNo = bodyJson.getStr("batch_no");
|
|
|
- // 订单状态
|
|
|
- Integer orderStatus = bodyJson.getInt("status");
|
|
|
- // project_accounts
|
|
|
- JSONArray projectAccounts = bodyJson.getJSONArray("project_accounts");
|
|
|
- // 账号单号
|
|
|
- if (projectAccounts == null) {
|
|
|
- log.warn("project_accounts为空");
|
|
|
- return "fail";
|
|
|
- }
|
|
|
- JSONObject projectAccountObj = (JSONObject) projectAccounts.get(0);
|
|
|
- String accountNo = projectAccountObj.getStr("account_no");
|
|
|
- String status = projectAccountObj.getStr("status");// TODO 项目status和详情的status ???
|
|
|
-
|
|
|
- String redisKey = String.format("%s_%s_%s", CacheConstants.ZHEGN_QI_ZHI_XING_NOTIFY_KEY, channel, accountNo);
|
|
|
- Boolean absent = redisTemplate.opsForValue().setIfAbsent(redisKey, accountNo, 30, TimeUnit.MINUTES);
|
|
|
- if (!absent) {
|
|
|
- return "success";
|
|
|
- }
|
|
|
-
|
|
|
- // 请求存入数据库
|
|
|
- LingcaiaiInputRecord record = new LingcaiaiInputRecord();
|
|
|
- record.setVerify(verify);
|
|
|
- record.setChannel(channel);
|
|
|
- record.setReqBody(body);
|
|
|
- record.setBatchNo(batchNo);
|
|
|
- record.setAccountNo(accountNo);
|
|
|
- record.setOrderStatus(orderStatus);
|
|
|
- record.setCreateTime(LocalDateTime.now());
|
|
|
- lingcaiaiInputRecordService.save(record);
|
|
|
-
|
|
|
- gigThirdApiService.lingcaiaiNotify(channel, accountNo, orderStatus);
|
|
|
+// log.info("浪潮结算回调请求方法参数:body={}", body);
|
|
|
+//
|
|
|
+// // 请求body json
|
|
|
+// JSONObject bodyJson = JSONUtil.parseObj(body);
|
|
|
+//
|
|
|
+// // 签名
|
|
|
+// String verify = bodyJson.getStr("verify");
|
|
|
+// // 通知类型
|
|
|
+// String channel = bodyJson.getStr("channel");
|
|
|
+// // 项目单号
|
|
|
+// String batchNo = bodyJson.getStr("batch_no");
|
|
|
+// // 订单状态
|
|
|
+// Integer orderStatus = bodyJson.getInt("status");
|
|
|
+// // project_accounts
|
|
|
+// JSONArray projectAccounts = bodyJson.getJSONArray("project_accounts");
|
|
|
+// // 账号单号
|
|
|
+// if (projectAccounts == null) {
|
|
|
+// log.warn("project_accounts为空");
|
|
|
+// return "fail";
|
|
|
+// }
|
|
|
+// JSONObject projectAccountObj = (JSONObject) projectAccounts.get(0);
|
|
|
+// String accountNo = projectAccountObj.getStr("account_no");
|
|
|
+// String status = projectAccountObj.getStr("status");// TODO 项目status和详情的status ???
|
|
|
+//
|
|
|
+// String redisKey = String.format("%s_%s_%s", CacheConstants.ZHEGN_QI_ZHI_XING_NOTIFY_KEY, channel, accountNo);
|
|
|
+// Boolean absent = redisTemplate.opsForValue().setIfAbsent(redisKey, accountNo, 30, TimeUnit.MINUTES);
|
|
|
+// if (!absent) {
|
|
|
+// return "success";
|
|
|
+// }
|
|
|
+//
|
|
|
+// // 请求存入数据库
|
|
|
+// LingcaiaiInputRecord record = new LingcaiaiInputRecord();
|
|
|
+// record.setVerify(verify);
|
|
|
+// record.setChannel(channel);
|
|
|
+// record.setReqBody(body);
|
|
|
+// record.setBatchNo(batchNo);
|
|
|
+// record.setAccountNo(accountNo);
|
|
|
+// record.setOrderStatus(orderStatus);
|
|
|
+// record.setCreateTime(LocalDateTime.now());
|
|
|
+// lingcaiaiInputRecordService.save(record);
|
|
|
+//
|
|
|
+// gigThirdApiService.lingcaiaiNotify(channel, accountNo, orderStatus);
|
|
|
|
|
|
return "success";
|
|
|
}
|