Bladeren bron

修改微信我的订单

wangkaiyue 5 jaren geleden
bovenliggende
commit
6031fa7941

+ 8 - 5
src/jfw/front/ws_dataExport.go

@@ -14,7 +14,6 @@ import (
 	"qfw/util"
 	"qfw/util/jy"
 	"qfw/util/redis"
-	"strconv"
 	"strings"
 	"time"
 
@@ -90,10 +89,14 @@ func (w *WsDataExport) GetPreview() error {
 //
 func (w *WsDataExport) PaySuccessPage() error {
 	defer util.Catch()
-	w.T["email"] = w.GetString("email")
-	w.T["orderCode"] = w.GetString("orderCode")
-	payTime, _ := strconv.ParseInt(w.GetString("payTime"), 10, 64)
-	w.T["payTime"] = util.FormatDateByInt64(&payTime, util.Date_Short_Layout)
+	orderCode := w.GetString("orderCode")
+	userId := util.ObjToString(w.GetSession("userId"))
+	res := public.Mysql.FindOne("dataexport_order", map[string]interface{}{"user_id": userId, "order_code": orderCode, "order_status": 1}, "user_mail,pay_time", "")
+	if res == nil || len(*res) == 0 {
+		return errors.New("未支付完成")
+	}
+	w.T["email"] = (*res)["user_mail"]
+	w.T["payTime"] = (*res)["pay_time"]
 	return w.Render("/weixin/dataExport/dataExport_paySuccess.html", &w.T)
 }
 

File diff suppressed because it is too large
+ 177 - 0
src/jfw/modules/app/src/web/staticres/jyapp/wx_course/css/order_list.css


+ 4 - 4
src/jfw/modules/app/src/web/templates/dataExport/dataExport_toMyOrder.html

@@ -1887,7 +1887,7 @@
 										orderStatusHtmls = "notpay";
 										lastHtml = `<div class="card-footer">
 														<a  class="btn cancle gopay_btn" onclick="cancelOrder(${id},this)">取消订单</a>
-														<a onclick="setSessionStorage()" href="/jyapp/course/optionPay?code=${orderCode}" class="btn pay green-btn">去支付</a>
+														<a onclick="setSessionStorage()" href="/jyapp/course/optionPay?code=${orderCode}" class="btn green-btn">去支付</a>
 													</div>`;
 									}else if(orderStatus === 1){
 										if(courseStatus === 5){
@@ -1948,7 +1948,7 @@
 											orderStatusHtmls = "refund";
 											lastHtml = `<div class="card-footer">
 															<a  class="btn cancle gray-btn" onclick="cancelOrder(${id},this)">取消订单</a>
-															<a onclick="setSessionStorage()" href="/jyapp/course/optionPay?code=${orderCode}" class="btn pay green-btn">再次支付</a>
+															<a onclick="setSessionStorage()" href="/jyapp/course/optionPay?code=${orderCode}" class="btn green-btn">再次支付</a>
 														</div>`;
 											helpHtml = `<span class="doubt iconfont icon-bangzhu" onclick="phoneShow()"></span>`
 										}else{
@@ -1956,7 +1956,7 @@
                                             orderStatusHtmls = "notpay";
                                             lastHtml = `<div class="card-footer">
                                             				<a class="btn cancle gray-btn" onclick="cancelOrder(${id},this)">取消订单</a>
-                                            				<a onclick="setSessionStorage()" href="/jyapp/course/optionPay?code=${orderCode}" class="btn pay green-btn">去支付</a>
+                                            				<a onclick="setSessionStorage()" href="/jyapp/course/optionPay?code=${orderCode}" class="btn green-btn">去支付</a>
                                             			</div>`;
                                         }
 									}else if(orderStatus === 1){
@@ -2064,7 +2064,7 @@
 									orderStatusHtmls = "notpay";
 									lastHtml = `<div class="card-footer">
 													<a  class="btn cancle" onclick="cancelOrder(${id},this)">取消订单</a>
-													<a onclick="setSessionStorage()" href="/jyxsapp/confirmPay?code=${orderCode}&price=${orderMoney}" class="btn pay">去支付</a>
+													<a onclick="setSessionStorage()" href="/jyxsapp/confirmPay?code=${orderCode}&price=${orderMoney}" class="btn green-btn">去支付</a>
 												</div>`;
 								}else if(orderStatus === 1){
 									orderStatusHtml = "已完成";

+ 68 - 2
src/jfw/modules/subscribepay/src/service/commonAction.go

@@ -4,6 +4,7 @@ import (
 	"config"
 	"encoding/json"
 	"entity"
+	"errors"
 	"log"
 	"net/rpc"
 	"pay"
@@ -26,8 +27,9 @@ type CommonAction struct {
 	deleteOrder   xweb.Mapper `xweb:"/deleteOrder"`           //删除订单
 	vipPaySuccess xweb.Mapper `xweb:"/vipPaySuccess"`         //数据导出是否支付成功
 
-	applyInvoice xweb.Mapper `xweb:"/applyInvoice"`    //申请发票
-	getwxSdkSign xweb.Mapper `xweb:"/wx/getwxSdkSign"` //微信js参数
+	applyInvoice    xweb.Mapper `xweb:"/applyInvoice"`       //申请发票
+	getwxSdkSign    xweb.Mapper `xweb:"/wx/getwxSdkSign"`    //微信js参数
+	getWxjsPayParam xweb.Mapper `xweb:"/wx/getWxjsPayParam"` //获取微信支付参数
 }
 
 //----------------------------申请发票------------------------------------
@@ -250,3 +252,67 @@ func SignJSSDK(url string) []string {
 	}
 	return signature
 }
+
+func (this *CommonAction) GetWxjsPayParam() {
+	orderCode := this.GetString("orderCode")
+	userId := qutil.ObjToString(this.GetSession("userId"))
+	r := func() *entity.FuncResult {
+		//根据订单号获取订单数据
+		query := map[string]interface{}{
+			"user_id":      userId,
+			"order_code":   orderCode,
+			"order_status": 0,
+		}
+		oData := util.Mysql.FindOne("dataexport_order", query, "id,code_url,prepay_time,pay_way,order_money,vip_type", "")
+		if oData == nil || len(*oData) == 0 {
+			return &entity.FuncResult{false, errors.New("未知订单"), nil}
+		}
+		//判断订单是否超过两小时
+		prepayTime, _ := time.ParseInLocation(qutil.Date_Full_Layout, qutil.ObjToString((*oData)["prepay_time"]), time.Local)
+		jsPayParam := qutil.ObjToString((*oData)["code_url"])
+		payway := qutil.ObjToString((*oData)["pay_way"])
+		if time.Now().Before(prepayTime.Add(time.Hour*2)) && jsPayParam != "" && payway == "wx_js" {
+			//未过期
+			return &entity.FuncResult{true, nil, map[string]interface{}{"res": jsPayParam}}
+		}
+		//重新生成订单
+		totalfee := qutil.IntAll((*oData)["order_money"])
+		tradeno, prepayid := "", ""
+
+		var ret *map[string]string
+		tradeno, ret = pay.WxStruct.CreatePrepayOrder("e", this.IP(), qutil.ObjToString(this.GetSession("s_m_openid")), "", totalfee)
+		if ret == nil || (*ret)["status"] != "1" {
+			errMsg := "创建微信订单出错"
+			if (*ret)["errcodedes"] != "" {
+				errMsg = (*ret)["errcodedes"]
+			} else if (*ret)["errcode"] != "" {
+				errMsg = (*ret)["errcode"]
+			}
+			return &entity.FuncResult{false, errors.New(errMsg), nil}
+		}
+		prepayid = qutil.ObjToString((*ret)["prepayid"])
+		jsPayParam = pay.GetWxJsPayStr(prepayid)
+
+		//更新订单表
+		now := time.Now()
+		ok := util.Mysql.Update("dataexport_order", query, map[string]interface{}{
+			"code_url":     jsPayParam,
+			"prepay_time":  qutil.FormatDate(&now, qutil.Date_Full_Layout),
+			"out_trade_no": tradeno,
+			"prepay_id":    prepayid,
+			"pay_way":      payway,
+		})
+		if !ok {
+			return &entity.FuncResult{false, errors.New("数据库操作异常"), nil}
+		}
+		vip_type := qutil.IntAll((*oData)["vip_type"])
+		if vip_type == 0 {
+			vip_type = -1
+		}
+		return &entity.FuncResult{true, nil, map[string]interface{}{"orderCode": orderCode, "res": jsPayParam}}
+	}()
+	if r.Err != nil {
+		log.Printf("%s CreateOrder err:%v\n", userId, r.Err.Error())
+	}
+	this.ServeJson(r.Format())
+}

+ 1 - 4
src/web/templates/common/pchead.html

@@ -42,11 +42,8 @@
             <div class="item item_line">
               <a class="link" href="/jyxspc/">线上课程</a>
             </div>
-            <div class="item item_line">
-              <a class="link" href="/front/course/list">线下课程</a>
-            </div>
             <div class="item">
-              <a class="link" href="/jyxspc/my-courser">我的课程</a>
+              <a class="link" href="/front/course/list">线下课程</a>
             </div>
 					</div>
 				</li>

+ 0 - 4
src/web/templates/weixin/dataExport/dataExport_paySuccess.html

@@ -32,11 +32,7 @@
 				$(".payTime").text(payTime);
 			})
 			function detail(){
-				//if (window.location.href.indexOf("detail")>0){
-				//	window.history.back(-1);
-				//}else{
 					window.location.href="/weixin/pay/wxToOrderDetail?orderCode={{.T.orderCode}}"
-				//}
 			}
 		</script>
 	</head>

File diff suppressed because it is too large
+ 110 - 195
src/web/templates/weixin/dataExport/dataExport_toMyOrder.html


Some files were not shown because too many files changed in this diff