wangkaiyue 6 years ago
parent
commit
0ddfd8a024

+ 1 - 0
src/jfw/modules/app/src/web/staticres/jyapp/wx_dataExport/css/pay_order.css

@@ -11,6 +11,7 @@
   padding-bottom: 2.7rem;
   padding-bottom: 2.7rem;
     font-size: .24rem !important;
     font-size: .24rem !important;
 	background: rgba(245,244,249,1);
 	background: rgba(245,244,249,1);
+	margin-top: 64px;
 }
 }
 #pay_order .main .progress {
 #pay_order .main .progress {
   display: -webkit-box;
   display: -webkit-box;

+ 8 - 0
src/jfw/modules/app/src/web/templates/dataExport/dataExPort.html

@@ -412,6 +412,14 @@
         //金额
         //金额
         if(localStorage.price!==undefined && localStorage.price!==""){
         if(localStorage.price!==undefined && localStorage.price!==""){
             var price = localStorage.price;
             var price = localStorage.price;
+			
+			//金额只有一种情况
+			var priceArr =price.replace(/万元/g,"").split("-");
+			if(priceArr[0]==""){
+				price="小于"+priceArr[1]+"万元"
+			}else if(priceArr[1]==""){
+				price="大于"+priceArr[0]+"万元"
+			}
             $("#price").text(price);
             $("#price").text(price);
         }
         }
         //区域
         //区域

+ 8 - 5
src/jfw/modules/app/src/web/templates/dataExport/dataExport_payOrder.html

@@ -1,23 +1,26 @@
 <html>
 <html>
     <head>
     <head>
-        <meta charset="utf-8">
+		{{include "/common/meta.html"}}
         <title>支付订单</title>
         <title>支付订单</title>
-		<meta name="format-detection" content="telephone=no" />
-		<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-        <meta name="apple-mobile-web-app-capable" content="yes">
-        <meta name="apple-mobile-web-app-status-bar-style" content="black">
         <script src="{{Msg "seo" "cdn"}}/jyapp/js/rem.js"></script>
         <script src="{{Msg "seo" "cdn"}}/jyapp/js/rem.js"></script>
+		<link href="/jyapp/css/layout.css?v={{Msg "seo" "version"}}" rel="stylesheet">
+		<link href="/jyapp/css/font.css?v={{Msg "seo" "version"}}" rel="stylesheet">
         <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/jyapp/wx_dataExport/css/weui.min.css?v={{Msg "seo" "version"}}">
         <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/jyapp/wx_dataExport/css/weui.min.css?v={{Msg "seo" "version"}}">
         <link rel="stylesheet" type="text/css" href="{{Msg "seo" "cdn"}}/jyapp/wx_dataExport/css/base.css?v={{Msg "seo" "version"}}" />
         <link rel="stylesheet" type="text/css" href="{{Msg "seo" "cdn"}}/jyapp/wx_dataExport/css/base.css?v={{Msg "seo" "version"}}" />
         <link rel="stylesheet" type="text/css" href="{{Msg "seo" "cdn"}}/jyapp/wx_dataExport/iconfont/iconfont.css?v={{Msg "seo" "version"}}" />
         <link rel="stylesheet" type="text/css" href="{{Msg "seo" "cdn"}}/jyapp/wx_dataExport/iconfont/iconfont.css?v={{Msg "seo" "version"}}" />
         <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/jyapp/wx_dataExport/css/pay_order.css?v={{Msg "seo" "version"}}2">
         <link rel="stylesheet" href="{{Msg "seo" "cdn"}}/jyapp/wx_dataExport/css/pay_order.css?v={{Msg "seo" "version"}}2">
         <script src="{{Msg "seo" "cdn"}}/jyapp/js/jquery-3.2.1.min.js"></script>
         <script src="{{Msg "seo" "cdn"}}/jyapp/js/jquery-3.2.1.min.js"></script>
         <script src="{{Msg "seo" "cdn"}}/jyapp/wx_dataExport/js/weui.min.js"></script>
         <script src="{{Msg "seo" "cdn"}}/jyapp/wx_dataExport/js/weui.min.js"></script>
+		{{include "/common/js.html"}}
     </head>
     </head>
     <body>
     <body>
 		<div class="loading_" style="display:none;">
 		<div class="loading_" style="display:none;">
 		    <p><span></span></p>
 		    <p><span></span></p>
 		</div>
 		</div>
+		<div class="app-layout-header">
+			<span class="app-back jyapp-icon jyapp-icon-zuojiantou"></span>
+			支付订单
+		</div>
         <div id="pay_order">
         <div id="pay_order">
             <main class="main">
             <main class="main">
                 <div class="progress">
                 <div class="progress">

