配置测试环境支付成功回调
This commit is contained in:
@@ -1,17 +1,20 @@
|
||||
package com.chaozhanggui.system.cashierservice.controller;
|
||||
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.extra.servlet.ServletUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.chaozhanggui.system.cashierservice.entity.TbOrderInfo;
|
||||
import com.chaozhanggui.system.cashierservice.service.OrderService;
|
||||
import com.chaozhanggui.system.cashierservice.sign.CodeEnum;
|
||||
import com.chaozhanggui.system.cashierservice.sign.Result;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@CrossOrigin(origins = "*")
|
||||
@RestController
|
||||
@@ -20,24 +23,44 @@ import java.util.Map;
|
||||
public class NotifyController {
|
||||
|
||||
|
||||
private final OrderService orderService;
|
||||
|
||||
public NotifyController(OrderService orderService) {
|
||||
this.orderService = orderService;
|
||||
}
|
||||
@Resource
|
||||
private OrderService orderService;
|
||||
|
||||
@RequestMapping("notifyPay")
|
||||
public String notifyPay(HttpServletRequest request,@RequestParam Map<String,Object> map){
|
||||
log.info("request ip:{}", request.getRemoteAddr());
|
||||
Map<String, String[]> params = ServletUtil.getParams(request);
|
||||
public Result notifyPay(HttpServletRequest request) {
|
||||
String body = ServletUtil.getBody(request);
|
||||
log.info("notifyPay params:{}", JSON.toJSONString(params));
|
||||
log.info("notifyPay body:{}", body);
|
||||
return null;
|
||||
JSONObject resp = JSON.parseObject(body);
|
||||
|
||||
String code = resp.getString("code");
|
||||
String msg = resp.getString("msg");
|
||||
if (!"000000".equals(code)) {
|
||||
log.error("支付失败:{}", resp.getString("msg"));
|
||||
return Result.fail(msg);
|
||||
}
|
||||
JSONObject bizData = JSON.parseObject(resp.getString("bizData"));
|
||||
String state = bizData.getString("state");
|
||||
String note = bizData.getString("note");
|
||||
String payOrderId = bizData.getString("payOrderId");
|
||||
String payType = bizData.getString("payType");
|
||||
String payTime = bizData.getString("payTime");
|
||||
long paidTime = DateUtil.parseDateTime(payTime).getTime();
|
||||
if (!"TRADE_SUCCESS".equals(state)) {
|
||||
log.error("支付失败:{},{}", state, note);
|
||||
return Result.fail(state + ":" + note);
|
||||
}
|
||||
TbOrderInfo entity = orderService.selectByPayOrderNo(payOrderId);
|
||||
if (entity == null) {
|
||||
return Result.fail("订单不存在");
|
||||
}
|
||||
entity.setPaidTime(paidTime);
|
||||
orderService.payCallbackCloseOrder(entity, payType);
|
||||
return Result.success(CodeEnum.SUCCESS);
|
||||
}
|
||||
|
||||
/**
|
||||
* 支付取消
|
||||
*
|
||||
* @return 影响数量
|
||||
*/
|
||||
@PostMapping("cancel")
|
||||
|
||||
Reference in New Issue
Block a user