document_manage_controller.go 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397
  1. // Package document_manange
  2. // @Author gmy 2024/9/19 14:09:00
  3. package document_manange
  4. import (
  5. "encoding/json"
  6. "eta/eta_mobile/controllers"
  7. "eta/eta_mobile/models"
  8. "eta/eta_mobile/models/document_manage_model"
  9. "eta/eta_mobile/services/document_manage_service"
  10. "eta/eta_mobile/utils"
  11. "strings"
  12. )
  13. // DocumentManageController 文档管理库
  14. type DocumentManageController struct {
  15. controllers.BaseAuthController
  16. }
  17. // HandleResponseWithValidation
  18. // 处理响应和校验
  19. func HandleResponseWithValidation(this *DocumentManageController, br *models.BaseResponse) bool {
  20. defer func() {
  21. if br.ErrMsg == "" {
  22. br.IsSendEmail = false
  23. }
  24. this.Data["json"] = br
  25. this.ServeJSON()
  26. }()
  27. // 验证用户是否已登录
  28. sysUser := this.SysUser
  29. if sysUser == nil {
  30. br.Msg = "请登录"
  31. br.ErrMsg = "请登录,SysUser Is Empty"
  32. br.Ret = 408
  33. return false
  34. }
  35. return true
  36. }
  37. // DocumentClassifyList
  38. // @Title 文档分类列表
  39. // @Description 文档分类列表
  40. // @Success 200 {object} []models.ClassifyVO
  41. // @router /document/classify/list [get]
  42. func (this *DocumentManageController) DocumentClassifyList() {
  43. br := new(models.BaseResponse).Init()
  44. if !HandleResponseWithValidation(this, br) {
  45. return
  46. }
  47. sysUser := this.SysUser
  48. classifyList, err := document_manage_service.DocumentClassifyList(sysUser.AdminId)
  49. if err != nil {
  50. br.Msg = "获取分类列表失败"
  51. br.ErrMsg = "获取分类列表失败,Err:" + err.Error()
  52. return
  53. }
  54. br.Ret = 200
  55. br.Success = true
  56. br.Msg = "获取成功"
  57. br.Data = classifyList
  58. return
  59. }
  60. // DocumentCollectClassify
  61. // @Title 收藏/取消分类
  62. // @Description 收藏/取消分类
  63. // @Success 200 “操作成功”
  64. // @router /document/collect/classify [post]
  65. func (this *DocumentManageController) DocumentCollectClassify() {
  66. br := new(models.BaseResponse).Init()
  67. if !HandleResponseWithValidation(this, br) {
  68. return
  69. }
  70. sysUser := this.SysUser
  71. type collectClassify struct {
  72. ClassifyId int `json:"ClassifyId"`
  73. }
  74. var req *collectClassify
  75. if e := json.Unmarshal(this.Ctx.Input.RequestBody, &req); e != nil {
  76. br.Msg = "参数解析异常!"
  77. br.ErrMsg = "参数解析失败,Err:" + e.Error()
  78. return
  79. }
  80. err := document_manage_service.DocumentCollectClassify(req.ClassifyId, sysUser.AdminId)
  81. if err != nil {
  82. br.Msg = "收藏分类失败"
  83. br.ErrMsg = "收藏分类失败,Err:" + err.Error()
  84. return
  85. }
  86. br.Ret = 200
  87. br.Success = true
  88. br.Msg = "操作成功"
  89. return
  90. }
  91. // DocumentVarietyList
  92. // @Title 文档品种列表
  93. // @Description 文档品种列表
  94. // @Success 200 {object} []models.ChartPermission
  95. // @router /document/variety/list [get]
  96. func (this *DocumentManageController) DocumentVarietyList() {
  97. br := new(models.BaseResponse).Init()
  98. if !HandleResponseWithValidation(this, br) {
  99. return
  100. }
  101. chartPermissionList, err := document_manage_service.DocumentVarietyList()
  102. if err != nil {
  103. br.Msg = "获取品种列表失败"
  104. br.ErrMsg = "获取品种列表失败,Err:" + err.Error()
  105. return
  106. }
  107. br.Ret = 200
  108. br.Success = true
  109. br.Msg = "获取成功"
  110. br.Data = chartPermissionList
  111. return
  112. }
  113. // DocumentReportList
  114. // @Title 文档管理库报告列表
  115. // @Description 文档管理库报告列表
  116. // @Success 200 {object} document_manage_model.OutsideReportPage
  117. // @router /document/report/list [get]
  118. func (this *DocumentManageController) DocumentReportList() {
  119. br := new(models.BaseResponse).Init()
  120. if !HandleResponseWithValidation(this, br) {
  121. return
  122. }
  123. // 文档类型 1-文档管理库 2-战研中心-pci
  124. documentType, err := this.GetInt("DocumentType")
  125. if err != nil {
  126. br.Msg = "获取文档类型失败"
  127. br.ErrMsg = "获取文档类型失败,Err:" + err.Error()
  128. return
  129. }
  130. if documentType == 0 {
  131. br.Msg = "文档类型不能为空"
  132. br.ErrMsg = "文档类型不能为空"
  133. return
  134. }
  135. chartPermissionIdString := this.GetString("ChartPermissionIdList")
  136. chartPermissionIdList := strings.Split(chartPermissionIdString, ",")
  137. classifyIdString := this.GetString("ClassifyIdList")
  138. classifyIdList := strings.Split(classifyIdString, ",")
  139. keyword := this.GetString("Keyword")
  140. orderField := this.GetString("OrderField")
  141. orderType := this.GetString("OrderType")
  142. pageSize, _ := this.GetInt("PageSize")
  143. currentIndex, _ := this.GetInt("CurrentIndex")
  144. if pageSize <= 0 {
  145. pageSize = utils.PageSize20
  146. }
  147. if currentIndex <= 0 {
  148. currentIndex = 1
  149. }
  150. documentReportPage, err := document_manage_service.DocumentReportList(documentType, chartPermissionIdList, classifyIdList, keyword, orderField, orderType, currentIndex, pageSize)
  151. if err != nil {
  152. br.Msg = "获取报告列表失败"
  153. br.ErrMsg = "获取报告列表失败,Err:" + err.Error()
  154. return
  155. }
  156. br.Ret = 200
  157. br.Success = true
  158. br.Msg = "获取成功"
  159. br.Data = documentReportPage
  160. return
  161. }
  162. // RuiSiReportList
  163. // @Title 睿思报告列表
  164. // @Description 睿思报告列表
  165. // @Success 200 {object} models.ReportListResp
  166. // @router /document/rui/si/report/list [get]
  167. func (this *DocumentManageController) RuiSiReportList() {
  168. br := new(models.BaseResponse).Init()
  169. if !HandleResponseWithValidation(this, br) {
  170. return
  171. }
  172. classifyIdFirstString := this.GetString("classifyIdFirstList")
  173. classifyIdFirstList := strings.Split(classifyIdFirstString, ",")
  174. classifyIdSecondString := this.GetString("classifyIdSecondList")
  175. classifyIdSecondList := strings.Split(classifyIdSecondString, ",")
  176. classifyIdThirdString := this.GetString("classifyIdThirdList")
  177. classifyIdThirdList := strings.Split(classifyIdThirdString, ",")
  178. keyword := this.GetString("Keyword")
  179. orderField := this.GetString("OrderField")
  180. orderType := this.GetString("OrderType")
  181. pageSize, _ := this.GetInt("PageSize")
  182. currentIndex, _ := this.GetInt("CurrentIndex")
  183. if pageSize <= 0 {
  184. pageSize = utils.PageSize20
  185. }
  186. if currentIndex <= 0 {
  187. currentIndex = 1
  188. }
  189. RuiSiReportPage, err := document_manage_service.RuiSiReportList(classifyIdFirstList, classifyIdSecondList, classifyIdThirdList, keyword, orderField, orderType, currentIndex, pageSize)
  190. if err != nil {
  191. br.Msg = "获取报告列表失败"
  192. br.ErrMsg = "获取报告列表失败,Err:" + err.Error()
  193. return
  194. }
  195. br.Ret = 200
  196. br.Success = true
  197. br.Msg = "获取成功"
  198. br.Data = RuiSiReportPage
  199. return
  200. }
  201. // DocumentRuiSiDetail
  202. // @Title 睿思报告详情
  203. // @Description 睿思报告详情
  204. // @Success 200 “获取成功”
  205. // @router /document/rui/si/detail [get]
  206. func (this *DocumentManageController) DocumentRuiSiDetail() {
  207. br := new(models.BaseResponse).Init()
  208. if !HandleResponseWithValidation(this, br) {
  209. return
  210. }
  211. // 获取指标数据列表
  212. this.GetString("DocumentRuiSiDetail")
  213. reportId, err := this.GetInt("ReportId")
  214. if err != nil {
  215. br.Msg = "获取报告ID失败"
  216. br.ErrMsg = "获取报告ID失败,Err:" + err.Error()
  217. return
  218. }
  219. reportDetail, err := document_manage_service.DocumentRuiSiDetail(reportId)
  220. if err != nil {
  221. return
  222. }
  223. br.Ret = 200
  224. br.Success = true
  225. br.Msg = "获取成功"
  226. br.Data = &reportDetail
  227. return
  228. }
  229. // DocumentSave
  230. // @Title 新建文档
  231. // @Description 新建文档
  232. // @Success 200 “操作成功”
  233. // @router /document/save [post]
  234. func (this *DocumentManageController) DocumentSave() {
  235. br := new(models.BaseResponse).Init()
  236. if !HandleResponseWithValidation(this, br) {
  237. return
  238. }
  239. sysUser := this.SysUser
  240. var req *document_manage_model.OutsideReportBO
  241. if e := json.Unmarshal(this.Ctx.Input.RequestBody, &req); e != nil {
  242. br.Msg = "参数解析异常!"
  243. br.ErrMsg = "参数解析失败,Err:" + e.Error()
  244. return
  245. }
  246. req.SysUserId = sysUser.AdminId
  247. req.SysUserName = sysUser.AdminName
  248. err := document_manage_service.DocumentSave(req)
  249. if err != nil {
  250. br.Msg = "保存文档失败"
  251. br.ErrMsg = "保存文档失败,Err:" + err.Error()
  252. return
  253. }
  254. br.Ret = 200
  255. br.Success = true
  256. br.Msg = "操作成功"
  257. return
  258. }
  259. // DocumentDetail
  260. // @Title 文档详情
  261. // @Description 文档详情
  262. // @Success 200 “操作成功”
  263. // @router /document/detail [get]
  264. func (this *DocumentManageController) DocumentDetail() {
  265. br := new(models.BaseResponse).Init()
  266. if !HandleResponseWithValidation(this, br) {
  267. return
  268. }
  269. // 获取指标数据列表
  270. this.GetString("ChartPermissionId")
  271. outsideReportId, err := this.GetInt("OutsideReportId")
  272. if err != nil {
  273. br.Msg = "获取报告ID失败"
  274. br.ErrMsg = "获取报告ID失败,Err:" + err.Error()
  275. return
  276. }
  277. reportDetail, err := document_manage_service.DocumentReportDetail(outsideReportId)
  278. if err != nil {
  279. return
  280. }
  281. br.Ret = 200
  282. br.Success = true
  283. br.Msg = "获取成功"
  284. br.Data = &reportDetail
  285. return
  286. }
  287. // DocumentUpdate
  288. // @Title 编辑文档
  289. // @Description 编辑文档
  290. // @Success 200 “操作成功”
  291. // @router /document/update [post]
  292. func (this *DocumentManageController) DocumentUpdate() {
  293. br := new(models.BaseResponse).Init()
  294. if !HandleResponseWithValidation(this, br) {
  295. return
  296. }
  297. var req *document_manage_model.OutsideReportBO
  298. if e := json.Unmarshal(this.Ctx.Input.RequestBody, &req); e != nil {
  299. br.Msg = "参数解析异常!"
  300. br.ErrMsg = "参数解析失败,Err:" + e.Error()
  301. return
  302. }
  303. err := document_manage_service.DocumentUpdate(req)
  304. if err != nil {
  305. br.Msg = "修改文档失败"
  306. br.ErrMsg = "修改文档失败,Err:" + err.Error()
  307. return
  308. }
  309. br.Ret = 200
  310. br.Success = true
  311. br.Msg = "操作成功"
  312. return
  313. }
  314. // DocumentDelete
  315. // @Title 删除文档
  316. // @Description 删除文档
  317. // @Success 200 “操作成功”
  318. // @router /document/delete [post]
  319. func (this *DocumentManageController) DocumentDelete() {
  320. br := new(models.BaseResponse).Init()
  321. if !HandleResponseWithValidation(this, br) {
  322. return
  323. }
  324. type DocumentDelete struct {
  325. OutsideReportId int `json:"OutsideReportId"`
  326. }
  327. var req *DocumentDelete
  328. if e := json.Unmarshal(this.Ctx.Input.RequestBody, &req); e != nil {
  329. br.Msg = "参数解析异常!"
  330. br.ErrMsg = "参数解析失败,Err:" + e.Error()
  331. return
  332. }
  333. err := document_manage_service.DocumentDelete(req.OutsideReportId)
  334. if err != nil {
  335. br.Msg = "删除文档失败"
  336. br.ErrMsg = "删除文档失败,Err:" + err.Error()
  337. return
  338. }
  339. br.Ret = 200
  340. br.Success = true
  341. br.Msg = "操作成功"
  342. return
  343. }