+ 20 - 1
src/jfw/modules/app/src/web/templates/dataExport/dataExport_price.html

@@ -74,6 +74,10 @@
             }else{
             }else{
                 var min = $("#min").val();
                 var min = $("#min").val();
                 var max = $("#max").val();
                 var max = $("#max").val();
+			    //金额判断
+				if ((parseInt(min)>parseInt(max))||parseInt(min)==parseInt(max)){
+					return
+				}
                 var price = min+"万元-"+max+"万元";
                 var price = min+"万元-"+max+"万元";
                 localStorage.setItem("price", price);
                 localStorage.setItem("price", price);
             }
             }
@@ -82,12 +86,27 @@
         //
         //
         if(localStorage.price !== ""&&localStorage.price!=undefined){
         if(localStorage.price !== ""&&localStorage.price!=undefined){
             var price = localStorage.price.replace("-","").split("万元");
             var price = localStorage.price.replace("-","").split("万元");
+			
+			//只有一个金额
+			if(price[0]!=""){
+				$("#min").val(price[0]);
+			}else{
+				$("#min").val();
+			}
+			if(price[1]!=""){
+				$("#max").val(price[1]);
+			}else{
+				$("#max").val();
+			}
+			
+			/*
             var prices = price.filter(function (e) {
             var prices = price.filter(function (e) {
                 return e !== "";
                 return e !== "";
             });
             });
             $("#min").val(prices[0]);
             $("#min").val(prices[0]);
             $("#max").val(prices[1]);
             $("#max").val(prices[1]);
-            if($("#min").val() !== "" && $("#max").val() !== ""){
+			*/
+            if($("#min").val() !== "" || $("#max").val() !== ""){
                 $(".connectMain").css("background", "#2cb7ca");
                 $(".connectMain").css("background", "#2cb7ca");
                 $(".all span").removeClass("active");
                 $(".all span").removeClass("active");
             }
             }

+ 289 - 56
src/jfw/pay/dataExportPay.go

@@ -17,17 +17,19 @@ import (
 
 
 type DataExportPayAction struct {
 type DataExportPayAction struct {
 	*xweb.Action
 	*xweb.Action
-	sacnPay_WaitPay     xweb.Mapper `xweb:"/dataExport/sacnPay/waitPay"`     //生成支付二维码
-	sacnPay_CreateOrder xweb.Mapper `xweb:"/dataExport/sacnPay/createOrder"` //创建订单
-	isPaySuccess        xweb.Mapper `xweb:"/dataExport/pay/isPaySuccess"`    //是否支付成功
-	getOrderPayMsg      xweb.Mapper `xweb:"/dataexport/getOrderPayMsg"`      //我的订单页面获取支付二维码
+	sacnPay_WaitPay       xweb.Mapper `xweb:"/dataExport/sacnPay/waitPay"`        //生成支付二维码
+	sacnPay_CreateOrder   xweb.Mapper `xweb:"/dataExport/sacnPay/createOrder"`    //创建订单
+	isPaySuccess          xweb.Mapper `xweb:"/dataExport/pay/isPaySuccess"`       //是否支付成功
+	getOrderPayMsg        xweb.Mapper `xweb:"/dataexport/getOrderPayMsg"`         //我的订单页面获取支付二维码
+	wxSacnPay_CreateOrder xweb.Mapper `xweb:"/dataExport/wx_sacnPay/createOrder"` //微信端-创建订单
 }
 }
 
 
 func init() {
 func init() {
 	xweb.AddAction(&DataExportPayAction{})
 	xweb.AddAction(&DataExportPayAction{})
 }
 }
 
 
-func (p *DataExportPayAction) SacnPay_CreateOrder() {
+//微信端创建订单
+func (p *DataExportPayAction) WxSacnPay_CreateOrder() {
 	defer util.Catch()
 	defer util.Catch()
 	openId, _ := p.GetSession("s_m_openid").(string)
 	openId, _ := p.GetSession("s_m_openid").(string)
 	userId, _ := p.GetSession("userId").(string)
 	userId, _ := p.GetSession("userId").(string)
@@ -39,13 +41,284 @@ func (p *DataExportPayAction) SacnPay_CreateOrder() {
 		})
 		})
 		return
 		return
 	}
 	}
