zhangchuanxing 2 сар өмнө
parent
commit
1fe460f83b

+ 36 - 0
models/activity_video_history.go

@@ -79,3 +79,39 @@ func GetActivityVideoHistoryByMobileListCRM_16_5Init(condition string) (items []
 	_, err = o.Raw(sql).QueryRows(&items)
 	return
 }
+
+type CygxActivityVideoHistoryResp struct {
+	VideoId          int    `description:"微路演音频id"`
+	VideoName        string `description:"文件名称"`
+	UserId           int    `description:"用户ID"`
+	Mobile           string `description:"手机号"`
+	Email            string `description:"邮箱"`
+	CompanyId        int    `description:"公司id"`
+	CompanyName      string `description:"公司名称"`
+	RealName         string `description:"用户实际名称"`
+	CreateTime       string `description:"创建时间"`
+	RegisterPlatform int    `description:"来源 1小程序,2:网页"`
+}
+
+// 列表
+func GetCygxActivityVideoHistoryListNoLimit(condition string, pars []interface{}) (items []*CygxActivityVideoHistoryResp, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT
+			a.video_name,
+			a.video_id,
+			b.user_id,
+			b.real_name,
+			b.mobile,
+			b.email,
+			b.company_id,
+			b.company_name,
+			b.create_time 
+		FROM
+			cygx_activity_video AS a
+			INNER JOIN cygx_activity_video_history AS b ON a.video_id = b.video_id   WHERE 1= 1 `
+	if condition != "" {
+		sql += condition
+	}
+	_, err = o.Raw(sql, pars).QueryRows(&items)
+	return
+}

+ 36 - 0
models/activity_voice_history.go

@@ -71,3 +71,39 @@ func GetActivityVoiceHistoryByMobileListCRM_16_5Init(condition string) (items []
 	_, err = o.Raw(sql).QueryRows(&items)
 	return
 }
+
+type CygxActivityVoiceHistoryResp struct {
+	ActivityVoiceId  int    `orm:"column(activity_voice_id);pk" description:"活动音频ID"`
+	VoiceName        string `description:"音频名称"`
+	UserId           int    `description:"用户ID"`
+	Mobile           string `description:"手机号"`
+	Email            string `description:"邮箱"`
+	CompanyId        int    `description:"公司id"`
+	CompanyName      string `description:"公司名称"`
+	RealName         string `description:"用户实际名称"`
+	CreateTime       string `description:"创建时间"`
+	RegisterPlatform int    `description:"来源 1小程序,2:网页"`
+}
+
+// 列表
+func GetCygxActivityVoiceHistoryListNoLimit(condition string, pars []interface{}) (items []*CygxActivityVoiceHistoryResp, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT
+			a.voice_name,
+			a.activity_voice_id,
+			b.user_id,
+			b.real_name,
+			b.mobile,
+			b.email,
+			b.company_id,
+			b.company_name,
+			b.create_time 
+		FROM
+			cygx_activity_voice AS a
+			INNER JOIN cygx_activity_voice_history AS b ON a.activity_voice_id = b.activity_voice_id    WHERE 1= 1 `
+	if condition != "" {
+		sql += condition
+	}
+	_, err = o.Raw(sql, pars).QueryRows(&items)
+	return
+}

+ 11 - 0
models/report_history_record.go

@@ -84,3 +84,14 @@ func GetWxUserRaiCygxReportHistoryRecordCrm16_5() (items []*CygxReportHistoryRec
 	_, err = o.Raw(sql).QueryRows(&items)
 	return
 }
