xuzhiheng 5 gadi atpakaļ
vecāks
revīzija
474ce85cfe

+ 15 - 6
src/jfw/modules/subscribepay/src/entity/subscribeVip.go

@@ -132,9 +132,11 @@ func (this *vipSubscribeStruct) PayCallBack(param *CallBackParam) bool {
 	} else if vmsg.OrderType == 2 { //续费
 		flag = JyVipSubStruct.RenewSubVip(userid, qutil.ObjToString((*orderdata)["vip_endtime"]))
 	} else if vmsg.OrderType == 3 { //立即升级
-		flag = JyVipSubStruct.UpgradeSubVip(userid, vmsg, qutil.ObjToString((*orderdata)["vip_endtime"]), true)
-	} else if vmsg.OrderType == 4 || vmsg.OrderType == 5 { //下月升级
-		flag = JyVipSubStruct.UpgradeSubVip(userid, vmsg, qutil.ObjToString((*orderdata)["vip_endtime"]), false)
+		flag = JyVipSubStruct.UpgradeSubVip(userid, vmsg, qutil.ObjToString((*orderdata)["vip_starttime"]), qutil.ObjToString((*orderdata)["vip_endtime"]), true, "no")
+	} else if vmsg.OrderType == 4 { //下月升级
+		flag = JyVipSubStruct.UpgradeSubVip(userid, vmsg, qutil.ObjToString((*orderdata)["vip_starttime"]), qutil.ObjToString((*orderdata)["vip_endtime"]), false, "no")
+	} else if vmsg.OrderType == 5 {
+		flag = JyVipSubStruct.UpgradeSubVip(userid, vmsg, qutil.ObjToString((*orderdata)["vip_starttime"]), qutil.ObjToString((*orderdata)["vip_endtime"]), false, "exprie")
 	} else if vmsg.OrderType == 6 { //下月升级未生效再次升级
 		flag = JyVipSubStruct.UpgradeSubVipTwo(userid, vmsg, qutil.ObjToString((*orderdata)["vip_endtime"]), false)
 	}
@@ -182,13 +184,14 @@ func (this *vipSubscribeStruct) RenewSubVip(userId, endtime string) bool {
 }
 
 //升级
-func (this *vipSubscribeStruct) UpgradeSubVip(userId string, vmsg VipSimpleMsg, end string, isNow bool) bool {
+func (this *vipSubscribeStruct) UpgradeSubVip(userId string, vmsg VipSimpleMsg, start string, end string, isNow bool, isExprie string) bool {
 	//	startTime, err := time.ParseInLocation(qutil.Date_Full_Layout, start, time.Local)
 	//	if err != nil {
 	//		log.Println("%s格式化日期出错%s\n", userId, start)
 	//		return false
 	//	}
-	endTime, err := time.ParseInLocation(qutil.Date_Full_Layout, end, time.Local)
+	endTime, _ := time.ParseInLocation(qutil.Date_Full_Layout, end, time.Local)
+	startTime, err := time.ParseInLocation(qutil.Date_Full_Layout, start, time.Local)
 	if err != nil {
 		log.Println("%s格式化日期出错%s\n", userId, endTime)
 		return false
@@ -213,7 +216,13 @@ func (this *vipSubscribeStruct) UpgradeSubVip(userId string, vmsg VipSimpleMsg,
 			log.Printf("%s更新结束%d日期出错\n", userId, endTime.Unix())
 			return false
 		}
-		effectTime := time.Date(time.Now().Year(), time.Now().Month()+1, 1, 0, 0, 0, 0, time.Local)
+		var effectTime time.Time
+		if isExprie != "no" {
+			effectTime = startTime
+		} else {
+			effectTime = time.Date(time.Now().Year(), time.Now().Month()+1, 1, 0, 0, 0, 0, time.Local)
+		}
+
 		return util.MQFW.Save("vip_upgrade",
 			bson.M{
 				"s_userid":     userId,            //试用设置地区

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

@@ -135,7 +135,7 @@ func (this *SubVipPayOrder) CreateOrder() {
 		if orderType == 5 { //插入生效时间和结束时间
 			timeStamp := qutil.Int64All((*userData)["l_vip_endtime"])
 			startTime := time.Unix(timeStamp, 0)
-			endTime := util.GetDATE(filter.Cycleunit, filter.Cycleunit, timeStamp)
+			endTime := util.GetDATE(filter.Cycleunit, filter.Cyclecount, timeStamp)
 			insertMap["vip_starttime"] = qutil.FormatDate(&startTime, qutil.Date_Full_Layout)
 			insertMap["vip_endtime"] = qutil.FormatDate(&endTime, qutil.Date_Full_Layout)
 		}