123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206 |
- package roadshow
- import (
- "context"
- "github.com/beego/beego/v2/client/orm"
- "github.com/rdlucklib/rdluck_tools/paging"
- "time"
- )
- type RsCalendarResearcherQuestion struct {
- RsCalendarResearcherQuestionId int `orm:"column(rs_calendar_researcher_question_id);pk"`
- RsCalendarId int `description:"路演日历ID"`
- RsCalendarResearcherId int `description:"路演研究员记录ID"`
- QuestionContent string `description:"提问内容"`
- ReplyContent string `description:"回复内容"`
- CreateTime time.Time `description:"创建时间"`
- ModifyTime time.Time `description:"更新时间"`
- }
- type RoadShowQuestionSaveReq struct {
- RsCalendarId int `description:"路演ID"`
- RsCalendarResearcherId int `description:"路演研究员记录ID"`
- CompanyIndustry string `description:"客户行业"`
- CompanyClassify string `description:"客户分类"`
- QuestionList []*RsCalendarResearcherQuestionSaveReq `description:"问答列表"`
- }
- type RsCalendarResearcherQuestionSaveReq struct {
- QuestionContent string `description:"提问内容"`
- ReplyContent string `description:"回复内容"`
- }
- func RoadShowQuestionSave(req *RoadShowQuestionSaveReq) (err error) {
- o := orm.NewOrm()
- tx, err := o.BeginWithCtx(context.Background())
- if err != nil {
- return err
- }
- defer func() {
- if err != nil {
- tx.Rollback()
- } else {
- tx.Commit()
- }
- }()
- sql := ` UPDATE rs_calendar_researcher SET company_industry = ?,company_classify = ?,question_status=1 WHERE rs_calendar_researcher_id = ? `
- _, err = tx.Raw(sql, req.CompanyIndustry, req.CompanyClassify, req.RsCalendarResearcherId).Exec()
- if err != nil {
- return err
- }
- list := make([]*RsCalendarResearcherQuestion, 0)
- for _, v := range req.QuestionList {
- item := new(RsCalendarResearcherQuestion)
- item.RsCalendarId = req.RsCalendarId
- item.RsCalendarResearcherId = req.RsCalendarResearcherId
- item.QuestionContent = v.QuestionContent
- item.ReplyContent = v.ReplyContent
- item.ModifyTime = time.Now()
- item.CreateTime = time.Now()
- list = append(list, item)
- }
- _, err = tx.InsertMulti(len(list), &list)
- return err
- }
- type RsCalendarResearcherQuestionView struct {
- RsCalendarResearcherQuestionId int `orm:"column(rs_calendar_researcher_question_id);pk"`
- RsCalendarId int `description:"路演日历ID"`
- RsCalendarResearcherId int `description:"路演研究员记录ID"`
- QuestionContent string `description:"提问内容"`
- ReplyContent string `description:"回复内容"`
- ResearcherId int `description:"研究员ID"`
- ResearcherName string `description:"研究员名称"`
- CreateTime string `description:"创建时间"`
- ModifyTime string `description:"更新时间"`
- }
- func GetRoadShowQuestionList(condition string, pars []interface{}) (item []*RsCalendarResearcherQuestionView, err error) {
- o := orm.NewOrm()
- sql := `SELECT a.*,b.researcher_id,b.researcher_name FROM rs_calendar_researcher_question AS a
- LEFT JOIN rs_calendar_researcher AS b ON a.rs_calendar_researcher_id=b.rs_calendar_researcher_id
- WHERE 1=1 `
- if condition != "" {
- sql += condition
- }
- sql += ` ORDER BY a.create_time DESC `
- _, err = o.Raw(sql, pars).QueryRows(&item)
- return
- }
- type QuestionSummary struct {
- RsCalendarId int `orm:"column(rs_calendar_id);pk"`
- SysUserId int `description:"创建人id"`
- SysUserRealName string `description:"创建人名称"`
- ActivityType string `description:"活动类型"`
- RoadshowType string `description:"路演形式"`
- RoadshowPlatform string `description:"路演平台"`
- CompanyId int `description:"客户id"`
- CompanyName string `description:"客户名称"`
- RsCalendarResearcherId int `description:"活动研究员id"`
- ResearcherId string `description:"研究员id"`
- ResearcherName string `description:"研究员名称"`
- StartDate string `description:"开始日期"`
- EndDate string `description:"结束日期"`
- StartTime string `description:"开始时间"`
- EndTime string `description:"结束时间"`
- StartWeek string `description:"开始日期对应周"`
- EndWeek string `description:"结束日期对应周"`
- Status int `description:"状态:1:待接受,2:已接受,3:已拒绝,4:已删除,5:已撤回,6:已结束"`
- RefuseReason string `description:"拒绝理由"`
- RefuseTime string `description:"拒绝时间"`
- DeleteReason string `description:"删除原因"`
- Province string `description:"省"`
- ProvinceCode string `description:"省编码"`
- City string `description:"市"`
- CityCode string `description:"市编码"`
- District string `description:"区"`
- Theme string `description:"会议主题"`
- CooperationName string `description:"合作方名称"`
- ActivityCategory string `description:"活动类别"`
- Source int `description:"来源,0:自系统,1:上海方的"`
- Title string `description:"日历展示标题"`
- CompanyStatus string `description:"新增客户状态"`
- UnionCode string `description:"公开会议联合编码"`
- EnglishCompany int `description:"是否为英文客户: 0-否; 1-是"`
- EnglishCountry string `description:"英文客户-国家"`
- EnglishViewTotal int `description:"英文客户-累计点击量"`
- SubmitButton bool `description:"提交按钮是否展示"`
- ViewButton bool `description:"查看按钮是否展示"`
- EditButton bool `description:"修改按钮是否展示"`
- CompanyIndustry string `description:"客户行业"`
- CompanyClassify string `description:"客户分类"`
- QuestionStatus int `description:"问答状态:0-未填写;1-已填写"`
- QuestionMsgStatus int `description:"问答模板消息:0-未发送;1-已发送"`
- }
- type QuestionSummaryListResp struct {
- Paging *paging.PagingItem
- List []*QuestionSummary
- }
- func GetQuestionSummaryListCount(condition string, pars []interface{}) (count int, err error) {
- o := orm.NewOrm()
- sql := `SELECT COUNT(1) AS count FROM(SELECT COUNT(1) AS count
- FROM rs_calendar AS a
- INNER JOIN rs_calendar_researcher AS b ON a.rs_calendar_id=b.rs_calendar_id
- WHERE 1=1 `
- if condition != "" {
- sql += condition
- }
- sql += ` GROUP BY a.rs_calendar_id ) AS t `
- err = o.Raw(sql, pars).QueryRow(&count)
- return
- }
- func GetQuestionSummaryList(condition string, pars []interface{}, startSize, pageSize int) (list []*QuestionSummary, err error) {
- o := orm.NewOrm()
- sql := ` SELECT a.rs_calendar_id,a.activity_type,a.roadshow_type,a.activity_category,a.roadshow_platform,b.create_time,a.district,
- b.modify_time,GROUP_CONCAT(b.researcher_id ORDER BY researcher_sort ASC) AS researcher_id,GROUP_CONCAT(b.researcher_name ORDER BY researcher_sort ASC) AS researcher_name,
- b.rs_calendar_researcher_id,b.start_date,
- b.end_date,b.start_time,b.end_time,b.start_week,b.end_week,b.status,b.refuse_reason,b.refuse_time,
- b.delete_reason,a.sys_user_real_name,a.city,a.province,a.company_name,a.company_id,
- a.cooperation_name,a.theme,a.activity_category,a.english_company,
- b.question_status,b.question_msg_status,
- GROUP_CONCAT(b.company_industry) AS company_industry,
- GROUP_CONCAT(b.company_classify) AS company_classify
- FROM rs_calendar AS a
- INNER JOIN rs_calendar_researcher AS b ON a.rs_calendar_id=b.rs_calendar_id
- WHERE 1=1
- `
- if condition != "" {
- sql += condition
- }
- sql += ` GROUP BY a.rs_calendar_id
- ORDER BY b.create_time DESC LIMIT ?,? `
- _, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&list)
- return
- }
- func GetQuestionSummaryExport(condition string, pars []interface{}) (list []*QuestionSummary, err error) {
- o := orm.NewOrm()
- sql := ` SELECT a.rs_calendar_id,a.activity_type,a.roadshow_type,a.activity_category,a.roadshow_platform,b.create_time,a.district,
- b.modify_time,GROUP_CONCAT(b.researcher_id ORDER BY researcher_sort ASC) AS researcher_id,GROUP_CONCAT(b.researcher_name ORDER BY researcher_sort ASC) AS researcher_name,
- b.rs_calendar_researcher_id,b.start_date,
- b.end_date,b.start_time,b.end_time,b.start_week,b.end_week,b.status,b.refuse_reason,b.refuse_time,
- b.delete_reason,a.sys_user_real_name,a.city,a.province,a.company_name,a.company_id,
- a.cooperation_name,a.theme,a.activity_category,a.english_company,
- b.question_status,b.question_msg_status,
- GROUP_CONCAT(b.company_industry) AS company_industry,
- GROUP_CONCAT(b.company_classify) AS company_classify
- FROM rs_calendar AS a
- INNER JOIN rs_calendar_researcher AS b ON a.rs_calendar_id=b.rs_calendar_id
- WHERE 1=1
- `
- if condition != "" {
- sql += condition
- }
- sql += ` GROUP BY a.rs_calendar_id
- ORDER BY b.create_time DESC `
- _, err = o.Raw(sql, pars).QueryRows(&list)
- return
- }
|