|
@@ -110,11 +110,11 @@ func YanXuanActivityPointsBillReduce() (err error) {
|
|
|
fmt.Println(" 2:取消报名")
|
|
|
break
|
|
|
case 3:
|
|
|
- //go ActivityUserLabelLogReduce(log)
|
|
|
+ go YanXuanActivityPointsBillActivityEditReduce(log)
|
|
|
fmt.Println("3:活动编辑")
|
|
|
break
|
|
|
case 4:
|
|
|
- //go CategoryFllowUserLabelLogReduce(log)
|
|
|
+ go YanXuanActivityPointsBillActivityPublishAndCancelReduce(log)
|
|
|
fmt.Println("4:活动发布,取消发布")
|
|
|
break
|
|
|
case 5:
|
|
@@ -123,7 +123,7 @@ func YanXuanActivityPointsBillReduce() (err error) {
|
|
|
break
|
|
|
default:
|
|
|
fmt.Println(string(b))
|
|
|
- go utils.SendAlarmMsg("用户更新相关标签处理Redis队列消息失败:"+string(b), 2)
|
|
|
+ go utils.SendAlarmMsg("处理研选活动扣点处理Redis队列消息失败:"+string(b), 2)
|
|
|
}
|
|
|
})
|
|
|
}
|
|
@@ -185,6 +185,7 @@ func YanXuanActivityPointsBillSignupAddReduce(log models.YanXuanActivityPointsRe
|
|
|
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 + "--报名"
|
|
@@ -259,6 +260,7 @@ func YanXuanActivityPointsBillSignupCancelReduce(log models.YanXuanActivityPoint
|
|
|
item.BillDetailed = activityPointsSetDetail.UserPointsNum
|
|
|
item.RegisterPlatform = log.RegisterPlatform
|
|
|
item.AdminId = log.AdminId
|
|
|
+ item.Source = log.Source
|
|
|
item.ChartPermissionId = activityInfo.ChartPermissionId
|
|
|
item.DoType = 2
|
|
|
item.Content = activityInfo.ActivityName + "--取消报名"
|
|
@@ -276,3 +278,231 @@ func YanXuanActivityPointsBillSignupCancelReduce(log models.YanXuanActivityPoint
|
|
|
err = models.AddCygxActivityPointsBillMulti(items, itemCompanys)
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+// 3:活动编辑
|
|
|
+func YanXuanActivityPointsBillActivityEditReduce(log models.YanXuanActivityPointsRedis) (err error) {
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ go utils.SendAlarmMsg("用户报名活动扣点,处理Redis队列消息失败:"+err.Error()+fmt.Sprint("ActivityId", log.ActivityId, "userId", log.UserId), 2)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+
|
|
|
+ activityId := log.ActivityId
|
|
|
+ comapnyId := log.ComapnyId
|
|
|
+
|
|
|
+ //获取活动是否扣点以及扣点规则明细
|
|
|
+ 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.CompanyPointsNum == 0 {
|
|
|
+ return // 如果不是办会人,即扣点的这种形式,那么就不做任何处理
|
|
|
+ }
|
|
|
+
|
|
|
+ activityInfo, e := models.GetAddActivityInfoById(activityId)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetAddActivityInfoById" + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if activityInfo.PublishStatus == 0 {
|
|
|
+ return // 未发布的活动不做处理
|
|
|
+ }
|
|
|
+ comapny, e := models.GetCompanyById(comapnyId)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetCompanyById" + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // 获取用户所在公司剩余的点
|
|
|
+ companyPointsNum, e := models.GetCompanyPoints(comapny.CompanyId)
|
|
|
+ if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+ err = errors.New("GetCompanyPoints, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ //查询最新的一条针对这个公司的扣点记录
|
|
|
+ var condition string
|
|
|
+ var pars []interface{}
|
|
|
+ condition += ` AND activity_id = ? AND company_id = ? AND user_id = 0 ORDER BY id DESC LIMIT 1 `
|
|
|
+ pars = append(pars, activityId)
|
|
|
+ activityPointsBillDetail, e := models.GetCygxActivityPointsBillDetailByCondition(condition, pars)
|
|
|
+ if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+ err = errors.New("GetCompanyPoints, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var items []*models.CygxActivityPointsBill
|
|
|
+ item := new(models.CygxActivityPointsBill)
|
|
|
+ var itemCompanys []*models.CygxActivityPointsCompany
|
|
|
+ itemCompany := new(models.CygxActivityPointsCompany)
|
|
|
+ if activityPointsBillDetail == nil { //如果是空的就添加
|
|
|
+ //获取需要添加的流水信息
|
|
|
+
|
|
|
+ //item.UserId = user.UserId
|
|
|
+ item.ActivityId = activityId
|
|
|
+ item.CreateTime = time.Now()
|
|
|
+ //item.Mobile = user.Mobile
|
|
|
+ //item.Email = user.Email
|
|
|
+ item.CompanyId = comapny.CompanyId
|
|
|
+ item.CompanyName = comapny.CompanyName
|
|
|
+ //item.RealName = user.RealName
|
|
|
+ item.BillDetailed = -activityPointsSetDetail.CompanyPointsNum
|
|
|
+ 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.CompanyPointsNum
|
|
|
+ items = append(items, item)
|
|
|
+
|
|
|
+ //更新对应机构的剩余点数
|
|
|
+ itemCompany.CompanyId = comapny.CompanyId
|
|
|
+ itemCompany.Points = item.Points
|
|
|
+ itemCompany.ModifyTime = time.Now()
|
|
|
+ itemCompanys = append(itemCompanys, itemCompany)
|
|
|
+ e = models.AddCygxActivityPointsBillMulti(items, itemCompanys)
|
|
|
+ if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+ err = errors.New("AddCygxActivityPointsBillMulti, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ //如果存在就进行对比修改
|
|
|
+ if activityPointsSetDetail.CompanyPointsNum != activityPointsBillDetail.BillDetailed {
|
|
|
+ item.Id = activityPointsBillDetail.Id
|
|
|
+ item.BillDetailed = -activityPointsSetDetail.CompanyPointsNum
|
|
|
+ item.Points = companyPointsNum - activityPointsBillDetail.BillDetailed - activityPointsSetDetail.CompanyPointsNum
|
|
|
+ items = append(items, item)
|
|
|
+
|
|
|
+ //更新对应机构的剩余点数
|
|
|
+ itemCompany.CompanyId = comapny.CompanyId
|
|
|
+ itemCompany.Points = item.Points
|
|
|
+ itemCompany.ModifyTime = time.Now()
|
|
|
+ itemCompanys = append(itemCompanys, itemCompany)
|
|
|
+ e = models.UpdateCygxActivityPointsBillMulti(items, itemCompanys)
|
|
|
+ if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+ err = errors.New("UpdateCygxActivityPointsBillMulti, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+// 4:活动发布以及取消发布
|
|
|
+func YanXuanActivityPointsBillActivityPublishAndCancelReduce(log models.YanXuanActivityPointsRedis) (err error) {
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ go utils.SendAlarmMsg("用户报名活动扣点,处理Redis队列消息失败:"+err.Error()+fmt.Sprint("ActivityId", log.ActivityId, "userId", log.UserId), 2)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+
|
|
|
+ activityId := log.ActivityId
|
|
|
+ //comapnyId := log.ComapnyId
|
|
|
+
|
|
|
+ //获取活动是否扣点以及扣点规则明细
|
|
|
+ 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.CompanyPointsNum == 0 {
|
|
|
+ return // 如果不是办会人,即扣点的这种形式,那么就不做任何处理
|
|
|
+ }
|
|
|
+
|
|
|
+ activityInfo, e := models.GetAddActivityInfoById(activityId)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetAddActivityInfoById" + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if activityInfo.PublishStatus == 0 {
|
|
|
+ return // 未发布的活动不做处理
|
|
|
+ }
|
|
|
+ comapny, e := models.GetCompanyById(comapnyId)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetCompanyById" + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // 获取用户所在公司剩余的点
|
|
|
+ companyPointsNum, e := models.GetCompanyPoints(comapny.CompanyId)
|
|
|
+ if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+ err = errors.New("GetCompanyPoints, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ //查询最新的一条针对这个公司的扣点记录
|
|
|
+ var condition string
|
|
|
+ var pars []interface{}
|
|
|
+ condition += ` AND activity_id = ? AND company_id = ? AND user_id = 0 ORDER BY id DESC LIMIT 1 `
|
|
|
+ pars = append(pars, activityId)
|
|
|
+ activityPointsBillDetail, e := models.GetCygxActivityPointsBillDetailByCondition(condition, pars)
|
|
|
+ if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+ err = errors.New("GetCompanyPoints, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var items []*models.CygxActivityPointsBill
|
|
|
+ item := new(models.CygxActivityPointsBill)
|
|
|
+ var itemCompanys []*models.CygxActivityPointsCompany
|
|
|
+ itemCompany := new(models.CygxActivityPointsCompany)
|
|
|
+ if activityPointsBillDetail == nil { //如果是空的就添加
|
|
|
+ //获取需要添加的流水信息
|
|
|
+
|
|
|
+ //item.UserId = user.UserId
|
|
|
+ item.ActivityId = activityId
|
|
|
+ item.CreateTime = time.Now()
|
|
|
+ //item.Mobile = user.Mobile
|
|
|
+ //item.Email = user.Email
|
|
|
+ item.CompanyId = comapny.CompanyId
|
|
|
+ item.CompanyName = comapny.CompanyName
|
|
|
+ //item.RealName = user.RealName
|
|
|
+ item.BillDetailed = -activityPointsSetDetail.CompanyPointsNum
|
|
|
+ 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.CompanyPointsNum
|
|
|
+ items = append(items, item)
|
|
|
+
|
|
|
+ //更新对应机构的剩余点数
|
|
|
+ itemCompany.CompanyId = comapny.CompanyId
|
|
|
+ itemCompany.Points = item.Points
|
|
|
+ itemCompany.ModifyTime = time.Now()
|
|
|
+ itemCompanys = append(itemCompanys, itemCompany)
|
|
|
+ e = models.AddCygxActivityPointsBillMulti(items, itemCompanys)
|
|
|
+ if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+ err = errors.New("AddCygxActivityPointsBillMulti, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ //如果存在就进行对比修改
|
|
|
+ if activityPointsSetDetail.CompanyPointsNum != activityPointsBillDetail.BillDetailed {
|
|
|
+ item.Id = activityPointsBillDetail.Id
|
|
|
+ item.BillDetailed = -activityPointsSetDetail.CompanyPointsNum
|
|
|
+ item.Points = companyPointsNum - activityPointsBillDetail.BillDetailed - activityPointsSetDetail.CompanyPointsNum
|
|
|
+ items = append(items, item)
|
|
|
+
|
|
|
+ //更新对应机构的剩余点数
|
|
|
+ itemCompany.CompanyId = comapny.CompanyId
|
|
|
+ itemCompany.Points = item.Points
|
|
|
+ itemCompany.ModifyTime = time.Now()
|
|
|
+ itemCompanys = append(itemCompanys, itemCompany)
|
|
|
+ e = models.UpdateCygxActivityPointsBillMulti(items, itemCompanys)
|
|
|
+ if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+ err = errors.New("UpdateCygxActivityPointsBillMulti, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|