Browse Source

wip:数据库连接修改

wkyuer 6 months ago
parent
commit
02bc96863e
1 changed files with 802 additions and 803 deletions
  1. 802 803
      src/jfw/modules/subscribepay/src/service/commonAction.go

+ 802 - 803
src/jfw/modules/subscribepay/src/service/commonAction.go

@@ -1,188 +1,187 @@
 package service
 package service
 
 
 import (
 import (
-    "database/sql"
-    "encoding/base64"
-    "encoding/json"
-    "errors"
-    "fmt"
-    "jy/src/jfw/modules/subscribepay/src/config"
-    "jy/src/jfw/modules/subscribepay/src/entity"
-    "jy/src/jfw/modules/subscribepay/src/pay"
-    "jy/src/jfw/modules/subscribepay/src/util"
-    "log"
-    "math"
-    "net/rpc"
-    "regexp"
-    "strconv"
-    "strings"
-    "time"
-
-    . "app.yhyue.com/moapp/jybase/api"
-    . "app.yhyue.com/moapp/jybase/date"
-    "app.yhyue.com/moapp/jypkg/public"
-    "github.com/gogf/gf/v2/util/gconv"
-    "github.com/google/uuid"
-
-    "github.com/gogf/gf/v2/os/gctx"
-
-    qutil "app.yhyue.com/moapp/jybase/common"
-    "app.yhyue.com/moapp/jybase/encrypt"
-    elastic "app.yhyue.com/moapp/jybase/es"
-    "app.yhyue.com/moapp/jybase/go-xweb/xweb"
-    "app.yhyue.com/moapp/jybase/redis"
-    "github.com/SKatiyar/qr"
-    "github.com/gogf/gf/v2/frame/g"
+	"database/sql"
+	"encoding/base64"
+	"encoding/json"
+	"errors"
+	"fmt"
+	"jy/src/jfw/modules/subscribepay/src/config"
+	"jy/src/jfw/modules/subscribepay/src/entity"
+	"jy/src/jfw/modules/subscribepay/src/pay"
+	"jy/src/jfw/modules/subscribepay/src/util"
+	"log"
+	"math"
+	"net/rpc"
+	"regexp"
+	"strconv"
+	"strings"
+	"time"
+
+	. "app.yhyue.com/moapp/jybase/api"
+	. "app.yhyue.com/moapp/jybase/date"
+	"github.com/gogf/gf/v2/util/gconv"
+	"github.com/google/uuid"
+
+	"github.com/gogf/gf/v2/os/gctx"
+
+	qutil "app.yhyue.com/moapp/jybase/common"
+	"app.yhyue.com/moapp/jybase/encrypt"
+	elastic "app.yhyue.com/moapp/jybase/es"
+	"app.yhyue.com/moapp/jybase/go-xweb/xweb"
+	"app.yhyue.com/moapp/jybase/redis"
+	"github.com/SKatiyar/qr"
+	"github.com/gogf/gf/v2/frame/g"
 )
 )
 
 
 // 付费公用方法
 // 付费公用方法
 type CommonAction struct {
 type CommonAction struct {
-    *xweb.Action
-    getwxSdkSign         xweb.Mapper `xweb:"/wx/getwxSdkSign"`                 //微信js参数
-    getDomain            xweb.Mapper `xweb:"/getDomain"`                       //微信js参数
-    getCommonOrderPrice  xweb.Mapper `xweb:"/common/getOrderPrice"`            //获取订单价格
-    getCommonPayParam    xweb.Mapper `xweb:"/common/getPayParam"`              //公共获取支付方法
-    saveTransferAccounts xweb.Mapper `xweb:"/common/saveTransferAccounts"`     //公共对公转账接口
-    isPaySuccess         xweb.Mapper `xweb:"/isPaySuccess"`                    //是否支付成功
-    deleteOrder          xweb.Mapper `xweb:"/deleteOrder"`                     //删除订单
-    applyInvoice         xweb.Mapper `xweb:"/applyInvoice"`                    //申请发票
-    sendMailNote         xweb.Mapper `xweb:"/sendMailNote/(.*)"`               //发送附件邮件通知
-    createorder          xweb.Mapper `xweb:"/common/createorder"`              //创建订单公共方法
-    getWxReturnPayParam  xweb.Mapper `xweb:"/free/common/getWxReturnPayParam"` //获取微信回款支付参数
-    getReturnResult      xweb.Mapper `xweb:"/free/common/getReturnResult"`     //获取微信回款结果
+	*xweb.Action
+	getwxSdkSign         xweb.Mapper `xweb:"/wx/getwxSdkSign"`                 //微信js参数
+	getDomain            xweb.Mapper `xweb:"/getDomain"`                       //微信js参数
+	getCommonOrderPrice  xweb.Mapper `xweb:"/common/getOrderPrice"`            //获取订单价格
+	getCommonPayParam    xweb.Mapper `xweb:"/common/getPayParam"`              //公共获取支付方法
+	saveTransferAccounts xweb.Mapper `xweb:"/common/saveTransferAccounts"`     //公共对公转账接口
+	isPaySuccess         xweb.Mapper `xweb:"/isPaySuccess"`                    //是否支付成功
+	deleteOrder          xweb.Mapper `xweb:"/deleteOrder"`                     //删除订单
+	applyInvoice         xweb.Mapper `xweb:"/applyInvoice"`                    //申请发票
+	sendMailNote         xweb.Mapper `xweb:"/sendMailNote/(.*)"`               //发送附件邮件通知
+	createorder          xweb.Mapper `xweb:"/common/createorder"`              //创建订单公共方法
+	getWxReturnPayParam  xweb.Mapper `xweb:"/free/common/getWxReturnPayParam"` //获取微信回款支付参数
+	getReturnResult      xweb.Mapper `xweb:"/free/common/getReturnResult"`     //获取微信回款结果
 }
 }
 
 
 var pdfNameReg = regexp.MustCompilePOSIX(`[^//]*\.pdf`)
 var pdfNameReg = regexp.MustCompilePOSIX(`[^//]*\.pdf`)
 
 
 func (this *CommonAction) GetDomain() {
 func (this *CommonAction) GetDomain() {
-    this.ServeJson(NewResult(map[string]interface{}{
-        "web": config.Config.WebDomain,
-        "app": config.Config.AppDomain,
-        "wx":  config.Config.WxDomain,
-    }, nil))
+	this.ServeJson(NewResult(map[string]interface{}{
+		"web": config.Config.WebDomain,
+		"app": config.Config.AppDomain,
+		"wx":  config.Config.WxDomain,
+	}, nil))
 }
 }
 
 
 func (this *CommonAction) SendMailNote(mailType string) {
 func (this *CommonAction) SendMailNote(mailType string) {
-    userId, _ := this.GetSession("userId").(string)
-    rData, errMsg := func() (interface{}, error) {
-        downurl := this.GetString("downurl")
-        userMail := this.GetString("email")
-        if downurl == "" || userMail == "" {
-            return nil, fmt.Errorf("缺少字段")
-        }
-        //mailShowName := "附件"
-        detail := "您好,您的附件已发送到您的邮箱,请查收!"
-        mail_title := "剑鱼标讯"
-        switch mailType {
-        case "projectPdfFile":
-            mail_title = "项目报告"
-            detail = "您好,您的“%s”项目报告已发送到您的邮箱,请查收!"
-            projectName, pid := "", ""
-            strArr := pdfNameReg.FindStringSubmatch(downurl)
-            if len(strArr) != 1 {
-                return nil, fmt.Errorf("发送异常")
-            }
-            if arr := strings.Split(strings.ReplaceAll(strArr[0], ".pdf", ""), "_"); len(arr) != 0 {
-                pid = arr[0]
-            }
-
-            if pid != "" {
-                res := elastic.Get("projectset", "projectset", fmt.Sprintf(`{"query": {"bool": {"must": [{"term": {"_id": "%s"}}]}},"_source":["projectname"],"from": 0,"size": 1}`, pid))
-                if res != nil && len(*res) == 1 {
-                    projectName, _ = (*res)[0]["projectname"].(string)
-                }
-            }
-            detail = fmt.Sprintf("您好,您的“%s”项目报告已发送到您的邮箱,请查收!", projectName)
-        }
-        if !(strings.HasPrefix(downurl, "https://") || strings.HasPrefix(downurl, "http://")) {
-            downurl = config.Config.WebDomain + downurl
-        }
-        mailContent := fmt.Sprintf(config.ExConf.Mail_attach_common_attachment, detail, downurl)
-        //用户发送邮件
-        sendOk := false
-        if userMail != "" {
-            if sendOk = util.SendRetryMail(config.ExConf.Mail_retry, userMail, mail_title, mailContent, "", nil, config.GmailAuth); sendOk {
-                log.Printf("DataExportPack SendMailNote 地址%s:邮箱%s邮件发送成功!", downurl, userMail)
-            } else {
-                sendErr := fmt.Sprintf("DataExportPack SendMailNote%s:邮箱%s邮件发送失败", downurl, userMail)
-                log.Printf("%s DataExportPack SendMailNote 发送邮件失败 %v\n", userId, sendErr)
-            }
-        }
-        return sendOk, nil
-    }()
-    if errMsg != nil {
-        log.Printf("%s DataExportPack SendExportMail 异常:%s\n", userId, errMsg.Error())
-    }
-    this.ServeJson(NewResult(rData, errMsg))
+	userId, _ := this.GetSession("userId").(string)
+	rData, errMsg := func() (interface{}, error) {
+		downurl := this.GetString("downurl")
+		userMail := this.GetString("email")
+		if downurl == "" || userMail == "" {
+			return nil, fmt.Errorf("缺少字段")
+		}
+		//mailShowName := "附件"
+		detail := "您好,您的附件已发送到您的邮箱,请查收!"
+		mail_title := "剑鱼标讯"
+		switch mailType {
+		case "projectPdfFile":
+			mail_title = "项目报告"
+			detail = "您好,您的“%s”项目报告已发送到您的邮箱,请查收!"
+			projectName, pid := "", ""
+			strArr := pdfNameReg.FindStringSubmatch(downurl)
+			if len(strArr) != 1 {
+				return nil, fmt.Errorf("发送异常")
+			}
+			if arr := strings.Split(strings.ReplaceAll(strArr[0], ".pdf", ""), "_"); len(arr) != 0 {
+				pid = arr[0]
+			}
+
+			if pid != "" {
+				res := elastic.Get("projectset", "projectset", fmt.Sprintf(`{"query": {"bool": {"must": [{"term": {"_id": "%s"}}]}},"_source":["projectname"],"from": 0,"size": 1}`, pid))
+				if res != nil && len(*res) == 1 {
+					projectName, _ = (*res)[0]["projectname"].(string)
+				}
+			}
+			detail = fmt.Sprintf("您好,您的“%s”项目报告已发送到您的邮箱,请查收!", projectName)
+		}
+		if !(strings.HasPrefix(downurl, "https://") || strings.HasPrefix(downurl, "http://")) {
+			downurl = config.Config.WebDomain + downurl
+		}
+		mailContent := fmt.Sprintf(config.ExConf.Mail_attach_common_attachment, detail, downurl)
+		//用户发送邮件
+		sendOk := false
+		if userMail != "" {
+			if sendOk = util.SendRetryMail(config.ExConf.Mail_retry, userMail, mail_title, mailContent, "", nil, config.GmailAuth); sendOk {
+				log.Printf("DataExportPack SendMailNote 地址%s:邮箱%s邮件发送成功!", downurl, userMail)
+			} else {
+				sendErr := fmt.Sprintf("DataExportPack SendMailNote%s:邮箱%s邮件发送失败", downurl, userMail)
+				log.Printf("%s DataExportPack SendMailNote 发送邮件失败 %v\n", userId, sendErr)
+			}
+		}
+		return sendOk, nil
+	}()
+	if errMsg != nil {
+		log.Printf("%s DataExportPack SendExportMail 异常:%s\n", userId, errMsg.Error())
+	}
+	this.ServeJson(NewResult(rData, errMsg))
 }
 }
 
 
 // ----------------------------申请发票------------------------------------
 // ----------------------------申请发票------------------------------------
 func (d *CommonAction) ApplyInvoice() error {
 func (d *CommonAction) ApplyInvoice() error {
-    var applyBill_status int
-    var order_code, applyBill_company, applyBill_taxnum, applyBill_type string
-    var updateBl bool = false
-    order_code = d.GetString("order_code")
-    //获取数据
-    applyBill_type = d.GetString("demo-radio") //个人 单位
-    queryMap := map[string]interface{}{
-        "order_code": order_code,
-    }
-    my_email, product := "", ""
-    product_type := util.Mysql.FindOne("dataexport_order", queryMap, "product_type", "")
-    if product_type != nil {
-        product = qutil.ObjToString((*product_type)["product_type"])
-    }
-    if product == "VIP订阅" {
-        //获取开发票时 用户所绑定的邮箱 user--s_myemail
-        d.GetSession("userId")
-        email := util.Compatible.Select(qutil.ObjToString(d.GetSession("userId")), `{"s_myemail":1}`)
-        if len(*email) > 0 {
-            my_email = qutil.ObjToString((*email)["s_myemail"])
-        }
-    }
-    if applyBill_type == "个人" {
-        applyBill_status = 1
-        if product == "VIP订阅" && my_email != "" {
-            updateBl = util.Mysql.Update("dataexport_order", queryMap, map[string]interface{}{"applyBill_status": applyBill_status, "user_mail": my_email})
-        } else {
-            updateBl = util.Mysql.Update("dataexport_order", queryMap, map[string]interface{}{"applyBill_status": applyBill_status})
-        }
-    } else if applyBill_type == "单位" {
-        applyBill_status = 1                                 //状态
-        applyBill_company = d.GetString("applyBill_company") //公司名
-        applyBill_taxnum = d.GetString("applyBill_taxnum")   //纳税人识别号
-        if product == "VIP订阅" && my_email != "" {
-            updateBl = util.Mysql.Update("dataexport_order", queryMap, map[string]interface{}{
-                "applyBill_company": applyBill_company,
-                "applyBill_taxnum":  applyBill_taxnum,
-                "applyBill_status":  applyBill_status,
-                "applyBill_type":    1,
-                "user_mail":         my_email,
-            }) //修改操作
-        } else {
-            updateBl = util.Mysql.Update("dataexport_order", queryMap, map[string]interface{}{
-                "applyBill_company": applyBill_company,
-                "applyBill_taxnum":  applyBill_taxnum,
-                "applyBill_status":  applyBill_status,
-                "applyBill_type":    1,
-            }) //修改操作
-        }
-    }
-    //判断条件
-    if updateBl {
-        go func() {
-            orderdata := util.Mysql.FindOne("dataexport_order", map[string]interface{}{
-                "order_code": order_code,
-            }, "id,filter,user_mail,user_phone,product_type,data_spec,filter_id,order_code,data_count,order_status,order_money,out_trade_no,applybill_type,applybill_company,applybill_taxnum,user_openid,create_time,pay_time,pay_way,pay_money,vip_starttime,vip_endtime,user_id,vip_type", "")
-            tt := time.Now()
-            pay_time := FormatDate(&tt, Date_Full_Layout)
-            entity.SendMailToBJFinance(orderdata, pay_time, "", 2, config.GmailAuth)
-        }()
-    }
-    d.ServeJson(map[string]interface{}{
-        "flag": updateBl,
-    })
-    return nil
+	var applyBill_status int
+	var order_code, applyBill_company, applyBill_taxnum, applyBill_type string
+	var updateBl bool = false
+	order_code = d.GetString("order_code")
+	//获取数据
+	applyBill_type = d.GetString("demo-radio") //个人 单位
+	queryMap := map[string]interface{}{
+		"order_code": order_code,
+	}
+	my_email, product := "", ""
+	product_type := util.Mysql.FindOne("dataexport_order", queryMap, "product_type", "")
+	if product_type != nil {
+		product = qutil.ObjToString((*product_type)["product_type"])
+	}
+	if product == "VIP订阅" {
+		//获取开发票时 用户所绑定的邮箱 user--s_myemail
+		d.GetSession("userId")
+		email := util.Compatible.Select(qutil.ObjToString(d.GetSession("userId")), `{"s_myemail":1}`)
+		if len(*email) > 0 {
+			my_email = qutil.ObjToString((*email)["s_myemail"])
+		}
+	}
+	if applyBill_type == "个人" {
+		applyBill_status = 1
+		if product == "VIP订阅" && my_email != "" {
+			updateBl = util.Mysql.Update("dataexport_order", queryMap, map[string]interface{}{"applyBill_status": applyBill_status, "user_mail": my_email})
+		} else {
+			updateBl = util.Mysql.Update("dataexport_order", queryMap, map[string]interface{}{"applyBill_status": applyBill_status})
+		}
+	} else if applyBill_type == "单位" {
+		applyBill_status = 1                                 //状态
+		applyBill_company = d.GetString("applyBill_company") //公司名
+		applyBill_taxnum = d.GetString("applyBill_taxnum")   //纳税人识别号
+		if product == "VIP订阅" && my_email != "" {
+			updateBl = util.Mysql.Update("dataexport_order", queryMap, map[string]interface{}{
+				"applyBill_company": applyBill_company,
+				"applyBill_taxnum":  applyBill_taxnum,
+				"applyBill_status":  applyBill_status,
+				"applyBill_type":    1,
+				"user_mail":         my_email,
+			}) //修改操作
+		} else {
+			updateBl = util.Mysql.Update("dataexport_order", queryMap, map[string]interface{}{
+				"applyBill_company": applyBill_company,
+				"applyBill_taxnum":  applyBill_taxnum,
+				"applyBill_status":  applyBill_status,
+				"applyBill_type":    1,
+			}) //修改操作
+		}
+	}
+	//判断条件
+	if updateBl {
+		go func() {
+			orderdata := util.Mysql.FindOne("dataexport_order", map[string]interface{}{
+				"order_code": order_code,
+			}, "id,filter,user_mail,user_phone,product_type,data_spec,filter_id,order_code,data_count,order_status,order_money,out_trade_no,applybill_type,applybill_company,applybill_taxnum,user_openid,create_time,pay_time,pay_way,pay_money,vip_starttime,vip_endtime,user_id,vip_type", "")
+			tt := time.Now()
+			pay_time := FormatDate(&tt, Date_Full_Layout)
+			entity.SendMailToBJFinance(orderdata, pay_time, "", 2, config.GmailAuth)
+		}()
+	}
+	d.ServeJson(map[string]interface{}{
+		"flag": updateBl,
+	})
+	return nil
 }
 }
 
 
 /*
 /*
@@ -191,136 +190,136 @@ func (d *CommonAction) ApplyInvoice() error {
 根据 id+openid 删除
 根据 id+openid 删除
 */
 */
 func (d *CommonAction) DeleteOrder() error {
 func (d *CommonAction) DeleteOrder() error {
-    if userId := d.GetSession("userId"); userId != nil {
-        queryMap := map[string]interface{}{
-            "id":      d.GetString("id"),
-            "user_id": userId.(string),
-        }
-        flag := false
-        order := util.Mysql.FindOne(tableName_order, queryMap, "filter,product_type,pay_way,out_trade_no,prepay_time,order_status,order_code,discount_price,d_relation_id,user_id", "")
-        if order != nil {
-            if qutil.IntAll((*order)["order_status"]) == 0 && qutil.ObjToString((*order)["pay_way"]) != "transferAccounts" { //未支付状态下 删除订单需要先关闭订单
-                flag = pay.CloseDataExportOrder(qutil.ObjToString((*order)["pay_way"]), qutil.ObjToString((*order)["out_trade_no"]), qutil.ObjToString((*order)["prepay_time"]))
-                //未支付 非对公转账
-                //卡卷取消绑定
-                userLotteryId := qutil.ObjToString((*order)["d_relation_id"])
-                if userLotteryId != "" {
-                    productType := 0 //商品类型0普通的1线上课程
-                    if product_type := qutil.ObjToString((*order)["product_type"]); product_type == "中标必听课" {
-                        productType = 1
-                    }
-                    discountId := ""
-                    var filter map[string]interface{}
-                    //关闭未支付订单
-                    if err := json.Unmarshal([]byte(qutil.ObjToString((*order)["filter"])), &filter); err != nil {
-                        log.Println("filter.json.Unmarshal出错", err)
-                    } else {
-                        if filter["discountId"] != nil {
-                            discountId = strconv.Itoa(qutil.IntAll(filter["discountId"]))
-                        }
-                    }
-                    order_code := qutil.ObjToString((*order)["order_code"])
-                    user_id := qutil.ObjToString((*order)["user_id"])
-                    go func(userId, userLotteryId, order_code string) {
-                        if !util.UpdateCouponState(userId, userLotteryId, qutil.ObjToString(d.GetSession("s_nickname")), qutil.ObjToString(d.GetSession("phone")), order_code, qutil.ObjToString((*order)["product_type"]), discountId, 0, productType) {
-                            log.Println(fmt.Sprintf("单号%s-解绑失败-卡卷%s", order_code, userLotteryId))
-                        }
-                    }(user_id, userLotteryId, order_code)
-                }
-            } else {
-                flag = true
-            }
-        }
-        if flag {
-            now := time.Now()
-            flag = util.Mysql.Update(tableName_order, queryMap, map[string]interface{}{"del_status": 1, "del_time": FormatDate(&now, Date_Full_Layout)})
-        }
-        d.ServeJson(map[string]interface{}{"success": flag})
-    }
-    return nil
+	if userId := d.GetSession("userId"); userId != nil {
+		queryMap := map[string]interface{}{
+			"id":      d.GetString("id"),
+			"user_id": userId.(string),
+		}
+		flag := false
+		order := util.Mysql.FindOne(tableName_order, queryMap, "filter,product_type,pay_way,out_trade_no,prepay_time,order_status,order_code,discount_price,d_relation_id,user_id", "")
+		if order != nil {
+			if qutil.IntAll((*order)["order_status"]) == 0 && qutil.ObjToString((*order)["pay_way"]) != "transferAccounts" { //未支付状态下 删除订单需要先关闭订单
+				flag = pay.CloseDataExportOrder(qutil.ObjToString((*order)["pay_way"]), qutil.ObjToString((*order)["out_trade_no"]), qutil.ObjToString((*order)["prepay_time"]))
+				//未支付 非对公转账
+				//卡卷取消绑定
+				userLotteryId := qutil.ObjToString((*order)["d_relation_id"])
+				if userLotteryId != "" {
+					productType := 0 //商品类型0普通的1线上课程
+					if product_type := qutil.ObjToString((*order)["product_type"]); product_type == "中标必听课" {
+						productType = 1
+					}
+					discountId := ""
+					var filter map[string]interface{}
+					//关闭未支付订单
+					if err := json.Unmarshal([]byte(qutil.ObjToString((*order)["filter"])), &filter); err != nil {
+						log.Println("filter.json.Unmarshal出错", err)
+					} else {
+						if filter["discountId"] != nil {
+							discountId = strconv.Itoa(qutil.IntAll(filter["discountId"]))
+						}
+					}
+					order_code := qutil.ObjToString((*order)["order_code"])
+					user_id := qutil.ObjToString((*order)["user_id"])
+					go func(userId, userLotteryId, order_code string) {
+						if !util.UpdateCouponState(userId, userLotteryId, qutil.ObjToString(d.GetSession("s_nickname")), qutil.ObjToString(d.GetSession("phone")), order_code, qutil.ObjToString((*order)["product_type"]), discountId, 0, productType) {
+							log.Println(fmt.Sprintf("单号%s-解绑失败-卡卷%s", order_code, userLotteryId))
+						}
+					}(user_id, userLotteryId, order_code)
+				}
+			} else {
+				flag = true
+			}
+		}
+		if flag {
+			now := time.Now()
+			flag = util.Mysql.Update(tableName_order, queryMap, map[string]interface{}{"del_status": 1, "del_time": FormatDate(&now, Date_Full_Layout)})
+		}
+		d.ServeJson(map[string]interface{}{"success": flag})
+	}
+	return nil
 }
 }
 
 
 func (p *CommonAction) IsPaySuccess() {
 func (p *CommonAction) IsPaySuccess() {
-    defer qutil.Catch()
-    code := p.GetString("code")
-    var paramStruct struct {
-        Code string
-    }
-    json.Unmarshal(p.Body(), &paramStruct)
-    if code == "" {
-        code = paramStruct.Code
-    }
-    userId, _ := p.GetSession("userId").(string)
-    if code != "" || userId != "" {
-        data := util.Mysql.FindOne("dataexport_order", map[string]interface{}{
-            "order_code": code,
-            "user_id":    userId,
-        }, "order_status,pay_time,user_mail,pay_way,pay_money,filter", "")
-        if data != nil && qutil.IntAll((*data)["order_status"]) == 1 {
-            t, _ := time.ParseInLocation(Date_Full_Layout, qutil.ObjToString((*data)["pay_time"]), time.Local)
-            p.ServeJson(map[string]interface{}{
-                "success":   true,
-                "email":     qutil.ObjToString((*data)["user_mail"]),
-                "payTime":   t.Unix(),
-                "pay_way":   (*data)["pay_way"],
-                "price":     (*data)["pay_money"],
-                "filter":    (*data)["filter"],
-                "orderCode": code,
-            })
-        }
-    }
-    p.ServeJson(map[string]interface{}{
-        "success": false,
-    })
+	defer qutil.Catch()
+	code := p.GetString("code")
+	var paramStruct struct {
+		Code string
+	}
+	json.Unmarshal(p.Body(), &paramStruct)
+	if code == "" {
+		code = paramStruct.Code
+	}
+	userId, _ := p.GetSession("userId").(string)
+	if code != "" || userId != "" {
+		data := util.Mysql.FindOne("dataexport_order", map[string]interface{}{
+			"order_code": code,
+			"user_id":    userId,
+		}, "order_status,pay_time,user_mail,pay_way,pay_money,filter", "")
+		if data != nil && qutil.IntAll((*data)["order_status"]) == 1 {
+			t, _ := time.ParseInLocation(Date_Full_Layout, qutil.ObjToString((*data)["pay_time"]), time.Local)
+			p.ServeJson(map[string]interface{}{
+				"success":   true,
+				"email":     qutil.ObjToString((*data)["user_mail"]),
+				"payTime":   t.Unix(),
+				"pay_way":   (*data)["pay_way"],
+				"price":     (*data)["pay_money"],
+				"filter":    (*data)["filter"],
+				"orderCode": code,
+			})
+		}
+	}
+	p.ServeJson(map[string]interface{}{
+		"success": false,
+	})
 }
 }
 
 
 func (d *CommonAction) GetwxSdkSign() {
 func (d *CommonAction) GetwxSdkSign() {
-    var sign []string
-    url := d.GetString("url")
-    if url != "" {
-        sign = SignJSSDK(url)
-    }
-    nickname, _ := d.Session().Get("s_nickname").(string)
-    avatar, _ := d.Session().Get("s_avatar").(string)
-    openid := encrypt.SE.EncodeString(qutil.ObjToString(d.GetSession("s_m_openid")))
-    d.ServeJson(map[string]interface{}{
-        "wxsdk":    sign,
-        "wxDomain": config.Config.WxDomain,
-        "nickname": nickname,
-        "avatar":   avatar,
-        "openid":   openid,
-    })
+	var sign []string
+	url := d.GetString("url")
+	if url != "" {
+		sign = SignJSSDK(url)
+	}
+	nickname, _ := d.Session().Get("s_nickname").(string)
+	avatar, _ := d.Session().Get("s_avatar").(string)
+	openid := encrypt.SE.EncodeString(qutil.ObjToString(d.GetSession("s_m_openid")))
+	d.ServeJson(map[string]interface{}{
+		"wxsdk":    sign,
+		"wxDomain": config.Config.WxDomain,
+		"nickname": nickname,
+		"avatar":   avatar,
+		"openid":   openid,
+	})
 }
 }
 
 
 func SignJSSDK(url string) []string {
 func SignJSSDK(url string) []string {
-    qutil.Catch()
-    var signature []string
-    var key = "wxsignature_" + url
-    if ret := redis.Get("other", key); ret != nil {
-        if d, err := json.Marshal(ret); err == nil {
-            json.Unmarshal(d, &signature)
-        }
-    }
-    if signature == nil || len(signature) == 0 {
-        qutil.Try(func() {
-            client, err := rpc.DialHTTP("tcp", config.Config.Weixinrpc)
-            defer client.Close()
-            if err != nil {
-                log.Println(err.Error())
-                return
-            }
-            err = client.Call("WeiXinRpc.GetJSInterfaceParam", url, &signature)
-            if err != nil {
-                log.Println(err.Error())
-            }
-        }, func(e interface{}) {})
-        if signature == nil || len(signature) != 4 || signature[3] == "" {
-            signature = []string{"", "", "", ""}
-        } else {
-            redis.Put("other", key, signature, 90*60)
-        }
-    }
-    return signature
+	qutil.Catch()
+	var signature []string
+	var key = "wxsignature_" + url
+	if ret := redis.Get("other", key); ret != nil {
+		if d, err := json.Marshal(ret); err == nil {
+			json.Unmarshal(d, &signature)
+		}
+	}
+	if signature == nil || len(signature) == 0 {
+		qutil.Try(func() {
+			client, err := rpc.DialHTTP("tcp", config.Config.Weixinrpc)
+			defer client.Close()
+			if err != nil {
+				log.Println(err.Error())
+				return
+			}
+			err = client.Call("WeiXinRpc.GetJSInterfaceParam", url, &signature)
+			if err != nil {
+				log.Println(err.Error())
+			}
+		}, func(e interface{}) {})
+		if signature == nil || len(signature) != 4 || signature[3] == "" {
+			signature = []string{"", "", "", ""}
+		} else {
+			redis.Put("other", key, signature, 90*60)
+		}
+	}
+	return signature
 }
 }
 
 
 /*
 /*
@@ -329,25 +328,25 @@ param
 orderCode 订单号
 orderCode 订单号
 */
 */
 func (this *CommonAction) GetCommonOrderPrice() {
 func (this *CommonAction) GetCommonOrderPrice() {
-    orderCode := this.GetString("orderCode")
-    userId := qutil.ObjToString(this.GetSession("userId"))
-    r := func() *entity.FuncResult {
-        query := map[string]interface{}{
-            "user_id":    userId,
-            "order_code": orderCode,
-        }
-        oData := util.Mysql.FindOne("dataexport_order", query, "order_money", "")
-        if oData == nil || len(*oData) == 0 {
-            return &entity.FuncResult{false, errors.New("未知订单"), nil}
-        }
-        return &entity.FuncResult{true, nil, map[string]interface{}{
-            "price": (*oData)["order_money"],
-        }}
-    }()
-    if r.Err != nil {
-        log.Printf("%s GetCommonOrderPrice err:%v\n", userId, r.Err.Error())
-    }
-    this.ServeJson(r.Format())
+	orderCode := this.GetString("orderCode")
+	userId := qutil.ObjToString(this.GetSession("userId"))
+	r := func() *entity.FuncResult {
+		query := map[string]interface{}{
+			"user_id":    userId,
+			"order_code": orderCode,
+		}
+		oData := util.Mysql.FindOne("dataexport_order", query, "order_money", "")
+		if oData == nil || len(*oData) == 0 {
+			return &entity.FuncResult{false, errors.New("未知订单"), nil}
+		}
+		return &entity.FuncResult{true, nil, map[string]interface{}{
+			"price": (*oData)["order_money"],
+		}}
+	}()
+	if r.Err != nil {
+		log.Printf("%s GetCommonOrderPrice err:%v\n", userId, r.Err.Error())
+	}
+	this.ServeJson(r.Format())
 }
 }
 
 
 /*
 /*
@@ -358,110 +357,110 @@ payway 支付方式
 dotype 产品类型
 dotype 产品类型
 */
 */
 func (this *CommonAction) GetCommonPayParam() {
 func (this *CommonAction) GetCommonPayParam() {
-    orderCode := this.GetString("orderCode")
-    payway_req := this.GetString("payway")
-    var paramStruct struct {
-        OrderCode string
-        Payway    string
-    }
-    json.Unmarshal(this.Body(), &paramStruct)
-    if orderCode == "" {
-        orderCode = paramStruct.OrderCode
-    }
-    if payway_req == "" {
-        payway_req = paramStruct.Payway
-    }
-    userId := qutil.ObjToString(this.GetSession("userId"))
-    miniprogramCode := this.Header("MiniprogramCode")
-    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,product_type,out_trade_no,course_status", "")
-        if oData == nil || len(*oData) == 0 {
-            return &entity.FuncResult{false, errors.New("未知订单"), nil}
-        }
-        //对公转账审核中
-        if qutil.IntAll((*oData)["course_status"]) == 2 || qutil.IntAll((*oData)["course_status"]) == 4 {
-            return &entity.FuncResult{false, errors.New("转账审核中,请勿重复支付"), nil}
-        }
-        payParam := qutil.ObjToString((*oData)["code_url"])
-        payway := qutil.ObjToString((*oData)["pay_way"])
-        totalfee := qutil.IntAll((*oData)["order_money"])
-        var product_type = qutil.ObjToString((*oData)["product_type"])
-        appid := ""
-        if miniprogramCode == "" {
-            //上次订单支付串是否可用
-            if prepayTime, err := time.ParseInLocation(Date_Full_Layout, qutil.ObjToString((*oData)["prepay_time"]), time.Local); err == nil && payParam != "" {
-                if time.Now().Before(prepayTime.Add(time.Hour * 2)) { //支付串未过期
-                    if payway == payway_req {
-                        if payParam != "" {
-                            return &entity.FuncResult{true, nil, map[string]interface{}{
-                                "orderCode": orderCode,
-                                "res":       payParam,
-                                "price":     totalfee,
-                                "timeout":   prepayTime.Unix() + 2*60*60 - time.Now().Unix(),
-                                "payWay":    payway}}
-                        }
-                    } else {
-                        //关闭之前支付串(防止重复支付)
-                        if !pay.CloseOrder(qutil.ObjToString((*oData)["out_trade_no"]), payway) {
-                            log.Printf("GetCommonPayParam 关闭订单%s出错\n", orderCode)
-                            return &entity.FuncResult{false, errors.New("支付方式切换异常"), nil}
-                        }
-                    }
-                }
-            }
-        } else {
-            payway_req = "wx_js"
-            appid = g.Cfg().MustGet(gctx.New(), "miniprogram."+miniprogramCode+".appid").String()
-            if appid == "" {
-                return &entity.FuncResult{false, errors.New(fmt.Sprint("没有找到该小程序%s的appid", miniprogramCode)), nil}
-            }
-        }
-        //重新生成支付串
-        productFlag, ok := pay.PayWayAndSign[product_type][payway_req]
-        if !ok {
-            return &entity.FuncResult{false, errors.New("未知支付类型:" + payway_req), nil}
-        }
-        //tradeno, prepayid, payParam, err := pay.CreateOrderPay(totalfee, productFlag, this.IP(), qutil.ObjToString(this.GetSession("s_m_openid")), appid, payway_req, orderCode, product_type)
-        tradeno, prepayid, payParam, err := pay.CreateOrderPay(totalfee, productFlag, this.IP(), qutil.ObjToString(this.GetSession("s_m_openid")), appid, payway_req, orderCode, 0, product_type)
-        if err != nil {
-            return &entity.FuncResult{false, errors.New(fmt.Sprintf("创建支付失败[%v]", err)), nil}
-        }
-        //更新订单表
-        now := time.Now()
-        update := map[string]interface{}{
-            "prepay_time":  FormatDate(&now, Date_Full_Layout),
-            "out_trade_no": tradeno,
-            "prepay_id":    prepayid,
-            "pay_way":      payway_req,
-        }
-        if miniprogramCode == "" {
-            update["code_url"] = payParam
-        }
-        ok = util.Mysql.Update("dataexport_order", query, update)
-        if !ok {
-            return &entity.FuncResult{false, errors.New("数据库操作异常"), nil}
-        }
-        return &entity.FuncResult{true, nil, map[string]interface{}{
-            "orderCode": orderCode,
-            "res":       payParam,
-            "price":     totalfee,
-            "timeout":   2 * 60 * 60,
-            "payWay":    payway_req}}
-    }()
-    if r.Err != nil {
-        log.Printf("%s GetCommonPayParam err:%v\n", userId, r.Err.Error())
-    }
-    if payway_req == "wx_pc" && r.Data["res"] != nil {
-        rEncode, _ := qr.Encode(qutil.ObjToString(r.Data["res"]), qr.M)
-        pngdat := rEncode.PNG()
-        r.Data["res"] = base64.StdEncoding.EncodeToString(pngdat)
-    }
-    this.ServeJson(r.Format())
+	orderCode := this.GetString("orderCode")
+	payway_req := this.GetString("payway")
+	var paramStruct struct {
+		OrderCode string
+		Payway    string
+	}
+	json.Unmarshal(this.Body(), &paramStruct)
+	if orderCode == "" {
+		orderCode = paramStruct.OrderCode
+	}
+	if payway_req == "" {
+		payway_req = paramStruct.Payway
+	}
+	userId := qutil.ObjToString(this.GetSession("userId"))
+	miniprogramCode := this.Header("MiniprogramCode")
+	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,product_type,out_trade_no,course_status", "")
+		if oData == nil || len(*oData) == 0 {
+			return &entity.FuncResult{false, errors.New("未知订单"), nil}
+		}
+		//对公转账审核中
+		if qutil.IntAll((*oData)["course_status"]) == 2 || qutil.IntAll((*oData)["course_status"]) == 4 {
+			return &entity.FuncResult{false, errors.New("转账审核中,请勿重复支付"), nil}
+		}
+		payParam := qutil.ObjToString((*oData)["code_url"])
+		payway := qutil.ObjToString((*oData)["pay_way"])
+		totalfee := qutil.IntAll((*oData)["order_money"])
+		var product_type = qutil.ObjToString((*oData)["product_type"])
+		appid := ""
+		if miniprogramCode == "" {
+			//上次订单支付串是否可用
+			if prepayTime, err := time.ParseInLocation(Date_Full_Layout, qutil.ObjToString((*oData)["prepay_time"]), time.Local); err == nil && payParam != "" {
+				if time.Now().Before(prepayTime.Add(time.Hour * 2)) { //支付串未过期
+					if payway == payway_req {
+						if payParam != "" {
+							return &entity.FuncResult{true, nil, map[string]interface{}{
+								"orderCode": orderCode,
+								"res":       payParam,
+								"price":     totalfee,
+								"timeout":   prepayTime.Unix() + 2*60*60 - time.Now().Unix(),
+								"payWay":    payway}}
+						}
+					} else {
+						//关闭之前支付串(防止重复支付)
+						if !pay.CloseOrder(qutil.ObjToString((*oData)["out_trade_no"]), payway) {
+							log.Printf("GetCommonPayParam 关闭订单%s出错\n", orderCode)
+							return &entity.FuncResult{false, errors.New("支付方式切换异常"), nil}
+						}
+					}
+				}
+			}
+		} else {
+			payway_req = "wx_js"
+			appid = g.Cfg().MustGet(gctx.New(), "miniprogram."+miniprogramCode+".appid").String()
+			if appid == "" {
+				return &entity.FuncResult{false, errors.New(fmt.Sprint("没有找到该小程序%s的appid", miniprogramCode)), nil}
+			}
+		}
+		//重新生成支付串
+		productFlag, ok := pay.PayWayAndSign[product_type][payway_req]
+		if !ok {
+			return &entity.FuncResult{false, errors.New("未知支付类型:" + payway_req), nil}
+		}
+		//tradeno, prepayid, payParam, err := pay.CreateOrderPay(totalfee, productFlag, this.IP(), qutil.ObjToString(this.GetSession("s_m_openid")), appid, payway_req, orderCode, product_type)
+		tradeno, prepayid, payParam, err := pay.CreateOrderPay(totalfee, productFlag, this.IP(), qutil.ObjToString(this.GetSession("s_m_openid")), appid, payway_req, orderCode, 0, product_type)
+		if err != nil {
+			return &entity.FuncResult{false, errors.New(fmt.Sprintf("创建支付失败[%v]", err)), nil}
+		}
+		//更新订单表
+		now := time.Now()
+		update := map[string]interface{}{
+			"prepay_time":  FormatDate(&now, Date_Full_Layout),
+			"out_trade_no": tradeno,
+			"prepay_id":    prepayid,
+			"pay_way":      payway_req,
+		}
+		if miniprogramCode == "" {
+			update["code_url"] = payParam
+		}
+		ok = util.Mysql.Update("dataexport_order", query, update)
+		if !ok {
+			return &entity.FuncResult{false, errors.New("数据库操作异常"), nil}
+		}
+		return &entity.FuncResult{true, nil, map[string]interface{}{
+			"orderCode": orderCode,
+			"res":       payParam,
+			"price":     totalfee,
+			"timeout":   2 * 60 * 60,
+			"payWay":    payway_req}}
+	}()
+	if r.Err != nil {
+		log.Printf("%s GetCommonPayParam err:%v\n", userId, r.Err.Error())
+	}
+	if payway_req == "wx_pc" && r.Data["res"] != nil {
+		rEncode, _ := qr.Encode(qutil.ObjToString(r.Data["res"]), qr.M)
+		pngdat := rEncode.PNG()
+		r.Data["res"] = base64.StdEncoding.EncodeToString(pngdat)
+	}
+	this.ServeJson(r.Format())
 }
 }
 
 
 /*
 /*
@@ -474,406 +473,406 @@ dotype 产品类型
 var imgReg = regexp.MustCompile(".*.(gif|jpeg|png|jpg)$")
 var imgReg = regexp.MustCompile(".*.(gif|jpeg|png|jpg)$")
 
 
 func (this *CommonAction) SaveTransferAccounts() {
 func (this *CommonAction) SaveTransferAccounts() {
-    orderCode := this.GetString("orderCode")
-    transferV := this.GetString("transferV")
-    userId := qutil.ObjToString(this.GetSession("userId"))
-    productType := ""
-    r := func() *entity.FuncResult {
-        if !imgReg.MatchString(transferV) {
-            return &entity.FuncResult{false, errors.New("上传图片异常"), nil}
-        }
-        query := map[string]interface{}{"order_code": orderCode, "user_id": userId}
-        rSearch := util.Mysql.FindOne("dataexport_order", query, "order_channel,order_status,product_type,filter,course_status,out_trade_no,pay_way,create_time,order_code,user_phone,order_money", "")
-        if rSearch == nil || len(*rSearch) == 0 {
-            return &entity.FuncResult{false, errors.New("未查到订单数据"), nil}
-        }
-        if !(qutil.IntAll((*rSearch)["order_status"]) == 0 && (qutil.IntAll((*rSearch)["course_status"]) == 0 || qutil.IntAll((*rSearch)["course_status"]) == 1 || qutil.IntAll((*rSearch)["course_status"]) == 3)) {
-            return &entity.FuncResult{false, errors.New("操作异常"), nil}
-        }
-        productType = qutil.ObjToString((*rSearch)["product_type"])
-        if !(productType == "招投标课程" || productType == "大会员" || productType == "VIP订阅") {
-            return &entity.FuncResult{false, errors.New("非法请求"), nil}
-        }
-        //保存更新filter
-        filterStr := qutil.ObjToString((*rSearch)["filter"])
-        mapTmp := map[string]interface{}{}
-        if json.Unmarshal([]byte(filterStr), &mapTmp) != nil || len(mapTmp) == 0 {
-            return &entity.FuncResult{false, errors.New("存储失败"), nil}
-        }
-        mapTmp["transferV"] = transferV
-        mapTmp["transferVTime"] = time.Now().Format(Date_Full_Layout)
-        mapTmp["originalAmount"] = (*rSearch)["order_money"]
-        finalStr, err := json.Marshal(mapTmp)
-        if err != nil || string(filterStr) == "" {
-            return &entity.FuncResult{false, errors.New("存储失败"), nil}
-        }
-        //保存更新filter--end
-        saveFlag := util.Mysql.Update("dataexport_order", query, map[string]interface{}{
-            "course_status":    2, //公对公转账审核中----
-            "pay_way":          "transferAccounts",
-            "procedures_money": math.Round(qutil.Float64All((*rSearch)["order_money"]) * config.Config.CorporateProceduresMoney / 100),
-            "filter":           string(finalStr),
-        })
-
-        if !saveFlag {
-            return &entity.FuncResult{false, errors.New("保存失败"), nil}
-        }
-        go func() {
-            //entity.SendMailToOperation(1, orderCode, productType, config.GmailAuth)
-            //关闭之前支付串(防止重复支付)
-            if qutil.ObjToString((*rSearch)["pay_way"]) != "" {
-                if !pay.CloseOrder(qutil.ObjToString((*rSearch)["out_trade_no"]), qutil.ObjToString((*rSearch)["pay_way"])) {
-                    log.Printf("SaveTransferAccounts 关闭订单%s出错\n", orderCode)
-                }
-            }
-            //发送对公转账审核提醒邮件
-            if err = util.OrderSendMail(*rSearch); err != nil {
-                log.Printf("对公转账邮件发送错误:order:%s,err:%v", orderCode, err.Error())
-            }
-        }()
-        return &entity.FuncResult{true, nil, nil}
-    }()
-    if r.Err != nil {
-        log.Printf("%s SaveTransferAccounts [%s ,%s] err:%v\n", userId, orderCode, transferV, r.Err.Error())
-    }
-    this.ServeJson(r.Format())
+	orderCode := this.GetString("orderCode")
+	transferV := this.GetString("transferV")
+	userId := qutil.ObjToString(this.GetSession("userId"))
+	productType := ""
+	r := func() *entity.FuncResult {
+		if !imgReg.MatchString(transferV) {
+			return &entity.FuncResult{false, errors.New("上传图片异常"), nil}
+		}
+		query := map[string]interface{}{"order_code": orderCode, "user_id": userId}
+		rSearch := util.Mysql.FindOne("dataexport_order", query, "order_channel,order_status,product_type,filter,course_status,out_trade_no,pay_way,create_time,order_code,user_phone,order_money", "")
+		if rSearch == nil || len(*rSearch) == 0 {
+			return &entity.FuncResult{false, errors.New("未查到订单数据"), nil}
+		}
+		if !(qutil.IntAll((*rSearch)["order_status"]) == 0 && (qutil.IntAll((*rSearch)["course_status"]) == 0 || qutil.IntAll((*rSearch)["course_status"]) == 1 || qutil.IntAll((*rSearch)["course_status"]) == 3)) {
+			return &entity.FuncResult{false, errors.New("操作异常"), nil}
+		}
+		productType = qutil.ObjToString((*rSearch)["product_type"])
+		if !(productType == "招投标课程" || productType == "大会员" || productType == "VIP订阅") {
+			return &entity.FuncResult{false, errors.New("非法请求"), nil}
+		}
+		//保存更新filter
+		filterStr := qutil.ObjToString((*rSearch)["filter"])
+		mapTmp := map[string]interface{}{}
+		if json.Unmarshal([]byte(filterStr), &mapTmp) != nil || len(mapTmp) == 0 {
+			return &entity.FuncResult{false, errors.New("存储失败"), nil}
+		}
+		mapTmp["transferV"] = transferV
+		mapTmp["transferVTime"] = time.Now().Format(Date_Full_Layout)
+		mapTmp["originalAmount"] = (*rSearch)["order_money"]
+		finalStr, err := json.Marshal(mapTmp)
+		if err != nil || string(filterStr) == "" {
+			return &entity.FuncResult{false, errors.New("存储失败"), nil}
+		}
+		//保存更新filter--end
+		saveFlag := util.Mysql.Update("dataexport_order", query, map[string]interface{}{
+			"course_status":    2, //公对公转账审核中----
+			"pay_way":          "transferAccounts",
+			"procedures_money": math.Round(qutil.Float64All((*rSearch)["order_money"]) * config.Config.CorporateProceduresMoney / 100),
+			"filter":           string(finalStr),
+		})
+
+		if !saveFlag {
+			return &entity.FuncResult{false, errors.New("保存失败"), nil}
+		}
+		go func() {
+			//entity.SendMailToOperation(1, orderCode, productType, config.GmailAuth)
+			//关闭之前支付串(防止重复支付)
+			if qutil.ObjToString((*rSearch)["pay_way"]) != "" {
+				if !pay.CloseOrder(qutil.ObjToString((*rSearch)["out_trade_no"]), qutil.ObjToString((*rSearch)["pay_way"])) {
+					log.Printf("SaveTransferAccounts 关闭订单%s出错\n", orderCode)
+				}
+			}
+			//发送对公转账审核提醒邮件
+			if err = util.OrderSendMail(*rSearch); err != nil {
+				log.Printf("对公转账邮件发送错误:order:%s,err:%v", orderCode, err.Error())
+			}
+		}()
+		return &entity.FuncResult{true, nil, nil}
+	}()
+	if r.Err != nil {
+		log.Printf("%s SaveTransferAccounts [%s ,%s] err:%v\n", userId, orderCode, transferV, r.Err.Error())
+	}
+	this.ServeJson(r.Format())
 }
 }
 
 
 func (this *CommonAction) Createorder() {
 func (this *CommonAction) Createorder() {
-    sessVal := this.Session().GetMultiple()
-    userid, _ := sessVal["userId"].(string)
-    phone := qutil.ObjToString(sessVal["phone"])
-    positionId := qutil.IntAll(sessVal["positionId"])
-    mgoId := qutil.ObjToString(sessVal["mgoUserId"])
-    rData, errMsg := func() (interface{}, error) {
-        //参数接收
-        infoMap := map[string]interface{}{}
-        if string(this.Body()) == "" {
-            return nil, fmt.Errorf("无效参数")
-        }
-        body := xweb.FilterXSS(string(this.Body()))
-        //接收参数
-        _ = json.Unmarshal([]byte(body), &infoMap)
-        if len(infoMap) == 0 {
-            return nil, fmt.Errorf("无效参数")
-        }
-        //产品类型
-        product, _ := infoMap["product"].(string)
-        if !config.Config.Product[product] {
-            return nil, fmt.Errorf("请求产品类型有误")
-        }
-        productId := strconv.Itoa(qutil.IntAll(infoMap["productId"]))
-        data, _ := infoMap["data"].(map[string]interface{})
-        if len(data) <= 0 {
-            return nil, fmt.Errorf("无效参数")
-        }
-        log.Println(infoMap)
-
-        //校验
-        if err := entity.JyCommonOrderStruct.RequestCheck(product, data, this.Session()); err != "" {
-            return nil, fmt.Errorf(err)
-        }
-
-        //获取卡券相关 活动需要字段从data字段中提取出来
-        lotteryId := qutil.IntAll(infoMap["lotteryId"]) //卡卷信息的id
-        lotteryIdStr := strconv.Itoa(lotteryId)
-        i_discountId := qutil.IntAll(infoMap["discountId"])   //赠品相关
-        activityType := qutil.IntAll(infoMap["activityType"]) //活动类型
-        discountId := strconv.Itoa(i_discountId)
-
-        inserMap, msg := entity.JyCommonOrderStruct.InserMap(product, productId, userid, lotteryIdStr, discountId, data, this.Session(), activityType)
-        //错误信息
-        if msg != "" {
-            return nil, fmt.Errorf(msg)
-        }
-        now := time.Now()
-        distributionChannel, orderChannel := util.GetJyOrderChannel(inserMap.DisWord, this.Header("User-Agent"))
-        if inserMap.OrderMoney == 0 { //0元订单 新增类型
-            filterMap := make(map[string]interface{})
-            err := json.Unmarshal([]byte(inserMap.Filter), &filterMap)
-            if err == nil {
-                filterMap["zeroOrderType"] = "赠送"
-                filter, err1 := json.Marshal(filterMap)
-                if err1 == nil {
-                    inserMap.Filter = string(filter)
-                }
-            }
-        }
-        insertM := map[string]interface{}{
-            "order_money":          inserMap.OrderMoney,
-            "order_status":         inserMap.OrderStatus,
-            "service_status":       inserMap.ServiceStatus,
-            "user_phone":           inserMap.UserPhone,
-            "order_code":           inserMap.OrderCode,
-            "product_type":         product,
-            "create_time":          FormatDate(&now, Date_Full_Layout),
-            "original_price":       inserMap.OriginalPrice,
-            "user_id":              userid,
-            "filter":               inserMap.Filter,
-            "discount_price":       inserMap.DiscountPrice,
-            "d_relation_id":        inserMap.DrelationId,
-            "data_spec":            inserMap.DataSpec,
-            "user_mail":            inserMap.UserMail,
-            "data_count":           inserMap.DataCount,
-            "filter_publishtime":   inserMap.FilterPublishtime,
-            "filter_keys":          inserMap.FilterKeys,
-            "download_url":         inserMap.DownloadUrl,
-            "dis_word":             inserMap.DisWord,
-            "distribution_channel": distributionChannel, //销售渠道
-            "order_channel":        orderChannel,        //下单渠道
-            "audit_status":         3,                   //默认审核通过
-        }
-
-        if openId := qutil.ObjToString(sessVal["s_m_openid"]); openId != "" {
-            insertM["user_openid"] = openId
-        }
-
-        if nickname := qutil.ObjToString(sessVal["s_nickname"]); nickname != "" {
-            insertM["user_nickname"] = nickname
-        }
-
-        if inserMap.VipStartTime != "" && inserMap.VipEndTime != "" {
-            insertM["vip_starttime"] = inserMap.VipStartTime
-            insertM["vip_endtime"] = inserMap.VipEndTime
-        }
-        if inserMap.PrepayTime != "" {
-            insertM["prepay_time"] = inserMap.PrepayTime
-        }
-        if inserMap.OutTradeNo != "" {
-            insertM["out_trade_no"] = inserMap.OutTradeNo
-        }
-        if inserMap.PayWay != "" {
-            insertM["pay_way"] = inserMap.PayWay
-        }
-        if inserMap.PrepayId != "" {
-            insertM["prepay_id"] = inserMap.PrepayId
-        }
-        if inserMap.CodeUrl != "" {
-            insertM["code_url"] = inserMap.CodeUrl
-        }
-        if inserMap.FilterId != "" {
-            insertM["filter_id"] = inserMap.FilterId
-        }
-        //if inserMap.VipType != 0 {
-        insertM["vip_type"] = inserMap.VipType
-        //}
-        if inserMap.ExpirationTime != "" {
-            insertM["expiration_time"] = inserMap.ExpirationTime
-        }
-        if qutil.IntAll(sessVal["positionType"]) == 1 {
-            insertM["buy_subject"] = 2
-            insertM["buy_count"] = 1
-        }
-        var orderid int64
-        ok := util.Mysql.ExecTx("创建订单公共方法", func(tx *sql.Tx) bool {
-            orderid = util.Mysql.InsertByTx(tx, "dataexport_order", insertM)
-            if orderid <= 0 {
-                return false
-            }
-            //销售业绩
-            if util.Mysql.InsertByTx(tx, "order_sale_record", map[string]interface{}{
-                "state":                2,
-                "ordercode":            inserMap.OrderCode,
-                "saler_dept":           "运营部",
-                "saler_dept_id":        27103,
-                "saler_name":           "-",
-                "saler_Id":             -1,
-                "change_value":         inserMap.OrderMoney,
-                "money":                inserMap.OrderMoney,
-                "group_uuid":           uuid.New().String(),
-                "operator":             "系统自动",
-                "distribution_channel": distributionChannel,
-                "create_time":          FormatDate(&now, Date_Full_Layout),
-            }) <= 0 {
-                return false
-            }
-            if util.Mysql.InsertByTx(tx, "audit_records", map[string]interface{}{
-                "operator":      "-",
-                "create_time":   NowFormat(Date_Full_Layout),
-                "operator_type": 1,
-                "audit_status":  3,
-                "order_code":    inserMap.OrderCode,
-                "audit_type":    2,
-            }) <= 0 {
-                return false
-            }
-            return true
-        })
-        if !ok {
-            return nil, fmt.Errorf("创建订单异常")
-        }
-
-        var (
-            cacheKey = ""
-        )
-        if product == "VIP订阅" {
-            orderKey := fmt.Sprintf("order_%s", inserMap.OrderCode)
-            uInfo := map[string]interface{}{
-                "mgoId":      mgoId,
-                "positionId": positionId,
-                "phone":      phone,
-            }
-            redis.Put("other", orderKey, uInfo, 60*60*24*3)
-            //P506
-            cacheKey = fmt.Sprintf("key_phrases_v_%s", mgoId)
-        } else if product == "大会员" {
-            // p527
-            orderKey := fmt.Sprintf("order_%s", inserMap.OrderCode)
-            uInfo := map[string]interface{}{
-                "mgoId":      mgoId,
-                "positionId": positionId,
-                "phone":      phone,
-            }
-            redis.Put("other", orderKey, uInfo, 60*60*24*3)
-            //P506
-            cacheKey = fmt.Sprintf("key_phrases_m_%s", mgoId)
-        }
-        //P506  关键词组  订单信息绑定
-        if cacheKey != "" {
-            go func(cacheKey, mgoId, orderCode string) {
-                if code := redis.GetStr("limitation", cacheKey); code != "" {
-                    if util.Mysql.ExecTx("关键词组订单关联表保存", func(tx *sql.Tx) bool {
-                        var oCount int64
-                        kpSql := `SELECT id FROM base_service.key_phrases WHERE  FIND_IN_SET(?,er_code)  ORDER BY update_time DESC`
-                        kps := util.BaseMysql.SelectBySql(kpSql, code)
-                        if kps != nil && len(*kps) > 0 {
-                            kp := (*kps)[0]
-                            id := qutil.Int64All(kp["id"])
-                            oCount = util.BaseMysql.InsertByTx(tx, "base_service.key_phrases_order", map[string]interface{}{
-                                "kp_id":       id,
-                                "er_code":     code,
-                                "order_code":  orderCode,
-                                "create_time": time.Now().Format(Date_Full_Layout),
-                            })
-                        }
-                        return oCount > 0
-                    }) {
-                        redis.Del("limitation", cacheKey)
-                    } else {
-                        log.Println("关键词组订单关联表 错误:", mgoId, "-订单号:", orderCode)
-                    }
-                }
-            }(cacheKey, mgoId, inserMap.OrderCode)
-        }
-        if activityType >= 2 {
-            util.FindUserLotteryId(userid, orderid, i_discountId)
-        }
-        rdata := map[string]interface{}{"order_code": inserMap.OrderCode, "needPay": !inserMap.UnNeedPay}
-        return rdata, nil
-    }()
-    if errMsg != nil {
-        log.Printf("%s CreateOrder 异常:%s\n", userid, errMsg.Error())
-    }
-    //创建完订单后更新卡券信息
-    this.ServeJson(NewResult(rData, errMsg))
+	sessVal := this.Session().GetMultiple()
+	userid, _ := sessVal["userId"].(string)
+	phone := qutil.ObjToString(sessVal["phone"])
+	positionId := qutil.IntAll(sessVal["positionId"])
+	mgoId := qutil.ObjToString(sessVal["mgoUserId"])
+	rData, errMsg := func() (interface{}, error) {
+		//参数接收
+		infoMap := map[string]interface{}{}
+		if string(this.Body()) == "" {
+			return nil, fmt.Errorf("无效参数")
+		}
+		body := xweb.FilterXSS(string(this.Body()))
+		//接收参数
+		_ = json.Unmarshal([]byte(body), &infoMap)
+		if len(infoMap) == 0 {
+			return nil, fmt.Errorf("无效参数")
+		}
+		//产品类型
+		product, _ := infoMap["product"].(string)
+		if !config.Config.Product[product] {
+			return nil, fmt.Errorf("请求产品类型有误")
+		}
+		productId := strconv.Itoa(qutil.IntAll(infoMap["productId"]))
+		data, _ := infoMap["data"].(map[string]interface{})
+		if len(data) <= 0 {
+			return nil, fmt.Errorf("无效参数")
+		}
+		log.Println(infoMap)
+
+		//校验
+		if err := entity.JyCommonOrderStruct.RequestCheck(product, data, this.Session()); err != "" {
+			return nil, fmt.Errorf(err)
+		}
+
+		//获取卡券相关 活动需要字段从data字段中提取出来
+		lotteryId := qutil.IntAll(infoMap["lotteryId"]) //卡卷信息的id
+		lotteryIdStr := strconv.Itoa(lotteryId)
+		i_discountId := qutil.IntAll(infoMap["discountId"])   //赠品相关
+		activityType := qutil.IntAll(infoMap["activityType"]) //活动类型
+		discountId := strconv.Itoa(i_discountId)
+
+		inserMap, msg := entity.JyCommonOrderStruct.InserMap(product, productId, userid, lotteryIdStr, discountId, data, this.Session(), activityType)
+		//错误信息
+		if msg != "" {
+			return nil, fmt.Errorf(msg)
+		}
+		now := time.Now()
+		distributionChannel, orderChannel := util.GetJyOrderChannel(inserMap.DisWord, this.Header("User-Agent"))
+		if inserMap.OrderMoney == 0 { //0元订单 新增类型
+			filterMap := make(map[string]interface{})
+			err := json.Unmarshal([]byte(inserMap.Filter), &filterMap)
+			if err == nil {
+				filterMap["zeroOrderType"] = "赠送"
+				filter, err1 := json.Marshal(filterMap)
+				if err1 == nil {
+					inserMap.Filter = string(filter)
+				}
+			}
+		}
+		insertM := map[string]interface{}{
+			"order_money":          inserMap.OrderMoney,
+			"order_status":         inserMap.OrderStatus,
+			"service_status":       inserMap.ServiceStatus,
+			"user_phone":           inserMap.UserPhone,
+			"order_code":           inserMap.OrderCode,
+			"product_type":         product,
+			"create_time":          FormatDate(&now, Date_Full_Layout),
+			"original_price":       inserMap.OriginalPrice,
+			"user_id":              userid,
+			"filter":               inserMap.Filter,
+			"discount_price":       inserMap.DiscountPrice,
+			"d_relation_id":        inserMap.DrelationId,
+			"data_spec":            inserMap.DataSpec,
+			"user_mail":            inserMap.UserMail,
+			"data_count":           inserMap.DataCount,
+			"filter_publishtime":   inserMap.FilterPublishtime,
+			"filter_keys":          inserMap.FilterKeys,
+			"download_url":         inserMap.DownloadUrl,
+			"dis_word":             inserMap.DisWord,
+			"distribution_channel": distributionChannel, //销售渠道
+			"order_channel":        orderChannel,        //下单渠道
+			"audit_status":         3,                   //默认审核通过
+		}
+
+		if openId := qutil.ObjToString(sessVal["s_m_openid"]); openId != "" {
+			insertM["user_openid"] = openId
+		}
+
+		if nickname := qutil.ObjToString(sessVal["s_nickname"]); nickname != "" {
+			insertM["user_nickname"] = nickname
+		}
+
+		if inserMap.VipStartTime != "" && inserMap.VipEndTime != "" {
+			insertM["vip_starttime"] = inserMap.VipStartTime
+			insertM["vip_endtime"] = inserMap.VipEndTime
+		}
+		if inserMap.PrepayTime != "" {
+			insertM["prepay_time"] = inserMap.PrepayTime
+		}
+		if inserMap.OutTradeNo != "" {
+			insertM["out_trade_no"] = inserMap.OutTradeNo
+		}
+		if inserMap.PayWay != "" {
+			insertM["pay_way"] = inserMap.PayWay
+		}
+		if inserMap.PrepayId != "" {
+			insertM["prepay_id"] = inserMap.PrepayId
+		}
+		if inserMap.CodeUrl != "" {
+			insertM["code_url"] = inserMap.CodeUrl
+		}
+		if inserMap.FilterId != "" {
+			insertM["filter_id"] = inserMap.FilterId
+		}
+		//if inserMap.VipType != 0 {
+		insertM["vip_type"] = inserMap.VipType
+		//}
+		if inserMap.ExpirationTime != "" {
+			insertM["expiration_time"] = inserMap.ExpirationTime
+		}
+		if qutil.IntAll(sessVal["positionType"]) == 1 {
+			insertM["buy_subject"] = 2
+			insertM["buy_count"] = 1
+		}
+		var orderid int64
+		ok := util.Mysql.ExecTx("创建订单公共方法", func(tx *sql.Tx) bool {
+			orderid = util.Mysql.InsertByTx(tx, "dataexport_order", insertM)
+			if orderid <= 0 {
+				return false
+			}
+			//销售业绩
+			if util.Mysql.InsertByTx(tx, "order_sale_record", map[string]interface{}{
+				"state":                2,
+				"ordercode":            inserMap.OrderCode,
+				"saler_dept":           "运营部",
+				"saler_dept_id":        27103,
+				"saler_name":           "-",
+				"saler_Id":             -1,
+				"change_value":         inserMap.OrderMoney,
+				"money":                inserMap.OrderMoney,
+				"group_uuid":           uuid.New().String(),
+				"operator":             "系统自动",
+				"distribution_channel": distributionChannel,
+				"create_time":          FormatDate(&now, Date_Full_Layout),
+			}) <= 0 {
+				return false
+			}
+			if util.Mysql.InsertByTx(tx, "audit_records", map[string]interface{}{
+				"operator":      "-",
+				"create_time":   NowFormat(Date_Full_Layout),
+				"operator_type": 1,
+				"audit_status":  3,
+				"order_code":    inserMap.OrderCode,
+				"audit_type":    2,
+			}) <= 0 {
+				return false
+			}
+			return true
+		})
+		if !ok {
+			return nil, fmt.Errorf("创建订单异常")
+		}
+
+		var (
+			cacheKey = ""
+		)
+		if product == "VIP订阅" {
+			orderKey := fmt.Sprintf("order_%s", inserMap.OrderCode)
+			uInfo := map[string]interface{}{
+				"mgoId":      mgoId,
+				"positionId": positionId,
+				"phone":      phone,
+			}
+			redis.Put("other", orderKey, uInfo, 60*60*24*3)
+			//P506
+			cacheKey = fmt.Sprintf("key_phrases_v_%s", mgoId)
+		} else if product == "大会员" {
+			// p527
+			orderKey := fmt.Sprintf("order_%s", inserMap.OrderCode)
+			uInfo := map[string]interface{}{
+				"mgoId":      mgoId,
+				"positionId": positionId,
+				"phone":      phone,
+			}
+			redis.Put("other", orderKey, uInfo, 60*60*24*3)
+			//P506
+			cacheKey = fmt.Sprintf("key_phrases_m_%s", mgoId)
+		}
+		//P506  关键词组  订单信息绑定
+		if cacheKey != "" {
+			go func(cacheKey, mgoId, orderCode string) {
+				if code := redis.GetStr("limitation", cacheKey); code != "" {
+					if util.Mysql.ExecTx("关键词组订单关联表保存", func(tx *sql.Tx) bool {
+						var oCount int64
+						kpSql := `SELECT id FROM base_service.key_phrases WHERE  FIND_IN_SET(?,er_code)  ORDER BY update_time DESC`
+						kps := util.BaseMysql.SelectBySql(kpSql, code)
+						if kps != nil && len(*kps) > 0 {
+							kp := (*kps)[0]
+							id := qutil.Int64All(kp["id"])
+							oCount = util.BaseMysql.InsertByTx(tx, "base_service.key_phrases_order", map[string]interface{}{
+								"kp_id":       id,
+								"er_code":     code,
+								"order_code":  orderCode,
+								"create_time": time.Now().Format(Date_Full_Layout),
+							})
+						}
+						return oCount > 0
+					}) {
+						redis.Del("limitation", cacheKey)
+					} else {
+						log.Println("关键词组订单关联表 错误:", mgoId, "-订单号:", orderCode)
+					}
+				}
+			}(cacheKey, mgoId, inserMap.OrderCode)
+		}
+		if activityType >= 2 {
+			util.FindUserLotteryId(userid, orderid, i_discountId)
+		}
+		rdata := map[string]interface{}{"order_code": inserMap.OrderCode, "needPay": !inserMap.UnNeedPay}
+		return rdata, nil
+	}()
+	if errMsg != nil {
+		log.Printf("%s CreateOrder 异常:%s\n", userid, errMsg.Error())
+	}
+	//创建完订单后更新卡券信息
+	this.ServeJson(NewResult(rData, errMsg))
 }
 }
 
 
 func (this *CommonAction) GetWxReturnPayParam() {
 func (this *CommonAction) GetWxReturnPayParam() {
-    var (
-        token     = this.GetString("token")
-        payWayReq = this.GetString("pay_way")
-    )
-    rData, errMsg := func() (interface{}, error) {
-        if !(payWayReq == "wx_js" || payWayReq == "ali_pc") {
-            return nil, fmt.Errorf("未知支付方式")
-        }
-        rList := util.Mysql.SelectBySql("SELECT id,return_money,expire_time,return_money,order_code FROM return_money_online r WHERE r.status=0 and r.token=? ", token)
-        if rList == nil || len(*rList) == 0 {
-            return nil, fmt.Errorf("未知回款单")
-        }
-        var (
-            rMap        = (*rList)[0]
-            expireTime  = gconv.String(rMap["expire_time"])
-            returnMoney = gconv.Int(rMap["return_money"])
-            OrderCode   = gconv.String(rMap["order_code"])
-            returnId    = gconv.Int(rMap["id"])
-        )
-        var (
-            tradeno, payParam string
-            err               error
-            openId            string
-        )
-        expire, dateErr := time.ParseInLocation(time.DateTime, expireTime, time.Local)
-        if dateErr == nil {
-
-        }
-        if time.Now().After(expire) {
-            go public.Mysql.Update("return_money_online", map[string]interface{}{"token": token, "status": 0}, map[string]interface{}{"status": -1})
-            return nil, fmt.Errorf("回款单已过期,请重新联系销售")
-        }
-
-        switch payWayReq {
-        case "wx_js":
-            var (
-                sessVal = this.Session().GetMultiple()
-            )
-            if openId = qutil.ObjToString(sessVal["s_m_openid"]); openId == "" {
-                openId = qutil.ObjToString(sessVal["openid_returnMoney"])
-            }
-            if openId == "" {
-                return nil, fmt.Errorf("创建微信支付参数异常")
-            }
-            tradeno, _, payParam, err = pay.CreateOrderPay(returnMoney, pay.WX_RETURN_NATIVE, "", openId, "", payWayReq, OrderCode, expire.Unix())
-            if err != nil {
-                return nil, fmt.Errorf("创建微信支付异常")
-            }
-        case "ali_pc":
-            tradeno, _, payParam, err = pay.CreateOrderPay(returnMoney, pay.ALI_RETURN_NATIVE, "", "", "", payWayReq, OrderCode, expire.Unix())
-            if err != nil {
-                return nil, fmt.Errorf("创建支付宝支付异常")
-            }
-        }
-        //更新支付串
-        now := time.Now()
-        if util.Mysql.Insert("return_money_online_pay", map[string]interface{}{
-            "return_id":    returnId,
-            "pay_param":    payParam,
-            "s_openid":     openId,
-            "out_trade_no": tradeno,
-            "order_code":   OrderCode,
-            "pay_way":      payWayReq,
-            "creat_time":   FormatDate(&now, Date_Full_Layout),
-        }) <= 0 {
-            return nil, fmt.Errorf("数据保存异常")
-        }
-        return payParam, nil
-    }()
-    if errMsg != nil {
-        log.Printf("GetWxReturnPayParam %s获取回款支付参数异常%v", token, errMsg)
-    }
-    this.ServeJson(NewResult(rData, errMsg))
+	var (
+		token     = this.GetString("token")
+		payWayReq = this.GetString("pay_way")
+	)
+	rData, errMsg := func() (interface{}, error) {
+		if !(payWayReq == "wx_js" || payWayReq == "ali_pc") {
+			return nil, fmt.Errorf("未知支付方式")
+		}
+		rList := util.Mysql.SelectBySql("SELECT id,return_money,expire_time,return_money,order_code FROM return_money_online r WHERE r.status=0 and r.token=? ", token)
+		if rList == nil || len(*rList) == 0 {
+			return nil, fmt.Errorf("未知回款单")
+		}
+		var (
+			rMap        = (*rList)[0]
+			expireTime  = gconv.String(rMap["expire_time"])
+			returnMoney = gconv.Int(rMap["return_money"])
+			OrderCode   = gconv.String(rMap["order_code"])
+			returnId    = gconv.Int(rMap["id"])
+		)
+		var (
+			tradeno, payParam string
+			err               error
+			openId            string
+		)
+		expire, dateErr := time.ParseInLocation(time.DateTime, expireTime, time.Local)
+		if dateErr == nil {
+
+		}
+		if time.Now().After(expire) {
+			go util.Mysql.Update("return_money_online", map[string]interface{}{"token": token, "status": 0}, map[string]interface{}{"status": -1})
+			return nil, fmt.Errorf("回款单已过期,请重新联系销售")
+		}
+
+		switch payWayReq {
+		case "wx_js":
+			var (
+				sessVal = this.Session().GetMultiple()
+			)
+			if openId = qutil.ObjToString(sessVal["s_m_openid"]); openId == "" {
+				openId = qutil.ObjToString(sessVal["openid_returnMoney"])
+			}
+			if openId == "" {
+				return nil, fmt.Errorf("创建微信支付参数异常")
+			}
+			tradeno, _, payParam, err = pay.CreateOrderPay(returnMoney, pay.WX_RETURN_NATIVE, "", openId, "", payWayReq, OrderCode, expire.Unix())
+			if err != nil {
+				return nil, fmt.Errorf("创建微信支付异常")
+			}
+		case "ali_pc":
+			tradeno, _, payParam, err = pay.CreateOrderPay(returnMoney, pay.ALI_RETURN_NATIVE, "", "", "", payWayReq, OrderCode, expire.Unix())
+			if err != nil {
+				return nil, fmt.Errorf("创建支付宝支付异常")
+			}
+		}
+		//更新支付串
+		now := time.Now()
+		if util.Mysql.Insert("return_money_online_pay", map[string]interface{}{
+			"return_id":    returnId,
+			"pay_param":    payParam,
+			"s_openid":     openId,
+			"out_trade_no": tradeno,
+			"order_code":   OrderCode,
+			"pay_way":      payWayReq,
+			"creat_time":   FormatDate(&now, Date_Full_Layout),
+		}) <= 0 {
+			return nil, fmt.Errorf("数据保存异常")
+		}
+		return payParam, nil
+	}()
+	if errMsg != nil {
+		log.Printf("GetWxReturnPayParam %s获取回款支付参数异常%v", token, errMsg)
+	}
+	this.ServeJson(NewResult(rData, errMsg))
 }
 }
 
 
 func (this *CommonAction) GetReturnResult() {
 func (this *CommonAction) GetReturnResult() {
-    var token = this.GetString("token")
-    rData, errMsg := func() (interface{}, error) {
-        if token == "" {
-            return nil, fmt.Errorf("缺少参数")
-        }
-        var (
-            payed bool
-            r     = map[string]interface{}{}
-        )
-        res := util.Mysql.SelectBySql("SELECT r.status,r.order_code,r.return_money,p.pay_time,p.transaction_id FROM return_money_online r inner join return_money_online_pay p on (r.id = p.return_id and p.status=1) WHERE r.token=?", token)
-        if res != nil && len(*res) > 0 {
-            var (
-                rData = (*res)[0]
-            )
-            payed = true
-            r["order_code"] = rData["order_code"]
-            r["transaction_id"] = rData["transaction_id"]
-            r["return_money"] = rData["return_money"]
-            if payTime := gconv.String(rData["pay_time"]); payTime != "" {
-                if t, e := time.ParseInLocation(time.DateTime, payTime, time.Local); e == nil {
-                    r["pay_time"] = t.Unix()
-                }
-            }
-        }
-        r["success"] = payed
-        return r, nil
-    }()
-    if errMsg != nil {
-        log.Printf("GetReturnResult %s获取回款支付异常%v", token, errMsg)
-    }
-    this.ServeJson(NewResult(rData, errMsg))
+	var token = this.GetString("token")
+	rData, errMsg := func() (interface{}, error) {
+		if token == "" {
+			return nil, fmt.Errorf("缺少参数")
+		}
+		var (
+			payed bool
+			r     = map[string]interface{}{}
+		)
+		res := util.Mysql.SelectBySql("SELECT r.status,r.order_code,r.return_money,p.pay_time,p.transaction_id FROM return_money_online r inner join return_money_online_pay p on (r.id = p.return_id and p.status=1) WHERE r.token=?", token)
+		if res != nil && len(*res) > 0 {
+			var (
+				rData = (*res)[0]
+			)
+			payed = true
+			r["order_code"] = rData["order_code"]
+			r["transaction_id"] = rData["transaction_id"]
+			r["return_money"] = rData["return_money"]
+			if payTime := gconv.String(rData["pay_time"]); payTime != "" {
+				if t, e := time.ParseInLocation(time.DateTime, payTime, time.Local); e == nil {
+					r["pay_time"] = t.Unix()
+				}
+			}
+		}
+		r["success"] = payed
+		return r, nil
+	}()
+	if errMsg != nil {
+		log.Printf("GetReturnResult %s获取回款支付异常%v", token, errMsg)
+	}
+	this.ServeJson(NewResult(rData, errMsg))
 }
 }