| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- package com.izouma.nineth.web;
- import com.alibaba.fastjson.JSON;
- import com.izouma.nineth.service.HMPayService;
- import com.izouma.nineth.service.SandPayService;
- import com.izouma.nineth.utils.SnowflakeIdWorker;
- import lombok.AllArgsConstructor;
- import lombok.NoArgsConstructor;
- import org.springframework.security.access.prepost.PreAuthorize;
- import org.springframework.web.bind.annotation.GetMapping;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestParam;
- import org.springframework.web.bind.annotation.RestController;
- import java.math.BigDecimal;
- @RestController
- @RequestMapping("/payChannelMgmt")
- @AllArgsConstructor
- public class PayChannelMgmtController {
- private final SandPayService sandPayService;
- private final HMPayService hmPayService;
- private final SnowflakeIdWorker snowflakeIdWorker;
- @GetMapping(value = "/pay")
- @PreAuthorize("hasRole('ADMIN')")
- private String pay(@RequestParam String channel) {
- switch (channel) {
- case "sandPay":
- return sandPayService.requestAlipay(snowflakeIdWorker.nextId() + "",
- new BigDecimal("0.01"), "话费充值", "话费充值",
- SandPayService.getTimeout(180), "{\"type\":\"test\",\"id\":1}");
- case "hmPay":
- return hmPayService.requestAlipay(snowflakeIdWorker.nextId() + "",
- new BigDecimal("0.01"), "话费充值",
- HMPayService.getTimeout(180), "test", "https://www.baidu.com");
- }
- return null;
- }
- @GetMapping(value = "/transfer")
- @PreAuthorize("hasRole('ADMIN')")
- private String testTransfer(@RequestParam String name, @RequestParam String bank, @RequestParam BigDecimal amount) {
- return JSON.toJSONString(sandPayService.transfer(snowflakeIdWorker.nextId() + "", name, bank, amount), true);
- }
- @GetMapping(value = "/refund")
- @PreAuthorize("hasRole('ADMIN')")
- public String refund(@RequestParam String channel, @RequestParam String orderId, @RequestParam BigDecimal amount) {
- switch (channel) {
- case "sandPay":
- return JSON.toJSONString(sandPayService.refund(orderId, amount), true);
- case "hmPay":
- return JSON.toJSONString(hmPayService.refund(orderId, amount), true);
- }
- return null;
- }
- @GetMapping(value = "/query")
- @PreAuthorize("hasRole('ADMIN')")
- public String refund(@RequestParam String channel, @RequestParam String id) {
- switch (channel) {
- case "sandPay":
- return JSON.toJSONString(sandPayService.query(id), true);
- case "hmPay":
- return JSON.toJSONString(hmPayService.query(id), true);
- }
- return null;
- }
- @GetMapping("/queryTransfer")
- @PreAuthorize("hasRole('ADMIN')")
- public String queryTransfer(@RequestParam String tranTime, @RequestParam String orderId) {
- return JSON.toJSONString(sandPayService.queryTransfer(tranTime, orderId), true);
- }
- }
|