package com.doumee.api.web;
|
|
import com.allinpay.syb.lib.SybConstants;
|
import com.allinpay.syb.lib.SybUtil;
|
import com.doumee.api.BaseController;
|
import com.doumee.core.model.ApiResponse;
|
import com.doumee.dao.business.dto.PayOrderNotifyParam;
|
import com.doumee.dao.business.dto.PayOrderParam;
|
import com.doumee.dao.business.dto.PayOrderResponse;
|
import com.doumee.dao.business.model.Orders;
|
import com.doumee.service.business.OrdersService;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
|
import javax.servlet.ServletException;
|
import javax.servlet.ServletInputStream;
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletResponse;
|
import java.io.BufferedReader;
|
import java.io.IOException;
|
import java.io.InputStreamReader;
|
import java.net.URLDecoder;
|
import java.util.Map;
|
import java.util.TreeMap;
|
|
/**
|
* 订单记录表信息表Controller定义
|
* @author doumee
|
* @date 2026-02-02 11:10:42
|
*/
|
@Api(tags = "订单信息接口")
|
@RestController
|
@Slf4j
|
@RequestMapping("/web/orders")
|
public class WebOrdersController extends BaseController {
|
@Autowired
|
private OrdersService ordersService;
|
@ApiOperation("订单新建")
|
@PostMapping("/create")
|
public ApiResponse<PayOrderResponse> createOrder(@RequestBody Orders orders, RedirectAttributes redirectAttributes) {
|
PayOrderResponse result = ordersService.createPay(orders);
|
return ApiResponse.success(result);
|
}
|
@ApiOperation("订单支付结果页")
|
@GetMapping("/returnPage")
|
public void returnPage(@ModelAttribute PayOrderParam param, HttpServletResponse response)throws IOException {
|
ordersService.returnPage(param,response);
|
}
|
@ApiOperation("订单支付结果异步通知")
|
@PostMapping(value = "/notity", consumes = "application/x-www-form-urlencoded")
|
public void notify (HttpServletRequest request, HttpServletResponse response) throws IOException {
|
log.error ("接收到支付通知");
|
try {
|
request.setCharacterEncoding("UTF-8");//通知传输的编码为GBK
|
StringBuilder stringBuilder = new StringBuilder();
|
String line;
|
ServletInputStream inputStream = request.getInputStream();
|
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
|
while ((line = reader.readLine()) != null) {
|
stringBuilder.append(line);
|
}
|
String body = stringBuilder.toString();
|
ordersService.dealOrdreResult(URLDecoder.decode(body, "UTF-8"),response);
|
}catch (Exception e){
|
e.printStackTrace();
|
}
|
|
}
|
|
|
@ApiOperation("根据ID查询")
|
@GetMapping("detail")
|
public ApiResponse findById(@RequestParam Integer id) {
|
return ApiResponse.success(ordersService.findById(id));
|
}
|
}
|