feat: 班级学生列表接口声明
This commit is contained in:
56
src/modules/practical_training/controller/pt_class_user.go
Normal file
56
src/modules/practical_training/controller/pt_class_user.go
Normal 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))
|
||||
}
|
||||
@@ -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,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user