Prechádzať zdrojové kódy

add bind user cash ,cent ,balance

abiao 5 rokov pred
rodič
commit
093466abb3

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

@@ -3,6 +3,7 @@ package user_controller
 import (
 	"fmt"
 	"fohow.com/apps/models/base_config"
+	"fohow.com/apps/models/cent_model"
 	"strconv"
 
 	// "strconv"
@@ -18,8 +19,10 @@ import (
 	"fohow.com/apps"
 	// "fohow.com/apps/models/balance_model"
 	"fohow.com/apps/helpers"
+	"fohow.com/apps/models/balance_model"
 	"fohow.com/apps/models/sms_model"
 	"fohow.com/apps/models/user_model"
+
 	"fohow.com/cache"
 
 	// "fohow.com/libs/tool"
@@ -487,6 +490,7 @@ func (self *UserController) SysUserBind() {
 	if sysWxUser.ShowInviteMode == int64(1) {
 		sysWxUser.PartnerTime = time.Now().Unix()
 	}
+
 	//sysWxUser.ShowInviteMode = wxUser.ShowInviteMode
 	//sysWxUser.Rank = wxUser.Rank
 	//迁移该会员至备份表,删除微信表记录
@@ -496,12 +500,35 @@ func (self *UserController) SysUserBind() {
 	}
 	sysWxUser.Save()
 
+	//迁移会员钱包信息
+	relateId := fmt.Sprintf("sys_user_%d", sysWxUser.Id)
+	remark = fmt.Sprintf("初始绑定")
+
+	c := user_model.GetCashRecordByUId(sysWxUser.Id)
 	//创建绑定记录
 	record := new(user_model.BindUser).Create(wxUser.Id, userNo, wxUser.Nickname, remark)
 	if record == nil {
 		self.ReturnError(403, apps.BindFail, "", nil)
 	}
 
+	//迁移佣金记录--balance
+	if c.Balance > 0 {
+		s := "sys_init"
+		new(balance_model.CashBalance).Create(sysWxUser.Id, c.Balance*int64(100), s, relateId, remark)
+	}
+
+	//迁移积分记录
+	if c.Cent > 0 {
+		s := "sys_init"
+		new(cent_model.CentBalance).Create(sysWxUser.Id, c.Cent*int64(100), s, relateId, remark)
+	}
+
+	//迁移代金券记录--cash
+	if c.Cash > 0 {
+		s := "sys_init"
+		new(balance_model.Balance).Create(sysWxUser.Id, sysWxUser.UserId, c.Cash*int64(100), s, relateId, remark)
+	}
+
 	type Ret struct {
 		Result bool `json:"result"`
 	}

+ 25 - 0
go/gopath/src/fohow.com/apps/models/user_model/bind_user.go

@@ -9,6 +9,7 @@ import (
 
 const (
 	bind_users_tablename = "bind_users"
+	sys_cents_tablename  = "sys_cents"
 )
 
 type BindUser struct {
@@ -21,10 +22,22 @@ type BindUser struct {
 	UpdatedAt time.Time `orm:"column(updated_at);null;auto_now;type(datetime)"     json:"-"`        // datetime
 }
 
+type SysCent struct {
+	Id      int64 `orm:"column(id);pk"                                       json:"id"`      // int(11)
+	UserId  int64 `orm:"column(user_id)"                                     json:"user_id"` // int(11)
+	Cent    int64 `orm:"column(cent)"                                        json:"cent"`    // int(11)
+	Balance int64 `orm:"column(balance)"                                     json:"balance"` // int(11)
+	Cash    int64 `orm:"column(cash)"                                        json:"cash"`    // int(11)
+}
+
 func (self *BindUser) TableName() string {
 	return bind_users_tablename
 }
 
+func (self *SysCent) TableName() string {
+	return sys_cents_tablename
+}
+
 func (self *BindUser) Create(wxUId int64, userNo, nickname, remark string) *BindUser {
 	item := &BindUser{
 		WxUId:    wxUId,
@@ -109,3 +122,15 @@ func (self *WxUser) MigrateWxUsers() error {
 	}
 	return nil
 }
+
+func GetCashRecordByUId(UId int64) *SysCent {
+	item := &SysCent{}
+	if err := orm.NewOrm().QueryTable(item).
+		Filter("user_id", UId).Limit(1).
+		One(item); err != nil {
+		beego.BeeLogger.Info("GetCashRecordByUId(%d), err=%s",
+			UId, err)
+		return nil
+	}
+	return item
+}