|
@@ -1,11 +1,9 @@
|
|
|
package services
|
|
|
|
|
|
import (
|
|
|
- "encoding/json"
|
|
|
"errors"
|
|
|
"fmt"
|
|
|
"hongze/hongze_mfyx/models"
|
|
|
- "hongze/hongze_mfyx/models/company"
|
|
|
"hongze/hongze_mfyx/utils"
|
|
|
"strconv"
|
|
|
"time"
|
|
@@ -132,915 +130,22 @@ func YanXuanActivityPointsBillSubmitMeeting(activityId, adminId int) (err error)
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-// YanXuanActivityPointsBillReduce 处理研选活动扣点
|
|
|
-func YanXuanActivityPointsBillReduce() (err error) {
|
|
|
- for {
|
|
|
- //SourceType int `description:"1:报名、 2:取消报名、3:活动编辑、4:活动发布,取消发布、5:活动到会。"`
|
|
|
- utils.Rc.Brpop(utils.CYGX_YANXUAN_POINTS_KEY, func(b []byte) {
|
|
|
- var log models.YanXuanActivityPointsRedis
|
|
|
- if err := json.Unmarshal(b, &log); err != nil {
|
|
|
- fmt.Println("json unmarshal wrong!")
|
|
|
- go utils.SendAlarmMsg("处理研选活动扣点处理Redis队列消息失败:"+err.Error()+string(b), 2)
|
|
|
- }
|
|
|
- switch log.SourceType {
|
|
|
- case 1:
|
|
|
- go YanXuanActivityPointsBillSignupAddReduce(log)
|
|
|
- fmt.Println("1:报名")
|
|
|
- break
|
|
|
- case 2:
|
|
|
- go YanXuanActivityPointsBillSignupCancelReduce(log)
|
|
|
- fmt.Println(" 2:取消报名")
|
|
|
- break
|
|
|
- case 3:
|
|
|
- go YanXuanActivityPointsBillActivityEditReduce(log)
|
|
|
- fmt.Println("3:活动编辑")
|
|
|
- break
|
|
|
- case 4:
|
|
|
- go YanXuanActivityPointsBillActivityPublishAndCancelReduce(log)
|
|
|
- fmt.Println("4:活动发布、取消发布")
|
|
|
- break
|
|
|
- case 5:
|
|
|
- go YanXuanActivityPointsBillSubmitMeetingReduce(log)
|
|
|
- fmt.Println("5:活动到会研选扣点处理。")
|
|
|
- case 6:
|
|
|
- go YanXuanCompanyApprovalReduce(log)
|
|
|
- fmt.Println("6:研选审批通过的时候研选扣点更新。")
|
|
|
- break
|
|
|
- case 7:
|
|
|
- go YanXuanCompanyCompanyTryOutReduce(log)
|
|
|
- fmt.Println("7:正式专试用定时任务更新研选扣点。")
|
|
|
- break
|
|
|
- default:
|
|
|
- fmt.Println(string(b))
|
|
|
- go utils.SendAlarmMsg("处理研选活动扣点处理Redis队列消息失败:"+string(b), 2)
|
|
|
- }
|
|
|
- })
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-// 1:用户报名
|
|
|
-func YanXuanActivityPointsBillSignupAddReduce(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)
|
|
|
- }
|
|
|
- }()
|
|
|
- //加2000毫秒的延迟
|
|
|
- time.Sleep(2 * time.Second)
|
|
|
- activityId := log.ActivityId
|
|
|
- userId := log.UserId
|
|
|
-
|
|
|
- //获取活动是否扣点以及扣点规则明细
|
|
|
- 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
|
|
|
- }
|
|
|
-
|
|
|
- // 获取用户所在公司剩余的点
|
|
|
- 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
|
|
|
-}
|
|
|
-
|
|
|
-// 2:用户取消报名
|
|
|
-func YanXuanActivityPointsBillSignupCancelReduce(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
|
|
|
- userId := log.UserId
|
|
|
-
|
|
|
- //获取活动是否扣点以及扣点规则明细
|
|
|
- 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
|
|
|
- }
|
|
|
-
|
|
|
- // 获取用户所在公司剩余的点
|
|
|
- companyPointsNum, e := models.GetCompanyPoints(user.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 user_id = ? AND bill_detailed < 0 ORDER BY id DESC LIMIT 1 `
|
|
|
- pars = append(pars, activityId, userId)
|
|
|
- activityPointsBillDetail, e := models.GetCygxActivityPointsBillDetailByCondition(condition, pars)
|
|
|
- if e != nil {
|
|
|
- err = errors.New("activityPointsBillDetail" + 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 = -activityPointsBillDetail.BillDetailed
|
|
|
- item.RegisterPlatform = log.RegisterPlatform
|
|
|
- item.AdminId = log.AdminId
|
|
|
- item.Source = log.Source
|
|
|
- item.ChartPermissionId = activityInfo.ChartPermissionId
|
|
|
- item.DoType = 2
|
|
|
- item.Content = activityInfo.ActivityName + "--取消报名"
|
|
|
- item.Points = companyPointsNum - activityPointsBillDetail.BillDetailed
|
|
|
- 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
|
|
|
-}
|
|
|
-
|
|
|
-// 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
|
|
|
-
|
|
|
- //获取活动是否扣点以及扣点规则明细
|
|
|
- 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 // 如果不是办会人,即扣点的这种形式,那么就不做任何处理
|
|
|
- }
|
|
|
- comapnyId := activityPointsSetDetail.CompanyId
|
|
|
- activityInfo, e := models.GetAddActivityInfoByActivityId(activityId)
|
|
|
- if e != nil {
|
|
|
- err = errors.New("GetAddActivityInfoByActivityId" + 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 mobile = '' AND bill_detailed < 0 ORDER BY id DESC LIMIT 1 `
|
|
|
- pars = append(pars, activityId, comapnyId)
|
|
|
- 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
|
|
|
- publishStatus := log.PublishStatus
|
|
|
- //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 && activityPointsSetDetail.PointsType == 2 {
|
|
|
- //if activityPointsSetDetail.CompanyPointsNum == 0 {
|
|
|
- return // 如果不是办会人扣点,且对用户是到会扣点的这种形式,那么就不做任何处理
|
|
|
- }
|
|
|
-
|
|
|
- activityInfo, e := models.GetAddActivityInfoByActivityId(activityId)
|
|
|
- if e != nil {
|
|
|
- err = errors.New("GetAddActivityInfoByActivityId" + e.Error())
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- comapnyId := activityPointsSetDetail.CompanyId
|
|
|
- var items []*models.CygxActivityPointsBill
|
|
|
-
|
|
|
- var itemCompanys []*models.CygxActivityPointsCompany
|
|
|
- mapCompanyPoints := make(map[int]float64) //一组公司的剩余点数
|
|
|
- if publishStatus == 1 {
|
|
|
- fmt.Println("//活动发布")
|
|
|
- if comapnyId > 0 {
|
|
|
- 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
|
|
|
- }
|
|
|
- item := new(models.CygxActivityPointsBill)
|
|
|
- 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 := new(models.CygxActivityPointsCompany)
|
|
|
- itemCompany.CompanyId = comapny.CompanyId
|
|
|
- itemCompany.Points = item.Points
|
|
|
- itemCompany.ModifyTime = time.Now()
|
|
|
- itemCompanys = append(itemCompanys, itemCompany)
|
|
|
- mapCompanyPoints[comapnyId] = item.Points
|
|
|
- }
|
|
|
-
|
|
|
- if activityPointsSetDetail.UserPointsNum > 0 && activityPointsSetDetail.PointsType == 1 {
|
|
|
- //如果扣点形式选的是报名即扣点,那么就对已经报名的用户所在机构进行扣点
|
|
|
- var condition string
|
|
|
- var pars []interface{}
|
|
|
- condition = ` AND do_fail_type = 0 AND activity_id = ?`
|
|
|
- pars = append(pars, activityId)
|
|
|
-
|
|
|
- listSignup, e := models.GetActivitySignupList(condition, pars)
|
|
|
- if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
- err = errors.New("GetActivitySignupList, Err: " + e.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- var companyIds []int
|
|
|
- if len(listSignup) > 0 {
|
|
|
- for _, v := range listSignup {
|
|
|
- companyIds = append(companyIds, v.CompanyId)
|
|
|
- }
|
|
|
- pars = make([]interface{}, 0)
|
|
|
- condition = ` AND company_id IN (` + utils.GetOrmInReplace(len(companyIds)) + `)`
|
|
|
- pars = append(pars, companyIds)
|
|
|
-
|
|
|
- //获取这些公司剩余的点数
|
|
|
- conpanyList, e := models.GetCygxActivityPointsCompanyList(condition, pars)
|
|
|
- if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
- err = errors.New("GetCygxActivityPointsCompanyList, Err: " + e.Error())
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- for _, v := range conpanyList {
|
|
|
- if mapCompanyPoints[v.CompanyId] == 0 {
|
|
|
- mapCompanyPoints[v.CompanyId] = v.Points
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- for _, user := range listSignup {
|
|
|
- item := new(models.CygxActivityPointsBill)
|
|
|
- item.ActivityId = activityId
|
|
|
- item.CreateTime = time.Now()
|
|
|
- item.Mobile = user.Mobile
|
|
|
- item.UserId = user.UserId
|
|
|
- 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 + "--发布活动"
|
|
|
- mapCompanyPoints[user.CompanyId] -= activityPointsSetDetail.UserPointsNum //通过map处理机构剩余点数
|
|
|
- item.Points = mapCompanyPoints[user.CompanyId]
|
|
|
- items = append(items, item)
|
|
|
-
|
|
|
- //更新对应机构的剩余点数
|
|
|
- itemCompany := new(models.CygxActivityPointsCompany)
|
|
|
- itemCompany.CompanyId = user.CompanyId
|
|
|
- itemCompany.Points = item.Points
|
|
|
- itemCompany.ModifyTime = time.Now()
|
|
|
- itemCompanys = append(itemCompanys, itemCompany)
|
|
|
- mapCompanyPoints[user.CompanyId] = item.Points
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- } else {
|
|
|
- fmt.Println("//活动取消发布")
|
|
|
- //活动取消发布
|
|
|
-
|
|
|
- if comapnyId > 0 {
|
|
|
- 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
|
|
|
- }
|
|
|
- item := new(models.CygxActivityPointsBill)
|
|
|
- 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 = 2
|
|
|
- item.Content = activityInfo.ActivityName + "--取消办会"
|
|
|
- item.Points = companyPointsNum + activityPointsSetDetail.CompanyPointsNum
|
|
|
- items = append(items, item)
|
|
|
- //更新对应机构的剩余点数
|
|
|
- itemCompany := new(models.CygxActivityPointsCompany)
|
|
|
- itemCompany.CompanyId = comapny.CompanyId
|
|
|
- itemCompany.Points = item.Points
|
|
|
- itemCompany.ModifyTime = time.Now()
|
|
|
- itemCompanys = append(itemCompanys, itemCompany)
|
|
|
- mapCompanyPoints[comapnyId] = item.Points
|
|
|
- }
|
|
|
-
|
|
|
- if activityPointsSetDetail.UserPointsNum > 0 && activityPointsSetDetail.PointsType == 1 {
|
|
|
- //如果扣点形式选的是报名即扣点,那么就对已经报名的用户所在机构进行返点
|
|
|
- var condition string
|
|
|
- var pars []interface{}
|
|
|
- condition = ` AND do_fail_type = 0 AND activity_id = ?`
|
|
|
- pars = append(pars, activityId)
|
|
|
-
|
|
|
- listSignup, e := models.GetActivitySignupList(condition, pars)
|
|
|
- if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
- err = errors.New("GetActivitySignupList, Err: " + e.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- var companyIds []int
|
|
|
- if len(listSignup) > 0 {
|
|
|
- for _, v := range listSignup {
|
|
|
- companyIds = append(companyIds, v.CompanyId)
|
|
|
- }
|
|
|
- pars = make([]interface{}, 0)
|
|
|
- condition = ` AND company_id IN (` + utils.GetOrmInReplace(len(companyIds)) + `)`
|
|
|
- pars = append(pars, companyIds)
|
|
|
-
|
|
|
- //获取这些公司剩余的点数
|
|
|
- conpanyList, e := models.GetCygxActivityPointsCompanyList(condition, pars)
|
|
|
- if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
- err = errors.New("GetCygxActivityPointsCompanyList, Err: " + e.Error())
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- for _, v := range conpanyList {
|
|
|
- if mapCompanyPoints[v.CompanyId] == 0 {
|
|
|
- mapCompanyPoints[v.CompanyId] = v.Points
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- pars = make([]interface{}, 0)
|
|
|
- condition = ` AND activity_id = ? `
|
|
|
- pars = append(pars, activityId)
|
|
|
- //获取扣点的流水记录
|
|
|
- activityPointsBillList, e := models.GetCygxActivityPointsBillList(condition, pars)
|
|
|
- if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
- err = errors.New("GetCygxActivityPointsBillList" + e.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- mapUserBill := make(map[int]bool)
|
|
|
- for _, v := range activityPointsBillList {
|
|
|
- mapUserBill[v.UserId] = true
|
|
|
- }
|
|
|
-
|
|
|
- for _, user := range listSignup {
|
|
|
- if !mapUserBill[user.UserId] {
|
|
|
- continue // 如果用户的扣点记录不存在,那么就不进行返点处理
|
|
|
- }
|
|
|
- item := new(models.CygxActivityPointsBill)
|
|
|
- item.ActivityId = activityId
|
|
|
- item.CreateTime = time.Now()
|
|
|
- item.Mobile = user.Mobile
|
|
|
- item.UserId = user.UserId
|
|
|
- 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 = 2
|
|
|
- item.Content = activityInfo.ActivityName + "--取消活动"
|
|
|
- mapCompanyPoints[user.CompanyId] += activityPointsSetDetail.UserPointsNum //通过map处理机构剩余点数
|
|
|
- item.Points = mapCompanyPoints[user.CompanyId]
|
|
|
- items = append(items, item)
|
|
|
-
|
|
|
- //更新对应机构的剩余点数
|
|
|
- itemCompany := new(models.CygxActivityPointsCompany)
|
|
|
- itemCompany.CompanyId = user.CompanyId
|
|
|
- itemCompany.Points = item.Points
|
|
|
- itemCompany.ModifyTime = time.Now()
|
|
|
- itemCompanys = append(itemCompanys, itemCompany)
|
|
|
- mapCompanyPoints[user.CompanyId] = item.Points
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- e = models.AddCygxActivityPointsBillMulti(items, itemCompanys)
|
|
|
- if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
- err = errors.New("AddCygxActivityPointsBillMulti, Err: " + e.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- return
|
|
|
-}
|
|
|
-
|
|
|
-//func init() {
|
|
|
-// log := models.YanXuanActivityPointsRedis{ActivityId: 2385, SourceType: 5, RegisterPlatform: utils.REGISTER_PLATFORM, Source: 4, CreateTime: time.Now()}
|
|
|
-// YanXuanActivityPointsBillSubmitMeetingReduce(log)
|
|
|
-//}
|
|
|
-
|
|
|
-// 5:活动到会研选扣点处理
|
|
|
-func YanXuanActivityPointsBillSubmitMeetingReduce(log models.YanXuanActivityPointsRedis) (err error) {
|
|
|
- //func YanXuanActivityPointsBillSubmitMeetingReduce(activityId int) (err error) {
|
|
|
+// 8 用户观看音视频研选扣点
|
|
|
+func YanXuanActivityVivoPointsBillSignupAdd(activityId, uid int) (err error) {
|
|
|
defer func() {
|
|
|
if err != nil {
|
|
|
fmt.Println(err)
|
|
|
- go utils.SendAlarmMsg("活动到会研选扣点,处理Redis队列消息失败:"+err.Error()+fmt.Sprint("ActivityId", log.ActivityId, "adminId", log.AdminId), 2)
|
|
|
- }
|
|
|
- }()
|
|
|
-
|
|
|
- activityId := log.ActivityId
|
|
|
- //获取活动是否扣点以及扣点规则明细
|
|
|
- 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.PointsType != 2 {
|
|
|
- return // 如果不是到会即扣点,的这种形式,那么就不做任何处理
|
|
|
- }
|
|
|
-
|
|
|
- activityInfo, e := models.GetAddActivityInfoByActivityId(activityId)
|
|
|
- if e != nil {
|
|
|
- err = errors.New("GetAddActivityInfoByActivityId" + e.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- var companyIds []int
|
|
|
- mapCompanyPoints := make(map[int]float64) //一组公司的剩余点数
|
|
|
- var condition string
|
|
|
- var pars []interface{}
|
|
|
- condition += ` AND activity_id = ? AND is_meeting = 1 `
|
|
|
- pars = append(pars, activityId)
|
|
|
-
|
|
|
- //获取提交到会的人员信息
|
|
|
- signUpDetailList, e := models.GetSignupDetailList(condition, pars)
|
|
|
- if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
- err = errors.New("GetSignupDetailList" + e.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- if len(signUpDetailList) == 0 {
|
|
|
- return
|
|
|
- }
|
|
|
- for _, v := range signUpDetailList {
|
|
|
- companyIds = append(companyIds, v.CompanyId)
|
|
|
- }
|
|
|
-
|
|
|
- //return
|
|
|
- pars = make([]interface{}, 0)
|
|
|
- condition = ` AND company_id IN (` + utils.GetOrmInReplace(len(companyIds)) + `)`
|
|
|
- pars = append(pars, companyIds)
|
|
|
- //获取这些公司剩余的点数
|
|
|
- conpanyList, e := models.GetCygxActivityPointsCompanyList(condition, pars)
|
|
|
- if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
- err = errors.New("GetCygxActivityPointsCompanyList, Err: " + e.Error())
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- pars = make([]interface{}, 0)
|
|
|
- condition = ` AND activity_id = ? AND mobile != '' `
|
|
|
- pars = append(pars, activityId)
|
|
|
- //获取扣点的流水记录
|
|
|
- activityPointsBillList, e := models.GetCygxActivityPointsBillList(condition, pars)
|
|
|
- if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
- err = errors.New("GetCygxActivityPointsBillList" + e.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- mapActivityPointsBill := make(map[string]*models.CygxActivityPointsBill)
|
|
|
- for _, v := range activityPointsBillList {
|
|
|
- mapActivityPointsBill[v.Mobile] = v
|
|
|
- }
|
|
|
- //return
|
|
|
- for _, v := range conpanyList {
|
|
|
- if v.CompanyId != 0 {
|
|
|
- mapCompanyPoints[v.CompanyId] = v.Points
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- //return
|
|
|
- var items []*models.CygxActivityPointsBill
|
|
|
- var itemCompanys []*models.CygxActivityPointsCompany
|
|
|
- for _, user := range signUpDetailList {
|
|
|
- item := new(models.CygxActivityPointsBill)
|
|
|
- item.ActivityId = activityId
|
|
|
- item.CreateTime = time.Now()
|
|
|
- item.UserId = user.UserId
|
|
|
- item.Mobile = user.Mobile
|
|
|
- item.Email = user.Email
|
|
|
- item.CompanyId = user.CompanyId
|
|
|
- item.CompanyName = user.CompanyName
|
|
|
- item.RealName = user.RealName
|
|
|
- item.RegisterPlatform = log.RegisterPlatform
|
|
|
- item.AdminId = log.AdminId
|
|
|
- item.Source = log.Source
|
|
|
- item.ChartPermissionId = activityInfo.ChartPermissionId
|
|
|
- //如果没有扣点记录就对他们进行扣点处理
|
|
|
- if mapActivityPointsBill[user.Mobile] == nil {
|
|
|
- item.BillDetailed = -activityPointsSetDetail.UserPointsNum
|
|
|
- item.DoType = 1
|
|
|
- item.Content = activityInfo.ActivityName + "--活动到会"
|
|
|
- item.Points = mapCompanyPoints[user.CompanyId] - activityPointsSetDetail.UserPointsNum
|
|
|
- items = append(items, item)
|
|
|
- //更新对应机构的剩余点数
|
|
|
- itemCompany := new(models.CygxActivityPointsCompany)
|
|
|
- itemCompany.CompanyId = user.CompanyId
|
|
|
- itemCompany.Points = item.Points
|
|
|
- itemCompany.ModifyTime = time.Now()
|
|
|
- itemCompanys = append(itemCompanys, itemCompany)
|
|
|
- mapCompanyPoints[user.CompanyId] = item.Points
|
|
|
- } else {
|
|
|
- //第二次提交改成未到会的,对其进行返点处理
|
|
|
- if mapActivityPointsBill[user.Mobile].BillDetailed < 0 {
|
|
|
- item.BillDetailed = activityPointsSetDetail.UserPointsNum
|
|
|
- item.DoType = 2
|
|
|
- item.Content = activityInfo.ActivityName + "--活动取消到会"
|
|
|
- item.Points = mapCompanyPoints[user.CompanyId] + activityPointsSetDetail.UserPointsNum
|
|
|
- items = append(items, item)
|
|
|
-
|
|
|
- //更新对应机构的剩余点数
|
|
|
- itemCompany := new(models.CygxActivityPointsCompany)
|
|
|
- itemCompany.CompanyId = user.CompanyId
|
|
|
- itemCompany.Points = item.Points
|
|
|
- itemCompany.ModifyTime = time.Now()
|
|
|
- itemCompanys = append(itemCompanys, itemCompany)
|
|
|
- mapCompanyPoints[user.CompanyId] = item.Points
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- e = models.AddCygxActivityPointsBillMulti(items, itemCompanys)
|
|
|
- if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
- err = errors.New("AddCygxActivityPointsBillMulti, Err: " + e.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- return
|
|
|
-}
|
|
|
-
|
|
|
-// 6:研选审批通过的时候研选扣点更新
|
|
|
-func YanXuanCompanyApprovalReduce(log models.YanXuanActivityPointsRedis) (err error) {
|
|
|
- time.Sleep(5 * time.Second) // 延迟5秒处理
|
|
|
- defer func() {
|
|
|
- if err != nil {
|
|
|
- fmt.Println(err)
|
|
|
- go utils.SendAlarmMsg("研选审批通过的时候研选扣点更新,处理Redis队列消息失败:"+err.Error()+fmt.Sprint(log), 2)
|
|
|
+ msg := fmt.Sprint("activityId:", activityId, "userId:", uid)
|
|
|
+ go utils.SendAlarmMsg("用户观看音视频研选扣点,写入Redis队列消息失败:"+err.Error()+msg, 2)
|
|
|
}
|
|
|
}()
|
|
|
- comapnyId := log.ComapnyId
|
|
|
-
|
|
|
- comapnyDetail, e := models.GetCompanyById(comapnyId)
|
|
|
- if e != nil {
|
|
|
- err = errors.New("GetCompanyById" + e.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- total, e := models.GetCygxActivityPointsCompanyCountByCompanyId(comapnyId)
|
|
|
- if e != nil {
|
|
|
- err = errors.New("GetCygxActivityPointsCompanyCountByCompanyId, Err: " + e.Error())
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- //查询研选的权限状态
|
|
|
- var condition string
|
|
|
- var pars []interface{}
|
|
|
- condition += " AND company_id = ? AND status = ? AND chart_permission_id = ? ORDER BY company_report_permission_id DESC LIMIT 1 "
|
|
|
- pars = append(pars, comapnyId, "正式", utils.CHART_PERMISSION_ID_YANXUAN)
|
|
|
- companyReportPermissionDetail, e := models.GetCompanyReportPermissionDetailByCondition(condition, pars)
|
|
|
- if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
- err = errors.New("GetCompanyPoints, Err: " + e.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- if companyReportPermissionDetail == nil {
|
|
|
- return // 如果不存在就不做研选扣点处理
|
|
|
- }
|
|
|
-
|
|
|
- //获取最近的一条审批合同信息
|
|
|
- newCompanyApprovalDetail, e := company.GetCompanyApprovalById(comapnyId)
|
|
|
- if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
- err = errors.New("GetCompanyApprovalById, Err: " + e.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- if newCompanyApprovalDetail == nil {
|
|
|
- return
|
|
|
- }
|
|
|
- companyContractId := newCompanyApprovalDetail.CompanyContractId
|
|
|
-
|
|
|
- totalYxPerminssion, e := company.GetCompanyContractPermissionCheck(companyContractId, utils.CHART_PERMISSION_ID_YANXUAN)
|
|
|
- if e != nil {
|
|
|
- err = errors.New("GetCompanyContractPermissionCheck, Err: " + e.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- // 如果最新的审批合同里没有研选的权限,那么就不做处理
|
|
|
- if totalYxPerminssion == 0 {
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- var billDetailed float64
|
|
|
- var content string
|
|
|
- //ExpensiveYx int `description:"权益研选: 0->3w; 1->5w;2->10W"` 3W3次、5W 15次,20w:40次 ,
|
|
|
- if companyReportPermissionDetail.ExpensiveYx == 1 {
|
|
|
- billDetailed = 15
|
|
|
- content = "买方研选(5W)转正"
|
|
|
- } else if companyReportPermissionDetail.ExpensiveYx == 2 {
|
|
|
- billDetailed = 40
|
|
|
- content = "买方研选(10w)转正"
|
|
|
- } else {
|
|
|
- billDetailed = 3
|
|
|
- content = "买方研选(3W)转正"
|
|
|
- }
|
|
|
-
|
|
|
- //获取需要添加的流水信息
|
|
|
- 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 = comapnyDetail.CompanyId
|
|
|
- item.CompanyName = comapnyDetail.CompanyName
|
|
|
- //item.RealName = user.RealName
|
|
|
- item.BillDetailed = billDetailed
|
|
|
- item.RegisterPlatform = log.RegisterPlatform
|
|
|
- item.AdminId = log.AdminId
|
|
|
- item.Source = log.Source
|
|
|
- //item.ChartPermissionId = activityInfo.ChartPermissionId
|
|
|
- item.DoType = 2
|
|
|
- item.Content = content
|
|
|
- item.Points = billDetailed
|
|
|
- items = append(items, item)
|
|
|
-
|
|
|
- //更新对应机构的剩余点数
|
|
|
- var itemCompanys []*models.CygxActivityPointsCompany
|
|
|
- itemCompany := new(models.CygxActivityPointsCompany)
|
|
|
- itemCompany.CompanyId = comapnyDetail.CompanyId
|
|
|
- itemCompany.CompanyName = comapnyDetail.CompanyName
|
|
|
- itemCompany.Points = item.Points
|
|
|
- itemCompany.CreateTime = time.Now()
|
|
|
- itemCompany.ModifyTime = time.Now()
|
|
|
- itemCompanys = append(itemCompanys, itemCompany)
|
|
|
- //判断是否存在记录,如果有就一个新增一个修改,如果没有就同时新增
|
|
|
- if total == 0 {
|
|
|
- err = models.AddCygxActivityPointsBillAndCompanyMulti(items, itemCompanys)
|
|
|
- } else {
|
|
|
- err = models.AddCygxActivityPointsBillMulti(items, itemCompanys)
|
|
|
- }
|
|
|
-
|
|
|
- return
|
|
|
-}
|
|
|
-
|
|
|
-// 7:正式专试用定时任务更新研选扣点
|
|
|
-func YanXuanCompanyCompanyTryOutReduce(log models.YanXuanActivityPointsRedis) (err error) {
|
|
|
- defer func() {
|
|
|
+ //SourceType int `description:"1:报名、 2:取消报名、3:活动编辑、4:活动发布,取消发布、5:活动到会。 8:用户观看音视频研选扣点"`
|
|
|
+ log := &models.YanXuanActivityPointsRedis{UserId: uid, ActivityId: activityId, SourceType: 8, RegisterPlatform: utils.REGISTER_PLATFORM, Source: 1, CreateTime: time.Now()}
|
|
|
+ if utils.Re == nil {
|
|
|
+ err := utils.Rc.LPush(utils.CYGX_YANXUAN_POINTS_KEY, log)
|
|
|
if err != nil {
|
|
|
- fmt.Println(err)
|
|
|
- go utils.SendAlarmMsg("正式专试用定时任务更新研选扣点更新,处理Redis队列消息失败:"+err.Error()+fmt.Sprint(log), 2)
|
|
|
+ fmt.Println("YanXuanActivityPointsRedis LPush Err:" + err.Error())
|
|
|
}
|
|
|
- }()
|
|
|
- comapnyId := log.ComapnyId
|
|
|
-
|
|
|
- comapny, e := models.GetCompanyById(comapnyId)
|
|
|
- if e != nil {
|
|
|
- err = errors.New("GetCompanyById" + e.Error())
|
|
|
- return
|
|
|
}
|
|
|
- // 获取用户所在公司剩余的点
|
|
|
- companyPointsNum, e := models.GetCompanyPoints(comapnyId)
|
|
|
- if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
- err = errors.New("GetCompanyPoints, Err: " + e.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- if companyPointsNum <= 0 {
|
|
|
- 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 = comapny.CompanyId
|
|
|
- item.CompanyName = comapny.CompanyName
|
|
|
- //item.RealName = user.RealName
|
|
|
- item.BillDetailed = -companyPointsNum
|
|
|
- item.RegisterPlatform = log.RegisterPlatform
|
|
|
- item.AdminId = log.AdminId
|
|
|
- item.Source = log.Source
|
|
|
- //item.ChartPermissionId = activityInfo.ChartPermissionId
|
|
|
- item.DoType = 2
|
|
|
- item.Content = "到期清零"
|
|
|
- item.Points = 0
|
|
|
- items = append(items, item)
|
|
|
-
|
|
|
- //更新对应机构的剩余点数
|
|
|
- var itemCompanys []*models.CygxActivityPointsCompany
|
|
|
- itemCompany := new(models.CygxActivityPointsCompany)
|
|
|
- itemCompany.CompanyId = comapny.CompanyId
|
|
|
- itemCompany.Points = 0
|
|
|
- itemCompany.CreateTime = time.Now()
|
|
|
- itemCompany.ModifyTime = time.Now()
|
|
|
- itemCompanys = append(itemCompanys, itemCompany)
|
|
|
-
|
|
|
- err = models.AddCygxActivityPointsBillMulti(items, itemCompanys)
|
|
|
-
|
|
|
return
|
|
|
}
|