|
@@ -54,7 +54,7 @@ func (c *CreditRpc) InCreadit(param *rpc.CreditData, replay *int) error {
|
|
|
}
|
|
|
case "b":
|
|
|
key := param.Code + "_" + param.Uid
|
|
|
- //[0/1,time] //是否完成,次数
|
|
|
+ //[0/1,time,alltimes] //是否完成,次数,总次数
|
|
|
lock := GetMutex(param.Uid)
|
|
|
lock.Lock()
|
|
|
obj := redis.Get(consts.RedisDB, key)
|
|
@@ -94,11 +94,43 @@ func (c *CreditRpc) InCreadit(param *rpc.CreditData, replay *int) error {
|
|
|
return nil
|
|
|
}
|
|
|
|
|
|
-//消费积分
|
|
|
+//消费积分,增加扣费方式、手动还是自动
|
|
|
func (c *CreditRpc) OutCreadit(param *rpc.CreditData, replay *int) error {
|
|
|
+ *replay = 0
|
|
|
+ lock := GetMutex(param.Uid)
|
|
|
+ lock.Lock()
|
|
|
+ if len(param.Code) > 1 && Message[("txt_"+param.Code)] != "" {
|
|
|
+ first := param.Code[:1]
|
|
|
+ creditDoc := map[string]interface{}{
|
|
|
+ "s_uid": param.Uid,
|
|
|
+ "s_code": param.Code,
|
|
|
+ "i_type": 0,
|
|
|
+ "l_date": time.Now().Unix(),
|
|
|
+ "i_score": param.Num,
|
|
|
+ }
|
|
|
+ if param.OtherParam != nil && param.OtherParam["i_way"] != nil {
|
|
|
+ creditDoc["i_way"] = param.OtherParam["i_way"]
|
|
|
+ }
|
|
|
+ switch first {
|
|
|
+ case "B":
|
|
|
+ creditDoc["i_givestatus"] = 0
|
|
|
+ }
|
|
|
+ if creditlog.Save(creditDoc) {
|
|
|
+ *replay = 1
|
|
|
+ //发送微信通知扣积分成功
|
|
|
+ go SendWeixin(param.Num, param.Uid, "")
|
|
|
+ }
|
|
|
+ }
|
|
|
+ lock.Unlock()
|
|
|
return nil
|
|
|
}
|
|
|
|
|
|
+//发送微信积分变动通知
|
|
|
+func SendWeixin(num int, uid, info string) {
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+//获取离明天的秒差
|
|
|
func GetSubSecond() int {
|
|
|
now := time.Now()
|
|
|
tom := time.Date(now.Year(), now.Month(), now.Day()+1, 0, 0, 0, 0, time.Local)
|