admin
2021-02-06 cad915058c3c53bf328a8ae9ca9bc7de099caba7
src/main/java/com/yeshi/buwan/controller/api/VIPController.java
@@ -21,6 +21,7 @@
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.yeshi.utils.annotation.RequestSerializableByKey;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@@ -116,6 +117,7 @@
        record.setUid(loginUid);
        record.setType(vipPrice.getType());
        record.setMoney(vipPrice.getPrice());
        record.setPayWay(payWay);
        record.setState(VIPOrderRecord.STATE_NOT_PAY);
        try {
            vipService.addVIPRecord(record);
@@ -129,12 +131,12 @@
            case VIPOrderRecord
                    .PAY_WAY_ALIPAY: {
                //生成支付宝支付订单
                String form = VipUtil.getVipChargeAlipayForm(orderNo, record.getMoney());
                String form = VipUtil.getVipChargeAlipayForm(record.getId(), orderNo, record.getMoney());
                //暂存2分钟
                String id = StringUtil.Md5(UUID.randomUUID().toString() + "#" + System.currentTimeMillis());
                redisManager.cacheCommonString(id, form, 120);
                org.json.JSONObject data = new org.json.JSONObject();
                data.put("payUrl", "http://api.ysdq.yeshitv.com:8089/BuWan/alipay/printPayForm?formId=" + id);
                data.put("payUrl", Constant.HOST + "/BuWan/alipay/printPayForm?formId=" + id);
                data.put("payWay", payWay);
                return JsonUtilV2.loadTrueJson(data.toString());
            }
@@ -144,7 +146,7 @@
                    .PAY_WAY_WX: {
                //生成微信支付订单
                try {
                    String payUrl = VipUtil.createWXOrder(ip, orderNo, vipPrice.getPrice(), "影视大全VIP-" + vipPrice.getType().getName());
                    String payUrl = VipUtil.createWXOrder(record.getId(), ip, orderNo, vipPrice.getPrice(), "影视大全VIP-" + vipPrice.getType().getName());
                    org.json.JSONObject data = new org.json.JSONObject();
                    data.put("payUrl", payUrl);
                    data.put("payWay", payWay);
@@ -159,5 +161,34 @@
        return JsonUtilV2.loadFalseJson("请选择支付方式");
    }
    /**
     * 检查是否支付
     *
     * @param acceptData
     * @param loginUid
     * @param id
     * @return
     */
    @RequestMapping("checkPay")
    @ResponseBody
    @RequestSerializableByKey(key = "'vip-checkPay-'+#id")
    public String checkPay(AcceptData acceptData, String loginUid, String id) {
        VIPOrderRecord record = vipService.getOrderRecord(id);
        if (record == null || !record.getUid().equalsIgnoreCase(loginUid)) {
            return JsonUtilV2.loadFalseJson("记录不存在/不是您的订单");
        }
        record = vipService.checkOrderPayState(id);
        //未支付
        if (record != null && record.getState() != VIPOrderRecord.STATE_PAY) {
            return JsonUtilV2.loadFalseJson(1, "支付未完成");
        }
        JSONObject data = new JSONObject();
        data.put("money", record.getPayMoney() == null ? record.getMoney() : record.getPayMoney());
        return JsonUtilV2.loadTrueJson(data.toString());
    }
}