Эх сурвалжийг харах

Merge branch 'dev2.8.5' of http://192.168.3.207:10080/qmx/jy into dev2.8.5

wangkaiyue 5 жил өмнө
parent
commit
3c0fef1a1d

+ 73 - 0
src/jfw/front/jylog.go

@@ -0,0 +1,73 @@
+package front
+
+/**
+日志文件自动切换,默认保留15天内日志
+**/
+
+import (
+	"log"
+	"os"
+	"path/filepath"
+	"regexp"
+	"time"
+
+	"github.com/go-xweb/xweb"
+	"github.com/robfig/cron"
+)
+
+//日志格式
+var fileReg = regexp.MustCompile("^(\\d{4}_[0-9_]{14})\\.log$")
+
+//当前日志文件句柄
+var LogFile *os.File
+
+//时间格式
+var FMT = "2006_01_02_15_04_05"
+
+//日志目录
+var LogPath = "./jylog"
+
+func init() {
+	os.Mkdir(LogPath, os.ModePerm)
+	//默认保留15天内的日志,-1为永久保留
+	initLog(15)
+}
+
+func initLog(saveDay int) {
+	go logfile()
+	task := cron.New()
+	task.Start()
+	task.AddFunc("0 0 0 * * ?", func() {
+		go logfile()
+		time.Sleep(50 * time.Second)
+		if saveDay > 0 {
+			filepath.Walk(LogPath, func(path string, info os.FileInfo, err error) error {
+				str := fileReg.FindStringSubmatch(info.Name())
+				if len(str) == 2 {
+					t, er := time.ParseInLocation(FMT, str[1], time.Local)
+					if er == nil {
+						if (time.Now().Unix()-t.Unix())/86400 > int64(saveDay) {
+							log.Println("delete log file:", path, os.Remove(path))
+						}
+					}
+				}
+				return nil
+			})
+		}
+	})
+}
+
+//创建并切换输出文件
+func logfile() {
+	now := time.Now().Format(FMT)
+	file, _ := os.Create(LogPath + "/" + now + ".log")
+	log.SetOutput(file)
+	xweb.RootApp().Logger.SetOutput(file)
+	go func(file *os.File) {
+		time.Sleep(5 * time.Second)
+		if LogFile != nil {
+			LogFile.Close()
+		}
+		LogFile = file
+	}(file)
+}

+ 2 - 2
src/jfw/front/swordfish.go

