|
@@ -24,6 +24,8 @@ import (
|
|
//试用用户
|
|
//试用用户
|
|
type TrialOrder struct {
|
|
type TrialOrder struct {
|
|
*xweb.Action
|
|
*xweb.Action
|
|
|
|
+ showTrailTip xweb.Mapper `xweb:"/trial/showTrailTip"` //首页试用弹框是否展示
|
|
|
|
+ closeTrailTip xweb.Mapper `xweb:"/trial/closeTrailTip"` //关闭首页试用弹框
|
|
getUserPhone xweb.Mapper `xweb:"/trial/GetUserPhone"` //获取用户手机号码
|
|
getUserPhone xweb.Mapper `xweb:"/trial/GetUserPhone"` //获取用户手机号码
|
|
captcha xweb.Mapper `xweb:"/trial/captcha"` //图形验证码
|
|
captcha xweb.Mapper `xweb:"/trial/captcha"` //图形验证码
|
|
sendPhoneCaptcha xweb.Mapper `xweb:"/trial/sendPhoneCaptcha"` //发送手机验证码
|
|
sendPhoneCaptcha xweb.Mapper `xweb:"/trial/sendPhoneCaptcha"` //发送手机验证码
|
|
@@ -36,6 +38,35 @@ var (
|
|
phoneReg = regexp.MustCompile("^[1][3-9][0-9]{9}$")
|
|
phoneReg = regexp.MustCompile("^[1][3-9][0-9]{9}$")
|
|
nameReg = regexp.MustCompile("^[\u4E00-\u9FA5A-Za-z\\s]+(·[\u4E00-\u9FA5A-Za-z]+)*$")
|
|
nameReg = regexp.MustCompile("^[\u4E00-\u9FA5A-Za-z\\s]+(·[\u4E00-\u9FA5A-Za-z]+)*$")
|
|
)
|
|
)
|
|
|
|
+//首页试用弹框是否展示
|
|
|
|
+func (t *TrialOrder) ShowTrailTip() {
|
|
|
|
+ userId := qutil.ObjToString(t.GetSession("userId"))
|
|
|
|
+ showTrailTip := true
|
|
|
|
+ m, _ := util.MQFW.FindById("user", userId, `{"o_vipjy":1}`)
|
|
|
|
+ if m != nil && len(*m) > 0 {
|
|
|
|
+ if (*qutil.ObjToMap((*m)["o_vipjy"]))["i_trial"] != nil {
|
|
|
|
+ showTrailTip = false
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ t.ServeJson(map[string]interface{}{
|
|
|
|
+ "showTrailTip": showTrailTip,
|
|
|
|
+ })
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+//关闭首页试用弹框
|
|
|
|
+func (t *TrialOrder) CloseTrailTip() {
|
|
|
|
+ userId := qutil.ObjToString(t.GetSession("userId"))
|
|
|
|
+ ok := false
|
|
|
|
+ if util.MQFW.UpdateById("user", userId,
|
|
|
|
+ bson.M{"$set": bson.M{
|
|
|
|
+ "o_vipjy.i_trial": 2,}}) {
|
|
|
|
+ ok = true
|
|
|
|
+ } //已激活试用
|
|
|
|
+ t.ServeJson(map[string]interface{}{
|
|
|
|
+ "success": ok,
|
|
|
|
+ })
|
|
|
|
+}
|
|
|
|
+
|
|
//获取之前用户信息
|
|
//获取之前用户信息
|
|
func (t *TrialOrder) GetUserPhone() {
|
|
func (t *TrialOrder) GetUserPhone() {
|
|
var phoneNum string
|
|
var phoneNum string
|
|
@@ -152,9 +183,18 @@ func (t *TrialOrder) SubmitApply() {
|
|
return false, "稍后重试"
|
|
return false, "稍后重试"
|
|
}
|
|
}
|
|
go func() {
|
|
go func() {
|
|
- //更新user表可试用
|
|
|
|
- if !util.MQFW.UpdateById("user", userId, bson.M{"$set": bson.M{"o_vipjy.i_trial": 1}}) {
|
|
|
|
- log.Println("更新使用状态出错", userId)
|
|
|
|
|
|
+ //更新user表可试用(未试用状态)
|
|
|
|
+ res, ok := util.MQFW.FindById("user", userId, `{"o_vipjy.i_trial":1}`)
|
|
|
|
+ if res != nil && len(*res) > 0 && ok {
|
|
|
|
+ o_vipjy := qutil.ObjToMap((*res)["o_vipjy"])
|
|
|
|
+ i_trial, ok := (*o_vipjy)["i_trial"]
|
|
|
|
+ if !ok || qutil.IntAll(i_trial) == 2 { //2为不提示状态
|
|
|
|
+ if !util.MQFW.UpdateById("user", userId, bson.M{"$set": bson.M{"o_vipjy.i_trial": 1}}) {
|
|
|
|
+ log.Println("更新使用状态出错", userId)
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ log.Printf("%s: 状态%d不能修改为试用状态\n", userId, i_trial)
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}()
|
|
}()
|
|
clearTrialSession(t.Session())
|
|
clearTrialSession(t.Session())
|
|
@@ -270,7 +310,7 @@ func (this *TrialOrder) TrialPay() {
|
|
if orderid == -1 {
|
|
if orderid == -1 {
|
|
return &entity.FuncResult{false, errors.New("数据保存异常"), nil}
|
|
return &entity.FuncResult{false, errors.New("数据保存异常"), nil}
|
|
}
|
|
}
|
|
- if !entity.JyVipSubStruct.StartSubVip(userId, area, industry, now, endTime,true,date_count,date_unit) { //设置开始试用
|
|
|
|
|
|
+ if !entity.JyVipSubStruct.StartSubVip(userId, area, industry, now, endTime, true, date_count, date_unit) { //设置开始试用
|
|
return &entity.FuncResult{false, errors.New("开通试用异常"), nil}
|
|
return &entity.FuncResult{false, errors.New("开通试用异常"), nil}
|
|
}
|
|
}
|
|
return &entity.FuncResult{true, nil, map[string]interface{}{"code": ordercode}}
|
|
return &entity.FuncResult{true, nil, map[string]interface{}{"code": ordercode}}
|