Переглянути джерело

增加店铺申请相关接口

abiao 5 роки тому
батько
коміт
cce45bf1ab

+ 57 - 0
go/gopath/src/fohow.com/apps/controllers/user_controller/user_controller.go

@@ -381,3 +381,60 @@ func getAgeByIdCardNo(idCardNo string) (int64, error) {
 	}
 	return age, nil
 }
+
+//修改交易密码
+func (self *UserController) ShopApplication() {
+	code := self.GetString("code")
+	mobile := self.GetString("mobile")
+	province := self.GetString("province")
+	city := self.GetString("city")
+	address := self.GetString("address")
+	district := self.GetString("district")
+	remark := self.GetString("remark")
+	name := self.GetString("name")
+	total, _ := self.GetInt64("total")
+
+	if len(mobile) != 11 {
+		self.ReturnError(404, apps.ParamsError, "", nil)
+	}
+	if address == "" || province == "" || city == "" || district == "" || name == "" {
+		self.ReturnError(404, apps.ParamsRequired, "", nil)
+	}
+	addr := fmt.Sprintf("%s%s%s%s", province, city, address, district)
+	user := self.GetCurrentUser(false)
+	if user == nil {
+		self.ReturnError(403, apps.UserNotExist, "", nil)
+	}
+	wxUser := user_model.GetWxUserByUserId(user.Id, false)
+	if wxUser == nil {
+		self.ReturnError(403, apps.WxUserNotExist, "", nil)
+	}
+	if wxUser.Rank > user_model.WX_USER_RANK_ONE {
+		self.ReturnError(403, apps.AlreadyShop, "", nil)
+	}
+	k := fmt.Sprintf("%s%s", sms_model.SHOP_APPLICATION, mobile)
+	if cacheCode, ok := cache.Cache.Get(k).(string); ok {
+		if code != cacheCode {
+			self.ReturnError(403, apps.TelCodesError, "", nil)
+		} else {
+			cache.Cache.Delete(k)
+		}
+	} else {
+		//验证码过期
+		self.ReturnError(403, apps.TelCodesExpired, "", nil)
+	}
+	record := user_model.GetShopApplicationByWxUId(wxUser.Id)
+	if record != nil {
+		self.ReturnError(403, apps.ShopNoRepit, "", nil)
+	}
+	record = new(user_model.ShopApplication).Create(user.Id, wxUser.Id, total, mobile, name, wxUser.Nickname, addr, remark)
+	if record == nil {
+		self.ReturnError(403, apps.CreateOrderFail, "", nil)
+	}
+	type Ret struct {
+		Result bool `json:"result"`
+	}
+	ret := &Ret{Result: true}
+	self.Data["json"] = ret
+	self.ServeJSON()
+}

+ 3 - 1
go/gopath/src/fohow.com/apps/init.go

