yanxuan_special_message.go 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653
  1. package controllers
  2. import (
  3. "encoding/json"
  4. "github.com/rdlucklib/rdluck_tools/paging"
  5. "hongze/hongze_web_mfyx/models"
  6. "hongze/hongze_web_mfyx/services"
  7. "hongze/hongze_web_mfyx/utils"
  8. "time"
  9. )
  10. type YanxuanSpecialMessageController struct {
  11. BaseAuthController
  12. }
  13. // @Title 添加留言
  14. // @Description 添加留言接口
  15. // @Param request body models.AddCygxYanxuanSpecialMessageReq true "type json string"
  16. // @Success Ret=200 {object}
  17. // @router /message/add [post]
  18. func (this *YanxuanSpecialMessageController) MessageAdd() {
  19. br := new(models.BaseResponse).Init()
  20. defer func() {
  21. this.Data["json"] = br
  22. this.ServeJSON()
  23. }()
  24. user := this.User
  25. if user == nil {
  26. br.Msg = "请登录"
  27. br.ErrMsg = "请登录,用户信息为空"
  28. br.Ret = 408
  29. return
  30. }
  31. var req models.AddCygxYanxuanSpecialMessageReq
  32. err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
  33. if err != nil {
  34. br.Msg = "参数解析异常!"
  35. br.ErrMsg = "参数解析失败,Err:" + err.Error()
  36. return
  37. }
  38. yanxuanSpecialId := req.YanxuanSpecialId
  39. content := req.Content
  40. parentId := req.ParentId
  41. if content == "" {
  42. br.Msg = "请输入留言内容!"
  43. return
  44. }
  45. if yanxuanSpecialId == 0 {
  46. br.Msg = "留言失败!"
  47. br.ErrMsg = "专栏信息不能为空"
  48. return
  49. }
  50. // 研选专栏
  51. yanxuanSpecialBySpeciaDetail, err := models.GetYanxuanSpecialBySpecialId(yanxuanSpecialId)
  52. if err != nil {
  53. br.Msg = "获取信息失败"
  54. br.ErrMsg = "获取信息失败,Err:" + err.Error()
  55. return
  56. }
  57. item := new(models.CygxYanxuanSpecialMessage)
  58. item.UserId = user.UserId
  59. item.Mobile = user.Mobile
  60. item.Email = user.Email
  61. item.CompanyId = user.CompanyId
  62. item.CompanyName = user.CompanyName
  63. item.RealName = user.RealName
  64. item.SellerName, _ = services.GetSellerName(user) // 销售姓名
  65. item.YanxuanSpecialId = yanxuanSpecialId
  66. item.Content = content
  67. item.ParentId = parentId
  68. item.YanxuanSpecialUserId = yanxuanSpecialBySpeciaDetail.UserId
  69. item.SourceTitle = yanxuanSpecialBySpeciaDetail.Title
  70. item.CreateTime = time.Now()
  71. item.ModifyTime = time.Now()
  72. item.RegisterPlatform = utils.REGISTER_PLATFORM
  73. messageId, err := models.AddCygxYanxuanSpecialMessage(item)
  74. if err != nil {
  75. br.Msg = "留言失败!"
  76. br.ErrMsg = "留言失败,Err:" + err.Error()
  77. return
  78. }
  79. if parentId == 0 {
  80. go services.SendWxCategoryMsgByYanxuanSpecialMassageByAuthor(content, yanxuanSpecialBySpeciaDetail)
  81. } else {
  82. go services.SendWxCategoryMsgByYanxuanSpecialMassage(parentId, int(messageId), content, yanxuanSpecialBySpeciaDetail)
  83. }
  84. br.Ret = 200
  85. br.Success = true
  86. br.Msg = "留言成功"
  87. }
  88. // @Title 留言管理列表
  89. // @Description 留言管理列表接口
  90. // @Param PageSize query int true "每页数据条数"
  91. // @Param CurrentIndex query int true "当前页页码,从1开始"
  92. // @Param MessageType query int false "留言类型1:普通留言、2:公开留言"
  93. // @Success 200 {object} models.SpecialListResp
  94. // @router /message/manage/list [get]
  95. func (this *YanxuanSpecialMessageController) MessageManageList() {
  96. br := new(models.BaseResponse).Init()
  97. defer func() {
  98. this.Data["json"] = br
  99. this.ServeJSON()
  100. }()
  101. user := this.User
  102. if user == nil {
  103. br.Msg = "请登录"
  104. br.ErrMsg = "请登录,用户信息为空"
  105. br.Ret = 408
  106. return
  107. }
  108. pageSize, _ := this.GetInt("PageSize")
  109. currentIndex, _ := this.GetInt("CurrentIndex")
  110. messageType, _ := this.GetInt("MessageType", 1)
  111. var startSize int
  112. if pageSize <= 0 {
  113. pageSize = utils.PageSize20
  114. }
  115. if currentIndex <= 0 {
  116. currentIndex = 1
  117. }
  118. startSize = utils.StartIndex(currentIndex, pageSize)
  119. resp := new(models.YanxuanSpecialMessageManageRespListResp)
  120. var condition string
  121. var pars []interface{}
  122. userId := user.UserId
  123. if messageType == 1 {
  124. condition += ` AND status = 0 `
  125. } else {
  126. condition += ` AND status = 1 `
  127. }
  128. condition += ` AND yanxuan_special_user_id = ? `
  129. pars = append(pars, userId)
  130. conditionChildren := condition // 子集留言筛选条件
  131. condition += ` AND parent_id = 0 `
  132. total, err := models.GetCygxYanxuanSpecialMessagerCount(condition, pars)
  133. if err != nil {
  134. br.Msg = "获取失败"
  135. br.ErrMsg = "获取失败, Err:" + err.Error()
  136. return
  137. }
  138. condition += ` ORDER BY message_id DESC `
  139. list, err := models.GetCygxYanxuanSpecialMessageList(condition, pars, startSize, pageSize)
  140. if err != nil {
  141. br.Msg = "获取失败"
  142. br.ErrMsg = "获取失败, Err:" + err.Error()
  143. return
  144. }
  145. if len(list) > 0 {
  146. var messageIds []int
  147. var userIds []int
  148. for _, v := range list {
  149. messageIds = append(messageIds, v.MessageId)
  150. userIds = append(userIds, v.UserId)
  151. }
  152. //获取子集评论
  153. conditionChildren += ` AND parent_id IN (` + utils.GetOrmInReplace(len(messageIds)) + `) ORDER BY message_id ASC `
  154. pars = append(pars, messageIds)
  155. listChild, err := models.GetCygxYanxuanSpecialMessageList(conditionChildren, pars, 0, 999)
  156. if err != nil {
  157. br.Msg = "获取失败"
  158. br.ErrMsg = "获取失败, Err:" + err.Error()
  159. return
  160. }
  161. itemChildMap := make(map[int][]*models.CygxYanxuanSpecialMessageManageChildResp)
  162. for _, v := range listChild {
  163. userIds = append(userIds, v.UserId)
  164. itemChild := new(models.CygxYanxuanSpecialMessageManageChildResp)
  165. itemChild.UserId = v.UserId
  166. itemChild.MessageId = v.MessageId
  167. itemChild.Content = v.Content
  168. itemChild.CreateTime = v.CreateTime.Format(utils.FormatDateTime)
  169. itemChildMap[v.ParentId] = append(itemChildMap[v.ParentId], itemChild)
  170. }
  171. //用户头像
  172. listUser, err := models.GetWxUserListByUserIdsArr(userIds)
  173. if err != nil {
  174. br.Msg = "获取失败"
  175. br.ErrMsg = "获取失败, Err:" + err.Error()
  176. return
  177. }
  178. mapUserImg := make(map[int]string)
  179. for _, v := range listUser {
  180. if v.Headimgurl != "" {
  181. mapUserImg[v.UserId] = v.Headimgurl
  182. } else {
  183. mapUserImg[v.UserId] = utils.DefaultHeadimgurl
  184. }
  185. }
  186. for _, v := range userIds {
  187. if mapUserImg[v] == "" {
  188. mapUserImg[v] = utils.DefaultHeadimgurl
  189. }
  190. }
  191. for _, v := range list {
  192. item := new(models.CygxYanxuanSpecialMessageManageResp)
  193. item.MessageId = v.MessageId
  194. item.RealName = v.RealName
  195. item.Headimgurl = mapUserImg[v.UserId]
  196. item.YanxuanSpecialId = v.YanxuanSpecialId
  197. item.Content = v.Content
  198. item.TopTime = v.TopTime
  199. item.SourceTitle = v.SourceTitle
  200. item.CreateTime = v.CreateTime.Format(utils.FormatDateTime)
  201. if len(itemChildMap[v.MessageId]) > 0 {
  202. for _, vm := range itemChildMap[v.MessageId] {
  203. vm.Headimgurl = mapUserImg[vm.UserId]
  204. }
  205. item.ChildList = itemChildMap[v.MessageId]
  206. } else {
  207. item.ChildList = make([]*models.CygxYanxuanSpecialMessageManageChildResp, 0)
  208. }
  209. item.CheckIds = make([]int, 0)
  210. resp.List = append(resp.List, item)
  211. }
  212. } else {
  213. resp.List = make([]*models.CygxYanxuanSpecialMessageManageResp, 0)
  214. }
  215. page := paging.GetPaging(currentIndex, pageSize, total)
  216. resp.Paging = page
  217. br.Data = resp
  218. br.Ret = 200
  219. br.Success = true
  220. br.Msg = "获取成功"
  221. }
  222. // @Title 删除留言
  223. // @Description 删除留言接口
  224. // @Param request body models.DeleteCygxYanxuanSpecialMessageReq true "type json string"
  225. // @Success Ret=200 {object}
  226. // @router /message/delete [post]
  227. func (this *YanxuanSpecialMessageController) MessageDelete() {
  228. br := new(models.BaseResponse).Init()
  229. defer func() {
  230. this.Data["json"] = br
  231. this.ServeJSON()
  232. }()
  233. user := this.User
  234. if user == nil {
  235. br.Msg = "请登录"
  236. br.ErrMsg = "请登录,用户信息为空"
  237. br.Ret = 408
  238. return
  239. }
  240. var req models.DeleteCygxYanxuanSpecialMessageReq
  241. err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
  242. if err != nil {
  243. br.Msg = "参数解析异常!"
  244. br.ErrMsg = "参数解析失败,Err:" + err.Error()
  245. return
  246. }
  247. messageId := req.MessageId
  248. err = models.DeleteCygxYanxuanSpecialMessage(messageId)
  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. }
  258. // @Title 置顶/取消置顶留言
  259. // @Description 置顶/取消置顶留言接口
  260. // @Param request body models.TopCygxYanxuanSpecialMessageReq true "type json string"
  261. // @Success Ret=200 {object}
  262. // @router /message/top [post]
  263. func (this *YanxuanSpecialMessageController) MessageTop() {
  264. br := new(models.BaseResponse).Init()
  265. defer func() {
  266. this.Data["json"] = br
  267. this.ServeJSON()
  268. }()
  269. user := this.User
  270. if user == nil {
  271. br.Msg = "请登录"
  272. br.ErrMsg = "请登录,用户信息为空"
  273. br.Ret = 408
  274. return
  275. }
  276. var req models.TopCygxYanxuanSpecialMessageReq
  277. err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
  278. if err != nil {
  279. br.Msg = "参数解析异常!"
  280. br.ErrMsg = "参数解析失败,Err:" + err.Error()
  281. return
  282. }
  283. messageId := req.MessageId
  284. doType := req.DoType
  285. messagerDetail, err := models.GetCygxYanxuanSpecialMessagerDetailById(messageId)
  286. if err != nil {
  287. br.Msg = "操作失败!"
  288. br.ErrMsg = "操作失败,Err:" + err.Error()
  289. }
  290. yanxuanSpecialId := messagerDetail.YanxuanSpecialId
  291. var topTime int
  292. var msgContent string
  293. if doType == 1 {
  294. countTop, err := models.GetCygxYanxuanSpecialMessagerCountTop(yanxuanSpecialId)
  295. if err != nil {
  296. br.Msg = "操作失败!"
  297. br.ErrMsg = "操作失败,Err:" + err.Error()
  298. return
  299. }
  300. if countTop > 0 {
  301. br.Msg = "此文章已有置顶留言"
  302. return
  303. }
  304. topTime = int(time.Now().Unix())
  305. msgContent = "已置顶"
  306. } else {
  307. msgContent = "已取消置顶"
  308. }
  309. err = models.UpdateCygxYanxuanSpecialMessageTopTime(topTime, messageId)
  310. if err != nil {
  311. br.Msg = "操作失败!"
  312. br.ErrMsg = "操作失败,Err:" + err.Error()
  313. return
  314. }
  315. br.Ret = 200
  316. br.Success = true
  317. br.Msg = msgContent
  318. }
  319. // @Title 公开/取消公开留言
  320. // @Description 公开/取消公开留言接口
  321. // @Param request body models.TopCygxYanxuanSpecialMessageReq true "type json string"
  322. // @Success Ret=200 {object}
  323. // @router /message/public [post]
  324. func (this *YanxuanSpecialMessageController) MessagePublic() {
  325. br := new(models.BaseResponse).Init()
  326. defer func() {
  327. this.Data["json"] = br
  328. this.ServeJSON()
  329. }()
  330. user := this.User
  331. if user == nil {
  332. br.Msg = "请登录"
  333. br.ErrMsg = "请登录,用户信息为空"
  334. br.Ret = 408
  335. return
  336. }
  337. var req models.PubliceCygxYanxuanSpecialMessageReq
  338. err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
  339. if err != nil {
  340. br.Msg = "参数解析异常!"
  341. br.ErrMsg = "参数解析失败,Err:" + err.Error()
  342. return
  343. }
  344. messageIds := req.MessageIds
  345. doType := req.DoType
  346. var status int
  347. var publicTime string
  348. var msgContent string
  349. if doType == 1 {
  350. status = 1
  351. publicTime = time.Now().Format(utils.FormatDateTime)
  352. msgContent = "已公开"
  353. } else {
  354. msgContent = "已取消公开"
  355. }
  356. err = models.UpdateCygxYanxuanSpecialMessageStatus(status, publicTime, messageIds)
  357. if err != nil {
  358. br.Msg = "操作失败!"
  359. br.ErrMsg = "操作失败,Err:" + err.Error()
  360. return
  361. }
  362. br.Ret = 200
  363. br.Success = true
  364. br.Msg = msgContent
  365. }
  366. // @Title 点赞/取消点赞
  367. // @Description 点赞/取消点赞接口
  368. // @Param request body models.TopCygxYanxuanSpecialMessageReq true "type json string"
  369. // @Success Ret=200 {object}
  370. // @router /message/like [post]
  371. func (this *YanxuanSpecialMessageController) MessageLike() {
  372. br := new(models.BaseResponse).Init()
  373. defer func() {
  374. this.Data["json"] = br
  375. this.ServeJSON()
  376. }()
  377. user := this.User
  378. if user == nil {
  379. br.Msg = "请登录"
  380. br.ErrMsg = "请登录,用户信息为空"
  381. br.Ret = 408
  382. return
  383. }
  384. var req models.TopCygxYanxuanSpecialMessageReq
  385. err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
  386. if err != nil {
  387. br.Msg = "参数解析异常!"
  388. br.ErrMsg = "参数解析失败,Err:" + err.Error()
  389. return
  390. }
  391. messageId := req.MessageId
  392. doType := req.DoType
  393. userId := user.UserId
  394. total, err := models.GetCygxYanxuanSpecialMessageLikeCountByUidMid(userId, messageId)
  395. if err != nil {
  396. br.Msg = "操作失败!"
  397. br.ErrMsg = "操作失败,Err:" + err.Error()
  398. return
  399. }
  400. var msgContent string
  401. if doType == 1 {
  402. if total == 0 {
  403. item := new(models.CygxYanxuanSpecialMessageLike)
  404. item.UserId = userId
  405. item.Mobile = user.Mobile
  406. item.Email = user.Email
  407. item.CompanyId = user.CompanyId
  408. item.CompanyName = user.CompanyName
  409. item.RealName = user.RealName
  410. item.MessageId = messageId
  411. item.CreateTime = time.Now()
  412. item.ModifyTime = time.Now()
  413. item.RegisterPlatform = utils.REGISTER_PLATFORM
  414. err = models.AddCygxYanxuanSpecialMessageLike(item)
  415. if err != nil {
  416. br.Msg = "点赞失败!"
  417. br.ErrMsg = "点赞失败,Err:" + err.Error()
  418. return
  419. }
  420. }
  421. msgContent = "已点赞"
  422. } else {
  423. if total > 0 {
  424. err = models.DeleteCygxYanxuanSpecialMessageLike(userId, messageId)
  425. if err != nil {
  426. br.Msg = "点赞失败!"
  427. br.ErrMsg = "点赞失败,Err:" + err.Error()
  428. return
  429. }
  430. }
  431. msgContent = "已取消点赞"
  432. }
  433. br.Ret = 200
  434. br.Success = true
  435. br.Msg = msgContent
  436. }
  437. // @Title 专栏文章留言列表
  438. // @Description 专栏文章留言列表接口
  439. // @Param PageSize query int true "每页数据条数"
  440. // @Param CurrentIndex query int true "当前页页码,从1开始"
  441. // @Param YanxuanSpecialId query int false "研选专栏文章ID"
  442. // @Success 200 {object} models.SpecialListResp
  443. // @router /message/special/list [get]
  444. func (this *YanxuanSpecialMessageController) MessageSpecialList() {
  445. br := new(models.BaseResponse).Init()
  446. defer func() {
  447. this.Data["json"] = br
  448. this.ServeJSON()
  449. }()
  450. user := this.User
  451. if user == nil {
  452. br.Msg = "请登录"
  453. br.ErrMsg = "请登录,用户信息为空"
  454. br.Ret = 408
  455. return
  456. }
  457. pageSize, _ := this.GetInt("PageSize")
  458. currentIndex, _ := this.GetInt("CurrentIndex")
  459. yanxuanSpecialId, _ := this.GetInt("YanxuanSpecialId")
  460. var startSize int
  461. if pageSize <= 0 {
  462. pageSize = utils.PageSize20
  463. }
  464. if currentIndex <= 0 {
  465. currentIndex = 1
  466. }
  467. startSize = utils.StartIndex(currentIndex, pageSize)
  468. userId := user.UserId
  469. resp := new(models.YanxuanSpecialMessageManageRespListResp)
  470. publiccTotal, err := models.GetCygxYanxuanSpecialMessagerPublicCount(yanxuanSpecialId)
  471. if err != nil {
  472. br.Msg = "获取失败"
  473. br.ErrMsg = "获取失败, Err:" + err.Error()
  474. return
  475. }
  476. resp.PublicMessageTotal = publiccTotal
  477. var condition string
  478. var pars []interface{}
  479. var conditionMyself string
  480. var parsMyself []interface{}
  481. conditionMyself += ` AND status = 0 AND parent_id = 0 AND user_id = ? AND yanxuan_special_id = ? ORDER BY message_id DESC `
  482. parsMyself = append(parsMyself, userId, yanxuanSpecialId)
  483. var listMyself []*models.CygxYanxuanSpecialMessage
  484. if currentIndex == 1 {
  485. //获取自己未公开的留言
  486. listMyself, err = models.GetCygxYanxuanSpecialMessageList(conditionMyself, parsMyself, 0, 999)
  487. if err != nil && err.Error() != utils.ErrNoRow() {
  488. br.Msg = "获取失败"
  489. br.ErrMsg = "获取失败, Err:" + err.Error()
  490. return
  491. }
  492. }
  493. condition += ` AND status = 1 `
  494. condition += ` AND yanxuan_special_id = ? `
  495. pars = append(pars, yanxuanSpecialId)
  496. conditionChildren := condition // 子集留言筛选条件
  497. condition += ` AND parent_id = 0 `
  498. total, err := models.GetCygxYanxuanSpecialMessagerCount(condition, pars)
  499. if err != nil {
  500. br.Msg = "获取失败"
  501. br.ErrMsg = "获取失败, Err:" + err.Error()
  502. return
  503. }
  504. condition += ` ORDER BY message_id DESC `
  505. list, err := models.GetCygxYanxuanSpecialMessageList(condition, pars, startSize, pageSize)
  506. if err != nil {
  507. br.Msg = "获取失败"
  508. br.ErrMsg = "获取失败, Err:" + err.Error()
  509. return
  510. }
  511. for _, v := range list {
  512. listMyself = append(listMyself, v)
  513. }
  514. if len(listMyself) > 0 {
  515. var messageIds []int
  516. var messageIdsAll []int // 所有的留言消息
  517. var userIds []int
  518. for _, v := range list {
  519. messageIds = append(messageIds, v.MessageId)
  520. }
  521. for _, v := range listMyself {
  522. userIds = append(userIds, v.UserId)
  523. }
  524. itemChildMap := make(map[int][]*models.CygxYanxuanSpecialMessageManageChildResp)
  525. if len(messageIds) > 0 {
  526. //获取子集评论
  527. conditionChildren += ` AND parent_id IN (` + utils.GetOrmInReplace(len(messageIds)) + `) ORDER BY message_id ASC `
  528. pars = append(pars, messageIds)
  529. listChild, err := models.GetCygxYanxuanSpecialMessageList(conditionChildren, pars, 0, 999)
  530. if err != nil {
  531. br.Msg = "获取失败"
  532. br.ErrMsg = "获取失败, Err:" + err.Error()
  533. return
  534. }
  535. for _, v := range listChild {
  536. userIds = append(userIds, v.UserId)
  537. messageIdsAll = append(messageIdsAll, v.MessageId)
  538. itemChild := new(models.CygxYanxuanSpecialMessageManageChildResp)
  539. itemChild.UserId = v.UserId
  540. itemChild.MessageId = v.MessageId
  541. itemChild.Content = v.Content
  542. itemChild.LikeCount = v.LikeCount
  543. itemChild.CreateTime = v.CreateTime.Format(utils.FormatDateTime)
  544. itemChildMap[v.ParentId] = append(itemChildMap[v.ParentId], itemChild)
  545. }
  546. }
  547. likeMap := services.GetYanxuanSpecialMessageLikeMap(userId)
  548. //用户头像
  549. listUser, err := models.GetWxUserListByUserIdsArr(userIds)
  550. if err != nil {
  551. br.Msg = "获取失败"
  552. br.ErrMsg = "获取失败, Err:" + err.Error()
  553. return
  554. }
  555. mapUserImg := make(map[int]string)
  556. for _, v := range listUser {
  557. if v.Headimgurl != "" {
  558. mapUserImg[v.UserId] = v.Headimgurl
  559. } else {
  560. mapUserImg[v.UserId] = utils.DefaultHeadimgurl
  561. }
  562. }
  563. for _, v := range userIds {
  564. if mapUserImg[v] == "" {
  565. mapUserImg[v] = utils.DefaultHeadimgurl
  566. }
  567. }
  568. for _, v := range listMyself {
  569. item := new(models.CygxYanxuanSpecialMessageManageResp)
  570. item.MessageId = v.MessageId
  571. item.RealName = v.RealName
  572. item.Headimgurl = mapUserImg[v.UserId]
  573. item.YanxuanSpecialId = v.YanxuanSpecialId
  574. item.Content = v.Content
  575. item.TopTime = v.TopTime
  576. item.SourceTitle = v.SourceTitle
  577. item.LikeCount = v.LikeCount
  578. item.IsLikeCount = likeMap[v.MessageId]
  579. item.Status = v.Status
  580. if v.UserId == userId {
  581. item.IsMySelf = true
  582. }
  583. item.CreateTime = v.CreateTime.Format(utils.FormatDateTime)
  584. if len(itemChildMap[v.MessageId]) > 0 {
  585. for _, vm := range itemChildMap[v.MessageId] {
  586. vm.IsLikeCount = likeMap[vm.MessageId]
  587. vm.Headimgurl = mapUserImg[vm.UserId]
  588. }
  589. item.ChildList = itemChildMap[v.MessageId]
  590. } else {
  591. item.ChildList = make([]*models.CygxYanxuanSpecialMessageManageChildResp, 0)
  592. }
  593. item.CheckIds = make([]int, 0)
  594. resp.List = append(resp.List, item)
  595. }
  596. } else {
  597. resp.List = make([]*models.CygxYanxuanSpecialMessageManageResp, 0)
  598. }
  599. page := paging.GetPaging(currentIndex, pageSize, total)
  600. resp.Paging = page
  601. br.Data = resp
  602. br.Ret = 200
  603. br.Success = true
  604. br.Msg = "获取成功"
  605. }