calendar_researcher_question.go 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. package roadshow
  2. import (
  3. "context"
  4. "github.com/beego/beego/v2/client/orm"
  5. "time"
  6. )
  7. type RsCalendarResearcherQuestion struct {
  8. RsCalendarResearcherQuestionId int `orm:"column(rs_calendar_researcher_question_id);pk"`
  9. RsCalendarResearcherId int `description:"路演研究员记录ID"`
  10. QuestionContent string `description:"提问内容"`
  11. ReplyContent string `description:"回复内容"`
  12. CreateTime time.Time `description:"创建时间"`
  13. ModifyTime time.Time `description:"更新时间"`
  14. }
  15. type RoadShowQuestionSaveReq struct {
  16. RsCalendarId int `description:"路演ID"`
  17. RsCalendarResearcherId int `description:"路演研究员记录ID"`
  18. CompanyIndustry string `description:"客户行业"`
  19. CompanyClassify string `description:"客户分类"`
  20. QuestionList []*RsCalendarResearcherQuestionSaveReq `description:"问答列表"`
  21. }
  22. type RsCalendarResearcherQuestionSaveReq struct {
  23. QuestionContent string `description:"提问内容"`
  24. ReplyContent string `description:"回复内容"`
  25. }
  26. func RoadShowQuestionSave(req *RoadShowQuestionSaveReq) (err error) {
  27. o := orm.NewOrm()
  28. tx, err := o.BeginWithCtx(context.Background())
  29. if err != nil {
  30. return err
  31. }
  32. defer func() {
  33. if err != nil {
  34. tx.Rollback()
  35. } else {
  36. tx.Commit()
  37. }
  38. }()
  39. sql := ` UPDATE rs_calendar_researcher SET company_industry = ?,company_classify = ?,question_status=1 WHERE rs_calendar_researcher_id = ? `
  40. _, err = tx.Raw(sql, req.CompanyIndustry, req.CompanyClassify, req.RsCalendarResearcherId).Exec()
  41. if err != nil {
  42. return err
  43. }
  44. list := make([]*RsCalendarResearcherQuestion, 0)
  45. for _, v := range req.QuestionList {
  46. item := new(RsCalendarResearcherQuestion)
  47. item.RsCalendarResearcherId = req.RsCalendarResearcherId
  48. item.QuestionContent = v.QuestionContent
  49. item.ReplyContent = v.ReplyContent
  50. item.ModifyTime = time.Now()
  51. item.CreateTime = time.Now()
  52. list = append(list, item)
  53. }
  54. _, err = tx.InsertMulti(len(list), &list)
  55. return err
  56. }
  57. func GetRoadShowQuestionList(rsCalendarResearcherId int) (item []*RsCalendarResearcherQuestion, err error) {
  58. o := orm.NewOrm()
  59. sql := `SELECT * FROM rs_calendar_researcher_question WHERE rs_calendar_researcher_id = ? ORDER BY create_time DESC `
  60. _, err = o.Raw(sql, rsCalendarResearcherId).QueryRows(&item)
  61. return
  62. }