@@ -337,3 +337,73 @@ func RealTimePrice(c *gin.Context) { | |||
e.OutSuc(c, resp, nil) | |||
} | |||
// IsCanSignIn | |||
// @Summary 蛋蛋星球-主页-是否能签到(获取) | |||
// @Tags 主页 | |||
// @Description 是否能签到(获取) | |||
// @Accept json | |||
// @Produce json | |||
// @param Authorization header string true "验证参数Bearer和token空格拼接" | |||
// @Success 200 {object} md.IsCanSignInResp "具体数据" | |||
// @Failure 400 {object} md.Response "具体错误" | |||
// @Router /api/v1/homePage/isCanSignIn [get] | |||
func IsCanSignIn(c *gin.Context) { | |||
val, exists := c.Get("user") | |||
if !exists { | |||
e.OutErr(c, e.ERR_USER_CHECK_ERR, nil) | |||
return | |||
} | |||
user, ok := val.(*model.User) | |||
if !ok { | |||
e.OutErr(c, e.ERR_USER_CHECK_ERR, nil) | |||
return | |||
} | |||
//1、查找 `OneCirclesPublicPlatoonBasicSetting` 基础设置 | |||
energyBasicSettingDb := implement.NewEggEnergyBasicSettingDb(db.Db) | |||
eggEnergyBasicSetting, err := energyBasicSettingDb.EggEnergyBasicSettingGetOneByParams(map[string]interface{}{ | |||
"key": "is_open", | |||
"value": 1, | |||
}) | |||
if err != nil { | |||
e.OutErr(c, e.ERR_DB_ORM, err.Error()) | |||
return | |||
} | |||
var videoRewardSystem *md2.VideoRewardSystemStruct | |||
err = json.Unmarshal([]byte(eggEnergyBasicSetting.VideoRewardSystem), &videoRewardSystem) | |||
if err != nil { | |||
e.OutErr(c, e.ERR, err.Error()) | |||
return | |||
} | |||
rewardTotalNum := utils.StrToInt(videoRewardSystem.RewardTotalNum) | |||
//2、查询当前用户观看视屏记录 | |||
watchRecordsDb := implement.NewEggEnergyUserWatchRecordsDb(db.Db) | |||
userWatchRecords, err := watchRecordsDb.EggEnergyUserWatchRecordsGetOneByParams(map[string]interface{}{ | |||
"key": "uid", | |||
"value": user.Id, | |||
}) | |||
if err != nil { | |||
e.OutErr(c, e.ERR_DB_ORM, err.Error()) | |||
return | |||
} | |||
var isCan bool | |||
now := time.Now() | |||
if userWatchRecords != nil && userWatchRecords.ResidueWatchAdNum == rewardTotalNum && userWatchRecords.NextWatchAdDate.After(now) { | |||
isCan = true | |||
} | |||
utils.FilePutContents("HomePageIsCanSignIn", utils.SerializeStr(map[string]interface{}{ | |||
"user_phone": user.Phone, | |||
"user_uid": user.Id, | |||
"is_can": isCan, | |||
"time": now.Format("2006-01-02 15:04:05"), | |||
})) | |||
resp := md.IsCanSignInResp{ | |||
IsCan: isCan, | |||
} | |||
e.OutSuc(c, resp, nil) | |||
return | |||
} |
@@ -29,3 +29,7 @@ type RealTimePriceResp struct { | |||
IsRises bool `json:"is_rises"` | |||
Rises string `json:"rises"` | |||
} | |||
type IsCanSignInResp struct { | |||
IsCan bool `json:"is_can_sign_in"` | |||
} |
@@ -62,6 +62,7 @@ func route(r *gin.RouterGroup) { | |||
rHomePage.GET("/index", home_page.HomePage) // 主页 | |||
rHomePage.GET("/adRule", home_page.HomePageWatchAdRule) // 可以观看广告列表 | |||
rHomePage.GET("/realTimePrice", home_page.RealTimePrice) // 实时数据 | |||
rHomePage.GET("/isCanSignIn", home_page.IsCanSignIn) // 是否可以观看广告 | |||
} | |||
} | |||
@@ -138,6 +138,44 @@ const docTemplate = `{ | |||
} | |||
} | |||
}, | |||
"/api/v1/homePage/isCanSignIn": { | |||
"get": { | |||
"description": "是否能签到(获取)", | |||
"consumes": [ | |||
"application/json" | |||
], | |||
"produces": [ | |||
"application/json" | |||
], | |||
"tags": [ | |||
"主页" | |||
], | |||
"summary": "蛋蛋星球-主页-是否能签到(获取)", | |||
"parameters": [ | |||
{ | |||
"type": "string", | |||
"description": "验证参数Bearer和token空格拼接", | |||
"name": "Authorization", | |||
"in": "header", | |||
"required": true | |||
} | |||
], | |||
"responses": { | |||
"200": { | |||
"description": "具体数据", | |||
"schema": { | |||
"$ref": "#/definitions/md.IsCanSignInResp" | |||
} | |||
}, | |||
"400": { | |||
"description": "具体错误", | |||
"schema": { | |||
"$ref": "#/definitions/md.Response" | |||
} | |||
} | |||
} | |||
} | |||
}, | |||
"/api/v1/homePage/realTimePrice": { | |||
"get": { | |||
"description": "实时数据(获取)", | |||
@@ -375,6 +413,14 @@ const docTemplate = `{ | |||
} | |||
} | |||
}, | |||
"md.IsCanSignInResp": { | |||
"type": "object", | |||
"properties": { | |||
"is_can_sign_in": { | |||
"type": "boolean" | |||
} | |||
} | |||
}, | |||
"md.LoginReq": { | |||
"type": "object", | |||
"required": [ | |||
@@ -132,6 +132,44 @@ | |||
} | |||
} | |||
}, | |||
"/api/v1/homePage/isCanSignIn": { | |||
"get": { | |||
"description": "是否能签到(获取)", | |||
"consumes": [ | |||
"application/json" | |||
], | |||
"produces": [ | |||
"application/json" | |||
], | |||
"tags": [ | |||
"主页" | |||
], | |||
"summary": "蛋蛋星球-主页-是否能签到(获取)", | |||
"parameters": [ | |||
{ | |||
"type": "string", | |||
"description": "验证参数Bearer和token空格拼接", | |||
"name": "Authorization", | |||
"in": "header", | |||
"required": true | |||
} | |||
], | |||
"responses": { | |||
"200": { | |||
"description": "具体数据", | |||
"schema": { | |||
"$ref": "#/definitions/md.IsCanSignInResp" | |||
} | |||
}, | |||
"400": { | |||
"description": "具体错误", | |||
"schema": { | |||
"$ref": "#/definitions/md.Response" | |||
} | |||
} | |||
} | |||
} | |||
}, | |||
"/api/v1/homePage/realTimePrice": { | |||
"get": { | |||
"description": "实时数据(获取)", | |||
@@ -369,6 +407,14 @@ | |||
} | |||
} | |||
}, | |||
"md.IsCanSignInResp": { | |||
"type": "object", | |||
"properties": { | |||
"is_can_sign_in": { | |||
"type": "boolean" | |||
} | |||
} | |||
}, | |||
"md.LoginReq": { | |||
"type": "object", | |||
"required": [ | |||
@@ -57,6 +57,11 @@ definitions: | |||
description: 奖励X个活跃积分 | |||
type: string | |||
type: object | |||
md.IsCanSignInResp: | |||
properties: | |||
is_can_sign_in: | |||
type: boolean | |||
type: object | |||
md.LoginReq: | |||
properties: | |||
code: | |||
@@ -219,6 +224,31 @@ paths: | |||
summary: 蛋蛋星球-主页-基础信息(获取) | |||
tags: | |||
- 主页 | |||
/api/v1/homePage/isCanSignIn: | |||
get: | |||
consumes: | |||
- application/json | |||
description: 是否能签到(获取) | |||
parameters: | |||
- description: 验证参数Bearer和token空格拼接 | |||
in: header | |||
name: Authorization | |||
required: true | |||
type: string | |||
produces: | |||
- application/json | |||
responses: | |||
"200": | |||
description: 具体数据 | |||
schema: | |||
$ref: '#/definitions/md.IsCanSignInResp' | |||
"400": | |||
description: 具体错误 | |||
schema: | |||
$ref: '#/definitions/md.Response' | |||
summary: 蛋蛋星球-主页-是否能签到(获取) | |||
tags: | |||
- 主页 | |||
/api/v1/homePage/realTimePrice: | |||
get: | |||
consumes: | |||