| | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.File; |
| | | import java.io.IOException; |
| | | import java.math.BigDecimal; |
| | | import java.util.*; |
| | | |
| | | @Slf4j |
| | |
| | | @ResponseBody |
| | | public ResponseData appPay(@RequestBody @Validated WxAppPayRequest req) { |
| | | // 支付金额 |
| | | String totalAmount = ""; |
| | | BigDecimal totalAmount = BigDecimal.valueOf(0); |
| | | |
| | | // 订单编号判断订单类型 |
| | | if (req.getOrderNo().contains(OrderTypeEnum.MENTAL_TEST.getCode())) { |
| | | // 心理测试订单 |
| | | OrderMentalTest order = orderMentalTestService.getOrderByNo(req.getOrderNo()); |
| | | totalAmount = order.getPayAmount().toString(); |
| | | totalAmount = order.getPayAmount(); |
| | | } else if (req.getOrderNo().contains(OrderTypeEnum.CONSULT_ONE.getCode())) { |
| | | // 心理咨询1V1订单 |
| | | OrderConsultOne order = orderConsultOneService.getOrderByNo(req.getOrderNo()); |
| | | totalAmount = order.getPayAmount().toString(); |
| | | totalAmount = order.getPayAmount(); |
| | | }else if (req.getOrderNo().startsWith(OrderTypeEnum.COURSE_ORDER.getCode())){ |
| | | CourseOrder courseOrder = this.courseOrderService.getCourseOrderByNo(req.getOrderNo()); |
| | | totalAmount = courseOrder.getPayAmount().toString(); |
| | | totalAmount = courseOrder.getPayAmount(); |
| | | } else if (req.getOrderNo().startsWith(OrderTypeEnum.COUNSELLING_ORDER.getCode())) { |
| | | CounsellingOrder counsellingOrder = this.counsellingOrderService.getCounsellingOrderByNo(req.getOrderNo()); |
| | | totalAmount = counsellingOrder.getPayAmount().toString(); |
| | | totalAmount = counsellingOrder.getPayAmount(); |
| | | } |
| | | |
| | | // 设置支付配置 |
| | |
| | | .attach(req.getSubject()) |
| | | //.out_trade_no(WxPayKit.generateStr()) |
| | | .out_trade_no(req.getOrderNo()) |
| | | .total_fee(totalAmount) |
| | | .total_fee(totalAmount.multiply(BigDecimal.valueOf(100)).toString()) |
| | | .spbill_create_ip(ip) |
| | | .notify_url(notifyUrl) |
| | | .trade_type(TradeType.APP.getTradeType()) |