You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
122 lines
3.0 KiB
122 lines
3.0 KiB
package users
|
|
|
|
import (
|
|
"fmt"
|
|
"github.com/gin-gonic/gin"
|
|
"github.com/golangkit/formatime"
|
|
"recook/internal/back"
|
|
"recook/internal/dbc"
|
|
"recook/internal/model/user"
|
|
"recook/internal/service/baseCode"
|
|
"recook/tools"
|
|
"time"
|
|
)
|
|
|
|
type getQrcodePem struct {
|
|
Uid uint `json:"uid"`
|
|
Hours time.Duration `json:"hours"`
|
|
Code string `json:"code"`
|
|
}
|
|
|
|
type getCodeListPem struct {
|
|
Uid uint `json:"uid"`
|
|
}
|
|
|
|
// GetQrcodeTop 平台boss获取二维码
|
|
func GetQrcodeTop(c *gin.Context) {
|
|
var p getQrcodePem
|
|
err := tools.ParseParams(&p, c)
|
|
if err != nil {
|
|
back.Fail(c, err.Error())
|
|
return
|
|
}
|
|
if len(p.Code) > 0 {
|
|
|
|
var userTopCode user.TopCode
|
|
if err := dbc.DB.Where("code = ?", p.Code).First(&userTopCode).Error; err != nil {
|
|
back.Fail(c, "code不存在")
|
|
return
|
|
}
|
|
|
|
myQrcodes := GetSharePhoto(userTopCode.Code)
|
|
back.Suc(c, "获取成功", myQrcodes)
|
|
return
|
|
|
|
} else {
|
|
var userTopPeople user.UserTopPeople
|
|
if err := dbc.DB.Where("id = ?", p.Uid).First(&userTopPeople).Error; err != nil {
|
|
back.Fail(c, "uid记录不存在")
|
|
return
|
|
}
|
|
var userTopCode = user.TopCode{}
|
|
//这边创建一个码
|
|
newCode := baseCode.Encode(uint64(p.Uid))
|
|
userTopCode.Code = newCode
|
|
userTopCode.UserId = p.Uid
|
|
userTopCode.CreatedTime = formatime.NewSecondNow()
|
|
userTopCode.EndTime = formatime.NewSecondFrom(time.Now().Add(time.Hour * p.Hours))
|
|
dbc.DB.Create(&userTopCode)
|
|
|
|
myQrcodes := GetSharePhoto(userTopCode.Code)
|
|
back.Suc(c, "获取成功", myQrcodes)
|
|
return
|
|
}
|
|
|
|
}
|
|
|
|
type TopCodeReturn struct {
|
|
ID uint `json:"id"`
|
|
Code string `json:"code"`
|
|
CreatedTime formatime.Second `json:"createdTime"`
|
|
EndTime formatime.Second `json:"endTime"`
|
|
UserId uint `json:"userId"`
|
|
Num uint `json:"num"`
|
|
}
|
|
|
|
// GetCodeList 获取二维码的生成历史
|
|
func GetCodeList(c *gin.Context) {
|
|
var p getCodeListPem
|
|
//err := tools.ParseParams(&p, c)
|
|
//if err != nil {
|
|
// http.Fail(c, err.Error())
|
|
// return
|
|
//}
|
|
p.Uid = 2
|
|
var userTopPeople user.UserTopPeople
|
|
if err := dbc.DB.Where("id = ?", p.Uid).First(&userTopPeople).Error; err != nil {
|
|
back.Fail(c, "uid记录不存在")
|
|
return
|
|
}
|
|
var userTopCodeList []user.TopCode
|
|
var userTopCodeListReturn []TopCodeReturn
|
|
dbc.DB.Where("user_id = ?", p.Uid).Order("id desc").Find(&userTopCodeList)
|
|
var myint uint
|
|
for _, value := range userTopCodeList {
|
|
myint = 0
|
|
dbc.DB.Table("recook_user_top_codenum").Where("code=?", value.Code).Count(&myint)
|
|
fmt.Println(myint)
|
|
userTopCodeListReturn = append(userTopCodeListReturn, TopCodeReturn{
|
|
ID: value.ID,
|
|
Code: value.Code,
|
|
CreatedTime: value.CreatedTime,
|
|
EndTime: value.EndTime,
|
|
UserId: value.UserId,
|
|
Num: myint,
|
|
})
|
|
|
|
}
|
|
back.Suc(c, "获取成功", &userTopCodeListReturn)
|
|
return
|
|
}
|
|
|
|
//获取小时
|
|
func GetHours(c *gin.Context) {
|
|
var myHours map[int]string /*创建集合 */
|
|
myHours = make(map[int]string)
|
|
myHours[12] = "12小时"
|
|
myHours[24] = "24小时"
|
|
myHours[48] = "48小时"
|
|
back.Suc(c, "获取成功", &myHours)
|
|
return
|
|
}
|