|
@@ -1,12 +1,17 @@
|
|
package com.zt.controller;
|
|
package com.zt.controller;
|
|
|
|
|
|
|
|
+import cn.hutool.crypto.digest.DigestUtil;
|
|
import com.zt.common.pojo.CeShi;
|
|
import com.zt.common.pojo.CeShi;
|
|
|
|
+import com.zt.common.utils.Result;
|
|
import jakarta.validation.Valid;
|
|
import jakarta.validation.Valid;
|
|
import org.springframework.http.HttpStatus;
|
|
import org.springframework.http.HttpStatus;
|
|
import org.springframework.http.ResponseEntity;
|
|
import org.springframework.http.ResponseEntity;
|
|
|
|
+import org.springframework.util.DigestUtils;
|
|
import org.springframework.web.bind.annotation.*;
|
|
import org.springframework.web.bind.annotation.*;
|
|
import com.zt.common.utils.SingUtil;
|
|
import com.zt.common.utils.SingUtil;
|
|
|
|
|
|
|
|
+import java.nio.charset.StandardCharsets;
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* @Date 2025/3/31 15:27
|
|
* @Date 2025/3/31 15:27
|
|
* @Author neko
|
|
* @Author neko
|
|
@@ -16,33 +21,30 @@ import com.zt.common.utils.SingUtil;
|
|
public class ApiController {
|
|
public class ApiController {
|
|
@PostMapping("/interface1")
|
|
@PostMapping("/interface1")
|
|
public ResponseEntity<String> interface1(@RequestHeader("reqId") String reqId, @Valid @RequestBody CeShi params) {
|
|
public ResponseEntity<String> interface1(@RequestHeader("reqId") String reqId, @Valid @RequestBody CeShi params) {
|
|
- if (!SingUtil.verifySign(params.getAppId(), params.getGoodsId(), reqId, params.getReqTime(), params.getSign())) {
|
|
|
|
|
|
+// String s = DigestUtils.md5DigestAsHex((params.getAppId()+params.getGoodsId()+reqId+params.getReqTime()).getBytes(StandardCharsets.UTF_8));
|
|
|
|
+ String s = DigestUtil.md5Hex((params.getAppId()+params.getGoodsId()+reqId+params.getReqTime()).getBytes(StandardCharsets.UTF_8));
|
|
|
|
+ if (!SingUtil.verifySign(params.getAppId(), params.getGoodsId(), reqId, params.getReqTime(), s )) {
|
|
|
|
+// System.err.println(SingUtil.verifySign(params.getAppId(), params.getGoodsId(), reqId, params.getReqTime(), s ));
|
|
return new ResponseEntity<>("签名验证失败", HttpStatus.BAD_REQUEST);
|
|
return new ResponseEntity<>("签名验证失败", HttpStatus.BAD_REQUEST);
|
|
}
|
|
}
|
|
|
|
+ System.out.println(Result.OK(params));
|
|
return new ResponseEntity<>("接口一处理成功", HttpStatus.OK);
|
|
return new ResponseEntity<>("接口一处理成功", HttpStatus.OK);
|
|
}
|
|
}
|
|
|
|
|
|
@GetMapping("/interface2")
|
|
@GetMapping("/interface2")
|
|
- public ResponseEntity<String> interface2(@RequestHeader("reqId") String reqId,
|
|
|
|
- @RequestParam("appId") String appId,
|
|
|
|
- @RequestParam("sign") String sign,
|
|
|
|
- @RequestParam("reqTime") String reqTime,
|
|
|
|
- @RequestParam("goodsId") String goodsId,
|
|
|
|
- @RequestParam("amount") Integer amount,
|
|
|
|
- @RequestParam("price") Double price,
|
|
|
|
- @RequestParam("mobile") String mobile,
|
|
|
|
- @RequestParam("nowDate") String nowDate) {
|
|
|
|
|
|
+ public ResponseEntity<String> interface2(@RequestHeader("reqId") String reqId,@Valid CeShi ceShi) {
|
|
CeShi params = new CeShi();
|
|
CeShi params = new CeShi();
|
|
- params.setAppId(appId);
|
|
|
|
- params.setSign(sign);
|
|
|
|
- params.setReqTime(reqTime);
|
|
|
|
- params.setGoodsId(goodsId);
|
|
|
|
- params.setAmount(amount);
|
|
|
|
- params.setPrice(price);
|
|
|
|
- params.setMobile(mobile);
|
|
|
|
- params.setNowDate(nowDate);
|
|
|
|
|
|
+ params.setAppId(ceShi.getAppId());
|
|
|
|
+ params.setSign(ceShi.getSign());
|
|
|
|
+ params.setReqTime(ceShi.getReqTime());
|
|
|
|
+ params.setGoodsId(ceShi.getGoodsId());
|
|
|
|
+ params.setAmount(ceShi.getAmount());
|
|
|
|
+ params.setPrice(ceShi.getPrice());
|
|
|
|
+ params.setMobile(ceShi.getMobile());
|
|
|
|
+ params.setNowDate(ceShi.getNowDate());
|
|
|
|
|
|
- if (!SingUtil.verifySign(appId, goodsId, reqId, reqTime, sign)) {
|
|
|
|
|
|
+ String s = DigestUtil.md5Hex((params.getAppId()+params.getGoodsId()+reqId+params.getReqTime()).getBytes(StandardCharsets.UTF_8));
|
|
|
|
+ if (!SingUtil.verifySign(ceShi.getAppId(), ceShi.getGoodsId(), reqId, ceShi.getReqTime(), s)) {
|
|
return new ResponseEntity<>("签名验证失败", HttpStatus.BAD_REQUEST);
|
|
return new ResponseEntity<>("签名验证失败", HttpStatus.BAD_REQUEST);
|
|
}
|
|
}
|
|
return new ResponseEntity<>("接口二处理成功", HttpStatus.OK);
|
|
return new ResponseEntity<>("接口二处理成功", HttpStatus.OK);
|