-	//根据来源判断,pc端微信支付生成订单 tradeclass:b,微信端支付tradeclass:c
-	sourcePage := p.GetString("sourcePage")
-	tradeclass := "b"
-	if sourcePage == "weixin" {
-		tradeclass = "c"
+	//
+	data_spec := p.GetString("data_spec")
+	if data_spec == "standard" {
+		data_spec = "标准字段包"
+	} else if data_spec == "senior" {
+		data_spec = "高级字段包"
+	}
+	user_mail_status := util.ObjToString(p.GetSession("DataExportVerifyEmail_val")) != ""
+	pay_way := p.GetString("pay_way")
+	user_mail, _ := p.GetSession("DataExportVerifyEmail_val").(string)
+	user_phone, _ := p.GetSession("DataExportVerifyPhone").(string)
+	if user_phone != "" {
+		p.SetSession("DataExportVerifyPhone_val", user_phone) //提交后下次默认带出手机号
+	} else {
+		user_phone, _ = p.GetSession("DataExportVerifyPhone_val").(string)
+	}
+	//先看有没有创建过预支付订单
+	oldOrder := public.Mysql.FindOne("dataexport_order", map[string]interface{}{
+		"user_id":   userId,
+		"filter_id": id,
+	}, "id,order_status,order_code,order_money,user_mail,user_phone,data_spec,prepay_time,prepay_id", "")
+	if oldOrder != nil {
+		if user_mail != "" && user_mail != util.ObjToString((*oldOrder)["user_mail"]) {
+			public.Mysql.Update("dataexport_order", map[string]interface{}{
+				"user_id":   userId,
+				"filter_id": id,
+			}, map[string]interface{}{
+				"user_mail": user_mail,
+			})
+		}
+		if user_phone != "" && user_phone != util.ObjToString((*oldOrder)["user_phone"]) {
+			public.Mysql.Update("dataexport_order", map[string]interface{}{
+				"user_id":   userId,
+				"filter_id": id,
+			}, map[string]interface{}{
+				"user_phone": user_phone,
+			})
+		}
+		//如果已支付,则返回
+		if util.IntAll((*oldOrder)["order_status"]) != 0 {
+			log.Println("该订单已存在,订单状态不允许支付!", openId)
+			p.ServeJson(map[string]interface{}{
+				"status": "n",
+			})
+			return
+		}
+		//价格支付方式变动需要重新生成订单二维码
+		if data_spec != "" && data_spec == util.ObjToString((*oldOrder)["data_spec"]) {
+			var res map[string]interface{}
+			nonceStr := util.GetRandom(16) + util.GetLetterRandom(16)
+			timestamp := time.Now().Unix()
+			sign := util.WxSign(fmt.Sprintf("appId=%s&nonceStr=%s&package=%s&signType=%s&timeStamp=%d&key=%s", public.WxStruct.Appid, nonceStr, "prepay_id="+util.ObjToString((*oldOrder)["prepay_id"]), "MD5", timestamp, public.WxStruct.Key))
+			res = map[string]interface{}{
+				"appId":     public.WxStruct.Appid,
+				"timestamp": fmt.Sprint(timestamp),
+				"signType":  "MD5",
+				"sign":      sign,
+				"nonceStr":  nonceStr,
+				"prepayId":  "prepay_id=" + util.ObjToString((*oldOrder)["prepay_id"]),
+			}
+			p.ServeJson(map[string]interface{}{
+				"status": "y",
+				"code":   util.ObjToString((*oldOrder)["order_code"]),
+				"token":  public.GetWaitPayToken(util.Int64All((*oldOrder)["id"]), util.IntAll((*oldOrder)["order_money"]), util.ObjToString((*oldOrder)["order_code"]), "微信", userId),
+				"res":    res,
+			})
+			return
+		}
 	}
 	}
 	//
 	//
