Browse Source

我的订单支付处理

wangshan 6 years ago
parent
commit
f57e214846

+ 0 - 1
src/jfw/front/ws_dataExport.go

@@ -80,7 +80,6 @@ func (w *WsDataExport) GetPayParm() error {
 	}
 	prepayTime, err := time.ParseInLocation(util.Date_Full_Layout, util.ObjToString((*Order)["prepay_time"]), time.Local)
 	surplus_second := prepayTime.Unix() + 7200 - time.Now().Unix()
-	log.Println(surplus_second, err)
 	if err == nil && surplus_second <= 0 {
 		log.Println("订单过期,重新生成预订单!", userid)
 		tradeno, ret := public.WxStruct.CreatePrepayOrder(config.Sysconfig["weixinrpc"].(string), "c", w.IP(), openid, "", orderMoney)

+ 54 - 0
src/jfw/front/wxMyOrder.go

@@ -24,6 +24,7 @@ type WxMyOrder struct {
 	wxApplyInvoice xweb.Mapper `xweb:"/front/wxMyOrder/wxApplyInvoice"`        //申请发票
 	wxPaySuccess   xweb.Mapper `xweb:"/front/wxMyorder/wxPaySuccess/(\\w+)"`
 	wxDeleteOrder  xweb.Mapper `xweb:"/front/wxMyorder/wxDeleteOrder"` //删除订单
+	getOneMore     xweb.Mapper `xweb:"/front/wxMyorder/getOneMore"`    //获取额外一条数据
 	//需要调用微信支付接口的页面
 	toMyWxOrder     xweb.Mapper `xweb:"/weixin/pay/toMyWxOrder"`     //微信我的订单
 	wxToOrderDetail xweb.Mapper `xweb:"/weixin/pay/wxToOrderDetail"` //订单详情
@@ -39,6 +40,59 @@ var (
 	res          []map[string]interface{}
 )
 
+//
+func (w *WxMyOrder) GetOneMore() error {
+	defer util.Catch()
+	pageNum, _ := w.GetInteger("pageNum")
+	tabType := w.GetString("tabType")
+	userId := w.Session().Get("userId")
+	openid := w.Session().Get("s_m_openid")
+	queryM := map[string]interface{}{}
+	log.Println("user:", userId)
+	if userId == nil || openid == nil {
+		return errors.New("未登录")
+	} else {
+		queryM["user_id"] = userId
+	}
+	var status string
+	if tabType == "1" {
+		status = orderStatus_unPaid
+	} else if tabType == "2" {
+		status = orderStatus_paid
+	}
+	queryM["order_status"] = status
+	start := (pageNum - 1) * pagesize_max
+	resData := *public.Mysql.Find(tableName_order, queryM, "id,order_code,filter_publishtime,create_time,data_spec,filter_id,filter_keys,order_money,data_count,order_status", "create_time desc", start, 1)
+	if resData != nil {
+		for _, v := range resData {
+			filter_publishtime := v["filter_publishtime"]
+			if filter_publishtime != nil || filter_publishtime != "" {
+				timeArr := strings.Split(filter_publishtime.(string), "_")
+				if len(timeArr) == 2 {
+					start, err := strconv.ParseInt(timeArr[0], 10, 64)
+					end, erro := strconv.ParseInt(timeArr[1], 10, 64)
+					if err == nil && erro == nil {
+						v["filter_publishtime"] = util.FormatDateByInt64(&start, layout_date) + "-" + util.FormatDateByInt64(&end, layout_date)
+					}
+				}
+			}
+			v["filter_id"] = util.SE.Encode2Hex(v["filter_id"].(string))
+			orderMoney := v["order_money"]
+			if orderMoney != nil {
+				v["order_money"] = float64(orderMoney.(int64)) / 100
+			}
+			if v["id"] != nil && orderMoney != nil && v["order_code"] != nil {
+				v["token"] = public.GetWaitPayToken(v["id"].(int64), int(orderMoney.(int64)), v["order_code"].(string), queryM["user_id"].(string))
+			}
+		}
+	}
+	w.ServeJson(map[string]interface{}{
+		"res": resData,
+	})
+	return nil
+}
+
+//
 func (w *WxMyOrder) MyMenu() error {
 	if w.Session().Get("userId") == nil {
 		return errors.New("未登录")

+ 1 - 0
src/web/staticres/wx_dataExport/css/order_detail.css

@@ -75,6 +75,7 @@
   border-radius: 0.06rem;
   font-size: .28rem;
   color: #2cb7ca;
+	padding-top:0.03rem;
 }
 #order_detail .main .lists .card .unit p {
   display: -webkit-box;

+ 121 - 93
src/web/templates/weixin/dataExport/dataExport_toMyOrder.html

@@ -126,7 +126,7 @@
 				        if(r.err_msg == "get_brand_wcpay_request:ok"){
 							if(typ==1){
 								$(e).parent(".card-footer").parent(".card").remove();
-								wxflag.resetload();
+								getOneMore();
 							}else{
 								$(e).parent(".card-footer").html('<a href="#" class="btn cancle">再次购买</a>');
 							}
@@ -177,6 +177,30 @@
 					$("#easyAlert").remove();
 				}
 			}
+			//
+			function  getOneMore(){
+				$.post("/front/wxMyorder/getOneMore",{"pageNum":pageIndex,"tabType":typ},function(data){
+					console.log(data)
+					if(data.res!=""){
+						var res = data.res[0]
+						var oneMHtml = '<div class="card"><div class="card-header">'
+										+'<span class="time" style="color:#888888">'+res.create_time+'</span>'
+										+'<span class="status notpay">待支付</span></div>'
+										+'<div class="card-content"><a eid="'+res.order_code+'" class="media">'
+										+'<div class="media-img"><img src="/dataExport/image/historical_data.png"></div>'
+										+'<div class="media-info">'
+										+'<p class="item-ifo ellipsis">关键词:<span>'+res.filter_keys+'&nbsp;</span>'
+										+'</p><p class="item-ifo ellipsis">数据量:'+res.data_count+'条</p>'
+										+'<p class="item-ifo ellipsis">数据规格:'+res.data_spec+'</p>'
+										+'<p class="item-ifo ellipsis">筛选日期:'+res.filter_publishtime+'</p></div></a>'
+										+'<div class="price"><strong class="current">¥'+res.order_money+'</strong>'
+										+'</div></div><div class="card-footer">'
+										+'<a class="btn cancle" onclick="deleteOrder('+res.id+',this)">取消购买</a>'
+										+'<a href="javascript:void(0)" onclick="goPay(this)" class="btn pay" filterid="'+res.filter_id+'" token="'+res.token+'">去支付</a></div></div>'
+						$(".card_lists").append(oneMHtml);
+					}
+				});
+			}
 		</script>
 	</head>
 	<body>
@@ -623,104 +647,108 @@
 				function structureHtml(object){
 						var listhtml='';
 						for(var index in object){
-					    var obj=object[index];
-				    	count++;
-						var id = obj.id;
-						//订单编号
-                        var orderCode = obj.order_code;
-                        //创建时间
-                        var createTime=obj.create_time;
-                        createTime =createTime.replace(/-/g,".")
-                        //选择时间
-                        var publishTime = obj.filter_publishtime;
-                        if(!publishTime){
-                            publishTime = "全部";
-                        }
-                        //1标准字段包 2高级字段包
-                        var spec = obj.data_spec;
-                        if(spec==1){
-                        	spec ="标准字段包";
-                        }else if(spec ==2){
-                        	spec="高级字段包";
-                        }
-                        //订单总数
-                        var data_count=obj.data_count;
-                        //订单金额
-                        var orderMoney = obj.order_money;
-                        //
-                        var token = obj.token;
-                        //订单状态 0待支付 1已完成 -1删除
-                        //+'<span class="status notpay">'+orderStatus+'</span>'
-                        var orderStatus = obj.order_status;
-                        if(orderStatus==0){
-                        	orderStatus="待支付"
-                        	orderHtml=""
-                        	orderHtml+='<span class="status notpay">'+orderStatus+'</span>'
-                        	iconHtml=""
-                        	iconHtml+='<div class="card-footer">'
-										+'<a  class="btn cancle" onclick="deleteOrder('+id+',this)">取消购买</a>'
-										//+'<a  class="btn cancle" onclick="test()">取消购买</a>'
-										+'<a href="javascript:void(0)" onclick="goPay(this)" class="btn pay" filterid="'+obj.filter_id+'" token="'+token+'">去支付</a>'
-									+'</div>'
-                        }else if(orderStatus==1){
-                        	orderStatus="已完成";
-                        	orderHtml=""
-                        	orderHtml+='<span class="status">'+orderStatus+'</span>'
-                        	iconHtml=""
-                        	iconHtml+='<div class="card-footer">'
-										+'<a href="#" class="btn cancle">再次购买</a>'
-										//+'<a href="/front/wxMyOrder/wxToOrderDetail/'+orderCode+'" class="btn cancle">查看详情</a>'
-									+'</div>'
-                        }
-                        //关键词
-						if(obj.filter_keys && obj.filter_keys.split(",").length>0){
-							var keysHtml="";
-	                        var keysArr = obj.filter_keys.split(",");
-	                        var keysLen = keysArr.length;for(var j=0;j<keysLen;j++){
-	                            keysHtml += "<span>" + keysArr[j] + "&nbsp</span>";
+						    var obj=object[index];
+					    	count++;
+							var id = obj.id;
+							//订单编号
+	                        var orderCode = obj.order_code;
+	                        //创建时间
+	                        var createTime=obj.create_time;
+	                        createTime =createTime.replace(/-/g,".")
+	                        //选择时间
+	                        var publishTime = obj.filter_publishtime;
+	                        if(!publishTime){
+	                            publishTime = "全部";
 	                        }
-	                        if(keysArr.length>2){
-	                            keysHtml += "<span>...</span>";
+	                        //1标准字段包 2高级字段包
+	                        var spec = obj.data_spec;
+	                        if(spec==1){
+	                        	spec ="标准字段包";
+	                        }else if(spec ==2){
+	                        	spec="高级字段包";
 	                        }
-	                 	}else{
-	                 		keysHtml=""
-	                 	}
-						
-						listhtml+='<div class="card">'
-										+'<div class="card-header">'
-											+'<span class="time" style="color:#888888">'+createTime+'</span>'
-										//	+'<span class="status notpay" style="color:#888888">'+orderStatus+'</span>'
-											+orderHtml
+	                        //订单总数
+	                        var data_count=obj.data_count;
+	                        //订单金额
+	                        var orderMoney = obj.order_money;
+	                        //
+	                        var token = obj.token;
+	                        //订单状态 0待支付 1已完成 -1删除
+	                        //+'<span class="status notpay">'+orderStatus+'</span>'
+	                        var orderStatus =  obj.order_status;
+							if(sessionStorage&&sessionStorage.getItem("paySuccess_"+obj.order_code)!=null){
+								orderStatus = sessionStorage.getItem("paySuccess_"+obj.order_code);
+								sessionStorage.removeItem("paySuccess_"+obj.order_code);
+							}
+	                        if(orderStatus==0){
+	                        	orderStatus="待支付"
+	                        	orderHtml=""
+	                        	orderHtml+='<span class="status notpay">'+orderStatus+'</span>'
+	                        	iconHtml=""
+	                        	iconHtml+='<div class="card-footer">'
+											+'<a  class="btn cancle" onclick="deleteOrder('+id+',this)">取消购买</a>'
+											//+'<a  class="btn cancle" onclick="test()">取消购买</a>'
+											+'<a href="javascript:void(0)" onclick="goPay(this)" class="btn pay" filterid="'+obj.filter_id+'" token="'+token+'">去支付</a>'
 										+'</div>'
-										+'<div class="card-content">'
-											//+'<a href="javascript:;" class="media">'
-											//+'<a href="/front/wxMyOrder/wxToOrderDetail/'+orderCode+'" eid='+orderCode+' class="media">'
-											+'<a  eid='+orderCode+' class="media">'
-												+'<div class="media-img">'
-													+'<img src="/dataExport/image/historical_data.png">'
-												+'</div>'
-												+'<div class="media-info">'
-													+'<p class="item-ifo ellipsis">关键词:'+ keysHtml+'</p>'
-													+'<p class="item-ifo ellipsis">数据量:'+ data_count +'条</p>'
-													+'<p class="item-ifo ellipsis">数据规格:'+spec+'</p>'
-													+'<p class="item-ifo ellipsis">筛选日期:'+publishTime+'</p>'
+	                        }else if(orderStatus==1){
+	                        	orderStatus="已完成";
+	                        	orderHtml=""
+	                        	orderHtml+='<span class="status">'+orderStatus+'</span>'
+	                        	iconHtml=""
+	                        	iconHtml+='<div class="card-footer">'
+											+'<a href="#" class="btn cancle">再次购买</a>'
+											//+'<a href="/front/wxMyOrder/wxToOrderDetail/'+orderCode+'" class="btn cancle">查看详情</a>'
+										+'</div>'
+	                        }
+	                        //关键词
+							if(obj.filter_keys && obj.filter_keys.split(",").length>0){
+								var keysHtml="";
+		                        var keysArr = obj.filter_keys.split(",");
+		                        var keysLen = keysArr.length;for(var j=0;j<keysLen;j++){
+		                            keysHtml += "<span>" + keysArr[j] + "&nbsp</span>";
+		                        }
+		                        if(keysArr.length>2){
+		                            keysHtml += "<span>...</span>";
+		                        }
+		                 	}else{
+		                 		keysHtml=""
+		                 	}
+							
+							listhtml+='<div class="card">'
+											+'<div class="card-header">'
+												+'<span class="time" style="color:#888888">'+createTime+'</span>'
+											//	+'<span class="status notpay" style="color:#888888">'+orderStatus+'</span>'
+												+orderHtml
+											+'</div>'
+											+'<div class="card-content">'
+												//+'<a href="javascript:;" class="media">'
+												//+'<a href="/front/wxMyOrder/wxToOrderDetail/'+orderCode+'" eid='+orderCode+' class="media">'
+												+'<a  eid='+orderCode+' class="media">'
+													+'<div class="media-img">'
+														+'<img src="/dataExport/image/historical_data.png">'
+													+'</div>'
+													+'<div class="media-info">'
+														+'<p class="item-ifo ellipsis">关键词:'+ keysHtml+'</p>'
+														+'<p class="item-ifo ellipsis">数据量:'+ data_count +'条</p>'
+														+'<p class="item-ifo ellipsis">数据规格:'+spec+'</p>'
+														+'<p class="item-ifo ellipsis">筛选日期:'+publishTime+'</p>'
+													+'</div>'
+												+'</a>'
+												+'<div class="price">'
+													//+'<span class="initial">原价:¥'+orderMoney+'</span>'
+													+'<strong class="current">¥'+orderMoney+'</strong>'
 												+'</div>'
-											+'</a>'
-											+'<div class="price">'
-												//+'<span class="initial">原价:¥'+orderMoney+'</span>'
-												+'<strong class="current">¥'+orderMoney+'</strong>'
 											+'</div>'
+											/*
+											+'<div class="card-footer">'
+												+'<a href="#" class="btn cancle">取消购买</a>'
+												+'<a href="pay_order.html" class="btn pay">去支付</a>'
+											+'</div>'
+											*/
+											+iconHtml
 										+'</div>'
-										/*
-										+'<div class="card-footer">'
-											+'<a href="#" class="btn cancle">取消购买</a>'
-											+'<a href="pay_order.html" class="btn pay">去支付</a>'
-										+'</div>'
-										*/
-										+iconHtml
-									+'</div>'
-						
-					}
+							
+						}
 					//appendList($("<div>"+listhtml+"</div>"));
 					appendList($(listhtml));
 				}

+ 9 - 8
src/web/templates/weixin/dataExport/dataExport_toOrderDetail.html

@@ -6,13 +6,13 @@
 		<meta name="viewport" content="initial-scale=1, maximum-scale=1">
 		<meta name="apple-mobile-web-app-capable" content="yes">
 		<meta name="apple-mobile-web-app-status-bar-style" content="black">
-		<script src="/wx_dataExport/js/rem.js"></script>
-		<script src="/js/jquery-3.2.1.min.js"></script>
-		<script src="/wxswordfish/share.js"></script>
+		<script src="{{Msg "seo" "cdn"}}/wx_dataExport/js/rem.js"></script>
+		<script src="{{Msg "seo" "cdn"}}/js/jquery-3.2.1.min.js"></script>
+		<script src="{{Msg "seo" "cdn"}}/wxswordfish/share.js?v={{Msg "seo" "version"}}"></script>
 		{{include "/common/weixin.html"}}
-		<link rel="stylesheet" type="text/css" href="/wx_dataExport/css/base.css" />
-		<link rel="stylesheet" type="text/css" href="/wx_dataExport/iconfont/iconfont.css" />
-		<link rel="stylesheet" href="/wx_dataExport/css/order_detail.css">
+		<link rel="stylesheet" type="text/css" href="{{Msg "seo" "cdn"}}/wx_dataExport/css/base.css?v={{Msg "seo" "version"}}" />
+		<link rel="stylesheet" type="text/css" href="{{Msg "seo" "cdn"}}/wx_dataExport/iconfont/iconfont.css" />
+		<link rel="stylesheet" href="{{Msg "seo" "cdn"}}/wx_dataExport/css/order_detail.css?v={{Msg "seo" "version"}}">
 	</head>
 	<body>
 		<script>
@@ -53,7 +53,8 @@
 					},
 					function(r){
 				        if(r.err_msg == "get_brand_wcpay_request:ok"){
-							$(".bottomButton").attr("id","buytwo").text("再次购买");
+							location.reload();
+							sessionStorage.setItem("paySuccess_"+{{.T.o.order_code}},1);
 						}else if(r.err_msg == "get_brand_wcpay_request:cancel"){
 							//取消支付 可以再次支付
 							canpay=true;
@@ -269,7 +270,7 @@
 						<div class="card-content">
 							<p class="text ellipsis">订单编号:{{.T.o.order_code}}</p>
 							<p class="text ellipsis">下单时间:{{.T.o.create_time}}</p>
-							<p class="text ellipsis">支付时间:{{.T.o.pay_time}}</p>
+							<p class="text ellipsis" id="payTime">支付时间:{{.T.o.pay_time}}</p>
 							<p class="text ellipsis">产品类型:{{.T.o.product_type}}</p>
 							{{if .T.o.transaction_id}}        
 							<p class="text ellipsis">微信支付单号:{{.T.o.transaction_id}}</p>