|
@@ -1,6 +1,7 @@
|
|
|
package services
|
|
|
|
|
|
import (
|
|
|
+ "encoding/json"
|
|
|
"fmt"
|
|
|
"hongze/hongze_cygx/models/rai_serve"
|
|
|
"hongze/hongze_cygx/utils"
|
|
@@ -29,7 +30,7 @@ func CygxRaiServeBillRedisAdd(content, source string, userId, comapnyId, sourceI
|
|
|
go utils.SendAlarmMsg("权益服务统计添加到Redis队列中,写入Redis队列消息失败 CygxRaiServeBillRedisAdd:"+err.Error()+msg, 2)
|
|
|
}
|
|
|
}()
|
|
|
- log := &rai_serve.RaiServeBillRedis{Content: content, UserId: userId, ComapnyId: comapnyId, SourceId: sourceId, RegisterPlatform: registerPlatform, ViewTime: viewTime}
|
|
|
+ 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 {
|
|
@@ -38,3 +39,139 @@ func CygxRaiServeBillRedisAdd(content, source string, userId, comapnyId, sourceI
|
|
|
}
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+//func init() {
|
|
|
+// CygxRaiServeBillRedisAddReduce()
|
|
|
+//}
|
|
|
+
|
|
|
+// 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)
|
|
|
+ }
|
|
|
+ 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 {
|
|
|
+ fmt.Println(err)
|
|
|
+ go utils.SendAlarmMsg("用户报名活动扣点,处理Redis队列消息失败:"+err.Error()+fmt.Sprint("source:", source, "userId:", userId, "sourceId", sourceId), 2)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+
|
|
|
+ //activityId := log.ActivityId
|
|
|
+ //userId := log.UserId
|
|
|
+ //
|
|
|
+ //activtyPayTotal := GetCygxOrderVirtualAssetdCountTotal(userId, activityId) // 单场付费活动不处理扣点明细
|
|
|
+ //if activtyPayTotal > 0 {
|
|
|
+ // return
|
|
|
+ //}
|
|
|
+ //
|
|
|
+ ////获取活动是否扣点以及扣点规则明细
|
|
|
+ //activityPointsSetDetail, e := models.GetCygxActivityPointsSetDetail(activityId)
|
|
|
+ //if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+ // err = errors.New("GetCygxActivityPointsSetDetail" + e.Error())
|
|
|
+ // return
|
|
|
+ //}
|
|
|
+ //if activityPointsSetDetail == nil {
|
|
|
+ // return
|
|
|
+ //}
|
|
|
+ //if activityPointsSetDetail.UserPointsNum == 0 || activityPointsSetDetail.PointsType != 1 {
|
|
|
+ // return // 如果不是报名即扣点的这种形式,那么就不做任何处理
|
|
|
+ //}
|
|
|
+ //
|
|
|
+ //activityInfo, e := models.GetAddActivityInfoById(activityId)
|
|
|
+ //if e != nil {
|
|
|
+ // err = errors.New("GetAddActivityInfoById" + e.Error())
|
|
|
+ // return
|
|
|
+ //}
|
|
|
+ //user, e := models.GetWxUserItemByUserId(userId)
|
|
|
+ //if e != nil {
|
|
|
+ // err = errors.New("GetWxUserItemByUserId" + e.Error())
|
|
|
+ // return
|
|
|
+ //}
|
|
|
+ //companyId := user.CompanyId
|
|
|
+ ////判断公司是不是满足扣点情况,如果是后台超管手动给试用客户报名,就写入一条点数初始化数据
|
|
|
+ //total, e := models.GetCygxActivityPointsCompanyCountByCompanyId(companyId)
|
|
|
+ //if e != nil {
|
|
|
+ // err = errors.New("GetCygxActivityPointsCompanyCountByCompanyId, Err: " + e.Error())
|
|
|
+ // return
|
|
|
+ //}
|
|
|
+ //var companyPointsNum float64
|
|
|
+ //if total == 0 {
|
|
|
+ // companyPointsNum = 0
|
|
|
+ // itemPointsCompany := new(models.CygxActivityPointsCompany)
|
|
|
+ //
|
|
|
+ // itemPointsCompany.CompanyId = companyId
|
|
|
+ // itemPointsCompany.CompanyName = user.CompanyName
|
|
|
+ // itemPointsCompany.CreateTime = time.Now()
|
|
|
+ // itemPointsCompany.ModifyTime = time.Now()
|
|
|
+ //
|
|
|
+ // e = models.AddCygxActivityPointsCompany(itemPointsCompany)
|
|
|
+ // if e != nil {
|
|
|
+ // err = errors.New("AddCygxActivityPointsCompany, Err: " + e.Error())
|
|
|
+ // return
|
|
|
+ // }
|
|
|
+ //} else {
|
|
|
+ // // 获取用户所在公司剩余的点
|
|
|
+ // companyPointsNum, e = models.GetCompanyPoints(user.CompanyId)
|
|
|
+ // if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+ // err = errors.New("GetCompanyPoints, Err: " + e.Error())
|
|
|
+ // return
|
|
|
+ // }
|
|
|
+ //
|
|
|
+ //}
|
|
|
+ //
|
|
|
+ ////获取需要添加的流水信息
|
|
|
+ //var items []*models.CygxActivityPointsBill
|
|
|
+ //item := new(models.CygxActivityPointsBill)
|
|
|
+ //item.UserId = user.UserId
|
|
|
+ //item.ActivityId = activityId
|
|
|
+ //item.CreateTime = time.Now()
|
|
|
+ //item.Mobile = user.Mobile
|
|
|
+ //item.Email = user.Email
|
|
|
+ //item.CompanyId = user.CompanyId
|
|
|
+ //item.CompanyName = user.CompanyName
|
|
|
+ //item.RealName = user.RealName
|
|
|
+ //item.BillDetailed = -activityPointsSetDetail.UserPointsNum
|
|
|
+ //item.RegisterPlatform = log.RegisterPlatform
|
|
|
+ //item.AdminId = log.AdminId
|
|
|
+ //item.Source = log.Source
|
|
|
+ //item.ChartPermissionId = activityInfo.ChartPermissionId
|
|
|
+ //item.DoType = 1
|
|
|
+ //item.Content = activityInfo.ActivityName + "--报名"
|
|
|
+ //item.Points = companyPointsNum - activityPointsSetDetail.UserPointsNum
|
|
|
+ //items = append(items, item)
|
|
|
+ //
|
|
|
+ ////更新对应机构的剩余点数
|
|
|
+ //var itemCompanys []*models.CygxActivityPointsCompany
|
|
|
+ //itemCompany := new(models.CygxActivityPointsCompany)
|
|
|
+ //itemCompany.CompanyId = user.CompanyId
|
|
|
+ //itemCompany.Points = item.Points
|
|
|
+ //itemCompany.ModifyTime = time.Now()
|
|
|
+ //itemCompanys = append(itemCompanys, itemCompany)
|
|
|
+ //
|
|
|
+ //err = models.AddCygxActivityPointsBillMulti(items, itemCompanys)
|
|
|
+ return
|
|
|
+}
|