沈阳玫苑物业管理后端
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.

225 lines
6.3 KiB

  1. package controllers
  2. import (
  3. "github.com/kataras/iris"
  4. "lapp_-wy/utils"
  5. "lapp_-wy/web/middleware/glog"
  6. "lapp_-wy/web/middleware/jwts"
  7. "lapp_-wy/web/models"
  8. "lapp_-wy/web/supports"
  9. "strings"
  10. "time"
  11. )
  12. func GetSubjectList(ctx iris.Context) {
  13. user, ok := jwts.ParseToken(ctx)
  14. utils.TrimStruct(user, *user)
  15. if !ok {
  16. supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil)
  17. return
  18. }
  19. //日志
  20. logs := new(models.LeitServerLog)
  21. logs.File = "/controllers/Subject_controller.go"
  22. logs.Level = "info"
  23. logs.Function = "GetSubjectList"
  24. logs.Message = "问题查看"
  25. logs.Operator = user.Userid
  26. logs.TimeStamp = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss")
  27. logs.InsertRecord()
  28. var data models.Subject
  29. var err error
  30. var pageSize = 10
  31. var pageIndex = 1
  32. if size := ctx.URLParam("pageSize"); size != "" {
  33. pageSize = utils.ValueToInt(size, 0)
  34. }
  35. if index := ctx.URLParam("pageIndex"); index != "" {
  36. pageIndex = utils.ValueToInt(index, 0)
  37. }
  38. data.Cid = user.Pid
  39. data.SubjectCategoryid = ctx.URLParam("subject_categoryid")
  40. data.Subjecttext = ctx.URLParam("subjecttext")
  41. data.Level,_ = ctx.URLParamInt("level")
  42. ids := ctx.URLParam("id")
  43. result, count, err := data.GetPage(pageSize, pageIndex,ids)
  44. if err != nil {
  45. supports.Error(ctx, iris.StatusBadRequest, "抱歉未找到相关信息", nil)
  46. return
  47. }
  48. res := make(map[string]interface{})
  49. res["data"] = result
  50. res["count"] = count
  51. res["pageIndex"] = pageIndex
  52. res["pageSize"] = pageSize
  53. supports.Ok(ctx, supports.OptionSuccess, res)
  54. }
  55. func GetSubject(ctx iris.Context) {
  56. user, ok := jwts.ParseToken(ctx)
  57. utils.TrimStruct(user, *user)
  58. if !ok {
  59. supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil)
  60. return
  61. }
  62. me := new(models.Subject)
  63. me.Cid = user.Pid
  64. me.Subjectid = ctx.URLParam("subjectid")
  65. result, err := me.SelectOne()
  66. if err != nil {
  67. supports.Error(ctx, iris.StatusBadRequest, "抱歉未找到相关信息", nil)
  68. return
  69. }
  70. result.Clipped()
  71. supports.Ok(ctx, supports.OptionSuccess, result)
  72. }
  73. func InsertSubject(ctx iris.Context) {
  74. user, ok := jwts.ParseToken(ctx)
  75. utils.TrimStruct(user, *user)
  76. if !ok {
  77. supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil)
  78. return
  79. }
  80. //日志
  81. logs := new(models.LeitServerLog)
  82. logs.File = "/controllers/Subject_controller.go"
  83. logs.Level = "info"
  84. logs.Function = "InsertSubject"
  85. logs.Message = "添加问题"
  86. logs.Operator = user.Userid
  87. logs.TimeStamp = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss")
  88. logs.InsertRecord()
  89. data := new(models.Subject)
  90. data.Lastmodifyby = user.Userid
  91. data.Createtime = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss")
  92. data.Lastmodifytime = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss")
  93. if err := ctx.ReadJSON(data); err != nil {
  94. logs := new(models.LeitServerLog)
  95. logs.File = "/controllers/Subject_controller.go"
  96. logs.Level = "debug"
  97. logs.Function = "InsertSubject"
  98. logs.Message = error.Error(err)
  99. logs.Operator = user.Userid
  100. logs.TimeStamp = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss")
  101. logs.InsertRecord()
  102. supports.Error(ctx, iris.StatusBadRequest, "json解析错误", nil)
  103. return
  104. }
  105. data.Cid = user.Pid
  106. err := data.Add()
  107. if err != nil {
  108. supports.Error(ctx, iris.StatusBadRequest, "添加失败!", nil)
  109. return
  110. }
  111. supports.Ok(ctx, supports.OptionSuccess, data)
  112. }
  113. func UpdateSubject(ctx iris.Context) {
  114. user, ok := jwts.ParseToken(ctx)
  115. utils.TrimStruct(user, *user)
  116. if !ok {
  117. supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil)
  118. return
  119. }
  120. //日志
  121. logs := new(models.LeitServerLog)
  122. logs.File = "/controllers/Subject_controller.go"
  123. logs.Level = "info"
  124. logs.Function = "UpdateSubject"
  125. logs.Message = "更新问题"
  126. logs.Operator = user.Userid
  127. logs.TimeStamp = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss")
  128. logs.InsertRecord()
  129. data := new(models.Subject)
  130. if err := ctx.ReadJSON(data); err != nil {
  131. supports.Error(ctx, iris.StatusBadRequest, "抱歉未找到相关信息", nil)
  132. return
  133. }
  134. data.Lastmodifyby = user.Userid
  135. res := data.Update()
  136. if !res {
  137. supports.Error(ctx, iris.StatusBadRequest, "更新失败", nil)
  138. return
  139. }
  140. supports.Ok(ctx, "修改成功", "")
  141. }
  142. func DeleteSubject(ctx iris.Context) {
  143. user, ok := jwts.ParseToken(ctx)
  144. utils.TrimStruct(user, *user)
  145. if !ok {
  146. supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil)
  147. return
  148. }
  149. //日志
  150. logs := new(models.LeitServerLog)
  151. logs.File = "/controllers/Subject_controller.go"
  152. logs.Level = "info"
  153. logs.Function = "DeleteSubject"
  154. logs.Message = "删除问题"
  155. logs.Operator = user.Userid
  156. logs.TimeStamp = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss")
  157. logs.InsertRecord()
  158. me := new(models.Subject)
  159. me.Cid = user.Pid
  160. me.Subjectid = ctx.URLParam("subjectid")
  161. res := me.Del()
  162. if !res {
  163. supports.Error(ctx, iris.StatusBadRequest, "删除失败", nil)
  164. return
  165. }
  166. supports.Ok(ctx, "删除成功", "")
  167. }
  168. //上传图片
  169. func UploadSubject(ctx iris.Context) {
  170. //获取通过iris.WithPostMaxMemory获取的最大上传值大小。
  171. maxSize := ctx.Application().ConfigurationReadOnly().GetPostMaxMemory()
  172. err := ctx.Request().ParseMultipartForm(maxSize)
  173. if err != nil {
  174. ctx.StatusCode(iris.StatusInternalServerError)
  175. ctx.WriteString(err.Error())
  176. return
  177. }
  178. form := ctx.Request().MultipartForm
  179. files := form.File["media"]
  180. filPaths := ""
  181. for _, file := range files {
  182. filename := strings.Split(file.Filename,".")
  183. filetype := filename[1]
  184. guid := utils.MakeOrderSn("Pic")
  185. filPath := "public/uploadfile/" + guid + "." +filetype
  186. savePath := "web/public/uploadfile/" + guid + "." +filetype
  187. savePath, _ = utils.GetCurrentPath(savePath)
  188. // 上传文件至指定目录
  189. err := utils.SaveUploadedFile(file, savePath)
  190. if err != nil {
  191. glog.InfoExtln("上传", err)
  192. return
  193. }
  194. filPaths += filPath + ","
  195. }
  196. filPaths = strings.Trim(filPaths, ",")
  197. supports.Ok(ctx, "成功", filPaths)
  198. }
  199. func SubjectArr(ctx iris.Context) {
  200. user, ok := jwts.ParseToken(ctx)
  201. utils.TrimStruct(user, *user)
  202. if !ok {
  203. supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil)
  204. return
  205. }
  206. me := new(models.Subject)
  207. me.Cid = user.Pid
  208. me.SubjectCategoryid = "基本信息"
  209. result, err := me.SelectArr()
  210. if err != nil {
  211. supports.Error(ctx, iris.StatusBadRequest, "抱歉未找到相关信息", nil)
  212. return
  213. }
  214. supports.Ok(ctx, supports.OptionSuccess, result)
  215. }