沈阳玫苑物业管理后端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

226 lines
6.3 KiB

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)
}