123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 |
- package com.caimei.controller.pay;
- import com.alibaba.fastjson.JSONObject;
- import com.caimei.model.ResponseJson;
- import com.caimei.model.dto.PayVipDto;
- import com.caimei.utils.RequestUtil;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiImplicitParam;
- import io.swagger.annotations.ApiImplicitParams;
- import io.swagger.annotations.ApiOperation;
- import lombok.RequiredArgsConstructor;
- import org.springframework.beans.factory.annotation.Value;
- import org.springframework.web.bind.annotation.*;
- import java.util.HashMap;
- import java.util.Map;
- /**
- * 二手发布支付,升级超级会员支付
- *
- * @author : Charles
- * @date : 2021/9/27
- */
- @Api(tags="支付API")
- @RestController
- @RequiredArgsConstructor
- @RequestMapping("/pay")
- public class PayApi {
- @Value("${caimei.core}")
- private String core;
- /**
- * 获取线上支付全局开关状态
- */
- @ApiOperation("获取线上支付全局开关状态")
- @GetMapping("/online/switch")
- public ResponseJson<String> getPayOnLineSwitch() throws Exception {
- String url = core + "/order/pay/online/switch";
- String result = RequestUtil.sendGet(url);
- return getResponseJson(result);
- }
- @ApiOperation("银行通道码获取")
- @GetMapping("/bankcode")
- public ResponseJson<String> bankcode() throws Exception {
- String url = core + "/order/pay/bankcode";
- String result = RequestUtil.sendGet(url);
- return getResponseJson(result);
- }
- /**
- * 开通认证通会员-微信线上支付
- * @param param {
- * vipRecordId 会员购买记录Id
- * returnUrl 页面回调地址
- * code 微信小程序code
- * state 微信公众号state参数
- * }
- */
- @ApiOperation("开通认证通会员-微信线上支付")
- @PostMapping("/auth/vip/wechat")
- public ResponseJson<String> payAuthVipByWeChat(@RequestBody Map<String,Object> param) throws Exception {
- String url = core + "/order/pay/auth/vip/wechat";
- String result = RequestUtil.sendPost(url, param);
- return getResponseJson(result);
- }
- /**
- * 开通认证通会员-支付宝线上支付
- * @param param {
- * vipRecordId 会员购买记录Id
- * returnUrl 页面回调地址
- * }
- */
- @ApiOperation("开通认证通会员-支付宝线上支付")
- @PostMapping("/auth/vip/alipay")
- public ResponseJson<String> payAuthVipByAlipay(@RequestBody Map<String,Object> param) throws Exception {
- String url = core + "/order/pay/auth/vip/scan";
- String result = RequestUtil.sendPost(url, param);
- return getResponseJson(result);
- }
- /**
- * 开通认证通会员-银联线上支付
- * @param param {
- * vipRecordId 会员购买记录Id
- * returnUrl 页面回调地址
- * bankCode 银行编码(银联支付使用)
- * userType 用户类型(银联支付使用)企业:ENTERPRISE,个人:USER
- * }
- */
- @ApiOperation("开通认证通会员-银联线上支付")
- @PostMapping("/auth/vip/union")
- public ResponseJson<String> payAuthVipByUnionPay(@RequestBody Map<String,Object> param) throws Exception {
- String url = core + "/order/pay/auth/vip/union";
- String result = RequestUtil.sendPost(url, param);
- return getResponseJson(result);
- }
- /**
- * 开通认证通会员-支付回调
- */
- @ApiOperation("开通认证通会员-支付回调")
- @ApiImplicitParam(required = false, name = "data", value = "回调数据")
- @GetMapping("/auth/vip/callback")
- public String paymentAuthVipCallback(String data) throws Exception {
- String url = core + "/order/pay/auth/vip/callback?data=" + data;
- return RequestUtil.sendGet(url);
- }
- @ApiOperation("购买认证通会员-查询是否购买成功")
- @ApiImplicitParam(required = false, name = "vipRecordId", value = "会员购买记录id")
- @GetMapping("/auth/vip/check")
- public ResponseJson<String> authVipCheck(Integer vipRecordId) throws Exception {
- String url = core + "/order/pay/auth/vip/check?vipRecordId=" + vipRecordId;
- String result = RequestUtil.sendGet(url);
- return getResponseJson(result);
- }
- @ApiOperation("查询本次支付订单结果")
- @ApiImplicitParams({
- @ApiImplicitParam(required = false, name = "mbOrderId", value = "平台唯一流水号"),
- @ApiImplicitParam(required = false, name = "orderFlag", value = "订单标识:0非订单,1订单")
- })
- @GetMapping("/result/json")
- public ResponseJson<String> getPayOrderResult(String mbOrderId,Integer orderFlag) throws Exception {
- String url = core + "/order/pay/result/json?mbOrderId=" + mbOrderId + "&orderFlag=" + orderFlag;
- String result = RequestUtil.sendGet(url);
- return getResponseJson(result);
- }
- @ApiOperation("生成网银支付链接")
- @ApiImplicitParam(required = false, name = "param", value = "参数")
- @PostMapping("/link")
- public ResponseJson<String> getPayLink(@RequestBody Map<String,Object> param) throws Exception {
- String url = core + "/order/pay/link";
- String result = RequestUtil.sendPost(url, param);
- return getResponseJson(result);
- }
- @ApiOperation("重定向页面的支付数据")
- @ApiImplicitParam(required = false, name = "linkLogo", value = "参数")
- @GetMapping("/link/data")
- public ResponseJson<String> getPayLinkData(String linkLogo) throws Exception {
- String url = core + "/order/pay/link/data?linkLogo=" + linkLogo;
- String result = RequestUtil.sendGet(url);
- return getResponseJson(result);
- }
- private ResponseJson<String> getResponseJson(String parameters) {
- JSONObject object = JSONObject.parseObject(parameters);
- Integer code = object.getInteger("code");
- String msg = object.getString("msg");
- String data = object.getString("data");
- return ResponseJson.success(code, msg, data);
- }
- }
|