report.go 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. package roadshow
  2. import (
  3. "github.com/beego/beego/v2/client/orm"
  4. "time"
  5. )
  6. type RsReportRecord struct {
  7. RsReportRecordId int `orm:"column(rs_report_record_id);pk"`
  8. CompanyId int `description:"客户id"`
  9. CompanyName string `description:"客户名称"`
  10. CreditCode string `description:"社会统一信用码"`
  11. CompanyStatus string `description:"客户状态:'试用','永续','冻结','流失','正式','潜在'"`
  12. PermissionName string `description:"开通品种"`
  13. ResearcherId int `description:"研究员id"`
  14. ResearcherName string `description:"研究员名称"`
  15. ResearcherGroupId int `description:"研究员分组id"`
  16. ResearcherGroupName string `description:"研究员分组名称"`
  17. SellerId int `description:"所属销售id"`
  18. SellerName string `description:"所属销售名称"`
  19. SellerGroupId int `description:"销售分组id"`
  20. SellerGroupName string `description:"销售分组名称"`
  21. RsCalendarId int `description:"路演活动id"`
  22. RsCalendarResearcherId int `description:"路演研究员id"`
  23. StartDate string `description:"开始日期"`
  24. EndDate string `description:"结束日期"`
  25. StartTime string `description:"开始时间"`
  26. EndTime string `description:"结束时间"`
  27. StartWeek string `description:"开始日期对应周"`
  28. EndWeek string `description:"结束日期对应周"`
  29. CreateTime time.Time `description:"记录创建时间"`
  30. RsCalendarResearcherStatus int `description:"路演活动状态"`
  31. ModifyTime time.Time `description:"记录修改时间"`
  32. ActivityType string `description:"活动类型"`
  33. RoadshowType string `description:"路演形式"`
  34. InteractionNum int `description:"当时用户总的互动量"`
  35. QuestionStatus int `description:"问答状态:0-未填写;1-已填写"`
  36. }
  37. func AddRsReportRecord(item *RsReportRecord) (lastId int64, err error) {
  38. o := orm.NewOrm()
  39. lastId, err = o.Insert(item)
  40. return
  41. }
  42. type RsCalendarResearcherView struct {
  43. RsCalendarId int `description:"活动"`
  44. SysUserId int `description:"创建人id"`
  45. SysUserRealName string `description:"创建人名称"`
  46. ActivityType string `description:"活动类型"`
  47. RoadshowType string `description:"路演形式"`
  48. RoadshowPlatform string `description:"路演平台"`
  49. CompanyId int `description:"客户id"`
  50. CompanyName string `description:"客户名称"`
  51. Province string `description:"省"`
  52. ProvinceCode string `description:"省编码"`
  53. City string `description:"市"`
  54. CityCode string `description:"市编码"`
  55. Theme string `description:"会议主题"`
  56. CooperationName string `description:"合作方名称"`
  57. Title string `description:"展示在日历的标题"`
  58. Source int8 `description:"来源,0:自系统,1:上海方的"`
  59. CreateTime time.Time
  60. ModifyTime time.Time
  61. ActivityCategory string `description:"活动类别"`
  62. RsCalendarResearcherId int `description:"活动研究员id"`
  63. ResearcherId int `description:"研究员id"`
  64. ResearcherName string `description:"研究员名称"`
  65. StartDate string `description:"开始日期"`
  66. EndDate string `description:"结束日期"`
  67. StartTime string `description:"开始时间"`
  68. EndTime string `description:"结束时间"`
  69. StartWeek string `description:"开始日期对应周"`
  70. EndWeek string `description:"结束日期对应周"`
  71. Status int `description:"状态:1:待接受,2:已接受,3:已拒绝,4:已删除,5:已撤回,6:已结束"`
  72. RefuseReason string `description:"拒绝理由"`
  73. RefuseTime time.Time `description:"拒绝时间"`
  74. DeleteReason string `description:"删除理由"`
  75. DeleteTime time.Time `description:"删除时间"`
  76. ApproveTime time.Time `description:"接受时间"`
  77. IsSynced int `description:"是否与上海同步 0:未同步 1:已同步"`
  78. ResearcherSort int `description:"研究员新增排序"`
  79. QuestionStatus int `description:"问答状态:0-未填写;1-已填写"`
  80. }
  81. func GetRsCalendarDetail(endDate string) (list []*RsCalendarResearcherView, err error) {
  82. sql := ` SELECT * FROM rs_calendar AS a
  83. INNER JOIN rs_calendar_researcher AS b ON a.rs_calendar_id=b.rs_calendar_id
  84. WHERE b.end_date>=? `
  85. o := orm.NewOrm()
  86. _, err = o.Raw(sql, endDate).QueryRows(&list)
  87. return
  88. }
  89. type CompanySearchView struct {
  90. CompanyId int `orm:"column(company_id);pk"`
  91. CompanyName string `description:"客户名称"`
  92. CreditCode string `description:"社会统一信用码"`
  93. CompanyCode string `description:"客户编码"`
  94. Status string `description:"客户状态"`
  95. PermissionName string `description:"开通品种"`
  96. }
  97. func RsCompanyList() (list []*CompanySearchView, err error) {
  98. o := orm.NewOrm()
  99. sql := ` SELECT b.company_id,b.company_name,a.credit_code,b.status FROM company AS a
  100. INNER JOIN company_product AS b ON a.company_id=b.company_id
  101. WHERE b.status IN('正式','试用') AND b.product_id=1 `
  102. sql += ` GROUP BY b.company_id `
  103. _, err = o.Raw(sql).QueryRows(&list)
  104. return
  105. }
  106. // 权益客户
  107. func RsCompanyListRai() (list []*CompanySearchView, err error) {
  108. o := orm.NewOrm()
  109. sql := ` SELECT b.company_id,b.company_name,a.credit_code,b.status FROM company AS a
  110. INNER JOIN company_product AS b ON a.company_id=b.company_id
  111. WHERE b.product_id=2 `
  112. sql += ` GROUP BY b.company_id `
  113. _, err = o.Raw(sql).QueryRows(&list)
  114. return
  115. }
  116. func GetExistRsReportRecord(endDate string) (list []*RsReportRecord, err error) {
  117. sql := ` SELECT * FROM rs_report_record
  118. WHERE end_date>=? `
  119. o := orm.NewOrm()
  120. _, err = o.Raw(sql, endDate).QueryRows(&list)
  121. return
  122. }
  123. // 更新活动信息
  124. func UpdateRsReportRecord(where, updateParams map[string]interface{}) error {
  125. o := orm.NewOrm()
  126. ptrStructOrTableName := "rs_report_record"
  127. qs := o.QueryTable(ptrStructOrTableName)
  128. for expr, exprV := range where {
  129. qs = qs.Filter(expr, exprV)
  130. }
  131. _, err := qs.Update(updateParams)
  132. return err
  133. }