| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380 |
- package com.izouma.nineth.web;
- import com.google.zxing.WriterException;
- import com.izouma.nineth.config.GeneralProperties;
- 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.OrderPayService;
- import com.izouma.nineth.service.SandPayService;
- import com.izouma.nineth.utils.SecurityUtils;
- import io.swagger.annotations.ApiOperation;
- import lombok.AllArgsConstructor;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.stereotype.Controller;
- import org.springframework.ui.Model;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- import org.springframework.web.bind.annotation.RequestParam;
- import org.springframework.web.bind.annotation.ResponseBody;
- import java.awt.*;
- import java.io.IOException;
- import java.math.BigDecimal;
- import java.util.Map;
- @Controller
- @RequestMapping({"/payOrder/v2", "/pay/v2"})
- @Slf4j
- @AllArgsConstructor
- public class OrderPayControllerV2 {
- private final OrderRepo orderRepo;
- private final SandPayService sandPayService;
- private final OrderPayService orderPayService;
- private final GeneralProperties generalProperties;
- @RequestMapping(value = "/alipay")
- @ResponseBody
- public String payOrderAlipayH5(Long id) {
- return orderPayService.payOrder(id);
- }
- @RequestMapping(value = "/ali")
- @ResponseBody
- public String payOrderAli(Long id) {
- return orderPayService.payOrderAli(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:" + generalProperties.resolveFrontUrl(order.getCompanyId(), "/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 orderPayService.payOrderQuick(id);
- }
- @ApiOperation("衫德h5快捷+绑卡")
- @RequestMapping("/sandQuickBind")
- @ResponseBody
- public String sandQuickBind(@RequestParam Long id) {
- return orderPayService.payOrderQuickBind(id);
- }
- @ApiOperation("首信易协议支付")
- @RequestMapping(value = "/agreement")
- @ResponseBody
- public Map<String, Object> agreement(@RequestParam Long id, String bindCardId) {
- return orderPayService.payOrderAgreement(id, bindCardId);
- }
- @ApiOperation("首信易协议支付确认(通用)")
- @RequestMapping(value = "/confirmAgreement")
- @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/ali")
- @ResponseBody
- public String payGiftOrderAli(Long id) {
- return orderPayService.payGiftAli(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")
- @ResponseBody
- 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 orderPayService.payGiftQuick(id);
- }
- @RequestMapping("/gift/sandQuickBind")
- @ResponseBody
- public String payGiftQuickBind(@RequestParam Long id) {
- return orderPayService.payGiftQuickBind(id);
- }
- @RequestMapping(value = "/gift/agreement")
- @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/ali")
- @ResponseBody
- public String payMintAli(Long id) {
- return orderPayService.payMintAli(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 orderPayService.payMintQuick(id);
- }
- @RequestMapping("/mint/sandQuickBind")
- @ResponseBody
- public String payMintQuickBind(@RequestParam Long id) {
- return orderPayService.payMintQuickBind(id);
- }
- @RequestMapping(value = "/mint/balance")
- @ResponseBody
- public void payMintOrderBalance(@RequestParam Long id, @RequestParam String tradeCode) {
- orderPayService.payMintOrderBalance(id, SecurityUtils.getAuthenticatedUser().getId(), tradeCode);
- }
- @RequestMapping(value = "/mint/agreement")
- @ResponseBody
- public Map<String, Object> payMintAgreement(@RequestParam Long id, String bindCardId) {
- return orderPayService.payMintOrderAgreement(id, bindCardId);
- }
- @RequestMapping("/recharge")
- @ResponseBody
- public String recharge(@RequestParam BigDecimal amount) {
- return orderPayService.recharge(SecurityUtils.getAuthenticatedUser().getId(), amount);
- }
- @RequestMapping(value = "/recharge/ali")
- @ResponseBody
- public String rechargeAli(@RequestParam BigDecimal amount) {
- return orderPayService.payRechargeAli(SecurityUtils.getAuthenticatedUser().getId(), amount);
- }
- @RequestMapping(value = "/recharge/agreement")
- @ResponseBody
- public Map<String, Object> payRechargeAgreement(@RequestParam Long userId, @RequestParam BigDecimal amount,
- String bindCardId) {
- return orderPayService.rechargeAgreement(userId, amount, bindCardId);
- }
- @RequestMapping(value = "/recharge/sandQuick", produces = "text/html")
- @ResponseBody
- public String payRechargeQuick(@RequestParam Long userId, @RequestParam BigDecimal amount,
- @RequestParam(defaultValue = "1") Long companyId) {
- return orderPayService.rechargeQuick(userId, amount, companyId);
- }
- @RequestMapping("/recharge/sandQuickBind")
- @ResponseBody
- public String payRechargeQuickBind(@RequestParam Long userId, @RequestParam BigDecimal amount,
- @RequestParam(defaultValue = "1") Long companyId) {
- return orderPayService.rechargeQuickBind(userId, amount, companyId);
- }
- @RequestMapping(value = "/auction/alipay", method = RequestMethod.GET)
- @ResponseBody
- public String payAuctionOrderAlipayH5(Long id) {
- return orderPayService.payAuctionOrder(id);
- }
- @RequestMapping(value = "/auction/ali")
- @ResponseBody
- public String payAuctionOrderAli(Long id) {
- return orderPayService.payAuctionAli(id);
- }
- @RequestMapping(value = "/auction/alipay_wx", method = RequestMethod.GET)
- public String payAuctionOrderAlipayWx(Long id, Model model) {
- String payUrl = orderPayService.payAuctionOrder(id);
- model.addAttribute("payUrl", payUrl);
- model.addAttribute("orderId", id);
- return "AlipayHtml";
- }
- @RequestMapping(value = "/auction/sandQuick", method = RequestMethod.GET, produces = "text/html")
- @ResponseBody
- public String payAuctionQuick(@RequestParam Long id) {
- return orderPayService.payAuctionQuick(id);
- }
- @RequestMapping("/auction/sandQuickBind")
- @ResponseBody
- public String payAuctionQuickBind(@RequestParam Long id) {
- return orderPayService.payAuctionQuickBind(id);
- }
- @RequestMapping(value = "/auction/balance")
- @ResponseBody
- public void payAuctionOrderBalance(@RequestParam Long id, @RequestParam String tradeCode) {
- orderPayService.payAuctionOrderBalance(id, SecurityUtils.getAuthenticatedUser().getId(), tradeCode);
- }
- @RequestMapping(value = "/auction/agreement")
- @ResponseBody
- public Map<String, Object> payAuctionAgreement(@RequestParam Long id, String bindCardId) {
- return orderPayService.payAuctionOrderAgreement(id, bindCardId);
- }
- @RequestMapping(value = "/pic/ali")
- @ResponseBody
- public String payPicOrderAli(Long id) {
- return orderPayService.payPicAli(id);
- }
- @RequestMapping(value = "/pic/alipay_wx", method = RequestMethod.GET)
- public String payPicOrderAlipayWx(Long id, Model model) {
- String payUrl = orderPayService.payPicOrder(id);
- model.addAttribute("payUrl", payUrl);
- model.addAttribute("orderId", id);
- return "AlipayHtml";
- }
- @RequestMapping(value = "/pic/sandQuick", method = RequestMethod.GET, produces = "text/html")
- @ResponseBody
- public String payPicQuick(@RequestParam Long id) {
- return orderPayService.payPicQuick(id);
- }
- @RequestMapping("/pic/sandQuickBind")
- @ResponseBody
- public String payPicQuickBind(@RequestParam Long id) {
- return orderPayService.payPicQuickBind(id);
- }
- @RequestMapping(value = "/pic/balance")
- @ResponseBody
- public void payPicOrderBalance(@RequestParam Long id, @RequestParam String tradeCode) {
- orderPayService.payPicOrderBalance(id, SecurityUtils.getAuthenticatedUser().getId(), tradeCode);
- }
- @RequestMapping(value = "/pic/agreement")
- @ResponseBody
- public Map<String, Object> payPicAgreement(@RequestParam Long id, String bindCardId) {
- return orderPayService.payPicOrderAgreement(id, bindCardId);
- }
- @RequestMapping(value = "/domain/ali")
- @ResponseBody
- public String payDomainOrderAli(Long id) {
- return orderPayService.payDomainAli(id);
- }
- @RequestMapping(value = "/domain/alipay_wx", method = RequestMethod.GET)
- public String payDomainOrderAlipayWx(Long id, Model model) {
- String payUrl = orderPayService.payDomainOrder(id);
- model.addAttribute("payUrl", payUrl);
- model.addAttribute("orderId", id);
- return "AlipayHtml";
- }
- @RequestMapping(value = "/domain/sandQuick", method = RequestMethod.GET, produces = "text/html")
- @ResponseBody
- public String payDomainQuick(@RequestParam Long id) {
- return orderPayService.payDomainQuick(id);
- }
- @RequestMapping("/domain/sandQuickBind")
- @ResponseBody
- public String payDomainQuickBind(@RequestParam Long id) {
- return orderPayService.payDomainQuickBind(id);
- }
- @RequestMapping(value = "/domain/balance")
- @ResponseBody
- public void payDomainOrderBalance(@RequestParam Long id, @RequestParam String tradeCode) throws FontFormatException, IOException, WriterException {
- orderPayService.payDomainOrderBalance(id, SecurityUtils.getAuthenticatedUser().getId(), tradeCode);
- }
- @RequestMapping(value = "/domain/agreement")
- @ResponseBody
- public Map<String, Object> payDomainAgreement(@RequestParam Long id, String bindCardId) {
- return orderPayService.payDomainOrderAgreement(id, bindCardId);
- }
- @RequestMapping(value = "/tradeAuction/balance")
- @ResponseBody
- public void payTradeAuctionOrderBalance(@RequestParam Long id, @RequestParam String tradeCode) {
- orderPayService.payTradeAuctionOrderBalance(id, SecurityUtils.getAuthenticatedUser().getId(), tradeCode);
- }
- @RequestMapping(value = "/ask/balance")
- @ResponseBody
- public void payDomainAskBalance(@RequestParam Long id, @RequestParam String tradeCode) throws FontFormatException, IOException, WriterException {
- orderPayService.payDomainAskBalance(id, SecurityUtils.getAuthenticatedUser().getId(), tradeCode);
- }
- @RequestMapping(value = "/ask/ali")
- @ResponseBody
- public String payAskAli(Long id) {
- return orderPayService.payAskAli(id);
- }
- @RequestMapping(value = "/ask/alipay_wx", method = RequestMethod.GET)
- public String payAskAlipayWx(Long id, Model model) {
- String payUrl = orderPayService.payAskOrder(id);
- model.addAttribute("payUrl", payUrl);
- model.addAttribute("orderId", id);
- return "AlipayHtml";
- }
- @RequestMapping(value = "/ask/sandQuick", method = RequestMethod.GET, produces = "text/html")
- @ResponseBody
- public String payAskQuick(@RequestParam Long id) {
- return orderPayService.payAskQuick(id);
- }
- @RequestMapping("/ask/sandQuickBind")
- @ResponseBody
- public String payAskQuickBind(@RequestParam Long id) {
- return orderPayService.payAskQuickBind(id);
- }
- @RequestMapping(value = "/ask/agreement")
- @ResponseBody
- public Map<String, Object> payAskAgreement(@RequestParam Long id, String bindCardId) {
- return orderPayService.payAskOrderAgreement(id, bindCardId);
- }
- }
|