Przeglądaj źródła

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

This reverts commit e9088d951ea3f2da282173142d17b953d92a22b3.
lixuesong 2 lat temu
rodzic
commit
78eb526363

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

@@ -30,7 +30,6 @@ 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;
@@ -82,54 +81,49 @@ public class GigThirdApiController {
 	@Inner(value = false)
 	@SysLog("浪潮异步通知回调")
 	@PostMapping("/lingcaiai")
-	public String lingcaiaiNotify(HttpServletRequest request) {
-		Enumeration<String> attributeNames = request.getAttributeNames();
-		log.info("attributeNames={}", attributeNames);
-		Map<String, String[]> parameterMap = request.getParameterMap();
-		log.info("parameterMap={}", parameterMap);
+	public String lingcaiaiNotify(@RequestBody String body) {
+		log.info("浪潮结算回调请求方法参数:body={}", body);
 
-//		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);
+		// 请求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";
 	}