+	data_count := public.GetDataExportSearchCountUseId(id)
+	if data_count > public.ExConf.MsgMaxCount {
+		data_count = public.ExConf.MsgMaxCount
+	}
+	order_money_, original_price_ := float64(0), float64(0)
+	if data_spec == "标准字段包" {
+		original_price_ = float64(data_count) * public.ExConf.UnitPrice_normal
+	} else if data_spec == "高级字段包" {
+		original_price_ = float64(data_count) * public.ExConf.UnitPrice_senior
+	}
+	order_money_ = float64(original_price_) * public.ExConf.Discount
+	if order_money_ < public.ExConf.OrderMinPrice {
+		order_money_ = public.ExConf.OrderMinPrice
+	}
+	if original_price_ < public.ExConf.OrderMinPrice {
+		original_price_ = public.ExConf.OrderMinPrice
+	}
+	order_money := int(order_money_ * 100)
+	original_price := int(original_price_ * 100)
+	//order_money = 1
+	//original_price = 1
+	filter_keys, filter_publishtime, filter := "", "", ""
+	//
+	isPass := func() bool {
+		if pay_way == "" || user_mail == "" || user_phone == "" || !user_mail_status || data_spec == "" || order_money <= 0 || data_count <= 0 || original_price <= 0 {
+			log.Println("参数不合法! pay_way, user_mail,user_phone, user_mail_status, data_spec, order_money, data_count, original_price", pay_way, user_mail, user_phone, user_mail_status, data_spec, order_money, data_count, original_price)
+			return false
+		}
+		userfilter, ok := public.MQFW.FindById("export_search", id, nil)
+		if ok && userfilter != nil {
+			keywords, _ := (*userfilter)["keywords"].([]interface{})
+			var buffer bytes.Buffer
+			for _, v := range keywords {
+				vm, _ := v.(map[string]interface{})
+				if buffer.Len() > 0 {
+					buffer.WriteString(",")
+				}
+				buffer.WriteString(util.ObjToString(vm["keyword"]))
+			}
+			filter_keys = buffer.String()
+			filter_publishtime = util.ObjToString((*userfilter)["publishtime"])
+			filterByte, _ := json.Marshal(userfilter)
+			filter = string(filterByte)
+		} else {
+			log.Println("id is not find in mongodb", userId, id)
+			return false
+		}
+		return true
+	}()
+	nickname, _ := p.GetSession("s_nickname").(string)
+	result := map[string]interface{}{
+		"status": "n",
+	}
+	if isPass {
+		//创建微信预支付订单,微信端支付tradeclass:c
+		tradeno, ret := public.WxStruct.CreatePrepayOrder(config.Sysconfig["weixinrpc"].(string), "c", p.IP(), openId, "", order_money)
+		log.Println("支付交易单", openId, ret)
+		if ret != nil && (*ret)["status"] == "1" {
+			now := time.Now()
+			ordercode := public.GetOrderCode(openId)
+			orderid := public.Mysql.Insert("dataexport_order", map[string]interface{}{
+				"order_money":        order_money,
+				"order_status":       0,
+				"service_status":     0,
+				"user_nickname":      nickname,
+				"user_openid":        openId,
+				"filter":             filter,
+				"prepay_id":          (*ret)["prepayid"],
+				"code_url":           (*ret)["codeurl"],
+				"out_trade_no":       tradeno,
+				"order_code":         ordercode,
+				"product_type":       "历史数据",
+				"create_time":        util.FormatDate(&now, util.Date_Full_Layout),
+				"prepay_time":        util.FormatDate(&now, util.Date_Full_Layout),
+				"original_price":     original_price,
+				"data_spec":          data_spec,
+				"user_mail":          user_mail,
+				"user_phone":         user_phone,
+				"data_count":         data_count,
+				"filter_publishtime": filter_publishtime,
+				"filter_keys":        filter_keys,
+				"filter_id":          id,
+				"pay_way":            pay_way,
+				"user_id":            userId, //20190719 移动端数据导出 生订单添加用户id
+			})
+			if orderid > 0 {
+				var res map[string]interface{}
+				nonceStr := util.GetRandom(16) + util.GetLetterRandom(16)
+				timestamp := time.Now().Unix()
+				sign := util.WxSign(fmt.Sprintf("appId=%s&nonceStr=%s&package=%s&signType=%s&timeStamp=%d&key=%s", public.WxStruct.Appid, nonceStr, "prepay_id="+util.ObjToString((*ret)["prepayid"]), "MD5", timestamp, public.WxStruct.Key))
+				res = map[string]interface{}{
+					"appId":     public.WxStruct.Appid,
+					"timestamp": fmt.Sprint(timestamp),
+					"signType":  "MD5",
+					"sign":      sign,
+					"nonceStr":  nonceStr,
+					"prepayId":  "prepay_id=" + util.ObjToString((*ret)["prepayid"]),
+				}
+				p.SetSession("DataExportVerifyPhone_val", user_phone)
+				result["status"] = "y"
+				result["code"] = ordercode
+				result["token"] = public.GetWaitPayToken(orderid, order_money, ordercode, pay_way, userId)
+				result["res"] = res
+			}
+		} else {
+			log.Println("生成微信预支付交易单失败", ret)
+		}
+	}
+	p.ServeJson(result)
+}
+
+//
+func (p *DataExportPayAction) SacnPay_WaitPay() error {
+	defer util.Catch()
+	openid, _ := p.GetSession("s_m_openid").(string)
+	code := p.GetString("code")
+	token := p.GetString("token")
+	surplus, money, qrcode, pay_way := func() (int64, int, string, string) {
+		if openid == "" || code == "" || token == "" {
+			return 0, 0, "", ""
+		}
+		data := public.Mysql.FindOne("dataexport_order", map[string]interface{}{"order_code": code, "user_openid": openid}, "id,code_url,prepay_time,order_money,order_status,pay_way", "")
+		if data == nil {
+			log.Println("订单号不存在!", openid, " code", code)
+			return 0, 0, "", ""
+		}
+		if util.IntAll((*data)["order_status"]) != 0 {
+			log.Println("订单状态不允许支付!", openid)
+			return 0, 0, "", ""
+		}
+		orderid := util.Int64All((*data)["id"])
+		orderMoney := util.IntAll((*data)["order_money"])
+		//orderMoney = 1
+		pay_way := util.ObjToString((*data)["pay_way"])
+		realToken := public.GetWaitPayToken(orderid, orderMoney, code, pay_way, openid)
+		if realToken != token {
+			log.Println("token错误!", openid, realToken, token)
+			return 0, 0, "", ""
+		}
+		prepayTime, err := time.ParseInLocation(util.Date_Full_Layout, util.ObjToString((*data)["prepay_time"]), time.Local)
+		surplus_second := prepayTime.Unix() + 7200 - time.Now().Unix()
+		codeUrl := util.ObjToString((*data)["code_url"])
+		if err == nil && surplus_second <= 0 { //重新生成预订单
+			log.Println("二维码已失效,重新生成预订单!", openid)
+			surplus_second = 0
+			now := time.Now()
+			if pay_way == "微信" {
+				tradeno, ret := public.WxStruct.CreatePrepayOrder(config.Sysconfig["weixinrpc"].(string), "b", p.IP(), openid, "", orderMoney)
+				if ret != nil {
+					if public.Mysql.Update("dataexport_order", map[string]interface{}{
+						"id": orderid,
+					}, map[string]interface{}{
+						"prepay_time":  util.FormatDate(&now, util.Date_Full_Layout),
+						"prepay_id":    (*ret)["prepayid"],
+						"code_url":     (*ret)["codeurl"],
+						"out_trade_no": tradeno,
+					}) {
+						surplus_second = 7200
+						codeUrl = util.ObjToString((*ret)["codeurl"])
+					}
+				}
+			} else if pay_way == "支付宝" {
+				payOutTime := now.Add(time.Hour * 2)
+				if qr_url, tradeno, err := Alipay.GetPayUrl(util.Float64All(orderMoney), util.FormatDate(&payOutTime, util.Date_Full_Layout)); err == nil {
+					if public.Mysql.Update("dataexport_order", map[string]interface{}{
+						"id": orderid,
+					}, map[string]interface{}{
+						"prepay_time":  util.FormatDate(&now, util.Date_Full_Layout),
+						"prepay_id":    "",
+						"code_url":     qr_url,
+						"out_trade_no": tradeno,
+					}) {
+						surplus_second = 7200
+
+					}
+					codeUrl = qr_url
+				}
+			}
+		}
+		return surplus_second, orderMoney, codeUrl, pay_way
+	}()
+	if pay_way == "微信" {
+		r, _ := qr.Encode(qrcode, qr.M)
+		pngdat := r.PNG()
+		qrcode = base64.StdEncoding.EncodeToString(pngdat)
+	}
+	p.T["money"] = float64(money) / 100
+	p.T["surplus_second"] = surplus
+	p.T["qrcode"] = qrcode
+	p.T["ordercode"] = code
+	p.T["pay_way"] = pay_way
+	return p.Render("/pc/waitpay.html")
+}
+
+//pc端生成数据导出订单
+func (p *DataExportPayAction) SacnPay_CreateOrder() {
+	defer util.Catch()
+	openId, _ := p.GetSession("s_m_openid").(string)
+	userId, _ := p.GetSession("userId").(string)
+	id := util.SE.Decode4Hex(p.GetString("id"))
+	if userId == "" || id == "" {
+		log.Println("userId,id错误", userId, id)
+		p.ServeJson(map[string]interface{}{
+			"status": "n",
+		})
+		return
+	}
+	//根据来源判断,pc端微信支付生成订单 b
 	data_spec := p.GetString("data_spec")
 	data_spec := p.GetString("data_spec")
 	if data_spec == "standard" {
 	if data_spec == "standard" {
 		data_spec = "标准字段包"
 		data_spec = "标准字段包"
@@ -94,13 +367,11 @@ func (p *DataExportPayAction) SacnPay_CreateOrder() {
 		//价格支付方式变动需要重新生成订单二维码(关闭之前的订单)
 		//价格支付方式变动需要重新生成订单二维码(关闭之前的订单)
 		if (data_spec != "" && data_spec != util.ObjToString((*oldOrder)["data_spec"])) || pay_way != util.ObjToString((*oldOrder)["pay_way"]) {
 		if (data_spec != "" && data_spec != util.ObjToString((*oldOrder)["data_spec"])) || pay_way != util.ObjToString((*oldOrder)["pay_way"]) {
 			//在此关闭之前的订单
 			//在此关闭之前的订单
-			if sourcePage == "" {
-				if !CloseDataExportOrder(util.ObjToString((*oldOrder)["pay_way"]), util.ObjToString((*oldOrder)["out_trade_no"]), util.ObjToString((*oldOrder)["prepay_time"])) {
-					p.ServeJson(map[string]interface{}{
-						"status": "n",
-					})
-					return
-				}
+			if !CloseDataExportOrder(util.ObjToString((*oldOrder)["pay_way"]), util.ObjToString((*oldOrder)["out_trade_no"]), util.ObjToString((*oldOrder)["prepay_time"])) {
+				p.ServeJson(map[string]interface{}{
+					"status": "n",
+				})
+				return
 			}
 			}
 			data_count := public.GetDataExportSearchCountUseId(id)
 			data_count := public.GetDataExportSearchCountUseId(id)
 			if data_count > public.ExConf.MsgMaxCount {
 			if data_count > public.ExConf.MsgMaxCount {
@@ -134,33 +405,10 @@ func (p *DataExportPayAction) SacnPay_CreateOrder() {
 				"pay_way":        pay_way,
 				"pay_way":        pay_way,
 			})
 			})
 			(*oldOrder)["order_money"] = order_money
 			(*oldOrder)["order_money"] = order_money
-		}
-		if util.IntAll((*oldOrder)["order_status"]) == 0 {
-			var res map[string]interface{}
-			if sourcePage == "weixin" {
-				nonceStr := util.GetRandom(16) + util.GetLetterRandom(16)
-				timestamp := time.Now().Unix()
-				sign := util.WxSign(fmt.Sprintf("appId=%s&nonceStr=%s&package=%s&signType=%s&timeStamp=%d&key=%s", public.WxStruct.Appid, nonceStr, "prepay_id="+util.ObjToString((*oldOrder)["prepay_id"]), "MD5", timestamp, public.WxStruct.Key))
-				res = map[string]interface{}{
-					"appId":     public.WxStruct.Appid,
-					"timestamp": fmt.Sprint(timestamp),
-					"signType":  "MD5",
-					"sign":      sign,
-					"nonceStr":  nonceStr,
-					"prepayId":  "prepay_id=" + util.ObjToString((*oldOrder)["prepay_id"]),
-				}
-			}
 			p.ServeJson(map[string]interface{}{
 			p.ServeJson(map[string]interface{}{
 				"status": "y",
 				"status": "y",
 				"code":   util.ObjToString((*oldOrder)["order_code"]),
 				"code":   util.ObjToString((*oldOrder)["order_code"]),
 				"token":  public.GetWaitPayToken(util.Int64All((*oldOrder)["id"]), util.IntAll((*oldOrder)["order_money"]), util.ObjToString((*oldOrder)["order_code"]), "微信", userId),
 				"token":  public.GetWaitPayToken(util.Int64All((*oldOrder)["id"]), util.IntAll((*oldOrder)["order_money"]), util.ObjToString((*oldOrder)["order_code"]), "微信", userId),
-				"res":    res,
-			})
-			return
-		} else {
-			log.Println("该订单已存在,订单状态不允许支付!", userId)
-			p.ServeJson(map[string]interface{}{
-				"status": "n",
 			})
 			})
 			return
 			return
 		}
 		}
@@ -222,7 +470,7 @@ func (p *DataExportPayAction) SacnPay_CreateOrder() {
 	if isPass {
 	if isPass {
 		//创建微信预支付订单
 		//创建微信预支付订单
 		if pay_way == "wx_pc" {
 		if pay_way == "wx_pc" {
-			tradeno, ret := public.WxStruct.CreatePrepayOrder(config.Sysconfig["weixinrpc"].(string), tradeclass, p.IP(), openId, "", order_money)
+			tradeno, ret := public.WxStruct.CreatePrepayOrder(config.Sysconfig["weixinrpc"].(string), "b", p.IP(), openId, "", order_money)
 			log.Println("支付交易单", openId, ret)
 			log.Println("支付交易单", openId, ret)
 			if ret != nil && (*ret)["status"] == "1" {
 			if ret != nil && (*ret)["status"] == "1" {
 				now := time.Now()
 				now := time.Now()
@@ -253,25 +501,10 @@ func (p *DataExportPayAction) SacnPay_CreateOrder() {
 					"user_id":            userId, //20190719 移动端数据导出 生订单添加用户id
 					"user_id":            userId, //20190719 移动端数据导出 生订单添加用户id
 				})
 				})
 				if orderid > 0 {
 				if orderid > 0 {
-					var res map[string]interface{}
-					if sourcePage == "weixin" {
-						nonceStr := util.GetRandom(16) + util.GetLetterRandom(16)
-						timestamp := time.Now().Unix()
-						sign := util.WxSign(fmt.Sprintf("appId=%s&nonceStr=%s&package=%s&signType=%s&timeStamp=%d&key=%s", public.WxStruct.Appid, nonceStr, "prepay_id="+util.ObjToString((*ret)["prepayid"]), "MD5", timestamp, public.WxStruct.Key))
-						res = map[string]interface{}{
-							"appId":     public.WxStruct.Appid,
-							"timestamp": fmt.Sprint(timestamp),
-							"signType":  "MD5",
-							"sign":      sign,
-							"nonceStr":  nonceStr,
-							"prepayId":  "prepay_id=" + util.ObjToString((*ret)["prepayid"]),
-						}
-					}
 					p.SetSession("DataExportVerifyPhone_val", user_phone)
 					p.SetSession("DataExportVerifyPhone_val", user_phone)
 					result["status"] = "y"
 					result["status"] = "y"
 					result["code"] = ordercode
 					result["code"] = ordercode
 					result["token"] = public.GetWaitPayToken(orderid, order_money, ordercode, pay_way, userId)
 					result["token"] = public.GetWaitPayToken(orderid, order_money, ordercode, pay_way, userId)
-					result["res"] = res
 				}
 				}
 			} else {
 			} else {
 				log.Println("生成微信预支付交易单失败", ret)
 				log.Println("生成微信预支付交易单失败", ret)

+ 2 - 2
src/jfw/pay/weixin.go

@@ -212,9 +212,9 @@ func (p *WxPayAction) PayCallback() {
 				}, "id,filter,user_mail,product_type,data_spec,user_phone,filter_id,order_code,data_count,order_status,order_money,out_trade_no,create_time,pay_way", "")
 				}, "id,filter,user_mail,product_type,data_spec,user_phone,filter_id,order_code,data_count,order_status,order_money,out_trade_no,create_time,pay_way", "")
 				order_money := util.IntAll(ret["total_fee"])
 				order_money := util.IntAll(ret["total_fee"])
 				pay_time := util.FormatDate(&now, util.Date_Full_Layout)
 				pay_time := util.FormatDate(&now, util.Date_Full_Layout)
-				filename := fmt.Sprintf("%s.xlsx", fmt.Sprintf("%s_%s_%s", time.Now().Format("20060102150405"), util.ObjToString((*orderdata)["order_code"]), util.GetLetterRandom(5)))
-				download_url := fmt.Sprintf("/res/dataexport/%s", filename)
 				if orderdata != nil {
 				if orderdata != nil {
+					filename := fmt.Sprintf("%s.xlsx", fmt.Sprintf("%s_%s_%s", time.Now().Format("20060102150405"), util.ObjToString((*orderdata)["order_code"]), util.GetLetterRandom(5)))
+					download_url := fmt.Sprintf("/res/dataexport/%s", filename)
 					order_status := util.IntAll((*orderdata)["order_status"])
 					order_status := util.IntAll((*orderdata)["order_status"])
 					if order_status == 0 {
 					if order_status == 0 {
 						flag_1 = public.Mysql.Update("dataexport_order", map[string]interface{}{
 						flag_1 = public.Mysql.Update("dataexport_order", map[string]interface{}{

+ 2 - 2
src/jfw/public/dataexport.go

@@ -91,8 +91,8 @@ func (w *WeixinStruct) CreatePrepayOrder(weixinrpc, tradeno, ip, openid, detailm
 	}
 	}
 	tradeno = w.GetTradeno(tradeno)
 	tradeno = w.GetTradeno(tradeno)
 	log.Println(w.Appid, "---", openid)
 	log.Println(w.Appid, "---", openid)
-	//openid = "oHwE_wJZpWgPy7vc5bi5FanQoev8"
-	openid = "oHwE_wKJKZxGJdTCSUWSp46lAVNg"
+	openid = "oHwE_wJZpWgPy7vc5bi5FanQoev8"
+	//openid = "oHwE_wKJKZxGJdTCSUWSp46lAVNg"
 	//获取预订单号
 	//获取预订单号
 	ret, _ := w.GetPrepayId(weixinrpc, map[string]string{
 	ret, _ := w.GetPrepayId(weixinrpc, map[string]string{
 		"attachmsg":  attachmsg,
 		"attachmsg":  attachmsg,

+ 2 - 0
src/web/staticres/js/wxSupersearch.js

@@ -606,6 +606,7 @@ var SuperSearch = {
 						//没有数据
 						//没有数据
 						if(data["list"] == null || data["list"].length == 0){
 						if(data["list"] == null || data["list"].length == 0){
 							SuperSearch.noMoreData();
 							SuperSearch.noMoreData();
+							$(".loading_").hide();
 							return;
 							return;
 						}
 						}
 						var html = SuperSearch.getHtml(data["list"],SuperSearch.reqParam["pageNum"]);
 						var html = SuperSearch.getHtml(data["list"],SuperSearch.reqParam["pageNum"]);
@@ -906,6 +907,7 @@ var SuperSearch = {
 					SuperSearch.hasNoData();
 					SuperSearch.hasNoData();
 					SuperSearch.show();
 					SuperSearch.show();
 					$(window).scrollTop(0);
 					$(window).scrollTop(0);
+					$(".loading_").hide();
 					return
 					return
 				}else{
 				}else{
 					SuperSearch.showNull = false;
 					SuperSearch.showNull = false;

+ 7 - 0
src/web/templates/weixin/dataExport/dataExPort.html

@@ -372,6 +372,13 @@
         //金额
         //金额
         if(localStorage.price!==undefined && localStorage.price!==""){
         if(localStorage.price!==undefined && localStorage.price!==""){
             var price = localStorage.price;
             var price = localStorage.price;
+            //金额只有一种情况
+			var priceArr =price.replace(/万元/g,"").split("-");
+			if(priceArr[0]==""){
+				price="小于"+priceArr[1]+"万元"
+			}else if(priceArr[1]==""){
+				price="大于"+priceArr[0]+"万元"
+			}
             $("#price").text(price);
             $("#price").text(price);
         }
         }
         //区域
         //区域

+ 2 - 3
src/web/templates/weixin/dataExport/dataExport_payOrder.html

@@ -528,12 +528,11 @@
 					canpay=false;
 					canpay=false;
 					
 					
 					var param={};
 					var param={};
-					param.pay_way="weixin";
+					param.pay_way="M-微信";
 					param.data_spec=dataType==2?"senior":"standard";
 					param.data_spec=dataType==2?"senior":"standard";
 					param.id={{.T._id}}
 					param.id={{.T._id}}
-					param.sourcePage="weixin"
 					//先去创建预支付订单
 					//先去创建预支付订单
-					$.post("/dataExport/sacnPay/createOrder",param,function(data){
+					$.post("/dataExport/wx_sacnPay/createOrder",param,function(data){
 						//alert(JSON.stringify(data))
 						//alert(JSON.stringify(data))
 						if(data.status=="y"){
 						if(data.status=="y"){
 							sessionStorage.setItem("order_spec"+{{.T._id}}, dataType);
 							sessionStorage.setItem("order_spec"+{{.T._id}}, dataType);

+ 21 - 6
src/web/templates/weixin/dataExport/dataExport_price.html

@@ -61,6 +61,10 @@
             }else{
             }else{
                 var min = $("#min").val();
                 var min = $("#min").val();
                 var max = $("#max").val();
                 var max = $("#max").val();
+                //金额判断
+				if ((parseInt(min)>parseInt(max))||parseInt(min)==parseInt(max)){
+					return
+				}
                 var price = min+"万元-"+max+"万元";
                 var price = min+"万元-"+max+"万元";
                 localStorage.setItem("price", price);
                 localStorage.setItem("price", price);
             }
             }
@@ -69,12 +73,23 @@
         //
         //
         if(localStorage.price !== ""&&localStorage.price!=undefined){
         if(localStorage.price !== ""&&localStorage.price!=undefined){
             var price = localStorage.price.replace("-","").split("万元");
             var price = localStorage.price.replace("-","").split("万元");
-            var prices = price.filter(function (e) {
-                return e !== "";
-            });
-            $("#min").val(prices[0]);
-            $("#max").val(prices[1]);
-            if($("#min").val() !== "" && $("#max").val() !== ""){
+            //只有一个金额
+			if(price[0]!=""){
+				$("#min").val(price[0]);
+			}else{
+				$("#min").val();
+			}
+			if(price[1]!=""){
+				$("#max").val(price[1]);
+			}else{
+				$("#max").val();
+			}
+//          var prices = price.filter(function (e) {
+//              return e !== "";
+//          });
+//          $("#min").val(prices[0]);
+//          $("#max").val(prices[1]);
+            if($("#min").val() !== "" || $("#max").val() !== ""){
                 $(".connectMain").css("background", "#2cb7ca");
                 $(".connectMain").css("background", "#2cb7ca");
                 $(".all span").removeClass("active");
                 $(".all span").removeClass("active");
             }
             }