@@ -2350,7 +2350,7 @@ func (f *Front) HasPushHistory() {
 	//获取时间
 	var formatTime string
 	selectTime := f.GetString("selectTime")
-	log.Println(selectTime, "---", f.GetString("area"))
+	//	log.Println(selectTime, "---", f.GetString("area"))
 	lenStr := len([]rune(selectTime))
 	if selectTime != "" {
 		if selectTime != "undefined" && lenStr >= 10 {
@@ -2370,7 +2370,7 @@ func (f *Front) HasPushHistory() {
 	hasKeyFlag := false
 	isVipFlag := false
 	isPassCount := false
-	isExpire := 0
+	isExpire := -1
 	tedayNum := time.Unix(time.Now().Unix(), 1).Format("20060102")
 	isOnTail := 0
 	if util.IntAll((*user)["i_vip_status"]) == 1 || util.IntAll((*user)["i_vip_status"]) == 2 {

+ 13 - 26
src/jfw/modules/subscribepay/src/service/afterPay.go

@@ -306,37 +306,24 @@ func (a *AfterPay) GetUserInfo() error {
 			data := qutil.ObjToMap((*userData)["o_vipjy"])
 			i_vip_status := qutil.IntAll((*userData)["i_vip_status"])
 			//区域
-			_area := qutil.ObjToMap((*data)["o_area"].(interface{}))
-			var area_i = 0
-			var area_j = 0
-			for _, v := range *_area {
-				if len(v.([]interface{})) == 0 {
-					area_i += 1
-				} else {
-
-					area_j += len(v.([]interface{}))
-				}
+			_buyset := qutil.ObjToMap((*data)["o_buyset"].(interface{}))
+			var area_i = qutil.IntAll((*_buyset)["areacount"])
+			var citys = qutil.ObjToMap((*_buyset)["citys"].(interface{}))
+			var city_i = 0
+			for _, cv := range *citys {
+				city_i += qutil.IntAll(cv.(int))
 			}
-			if area_i != 0 && area_j != 0 {
-				(*data)["o_area"] = strconv.Itoa(area_i) + "个省级区域、" + strconv.Itoa(area_j) + "个地市"
-			} else if area_i == 0 && area_j != 0 {
-				(*data)["o_area"] = strconv.Itoa(area_j) + "个地市"
-			} else if area_i != 0 && area_j == 0 {
+			if area_i != -1 && city_i != 0 {
+				(*data)["o_area"] = strconv.Itoa(area_i) + "个省级区域、" + strconv.Itoa(city_i) + "个地市"
+			} else if area_i == -1 && city_i != 0 {
+				(*data)["o_area"] = strconv.Itoa(city_i) + "个地市"
+			} else if area_i != -1 && city_i == 0 {
 				(*data)["o_area"] = strconv.Itoa(area_i) + "个省级区域"
 			} else {
 				(*data)["o_area"] = "全国"
 			}
 			//采购行业
-			//_buyClass := (*data)["a_buyerclass"].([]interface{})
-			//			var buyClass = ""
-			//			for _, v := range _buyClass {
-			//				buyClass += v.(string) + "、"
-			//			}
-			//			if buyClass == "" {
-			//				(*data)["a_buyerclass"] = "全行业"
-			//			} else {
-			//				(*data)["a_buyerclass"] = strings.TrimRight(buyClass, "、")
-			//			}
+			(*data)["a_buyerclass"] = qutil.IntAll((*_buyset)["buyerclasscount"])
 			//有效日期
 			var _starttime = (*userData)["l_vip_starttime"]
 			(*userData)["l_vip_starttime"] = strings.Replace(qutil.FormatDateWithObj(&_starttime, qutil.Date_Short_Layout), "-", ".", -1)
@@ -371,7 +358,7 @@ func (a *AfterPay) GetUserInfo() error {
 			} else if qutil.Int64All(_endtime)-time.Now().Unix() < oneRemind && qutil.Int64All(_endtime)-time.Now().Unix() >= 0 {
 				(*data)["expRemind"] = "1" //即将到期
 			} else if qutil.Int64All(_endtime)-time.Now().Unix() < 0 {
-				(*data)["expRemind"] = "0" //已经到期
+				(*data)["expRemind"] = "-1" //已经到期
 			}
 			//信息类型
 			if (*data)["a_infotype"] != nil {

+ 10 - 4
src/jfw/modules/subscribepay/src/service/vipRenewUpgrade.go

@@ -49,7 +49,7 @@ func (this *RenewUpgrade) GetBuyMsg() {
 		orderdata := util.Mysql.FindOne("dataexport_order", map[string]interface{}{
 			"user_id":      userId,
 			"order_status": 1,
-		}, "filter", "create_time desc")
+		}, "filter,order_code", "create_time desc")
 		vmsg := entity.VipSimpleMsg{}
 		if len(*orderdata) > 0 && *orderdata != nil {
 			filterStr := qutil.ObjToString((*orderdata)["filter"])
@@ -73,6 +73,7 @@ func (this *RenewUpgrade) GetBuyMsg() {
 				"buyset":      buyset,
 				"allarea":     allArea,
 				"allindustry": allIndustry,
+				"orderCode":   (*orderdata)["order_code"],
 			}
 			this.ServeJson(dataArr)
 		}
@@ -187,9 +188,10 @@ func (this *RenewUpgrade) RenewUpgradeCreateOrder() {
 		//		}
 		filter := entity.VipSimpleMsg{}
 		if pay_source == "Renew" {
+			vipjy := (*res)["o_vipjy"].(map[string]interface{})
 			filter = entity.VipSimpleMsg{
-				area,
-				industry,
+				qutil.ObjToMap(vipjy["o_area"]),
+				qutil.ObjArrToStringArr(vipjy["a_buyerclass"].([]interface{})),
 				nil,
 				nil,
 				date_count,
@@ -233,7 +235,9 @@ func (this *RenewUpgrade) RenewUpgradeCreateOrder() {
 					Leng := len(industry) - reduce
 					if len(industry) > 0 {
 						if industry[0] != "no" {
+							log.Println("industry", industry)
 							industry = industry[0:Leng]
+							log.Println("industry", industry)
 						}
 					}
 				}
@@ -378,7 +382,7 @@ func (this *RenewUpgrade) GetExprie() {
 	orderdata := util.Mysql.FindOne("dataexport_order", map[string]interface{}{
 		"id":      orderId,
 		"user_id": userId,
-	}, "filter", "")
+	}, "filter,order_code", "")
 	vmsg := entity.VipSimpleMsg{}
 	if orderdata != nil && len(*orderdata) > 0 {
 		filterStr := qutil.ObjToString((*orderdata)["filter"])
@@ -389,8 +393,10 @@ func (this *RenewUpgrade) GetExprie() {
 		dataArr := map[string]interface{}{
 			"area":       vmsg.Area,
 			"buyerclass": vmsg.Industry,
+			"orderCode":  (*orderdata)["order_code"],
 			"vipStatus":  vipStatus,
 		}
+		log.Println(dataArr)
 		this.ServeJson(dataArr)
 	}
 }

+ 1 - 0
src/jfw/modules/subscribepay/src/service/vipSubscribePay.go

@@ -138,6 +138,7 @@ func (this *SubVipPayOrder) CreateOrder() {
 			timeStamp := qutil.Int64All((*userData)["l_vip_endtime"])
 			startTime := time.Unix(timeStamp, 0)
 			endTime := util.GetDATE(filter.Cycleunit, filter.Cyclecount, timeStamp)
+			insertMap["vip_type"] = 1
 			insertMap["vip_starttime"] = qutil.FormatDate(&startTime, qutil.Date_Full_Layout)
 			insertMap["vip_endtime"] = qutil.FormatDate(&endTime, qutil.Date_Full_Layout)
 		}

+ 10 - 5
src/jfw/public/historypush.go

@@ -46,19 +46,24 @@ func (h *historyPush) Datas_Mysql(userId string, pageNum int, selectTime, area s
 	}
 	if area != "" {
 		findStr += " and city in ("
-		for k, v := range strings.Split(area, ",") {
-			if k > 0 {
-				findStr += ","
+		var _area = ""
+		for _, v := range strings.Split(area, ",") {
+			if v == "全部" {
+				continue
 			}
-			findStr += "'" + v + "'"
+			if _area != "" {
+				_area += ","
+			}
+			_area += "'" + v + "'"
 		}
-		findStr += ")"
+		findStr += _area + ")"
 	}
 	countSQL = countSQL + findStr
 	count := Mysql.CountBySql(countSQL)
 	start := (pageNum - 1) * pageSize
 	findStr += " order by id desc limit " + fmt.Sprint(start) + "," + fmt.Sprint(pageSize)
 	findSQL = findSQL + findStr
+	//	log.Println("findsql:", findSQL)
 	list := Mysql.SelectBySql(findSQL)
 	if len(*list) > 0 {
 		pushCas := h.getJyPushs(*list)

+ 73 - 0
src/web/staticres/vipsubscribe/js/mapArea.js

@@ -0,0 +1,73 @@
+/**
+ * @file china-map.json
+ * @author wangshan 简易版2019-11-21
+ */
+var chinaMapJSON = [{
+	"安徽": ["合肥市", "芜湖市", "蚌埠市", "淮南市", "马鞍山市", "淮北市", "铜陵市", "安庆市", "黄山市", "滁州市", "阜阳市", "宿州市", "巢湖市", "六安市", "亳州市", "池州市", "宣城市"]
+}, {
+	"澳门": ["澳门"]
+}, {
+	"北京": ["北京市"]
+}, {
+	"重庆": ["重庆市"]
+}, {
+	"福建": ["福州市", "厦门市", "宁德市", "莆田市", "泉州市", "漳州市", "龙岩市", "三明市", "南平市"]
+}, {
+	"广东": ["广州市", "汕尾市", "阳江市", "揭阳市", "茂名市", "惠州市", "江门市", "韶关市", "梅州市", "汕头市", "深圳市", "珠海市", "佛山市", "肇庆市", "湛江市", "中山市", "河源市", "清远市", "云浮市", "潮州市", "东莞市"]
+}, {
+	"广西": ["防城港市", "南宁市", "崇左市", "来宾市", "柳州市", "桂林市", "梧州市", "贺州市", "贵港市", "玉林市", "百色市", "钦州市", "河池市", "北海市"]
+}, {
+	"贵州": ["贵阳市", "遵义市", "安顺市", "黔南布依族苗族自治州", "黔东南苗族侗族自治州", "铜仁市", "毕节市", "六盘水市", "黔西南布依族苗族自治州"]
+}, {
+	"甘肃": ["兰州市", "金昌市", "白银市", "天水市", "嘉峪关市", "武威市", "张掖市", "平凉市", "酒泉市", "庆阳市", "定西市", "陇南市", "临夏回族自治州", "甘南藏族自治州"]
+}, {
+	"河北": ["邯郸市", "石家庄市", "秦皇岛市", "保定市", "张家口市", "承德市", "唐山市", "廊坊市", "沧州市", "衡水市", "邢台市"]
+}, {
+	"湖北": ["武汉市", "襄阳市", "鄂州市", "孝感市", "黄冈市", "黄石市", "咸宁市", "荆州市", "宜昌市", "恩施土家族苗族自治州", "神农架林区", "十堰市", "随州市", "荆门市", "仙桃市", "天门市", "潜江市"]
+}, {
+	"黑龙江": ["哈尔滨市", "齐齐哈尔市", "鸡西市", "牡丹江市", "七台河市", "佳木斯市", "鹤岗市", "双鸭山市", "绥化市", "黑河市", "大兴安岭地区", "伊春市", "大庆市"]
+}, {
+	"海南": ["海口市", "三亚市", "五指山市", "琼海市", "儋州市", "文昌市", "万宁市", "东方市", "澄迈县", "定安县", "屯昌县", "临高县", "白沙黎族自治县", "昌江黎族自治县", "乐东黎族自治县", "陵水黎族自治县", "保亭黎族苗族自治县", "琼中黎族苗族自治县", "三沙市"]
+}, {
+	"河南": ["商丘市", "郑州市", "安阳市", "新乡市", "许昌市", "平顶山市", "信阳市", "南阳市", "开封市", "洛阳市", "济源市", "焦作市", "鹤壁市", "濮阳市", "周口市", "漯河市", "驻马店市", "三门峡市"]
+}, {
+	"湖南": ["岳阳市", "长沙市", "湘潭市", "株洲市", "衡阳市", "郴州市", "常德市", "益阳市", "娄底市", "邵阳市", "湘西土家族苗族自治州", "张家界市", "怀化市", "永州市"]
+}, {
+	"吉林": ["长春市", "吉林市", "延边朝鲜族自治州", "四平市", "通化市", "白城市", "辽源市", "松原市", "白山市"]
+}, {
+	"江苏": ["南京市", "无锡市", "镇江市", "苏州市", "南通市", "扬州市", "盐城市", "徐州市", "淮安市", "连云港市", "常州市", "泰州市", "宿迁市"]
+}, {
+	"江西": ["鹰潭市", "新余市", "南昌市", "九江市", "上饶市", "抚州市", "宜春市", "吉安市", "赣州市", "景德镇市", "萍乡市"]
+}, {
+	"辽宁": ["沈阳市", "铁岭市", "大连市", "鞍山市", "抚顺市", "本溪市", "丹东市", "锦州市", "营口市", "阜新市", "辽阳市", "朝阳市", "盘锦市", "葫芦岛市"]
+}, {
+	"内蒙古": ["呼伦贝尔市", "呼和浩特市", "包头市", "乌海市", "乌兰察布市", "通辽市", "赤峰市", "鄂尔多斯市", "巴彦淖尔市", "锡林郭勒盟", "兴安盟", "阿拉善盟"]
+}, {
+	"宁夏": ["银川市", "石嘴山市", "吴忠市", "固原市", "中卫市"]
+}, {
+	"青海": ["海北藏族自治州", "西宁市", "海东市", "黄南藏族自治州", "海南藏族自治州", "果洛藏族自治州", "玉树藏族自治州", "海西蒙古族藏族自治州"]
+}, {
+	"山西": ["朔州市", "忻州市", "太原市", "大同市", "阳泉市", "晋中市", "长治市", "晋城市", "临汾市", "吕梁市", "运城市"]
+}, {
+	"陕西": ["西安市", "咸阳市", "延安市", "榆林市", "渭南市", "商洛市", "安康市", "汉中市", "宝鸡市", "铜川市"]
+}, {
+	"上海": ["上海市"]
+}, {
+	"山东": ["菏泽市", "济南市", "青岛市", "淄博市", "德州市", "烟台市", "潍坊市", "济宁市", "泰安市", "临沂市", "滨州市", "东营市", "威海市", "枣庄市", "日照市", "莱芜市", "聊城市"]
+}, {
+	"四川": ["成都市", "攀枝花市", "自贡市", "绵阳市", "南充市", "达州市", "遂宁市", "广安市", "巴中市", "泸州市", "宜宾市", "资阳市", "内江市", "乐山市", "眉山市", "凉山彝族自治州", "雅安市", "甘孜藏族自治州", "阿坝藏族羌族自治州", "德阳市", "广元市"]
+}, {
+	"天津": ["天津市"]
+}, {
+	"台湾": ["台湾省"]
+}, {
+	"西藏": ["拉萨市", "日喀则市", "山南市", "林芝市", "昌都市", "那曲地区", "阿里地区"]
+}, {
+	"新疆": ["塔城地区", "哈密地区", "和田地区", "阿勒泰地区", "克孜勒苏柯尔克孜自治州", "博尔塔拉蒙古自治州", "克拉玛依市", "乌鲁木齐市", "石河子市", "昌吉回族自治州", "五家渠市", "吐鲁番市", "巴音郭楞蒙古自治州", "阿克苏地区", "阿拉尔市", "喀什地区", "图木舒克市", "伊犁哈萨克自治州"]
+}, {
+	"香港": ["香港"]
+}, {
+	"云南": ["西双版纳傣族自治州", "德宏傣族景颇族自治州", "昭通市", "昆明市", "大理白族自治州", "红河哈尼族彝族自治州", "曲靖市", "保山市", "文山壮族苗族自治州", "玉溪市", "楚雄彝族自治州", "普洱市", "临沧市", "怒江傈僳族自治州", "迪庆藏族自治州", "丽江市"]
+}, {
+	"浙江": ["舟山市", "衢州市", "杭州市", "湖州市", "嘉兴市", "宁波市", "绍兴市", "温州市", "丽水市", "金华市", "台州市"]
+}]

+ 89 - 54
src/web/templates/weixin/historypush.html

@@ -276,8 +276,11 @@
 						$(".renew_toast").show();
 					}
 				}else{
-					if(parseInt(isExpire)!=0){
+					if(parseInt(isExpire)<0){
 						$(".nv_renew_toast").show();
+					}else{
+						$(".isExpire").text(parseInt(isExpire));
+						$(".renew_toast").show();
 					}
 				}
 				$(".vip_set").show();
@@ -789,7 +792,7 @@
 		}
 		._header{
 			position: fixed;
-			top: 0.02rem;
+			top: 0rem;
 			width: 100%;
 			z-index: 999;
 		}
@@ -913,66 +916,77 @@
       </div>
   	</div>
   	<script src="{{Msg "seo" "cdn"}}/vipsubscribe/js/weui.min.js?v={{Msg "seo" "version"}}"></script>
-  	<script src="{{Msg "seo" "cdn"}}/dataExport/js/mapJSON.js?v={{Msg "seo" "version"}}"></script>
+  	<script src="{{Msg "seo" "cdn"}}/vipsubscribe/js/mapArea.js?v={{Msg "seo" "version"}}"></script>
   	<script type="text/javascript" charset="UTF-8">
   		function mapData(){
   			var _citySessionData = null
-  			var _provinceArr = {}
-  			var _cityMap = []
+  			var _provinceArr = {}//选择的省份对应的城市
+			var allCityNum = 0;//选择全部省份的个数
+			var cityNumArr = {};//单个省份下的城市个数
   			if (sessionStorage&&sessionStorage.getItem(userId+"_selectCityName")!=null){
   				_citySessionData  = JSON.parse(sessionStorage.getItem(userId+"_selectCityName"));
   				for(var k=0;k<_citySessionData.length;k++){
-  					_provinceArr[_citySessionData[k]["province"]] = _citySessionData[k]["selectCity"].length
-  					_cityMap = _cityMap.concat(_citySessionData[k]["selectCity"])
+					if (_citySessionData[k]["selectCity"]["0"]=="全部"){
+						cityNumArr[_citySessionData[k]["province"]] = _citySessionData[k]["selectCity"].length - 1;
+					}else{
+  						cityNumArr[_citySessionData[k]["province"]] = _citySessionData[k]["selectCity"].length;
+					}
+					allCityNum += cityNumArr[_citySessionData[k]["province"]]
+  					_provinceArr[_citySessionData[k]["province"]] = _citySessionData[k]["selectCity"]
   				}
-  				if(_cityMap.length>0){
-  					 $('#showArea .jymobile-tab-triangle').addClass('current').text(`地区 ${_cityMap.length}`);
+				//所选地级市的数量
+  				if(allCityNum>0){
+  					 $('#showArea .jymobile-tab-triangle').addClass('current').text(`地区 ${allCityNum}`);
   				}
 				//sessionStorage.removeItem("selectCityName");
   			}
-	  		var provinceArr = ["安徽","澳门","北京","重庆","福建","广东","广西","贵州","甘肃","河北","湖北","黑龙江","海南","河南","湖南","吉林","江苏","江西","辽宁","内蒙古","宁夏","青海","山西","陕西","上海","山东","四川","天津","台湾","西藏","新疆","香港","云南","浙江"]
 	  		var provinceHtml = '<div class="province">';
 	  		var cityHtml = '<div class="city" >';
-	  		for (var j = 0;  j <  provinceArr.length;j++) {
+	  		for (var j = 0;  j <  chinaMapJSON.length;j++) {
 	  			var shwohide = 'none'
 	  			var _active = "";
-	  			for (var i = chinaMapJSON.length - 1; i >= 0; i--) {
-	  				_chinaMap = chinaMapJSON[i]
-	  				if(_chinaMap["name"].indexOf(provinceArr[j])>-1){
-	  					if (j==0){
-	  						shwohide = "";
-	  						_active = "active";
-	  					}
-	  					var provinceFlag = true;
-	  					if(_provinceArr[provinceArr[j]]!=undefined&&_provinceArr[provinceArr[j]]>0){
-								provinceHtml +='<p class="p_item '+_active+'"><span class="province-name">'+provinceArr[j]+'</span><span class="city-count" style="display: inline;">('+_provinceArr[provinceArr[j]]+')</span></p>'
-								//
-								cityHtml +='<div class="province_city" data-id="'+provinceArr[j]+'" style="display:'+shwohide+'">';
-								provinceFlag = false;
-	  					}
-	  					if(provinceFlag){
-	  						provinceHtml +='<p class="p_item '+_active+'"><span class="province-name">'+provinceArr[j]+'</span><span class="city-count"></span></p>'
-	  					
-	  						cityHtml +='<div class="province_city" data-id="'+provinceArr[j]+'" style="display:'+shwohide+'">'
-	  					}
-	  					var cityArr = _chinaMap["city"]
-	  					for(var m = 0;m < cityArr.length;m++){
-	  						var cityFlag = true;
-		  					if(_cityMap.length>0){
-			  					for(var k=0;k<_cityMap.length;k++){
-			  						if(_cityMap[k]==cityArr[m]["name"]){
-			  							cityHtml +='<p class="c_item"><input type="checkbox" class="checkbox"  checked><span class="city-name">'+cityArr[m]["name"]+'</span></p>';
-			  							cityFlag = false;
-			  							break;
-			  						}
-			  					}
-			  				}
-			  				if(cityFlag){
-	  							cityHtml +='<p class="c_item"><input type="checkbox" class="checkbox"><span class="city-name">'+cityArr[m]["name"]+'</span></p>'
-	  						}
-	  					}
-	  					cityHtml +='</div>'
-	  				}
+				var thisArea = chinaMapJSON[j]
+	  			for (var i in thisArea) {
+					//首先显示安徽省和其地级市 其他隐藏
+  					if (i=="安徽"){
+  						shwohide = "";
+  						_active = "active";
+  					}
+  					var provinceFlag = true;
+  					if(_provinceArr[i]!=undefined&&_provinceArr[i].length>0){
+							provinceHtml +='<p class="p_item '+_active+'"><span class="province-name">'+i+'</span><span class="city-count" style="display: inline;">('+cityNumArr[i]+')</span></p>'
+							//
+							cityHtml +='<div class="province_city" data-id="'+i+'" style="display:'+shwohide+'">';
+							provinceFlag = false;
+  					}
+  					if(provinceFlag){
+  						provinceHtml +='<p class="p_item '+_active+'"><span class="province-name">'+i+'</span><span class="city-count"></span></p>'
+  					
+  						cityHtml +='<div class="province_city" data-id="'+i+'" style="display:'+shwohide+'">'
+  					}
+  					var cityArr = thisArea[i]//每个省份下的地市
+					var _cityMap = _provinceArr[i]
+					if(_cityMap!=undefined&&_cityMap[0]=="全部"){
+						cityHtml +='<p class="c_item cityAll"><input type="checkbox" class="checkbox" checked><span class="city-name">全部</span></p>';
+					}else{
+						cityHtml +='<p class="c_item cityAll"><input type="checkbox" class="checkbox"><span class="city-name">全部</span></p>';
+					}
+  					for(var m = 0;m < cityArr.length;m++){
+  						var cityFlag = true;
+	  					if(_cityMap!=undefined&&_cityMap.length>0){
+		  					for(var k=0;k<_cityMap.length;k++){
+		  						if(_cityMap[k]==cityArr[m]){
+		  							cityHtml +='<p class="c_item"><input type="checkbox" class="checkbox"  checked><span class="city-name">'+cityArr[m]+'</span></p>';
+		  							cityFlag = false;
+		  							break;
+		  						}
+		  					}
+		  				}
+		  				if(cityFlag){
+  							cityHtml +='<p class="c_item"><input type="checkbox" class="checkbox"><span class="city-name">'+cityArr[m]+'</span></p>'
+  						}
+  					}
+  					cityHtml +='</div>'
 	  			}
 	  		}
 	  		provinceHtml += '</div>'
@@ -1115,13 +1129,32 @@
             	$(this).parent().children('input').trigger('click')
             })
             // 每次选择框变化,更新城市计数
-            $('.area_wrap .c_item input[type="checkbox"]').on('change',function () { 
+            $('.area_wrap .c_item input[type="checkbox"]').on('change',function () {
+				if($(this).parent("p").hasClass("cityAll")){
+					if ($(this).is(':checked')){
+						$(this).parent("p").nextAll("p").find('input[type="checkbox"]').prop('checked', true);
+					}else{
+						$(this).parent("p").nextAll("p").find('input[type="checkbox"]').prop('checked', false);
+					}
+				}else{
+					if ($(this).is(':checked')){
+						if($(this).parent().parent().find('input:checked').length == ($(this).parent().parent().find('p').length-1)){
+							$(this).parent().parent().find('.cityAll  input[type="checkbox"]').prop('checked', true);
+						}
+					}else{
+						$(this).parent().parent().find('.cityAll  input[type="checkbox"]').prop('checked', false);
+					}
+				}
             	var i = $(this).parent().parent().index()
                 // 找到该省份下所有被选中的input,统计有几个
                 var checkedCityNum = $(this).parent().parent().find('input:checked').length;
+				if(checkedCityNum>0&&$(this).parent().parent().find('.cityAll  input[type="checkbox"]').is(':checked')){
+					//判断全选是否
+					checkedCityNum = checkedCityNum -1;
+				}
                 var cityCountDOM = $('.province .p_item').eq(i).children('.city-count')
                 if (checkedCityNum) {
-                	cityCountDOM.show().text(`(${checkedCityNum})`)
+                	cityCountDOM.show().text(`(${checkedCityNum})`)
                 } else {
                 	cityCountDOM.show().text('')
                 	cityCountDOM.hide()
@@ -1131,14 +1164,16 @@
             $('.screen').click(function(){
             	$(".subscribe").toggleClass('overClass');
 				scrollHtml();
-				$('#showArea').find("span").toggleClass("current");
+				if(sessionStorage.getItem(userId+"_selectCityName")==""||sessionStorage.getItem(userId+"_selectCityName")==undefined){
+					$('#showArea').find("span").toggleClass("current");
+				}
             	$('.area_container').slideUp();
             	$('.screen').hide();
             })
             // 地区选择确认按钮
             $('.enter_btn').click(function (){
             	$(".subscribe").toggleClass('overClass');
-            	let cityCount = $('.area_wrap .city input:checked').length;
+            	let cityCount = $('.area_wrap .city input:checked').length-$('.area_wrap .city .cityAll input:checked').length;
             	$('.area_container').slideUp();
             	$('.screen').hide()
                 selectCity = "" //重新选择 初始化地区 参数
@@ -1180,9 +1215,9 @@
                     	province: provinceName,
                     	selectCity: cityArr
                     });
-                    sessionStorage.setItem(userId+"_selectCityName", JSON.stringify(selectCityName));
-                    ajaxFun(firstTime,selectCity);
                 })
+                sessionStorage.setItem(userId+"_selectCityName", JSON.stringify(selectCityName));
+                ajaxFun(firstTime,selectCity);
                 // 重写地区text
                 $('#showArea .jymobile-tab-triangle').addClass('current').text(`地区 ${cityCount}`);
                 

+ 20 - 12
src/web/templates/weixin/vipsubscribe/choose_industry_upgrade.html

@@ -295,7 +295,6 @@
                 })
                 if(selectedArr.length > 0){
                 	let adds = selectedArr.length+buyIndustryLen
-                	console.log(buyset)
                 	if(buyset !== "全部行业"){
                 		if(adds <= buyset){
 	                		$(".addUpgrade").hide();
@@ -312,17 +311,17 @@
 		            	}
                 	}else{
                 		if(selectedArr[0] === "全部行业"){
-                			$(".buyset").text("已购买:全部行业/"+buyset);
+                			$(".buyset").text("已购买:全部行业");
                 		}else{
                 			let adds = buyIndustry.length + selectedArr.length
-                			$(".buyset").text("已购买:"+adds+"/"+buyset);
+                			$(".buyset").text("已购买:"+buyset);
                 		}
                 	}
                 }else{
                 	if(buyset !== "全部行业"){
                 		$(".buyset").text("已购买:"+buyIndustryLen+"/"+buyset+"个行业")
                 	}else{
-                		$(".buyset").text("已购买:"+buyIndustryLen+"/"+buyset)
+                		$(".buyset").text("已购买:"+buyset)
                 	}
                 }
                 for(var i in selectedArr){
@@ -416,13 +415,13 @@
                 findSelectedIndustry()
                 flushPrice()
             })
-
             // 重置按钮事件
             $('.reset-btn').on('click', function () {
 //            $("#all .industry_item").trigger("click");
 				$('.select-area-box .list button').removeClass('active');
                 showSelect(buyIndustry,false);
                 findSelectedIndustry();
+                sessionStorage.removeItem("vipSubSelectIndustryAdd");
                 sessionStorage.removeItem("vipSubSelectIndustryUpgrade");
                 $('.tips_btn .btns button').removeAttr('disabled');
             })
@@ -441,6 +440,8 @@
         				selectedIndustrysArr = selectedIndustryArr;
         			}
         		}
+        		sessionStorage.buyIndustry = $(".buyset").html();
+        		sessionStorage.addIndustry = $(".addUpgrade").html();
         		sessionStorage.setItem("vipSubSelectIndustryAdd",JSON.stringify(selectedIndustrysArr));
                 sessionStorage.setItem("vipSubSelectIndustryUpgrade",JSON.stringify(selectedIndustryArr));
                 history.go(-1);
@@ -474,13 +475,19 @@
 		            	buyLen = buyIndustry.length
 		            	buyIndustryLen = buyIndustry.length;
 		            	buyset = Number(data.buyset.buyerclasscount);
-		            	console.log(buyset)
-		            	if(buyset === -1){
-		            		buyset = "全部行业";
-		            		$(".buyset").text("已购买:"+buyLen+"/"+buyset);
-		            	}else{
-		            		$(".buyset").text("已购买:"+buyLen+"/"+buyset+"个行业");
-		            	}
+		            	if(sessionStorage.buyIndustry !== undefined){
+							$(".buyset").text(sessionStorage.buyIndustry);
+						}else{
+							if(buyset === -1){
+			            		buyset = "全部行业";
+			            		$(".buyset").text("已购买:/"+buyset);
+			            	}else{
+			            		$(".buyset").text("已购买:"+buyLen+"/"+buyset+"个行业");
+			            	}
+						}
+						if(sessionStorage.addIndustry !== undefined){
+							$(".addUpgrade").text(sessionStorage.addIndustry);
+						}
                 	}
                 },false);
                 if(checkObj(buyIndustry)){
@@ -510,6 +517,7 @@
 			    }
 			    return false;
 			}
+		
         </script>
     </body>
 </html>

+ 3 - 1
src/web/templates/weixin/vipsubscribe/edit_subscribe_success.html

@@ -20,8 +20,10 @@
         </div>
         <script src="/vipsubscribe/js/jquery-2.1.4.js?v={{Msg "seo" "version"}}"></script>
         <script>
-
+			
             $(function(){
+            	sessionStorage.removeItem("vipSubSelectArea");
+            	sessionStorage.removeItem("vipSubSelectIndustry");
 //              timer($('.time'),()=>{
 //                  window.history.go(-1); 
 //              })

+ 10 - 3
src/web/templates/weixin/vipsubscribe/renew_notice.html

@@ -60,7 +60,7 @@
             </div>
 			<div class="renew_box">
                 <button style="display: none;" class="renew_service">续费</button>
-                <button style="display: none;" class="aginBuy" onclick="window.location.href='/weixin/pay/vipsubscribe_willExpire'">再次购买</button>
+                <button style="display: none;" class="aginBuy">再次购买</button>
                 <button style="display: none;" class="free_service" onclick="window.location.href='/swordfish/historypush'">使用免费订阅</button>
             </div>
 		</div>
@@ -73,6 +73,7 @@
 			var orderId = {{.T.orderId}};
 			var starts = {{.T.startTime}};
 			var ends = {{.T.endTime}};
+			var orderCode = "";
 //			console.log("orderId",orderId)
 //			console.log("starts",starts)
 //			console.log("ends",ends)
@@ -84,6 +85,8 @@
 						var buyerclass = r.buyerclass
 						var exprie = {{.T.exprie}};
 						var vipStatus = Number(r.vipStatus);
+						orderCode = r.orderCode;
+						//
 						var areaHtml = "";
 					    var provinceArr = [];
 					    var cityArr = [];
@@ -147,7 +150,7 @@
 					  	  	$(".free_service").show();
 					    }
 					}
-				});
+				},false);
 			}else{
 				$DoPost("/subscribepay/renewUpgrade/getBuyMsg", {}, function (data) {
 					if(data){
@@ -157,6 +160,7 @@
 					    var endTime = data.end;
 					    var exprie = {{.T.exprie}};
 					    var vipStatus = Number(data.vipStatus);
+					    orderCode = data.orderCode;
 					    //
 					    var areaHtml = "";
 					    var provinceArr = [];
@@ -222,7 +226,7 @@
 					    	$(".free_service").show();
 					    }
 					}
-				});	
+				},false);	
 			}
 			
 			$(".renew_service").on("click",function(){
@@ -232,6 +236,9 @@
 				};
 				window.location.href = "/weixin/pay/renewPayPage";
 			});
