@@ -6,9 +6,9 @@ import ( | |||||
) | ) | ||||
// PlayletBase | // PlayletBase | ||||
// @Summary 短视频-基本信息 | |||||
// @Summary 短剧-基本信息 | |||||
// @Tags 短视频 | // @Tags 短视频 | ||||
// @Description 短视频-基本信息 | |||||
// @Description 短剧-基本信息 | |||||
// @Accept json | // @Accept json | ||||
// @Produce json | // @Produce json | ||||
// @param Authorization header string true "验证参数Bearer和token空格拼接" | // @param Authorization header string true "验证参数Bearer和token空格拼接" | ||||
@@ -20,9 +20,9 @@ func PlayletBase(c *gin.Context) { | |||||
} | } | ||||
// PlayletReward | // PlayletReward | ||||
// @Summary 实名认证-保存 | |||||
// @Tags 实名认证 | |||||
// @Description 实名认证-保存 | |||||
// @Summary 短剧-保存 | |||||
// @Tags 短视频 | |||||
// @Description 短剧-保存 | |||||
// @Accept json | // @Accept json | ||||
// @Produce json | // @Produce json | ||||
// @param Authorization header string true "验证参数Bearer和token空格拼接" | // @param Authorization header string true "验证参数Bearer和token空格拼接" | ||||
@@ -20,9 +20,9 @@ func VideoBase(c *gin.Context) { | |||||
} | } | ||||
// VideoReward | // VideoReward | ||||
// @Summary 实名认证-保存 | |||||
// @Tags 实名认证 | |||||
// @Description 实名认证-保存 | |||||
// @Summary 短视频-领取 | |||||
// @Tags 短视频 | |||||
// @Description 短视频-领取 | |||||
// @Accept json | // @Accept json | ||||
// @Produce json | // @Produce json | ||||
// @param Authorization header string true "验证参数Bearer和token空格拼接" | // @param Authorization header string true "验证参数Bearer和token空格拼接" | ||||
@@ -8,8 +8,18 @@ const ( | |||||
EggAdvertisingSign = "advertising_sign" | EggAdvertisingSign = "advertising_sign" | ||||
EggAliyunSmsRecordQueueExchange = "egg.aliyun_sms" | EggAliyunSmsRecordQueueExchange = "egg.aliyun_sms" | ||||
EggAliyunSmsRecordQueue = "aliyun_sms_record" | EggAliyunSmsRecordQueue = "aliyun_sms_record" | ||||
EggVideoPlayletExchange = "egg.video_playlet" | |||||
EggVideoReward = "video" | |||||
EggPlayletReward = "playlet" | |||||
) | ) | ||||
type VideoReward struct { | |||||
Uid string `json:"uid"` | |||||
} | |||||
type PlayletReward struct { | |||||
Uid string `json:"uid"` | |||||
} | |||||
type JpushRecordFundData struct { | type JpushRecordFundData struct { | ||||
Id string `json:"id"` | Id string `json:"id"` | ||||
UserId string `json:"user_id"` | UserId string `json:"user_id"` | ||||
@@ -5,10 +5,8 @@ import ( | |||||
"applet/app/e" | "applet/app/e" | ||||
"applet/app/md" | "applet/app/md" | ||||
"applet/app/utils" | "applet/app/utils" | ||||
"applet/app/utils/cache" | |||||
"code.fnuoos.com/EggPlanet/egg_models.git/src/implement" | "code.fnuoos.com/EggPlanet/egg_models.git/src/implement" | ||||
"code.fnuoos.com/EggPlanet/egg_models.git/src/model" | |||||
"code.fnuoos.com/EggPlanet/egg_system_rules.git/enum" | |||||
md2 "code.fnuoos.com/EggPlanet/egg_system_rules.git/rule/egg_energy/md" | |||||
"code.fnuoos.com/go_rely_warehouse/zyos_go_mq.git/rabbit" | "code.fnuoos.com/go_rely_warehouse/zyos_go_mq.git/rabbit" | ||||
"github.com/gin-gonic/gin" | "github.com/gin-gonic/gin" | ||||
"github.com/tidwall/gjson" | "github.com/tidwall/gjson" | ||||
@@ -53,65 +51,26 @@ func PlayletReward(c *gin.Context) { | |||||
e.OutErr(c, e.ERR_INVALID_ARGS, err) | e.OutErr(c, e.ERR_INVALID_ARGS, err) | ||||
return | return | ||||
} | } | ||||
eg := db.Db | |||||
playletBase := GetSysCfgStr("playlet_base") | playletBase := GetSysCfgStr("playlet_base") | ||||
sess := eg.NewSession() | |||||
defer sess.Close() | |||||
sess.Begin() | |||||
user := GetUser(c) | user := GetUser(c) | ||||
NewPlayletTotalDb := implement.NewPlayletTotalDb(db.Db) | |||||
total, _ := NewPlayletTotalDb.GetPlayletTotalSess(sess, utils.Int64ToStr(user.Id), time.Now().Format("20060102")) | |||||
if total == nil { | |||||
total = &model.PlayletTotal{ | |||||
Uid: int(user.Id), | |||||
Date: utils.StrToInt(time.Now().Format("20060102")), | |||||
Time: time.Now(), | |||||
} | |||||
insert, err := sess.Insert(total) | |||||
if insert == 0 || err != nil { | |||||
sess.Rollback() | |||||
e.OutErr(c, 400, e.NewErr(400, "获取奖励失败")) | |||||
return | |||||
} | |||||
} | |||||
Leave := utils.StrToInt(gjson.Get(playletBase, "total").String()) - total.Total | |||||
//判断数量 读取缓存的 | |||||
numKey := "video.num:" + time.Now().Format("20060102") + "." + utils.Int64ToStr(user.Id) | |||||
numString, _ := cache.GetString(numKey) | |||||
Leave := utils.StrToInt(gjson.Get(playletBase, "total").String()) - utils.StrToInt(numString) | |||||
if Leave-1 < 0 { | if Leave-1 < 0 { | ||||
sess.Rollback() | |||||
e.OutErr(c, 400, e.NewErr(400, "今天已领取完")) | e.OutErr(c, 400, e.NewErr(400, "今天已领取完")) | ||||
return | return | ||||
} | } | ||||
total.Total++ | |||||
update, err2 := sess.Where("id=?", total.Id).Cols("total").Update(total) | |||||
if update == 0 || err2 != nil { | |||||
sess.Rollback() | |||||
e.OutErr(c, 400, e.NewErr(400, "获取奖励失败")) | |||||
return | |||||
} | |||||
sess.Commit() | |||||
ch, err := rabbit.Cfg.Pool.GetChannel() | ch, err := rabbit.Cfg.Pool.GetChannel() | ||||
if err == nil { | if err == nil { | ||||
defer ch.Release() | defer ch.Release() | ||||
NewEggEnergyBasicSettingDb := implement.NewEggEnergyBasicSettingDb(db.Db) | |||||
eggData, _ := NewEggEnergyBasicSettingDb.EggEnergyBasicSettingGetOne() | |||||
err = ch.PublishV2(md2.EggEnergyExchange, md2.EggEnergyStructForDealUserVirtualCoinData{ | |||||
Kind: "add", | |||||
Title: enum.EggEnergyPlayletRewardPersonalActiveCoin.String(), | |||||
TransferType: int(enum.EggEnergyPlayletRewardPersonalActiveCoin), | |||||
CoinId: eggData.PersonEggPointsCoinId, | |||||
Uid: user.Id, | |||||
Amount: utils.StrToFloat64(gjson.Get(playletBase, "reward").String()), | |||||
}, md2.EggEnergyRoutKeyForDealUserVirtualCoinData) | |||||
err = ch.PublishV2(md.EggVideoPlayletExchange, md.PlayletReward{ | |||||
Uid: utils.Int64ToStr(user.Id), | |||||
}, md.EggPlayletReward) | |||||
if err != nil { | if err != nil { | ||||
ch.PublishV2(md2.EggEnergyExchange, md2.EggEnergyStructForDealUserVirtualCoinData{ | |||||
Kind: "add", | |||||
Title: enum.EggEnergyPlayletRewardPersonalActiveCoin.String(), | |||||
TransferType: int(enum.EggEnergyPlayletRewardPersonalActiveCoin), | |||||
CoinId: eggData.PersonEggPointsCoinId, | |||||
Uid: user.Id, | |||||
Amount: utils.StrToFloat64(gjson.Get(playletBase, "reward").String()), | |||||
}, md2.EggEnergyRoutKeyForDealUserVirtualCoinData) | |||||
ch.PublishV2(md.EggVideoPlayletExchange, md.PlayletReward{ | |||||
Uid: utils.Int64ToStr(user.Id), | |||||
}, md.EggPlayletReward) | |||||
} | } | ||||
} | } | ||||
e.OutSuc(c, "success", nil) | e.OutSuc(c, "success", nil) | ||||
@@ -5,10 +5,8 @@ import ( | |||||
"applet/app/e" | "applet/app/e" | ||||
"applet/app/md" | "applet/app/md" | ||||
"applet/app/utils" | "applet/app/utils" | ||||
"applet/app/utils/cache" | |||||
"code.fnuoos.com/EggPlanet/egg_models.git/src/implement" | "code.fnuoos.com/EggPlanet/egg_models.git/src/implement" | ||||
"code.fnuoos.com/EggPlanet/egg_models.git/src/model" | |||||
"code.fnuoos.com/EggPlanet/egg_system_rules.git/enum" | |||||
md2 "code.fnuoos.com/EggPlanet/egg_system_rules.git/rule/egg_energy/md" | |||||
"code.fnuoos.com/go_rely_warehouse/zyos_go_mq.git/rabbit" | "code.fnuoos.com/go_rely_warehouse/zyos_go_mq.git/rabbit" | ||||
"github.com/gin-gonic/gin" | "github.com/gin-gonic/gin" | ||||
"github.com/tidwall/gjson" | "github.com/tidwall/gjson" | ||||
@@ -53,65 +51,34 @@ func VideoReward(c *gin.Context) { | |||||
e.OutErr(c, e.ERR_INVALID_ARGS, err) | e.OutErr(c, e.ERR_INVALID_ARGS, err) | ||||
return | return | ||||
} | } | ||||
eg := db.Db | |||||
videoBase := GetSysCfgStr("video_base") | videoBase := GetSysCfgStr("video_base") | ||||
sess := eg.NewSession() | |||||
defer sess.Close() | |||||
sess.Begin() | |||||
user := GetUser(c) | user := GetUser(c) | ||||
NewVideoTotalDb := implement.NewVideoTotalDb(db.Db) | |||||
total, _ := NewVideoTotalDb.GetVideoTotalSess(sess, utils.Int64ToStr(user.Id), time.Now().Format("20060102")) | |||||
if total == nil { | |||||
total = &model.VideoTotal{ | |||||
Uid: int(user.Id), | |||||
Date: utils.StrToInt(time.Now().Format("20060102")), | |||||
Time: time.Now(), | |||||
} | |||||
insert, err := sess.Insert(total) | |||||
if insert == 0 || err != nil { | |||||
sess.Rollback() | |||||
e.OutErr(c, 400, e.NewErr(400, "获取奖励失败")) | |||||
return | |||||
} | |||||
//判断到时间领了没 | |||||
timeKey := "video.timer:" + utils.Int64ToStr(user.Id) | |||||
timeString, _ := cache.GetString(timeKey) | |||||
if timeString == "1" { | |||||
e.OutErr(c, 400, e.NewErr(400, "未到时间领取")) | |||||
return | |||||
} | } | ||||
Leave := utils.StrToInt(gjson.Get(videoBase, "total").String()) - total.Total | |||||
cache.SetEx(timeKey, "1", utils.StrToInt(gjson.Get(videoBase, "interval").String())) | |||||
//判断数量 读取缓存的 | |||||
numKey := "video.num:" + time.Now().Format("20060102") + "." + utils.Int64ToStr(user.Id) | |||||
numString, _ := cache.GetString(numKey) | |||||
Leave := utils.StrToInt(gjson.Get(videoBase, "total").String()) - utils.StrToInt(numString) | |||||
if Leave-1 < 0 { | if Leave-1 < 0 { | ||||
sess.Rollback() | |||||
e.OutErr(c, 400, e.NewErr(400, "今天已领取完")) | e.OutErr(c, 400, e.NewErr(400, "今天已领取完")) | ||||
return | return | ||||
} | } | ||||
total.Total++ | |||||
update, err2 := sess.Where("id=?", total.Id).Cols("total").Update(total) | |||||
if update == 0 || err2 != nil { | |||||
sess.Rollback() | |||||
e.OutErr(c, 400, e.NewErr(400, "获取奖励失败")) | |||||
return | |||||
} | |||||
sess.Commit() | |||||
ch, err := rabbit.Cfg.Pool.GetChannel() | ch, err := rabbit.Cfg.Pool.GetChannel() | ||||
if err == nil { | if err == nil { | ||||
defer ch.Release() | defer ch.Release() | ||||
NewEggEnergyBasicSettingDb := implement.NewEggEnergyBasicSettingDb(db.Db) | |||||
eggData, _ := NewEggEnergyBasicSettingDb.EggEnergyBasicSettingGetOne() | |||||
err = ch.PublishV2(md2.EggEnergyExchange, md2.EggEnergyStructForDealUserVirtualCoinData{ | |||||
Kind: "add", | |||||
Title: enum.EggEnergyVideoRewardPersonalActiveCoin.String(), | |||||
TransferType: int(enum.EggEnergyVideoRewardPersonalActiveCoin), | |||||
CoinId: eggData.PersonEggPointsCoinId, | |||||
Uid: user.Id, | |||||
Amount: utils.StrToFloat64(gjson.Get(videoBase, "reward").String()), | |||||
}, md2.EggEnergyRoutKeyForDealUserVirtualCoinData) | |||||
err = ch.PublishV2(md.EggVideoPlayletExchange, md.PlayletReward{ | |||||
Uid: utils.Int64ToStr(user.Id), | |||||
}, md.EggVideoReward) | |||||
if err != nil { | if err != nil { | ||||
ch.PublishV2(md2.EggEnergyExchange, md2.EggEnergyStructForDealUserVirtualCoinData{ | |||||
Kind: "add", | |||||
Title: enum.EggEnergyVideoRewardPersonalActiveCoin.String(), | |||||
TransferType: int(enum.EggEnergyVideoRewardPersonalActiveCoin), | |||||
CoinId: eggData.PersonEggPointsCoinId, | |||||
Uid: user.Id, | |||||
Amount: utils.StrToFloat64(gjson.Get(videoBase, "reward").String()), | |||||
}, md2.EggEnergyRoutKeyForDealUserVirtualCoinData) | |||||
ch.PublishV2(md.EggVideoPlayletExchange, md.PlayletReward{ | |||||
Uid: utils.Int64ToStr(user.Id), | |||||
}, md.EggVideoReward) | |||||
} | } | ||||
} | } | ||||
e.OutSuc(c, "success", nil) | e.OutSuc(c, "success", nil) | ||||