cygx_morning_meeting_reviews.go 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. package cygx
  2. import (
  3. "errors"
  4. "github.com/beego/beego/v2/client/orm"
  5. "github.com/rdlucklib/rdluck_tools/paging"
  6. "time"
  7. )
  8. // CygxMorningMeetingReviews [...]
  9. type CygxMorningMeetingReviews struct {
  10. Id int `orm:"column(id);pk"`
  11. MeetingTime time.Time `json:"meetingTime"` // 晨会日期
  12. PublishTime time.Time `json:"publishTime"` // 发布日期
  13. CreateTime time.Time `json:"createTime"`
  14. ModifyTime time.Time `json:"modifyTime"`
  15. Status int `json:"status"` // 0:未发布,1:已发布
  16. PartNums int `json:"partNums"` // 段落数
  17. IndustryNames string `json:"industryName"` // 产业名称
  18. }
  19. // 添加晨报点评
  20. func AddCygxMorningMeetingReviews(item *CygxMorningMeetingReviews) (id int64, err error) {
  21. o := orm.NewOrmUsingDB("hz_cygx")
  22. id, err = o.Insert(item)
  23. return
  24. }
  25. // 列表
  26. func GetCygxMorningMeetingReviewsList(condition string, pars []interface{}, startSize, pageSize int) (items []*CygxMorningMeetingReviews, err error) {
  27. o := orm.NewOrmUsingDB("hz_cygx")
  28. sql := `SELECT * FROM cygx_morning_meeting_reviews WHERE 1=1 `
  29. if condition != "" {
  30. sql += condition
  31. }
  32. sql += ` LIMIT ?,? `
  33. _, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
  34. return
  35. }
  36. func GetCygxMorningMeetingReviewsListCount(condition string, pars []interface{}) (count int, err error) {
  37. o := orm.NewOrmUsingDB("hz_cygx")
  38. sql := `SELECT COUNT(1) AS count FROM cygx_morning_meeting_reviews WHERE 1=1 `
  39. if condition != "" {
  40. sql += condition
  41. }
  42. err = o.Raw(sql, pars).QueryRow(&count)
  43. return
  44. }
  45. type CygxMorningMeetingReviewItem struct {
  46. Id int `orm:"column(id);pk"`
  47. MeetingTime string `json:"meetingTime"` // 晨会日期
  48. PublishTime string `json:"publishTime"` // 发布日期
  49. CreateTime string `json:"createTime"`
  50. ModifyTime string `json:"modifyTime"`
  51. Status int `json:"status"` // 0:未发布,1:已发布
  52. PartNums int `json:"partNums"` // 段落数
  53. IndustryNames string `json:"industryName"` // 产业名称
  54. }
  55. type CygxMorningMeetingReviewsList struct {
  56. List []*CygxMorningMeetingReviewItem
  57. Paging *paging.PagingItem `description:"分页数据"`
  58. }
  59. func GetMorningMeetingReviewById(reviewId int) (item *CygxMorningMeetingReviews, err error) {
  60. o := orm.NewOrmUsingDB("hz_cygx")
  61. sql := `SELECT * FROM cygx_morning_meeting_reviews WHERE id=?`
  62. err = o.Raw(sql, reviewId).QueryRow(&item)
  63. return
  64. }
  65. // 发布报告
  66. func PublishMorningMeetingReviewById(reviewId int) (err error) {
  67. o := orm.NewOrmUsingDB("hz_cygx")
  68. sql := `UPDATE cygx_morning_meeting_reviews SET status=1,publish_time=now(),modify_time=NOW() WHERE id = ? `
  69. _, err = o.Raw(sql, reviewId).Exec()
  70. return
  71. }
  72. type MorningReviewPublishReq struct {
  73. ReviewIds string `description:"晨会id,多个用英文逗号隔开"`
  74. }
  75. type MorningReviewPublishCancelReq struct {
  76. ReviewId int `description:"晨会id"`
  77. }
  78. // 取消发布报告
  79. func PublishCancelMorningMeetingReview(reviewId int) (err error) {
  80. o := orm.NewOrmUsingDB("hz_cygx")
  81. sql := ` UPDATE cygx_morning_meeting_reviews SET status=0,publish_time=null WHERE id =? `
  82. _, err = o.Raw(sql, reviewId).Exec()
  83. return
  84. }
  85. type MorningReviewDeleteReq struct {
  86. ReviewId int `description:"晨会id"`
  87. }
  88. // DeleteMorningReviewAndChapter 删除晨会点评及章节
  89. func DeleteMorningReviewAndChapter(reviewId int) (err error) {
  90. reviewInfo, err := GetMorningMeetingReviewById(reviewId)
  91. if err != nil {
  92. err = errors.New("报告信息有误, Err: " + err.Error())
  93. return
  94. }
  95. if reviewInfo.Status == 1 {
  96. err = errors.New("报告已发布,不可删除")
  97. return
  98. }
  99. err = DeleteMorningMeeting(reviewId)
  100. if err != nil {
  101. err = errors.New("删除失败, Err: " + err.Error())
  102. return
  103. }
  104. err = DeleteMorningMeetingChapter(reviewId)
  105. if err != nil {
  106. err = errors.New("删除失败, Err: " + err.Error())
  107. return
  108. }
  109. return
  110. }
  111. // 删除晨会点评
  112. func DeleteMorningMeeting(reviewId int) (err error) {
  113. o := orm.NewOrmUsingDB("hz_cygx")
  114. sql := ` DELETE FROM cygx_morning_meeting_reviews WHERE id =? `
  115. _, err = o.Raw(sql, reviewId).Exec()
  116. return
  117. }
  118. // 更新晨报点评
  119. func UpdateCygxMorningMeetingReviews(item *CygxMorningMeetingReviews) (err error) {
  120. o := orm.NewOrmUsingDB("hz_cygx")
  121. sql := `UPDATE cygx_morning_meeting_reviews
  122. SET
  123. meeting_time =?,
  124. publish_time = ?,
  125. modify_time = ?,
  126. part_nums = ?,
  127. industry_names = ?,
  128. status = ?
  129. WHERE id = ? `
  130. _, err = o.Raw(sql, item.MeetingTime, item.PublishTime, item.ModifyTime, item.PartNums, item.IndustryNames, item.Status, item.Id).Exec()
  131. return
  132. }