Compare commits

..

No commits in common. "569e6618a8cf09664a32eb67efcef17271a2a130" and "991165125f3ed1917a39c845b198f66c7d3f7b88" have entirely different histories.

9 changed files with 1 additions and 127 deletions

View File

@ -1,31 +0,0 @@
package api
import (
"github.com/gin-gonic/gin"
"online_code/core"
"online_code/models/param"
"online_code/repository"
)
type submitApi struct{}
func SubmitApi() *submitApi {
return &submitApi{}
}
func (submitApi) GetSubmitList(c *gin.Context) {
var p param.GetSubmitList
if err := c.ShouldBind(&p); err != nil {
core.R(c).FailWithMessage("参数错误: " + err.Error())
return
}
records, count, err := repository.SubmitService().GetList(p)
if err != nil {
core.R(c).FailWithMessage("获取提交列表失败: " + err.Error())
return
}
// 返回结果
core.R(c).OkDataPage(count, core.PageData{Current: p.Current, Size: p.Size, Total: count, Records: records})
}

View File

@ -1,32 +0,0 @@
package api
import (
"github.com/gin-gonic/gin"
"online_code/client"
"online_code/core"
"online_code/models/entity"
)
type userApi struct{}
func UserApi() *userApi {
return &userApi{}
}
// GetUserInfo 获取用户详情
func (userApi) GetUserInfo(ctx *gin.Context) {
// 获取用户信息
identity := ctx.Param("identity")
if identity == "" {
core.R(ctx).FailWithMessage("参数不能为空: identity")
return
}
userData := entity.UserBasic{}
err := client.MySQL.Omit("password").Where("identity = ?", identity).Take(&userData).Error
if err != nil {
core.R(ctx).FailWithMessage("获取用户信息失败: " + err.Error())
return
}
core.R(ctx).OkWithData(userData)
}

View File

@ -3,7 +3,6 @@ package core
import (
"github.com/gin-gonic/gin"
"net/http"
"online_code/utils"
)
// 返回数据包装
@ -60,15 +59,6 @@ func (r rs) OkDetailed(data interface{}, message string) {
r.Result(SUCCESS, data, message)
}
// OkDataPage 返回分页数据
func (r rs) OkDataPage(count int64, page PageData) {
// 计算总页码
totalPage := utils.GenTotalPage(count, page.Size)
page.TotalPage = totalPage
// 返回结果
r.Result(SUCCESS, page, "操作成功")
}
// Fail 返回默认失败
func (r rs) Fail() {
r.Result(ERROR, nil, "操作失败")

1
go.mod
View File

@ -9,6 +9,7 @@ require (
github.com/fsnotify/fsnotify v1.5.1
github.com/gin-gonic/gin v1.7.7
github.com/go-redis/redis/v8 v8.11.5
github.com/google/uuid v1.1.2
github.com/spf13/viper v1.10.1
golang.org/x/crypto v0.0.0-20220214200702-86341886e292
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c

View File

@ -1,8 +0,0 @@
package param
type GetSubmitList struct {
page
ProblemIdentity string `json:"problemIdentity" form:"problemIdentity"`
UserIdentity string `json:"userIdentity" form:"userIdentity"`
Status int `json:"status" form:"status"`
}

View File

@ -1,28 +0,0 @@
package repository
import (
"online_code/client"
"online_code/models/entity"
"online_code/models/param"
)
type submitService struct{}
func SubmitService() *submitService {
return &submitService{}
}
func (submitService) GetList(p param.GetSubmitList) (records []entity.SubmitBasic, count int64, err error) {
tx := client.MySQL.Scopes(page(p.Current, p.Size))
if p.ProblemIdentity != "" {
tx = tx.Where("problem_identity = ?", p.ProblemIdentity)
}
if p.UserIdentity != "" {
tx = tx.Where("user_identity = ?", p.UserIdentity)
}
if p.Status != 0 && p.Status != 1 && p.Status != 2 {
tx = tx.Where("status = ?", p.Status)
}
err = tx.Offset(-1).Limit(-1).Count(&count).Find(&records).Error
return
}

View File

@ -1,7 +0,0 @@
package repository
type userService struct{}
func UserService() *userService {
return &userService{}
}

View File

@ -4,5 +4,4 @@ import "github.com/gin-gonic/gin"
func InitRoute(g *gin.RouterGroup) {
problem(g.Group("/problem"))
user(g.Group("/user"))
}

View File

@ -1,10 +0,0 @@
package route
import (
"github.com/gin-gonic/gin"
"online_code/api"
)
func user(g *gin.RouterGroup) {
g.GET("/:identity", api.UserApi().GetUserInfo) // 获取用户详情
}