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(); } } }