| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- package com.izouma.nineth.web;
- import com.alibaba.fastjson.JSON;
- import com.github.binarywang.wxpay.bean.order.WxPayMpOrderResult;
- import com.github.binarywang.wxpay.constant.WxPayConstants;
- import com.github.binarywang.wxpay.exception.WxPayException;
- import com.huifu.adapay.core.exception.BaseAdaPayException;
- import com.izouma.nineth.domain.Order;
- import com.izouma.nineth.enums.OrderStatus;
- import com.izouma.nineth.exception.BusinessException;
- import com.izouma.nineth.repo.OrderRepo;
- import com.izouma.nineth.service.*;
- import com.izouma.nineth.utils.SecurityUtils;
- import io.swagger.annotations.ApiOperation;
- import lombok.AllArgsConstructor;
- import lombok.extern.slf4j.Slf4j;
- import me.chanjar.weixin.common.error.WxErrorException;
- import me.chanjar.weixin.mp.api.WxMpService;
- import me.chanjar.weixin.mp.bean.result.WxMpOAuth2AccessToken;
- import me.chanjar.weixin.mp.bean.result.WxMpUser;
- import org.apache.commons.codec.EncoderException;
- import org.springframework.stereotype.Controller;
- import org.springframework.ui.Model;
- import org.springframework.web.bind.annotation.*;
- import java.math.BigDecimal;
- import java.util.Map;
- import java.util.regex.Pattern;
- @Controller
- @RequestMapping({"/payOrder/v2", "/pay/v2"})
- @Slf4j
- @AllArgsConstructor
- public class OrderPayControllerV2 {
- private final OrderRepo orderRepo;
- private final SandPayService sandPayService;
- private final OrderPayService orderPayService;
- @RequestMapping(value = "/alipay")
- @ResponseBody
- public String payOrderAlipayH5(Long id) {
- return orderPayService.payOrder(id);
- }
- @RequestMapping(value = "/alipay_wx")
- public String payOrderAlipayWx(Long id, Model model) {
- Order order = orderRepo.findById(id).orElseThrow(new BusinessException("订单不存在"));
- if (order.getStatus() != OrderStatus.NOT_PAID) {
- return "redirect:/9th/store";
- }
- String payUrl = orderPayService.payOrder(id);
- model.addAttribute("payUrl", payUrl);
- model.addAttribute("orderId", id);
- return "AlipayHtml";
- }
- @RequestMapping(value = "/balance")
- @ResponseBody
- public void payOrderBalance(@RequestParam Long id, @RequestParam String tradeCode) {
- orderPayService.payOrderBalance(id, SecurityUtils.getAuthenticatedUser().getId(), tradeCode);
- }
- @ApiOperation("衫德h5快捷")
- @RequestMapping(value = "/sandQuick", produces = "text/html")
- @ResponseBody
- public String sandQuick(@RequestParam Long id) {
- return sandPayService.payOrderQuick(id);
- }
- @ApiOperation("首信易协议支付")
- @RequestMapping(value = "/agreement", produces = "text/html")
- @ResponseBody
- public Map<String, Object> agreement(@RequestParam Long id, String bindCardId) {
- return orderPayService.payOrderAgreement(id, bindCardId);
- }
- @ApiOperation("首信易协议支付确认(通用)")
- @RequestMapping(value = "/confirmAgreement", produces = "text/html")
- @ResponseBody
- public void confirmAgreement(@RequestParam String requestId, @RequestParam String paymentOrderId,
- @RequestParam String code) {
- orderPayService.confirmOrderAgreement(requestId, paymentOrderId, code);
- }
- @RequestMapping(value = "/gift/alipay")
- @ResponseBody
- public String payGiftOrderAlipayH5(Long id) {
- return orderPayService.payGiftOrder(id);
- }
- @RequestMapping(value = "/gift/alipay_wx")
- public String payGiftOrderAlipayWx(Long id, Model model) {
- String payUrl = orderPayService.payGiftOrder(id);
- model.addAttribute("payUrl", payUrl);
- model.addAttribute("orderId", id);
- return "AlipayHtml";
- }
- @RequestMapping(value = "/gift/balance")
- public void payGiftOrderBalance(@RequestParam Long id, @RequestParam String tradeCode) {
- orderPayService.payGiftBalance(id, SecurityUtils.getAuthenticatedUser().getId(), tradeCode);
- }
- @RequestMapping(value = "/gift/sandQuick", produces = "text/html")
- @ResponseBody
- public String payGiftQuick(@RequestParam Long id) {
- return sandPayService.payGiftQuick(id);
- }
- @RequestMapping(value = "/gift/agreement", produces = "text/html")
- @ResponseBody
- public Map<String, Object> payGiftAgreement(@RequestParam Long id, String bindCardId) {
- return orderPayService.payGiftOrderAgreement(id, bindCardId);
- }
- @RequestMapping(value = "/mint/alipay")
- @ResponseBody
- public String payMintOrderAlipayH5(Long id) {
- return orderPayService.payMintOrder(id);
- }
- @RequestMapping(value = "/mint/alipay_wx")
- public String payMintOrderAlipayWx(Long id, Model model) {
- String payUrl = orderPayService.payMintOrder(id);
- model.addAttribute("payUrl", payUrl);
- model.addAttribute("orderId", id);
- return "AlipayHtml2";
- }
- @RequestMapping(value = "/mint/sandQuick", produces = "text/html")
- @ResponseBody
- public String payMintQuick(@RequestParam Long id) {
- return sandPayService.payMintQuick(id);
- }
- @RequestMapping(value = "/mint/balance")
- public void payMintOrderBalance(@RequestParam Long id, @RequestParam String tradeCode) {
- orderPayService.payMintOrderBalance(id, SecurityUtils.getAuthenticatedUser().getId(), tradeCode);
- }
- @RequestMapping("/recharge")
- @ResponseBody
- public String recharge(@RequestParam BigDecimal amount) {
- return orderPayService.recharge(SecurityUtils.getAuthenticatedUser().getId(), amount);
- }
- }
|