@@ -27,6 +27,8 @@ const (
 
 var (
 	// 共用
+	AlreadyShop           = []string{"alreadyShop", "您已经是店主,请勿重复申请"}
+	ShopNoRepit           = []string{"shopNoRepit", "请勿重复申请"}
 	NoCart                = []string{"noCart", "请选择您需要结算的产品"}
 	NoExist               = []string{"noExist", "不存在"}
 	HasOver               = []string{"hasOver", "已结束"}
@@ -134,7 +136,7 @@ var (
 	BindingIdCardLengthError = []string{"bindingIdCardLengthError", "身份证位数不合法"}
 	BindingTelExisted        = []string{"bindingTelExisted", "该号码已绑定了微信用户,请尝试其他号码"}
 	WxUserHasBindingTel      = []string{"wxUserHasBindingTel", "该微信用户已经绑定了手机,请勿重复绑定"}
-	WxUserHasBindingTelOnD5c = []string{"wxUserHasBindingTelOnD5c", "本次课程仅限新用户参加,老用户可联系专属客服领取资料包~"}
+	WxUserNotExist           = []string{"wxUserNotExist", "微信用户不存在"}
 	WxUserNotRegistD5c       = []string{"wxUserNotRegistD5c", "用户在第五创没有绑定手机号码"}
 	IdCardAgeNotBeAdult      = []string{"idCardAgeNotBeAdult", "未满18岁,身份认证失败"}
 

+ 12 - 5
go/gopath/src/fohow.com/apps/models/sms_model/sms.go

@@ -17,11 +17,13 @@ import (
 
 const (
 	// 配置短信类型
-	SIGN_UP         = "sign_up"         //注册时,校验手机
-	RESET_PWD       = "reset_pwd"       //忘记密码
-	BINDING         = "binding"         //账户绑定,绑定手机时发送的
-	RESET_TRADE_PWD = "reset_trade_pwd" //密码安全,设置交易密码时
-	LOGIN_PWD       = "login_pwd"       //注册完,发送初始化密码给用户
+	SIGN_UP          = "sign_up"          //注册时,校验手机
+	RESET_PWD        = "reset_pwd"        //忘记密码
+	BINDING          = "binding"          //账户绑定,绑定手机时发送的
+	RESET_TRADE_PWD  = "reset_trade_pwd"  //密码安全,设置交易密码时
+	LOGIN_PWD        = "login_pwd"        //注册完,发送初始化密码给用户
+	SHOP_APPLICATION = "shop_application" //店长申请
+
 )
 
 func GetAliMsgContent(msg_type string) (string, string, string) {
@@ -45,6 +47,11 @@ func GetAliMsgContent(msg_type string) (string, string, string) {
 		action = fmt.Sprintf("设置交易密码")
 		// sign = "变更验证"
 		template = "SMS_200714548"
+
+	case SHOP_APPLICATION:
+		action = fmt.Sprintf("店长申请")
+		// sign = "变更验证"
+		template = "SMS_200714548"
 	}
 
 	return sign, template, action

+ 74 - 0
go/gopath/src/fohow.com/apps/models/user_model/shop_application.go

@@ -0,0 +1,74 @@
+package user_model
+
+import (
+	"time"
+
+	"github.com/astaxie/beego"
+	"github.com/astaxie/beego/orm"
+)
+
+const (
+	shop_applications_tablename = "invite_benefit_orders"
+)
+
+type ShopApplication struct {
+	Id        int64     `orm:"column(id);pk"                                       json:"id"`     // int(11)
+	WxUId     int64     `orm:"column(wx_user_id)"                                  json:"wx_uid"` // int(11)
+	UserId    int64     `orm:"column(user_id)"                                  json:"user_id"`
+	Name      string    `orm:"column(name)"                                       json:"name"`     // varchar(64)
+	NickName  string    `orm:"column(nickname)"                                   json:"nickname"` // varchar(64)
+	Mobile    string    `orm:"column(mobile)"                                      json:"mobile"`  // int(11)
+	Total     int64     `orm:"column(total);null"                                  json:"total"`   // int(11)
+	Address   string    `orm:"column(address);null"                                json:"address"` // varchar(255)
+	Image     string    `orm:"column(image);null"                                json:"image"`     // varchar(255)
+	Status    bool      `orm:"column(status)"                            json:"status"`
+	Remark    string    `orm:"column(remark);null"                                json:"remark"` // varchar(255)
+	Passtime  time.Time `orm:"column(pass_time);type(datetime)"                   json:"pass_time"`
+	CreatedAt time.Time `orm:"column(created_at);null;auto_now_add;type(datetime)" json:"-"` // datetime
+	UpdatedAt time.Time `orm:"column(updated_at);null;auto_now;type(datetime)"     json:"-"` // datetime
+}
+
+func (self *ShopApplication) TableName() string {
+	return shop_applications_tablename
+}
+
+func (self *ShopApplication) Create(uId, wxUId, total int64, mobile, name, nickname, address, remark string) *ShopApplication {
+	item := &ShopApplication{
+		UserId:   uId,
+		WxUId:    wxUId,
+		Name:     name,
+		NickName: nickname,
+		Mobile:   mobile,
+		Total:    total,
+		Address:  address,
+		Remark:   remark,
+		Status:   false,
+	}
+	id, err := orm.NewOrm().Insert(item)
+	if err != nil {
+		beego.BeeLogger.Error("insert ShopApplication err=[%s]", err)
+		return nil
+	}
+	item.Id = id
+	return item
+}
+
+func (self *ShopApplication) Save() error {
+	if _, err := orm.NewOrm().Update(self); err != nil {
+		beego.BeeLogger.Error("Save ShopApplication id=[%d] .err=[%s]", self.Id, err)
+		return err
+	}
+	return nil
+}
+
+func GetShopApplicationByWxUId(wxUId int64) *ShopApplication {
+	item := &ShopApplication{}
+	if err := orm.NewOrm().QueryTable(item).
+		Filter("wx_user_id", wxUId).Limit(1).
+		One(item); err != nil {
+		beego.BeeLogger.Info("GetShopApplicationByWxUId(%d), err=%s",
+			wxUId, err)
+		return nil
+	}
+	return item
+}

+ 9 - 4
go/gopath/src/fohow.com/apps/models/user_model/wx_user.go

@@ -20,6 +20,9 @@ const (
 	COPARTNER_STATE_NO   = 0
 	COPARTNER_STATE_YES  = 1
 	COPARTNER_STATE_ONCE = 2
+
+	WX_USER_RANK_ONE = int64(1)
+	WX_USER_RANK_TWO = int64(2)
 )
 
 type WxUser struct {
@@ -53,10 +56,12 @@ type WxUser struct {
 	SignupIp        string `orm:"column(signup_ip);null"              json:"signup_ip"`                 // int(11)
 	ShowInviteMode  int64  `orm:"column(show_invite_mode)" json:"show_invite_mode"`                     // datetime
 	//团队业绩
-	SaleGroup    float64   `orm:"column(sale_group);null"              json:"sale_group"`  // int(11)
-	SaleGroupSum float64   `orm:"column(sale_group_sum)" json:"sale_group_sum"`            // datetime
-	CreatedAt    time.Time `orm:"column(created_at);auto_now_add;type(datetime)" json:"-"` // datetime
-	UpdatedAt    time.Time `orm:"column(updated_at);auto_now;type(datetime)"     json:"-"` // datetime
+	SaleGroup    float64 `orm:"column(sale_group);null"              json:"sale_group"` // int(11)
+	SaleGroupSum float64 `orm:"column(sale_group_sum)" json:"sale_group_sum"`           // datetime
+	//等级
+	Rank      int64     `orm:"column(rank);null"              json:"-"`                 // int(11)
+	CreatedAt time.Time `orm:"column(created_at);auto_now_add;type(datetime)" json:"-"` // datetime
+	UpdatedAt time.Time `orm:"column(updated_at);auto_now;type(datetime)"     json:"-"` // datetime
 }
 
 func (self *WxUser) TableName() string {

+ 2 - 1
go/gopath/src/fohow.com/routers/routes.go

@@ -147,7 +147,8 @@ func init() {
 	beego.Router("/v1/user/trade_pwd", &user_controller.UserController{}, "put:UpdateTradePwd")
 	//绑定身份证
 	beego.Router("/v1/user/binding/id_card", &user_controller.UserController{}, "put:BindingIdCard")
-
+	//店长申请
+	beego.Router("/v1/user/shop_application", &user_controller.UserController{}, "put:ShopApplication")
 	//绑定电话号码
 	beego.Router("/v1/wxuser/binding/tel", &user_controller.UserController{}, "post:BindingTelNew")
 	beego.Router("/v1/wxuser/info", &user_controller.UserController{}, "put:UpdateWxUserInfo")