|
|
@@ -0,0 +1,58 @@
|
|
|
+package logics
|
|
|
+
|
|
|
+import (
|
|
|
+ "fmt"
|
|
|
+ "fohow.com/apps/models/cent_model"
|
|
|
+ "fohow.com/apps/models/economic_model"
|
|
|
+ "github.com/astaxie/beego"
|
|
|
+ "github.com/astaxie/beego/orm"
|
|
|
+
|
|
|
+ "fohow.com/apps/models/user_model"
|
|
|
+ // "st.com/libs/wx_mp"
|
|
|
+)
|
|
|
+
|
|
|
+//经济积分增减
|
|
|
+func OptEconomicCent(loginedWxUId, count int64) {
|
|
|
+ beego.BeeLogger.Warn("******* OptEconomicCent wxid:%d, count:%d", loginedWxUId, count)
|
|
|
+ // 不能设置自己为邀请人, 且没有下级
|
|
|
+ wxUser := user_model.GetWxUserById(loginedWxUId, false)
|
|
|
+ if wxUser != nil {
|
|
|
+ o := orm.NewOrm()
|
|
|
+ err := o.Begin()
|
|
|
+ if err != nil {
|
|
|
+ beego.BeeLogger.Error("start the transaction failed")
|
|
|
+ return
|
|
|
+ }
|
|
|
+ //var centEconomic *economic_model.CentEconomic
|
|
|
+ //更新经济主表
|
|
|
+ var errE error
|
|
|
+ //centEconomic := &economic_model.CentEconomic{}
|
|
|
+ mainEconomic := economic_model.GetMainEconomicByWxUId(wxUser.Id, false)
|
|
|
+ if mainEconomic == nil {
|
|
|
+ mainEconomic = new(economic_model.MainEconomic).Create(wxUser.Id, count)
|
|
|
+ } else {
|
|
|
+ mainEconomic.Cent += count
|
|
|
+ errE = mainEconomic.Save()
|
|
|
+ }
|
|
|
+
|
|
|
+ //更新经济明细表
|
|
|
+ s := cent_model.FIRST_LOGIN
|
|
|
+ remark := fmt.Sprintf("首次登录,赠送积分")
|
|
|
+ centEconomic := new(economic_model.CentEconomic).Create(wxUser.Id, count, s, s, remark)
|
|
|
+
|
|
|
+ if mainEconomic == nil || errE != nil || centEconomic == nil {
|
|
|
+ beego.BeeLogger.Error("execute transaction's sql fail, rollback.", err)
|
|
|
+ err = o.Rollback()
|
|
|
+ if err != nil {
|
|
|
+ beego.BeeLogger.Error("roll back transaction failed", err)
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ err = o.Commit()
|
|
|
+ if err != nil {
|
|
|
+ beego.BeeLogger.Error("commit transaction failed.", err)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ beego.BeeLogger.Info("Wxuser OptEconomicCent wxUserId:%d, inviteId:%d", wxUser.Id, wxUser.InviteId)
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|