|
@@ -2,7 +2,6 @@ package services
|
|
|
|
|
|
import (
|
|
|
"context"
|
|
|
- "encoding/json"
|
|
|
"errors"
|
|
|
"fmt"
|
|
|
"hongze/hongze_cygx/models"
|
|
@@ -93,13 +92,15 @@ func UpdateRaiServeCompany() (err error) {
|
|
|
|
|
|
var condition string
|
|
|
var pars []interface{}
|
|
|
- condition = ` AND p.product_id = 2 AND (p.group_id = ? OR p.share_group_id = ?) `
|
|
|
- pars = append(pars, utils.RAI_SERVE_GROUP_ID, utils.RAI_SERVE_GROUP_ID)
|
|
|
+ condition = ` AND p.product_id = 2 AND (p.group_id IN (` + utils.RAI_SERVE_GROUP_ID + `) OR p.share_group_id IN (` + utils.RAI_SERVE_GROUP_ID + `) ) `
|
|
|
+ //pars = append(pars, utils.RAI_SERVE_GROUP_ID, utils.RAI_SERVE_GROUP_ID)
|
|
|
listCompanyProduct, e := company.GetCompanyProductAndCompanyListByCondition(condition, pars)
|
|
|
if e != nil {
|
|
|
err = errors.New("GetCompanyProductListByCondition, Err: " + e.Error())
|
|
|
return
|
|
|
}
|
|
|
+ //fmt.Println(len(listCompanyProduct))
|
|
|
+ //return
|
|
|
|
|
|
raiServeCompanyList, e := rai_serve.GetCygxRaiServeCompanyAllList()
|
|
|
if e != nil {
|
|
@@ -1340,7 +1341,7 @@ func UpdateWeekAvg() (err error) {
|
|
|
if mapContractCompanyIds[v] {
|
|
|
continue
|
|
|
}
|
|
|
- fmt.Println(v)
|
|
|
+ //fmt.Println(v)
|
|
|
item := new(rai_serve.CygxRaiServeCompany)
|
|
|
item.CompanyId = v
|
|
|
|
|
@@ -1365,104 +1366,3 @@ func UpdateWeekAvg() (err error) {
|
|
|
fmt.Println(" UpdateWeekAvg end")
|
|
|
return
|
|
|
}
|
|
|
-
|
|
|
-// 权益服务统计添加到Redis队列中
|
|
|
-func CygxRaiServeBillRedisAdd(content, source string, userId, comapnyId, sourceId, registerPlatform int, viewTime time.Time) (err error) {
|
|
|
- defer func() {
|
|
|
- if err != nil {
|
|
|
- fmt.Println(err)
|
|
|
- msg := fmt.Sprint("source:", source, "userId:", userId, "sourceId", sourceId)
|
|
|
- go utils.SendAlarmMsg("权益服务统计添加到Redis队列中,写入Redis队列消息失败 CygxRaiServeBillRedisAdd:"+err.Error()+msg, 2)
|
|
|
- }
|
|
|
- }()
|
|
|
- log := &rai_serve.RaiServeBillRedis{Content: content, Source: source, UserId: userId, ComapnyId: comapnyId, SourceId: sourceId, RegisterPlatform: registerPlatform, ViewTime: viewTime}
|
|
|
- if utils.Re == nil {
|
|
|
- err := utils.Rc.LPush(utils.CYGX_RAI_SERVE_BILL_KEY, log)
|
|
|
- if err != nil {
|
|
|
- fmt.Println("RaiServeBillRedis LPush Err:" + err.Error())
|
|
|
- }
|
|
|
- }
|
|
|
- return
|
|
|
-}
|
|
|
-
|
|
|
-// CygxRaiServeBillRedisAddReduce 处理权益服务统计
|
|
|
-func CygxRaiServeBillRedisAddReduce() (err error) {
|
|
|
- for {
|
|
|
- //SourceType int `description:"1:报名、 2:取消报名、3:活动编辑、4:活动发布,取消发布、5:活动到会。"`
|
|
|
- utils.Rc.Brpop(utils.CYGX_RAI_SERVE_BILL_KEY, func(b []byte) {
|
|
|
- var log rai_serve.RaiServeBillRedis
|
|
|
- if err := json.Unmarshal(b, &log); err != nil {
|
|
|
- fmt.Println("json unmarshal wrong!")
|
|
|
- go utils.SendAlarmMsg("处理权益服务统计Redis队列消息失败:"+err.Error()+string(b), 2)
|
|
|
- }
|
|
|
- //如果不是共享给 权益服务组的,则不处理
|
|
|
- taotalRaiServe, err := company.GetCompanyProductAaiServeCount(log.ComapnyId, utils.RAI_SERVE_GROUP_ID)
|
|
|
- if err != nil {
|
|
|
- go utils.SendAlarmMsg("处理权益服务统计Redis队列消息失败:GetCompanyProductAaiServeCount"+err.Error()+string(b), 2)
|
|
|
- }
|
|
|
- fmt.Println("taotaRaiServe", taotalRaiServe)
|
|
|
- if taotalRaiServe == 0 {
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- //如果已经有记录了就不处理
|
|
|
- taotalSource, err := rai_serve.GetCygxRaiServeBillCountByUserAndSource(log.UserId, log.SourceId, log.Source)
|
|
|
- if err != nil {
|
|
|
- go utils.SendAlarmMsg("处理权益服务统计Redis队列消息失败:GetCygxRaiServeBillCountByUserAndSource"+err.Error()+string(b), 2)
|
|
|
- }
|
|
|
- if taotalSource > 0 {
|
|
|
- return
|
|
|
- }
|
|
|
- switch log.Source {
|
|
|
- case utils.CYGX_OBJ_YANXUANSPECIAL: //研选专栏阅读记录处理
|
|
|
- go RaiServeBillRedisAddReduceByYanxuanspecial(log)
|
|
|
- fmt.Println("研选专栏阅读记录处理")
|
|
|
- break
|
|
|
-
|
|
|
- default:
|
|
|
- fmt.Println(string(b))
|
|
|
- go utils.SendAlarmMsg("处理研选活动扣点处理Redis队列消息失败:"+string(b), 2)
|
|
|
- }
|
|
|
- })
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-// 处理权益服务统计->研选阅读记录
|
|
|
-func RaiServeBillRedisAddReduceByYanxuanspecial(log rai_serve.RaiServeBillRedis) (err error) {
|
|
|
- source := log.Source
|
|
|
- userId := log.UserId
|
|
|
- sourceId := log.SourceId
|
|
|
- defer func() {
|
|
|
- if err != nil {
|
|
|
- go utils.SendAlarmMsg("用户报名活动扣点,处理Redis队列消息失败:"+err.Error()+fmt.Sprint("source:", source, "userId:", userId, "sourceId", sourceId), 2)
|
|
|
- }
|
|
|
- }()
|
|
|
- wxUser, e := models.GetWxUserItemByUserId(userId)
|
|
|
- if e != nil {
|
|
|
- err = errors.New("GetWxUserItemByUserId, Err: " + e.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- item := new(rai_serve.CygxRaiServeBill)
|
|
|
- item.Content = log.Content
|
|
|
- item.ServeTypeId = 5
|
|
|
- item.ServeTypeName = "阅读uv"
|
|
|
- item.UserId = wxUser.UserId
|
|
|
- item.Mobile = wxUser.Mobile
|
|
|
- item.Email = wxUser.Email
|
|
|
- item.CompanyId = wxUser.CompanyId
|
|
|
- item.CompanyName = wxUser.CompanyName
|
|
|
- item.RealName = wxUser.RealName
|
|
|
- item.RegisterPlatform = log.RegisterPlatform
|
|
|
- item.ServeCount = 0.5
|
|
|
-
|
|
|
- if wxUser.IsMaker == 1 {
|
|
|
- item.IsKp = wxUser.IsMaker
|
|
|
- item.ServeCount = item.ServeCount * 3
|
|
|
- }
|
|
|
- item.SourceId = log.SourceId
|
|
|
- item.Source = log.Source
|
|
|
- item.CreateTime = time.Now()
|
|
|
- item.ViewTime = log.ViewTime.Format(utils.FormatDateTime)
|
|
|
- err = rai_serve.AddCygxRaiServeBill(item)
|
|
|
- return
|
|
|
-}
|