소스 검색

7-24提交

wangkaiyue 6 년 전
부모
커밋
f07e89cb08

+ 1 - 0
src/jfw/filter/filter.go

@@ -13,6 +13,7 @@ func init() {
 		SKCookieName:      "userid_secure",
 		SKCookieName:      "userid_secure",
 		App:               xweb.RootApp(),
 		App:               xweb.RootApp(),
 		LoginedSessionVar: "userId",
 		LoginedSessionVar: "userId",
+		Encryption:        jyutil.InitEncryptionStruct(),
 	}
 	}
 	xweb.AddFilter(sessionkeeper)
 	xweb.AddFilter(sessionkeeper)
 
 

+ 3 - 1
src/jfw/front/dataExport.go

@@ -237,11 +237,13 @@ func (d *DataExport) QueryOrder() error {
 */
 */
 func (d *DataExport) DeleteOrder() error {
 func (d *DataExport) DeleteOrder() error {
 	if openid := d.GetSession("s_m_openid"); openid != nil {
 	if openid := d.GetSession("s_m_openid"); openid != nil {
+		id := d.GetString("id")
 		queryMap := map[string]interface{}{
 		queryMap := map[string]interface{}{
-			"id":          d.GetString("id"),
+			"id":          id,
 			"user_openid": openid.(string),
 			"user_openid": openid.(string),
 		}
 		}
 		boo := public.Mysql.Update(tableName_order, queryMap, map[string]interface{}{"order_status": -1})
 		boo := public.Mysql.Update(tableName_order, queryMap, map[string]interface{}{"order_status": -1})
+		//撤销订单
 		d.ServeJson(map[string]interface{}{"success": boo})
 		d.ServeJson(map[string]interface{}{"success": boo})
 	}
 	}
 	return nil
 	return nil

+ 11 - 0
src/jfw/jyutil/rsa_test.go

@@ -0,0 +1,11 @@
+package jyutil
+
+import (
+	"fmt"
+	"testing"
+)
+
+func Test_run(*testing.T) {
+	a := getNewRsaStruct()
+	fmt.Printf("%+v", a)
+}

+ 199 - 0
src/jfw/jyutil/sessionEncryption.go

@@ -0,0 +1,199 @@
+package jyutil
+
+import (
+	"bytes"
+	"crypto/rand"
+	"crypto/rsa"
+	"crypto/x509"
+	"encoding/json"
+	"encoding/pem"
+	"jfw/config"
+	"log"
+	"qfw/util"
+	"qfw/util/redis"
+	"time"
+
+	"github.com/cron"
+)
+
+//
+type RsaStruct struct {
+	Sign       string
+	PrivateKey *rsa.PrivateKey
+	PublicKey  *rsa.PublicKey
+	RsaConfig  *RsaConfig
+}
+
+type RsaConfig struct {
+	RsaSignflag   string
+	PrivateKeyStr string
+	PublicKeyStr  string
+}
+
+type MyWrite struct {
+	Byte *bytes.Buffer
+}
+
+func (m MyWrite) Write(p []byte) (n int, err error) {
+	n, err = m.Byte.Write(p)
+	return
+}
+
+func getNewRsaConfig() *RsaConfig {
+	//私钥-----
+	privateKey, err := rsa.GenerateKey(rand.Reader, 2048)
+	if err != nil {
+		log.Println(err)
+	}
+	X509PrivateKey := x509.MarshalPKCS1PrivateKey(privateKey)
+	privateBlock := pem.Block{Type: "RSA Private Key", Bytes: X509PrivateKey}
+	privateWrite := MyWrite{Byte: bytes.NewBuffer([]byte(""))}
+	pem.Encode(privateWrite, &privateBlock)
+	privateKeyByte := privateWrite.Byte.Bytes()
+
+	//公钥----
+	publicKey := privateKey.PublicKey
+	X509PublicKey, err := x509.MarshalPKIXPublicKey(&publicKey)
+	if err != nil {
+		log.Println(err)
+	}
+	publicBlock := pem.Block{Type: "RSA Public Key", Bytes: X509PublicKey}
+	publicWrite := MyWrite{Byte: bytes.NewBuffer([]byte(""))}
+	pem.Encode(publicWrite, &publicBlock)
+	publicKeyByte := publicWrite.Byte.Bytes()
+
+	return &RsaConfig{
+		RsaSignflag:   time.Now().Format(util.Date_Full_Layout),
+		PrivateKeyStr: string(privateKeyByte),
+		PublicKeyStr:  string(publicKeyByte),
+	}
+}
+
+func initRsa(config *RsaConfig) *RsaStruct {
+	//初始化私钥
+	private_block, _ := pem.Decode([]byte(config.PrivateKeyStr))
+	private, err := x509.ParsePKCS1PrivateKey(private_block.Bytes)
+	if err != nil {
+		log.Println(err)
+	}
+	//初始化公钥
+	public_block, _ := pem.Decode([]byte(config.PublicKeyStr))
+	publicKeyInterface, err := x509.ParsePKIXPublicKey(public_block.Bytes)
+	if err != nil {
+		log.Println(err)
+	}
+	public := publicKeyInterface.(*rsa.PublicKey)
+	return &RsaStruct{
+		Sign:       config.RsaSignflag,
+		RsaConfig:  config,
+		PrivateKey: private,
+		PublicKey:  public,
+	}
+}
+
+//加密
+func (r *RsaStruct) Encrypt(str string) string {
+	enStrByte, err := rsa.EncryptPKCS1v15(rand.Reader, r.PublicKey, []byte(str))
+	if err != nil {
+		log.Printf("%s加密失败%v", str, err)
+	}
+	return string(enStrByte)
+}
+
+//解密
+func (r *RsaStruct) Decrypt(enStr string) string {
+	deStrByte, err := rsa.DecryptPKCS1v15(rand.Reader, r.PrivateKey, []byte(enStr))
+	if err != nil {
+		log.Printf("%s解密失败%v", enStr, err)
+	}
+	return string(deStrByte)
+}
+
+type EncryptionStruct struct {
+	RsaStruct_Now  *RsaStruct
+	MapRsa         map[string]*RsaStruct
+	EncryptionConf *EncryptionConf
+}
+
+type EncryptionConf struct {
+	Now        string
+	MapRsaConf map[string]*RsaConfig
+}
+
+func InitEncryptionStruct() *EncryptionStruct {
+	encryStruct := EncryptionStruct{EncryptionConf: &EncryptionConf{}}
+	go func() {
+		cn := cron.New()
+		str := util.ObjToString(config.Sysconfig["sessionEnctryFlushCorn"])
+		cn.AddFunc(str, encryStruct.Flush)
+		cn.Start()
+	}()
+	//从redis获取rsa公钥秘钥
+	redis_obj := util.ObjToString(redis.Get("session", "sessionEncryption"))
+	if redis_obj != "" {
+		encryconf := EncryptionConf{}
+		err := json.Unmarshal([]byte(redis_obj), &encryconf)
+		if err != nil {
+			log.Println("InitEncryptionStruct Unmarshal redis err", err)
+		} else {
+			encryStruct.EncryptionConf = &encryconf
+			encryStruct.initAllRsa()
+			log.Println("从redis中加载EncryptionStruct")
+			return &encryStruct
+		}
+	}
+
+	log.Println("首次创建EncryptionStruct")
+	newRsaConf := getNewRsaConfig()
+	encryStruct.EncryptionConf.Now = newRsaConf.RsaSignflag
+	encryStruct.EncryptionConf.MapRsaConf = map[string]*RsaConfig{newRsaConf.RsaSignflag: newRsaConf}
+	encryStruct.initAllRsa()
+	go func() {
+		//存入redis
+		byteArr, err := json.Marshal(encryStruct.EncryptionConf)
+		log.Println(string(byteArr))
+		if err != nil {
+			log.Printf("InitEncryptionStruct save %s redis err %:v\n", byteArr, err)
+			return
+		}
+		redis.Put("other", "sessionEncryption", string(byteArr), -1)
+	}()
+	return &encryStruct
+}
+
+func (e *EncryptionStruct) initAllRsa() {
+	e.MapRsa = map[string]*RsaStruct{}
+	for k, v := range e.EncryptionConf.MapRsaConf {
+		thisRsa := initRsa(v)
+		e.MapRsa[k] = thisRsa
+		if k == e.EncryptionConf.Now {
+			e.RsaStruct_Now = thisRsa
+		}
+	}
+}
+
+//更新加密文件RsaStruct_Now
+func (e *EncryptionStruct) Flush() {
+	log.Printf("before  %+v", e.MapRsa)
+	last := e.RsaStruct_Now
+
+	newRsa := initRsa(getNewRsaConfig())
+	//更新map
+	e.MapRsa = map[string]*RsaStruct{newRsa.Sign: newRsa, last.Sign: last}
+	//更新默认加密
+	e.RsaStruct_Now = newRsa
+	log.Printf("after  %+v", e.MapRsa)
+
+	//更新redis
+	func() {
+		e.EncryptionConf.Now = e.RsaStruct_Now.Sign
+		e.EncryptionConf.MapRsaConf = map[string]*RsaConfig{newRsa.Sign: newRsa.RsaConfig, last.Sign: last.RsaConfig}
+		byteArr, err := json.Marshal(e.EncryptionConf)
+		log.Println(string(byteArr))
+		if err != nil {
+			log.Printf("InitEncryptionStruct save %s redis err %:v\n", byteArr, err)
+			return
+		}
+		redis.Put("other", "sessionEncryption", string(byteArr), -1)
+	}()
+}

+ 40 - 2
src/jfw/jyutil/sessionkeep.go

@@ -1,6 +1,7 @@
 package jyutil
 package jyutil
 
 
 import (
 import (
+	"encoding/base64"
 	"fmt"
 	"fmt"
 	"net/http"
 	"net/http"
 	"qfw/util/redis"
 	"qfw/util/redis"
@@ -18,6 +19,7 @@ type SessionKeep struct {
 	SKCookieName      string //session保持,浏览器端的cookie变量名称
 	SKCookieName      string //session保持,浏览器端的cookie变量名称
 	LoginedSessionVar string //服务器端的session变量名称
 	LoginedSessionVar string //服务器端的session变量名称
 	App               *xweb.App
 	App               *xweb.App
+	Encryption        *EncryptionStruct
 }
 }
 
 
 //过滤器
 //过滤器
@@ -51,7 +53,8 @@ func (sk *SessionKeep) Do(w http.ResponseWriter, r *http.Request) bool {
 		flag := 0
 		flag := 0
 		if userid != nil && userid != "" { //只有有session,就更新cookie失效时间
 		if userid != nil && userid != "" { //只有有session,就更新cookie失效时间
 			deuserid, _ = userid.(string)
 			deuserid, _ = userid.(string)
-			enuserid = se.EncodeString(deuserid)
+			//enuserid = se.EncodeString(deuserid)
+			enuserid = sk.EncodeString(deuserid)
 			if strings.HasPrefix(deuserid, "oHwE_") {
 			if strings.HasPrefix(deuserid, "oHwE_") {
 				user, ok := mongodb.FindOneByField("user", map[string]interface{}{
 				user, ok := mongodb.FindOneByField("user", map[string]interface{}{
 					"s_m_openid": deuserid,
 					"s_m_openid": deuserid,
@@ -63,7 +66,8 @@ func (sk *SessionKeep) Do(w http.ResponseWriter, r *http.Request) bool {
 			flag = 1
 			flag = 1
 		} else if err == nil {
 		} else if err == nil {
 			enuserid = ck.Value //"解密的userid"
 			enuserid = ck.Value //"解密的userid"
-			deuserid = se.DecodeString(enuserid)
+			//deuserid = se.DecodeString(enuserid) //修改加密方式
+			deuserid = sk.DecodeString(enuserid)
 			flag = 2
 			flag = 2
 		} else {
 		} else {
 			if strings.HasPrefix(rqu, "/article/") {
 			if strings.HasPrefix(rqu, "/article/") {
@@ -149,3 +153,37 @@ func (sk *SessionKeep) cookie(userid string) *http.Cookie {
 	}
 	}
 	return cookie
 	return cookie
 }
 }
+
+var count int = 0
+
+//解密
+func (sk *SessionKeep) DecodeString(encodeStr string) string {
+	byte, err := base64.StdEncoding.DecodeString(encodeStr)
+	if err != nil {
+		fmt.Println("base64解密出错", encodeStr)
+		return ""
+	}
+	//获取加密字段和加密标识
+	ctxArr := strings.Split(string(byte), "***")
+	if len(ctxArr) != 2 {
+		return ""
+	}
+
+	enuserid := ctxArr[0]
+	signFlsg := ctxArr[1]
+	rs := sk.Encryption.MapRsa[signFlsg]
+	if rs == nil {
+		fmt.Printf("sign %s不存在\n", signFlsg)
+		return ""
+	}
+	str := sk.Encryption.MapRsa[signFlsg].Decrypt(enuserid)
+	fmt.Println(enuserid, "\n解密", signFlsg, str)
+	return str
+}
+
+//加密
+func (sk *SessionKeep) EncodeString(userid string) string {
+	str := sk.Encryption.RsaStruct_Now.Encrypt(userid) + "***" + sk.Encryption.RsaStruct_Now.Sign
+	fmt.Println(userid, sk.Encryption.RsaStruct_Now.Sign, "加密", base64.StdEncoding.EncodeToString([]byte(str)))
+	return base64.StdEncoding.EncodeToString([]byte(str))
+}

+ 3 - 3
src/jfw/pay/aliPay.go

@@ -229,11 +229,11 @@ func (a *AliPayAction) PayCallback() {
 		"out_trade_no": out_trade_no,
 		"out_trade_no": out_trade_no,
 		"order_money":  total_amount * 100,
 		"order_money":  total_amount * 100,
 	}, "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", "")
-	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)
 	changeOrderStatus, insertAliPay := false, false
 	changeOrderStatus, insertAliPay := false, false
 	if orderdata != nil {
 	if orderdata != nil {
+		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)
 		order_status := util.IntAll((*orderdata)["order_status"])
 		order_status := util.IntAll((*orderdata)["order_status"])
 		if order_status == 0 {
 		if order_status == 0 {
 			changeOrderStatus = public.Mysql.Update("dataexport_order", map[string]interface{}{
 			changeOrderStatus = public.Mysql.Update("dataexport_order", map[string]interface{}{

+ 5 - 3
src/jfw/pay/dataExportPay.go

@@ -172,7 +172,7 @@ 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 !closeDataExportOrder(util.ObjToString((*oldOrder)["pay_way"]), util.ObjToString((*oldOrder)["out_trade_no"])) {
+			if !CloseDataExportOrder(util.ObjToString((*oldOrder)["pay_way"]), util.ObjToString((*oldOrder)["out_trade_no"])) {
 				p.ServeJson(map[string]interface{}{
 				p.ServeJson(map[string]interface{}{
 					"status": "n",
 					"status": "n",
 				})
 				})
@@ -368,6 +368,8 @@ func (p *DataExportPayAction) IsPaySuccess() {
 		}, "order_status", "")
 		}, "order_status", "")
 		if data != nil && util.IntAll((*data)["order_status"]) == 1 {
 		if data != nil && util.IntAll((*data)["order_status"]) == 1 {
 			status = "y"
 			status = "y"
+		} else if util.IntAll((*data)["order_status"]) == -1 {
+			status = "-1"
 		}
 		}
 	}
 	}
 	p.ServeJson(map[string]interface{}{
 	p.ServeJson(map[string]interface{}{
@@ -399,7 +401,7 @@ func (p *DataExportPayAction) GetOrderPayMsg() {
 			return "", "订单状态异常", false
 			return "", "订单状态异常", false
 		}
 		}
 		//在此关闭之前的订单
 		//在此关闭之前的订单
-		if !closeDataExportOrder(util.ObjToString((*queryOrder)["pay_way"]), util.ObjToString((*queryOrder)["out_trade_no"])) {
+		if !CloseDataExportOrder(util.ObjToString((*queryOrder)["pay_way"]), util.ObjToString((*queryOrder)["out_trade_no"])) {
 			return "", "订单关闭异常", false
 			return "", "订单关闭异常", false
 		}
 		}
 		//修改支付方式
 		//修改支付方式
@@ -459,7 +461,7 @@ func (p *DataExportPayAction) GetOrderPayMsg() {
 	})
 	})
 
 
 }
 }
-func closeDataExportOrder(payWay, tradeno string) (status bool) {
+func CloseDataExportOrder(payWay, tradeno string) (status bool) {
 	log.Printf("%s取消订单,订单号%s\n", payWay, tradeno)
 	log.Printf("%s取消订单,订单号%s\n", payWay, tradeno)
 
 
 	if payWay == "支付宝" {
 	if payWay == "支付宝" {

+ 3 - 0
src/jfw/public/db.go

@@ -5,6 +5,7 @@ import (
 	"qfw/util"
 	"qfw/util"
 	mg "qfw/util/mongodb"
 	mg "qfw/util/mongodb"
 	"qfw/util/mysql"
 	"qfw/util/mysql"
+	"qfw/util/redis"
 	ca "ucbsutil/cassandra"
 	ca "ucbsutil/cassandra"
 )
 )
 
 
@@ -36,6 +37,8 @@ func init() {
 			},
 			},
 		)
 		)
 	}
 	}
+	//初始化redis
+	redis.InitRedisBySize(Sysconfig["redisaddrs"].(string), 100, 30, 300)
 	//
 	//
 	MQFW = mg.MongodbSim{
 	MQFW = mg.MongodbSim{
 		MongodbAddr: Sysconfig["mongodbServers"].(string),
 		MongodbAddr: Sysconfig["mongodbServers"].(string),

+ 2 - 2
src/main.go

@@ -18,7 +18,7 @@ import (
 	"qfw/util/elastic"
 	"qfw/util/elastic"
 	"qfw/util/endless"
 	"qfw/util/endless"
 	_ "qfw/util/mysql"
 	_ "qfw/util/mysql"
-	"qfw/util/redis"
+
 	"strings"
 	"strings"
 	"time"
 	"time"
 
 
@@ -29,7 +29,7 @@ import (
 
 
 func init() {
 func init() {
 	initXweb()
 	initXweb()
-	redis.InitRedisBySize(Sysconfig["redisaddrs"].(string), 100, 30, 300)
+	//redis.InitRedisBySize(Sysconfig["redisaddrs"].(string), 100, 30, 300)
 	elastic.InitElasticSize(Sysconfig["elasticsearch"].(string), util.IntAllDef(Sysconfig["elasticPoolSize"], 30))
 	elastic.InitElasticSize(Sysconfig["elasticsearch"].(string), util.IntAllDef(Sysconfig["elasticPoolSize"], 30))
 	//定时任务
 	//定时任务
 	timetask.TaskService()
 	timetask.TaskService()

+ 1 - 1
src/web/staticres/dataExport/js/conditions_order.js

@@ -24,7 +24,7 @@ function showMoreCity (arr) {
   // console.log('--arr--', arr)
   // console.log('--arr--', arr)
   arr.forEach(function (value) {
   arr.forEach(function (value) {
     // console.log('--value--', value.name)
     // console.log('--value--', value.name)
-      var are = value.name.replace(/市$/g,'');
+      var are = value.name;
       //已选地区,展开省市时需选中
       //已选地区,展开省市时需选中
       var clazz = "";
       var clazz = "";
       if(selectArea.length>0){
       if(selectArea.length>0){

+ 17 - 11
src/web/staticres/dataExport/js/mapJSON.js

@@ -1125,7 +1125,7 @@ var chinaMapJSON = [{
     "area": ["江岸区", "江汉区", "硚口区", "汉阳区", "武昌区", "青山区", "洪山区", "东西湖区", "汉南区", "蔡甸区", "江夏区", "黄陂区", "新洲区"]
     "area": ["江岸区", "江汉区", "硚口区", "汉阳区", "武昌区", "青山区", "洪山区", "东西湖区", "汉南区", "蔡甸区", "江夏区", "黄陂区", "新洲区"]
   }, {
   }, {
     "CityID": 160,
     "CityID": 160,
-    "name": "襄市",
+    "name": "襄市",
     "ProID": 17,
     "ProID": 17,
     "CitySort": 160,
     "CitySort": 160,
     "area": ["襄城区", "樊城区", "襄阳区", "南漳县", "谷城县", "保康县", "老河口市", "枣阳市", "宜城市"]
     "area": ["襄城区", "樊城区", "襄阳区", "南漳县", "谷城县", "保康县", "老河口市", "枣阳市", "宜城市"]
@@ -1555,6 +1555,12 @@ var chinaMapJSON = [{
     "ProID": 20,
     "ProID": 20,
     "CitySort": 272,
     "CitySort": 272,
     "area": ['其他']
     "area": ['其他']
+  },{
+    "CityID": 272,
+    "name": "三沙市",
+    "ProID": 20,
+    "CitySort": 272,
+    "area": ['其他']
   }]
   }]
 }, {
 }, {
   "ProID": 21,
   "ProID": 21,
@@ -1875,7 +1881,7 @@ var chinaMapJSON = [{
     "area": ['其他']
     "area": ['其他']
   }, {
   }, {
     "CityID": 344,
     "CityID": 344,
-    "name": "吐鲁番地区",
+    "name": "吐鲁番",
     "ProID": 24,
     "ProID": 24,
     "CitySort": 344,
     "CitySort": 344,
     "area": ["吐鲁番市", "鄯善县", "托克逊县"]
     "area": ["吐鲁番市", "鄯善县", "托克逊县"]
@@ -1935,7 +1941,7 @@ var chinaMapJSON = [{
     "area": ["城东区", "城中区", "城西区", "城北区", "大通回族土族自治县", "湟中县", "湟源县"]
     "area": ["城东区", "城中区", "城西区", "城北区", "大通回族土族自治县", "湟中县", "湟源县"]
   }, {
   }, {
     "CityID": 291,
     "CityID": 291,
-    "name": "海东地区",
+    "name": "海东",
     "ProID": 25,
     "ProID": 25,
     "CitySort": 291,
     "CitySort": 291,
     "area": ["平安县", "民和回族土族自治县", "乐都县", "互助土族自治县", "化隆回族自治县", "循化撒拉族自治县"]
     "area": ["平安县", "民和回族土族自治县", "乐都县", "互助土族自治县", "化隆回族自治县", "循化撒拉族自治县"]
@@ -2187,13 +2193,13 @@ var chinaMapJSON = [{
     "area": ["凯里市", "黄平县", "施秉县", "三穗县", "镇远县", "岑巩县", "天柱县", "锦屏县", "剑河县", "台江县", "黎平县", "榕江县", "从江县", "雷山县", "麻江县", "丹寨县"]
     "area": ["凯里市", "黄平县", "施秉县", "三穗县", "镇远县", "岑巩县", "天柱县", "锦屏县", "剑河县", "台江县", "黎平县", "榕江县", "从江县", "雷山县", "麻江县", "丹寨县"]
   }, {
   }, {
     "CityID": 251,
     "CityID": 251,
-    "name": "铜仁地区",
+    "name": "铜仁",
     "ProID": 29,
     "ProID": 29,
     "CitySort": 251,
     "CitySort": 251,
     "area": ["铜仁市", "江口县", "玉屏侗族自治县", "石阡县", "思南县", "印江土家族苗族自治县", "德江县", "沿河土家族自治县", "松桃苗族自治县", "万山特区"]
     "area": ["铜仁市", "江口县", "玉屏侗族自治县", "石阡县", "思南县", "印江土家族苗族自治县", "德江县", "沿河土家族自治县", "松桃苗族自治县", "万山特区"]
   }, {
   }, {
     "CityID": 252,
     "CityID": 252,
-    "name": "毕节地区",
+    "name": "毕节",
     "ProID": 29,
     "ProID": 29,
     "CitySort": 252,
     "CitySort": 252,
     "area": ["毕节市", "大方县", "黔西县", "金沙县", "织金县", "纳雍县", "威宁彝族回族苗族自治县", "赫章县"]
     "area": ["毕节市", "大方县", "黔西县", "金沙县", "织金县", "纳雍县", "威宁彝族回族苗族自治县", "赫章县"]
@@ -2295,7 +2301,7 @@ var chinaMapJSON = [{
     "area": ["临翔区", "凤庆县", "云县", "永德县", "镇康县", "双江拉祜族佤族布朗族傣族自治县", "耿马傣族佤族自治县", "沧源佤族自治县"]
     "area": ["临翔区", "凤庆县", "云县", "永德县", "镇康县", "双江拉祜族佤族布朗族傣族自治县", "耿马傣族佤族自治县", "沧源佤族自治县"]
   }, {
   }, {
     "CityID": 286,
     "CityID": 286,
-    "name": "怒江傈族自治州",
+    "name": "怒江傈族自治州",
     "ProID": 30,
     "ProID": 30,
     "CitySort": 286,
     "CitySort": 286,
     "area": ["泸水县", "福贡县", "贡山独龙族怒族自治县", "兰坪白族普米族自治县"]
     "area": ["泸水县", "福贡县", "贡山独龙族怒族自治县", "兰坪白族普米族自治县"]
@@ -2325,25 +2331,25 @@ var chinaMapJSON = [{
     "area": ["城关区", "林周县", "当雄县", "尼木县", "曲水县", "堆龙德庆县", "达孜县", "墨竹工卡县"]
     "area": ["城关区", "林周县", "当雄县", "尼木县", "曲水县", "堆龙德庆县", "达孜县", "墨竹工卡县"]
   }, {
   }, {
     "CityID": 322,
     "CityID": 322,
-    "name": "日喀则地区",
+    "name": "日喀则",
     "ProID": 31,
     "ProID": 31,
     "CitySort": 322,
     "CitySort": 322,
     "area": ["日喀则市", "南木林县", "江孜县", "定日县", "萨迦县", "拉孜县", "昂仁县", "谢通门县", "白朗县", "仁布县", "康马县", "定结县", "仲巴县", "亚东县", "吉隆县", "聂拉木县", "萨嘎县", "岗巴县"]
     "area": ["日喀则市", "南木林县", "江孜县", "定日县", "萨迦县", "拉孜县", "昂仁县", "谢通门县", "白朗县", "仁布县", "康马县", "定结县", "仲巴县", "亚东县", "吉隆县", "聂拉木县", "萨嘎县", "岗巴县"]
   }, {
   }, {
     "CityID": 323,
     "CityID": 323,
-    "name": "山南地区",
+    "name": "山南",
     "ProID": 31,
     "ProID": 31,
     "CitySort": 323,
     "CitySort": 323,
     "area": ["乃东县", "扎囊县", "贡嘎县", "桑日县", "琼结县", "曲松县", "措美县", "洛扎县", "加查县", "隆子县", "错那县", "浪卡子县"]
     "area": ["乃东县", "扎囊县", "贡嘎县", "桑日县", "琼结县", "曲松县", "措美县", "洛扎县", "加查县", "隆子县", "错那县", "浪卡子县"]
   }, {
   }, {
     "CityID": 324,
     "CityID": 324,
-    "name": "林芝地区",
+    "name": "林芝",
     "ProID": 31,
     "ProID": 31,
     "CitySort": 324,
     "CitySort": 324,
     "area": ["林芝县", "工布江达县", "米林县", "墨脱县", "波密县", "察隅县", "朗县"]
     "area": ["林芝县", "工布江达县", "米林县", "墨脱县", "波密县", "察隅县", "朗县"]
   }, {
   }, {
     "CityID": 325,
     "CityID": 325,
-    "name": "昌都地区",
+    "name": "昌都",
     "ProID": 31,
     "ProID": 31,
     "CitySort": 325,
     "CitySort": 325,
     "area": ["昌都县", "江达县", "贡觉县", "类乌齐县", "丁青县", "察雅县", "八宿县", "左贡县", "芒康县", "洛隆县", "边坝县"]
     "area": ["昌都县", "江达县", "贡觉县", "类乌齐县", "丁青县", "察雅县", "八宿县", "左贡县", "芒康县", "洛隆县", "边坝县"]
@@ -2367,7 +2373,7 @@ var chinaMapJSON = [{
   "ProRemark": "省份",
   "ProRemark": "省份",
   "city": [{
   "city": [{
     "CityID": 327,
     "CityID": 327,
-    "name": "台湾",
+    "name": "台湾",
     "ProID": 31,
     "ProID": 31,
     "CitySort": 327,
     "CitySort": 327,
     "area": ["台北市","高雄市","台北县","桃园县","新竹县","苗栗县","台中县","彰化县","南投县","云林县","嘉义县","台南县","高雄县","屏东县","宜兰县","花莲县","台东县","澎湖县","基隆市","新竹市","台中市","嘉义市","台南市","其他"]
     "area": ["台北市","高雄市","台北县","桃园县","新竹县","苗栗县","台中县","彰化县","南投县","云林县","嘉义县","台南县","高雄县","屏东县","宜兰县","花莲县","台东县","澎湖县","基隆市","新竹市","台中市","嘉义市","台南市","其他"]

+ 7 - 8
src/web/templates/pc/myOrder.html

@@ -262,7 +262,6 @@
 					$list.eq($Index).show().siblings().hide();
 					$list.eq($Index).show().siblings().hide();
 					pageNum = 1;
 					pageNum = 1;
 					pageFlag = true;
 					pageFlag = true;
-          p.click = null;
 					p = null;
 					p = null;
 					$("#previousPage").addClass("disabled");
 					$("#previousPage").addClass("disabled");
 					$("#nextPage").removeClass("disabled");
 					$("#nextPage").removeClass("disabled");
@@ -292,6 +291,9 @@
 						var temp = "";
 						var temp = "";
 						if (data.list && data.list.length > 0) {
 						if (data.list && data.list.length > 0) {
 							if (pageFlag) {
 							if (pageFlag) {
+                if(p){
+                  p.click = null;
+                }
 								$(".pagination-box").html(pageHtml);
 								$(".pagination-box").html(pageHtml);
 								p = new Page({
 								p = new Page({
 									show: show,
 									show: show,
@@ -435,13 +437,10 @@
 														text: '确认',
 														text: '确认',
 														btnClass: 'btn-primary-0',
 														btnClass: 'btn-primary-0',
 														action: function() {
 														action: function() {
-															//if (parent.children("li").length == 0) {
-															//	parent.html(noDataHtml);
-															//}
                               var $Index = $(".tab-bar .tab li.active").index();
                               var $Index = $(".tab-bar .tab li.active").index();
                       				var $list = $(".list .item");
                       				var $list = $(".list .item");
-                              
-                      				queryOrder($Index, $list, pageNum);
+                              pageFlag=true;
+                      				queryOrder($Index, $list, 1);
 														}
 														}
 													}
 													}
 												}
 												}
@@ -528,7 +527,7 @@
 					}, function(r) {
 					}, function(r) {
 						if (r.success) {
 						if (r.success) {
 							showCode(payway, price, r.payUrl, r.prepay_time);
 							showCode(payway, price, r.payUrl, r.prepay_time);
-							$(obj).attr("time", r.prepay_time);
+							$(obj).attr("time", r.prepay_time);//.attr("code", r.payUrl);
 						}
 						}
 					})
 					})
 				}else{
 				}else{
@@ -599,7 +598,7 @@
 							code: orderCode
 							code: orderCode
 						}, function(r) {
 						}, function(r) {
 							if (r.status == "y") {
 							if (r.status == "y") {
-								window.location.href = "/front/dataExport/toOrderDetail/" + orderCode;
+								window.location.href = "/front/dataExport/paysuccess?code=" + orderCode;
 							}
 							}
 						})
 						})
 					}
 					}