|
@@ -15,12 +15,14 @@ import com.qunzhixinxi.hnqz.admin.entity.OladingInputRecord;
|
|
import com.qunzhixinxi.hnqz.admin.entity.SysDeptSub;
|
|
import com.qunzhixinxi.hnqz.admin.entity.SysDeptSub;
|
|
import com.qunzhixinxi.hnqz.admin.entity.XinbadaInputRecord;
|
|
import com.qunzhixinxi.hnqz.admin.entity.XinbadaInputRecord;
|
|
import com.qunzhixinxi.hnqz.admin.entity.ZhongyiyunInputRecord;
|
|
import com.qunzhixinxi.hnqz.admin.entity.ZhongyiyunInputRecord;
|
|
|
|
+import com.qunzhixinxi.hnqz.admin.entity.ZhongzhiInputRecord;
|
|
import com.qunzhixinxi.hnqz.admin.enums.SubjectLocation;
|
|
import com.qunzhixinxi.hnqz.admin.enums.SubjectLocation;
|
|
import com.qunzhixinxi.hnqz.admin.service.HuiqiyunInputRecordService;
|
|
import com.qunzhixinxi.hnqz.admin.service.HuiqiyunInputRecordService;
|
|
import com.qunzhixinxi.hnqz.admin.service.LingcaiaiInputRecordService;
|
|
import com.qunzhixinxi.hnqz.admin.service.LingcaiaiInputRecordService;
|
|
import com.qunzhixinxi.hnqz.admin.service.SysDeptSubService;
|
|
import com.qunzhixinxi.hnqz.admin.service.SysDeptSubService;
|
|
import com.qunzhixinxi.hnqz.admin.service.XinbadaInputRecordService;
|
|
import com.qunzhixinxi.hnqz.admin.service.XinbadaInputRecordService;
|
|
import com.qunzhixinxi.hnqz.admin.service.ZhongyiyunInputRecordService;
|
|
import com.qunzhixinxi.hnqz.admin.service.ZhongyiyunInputRecordService;
|
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.ZhongzhiInputRecordService;
|
|
import com.qunzhixinxi.hnqz.admin.service.gig.GigThirdApiService;
|
|
import com.qunzhixinxi.hnqz.admin.service.gig.GigThirdApiService;
|
|
import com.qunzhixinxi.hnqz.admin.service.gig.OladingInputRecordService;
|
|
import com.qunzhixinxi.hnqz.admin.service.gig.OladingInputRecordService;
|
|
import com.qunzhixinxi.hnqz.admin.util.ZhongyiyunUtils;
|
|
import com.qunzhixinxi.hnqz.admin.util.ZhongyiyunUtils;
|
|
@@ -69,10 +71,56 @@ public class GigThirdApiController {
|
|
|
|
|
|
private final ZhongyiyunInputRecordService zhongyiyunInputRecordService;
|
|
private final ZhongyiyunInputRecordService zhongyiyunInputRecordService;
|
|
|
|
|
|
|
|
+ private final ZhongzhiInputRecordService zhongzhiInputRecordService;
|
|
|
|
+
|
|
private final SysDeptSubService sysDeptSubService;
|
|
private final SysDeptSubService sysDeptSubService;
|
|
|
|
|
|
private final RedisTemplate redisTemplate;
|
|
private final RedisTemplate redisTemplate;
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 中智回调异步通知记录
|
|
|
|
+ *
|
|
|
|
+ * @param body
|
|
|
|
+ * @param headers
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ @PostMapping("/zhongzhi/pay-notify")
|
|
|
|
+ public Map<String, Object> zhongZhiSettleNotify(@RequestBody String body, @RequestHeader HttpHeaders headers) {
|
|
|
|
+ log.info("中智结算请求方法参数:body={}, headers={}", body, headers);
|
|
|
|
+
|
|
|
|
+ // 请求body json
|
|
|
|
+ JSONObject bodyJson = JSONUtil.parseObj(body);
|
|
|
|
+
|
|
|
|
+ // 平台任务编号
|
|
|
|
+ String orderNo = bodyJson.getStr("orderNo");
|
|
|
|
+
|
|
|
|
+ Map<String, Object> result = new HashMap<>();
|
|
|
|
+
|
|
|
|
+ String redisKey = String.format("%s_%s", CacheConstants.ZHONG_YI_YUN_SETTLE_NOTIFY_KEY, orderNo);
|
|
|
|
+ Boolean absent = redisTemplate.opsForValue().setIfAbsent(redisKey, orderNo, 30, TimeUnit.MINUTES);
|
|
|
|
+ if (Boolean.FALSE.equals(absent)) {
|
|
|
|
+ log.warn("存在在途操作orderNo={}", orderNo);
|
|
|
|
+ result.put("code", "00000400");
|
|
|
|
+ result.put("msg", "成功");
|
|
|
|
+ return result;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 请求记录到数据库
|
|
|
|
+ ZhongzhiInputRecord inputRecord = new ZhongzhiInputRecord();
|
|
|
|
+ inputRecord.setOrderNo(orderNo);
|
|
|
|
+ inputRecord.setReqType(ZhongzhiInputRecord.ReqType.SETTLE_NOTIFY.getType());
|
|
|
|
+ inputRecord.setReqBody(body);
|
|
|
|
+ zhongzhiInputRecordService.save(inputRecord);
|
|
|
|
+
|
|
|
|
+ // 业务处理
|
|
|
|
+ gigThirdApiService.zhongzhiSettleNotify(bodyJson);
|
|
|
|
+
|
|
|
|
+ result.put("code", "00000200");
|
|
|
|
+ result.put("msg", "成功");
|
|
|
|
+
|
|
|
|
+ return result;
|
|
|
|
+ }
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 众蚁云结算异步通知回调
|
|
* 众蚁云结算异步通知回调
|
|
*
|
|
*
|