package controllers import ( "github.com/kataras/iris/v12/mvc" "xps/service/model" "xps/viewmodels" ) type ObjectController struct { Base Service model.ObjectService } func (c *ObjectController) BeforeActivation(b mvc.BeforeActivation) { b.Handle("GET", "/", "GetByList") b.Handle("GET", "/page", "GetByPage") b.Handle("GET", "/{modelId:int64}/{objectId:int64}", "GetById") b.Handle("POST", "/add", "Create") b.Handle("PUT", "/update", "Update") b.Handle("DELETE", "/{modelId:int64}/{objectId:int64}", "DeleteByID") } func (c *ObjectController) GetByList() *JsonResult { params := c.buildParams() modelId := c.Ctx.URLParamInt64Default("modelId", 0) if modelId <= 0 { return ResultErr("参数不完整", nil) } params["modelId"] = modelId data, err := c.Service.GetByList(params) if err != nil { return ResultErr(err.Error(), nil) } return ResultOk("获取成功", data) } func (c *ObjectController) GetByPage() *JsonResult { params := c.buildParams() modelId := c.Ctx.URLParamInt64Default("modelId", 0) if modelId <= 0 { return ResultErr("参数不完整", nil) } params["modelId"] = modelId data, err := c.Service.GetByPage(params) if err != nil { return ResultErr(err.Error(), nil) } else { return ResultOk("获取成功", data) } } func (c *ObjectController) GetById(modelId, objectId int64) *JsonResult { data, err := c.Service.GetObjectDataById(modelId, objectId) if err != nil { return ResultErr(err.Error(), nil) } else { return ResultOk("获取成功", data) } } func (c *ObjectController) Create() *JsonResult { userId := c.GetCurUserId() objectData := viewmodels.ObjectDataInfo{} objectData.CreatedBy = userId err := c.Ctx.ReadJSON(&objectData) if err != nil { return ResultErr("读取数据失败", nil) } err = c.Service.CreateObjectData(&objectData) if err != nil { return ResultErr(err.Error(), nil) } else { return ResultOk("新增成功", nil) } } func (c *ObjectController) Update() *JsonResult { userId := c.GetCurUserId() objectData := viewmodels.ObjectDataInfo{} if err := c.Ctx.ReadJSON(&objectData); err != nil { return ResultErr("读取数据失败", nil) } objectData.UpdatedBy = userId err := c.Service.UpdateObjectData(&objectData) if err != nil { return ResultErr(err.Error(), nil) } else { return ResultOk("更新成功", nil) } } func (c *ObjectController) DeleteByID(modelId, objectId int64) *JsonResult { userId := c.GetCurUserId() var m = make(map[string]interface{}) m["modelId"] = modelId m["objectId"] = objectId m["deletedBy"] = userId err := c.Service.Delete(m) if err != nil { return ResultErr(err.Error(), nil) } else { return ResultOk("删除成功", nil) } }