package controllers import ( "github.com/kataras/iris" "lapp_-wy/utils" "lapp_-wy/web/middleware/glog" "lapp_-wy/web/middleware/jwts" "lapp_-wy/web/models" "lapp_-wy/web/supports" "strings" "time" ) func GetSubjectList(ctx iris.Context) { user, ok := jwts.ParseToken(ctx) utils.TrimStruct(user, *user) if !ok { supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil) return } //日志 logs := new(models.LeitServerLog) logs.File = "/controllers/Subject_controller.go" logs.Level = "info" logs.Function = "GetSubjectList" logs.Message = "问题查看" logs.Operator = user.Userid logs.TimeStamp = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss") logs.InsertRecord() var data models.Subject var err error var pageSize = 10 var pageIndex = 1 if size := ctx.URLParam("pageSize"); size != "" { pageSize = utils.ValueToInt(size, 0) } if index := ctx.URLParam("pageIndex"); index != "" { pageIndex = utils.ValueToInt(index, 0) } data.Cid = user.Pid data.SubjectCategoryid = ctx.URLParam("subject_categoryid") data.Subjecttext = ctx.URLParam("subjecttext") data.Level,_ = ctx.URLParamInt("level") ids := ctx.URLParam("id") result, count, err := data.GetPage(pageSize, pageIndex,ids) if err != nil { supports.Error(ctx, iris.StatusBadRequest, "抱歉未找到相关信息", nil) return } res := make(map[string]interface{}) res["data"] = result res["count"] = count res["pageIndex"] = pageIndex res["pageSize"] = pageSize supports.Ok(ctx, supports.OptionSuccess, res) } func GetSubject(ctx iris.Context) { user, ok := jwts.ParseToken(ctx) utils.TrimStruct(user, *user) if !ok { supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil) return } me := new(models.Subject) me.Cid = user.Pid me.Subjectid = ctx.URLParam("subjectid") result, err := me.SelectOne() if err != nil { supports.Error(ctx, iris.StatusBadRequest, "抱歉未找到相关信息", nil) return } result.Clipped() supports.Ok(ctx, supports.OptionSuccess, result) } func InsertSubject(ctx iris.Context) { user, ok := jwts.ParseToken(ctx) utils.TrimStruct(user, *user) if !ok { supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil) return } //日志 logs := new(models.LeitServerLog) logs.File = "/controllers/Subject_controller.go" logs.Level = "info" logs.Function = "InsertSubject" logs.Message = "添加问题" logs.Operator = user.Userid logs.TimeStamp = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss") logs.InsertRecord() data := new(models.Subject) data.Lastmodifyby = user.Userid data.Createtime = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss") data.Lastmodifytime = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss") if err := ctx.ReadJSON(data); err != nil { logs := new(models.LeitServerLog) logs.File = "/controllers/Subject_controller.go" logs.Level = "debug" logs.Function = "InsertSubject" logs.Message = error.Error(err) logs.Operator = user.Userid logs.TimeStamp = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss") logs.InsertRecord() supports.Error(ctx, iris.StatusBadRequest, "json解析错误", nil) return } data.Cid = user.Pid err := data.Add() if err != nil { supports.Error(ctx, iris.StatusBadRequest, "添加失败!", nil) return } supports.Ok(ctx, supports.OptionSuccess, data) } func UpdateSubject(ctx iris.Context) { user, ok := jwts.ParseToken(ctx) utils.TrimStruct(user, *user) if !ok { supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil) return } //日志 logs := new(models.LeitServerLog) logs.File = "/controllers/Subject_controller.go" logs.Level = "info" logs.Function = "UpdateSubject" logs.Message = "更新问题" logs.Operator = user.Userid logs.TimeStamp = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss") logs.InsertRecord() data := new(models.Subject) if err := ctx.ReadJSON(data); err != nil { supports.Error(ctx, iris.StatusBadRequest, "抱歉未找到相关信息", nil) return } data.Lastmodifyby = user.Userid res := data.Update() if !res { supports.Error(ctx, iris.StatusBadRequest, "更新失败", nil) return } supports.Ok(ctx, "修改成功", "") } func DeleteSubject(ctx iris.Context) { user, ok := jwts.ParseToken(ctx) utils.TrimStruct(user, *user) if !ok { supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil) return } //日志 logs := new(models.LeitServerLog) logs.File = "/controllers/Subject_controller.go" logs.Level = "info" logs.Function = "DeleteSubject" logs.Message = "删除问题" logs.Operator = user.Userid logs.TimeStamp = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss") logs.InsertRecord() me := new(models.Subject) me.Cid = user.Pid me.Subjectid = ctx.URLParam("subjectid") res := me.Del() if !res { supports.Error(ctx, iris.StatusBadRequest, "删除失败", nil) return } supports.Ok(ctx, "删除成功", "") } //上传图片 func UploadSubject(ctx iris.Context) { //获取通过iris.WithPostMaxMemory获取的最大上传值大小。 maxSize := ctx.Application().ConfigurationReadOnly().GetPostMaxMemory() err := ctx.Request().ParseMultipartForm(maxSize) if err != nil { ctx.StatusCode(iris.StatusInternalServerError) ctx.WriteString(err.Error()) return } form := ctx.Request().MultipartForm files := form.File["media"] filPaths := "" for _, file := range files { filename := strings.Split(file.Filename,".") filetype := filename[1] guid := utils.MakeOrderSn("Pic") filPath := "public/uploadfile/" + guid + "." +filetype savePath := "web/public/uploadfile/" + guid + "." +filetype savePath, _ = utils.GetCurrentPath(savePath) // 上传文件至指定目录 err := utils.SaveUploadedFile(file, savePath) if err != nil { glog.InfoExtln("上传", err) return } filPaths += filPath + "," } filPaths = strings.Trim(filPaths, ",") supports.Ok(ctx, "成功", filPaths) } func SubjectArr(ctx iris.Context) { user, ok := jwts.ParseToken(ctx) utils.TrimStruct(user, *user) if !ok { supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil) return } me := new(models.Subject) me.Cid = user.Pid me.SubjectCategoryid = "基本信息" result, err := me.SelectArr() if err != nil { supports.Error(ctx, iris.StatusBadRequest, "抱歉未找到相关信息", nil) return } supports.Ok(ctx, supports.OptionSuccess, result) }