瀏覽代碼

feat: 浪潮结算回调 测试接收参数

lixuesong 2 年之前
父節點
當前提交
e9088d951e

+ 48 - 42
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/GigThirdApiController.java

@@ -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";
 	}