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

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
}