package personnel import ( "dashoo.cn/modi_webapi/app/model/personnel" service "dashoo.cn/modi_webapi/app/service/personnel" "dashoo.cn/modi_webapi/library/request" "dashoo.cn/modi_webapi/library/response" "fmt" "github.com/gogf/gf/net/ghttp" "github.com/gogf/gf/os/gtime" "github.com/gogf/gf/util/gvalid" ) type Controller struct { } func (c *Controller) GetAllPersonnel(r *ghttp.Request) { // tenant 租户模式 tenant := r.Header.Get("Tenant") // 初始化service service, err := service.NewPersonnelService(tenant) if err != nil { response.Json(r, 1, err.Error()) } page := request.GetPageInfo(r) where := "" if name := r.GetString("Name"); name != "" { if where == "" { where = fmt.Sprintf(" PersonnelName LIKE '%%%v%%'", name) } else { where += fmt.Sprintf(" AND PersonnelName LIKE '%%%v%%'", name) } } var result []personnel.Entity if err := service.GetAllPersonnel(page, where, &result); err != nil { if err.Error() == "sql: no rows in result set" { response.Json(r, 0, "") return } response.Json(r, -1, err.Error()) } else { count, err1 := service.FindPersonnelCount(where) if err1 != nil { response.Json(r, -1, err1.Error()) } else { var records response.PagedRecords records.Size = page.Size records.Current = page.Current records.Total = count records.Records = result response.Json(r, 0, "", records) } } } func (c *Controller) GetOnePersonnel(r *ghttp.Request) { id := r.GetInt("id") if result, err := personnel.FindOne(id); err != nil { response.Json(r, 1, err.Error()) r.ExitAll() } else { var records response.PagedRecords records.Records = result response.Json(r, 0, "", records) } } // 添加 func (c *Controller) AddPersonnel(r *ghttp.Request) { Personnel := new(personnel.Entity) if err := r.Parse(Personnel); err != nil { // 数据验证错误 if v, ok := err.(*gvalid.Error); ok { response.Json(r, 1, v.FirstString()) r.ExitAll() } // 其他错误 response.Json(r, 1, err.Error()) r.ExitAll() } // tenant 租户模式 tenant := r.Header.Get("Tenant") // 初始化service service, err := service.NewPersonnelService(tenant) if err != nil { response.Json(r, 1, err.Error()) } // 查询code是否存在 info, _ := service.GetPersonnelByCode(Personnel.PersonneCode) if info != nil { response.Json(r, 1, "人员编号已存在") } realName := r.GetParamVar("realname").String() userId := r.GetParamVar("userid").Int() currentTime := gtime.Now() Personnel.CreateOn = currentTime Personnel.CreateBy = realName Personnel.CreateUserId = userId Personnel.ModifiedOn = currentTime Personnel.ModifiedBy = realName Personnel.ModifiedUserId = userId if result, err := personnel.Insert(Personnel); err != nil { response.Json(r, 1, err.Error()) } else { var records response.PagedRecords id, _ := result.LastInsertId() Personnel.Id = int(id) records.Records = Personnel response.Json(r, 0, "", records) } } // 更新 func (c *Controller) UpdatePersonnel(r *ghttp.Request) { // tenant 租户模式 tenant := r.Header.Get("Tenant") Personnel := new(personnel.Entity) if err := r.Parse(Personnel); err != nil { // 数据验证错误 if v, ok := err.(*gvalid.Error); ok { response.Json(r, 1, v.FirstString()) r.ExitAll() } // 其他错误 response.Json(r, 1, err.Error()) r.ExitAll() } realName := r.GetParamVar("realname").String() userId := r.GetParamVar("userid").Int() currentTime := gtime.Now() Personnel.ModifiedOn = currentTime Personnel.ModifiedBy = realName Personnel.ModifiedUserId = userId // 初始化service service, err := service.NewPersonnelService(tenant) if err != nil { response.Json(r, 1, err.Error()) } // 修改 code, msg := service.UpdatePersonnelById(Personnel) if code { response.Json(r, 0, msg) } else { response.Json(r, -1, msg) } } // 删除 func (c *Controller) DeletePersonnel(r *ghttp.Request) { id := r.GetInt("id") if _, err := personnel.Delete(fmt.Sprintf("Id=%v", id)); err != nil { response.Json(r, 1, err.Error()) r.ExitAll() } else { response.Json(r, 0, "该记录已删除!") } }