manual.go 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749
  1. package data_manage
  2. import (
  3. "encoding/json"
  4. "eta_gn/eta_api/controllers"
  5. "eta_gn/eta_api/models"
  6. "eta_gn/eta_api/models/data_manage"
  7. "eta_gn/eta_api/models/system"
  8. "eta_gn/eta_api/services"
  9. "eta_gn/eta_api/utils"
  10. "fmt"
  11. "strconv"
  12. "strings"
  13. "time"
  14. )
  15. // 手工数据管理
  16. type ManualController struct {
  17. controllers.BaseAuthController
  18. }
  19. // @Title 手工数据权限用户搜索
  20. // @Description 手工数据权限用户搜索
  21. // @Param KeyWord query string false "关键词搜索"
  22. // @Success 200 {object} data_manage.ManualSysUser
  23. // @router /manual/sysuser/search [get]
  24. func (this *ManualController) ManualSysUserSearch() {
  25. br := new(models.BaseResponse).Init()
  26. defer func() {
  27. this.Data["json"] = br
  28. this.ServeJSON()
  29. }()
  30. sysUser := this.SysUser
  31. if sysUser == nil {
  32. br.Msg = "请登录"
  33. br.Ret = 408
  34. return
  35. }
  36. keyWord := this.GetString("KeyWord")
  37. //list, err := data.GetManualSysUser(keyWord)
  38. //if err != nil {
  39. // br.Msg = "获取失败"
  40. // br.ErrMsg = "获取失败,Err:" + err.Error()
  41. // return
  42. //}
  43. resp := make([]*data_manage.ManualSysUser, 0)
  44. departments, e := system.GetSysDepartmentAll()
  45. if e != nil {
  46. br.Msg = "获取失败"
  47. br.ErrMsg = fmt.Sprintf("获取部门失败, %v", e)
  48. return
  49. }
  50. groups, e := system.GetFullGroup()
  51. if e != nil {
  52. br.Msg = "获取失败"
  53. br.ErrMsg = fmt.Sprintf("获取分组失败, %v", e)
  54. return
  55. }
  56. users := make([]*system.AdminItem, 0)
  57. {
  58. var cond string
  59. var pars []interface{}
  60. if keyWord != "" {
  61. cond += ` AND (real_name LIKE ? OR admin_name LIKE ? OR mobile LIKE ? ) `
  62. pars = utils.GetLikeKeywordPars(pars, keyWord, 3)
  63. }
  64. sysUsers, e := system.GetSysUserItems(cond, pars)
  65. if e != nil {
  66. br.Msg = "获取失败"
  67. br.ErrMsg = fmt.Sprintf("获取用户失败, %v", e)
  68. return
  69. }
  70. users = sysUsers
  71. }
  72. // 用户map
  73. departmentAdmins := make(map[int][]*system.DepartmentUserTree, 0)
  74. groupAdmins := make(map[int][]*system.DepartmentUserTree, 0)
  75. for _, v := range users {
  76. t := new(system.DepartmentUserTree)
  77. t.NodeId = v.AdminId
  78. t.NodeType = 3
  79. t.NodeName = v.RealName
  80. t.Children = make([]*system.DepartmentUserTree, 0)
  81. if groupAdmins[v.GroupId] == nil {
  82. groupAdmins[v.GroupId] = make([]*system.DepartmentUserTree, 0)
  83. }
  84. groupAdmins[v.GroupId] = append(groupAdmins[v.GroupId], t)
  85. // 直属于部门
  86. if v.GroupId == 0 {
  87. if departmentAdmins[v.DepartmentId] == nil {
  88. departmentAdmins[v.DepartmentId] = make([]*system.DepartmentUserTree, 0)
  89. }
  90. departmentAdmins[v.DepartmentId] = append(departmentAdmins[v.DepartmentId], t)
  91. }
  92. }
  93. // 构建分组树(以前这里还有个keyword匹配,不知道用作干嘛的,先去掉吧)
  94. groupTree := services.BuildGroupTreeV2(groups, groupAdmins)
  95. // 部门
  96. list := make([]*system.DepartmentUserTree, 0)
  97. for _, v := range departments {
  98. // 关键词查询时不显示空部门
  99. if keyWord != "" && groupTree[v.DepartmentId] == nil && departmentAdmins[v.DepartmentId] == nil {
  100. continue
  101. }
  102. t := new(system.DepartmentUserTree)
  103. t.NodeId = v.DepartmentId
  104. t.NodeType = 1
  105. t.NodeName = v.DepartmentName
  106. t.Children = make([]*system.DepartmentUserTree, 0)
  107. if groupTree[v.DepartmentId] != nil {
  108. t.Children = append(t.Children, groupTree[v.DepartmentId]...)
  109. }
  110. if departmentAdmins[v.DepartmentId] != nil {
  111. t.Children = append(t.Children, departmentAdmins[v.DepartmentId]...)
  112. }
  113. list = append(list, t)
  114. }
  115. resp = ConvertDepartmentUserTree(list)
  116. br.Ret = 200
  117. br.Success = true
  118. br.Msg = "获取成功"
  119. br.Data = resp
  120. }
  121. func ConvertDepartmentUserTree(users []*system.DepartmentUserTree) []*data_manage.ManualSysUser {
  122. result := make([]*data_manage.ManualSysUser, 0, len(users))
  123. if users == nil || len(users) == 0 {
  124. return result
  125. }
  126. for _, user := range users {
  127. result = append(result, &data_manage.ManualSysUser{
  128. ItemId: user.NodeId,
  129. ItemName: user.NodeName,
  130. Children: ConvertDepartmentUserTree(user.Children),
  131. })
  132. }
  133. return result
  134. }
  135. func (this *ManualController) ManualSysUserSearchBak() {
  136. br := new(models.BaseResponse).Init()
  137. defer func() {
  138. this.Data["json"] = br
  139. this.ServeJSON()
  140. }()
  141. sysUser := this.SysUser
  142. if sysUser == nil {
  143. br.Msg = "请登录"
  144. br.Ret = 408
  145. return
  146. }
  147. keyWord := this.GetString("KeyWord")
  148. //list, err := data.GetManualSysUser(keyWord)
  149. //if err != nil {
  150. // br.Msg = "获取失败"
  151. // br.ErrMsg = "获取失败,Err:" + err.Error()
  152. // return
  153. //}
  154. resp := make([]*data_manage.ManualSysUser, 0)
  155. departments, e := system.GetSysDepartmentAll()
  156. if e != nil {
  157. br.Msg = "获取失败"
  158. br.ErrMsg = fmt.Sprintf("获取部门失败, %v", e)
  159. return
  160. }
  161. groups, e := system.GetSysGroupList()
  162. if e != nil {
  163. br.Msg = "获取失败"
  164. br.ErrMsg = fmt.Sprintf("获取分组失败, %v", e)
  165. return
  166. }
  167. users := make([]*system.AdminItem, 0)
  168. {
  169. var cond string
  170. var pars []interface{}
  171. if keyWord != "" {
  172. cond += ` AND (real_name LIKE ? OR admin_name LIKE ? OR mobile LIKE ? ) `
  173. pars = utils.GetLikeKeywordPars(pars, keyWord, 3)
  174. }
  175. sysUsers, e := system.GetSysUserItems(cond, pars)
  176. if e != nil {
  177. br.Msg = "获取失败"
  178. br.ErrMsg = fmt.Sprintf("获取用户失败, %v", e)
  179. return
  180. }
  181. users = sysUsers
  182. }
  183. // 用户组
  184. groupUser := make(map[int][]*data_manage.ManualSysUser)
  185. departNullUser := make(map[int][]*data_manage.ManualSysUser) // 部门下无分组的用户
  186. for _, v := range users {
  187. t := new(data_manage.ManualSysUser)
  188. t.ItemId = v.AdminId
  189. t.ItemName = v.RealName
  190. if v.GroupId == 0 {
  191. if departNullUser[v.DepartmentId] == nil {
  192. departNullUser[v.DepartmentId] = make([]*data_manage.ManualSysUser, 0)
  193. }
  194. departNullUser[v.DepartmentId] = append(departNullUser[v.DepartmentId], t)
  195. continue
  196. }
  197. if groupUser[v.GroupId] == nil {
  198. groupUser[v.GroupId] = make([]*data_manage.ManualSysUser, 0)
  199. }
  200. groupUser[v.GroupId] = append(groupUser[v.GroupId], t)
  201. }
  202. // 部门分组
  203. departmentGroup := make(map[int][]*data_manage.ManualSysUser)
  204. for _, v := range groups {
  205. if v.ParentId > 0 {
  206. continue
  207. }
  208. group := new(data_manage.ManualSysUser)
  209. group.ItemId = v.DepartmentId * 100000
  210. group.ItemName = v.GroupName
  211. gu := groupUser[v.GroupId]
  212. if len(gu) == 0 {
  213. continue
  214. }
  215. group.Children = gu
  216. if departmentGroup[v.DepartmentId] == nil {
  217. departmentGroup[v.DepartmentId] = make([]*data_manage.ManualSysUser, 0)
  218. }
  219. departmentGroup[v.DepartmentId] = append(departmentGroup[v.DepartmentId], group)
  220. }
  221. // 合并数据
  222. for _, v := range departments {
  223. department := new(data_manage.ManualSysUser)
  224. department.ItemId = v.DepartmentId * 10000
  225. department.ItemName = v.DepartmentName
  226. dg := departmentGroup[v.DepartmentId]
  227. if len(dg) > 0 {
  228. department.Children = dg
  229. } else {
  230. // 未分组
  231. group := new(data_manage.ManualSysUser)
  232. group.ItemId = v.DepartmentId * 100000
  233. group.ItemName = "无分组"
  234. du := departNullUser[v.DepartmentId]
  235. if du != nil && len(du) > 0 {
  236. group.Children = du
  237. department.Children = append(department.Children, group)
  238. }
  239. }
  240. if len(department.Children) == 0 {
  241. continue
  242. }
  243. resp = append(resp, department)
  244. }
  245. br.Ret = 200
  246. br.Success = true
  247. br.Msg = "获取成功"
  248. br.Data = resp
  249. }
  250. // @Title 获取手工数据权限用户
  251. // @Description 获取手工数据权限用户
  252. // @Success 200 {object} data_manage.ManualUserList
  253. // @router /manual/sysuser/all [get]
  254. func (this *ManualController) ManualSysUserAll() {
  255. br := new(models.BaseResponse).Init()
  256. defer func() {
  257. this.Data["json"] = br
  258. this.ServeJSON()
  259. }()
  260. sysUser := this.SysUser
  261. if sysUser == nil {
  262. br.Msg = "请登录"
  263. br.Ret = 408
  264. return
  265. }
  266. fmt.Println("start")
  267. list, err := data_manage.GetManualUserList()
  268. if err != nil {
  269. br.Msg = "获取失败"
  270. br.ErrMsg = "获取失败,Err:" + err.Error()
  271. return
  272. }
  273. fmt.Println("end")
  274. br.Ret = 200
  275. br.Success = true
  276. br.Msg = "获取成功"
  277. br.Data = list
  278. }
  279. // @Title 获取所有手工数据分类
  280. // @Description 获取所有手工数据分类
  281. // @Param AdminId query int false "初始化,AdminId 传0,如果对应具体用户,传对应的id"
  282. // @Success 200 {object} data_manage.ManualClassifyList
  283. // @router /manual/classify/all [get]
  284. func (this *ManualController) ClassifyList() {
  285. br := new(models.BaseResponse).Init()
  286. defer func() {
  287. this.Data["json"] = br
  288. this.ServeJSON()
  289. }()
  290. sysUser := this.SysUser
  291. if sysUser == nil {
  292. br.Msg = "请登录"
  293. br.Ret = 408
  294. return
  295. }
  296. adminId, _ := this.GetInt("AdminId")
  297. list, err := data_manage.GetManualClassifyAll(adminId)
  298. if err != nil {
  299. br.Msg = "获取失败"
  300. br.ErrMsg = "获取失败,Err:" + err.Error()
  301. return
  302. }
  303. br.Ret = 200
  304. br.Success = true
  305. br.Msg = "获取成功"
  306. br.Data = list
  307. }
  308. // @Title 保存手工数据权限-用户对应分类
  309. // @Description 保存手工数据权限-用户对应分类
  310. // @Param request body data_manage.ManualSysUserClassifySaveReq true "type json string"
  311. // @Success Ret=200 保存成功
  312. // @router /manual/sysuser/classify/save [post]
  313. func (this *ManualController) ManualSysUserClassifySave() {
  314. br := new(models.BaseResponse).Init()
  315. defer func() {
  316. this.Data["json"] = br
  317. this.ServeJSON()
  318. }()
  319. sysUser := this.SysUser
  320. if sysUser == nil {
  321. br.Msg = "请登录"
  322. br.Ret = 408
  323. return
  324. }
  325. var req data_manage.ManualSysUserClassifySaveReq
  326. err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
  327. if err != nil {
  328. br.Msg = "参数解析异常!"
  329. br.ErrMsg = "参数解析失败,Err:" + err.Error()
  330. return
  331. }
  332. if req.AdminId <= 0 {
  333. br.Msg = "参数错误!"
  334. return
  335. }
  336. sysUserItem, err := system.GetSysUserById(req.AdminId)
  337. if err != nil {
  338. br.Msg = "获取用户信息失败!"
  339. br.ErrMsg = "获取用户信息失败,Err:" + err.Error()
  340. return
  341. }
  342. err = data_manage.DeleteManualUserClassifyCount(req.AdminId)
  343. if err != nil {
  344. br.Msg = "保存失败!"
  345. br.ErrMsg = "删除用户分类信息失败,Err:" + err.Error()
  346. return
  347. }
  348. list := make([]*data_manage.ManualUserClassify, 0)
  349. for _, v := range req.ClassifyId {
  350. item := new(data_manage.ManualUserClassify)
  351. item.AdminId = req.AdminId
  352. item.ClassifyId = v
  353. item.CreateTime = time.Now()
  354. list = append(list, item)
  355. }
  356. if len(list) > 0 {
  357. err = data_manage.AddManualUserClassifyMulti(list)
  358. if err != nil {
  359. br.Msg = "保存失败!"
  360. br.ErrMsg = "保存失败,Err:" + err.Error()
  361. return
  362. }
  363. }
  364. count, err := data_manage.GetManualUserCount(req.AdminId)
  365. if err != nil {
  366. br.Msg = "保存失败!"
  367. br.ErrMsg = "判断用户是否存在失败,Err:" + err.Error()
  368. return
  369. }
  370. if count <= 0 {
  371. manualUser := new(data_manage.ManualUser)
  372. manualUser.AdminId = req.AdminId
  373. manualUser.CreateTime = time.Now()
  374. manualUser.SysUserId = sysUser.AdminId
  375. manualUser.AdminRealName = sysUserItem.RealName
  376. manualUser.SysUserRealName = sysUser.RealName
  377. err = data_manage.AddManualUser(manualUser)
  378. if err != nil {
  379. br.Msg = "保存失败!"
  380. br.ErrMsg = "保存用户信息失败,Err:" + err.Error()
  381. return
  382. }
  383. }
  384. br.Ret = 200
  385. br.Success = true
  386. br.Msg = "保存成功"
  387. }
  388. // AddManualClassify
  389. // @Title 新增手工指标分类
  390. // @Description 新增手工指标分类接口
  391. // @Param request body data_manage.AddManualClassifyReq true "type json string"
  392. // @Success 200 Ret=200 保存成功
  393. // @router /manual/classify/add [post]
  394. func (this *ChartClassifyController) AddManualClassify() {
  395. br := new(models.BaseResponse).Init()
  396. defer func() {
  397. this.Data["json"] = br
  398. this.ServeJSON()
  399. }()
  400. var req data_manage.AddManualClassifyReq
  401. err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
  402. if err != nil {
  403. br.Msg = "参数解析异常!"
  404. br.ErrMsg = "参数解析失败,Err:" + err.Error()
  405. return
  406. }
  407. if req.ClassifyName == "" {
  408. br.Msg = "请输入分类名称"
  409. br.IsSendEmail = false
  410. return
  411. }
  412. if req.ParentId < 0 {
  413. br.Msg = "参数错误"
  414. br.IsSendEmail = false
  415. return
  416. }
  417. classifyItem, err := data_manage.GetManualClassifyByClassifyName(req.ClassifyName)
  418. if err != nil && !utils.IsErrNoRow(err) {
  419. br.Msg = "判断名称是否已存在失败"
  420. br.ErrMsg = "判断名称是否已存在失败,Err:" + err.Error()
  421. return
  422. }
  423. if classifyItem != nil {
  424. if classifyItem.IsShow == 1 {
  425. br.Msg = "分类名称已存在,请重新输入"
  426. br.IsSendEmail = false
  427. return
  428. } else {
  429. err = data_manage.ModifyManualClassifyIsShow(1, classifyItem.ClassifyId, req.ParentId)
  430. if err != nil {
  431. br.Msg = "保存失败"
  432. br.ErrMsg = "保存失败,Err:" + err.Error()
  433. br.IsSendEmail = false
  434. return
  435. }
  436. parentItem, _ := data_manage.GetManualClassifyById(req.ParentId)
  437. if parentItem != nil && parentItem.IsShow == 0 {
  438. err = data_manage.ModifyManualClassifyIsShow(1, parentItem.ClassifyId, req.ParentId)
  439. if err != nil {
  440. br.Msg = "保存失败"
  441. br.ErrMsg = "保存失败,Err:" + err.Error()
  442. br.IsSendEmail = false
  443. return
  444. }
  445. }
  446. br.Msg = "保存成功"
  447. br.Success = true
  448. br.Ret = 200
  449. return
  450. }
  451. }
  452. classify := new(data_manage.EdbdataClassify)
  453. classify.IsShow = 1
  454. classify.ClassifyName = req.ClassifyName
  455. classify.ParentId = req.ParentId
  456. classify.CreateTime = time.Now()
  457. classify.Sort = 0
  458. _, err = data_manage.AddEdbdataClassify(classify)
  459. if err != nil {
  460. br.Msg = "保存失败"
  461. br.ErrMsg = "保存失败,Err:" + err.Error()
  462. br.IsSendEmail = false
  463. return
  464. }
  465. br.Ret = 200
  466. br.Msg = "保存成功"
  467. br.Success = true
  468. }
  469. // ManualClassifyEdit
  470. // @Title 修改手工指标分类
  471. // @Description 修改手工指标分类接口
  472. // @Param request body data_manage.EditManualClassifyReq true "type json string"
  473. // @Success 200 Ret=200 修改成功
  474. // @router /manual/classify/edit [post]
  475. func (this *ChartClassifyController) ManualClassifyEdit() {
  476. br := new(models.BaseResponse).Init()
  477. defer func() {
  478. this.Data["json"] = br
  479. this.ServeJSON()
  480. }()
  481. var req data_manage.EditManualClassifyReq
  482. err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
  483. if err != nil {
  484. br.Msg = "参数解析异常!"
  485. br.ErrMsg = "参数解析失败,Err:" + err.Error()
  486. return
  487. }
  488. if req.ClassifyName == "" {
  489. br.Msg = "请输入分类名称"
  490. br.IsSendEmail = false
  491. return
  492. }
  493. if req.ClassifyId <= 0 {
  494. br.Msg = "参数错误"
  495. br.IsSendEmail = false
  496. return
  497. }
  498. item, err := data_manage.GetManualClassifyById(req.ClassifyId)
  499. if err != nil {
  500. br.Msg = "修改失败"
  501. br.ErrMsg = "获取分类失败,Err:" + err.Error()
  502. return
  503. }
  504. classifyItem, err := data_manage.GetManualClassifyByClassifyName(req.ClassifyName)
  505. if err != nil && !utils.IsErrNoRow(err) {
  506. br.Msg = "修改失败"
  507. br.ErrMsg = "判断名称是否已存在失败,Err:" + err.Error()
  508. return
  509. }
  510. if classifyItem != nil {
  511. if item.ClassifyId != classifyItem.ClassifyId {
  512. br.Msg = "名称已存在,请重新输入"
  513. return
  514. }
  515. }
  516. err = data_manage.ModifyManualClassifyName(req.ClassifyName, req.ClassifyId, req.ParentId)
  517. if err != nil {
  518. br.Msg = "修改失败"
  519. br.ErrMsg = "修改失败,Err:" + err.Error()
  520. return
  521. }
  522. br.Ret = 200
  523. br.Msg = "修改成功"
  524. br.Success = true
  525. }
  526. // ManualClassifyDel
  527. // @Title 删除手工指标分类
  528. // @Description 删除手工指标分类接口
  529. // @Param request body data_manage.DelManualClassifyReq true "type json string"
  530. // @Success 200 Ret=200 删除成功
  531. // @router /manual/classify/delete [post]
  532. func (this *ChartClassifyController) ManualClassifyDel() {
  533. br := new(models.BaseResponse).Init()
  534. defer func() {
  535. this.Data["json"] = br
  536. this.ServeJSON()
  537. }()
  538. var req data_manage.DelManualClassifyReq
  539. err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
  540. if err != nil {
  541. br.Msg = "参数解析异常!"
  542. br.ErrMsg = "参数解析失败,Err:" + err.Error()
  543. return
  544. }
  545. if req.ClassifyId <= 0 {
  546. br.Msg = "请选择分类"
  547. br.IsSendEmail = false
  548. return
  549. }
  550. classifyItem, err := data_manage.GetManualClassifyById(req.ClassifyId)
  551. if err != nil && !utils.IsErrNoRow(err) {
  552. br.Msg = "查找分类失败"
  553. br.ErrMsg = "查找分类失败,Err:" + err.Error()
  554. return
  555. }
  556. if classifyItem.IsShow == 0 {
  557. br.Msg = "该分类已删除"
  558. br.IsSendEmail = false
  559. return
  560. }
  561. // 获取当前分类下是否存在子分类
  562. count, err := data_manage.GetChildManualClassifyCount(req.ClassifyId)
  563. if err != nil && !utils.IsErrNoRow(err) {
  564. br.Msg = "删除失败"
  565. br.ErrMsg = "根据分类id获取下面存在的子分类数量失败,Err:" + err.Error()
  566. return
  567. }
  568. if count > 0 {
  569. br.Msg = "该分类下包含子分类,不允许删除!"
  570. br.IsSendEmail = false
  571. return
  572. }
  573. if classifyItem.ParentId > 0 {
  574. // 获取当前分类下的指标数
  575. count, err = data_manage.GetManualEdbInfoCountByClassifyId(req.ClassifyId)
  576. if err != nil && !utils.IsErrNoRow(err) {
  577. br.Msg = "删除失败"
  578. br.ErrMsg = "根据分类id获取下面存在的指标数量失败,Err:" + err.Error()
  579. return
  580. }
  581. if count > 0 {
  582. br.Msg = "该分类下包含指标,不允许删除!"
  583. br.IsSendEmail = false
  584. return
  585. }
  586. }
  587. // 修改是否展示
  588. err = data_manage.ModifyManualClassifyIsShow(0, classifyItem.ClassifyId, classifyItem.ParentId)
  589. if err != nil {
  590. br.Msg = "删除失败"
  591. br.ErrMsg = "删除失败,Err:" + err.Error()
  592. return
  593. }
  594. br.Ret = 200
  595. br.Msg = "删除成功"
  596. br.Success = true
  597. }
  598. // @Title 获取用户设置的所有分类
  599. // @Description 获取用户设置的所有分类(手工数据录入页面)
  600. // @Success 200 {object} data_manage.EdbdataClassify
  601. // @router /manual/set_classify/all [get]
  602. func (this *ManualController) ManualSetClassifyAll() {
  603. br := new(models.BaseResponse).Init()
  604. defer func() {
  605. this.Data["json"] = br
  606. this.ServeJSON()
  607. }()
  608. sysUser := this.SysUser
  609. if sysUser == nil {
  610. br.Msg = "请登录"
  611. br.Ret = 408
  612. return
  613. }
  614. adminId := sysUser.AdminId
  615. setList, err := data_manage.GetManualUserSetClassify(adminId)
  616. if err != nil {
  617. br.Msg = "获取失败"
  618. br.ErrMsg = "获取失败,Err:" + err.Error()
  619. return
  620. }
  621. listLen := len(setList)
  622. classifyArr := make([]string, 0)
  623. for i := 0; i < listLen; i++ {
  624. classifyArr = append(classifyArr, strconv.Itoa(setList[i].ClassifyId))
  625. }
  626. classifyIdStr := strings.Join(classifyArr, ",")
  627. condition := ""
  628. items := make([]*data_manage.EdbdataClassifyList, 0)
  629. if classifyIdStr != "" {
  630. condition += ` AND classify_id IN(` + classifyIdStr + `)`
  631. condition += ` AND parent_id<>0 `
  632. items, err = data_manage.GetManualClassifyAllByCondition(condition)
  633. if err != nil {
  634. br.Msg = "获取失败"
  635. br.ErrMsg = "获取失败,Err:" + err.Error()
  636. return
  637. }
  638. }
  639. classifyEdbTotalList, _ := data_manage.GetManualClassifyEdbInfoCount()
  640. edbTotalMap := make(map[int]int)
  641. for _, v := range classifyEdbTotalList {
  642. edbTotalMap[v.ClassifyId] = v.Total
  643. }
  644. itemsLen := len(items)
  645. for i := 0; i < itemsLen; i++ {
  646. items[i].Total = edbTotalMap[items[i].ClassifyId]
  647. }
  648. br.Ret = 200
  649. br.Success = true
  650. br.Msg = "获取成功"
  651. br.Data = items
  652. }
  653. // FirstClassifyList
  654. // @Title 获取所有手工数据的一级分类
  655. // @Description 获取所有手工数据的一级分类
  656. // @Success 200 {object} data_manage.ManualClassifyList
  657. // @router /manual/classify/first [get]
  658. func (this *ManualController) FirstClassifyList() {
  659. br := new(models.BaseResponse).Init()
  660. defer func() {
  661. this.Data["json"] = br
  662. this.ServeJSON()
  663. }()
  664. sysUser := this.SysUser
  665. if sysUser == nil {
  666. br.Msg = "请登录"
  667. br.Ret = 408
  668. return
  669. }
  670. condition := " AND parent_id =0 "
  671. list, err := data_manage.GetManualClassifyAllByCondition(condition)
  672. if err != nil {
  673. br.Msg = "获取失败"
  674. br.ErrMsg = "获取失败,Err:" + err.Error()
  675. return
  676. }
  677. br.Ret = 200
  678. br.Success = true
  679. br.Msg = "获取成功"
  680. br.Data = list
  681. }
  682. // AllClassifyList
  683. // @Title 获取所有手工数据分类
  684. // @Description 获取所有手工数据分类
  685. // @Success 200 {object} data_manage.ManualClassifyList
  686. // @router /manual/classify/all_list [get]
  687. func (this *ManualController) AllClassifyList() {
  688. br := new(models.BaseResponse).Init()
  689. defer func() {
  690. this.Data["json"] = br
  691. this.ServeJSON()
  692. }()
  693. sysUser := this.SysUser
  694. if sysUser == nil {
  695. br.Msg = "请登录"
  696. br.Ret = 408
  697. return
  698. }
  699. list, err := data_manage.GetManualClassifyAllV2()
  700. if err != nil {
  701. br.Msg = "获取失败"
  702. br.ErrMsg = "获取失败,Err:" + err.Error()
  703. return
  704. }
  705. br.Ret = 200
  706. br.Success = true
  707. br.Msg = "获取成功"
  708. br.Data = list
  709. }