+			$(".aginBuy").on("click",function(){
+				window.location.href = "/weixin/pay/vipsubscribe_new?orderCode="+orderCode;
+			});
 	        //
 		    function checkObj(obj) {
 			    //检验数组

+ 0 - 1
src/web/templates/weixin/vipsubscribe/renew_pay.html

@@ -799,7 +799,6 @@
 	    		"time": $('.choose_item.select_cycle .info').val(),
 	    		"payWay":"wx_js",
 	    		"pay_source": "Renew",
-	    		"endtime": ends,
 	    	}
 	    	console.log(param)
 	    	$DoPost("/subscribepay/renewUpgrade/renewUpgradeCreateOrder",param,function(r){

+ 2 - 2
src/web/templates/weixin/vipsubscribe/vip_index.html

@@ -294,8 +294,8 @@
 	                        $("._area").text(area);
 							//行业
 							var buyerclass =  _vipData["a_buyerclass"];
-							if (buyerclass.length>0){
-	                        	$("._buyerClass").text(buyerclass.length+"个行业");
+							if (buyerclass >0){
+	                        	$("._buyerClass").text(buyerclass+"个行业");
 							}else{
 	                        	$("._buyerClass").text("全部行业");
 							}

+ 32 - 19
src/web/templates/weixin/vipsubscribe/vip_upgrade.html

@@ -437,6 +437,11 @@
 	        	sessionStorage.removeItem("vipSubSelectIndustryUpgrade");
 	        }
         }
+        if(sessionStorage.vipSubSelectIndustryAdd!==undefined&&sessionStorage.vipSubSelectIndustryAdd!==""){
+        	if(checkObj(JSON.parse(sessionStorage.vipSubSelectIndustryAdd))){
+	        	sessionStorage.removeItem("vipSubSelectIndustryAdd");
+	        }
+        }
         //
 		var monthPrice = "";
         var yearPrice = "";
@@ -914,6 +919,8 @@
 	 	//
 	 	var area = "";
 	    var buyerclass = "";
+	    var buyArea = "";
+	    var buyIndustry = "";
 	    var cycleunit = "";
 	    var cyclecount = "";
 	 	var startTime = "";
@@ -923,8 +930,10 @@
 //	    var isvalidOk = "";
 	 	$DoPost("/subscribepay/renewUpgrade/getBuyMsg", {}, function (data) {
             if (data) {
-                area = data.allarea;
-			    buyerclass = data.allindustry;
+                area = data.area;
+			    buyerclass = data.buyerclass;
+			    buyArea = data.allarea;
+			    buyIndustry = data.allindustry;
 			    cycleunit = data.cycleunit;
 			    cyclecount = data.cyclecount;
 			    startTime = data.start;
@@ -1080,9 +1089,9 @@
 				}
 			}else{
 				areasArr = null;
-				if(area !== ""&&area !== undefined){
-					for(let province in area){
-			    		let citys = area[province];
+				if(buyArea !== ""&&buyArea !== undefined){
+					for(let province in buyArea){
+			    		let citys = buyArea[province];
 			    		if(citys.length===0){
 							allArea[province] = [];
 			    		}else{
@@ -1160,6 +1169,10 @@
 						industrysArr = ["全部行业"];
 					}
 				}
+			}
+			
+			if(sessionStorage.vipSubSelectIndustryUpgrade!==""&&sessionStorage.vipSubSelectIndustryUpgrade!==undefined){
+				var vipIndustry = JSON.parse(sessionStorage.vipSubSelectIndustryUpgrade);
 				if(buyerclass!==""&&buyerclass!==undefined){
 					for(let i in buyerclass){
 			    		let industry = buyerclass[i];
@@ -1178,9 +1191,9 @@
 				}
 			}else{
 				industrysArr = null;
-				if(buyerclass!==""&&buyerclass!==undefined){
-					for(let i in buyerclass){
-			    		let industry = buyerclass[i];
+				if(buyIndustry!==""&&buyIndustry!==undefined){
+					for(let i in buyIndustry){
+			    		let industry = buyIndustry[i];
 			    		allIndustry.push(industry);
 			    	}
 			    }
@@ -1301,8 +1314,8 @@
 			console.log("month",nowUpgrade)
 			//
 			if (nowUpgradeYear >= 1) {
-				let monthprice = getsubVipOrderPrice(area, buyerclass, [nowUpgrade, 2])
-				let yearprice = getsubVipOrderPrice(area, buyerclass, [nowUpgradeYear, 1])
+				let monthprice = getsubVipOrderPrice(buyArea, buyIndustry, [nowUpgrade, 2])
+				let yearprice = getsubVipOrderPrice(buyArea, buyIndustry, [nowUpgradeYear, 1])
 				oldPrice = yearprice + monthprice
 				if (monthprice == 0) {
 					oldMonthPrice = ((yearprice / nowUpgradeYear) / 10).toFixed(1);
@@ -1312,7 +1325,7 @@
 					oldYearPrice = ((monthprice / nowUpgrade) * 10).toFixed(1);
 				}
 			} else {
-				oldPrice = getsubVipOrderPrice(area, buyerclass, [nowUpgrade, 2])
+				oldPrice = getsubVipOrderPrice(buyArea, buyIndustry, [nowUpgrade, 2])
 				oldMonthPrice = (oldPrice / nowUpgrade)
 				oldYearPrice = ((oldPrice / nowUpgrade) * 10).toFixed(1);
 			}
@@ -1332,12 +1345,12 @@
 					addAreaPriceM = getsubVipOrderPrice(areasArr,industrysArr,[nowUpgrade,2]);
 				}
 				if(areasArr !== null){
-					oldAreaPriceY = getsubVipOrderPrice(areasArr,buyerclass,[nowUpgradeYear,1]);
-					oldAreaPriceM = getsubVipOrderPrice(areasArr,buyerclass,[nowUpgrade,2]);
+					oldAreaPriceY = getsubVipOrderPrice(areasArr,buyIndustry,[nowUpgradeYear,1]);
+					oldAreaPriceM = getsubVipOrderPrice(areasArr,buyIndustry,[nowUpgrade,2]);
 				}
 				if(industrysArr !== null){
-					addIndustryPriceY = getsubVipOrderPrice(area,industrysArr,[nowUpgradeYear,1]);
-					addIndustryPriceM = getsubVipOrderPrice(area,industrysArr,[nowUpgrade,2]);
+					addIndustryPriceY = getsubVipOrderPrice(buyArea,industrysArr,[nowUpgradeYear,1]);
+					addIndustryPriceM = getsubVipOrderPrice(buyArea,industrysArr,[nowUpgrade,2]);
 				}
 				let yearprice = getsubVipOrderPrice(allArea,allIndustry,[nowUpgradeYear,1]);
 				let monthprice = getsubVipOrderPrice(allArea,allIndustry,[nowUpgrade,2]);
@@ -1363,10 +1376,10 @@
 					addAreaPriceM = getsubVipOrderPrice(areasArr,industrysArr,[nowUpgrade,2]);
 				}
 				if(areasArr !== null){
-					oldAreaPriceM = getsubVipOrderPrice(areasArr,buyerclass,[nowUpgrade,2]);
+					oldAreaPriceM = getsubVipOrderPrice(areasArr,buyIndustry,[nowUpgrade,2]);
 				}
 				if(industrysArr !== null){
-					addIndustryPriceM = getsubVipOrderPrice(area,industrysArr,[nowUpgrade,2]);
+					addIndustryPriceM = getsubVipOrderPrice(buyArea,industrysArr,[nowUpgrade,2]);
 				}
 				let monthprice = getsubVipOrderPrice(allArea,allIndustry,[nowUpgrade,2]);
 //				price = getsubVipOrderPrice(areasArr,industrysArr,[nowUpgrade,2]);
@@ -1468,8 +1481,8 @@
         		industryArr = "no";
         	}
             //
-            let areaarr = area;
-        	let industryarr = buyerclass;
+            let areaarr = buyArea;
+        	let industryarr = buyIndustry;
         	let allAreaArr = allArea;
         	let allIndustryArr = allIndustry;
         	if(allAreaArr["全国"]){