| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 |
- package demo
- import (
- "dashoo.cn/micro_libary/request"
- "dashoo.cn/micro_libary/response"
- "dashoo.cn/modi_webapi/app/model/demo/student"
- service "dashoo.cn/modi_webapi/app/service/demo"
- "github.com/gogf/gf/net/ghttp"
- "github.com/gogf/gf/os/glog"
- "strconv"
- "strings"
- )
- // 学生管理Controller
- type StudentController struct {
- }
- // GetDetailById 根据id获取学生详情信息
- func (c *StudentController) GetDetailById(r *ghttp.Request) {
- // tenant 租户模式
- tenant := r.Header.Get("Tenant")
- // 学生id
- StId := r.GetInt("id")
- glog.Info(StId)
- // 初始化学生service
- servcie, err := service.NewStudentService(tenant)
- if err != nil {
- response.Json(r, 1, err.Error())
- }
- // 调用service方法
- if student, err := servcie.GetStudentByID(StId); err != nil {
- response.Json(r, 1, err.Error())
- } else {
- response.Json(r, 0, "", student)
- }
- }
- // SaveStudent 保存学生信息
- func (c *StudentController) SaveStudent(r *ghttp.Request) {
- // tenant 租户模式
- tenant := r.Header.Get("Tenant")
- var addOrUpdateReq *student.AddOrUpdateReq
- // 赋值并// 校验参数
- if err := r.Parse(&addOrUpdateReq); err != nil {
- response.Json(r, 1, err.Error())
- }
- // 初始化学生service
- servcie, err := service.NewStudentService(tenant)
- if err != nil {
- response.Json(r, 1, err.Error())
- }
- subject := ""
- subjectName := ""
- // 多选课程处理,判断多选时,转存为字符串
- subIds := r.GetInts("Subject")
- subNames := r.GetStrings("SubjectName")
- if len(subIds) > 0 {
- subArray := make([]string, len(subIds))
- subNameArray := make([]string, len(subNames))
- for i, arg := range subIds {
- subArray[i] = strconv.Itoa(arg)
- }
- for i, arg := range subNames {
- subNameArray[i] = arg
- }
- subject = strings.Join(subArray, ",")
- subjectName = strings.Join(subNameArray, ",")
- }
- addOrUpdateReq.Subject = subject
- addOrUpdateReq.SubjectName = subjectName
- // 判断是新增还是删除,获取的id为空新增,不为空则更新
- if addOrUpdateReq.Id > 0 {
- if newStudent, err := servcie.Update(addOrUpdateReq); err != nil {
- response.Json(r, 1, err.Error())
- } else {
- response.Json(r, 0, "更新成功", newStudent)
- }
- } else {
- addOrUpdateReq.Id = 0
- if newId, err := servcie.Add(addOrUpdateReq); err != nil {
- response.Json(r, 1, err.Error())
- } else {
- response.Json(r, 0, "新建成功", newId)
- }
- }
- }
- // DeleteStudentById 删除学生信息,更新学生删除状态isDel=1
- func (c *StudentController) DeleteStudentById(r *ghttp.Request) {
- // tenant 租户模式
- tenant := r.Header.Get("Tenant")
- Ids := r.GetInts("ids")
- // 初始化学生service
- servcie, err := service.NewStudentService(tenant)
- if err != nil {
- response.Json(r, 1, err.Error())
- }
- delReq := new(student.DeleteReq)
- delReq.Ids = Ids
- delReq.IsDel = 1
- if err := servcie.Delete(delReq); err != nil {
- response.Json(r, 1, err.Error())
- } else {
- response.Json(r, 0, "删除成功")
- }
- }
- // GetPageList 分页查询学生列表信息
- func (c *StudentController) GetPageList(r *ghttp.Request) {
- // tenant 租户模式
- tenant := r.Header.Get("Tenant")
- page := request.GetPageInfo(r)
- // 初始化学生service
- servcie, err := service.NewStudentService(tenant)
- if err != nil {
- response.Json(r, 1, err.Error())
- }
- glog.Info(page)
- pageInfo := student.PageInfo{
- Current: page.Current,
- PagesSize: page.Size,
- }
- selectPageReq := student.SelectPageReq{
- Tenant: tenant,
- Name: "",
- Page: &pageInfo,
- // 排序
- Prop: r.GetString("prop"),
- Order: r.GetString("order"),
- }
- if name := r.GetString("name"); name != "" {
- selectPageReq.Name = name
- }
- // 分页查询学生列表
- if studentList, total, err := servcie.GetPageList(&selectPageReq); err != nil {
- response.Json(r, 1, err.Error())
- } else {
- var records response.PagedRecords
- records.Current = page.Current
- records.Size = page.Size
- if total > 0 {
- records.Total = total
- records.Records = studentList
- }
- response.Json(r, 0, "", records)
- }
- }
|