package controller import ( "github.com/kataras/iris/v12/mvc" "xps/pkg/system/datamodel" "xps/pkg/system/service" ) type TaskController struct { Base Service service.TaskService } func (c *TaskController) BeforeActivation(b mvc.BeforeActivation) { b.Handle("GET", "/", "GetList") b.Handle("GET", "/page", "GetPage") b.Handle("GET", "/{taskId:int64}", "GetById") b.Handle("POST", "/add", "Create") b.Handle("PUT", "/update", "Update") b.Handle("DELETE", "/{taskId:int64}", "DeleteByID") } func (c *TaskController) GetList() *JsonResult { params := c.buildParams() data, err := c.Service.GetList(params) if err != nil { return ResultErr(err.Error(), nil) } else { return ResultOk("获取成功", data) } } func (c *TaskController) GetPage() *JsonResult { params := c.buildParams() data, err := c.Service.GetPage(params) if err != nil { return ResultErr(err.Error(), nil) } else { return ResultOk("获取成功", data) } } func (c *TaskController) GetById(taskId int64) *JsonResult { ocId := c.GetCurOcId() data, err := c.Service.GetById(ocId, taskId) if err != nil { return ResultErr(err.Error(), nil) } else { return ResultOk("获取成功", data) } } func (c *TaskController) Create() *JsonResult { ocId := c.GetCurOcId() userId := c.GetCurUserId() task := &datamodel.Task{} if err := c.Ctx.ReadJSON(task); err != nil { return ResultErr("读取数据失败", nil) } task.OcId = ocId task.CreatedBy = userId if err := c.Service.Create(task); err != nil { return ResultErr(err.Error(), nil) } else { return ResultOk("新增成功", nil) } } func (c *TaskController) Update() *JsonResult { ocId := c.GetCurOcId() userId := c.GetCurUserId() task := &datamodel.Task{} if err := c.Ctx.ReadJSON(task); err != nil { return ResultErr("读取数据失败", nil) } task.OcId = ocId task.UpdatedBy = userId if err := c.Service.Update(task); err != nil { return ResultErr(err.Error(), nil) } else { return ResultOk("更新成功", nil) } } func (c *TaskController) DeleteByID(taskId int64) *JsonResult { ocId := c.GetCurOcId() userId := c.GetCurUserId() m := make(map[string]interface{}) m["ocId"] = ocId m["taskId"] = taskId m["deletedBy"] = userId if err := c.Service.Delete(m); err != nil { return ResultErr(err.Error(), nil) } else { return ResultOk("删除成功", nil) } }