abiao лет назад: 5
Родитель
Сommit
4a98a35dd5

+ 56 - 17
go/gopath/src/fohow.com/apps/controllers/cent_controller/cent_controller.go

@@ -51,7 +51,8 @@ func (self *CentController) GetCentInfo() {
 		Total int64 `orm:"-" json:"total"` //余额,单位分
 	}
 	//user := self.GetCurrentUser(true)
-	wxUId := self.GetCurrentWxUserId()
+	//wxUId := self.GetCurrentWxUserId()
+	wxUId := int64(1781)
 	wxUser := user_model.GetWxUserById(wxUId, true)
 	if wxUser == nil {
 		self.ReturnError(403, apps.UserNeedLogin, "", nil)
@@ -72,8 +73,8 @@ func (self *CentController) GetCentList() {
 	cache, _ := self.GetBool("cache", false)
 
 	//user := self.GetCurrentUser(cache)
-	wxUId := self.GetCurrentWxUserId()
-
+	//wxUId := self.GetCurrentWxUserId()
+	wxUId := int64(1781)
 	list := cent_model.GetCentBalanceListByWxUId(wxUId, page, perPage, cache)
 	count := cent_model.GetCentBalanceCountByWxUId(wxUId)
 	type CentInfo struct {
@@ -94,7 +95,8 @@ func (self *CentController) GetCentDetail() {
 	_id := self.Ctx.Input.Param(":id")
 	id, _ := strconv.ParseInt(_id, 10, 64)
 	//uId := self.GetCurrentUserId()
-	wxUId := self.GetCurrentWxUserId()
+	//wxUId := self.GetCurrentWxUserId()
+	wxUId := int64(1781)
 	item := cent_model.GetCentById(id)
 	if item == nil {
 		self.ReturnError(403, apps.NoExist, "", nil)
@@ -110,10 +112,10 @@ func (self *CentController) GetCentDetail() {
 
 //获得七日签到任务状态
 func (self *CentController) GetSignStatus() {
-	user := self.GetCurrentUser(false)
-	//user := user_model.GetUserById(1, false)
-	if user == nil {
-		self.ReturnError(403, apps.UserNotExist, "", nil)
+	wxUId := int64(1781) //self.GetCurrentWxUserId()
+	wxUser := user_model.GetWxUserById(wxUId, true)
+	if wxUser == nil {
+		self.ReturnError(403, apps.UserNeedLogin, "", nil)
 	}
 	now := time.Now()
 	yesterday := time.Now().Add(-24 * time.Hour)
@@ -122,9 +124,9 @@ func (self *CentController) GetSignStatus() {
 	var everydayOk = true
 	var everydayNo int64 = 1
 	preKey := cent_model.PRE_KEY_DAILY
-	key := fmt.Sprintf("%s_%d_%d%02d%02d", preKey, user.Id, now.Year(), now.Month(), now.Day())
+	key := fmt.Sprintf("%s_%d_%d%02d%02d", preKey, wxUser.Id, now.Year(), now.Month(), now.Day())
 	errToday := lib_redis.GetFromJSON(result, key) //判断今天签了没签
-	if errToday != nil {
+	if errToday != redis.Nil && errToday != nil {
 		beego.BeeLogger.Warn("GetSignStatus() TodayEveryday in redisClient  err, err:%s", errToday)
 		self.ReturnError(403, apps.RedisGetError, "", nil)
 	}
@@ -132,10 +134,10 @@ func (self *CentController) GetSignStatus() {
 		everydayOk = false
 	}
 	yesterdayResult := &CountDownSignDaily{}
-	keyYesterday := fmt.Sprintf("%s_%d_%d%02d%02d", preKey, user.Id, yesterday.Year(), yesterday.Month(), yesterday.Day())
+	keyYesterday := fmt.Sprintf("%s_%d_%d%02d%02d", preKey, wxUser.Id, yesterday.Year(), yesterday.Month(), yesterday.Day())
 
 	errYesterday := lib_redis.GetFromJSON(yesterdayResult, keyYesterday) //判断今天签了没签
-	if errYesterday != nil {
+	if errYesterday != redis.Nil && errYesterday != nil {
 		beego.BeeLogger.Warn("GetSignStatus() Yesterday in redisClient err, err:%s", errYesterday)
 		self.ReturnError(403, apps.RedisGetError, "", nil)
 	}
@@ -147,14 +149,51 @@ func (self *CentController) GetSignStatus() {
 		}
 	}
 	type Ret struct {
-		TodayEveryday   bool  `json:"today_everyday_ok"`
-		TodayEverydayNo int64 `json:"today_everyday_no"`
+		TodayEveryday      bool                `json:"today_everyday_ok"`
+		TodayEverydayNo    int64               `json:"today_everyday_no"`
+		CountDownCentAward *CountDownCentAward `json:"cent_award_conf"`
 	}
 	dataRet := &Ret{
 		TodayEveryday:   everydayOk,
 		TodayEverydayNo: everydayNo,
 	}
-
+	//获取赠送积分配置
+	oneDay := cent_model.GetCentAwardByCtype(cent_model.ONE_DAY, true)
+	if oneDay != nil {
+		dataRet.CountDownCentAward.Oneday = oneDay.Count
+	}
+	twoDay := cent_model.GetCentAwardByCtype(cent_model.TWO_DAY, true)
+	if twoDay != nil {
+		dataRet.CountDownCentAward.Oneday = twoDay.Count
+	}
+	threeDay := cent_model.GetCentAwardByCtype(cent_model.THREE_DAY, true)
+	if threeDay != nil {
+		dataRet.CountDownCentAward.Oneday = threeDay.Count
+	}
+	fourDay := cent_model.GetCentAwardByCtype(cent_model.FOUR_DAY, true)
+	if fourDay != nil {
+		dataRet.CountDownCentAward.Oneday = fourDay.Count
+	}
+	fiveDay := cent_model.GetCentAwardByCtype(cent_model.FIVE_DAY, true)
+	if fiveDay != nil {
+		dataRet.CountDownCentAward.Oneday = fiveDay.Count
+	}
+	sixDay := cent_model.GetCentAwardByCtype(cent_model.SIX_DAY, true)
+	if sixDay != nil {
+		dataRet.CountDownCentAward.Oneday = sixDay.Count
+	}
+	sevenDay := cent_model.GetCentAwardByCtype(cent_model.SEVEN_DAY, true)
+	if sevenDay != nil {
+		dataRet.CountDownCentAward.Oneday = sevenDay.Count
+	}
+	firstL := cent_model.GetCentAwardByCtype(cent_model.FIRST_LOGIN, true)
+	if firstL != nil {
+		dataRet.CountDownCentAward.Oneday = firstL.Count
+	}
+	newMan := cent_model.GetCentAwardByCtype(cent_model.NEW_MAN, true)
+	if newMan != nil {
+		dataRet.CountDownCentAward.Oneday = newMan.Count
+	}
 	self.Data["json"] = dataRet
 	self.ServeJSON()
 }
@@ -162,7 +201,7 @@ func (self *CentController) GetSignStatus() {
 // 每日签到,领取积分
 func (self *CentController) SignEveryday() {
 
-	wxUId := int64(1781) //self.GetCurrentWxUserId()
+	wxUId := self.GetCurrentWxUserId()
 	wxUser := user_model.GetWxUserById(wxUId, true)
 	if wxUser == nil {
 		self.ReturnError(403, apps.UserNeedLogin, "", nil)
@@ -209,7 +248,7 @@ func (self *CentController) SignEveryday() {
 	var dataRet *Ret
 	//领取积分
 	s := cent_model.GetDailySource(num) //积分类型
-	centAward := cent_model.GetCentAwardByCtype(s)
+	centAward := cent_model.GetCentAwardByCtype(s, true)
 	if centAward == nil {
 		self.ReturnError(403, apps.NoExist, "", nil)
 	}

+ 2 - 2
go/gopath/src/fohow.com/apps/controllers/cent_controller/init.go

@@ -16,8 +16,8 @@ import (
 
 var (
 	//需要校验用户登录的Action
-	exceptCheckUserLoginAction   = []string{"SignEveryday"}
-	exceptCheckWxUserLoginAction = []string{"SignEveryday"}
+	exceptCheckUserLoginAction   = []string{"*"}
+	exceptCheckWxUserLoginAction = []string{"*"}
 )
 
 type CentController struct {

+ 14 - 7
go/gopath/src/fohow.com/apps/models/cent_model/cent_award.go

@@ -1,10 +1,11 @@
 package cent_model
 
 import (
-	"time"
-
+	"fmt"
+	"fohow.com/cache"
 	"github.com/astaxie/beego"
 	"github.com/astaxie/beego/orm"
+	"time"
 	// "fohow.com/libs/wx_mp"
 )
 
@@ -69,15 +70,21 @@ func (self *CentAward) GetSourceName() string {
 	return typeName
 }
 
-func GetCentAwardByCtype(ctype string) *CentAward {
+func GetCentAwardByCtype(ctype string, useCache bool) *CentAward {
+
+	k := fmt.Sprintf("cent_model.GetCentAwardByCtype[%s]", ctype)
+	if useCache {
+		if award, ok := cache.Cache.Get(k).(*CentAward); ok {
+			return award
+		}
+	}
 	item := &CentAward{}
-	if err := orm.NewOrm().QueryTable(item).
-		Filter("c_type", ctype).Limit(1).
+	if err := orm.NewOrm().QueryTable(item).Filter("c_type", ctype).Limit(1).
 		One(item); err != nil {
-		beego.BeeLogger.Debug("GetCentAwardByCtype(%s), err=%s",
-			ctype, err)
+		beego.BeeLogger.Info("GetCentAwardByCtype(%s), err=%s", ctype, err)
 		return nil
 	}
+	cache.Cache.Put(k, item, 15*time.Minute)
 	return item
 }
 

+ 6 - 0
go/gopath/src/fohow.com/routers/routes.go

@@ -286,5 +286,11 @@ func init() {
 	//----------------积分活动-------------------
 	beego.Router("/v1/task_sign/daily/day", &cent_controller.CentController{}, "post:SignEveryday")
 	beego.Router("/v1/task_sign/daily/check", &cent_controller.CentController{}, "get:GetSignStatus")
+	//积分账户变更详情
+	beego.Router("/v1/user/cent/:id([0-9]+)", &cent_controller.CentController{}, "get:GetCentDetail")
+	//积分账户余额
+	beego.Router("/v1/user/cent/info", &cent_controller.CentController{}, "get:GetCentInfo")
+	//积分账户变动列表
+	beego.Router("/v1/user/cent/balances", &cent_controller.CentController{}, "get:GetCentList")
 
 }