feat: 班级学生列表接口声明

This commit is contained in:
TsMask
2024-07-11 10:28:39 +08:00
parent 96a391c4ce
commit 612b8317bc
2 changed files with 67 additions and 2 deletions

View File

@@ -0,0 +1,56 @@
package controller
import (
"be.ems/src/framework/utils/ctx"
"be.ems/src/framework/utils/parse"
"be.ems/src/framework/vo/result"
systemModel "be.ems/src/modules/system/model"
systemService "be.ems/src/modules/system/service"
"github.com/gin-gonic/gin"
)
// NewPtClass 实例化控制层
var NewPtClass = &PtClass{
sysUserService: systemService.NewSysUserImpl,
}
// 班级信息数据
//
// PATH /class
type PtClass struct {
// 用户服务
sysUserService systemService.ISysUser
}
// 班级学生列表 (仅教师操作)
//
// GET /students
func (s *PtClass) Students(c *gin.Context) {
querys := ctx.QueryMap(c)
dataScopeSQL := ctx.LoginUserToDataScopeSQL(c, "d", "u")
data := s.sysUserService.SelectUserPage(querys, dataScopeSQL)
total := parse.Number(data["total"])
rows := make([]map[string]any, 0)
for _, v := range data["rows"].([]systemModel.SysUser) {
if len(v.Roles) == 0 {
total--
continue
}
if v.Roles[0].RoleKey != "student" {
total--
continue
}
rows = append(rows, map[string]any{
"userId": v.UserID,
"userName": v.UserName,
"nickName": v.NickName,
"loginIp": v.LoginIP,
"loginDate": v.LoginDate,
})
}
data["total"] = total
data["rows"] = rows
c.JSON(200, result.Ok(data))
}

View File

@@ -19,7 +19,7 @@ func Setup(router *gin.Engine) {
neConfigDataGroup := ptGroup.Group("/neConfigData")
{
neConfigDataGroup.POST("/saveAsDefault",
middleware.PreAuthorize(map[string][]string{"hasRoles": {"admin", "teacher"}}),
middleware.PreAuthorize(map[string][]string{"hasRoles": {"admin"}}),
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neConfigData", collectlogs.BUSINESS_TYPE_OTHER)),
controller.NewPtNeConfigData.SaveAsDefault,
)
@@ -42,7 +42,7 @@ func Setup(router *gin.Engine) {
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neConfigData", collectlogs.BUSINESS_TYPE_UPDATE)),
controller.NewPtNeConfigData.Edit,
)
neConfigDataGroup.DELETE("/",
neConfigDataGroup.DELETE("",
middleware.PreAuthorize(nil),
collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neConfigData", collectlogs.BUSINESS_TYPE_DELETE)),
controller.NewPtNeConfigData.Remove,
@@ -81,4 +81,13 @@ func Setup(router *gin.Engine) {
controller.NewPtNeConfigApply.Edit,
)
}
// 班级信息数据
classGroup := ptGroup.Group("/class")
{
classGroup.GET("/students",
middleware.PreAuthorize(map[string][]string{"hasRoles": {"teacher"}}),
controller.NewPtClass.Students,
)
}
}