|
@@ -3,6 +3,7 @@ package com.qunzhixinxi.hnqz.admin.controller;
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
import cn.hutool.core.bean.copier.CopyOptions;
|
|
import cn.hutool.core.bean.copier.CopyOptions;
|
|
import cn.hutool.json.JSONUtil;
|
|
import cn.hutool.json.JSONUtil;
|
|
|
|
+import com.qunzhixinxi.hnqz.admin.api.constant.CacheConstants;
|
|
import com.qunzhixinxi.hnqz.admin.api.dto.OladingCommonRequest;
|
|
import com.qunzhixinxi.hnqz.admin.api.dto.OladingCommonRequest;
|
|
import com.qunzhixinxi.hnqz.admin.entity.OladingInputRecord;
|
|
import com.qunzhixinxi.hnqz.admin.entity.OladingInputRecord;
|
|
import com.qunzhixinxi.hnqz.admin.entity.model.OladingSignUpRequest;
|
|
import com.qunzhixinxi.hnqz.admin.entity.model.OladingSignUpRequest;
|
|
@@ -10,17 +11,18 @@ 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.HMACSignProvider;
|
|
import com.qunzhixinxi.hnqz.admin.util.HMACSignProvider;
|
|
import com.qunzhixinxi.hnqz.common.core.exception.ValidateCodeException;
|
|
import com.qunzhixinxi.hnqz.common.core.exception.ValidateCodeException;
|
|
-import com.qunzhixinxi.hnqz.common.core.util.R;
|
|
|
|
import com.qunzhixinxi.hnqz.common.log.annotation.SysLog;
|
|
import com.qunzhixinxi.hnqz.common.log.annotation.SysLog;
|
|
import com.qunzhixinxi.hnqz.common.security.annotation.Inner;
|
|
import com.qunzhixinxi.hnqz.common.security.annotation.Inner;
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
+import org.springframework.data.redis.core.RedisTemplate;
|
|
import org.springframework.web.bind.annotation.PostMapping;
|
|
import org.springframework.web.bind.annotation.PostMapping;
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
import org.springframework.web.bind.annotation.RequestParam;
|
|
import org.springframework.web.bind.annotation.RequestParam;
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
|
|
+import java.util.concurrent.TimeUnit;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 第三方零工接口
|
|
* 第三方零工接口
|
|
@@ -38,6 +40,8 @@ public class GigThirdApiController {
|
|
|
|
|
|
private final OladingInputRecordService oladingInputRecordService;
|
|
private final OladingInputRecordService oladingInputRecordService;
|
|
|
|
|
|
|
|
+ private final RedisTemplate redisTemplate;
|
|
|
|
+
|
|
private static final HMACSignProvider hMACSignProvide = new HMACSignProvider();
|
|
private static final HMACSignProvider hMACSignProvide = new HMACSignProvider();
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -58,7 +62,7 @@ public class GigThirdApiController {
|
|
@Inner(value = false)
|
|
@Inner(value = false)
|
|
@SysLog("自由职家统一请求地址")
|
|
@SysLog("自由职家统一请求地址")
|
|
@PostMapping("/olading")
|
|
@PostMapping("/olading")
|
|
- public R<?> oladingRequest(@RequestParam(value = "req", required = false) String reqStr, @RequestParam(required = false) String sign) {
|
|
|
|
|
|
+ public String oladingRequest(@RequestParam(value = "req", required = false) String reqStr, @RequestParam(required = false) String sign) {
|
|
|
|
|
|
log.info("自由职家请求方法参数:req={}, sign={}", reqStr, sign);
|
|
log.info("自由职家请求方法参数:req={}, sign={}", reqStr, sign);
|
|
|
|
|
|
@@ -67,6 +71,13 @@ public class GigThirdApiController {
|
|
// 请求接口名称
|
|
// 请求接口名称
|
|
String interfaceName = req.getName();
|
|
String interfaceName = req.getName();
|
|
|
|
|
|
|
|
+ String redisKey = CacheConstants.OLADING_SIGN_UP_NOTIFY_KEY + interfaceName + "_" + req.getData().get("request_id");
|
|
|
|
+ Boolean absent = redisTemplate.opsForValue().setIfAbsent(redisKey, reqStr, 30, TimeUnit.MINUTES);
|
|
|
|
+ if (!absent) {
|
|
|
|
+ log.error("存在在途操作{}", req.getData().get("request_id"));
|
|
|
|
+ return "SUCCESS";
|
|
|
|
+ }
|
|
|
|
+
|
|
// 1.请求记录
|
|
// 1.请求记录
|
|
OladingInputRecord record = new OladingInputRecord();
|
|
OladingInputRecord record = new OladingInputRecord();
|
|
record.setInterfaceName(interfaceName);
|
|
record.setInterfaceName(interfaceName);
|
|
@@ -98,15 +109,11 @@ public class GigThirdApiController {
|
|
default:
|
|
default:
|
|
|
|
|
|
}
|
|
}
|
|
- return R.ok();
|
|
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
log.error("自由职家统一请求异常", e);
|
|
log.error("自由职家统一请求异常", e);
|
|
- if (e instanceof ValidateCodeException) {
|
|
|
|
- return R.failed(e.getMessage());
|
|
|
|
- }
|
|
|
|
- return R.failed("处理失败");
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ return "SUCCESS";
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|