package duty import ( "dashoo.cn/micro_libary/response" "dashoo.cn/modi_webapi/app/common" "dashoo.cn/modi_webapi/app/model/duty/detail" detailService "dashoo.cn/modi_webapi/app/service/duty" "dashoo.cn/modi_webapi/library/request" "fmt" "github.com/gogf/gf/net/ghttp" ) // 值周详情控制器 type DetailController struct { } // 分页查询 func (c *DetailController) GetPageList(r *ghttp.Request) { // tenant 租户模式 tenant := r.Header.Get("Tenant") page := request.GetPageInfo(r) // 初始化service service, err := detailService.NewDetailService(tenant) if err != nil { response.Json(r, 1, err.Error()) } pageInfo := common.PageInfo{ Current: page.Current, PagesSize: page.Size, } selectPageReq := common.SelectPageReq{ Tenant: tenant, Page: &pageInfo, Order: r.GetString("order"), } if dutyList, total, err := service.GetPageList(&selectPageReq); err != nil { response.Json(r, -1, err.Error()) } else { var records response.PagedRecords records.Current = page.Current records.Size = page.Size records.Total = total records.Records = dutyList response.Json(r, 0, "ok", records) } } // 添加值班 func (c *DetailController) AddDetail(r *ghttp.Request) { // tenant 租户模式 tenant := r.Header.Get("Tenant") if DutyId := r.GetInt("DutyId"); DutyId == 0 { response.Json(r, -1, "值班ID不能为空") } var entity *detail.Entity // 赋值并校验参数 if err := r.Parse(&entity); err != nil { response.Json(r, -1, err.Error()) } // 初始化课程详情service service, err := detailService.NewDetailService(tenant) if err != nil { response.Json(r, -1, err.Error()) } // 获取操作人 realName := r.GetParamVar("realname").String() entity.CreatedBy = realName if newId, err := service.Add(entity); err != nil { response.Json(r, 1, err.Error()) } else { response.Json(r, 0, "新增成功", newId) } } // 获取详情 func (c *DetailController) GetDetailById(r *ghttp.Request) { // tenant 租户模式 tenant := r.Header.Get("Tenant") Id := r.GetInt("Id") if Id == 0 { response.Json(r, -1, "Id不能为空") } // 初始化课程详情service service, err := detailService.NewDetailService(tenant) if err != nil { response.Json(r, -1, err.Error()) } if duty, err := service.GetDetailById(Id); err != nil { response.Json(r, 1, err.Error()) } else { response.Json(r, 0, "ok", duty) } } // 更新 func (c *DetailController) UpdateDetail(r *ghttp.Request) { // tenant 租户模式 tenant := r.Header.Get("Tenant") var entity *detail.UpdDateReq // 赋值并校验参数 if err := r.Parse(&entity); err != nil { response.Json(r, -1, err.Error()) } Id := r.GetInt("Id") if Id == 0 { response.Json(r, -1, "Id不能为空") } // 初始化课程详情service service, err := detailService.NewDetailService(tenant) if err != nil { response.Json(r, -1, err.Error()) } // 获取操作人 realName := r.GetParamVar("realname").String() entity.UpdatedBy = realName if detail, err := service.Save(Id, entity); err != nil { response.Json(r, 1, err.Error()) } else { response.Json(r, 0, "更新成功", detail) } } // 删除 func (c *DetailController) DeleteDetail(r *ghttp.Request) { // tenant 租户模式 tenant := r.Header.Get("Tenant") // 详情id Ids := r.GetInts("ids") if len(Ids) == 0 { response.Json(r, -1, "ids不能为空") } delIdsReq := new(common.DeleteIdsReq) delUpdReq := new(common.DeleteUpdReq) delIdsReq.Id = Ids // 获取操作人 realName := r.GetParamVar("realname").String() delUpdReq.UpdatedBy = realName // 初始化service service, err := detailService.NewDetailService(tenant) if err != nil { response.Json(r, -1, err.Error()) } if err := service.DeleteById(delIdsReq, delUpdReq); err != nil { response.Json(r, 1, err.Error()) } else { response.Json(r, 0, "删除成功") } } // 根据父级id查询 func (c *DetailController) GetDetailByDutyId(r *ghttp.Request) { // tenant 租户模式 tenant := r.Header.Get("Tenant") // 初始化service service, err := detailService.NewDetailService(tenant) if err != nil { response.Json(r, -1, err.Error()) } DutyId := r.GetInt("DutyId") if result, err := service.GetDetailByDutyId(DutyId); err != nil { response.Json(r, 1, err.Error()) } else { response.Json(r, 0, "ok", result) } } // 批量添加 func (c *DetailController) BatchAdd(r *ghttp.Request) { // tenant 租户模式 tenant := r.Header.Get("Tenant") // 初始化service service, err := detailService.NewDetailService(tenant) if err != nil { response.Json(r, -1, err.Error()) } detail := r.GetArray("detail") fmt.Println(detail) if id, err := service.Adds(detail); err != nil { response.Json(r, -1, err.Error()) } else { response.Json(r, 0, "ok", id) } }