package com.ruoyi.web.controller.errand;
|
|
import com.alibaba.fastjson2.JSONObject;
|
import com.ruoyi.common.core.domain.R;
|
import com.ruoyi.errand.object.dto.app.VipPaymentDTO;
|
import com.ruoyi.errand.service.VipOrderService;
|
import com.ruoyi.errand.utils.UniPayCallbackResult;
|
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 javax.servlet.http.HttpServletResponse;
|
import javax.validation.Valid;
|
import java.io.IOException;
|
import java.io.PrintWriter;
|
|
@RestController
|
@RequestMapping(value = "/app/vipOrder")
|
@Api(value = "vip订单信息", tags = "vip订单信息操作控制器")
|
@Slf4j
|
public class VipOrderController {
|
@Autowired
|
private VipOrderService vipOrderService;
|
|
|
/**
|
* 购买会员
|
*/
|
@PostMapping("/vipPayment")
|
@ApiOperation(value = "购买会员",tags = "app用户端-成为会员")
|
public R vipPayment(@RequestBody @Valid VipPaymentDTO vipPaymentDTO) {
|
return vipOrderService.vipPayment(vipPaymentDTO);
|
|
}
|
|
/**
|
* 订单支付回调通知
|
*/
|
@ResponseBody
|
@GetMapping("/orderPaymentCallback")
|
public void orderPaymentCallback(UniPayCallbackResult uniPayCallbackResult, HttpServletResponse response){
|
String jsonString = JSONObject.toJSONString(uniPayCallbackResult);
|
log.info("订单支付回调json:{}", jsonString);
|
R callback = vipOrderService.orderPaymentCallback(uniPayCallbackResult);
|
if(callback.getCode() == 200){
|
response.setStatus(200);
|
PrintWriter out = null;
|
try {
|
out = response.getWriter();
|
} catch (IOException e) {
|
throw new RuntimeException(e);
|
}
|
out.println("success");
|
out.flush();
|
out.close();
|
}
|
}
|
|
|
}
|