|
@@ -45,14 +45,18 @@ func (this *vipSubscribeStruct) PayCallBack(param *CallBackParam) bool {
|
|
|
if orderdata != nil {
|
|
|
return false //未找到订单
|
|
|
}
|
|
|
+ userid := qutil.ObjToString((*orderdata)["user_id"])
|
|
|
order_status := qutil.IntAll((*orderdata)["order_status"])
|
|
|
- if order_status == 0 {
|
|
|
- return true //订单状态异常 或已支付
|
|
|
+ if order_status == 1 {
|
|
|
+ return true // 或已支付
|
|
|
+ }
|
|
|
+ if order_status != 0 {
|
|
|
+ log.Printf("%s订单状态异常%d\n", userid, order_status)
|
|
|
+ return false //
|
|
|
}
|
|
|
//计算时长
|
|
|
vmsg := VipSimpleMsg{}
|
|
|
filterStr := qutil.ObjToString((*orderdata)["filter"])
|
|
|
- userid := qutil.ObjToString((*orderdata)["user_id"])
|
|
|
if err := json.Unmarshal([]byte(filterStr), &vmsg); err != nil {
|
|
|
log.Printf("%s vipSubscribeStruct PayCallBack Unmarshal 出错 [%s]\n", userid, filterStr)
|
|
|
return false
|
|
@@ -83,7 +87,7 @@ func (this *vipSubscribeStruct) PayCallBack(param *CallBackParam) bool {
|
|
|
}, updateMap)
|
|
|
|
|
|
if !update {
|
|
|
- log.Println("更新出错")
|
|
|
+ log.Printf("%s更新订单状态出错%+v\n", userid, updateMap)
|
|
|
return false
|
|
|
}
|
|
|
flag := false
|
|
@@ -100,13 +104,12 @@ func (this *vipSubscribeStruct) PayCallBack(param *CallBackParam) bool {
|
|
|
if flag {
|
|
|
go PayCancel(userid)
|
|
|
}
|
|
|
- return true
|
|
|
+ return flag
|
|
|
}
|
|
|
|
|
|
//设置开始使用vip订阅
|
|
|
func (this *vipSubscribeStruct) StartSubVip(userId string, vmsg VipSimpleMsg, startTime, endTime time.Time, isTrial bool) bool {
|
|
|
buyset := &SubvipBuySet{}
|
|
|
- //a_buyset 计算 0:省份数量 1:城市数量 2:行业数量
|
|
|
if !isTrial { //购买
|
|
|
buyset = JyVipSubStruct.NewBuySet(vmsg.Area, vmsg.Industry)
|
|
|
} else { //试用
|
|
@@ -137,6 +140,7 @@ func (this *vipSubscribeStruct) StartSubVip(userId string, vmsg VipSimpleMsg, st
|
|
|
func (this *vipSubscribeStruct) RenewSubVip(userId, endtime string) bool {
|
|
|
prepayTime, err := time.ParseInLocation(qutil.Date_Full_Layout, endtime, time.Local)
|
|
|
if err != nil {
|
|
|
+ log.Println("%s格式化日期出错%s\n", userId, endtime)
|
|
|
return false
|
|
|
}
|
|
|
return util.MQFW.UpdateById("user", userId, bson.M{"$set": bson.M{"l_vip_endtime": prepayTime.Unix()}})
|
|
@@ -146,10 +150,12 @@ func (this *vipSubscribeStruct) RenewSubVip(userId, endtime string) bool {
|
|
|
func (this *vipSubscribeStruct) UpgradeSubVip(userId string, vmsg VipSimpleMsg, start, end string, isNow bool) 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)
|
|
|
if err != nil {
|
|
|
+ log.Println("%s格式化日期出错%s\n", userId, endTime)
|
|
|
return false
|
|
|
}
|
|
|
buyset := JyVipSubStruct.NewBuySet(vmsg.Area, vmsg.Industry)
|
|
@@ -161,11 +167,18 @@ func (this *vipSubscribeStruct) UpgradeSubVip(userId string, vmsg VipSimpleMsg,
|
|
|
"o_vipjy.i_cycleunit": vmsg.Cycleunit, //购买单位
|
|
|
"o_vipjy.i_cyclecount": vmsg.Cyclecount, //购买时长
|
|
|
"o_vipjy.o_buyset": buyset,
|
|
|
- "l_vip_starttime": startTime.Unix(),
|
|
|
"l_vip_endtime": endTime.Unix(),
|
|
|
+ "i_vip_status": 2,
|
|
|
+ // "l_vip_starttime": startTime.Unix(),
|
|
|
}})
|
|
|
} else {
|
|
|
- //存表
|
|
|
+ if !util.MQFW.UpdateById("user", userId,
|
|
|
+ bson.M{"$set": bson.M{
|
|
|
+ "l_vip_endtime": endTime.Unix(),
|
|
|
+ }}) {
|
|
|
+ log.Println("%s更新结束日期出错", userId)
|
|
|
+ return false
|
|
|
+ }
|
|
|
return util.MQFW.Save("vip_upgrade",
|
|
|
bson.M{
|
|
|
"s_userid": userId, //试用设置地区
|
|
@@ -383,6 +396,7 @@ func PayCancel(userId string) bool {
|
|
|
}, bson.M{
|
|
|
"order_status": -2,
|
|
|
})
|
|
|
+ //逐个取消订单
|
|
|
if !bl {
|
|
|
log.Printf("%s取消其他订单状态失败\n", userId)
|
|
|
}
|