+
+// 列表
+func GetWxUserRaiCygxReportHistoryRecordCrm16_5() (items []*CygxReportHistoryRecord, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT
+			*
+		FROM
+			cygx_report_history_record  WHERE report_type IN('bgjx','bzyjhz')  `
+	_, err = o.Raw(sql).QueryRows(&items)
+	return
+}

+ 130 - 0
services/rai_company_user_bill.go

@@ -626,6 +626,136 @@ func UpdateCygxRaiCompanyUserBill() (err error) {
 	}
 	//图表浏览记录 end
 
+	//活动音频记录
+	{
+		condition = " AND  b.company_id IN  (" + utils.GetOrmInReplace(lencompanyId) + ")  AND b.create_time > ?  GROUP BY  b.id   "
+		userActivityVoiceList, e := models.GetCygxActivityVoiceHistoryListNoLimit(condition, pars)
+		if e != nil {
+			err = errors.New("GetCygxActivityVoiceHistoryListNoLimit, Err: " + e.Error())
+			return
+		}
+
+		//活动音频记录 明细
+		var conditionBill string
+		var parsBill []interface{}
+		conditionBill = " AND source = 'activityvoice' AND   company_id IN  (" + utils.GetOrmInReplace(lencompanyId) + ")  AND view_time > ?  "
+		parsBill = append(parsBill, companyIds, startWeekDate)
+		listBillActivityVoice, e := rai_serve.GetCygxRaiCompanyUserBillListAll(conditionBill, parsBill)
+		if e != nil {
+			err = errors.New("GetCygxRaiServeBillListAll, Err: " + e.Error())
+			return
+		}
+
+		mapRscalendarBill := make(map[string]bool)
+		for _, v := range listBillActivityVoice {
+			mapRscalendarBill[fmt.Sprint("UID_", v.UserId, "SID_", v.SourceId)] = true
+		}
+
+		mapDelRscalendarBill := make(map[string]bool)
+		for _, v := range userActivityVoiceList {
+			mapDelRscalendarBill[fmt.Sprint("UID_", v.UserId, "SID_", v.ActivityVoiceId)] = true
+		}
+		for _, v := range listBillActivityVoice {
+			if !mapDelRscalendarBill[fmt.Sprint("UID_", v.UserId, "SID_", v.SourceId)] { // 如果内容存在就插入删除ID中
+				delBillIds = append(delBillIds, v.BillId)
+			}
+		}
+
+		for _, v := range userActivityVoiceList {
+			if mapRscalendarBill[fmt.Sprint("UID_", v.UserId, "SID_", v.ActivityVoiceId)] { // 如果内容存在就不插入
+				continue
+			}
+			item := new(rai_serve.CygxRaiCompanyUserBill)
+			item.Content = v.VoiceName
+			item.ServeTypeId = 8
+			item.ServeTypeName = "路演回放"
+			item.UserId = v.UserId
+			item.Mobile = v.Mobile
+			item.Email = v.Email
+			item.CompanyId = v.CompanyId
+			item.CompanyName = v.CompanyName
+			item.RealName = v.RealName
+			item.ServeCount = 0.5
+			if mapUserMaker[v.UserId] {
+				item.IsKp = 1
+				item.ServeCount = item.ServeCount * 3
+			}
+			item.SourceId = v.ActivityVoiceId
+			item.Source = utils.CYGX_OBJ_ACTIVITYVOICE
+			item.CreateTime = time.Now()
+			item.ViewTime = v.CreateTime
+			item.WeekStartDate, item.WeekEndDate = utils.GetMondayAndSundayByTimeString(item.ViewTime)
+			item.MonthStartDate, item.MonthEndDate = utils.GetFirstAndLastDayOfMonth(item.ViewTime)
+			items = append(items, item)
+		}
+	}
+	//活动音频记录 end
+
+	//活动视频记录
+	{
+		condition = " AND  b.company_id IN  (" + utils.GetOrmInReplace(lencompanyId) + ")  AND b.create_time > ?  GROUP BY  b.id   "
+		userActivityVideoList, e := models.GetCygxActivityVideoHistoryListNoLimit(condition, pars)
+		if e != nil {
+			err = errors.New("GetCygxChartRecordListNoLimit, Err: " + e.Error())
+			return
+		}
+
+		//图表浏览记录明细
+		var conditionBill string
+		var parsBill []interface{}
+		conditionBill = " AND source = 'activityvoice' AND   company_id IN  (" + utils.GetOrmInReplace(lencompanyId) + ")  AND view_time > ?  "
+		parsBill = append(parsBill, companyIds, startWeekDate)
+		listBillActivityVideo, e := rai_serve.GetCygxRaiCompanyUserBillListAll(conditionBill, parsBill)
+		if e != nil {
+			err = errors.New("GetCygxRaiServeBillListAll, Err: " + e.Error())
+			return
+		}
+
+		mapRscalendarBill := make(map[string]bool)
+		for _, v := range listBillActivityVideo {
+			mapRscalendarBill[fmt.Sprint("UID_", v.UserId, "SID_", v.SourceId)] = true
+		}
+
+		mapDelRscalendarBill := make(map[string]bool)
+		for _, v := range userActivityVideoList {
+			mapDelRscalendarBill[fmt.Sprint("UID_", v.UserId, "SID_", v.VideoId)] = true
+		}
+		for _, v := range listBillActivityVideo {
+			if !mapDelRscalendarBill[fmt.Sprint("UID_", v.UserId, "SID_", v.SourceId)] { // 如果内容存在就插入删除ID中
+				delBillIds = append(delBillIds, v.BillId)
+			}
+		}
+
+		for _, v := range userActivityVideoList {
+			if mapRscalendarBill[fmt.Sprint("UID_", v.UserId, "SID_", v.VideoId)] { // 如果内容存在就不插入
+				continue
+			}
+			item := new(rai_serve.CygxRaiCompanyUserBill)
+			item.Content = v.VideoName
+			item.ServeTypeId = 8
+			item.ServeTypeName = "路演回放"
+			item.UserId = v.UserId
+			item.Mobile = v.Mobile
+			item.Email = v.Email
+			item.CompanyId = v.CompanyId
+			item.CompanyName = v.CompanyName
+			item.RealName = v.RealName
+			item.ServeCount = 0.5
+			if mapUserMaker[v.UserId] {
+				item.IsKp = 1
+				item.ServeCount = item.ServeCount * 3
+			}
+			item.SourceId = v.VideoId
+			item.Source = utils.CYGX_OBJ_ACTIVITYVIDEO
+			item.CreateTime = time.Now()
+			item.ViewTime = v.CreateTime
+			item.WeekStartDate, item.WeekEndDate = utils.GetMondayAndSundayByTimeString(item.ViewTime)
+			item.MonthStartDate, item.MonthEndDate = utils.GetFirstAndLastDayOfMonth(item.ViewTime)
+			items = append(items, item)
+		}
+	}
+	//活动视频记录 end
+
 	//fmt.Println("items", len(items))
 	//return
 	if len(items) > 0 {

+ 130 - 0
services/rai_serve_count.go

@@ -1012,6 +1012,136 @@ func UpdateCygxRaiServeBillByCompanyIds() (err error) {
 	}
 	//图表浏览记录 end
 
+	//活动音频记录
+	{
+		condition = " AND  b.company_id IN  (" + utils.GetOrmInReplace(lencompanyId) + ")  AND b.create_time > ?  GROUP BY  b.id   "
+		userActivityVoiceList, e := models.GetCygxActivityVoiceHistoryListNoLimit(condition, pars)
+		if e != nil {
+			err = errors.New("GetCygxActivityVoiceHistoryListNoLimit, Err: " + e.Error())
+			return
+		}
+
+		//活动音频记录 明细
+		var conditionBill string
+		var parsBill []interface{}
+		conditionBill = " AND source = 'activityvoice' AND   company_id IN  (" + utils.GetOrmInReplace(lencompanyId) + ")  AND view_time > ?  "
+		parsBill = append(parsBill, companyIds, startWeekDate)
+		listBillActivityVoice, e := rai_serve.GetCygxRaiServeBillListAll(conditionBill, parsBill)
+		if e != nil {
+			err = errors.New("GetCygxRaiServeBillListAll, Err: " + e.Error())
+			return
+		}
+
+		mapRscalendarBill := make(map[string]bool)
+		for _, v := range listBillActivityVoice {
+			mapRscalendarBill[fmt.Sprint("UID_", v.UserId, "SID_", v.SourceId)] = true
+		}
+
+		mapDelRscalendarBill := make(map[string]bool)
+		for _, v := range userActivityVoiceList {
+			mapDelRscalendarBill[fmt.Sprint("UID_", v.UserId, "SID_", v.ActivityVoiceId)] = true
+		}
+		for _, v := range listBillActivityVoice {
+			if !mapDelRscalendarBill[fmt.Sprint("UID_", v.UserId, "SID_", v.SourceId)] { // 如果内容存在就插入删除ID中
+				delBillIds = append(delBillIds, v.BillId)
+			}
+		}
+
+		for _, v := range userActivityVoiceList {
+			if mapRscalendarBill[fmt.Sprint("UID_", v.UserId, "SID_", v.ActivityVoiceId)] { // 如果内容存在就不插入
+				continue
+			}
+			item := new(rai_serve.CygxRaiServeBill)
+			item.Content = v.VoiceName
+			item.ServeTypeId = 8
+			item.ServeTypeName = "路演回放"
+			item.UserId = v.UserId
+			item.Mobile = v.Mobile
+			item.Email = v.Email
+			item.CompanyId = v.CompanyId
+			item.CompanyName = v.CompanyName
+			item.RealName = v.RealName
+			item.ServeCount = 0.5
+			if mapUserMaker[v.UserId] {
+				item.IsKp = 1
+				item.ServeCount = item.ServeCount * 3
+			}
+			item.SourceId = v.ActivityVoiceId
+			item.Source = utils.CYGX_OBJ_ACTIVITYVOICE
+			item.CreateTime = time.Now()
+			item.ViewTime = v.CreateTime
+			item.WeekStartDate, item.WeekEndDate = utils.GetMondayAndSundayByTimeString(item.ViewTime)
+			item.MonthStartDate, item.MonthEndDate = utils.GetFirstAndLastDayOfMonth(item.ViewTime)
+			items = append(items, item)
+		}
+	}
+	//活动音频记录 end
+
+	//活动视频记录
+	{
+		condition = " AND  b.company_id IN  (" + utils.GetOrmInReplace(lencompanyId) + ")  AND b.create_time > ?  GROUP BY  b.id   "
+		userActivityVideoList, e := models.GetCygxActivityVideoHistoryListNoLimit(condition, pars)
+		if e != nil {
+			err = errors.New("GetCygxChartRecordListNoLimit, Err: " + e.Error())
+			return
+		}
+
+		//图表浏览记录明细
+		var conditionBill string
+		var parsBill []interface{}
+		conditionBill = " AND source = 'activityvoice' AND   company_id IN  (" + utils.GetOrmInReplace(lencompanyId) + ")  AND view_time > ?  "
+		parsBill = append(parsBill, companyIds, startWeekDate)
+		listBillActivityVideo, e := rai_serve.GetCygxRaiServeBillListAll(conditionBill, parsBill)
+		if e != nil {
+			err = errors.New("GetCygxRaiServeBillListAll, Err: " + e.Error())
+			return
+		}
+
+		mapRscalendarBill := make(map[string]bool)
+		for _, v := range listBillActivityVideo {
+			mapRscalendarBill[fmt.Sprint("UID_", v.UserId, "SID_", v.SourceId)] = true
+		}
+
+		mapDelRscalendarBill := make(map[string]bool)
+		for _, v := range userActivityVideoList {
+			mapDelRscalendarBill[fmt.Sprint("UID_", v.UserId, "SID_", v.VideoId)] = true
+		}
+		for _, v := range listBillActivityVideo {
+			if !mapDelRscalendarBill[fmt.Sprint("UID_", v.UserId, "SID_", v.SourceId)] { // 如果内容存在就插入删除ID中
+				delBillIds = append(delBillIds, v.BillId)
+			}
+		}
+
+		for _, v := range userActivityVideoList {
+			if mapRscalendarBill[fmt.Sprint("UID_", v.UserId, "SID_", v.VideoId)] { // 如果内容存在就不插入
+				continue
+			}
+			item := new(rai_serve.CygxRaiServeBill)
+			item.Content = v.VideoName
+			item.ServeTypeId = 8
+			item.ServeTypeName = "路演回放"
+			item.UserId = v.UserId
+			item.Mobile = v.Mobile
+			item.Email = v.Email
+			item.CompanyId = v.CompanyId
+			item.CompanyName = v.CompanyName
+			item.RealName = v.RealName
+			item.ServeCount = 0.5
+			if mapUserMaker[v.UserId] {
+				item.IsKp = 1
+				item.ServeCount = item.ServeCount * 3
+			}
+			item.SourceId = v.VideoId
+			item.Source = utils.CYGX_OBJ_ACTIVITYVIDEO
+			item.CreateTime = time.Now()
+			item.ViewTime = v.CreateTime
+			item.WeekStartDate, item.WeekEndDate = utils.GetMondayAndSundayByTimeString(item.ViewTime)
+			item.MonthStartDate, item.MonthEndDate = utils.GetFirstAndLastDayOfMonth(item.ViewTime)
+			items = append(items, item)
+		}
+	}
+	//活动视频记录 end
+
 	if len(items) > 0 {
 		var itemsAdd []*rai_serve.CygxRaiServeBill
 		for k, v := range items {