package controllers import ( "github.com/kataras/iris/v12/mvc" "xps/datamodels" "xps/service/paas" ) type ApiController struct { Base Service paas.ApiService } func (c *ApiController) BeforeActivation(b mvc.BeforeActivation) { b.Handle("GET", "/", "GetList" ) b.Handle("GET", "/page", "GetPage" ) b.Handle("GET", "/{modId:int64}/{apiId:int64}", "GetById" ) b.Handle("POST", "/add", "Create" ) b.Handle("PUT", "/update", "Update" ) b.Handle("PUT", "/updateStatus/{modId:int64}/{apiId:int64}/{status:int64}", "UpdateStatus" ) b.Handle("DELETE", "/{modId:int64}/{apiId:int64}", "DeleteByID" ) } func (c *ApiController) GetList() *JsonResult { params := c.buildParams() modId := c.Ctx.URLParamInt64Default("modId", 0) if modId <= 0 { return ResultErr("参数不完整", nil) } params["modId"] = modId data, err := c.Service.GetList(params) if err != nil { return ResultErr(err.Error(), nil) } else { return ResultOk("获取成功", data) } } func (c *ApiController) GetPage() *JsonResult { params := c.buildParams() modId := c.Ctx.URLParamInt64Default("modId", 0) if modId <= 0 { return ResultErr("参数不完整", nil) } params["modId"] = modId data, err := c.Service.GetPage(params) if err != nil { return ResultErr(err.Error(), nil) } else { return ResultOk("获取成功", data) } } func (c *ApiController) GetById(modId, apiId int64) *JsonResult { data, err := c.Service.GetById(modId, apiId) if err != nil { return ResultErr(err.Error(), nil) } else { return ResultOk("获取成功", data) } } func (c *ApiController) Create() *JsonResult { userId := c.GetCurUserId() api := datamodels.Api{} if err := c.Ctx.ReadJSON(&api); err != nil { return ResultErr("读取数据失败", nil) } api.CreatedBy = userId if err := c.Service.Create(&api); err != nil { return ResultErr(err.Error(), nil) } else { return ResultOk("新增成功", nil) } } func (c *ApiController) Update() *JsonResult { userId := c.GetCurUserId() api := datamodels.Api{} if err := c.Ctx.ReadJSON(&api); err != nil { return ResultErr("读取数据失败", nil) } api.UpdatedBy = userId if err := c.Service.Update(&api); err != nil { return ResultErr(err.Error(), nil) } else { return ResultOk("更新成功", nil) } } func (c *ApiController) UpdateStatus(modId, apiId, status int64)*JsonResult{ if err := c.Service.ChangeStatus(modId, apiId, status); err != nil { return ResultErr(err.Error(), nil) } else { return ResultOk("状态变更成功", nil) } } func (c *ApiController) DeleteByID(modId, apiId int64) *JsonResult { userId := c.GetCurUserId() m := make(map[string]interface{}) m["modId"] = modId m["apiId"] = apiId m["deletedBy"] = userId if err := c.Service.Delete(m); err != nil { return ResultErr(err.Error(), nil) } else { return ResultOk("删除成功", nil) } }