|
@@ -230,6 +230,11 @@ func YanXuanActivityPointsBillReduce() (err error) {
|
|
|
go ActivitySpecialCompanyApprovalReduce(log)
|
|
|
fmt.Println("11:合同审批通过的时候,专项调研点数更新。")
|
|
|
break
|
|
|
+ case 12:
|
|
|
+ go ActivitySpecialPointsBillSubmitMeetingReduce(log)
|
|
|
+ fmt.Println("12,专项调研活动提交到会点数更新。")
|
|
|
+ break
|
|
|
+
|
|
|
default:
|
|
|
fmt.Println(string(b))
|
|
|
go utils.SendAlarmMsg("处理研选活动扣点处理Redis队列消息失败:"+string(b), 2)
|
|
@@ -782,7 +787,7 @@ func YanXuanActivityPointsBillActivityPublishAndCancelReduce(log models.YanXuanA
|
|
|
}
|
|
|
|
|
|
pars = make([]interface{}, 0)
|
|
|
- condition = ` AND activity_id = ? `
|
|
|
+ condition = ` AND activity_id = ? AND table_source = 'activity' `
|
|
|
pars = append(pars, activityId)
|
|
|
//获取扣点的流水记录
|
|
|
activityPointsBillList, e := models.GetCygxActivitySpecialTripBill(condition, pars)
|
|
@@ -931,7 +936,7 @@ func YanXuanActivityPointsBillSubmitMeetingReduce(log models.YanXuanActivityPoin
|
|
|
}
|
|
|
|
|
|
pars = make([]interface{}, 0)
|
|
|
- condition = ` AND activity_id = ? AND mobile != '' ORDER BY id DESC `
|
|
|
+ condition = ` AND activity_id = ? AND table_source = 'activity' AND mobile != '' ORDER BY id DESC `
|
|
|
pars = append(pars, activityId)
|
|
|
//获取扣点的流水记录
|
|
|
activityPointsBillList, e := models.GetCygxActivitySpecialTripBill(condition, pars)
|
|
@@ -1608,165 +1613,165 @@ func ActivitySpecialCompanyApprovalReduce(log models.YanXuanActivityPointsRedis)
|
|
|
}
|
|
|
|
|
|
// 12: 专项调活动提交到会扣点处理
|
|
|
-//func ActivitySpecialPointsBillSubmitMeetingReduce(log models.YanXuanActivityPointsRedis) (err error) {
|
|
|
-// //func ActivitySpecialPointsBillSubmitMeetingReduce(activityId 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)
|
|
|
-// }
|
|
|
-// }()
|
|
|
-//
|
|
|
-// time.Sleep(5 * time.Second) //添加五秒的延迟
|
|
|
-//
|
|
|
-// activityId := log.ActivityId
|
|
|
-// activityInfo, e := models.GetCygxActivitySpecialDetail(activityId)
|
|
|
-// if e != nil {
|
|
|
-// err = errors.New("GetCygxActivitySpecialDetail" + e.Error())
|
|
|
-// return
|
|
|
-// }
|
|
|
-// var companyIds []int
|
|
|
-// mapCompanyPoints := make(map[int]float64) //一组公司的剩余点数
|
|
|
-// var condition string
|
|
|
-// var pars []interface{}
|
|
|
-// condition += ` AND activity_id = ? `
|
|
|
-// 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)
|
|
|
-//
|
|
|
-// companyId := v.CompanyId
|
|
|
-// //判断公司是不是满足扣点情况,如果是后台超管手动给试用客户报名,就写入一条点数初始化数据
|
|
|
-// total, e := models.GetCygxActivitySpecialPermissionPointsCountByCompanyId(companyId)
|
|
|
-// if e != nil {
|
|
|
-// err = errors.New("GetCygxActivitySpecialPermissionPointsCountByCompanyId, Err: " + e.Error())
|
|
|
-// return
|
|
|
-// }
|
|
|
-//
|
|
|
-// if total == 0 {
|
|
|
-// itemPointsCompany := new(models.CygxActivitySpecialPermissionPoints)
|
|
|
-// itemPointsCompany.CompanyId = companyId
|
|
|
-// itemPointsCompany.CompanyName = v.CompanyName
|
|
|
-// itemPointsCompany.CreateTime = time.Now()
|
|
|
-// itemPointsCompany.ModifyTime = time.Now()
|
|
|
-//
|
|
|
-// e = models.AddCygxActivitySpecialPermissionPoints(itemPointsCompany)
|
|
|
-// if e != nil {
|
|
|
-// err = errors.New("AddCygxActivitySpecialPermissionPoints, Err: " + e.Error())
|
|
|
-// return
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-//
|
|
|
-// //return
|
|
|
-// pars = make([]interface{}, 0)
|
|
|
-// condition = ` AND company_id IN (` + utils.GetOrmInReplace(len(companyIds)) + `)`
|
|
|
-// pars = append(pars, companyIds)
|
|
|
-// //获取这些公司剩余的点数
|
|
|
-// conpanyList, e := models.GetCygxActivitySpecialPermissionPointsList(condition, pars)
|
|
|
-// if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
-// err = errors.New("GetCygxActivitySpecialPermissionPointsList, Err: " + e.Error())
|
|
|
-// return
|
|
|
-// }
|
|
|
-//
|
|
|
-// pars = make([]interface{}, 0)
|
|
|
-// condition = ` AND activity_id = ? AND mobile != '' ORDER BY id DESC `
|
|
|
-// pars = append(pars, activityId)
|
|
|
-// //获取扣点的流水记录
|
|
|
-// activityPointsBillList, e := models.GetCygxActivitySpecialTripBill(condition, pars)
|
|
|
-// if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
-// err = errors.New("GetCygxActivitySpecialTripBill" + e.Error())
|
|
|
-// return
|
|
|
-// }
|
|
|
-// mapActivityPointsBill := make(map[string]*models.CygxActivitySpecialTripBill)
|
|
|
-// for _, v := range activityPointsBillList { //获取这场活动,某个手机号最后一次的扣点记录
|
|
|
-// if mapActivityPointsBill[v.Mobile] == nil {
|
|
|
-// mapActivityPointsBill[v.Mobile] = v
|
|
|
-// }
|
|
|
-// }
|
|
|
-// //return
|
|
|
-// for _, v := range conpanyList {
|
|
|
-// if v.CompanyId != 0 {
|
|
|
-// mapCompanyPoints[v.CompanyId] = v.Points
|
|
|
-// }
|
|
|
-// }
|
|
|
-//
|
|
|
-// //return
|
|
|
-// var items []*models.CygxActivitySpecialTripBill
|
|
|
-// var itemCompanys []*models.CygxActivitySpecialPermissionPoints
|
|
|
-// for _, user := range signUpDetailList {
|
|
|
-// item := new(models.CygxActivitySpecialTripBill)
|
|
|
-// 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
|
|
|
-// item.ChartPermissionName = activityInfo.ChartPermissionName
|
|
|
-// if user.IsMeeting == 1 {
|
|
|
-// //如果没有扣点记录就对他们进行扣点处理
|
|
|
-// if mapActivityPointsBill[user.Mobile] == nil || mapActivityPointsBill[user.Mobile].BillDetailed > 0 {
|
|
|
-// points := mapCompanyPoints[user.CompanyId] - activityPointsSetDetail.UserPointsNum
|
|
|
-// item.BillDetailed = -activityPointsSetDetail.UserPointsNum
|
|
|
-// item.DoType = 1
|
|
|
-// item.Content = activityInfo.ActivityName + "--活动到会"
|
|
|
-// item.Total = fmt.Sprint(points, "次")
|
|
|
-// item.TableSource = utils.CYGX_OBJ_ACTIVITY
|
|
|
-// //item.Points = mapCompanyPoints[user.CompanyId] - activityPointsSetDetail.UserPointsNum
|
|
|
-// items = append(items, item)
|
|
|
-// //更新对应机构的剩余点数
|
|
|
-// itemCompany := new(models.CygxActivitySpecialPermissionPoints)
|
|
|
-// itemCompany.CompanyId = user.CompanyId
|
|
|
-// itemCompany.Points = points
|
|
|
-// itemCompany.ModifyTime = time.Now()
|
|
|
-// itemCompanys = append(itemCompanys, itemCompany)
|
|
|
-// mapCompanyPoints[user.CompanyId] = points
|
|
|
-// }
|
|
|
-// } else {
|
|
|
-// ////第二次提交改成未到会的,对其进行返点处理
|
|
|
-// if mapActivityPointsBill[user.Mobile] != nil && mapActivityPointsBill[user.Mobile].BillDetailed < 0 {
|
|
|
-// fmt.Println("取消到会了")
|
|
|
-// points := mapCompanyPoints[user.CompanyId] + activityPointsSetDetail.UserPointsNum
|
|
|
-// item.BillDetailed = activityPointsSetDetail.UserPointsNum
|
|
|
-// item.DoType = 2
|
|
|
-// item.Content = activityInfo.ActivityName + "--活动取消到会"
|
|
|
-// //item.Points =points
|
|
|
-// item.Total = fmt.Sprint(points, "次")
|
|
|
-// item.TableSource = utils.CYGX_OBJ_ACTIVITY
|
|
|
-// items = append(items, item)
|
|
|
-//
|
|
|
-// //更新对应机构的剩余点数
|
|
|
-// itemCompany := new(models.CygxActivitySpecialPermissionPoints)
|
|
|
-// itemCompany.CompanyId = user.CompanyId
|
|
|
-// itemCompany.Points = points
|
|
|
-// itemCompany.ModifyTime = time.Now()
|
|
|
-// itemCompanys = append(itemCompanys, itemCompany)
|
|
|
-// mapCompanyPoints[user.CompanyId] = points
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-// e = models.AddCygxActivitySpecialTripBillMulti(items, itemCompanys)
|
|
|
-// if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
-// err = errors.New("AddCygxActivitySpecialTripBillMulti, Err: " + e.Error())
|
|
|
-// return
|
|
|
-// }
|
|
|
-// return
|
|
|
-//}
|
|
|
+func ActivitySpecialPointsBillSubmitMeetingReduce(log models.YanXuanActivityPointsRedis) (err error) {
|
|
|
+ //func ActivitySpecialPointsBillSubmitMeetingReduce(activityId 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)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+
|
|
|
+ time.Sleep(5 * time.Second) //添加五秒的延迟
|
|
|
+
|
|
|
+ activityId := log.ActivityId
|
|
|
+ activityInfo, e := models.GetCygxActivitySpecialDetail(activityId)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetCygxActivitySpecialDetail" + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var companyIds []int
|
|
|
+ mapCompanyPoints := make(map[int]float64) //一组公司的剩余点数
|
|
|
+ var condition string
|
|
|
+ var pars []interface{}
|
|
|
+ condition += ` AND activity_id = ? `
|
|
|
+ pars = append(pars, activityId)
|
|
|
+
|
|
|
+ //获取提交到会的人员信息
|
|
|
+ signUpDetailList, e := models.GetCygxActivitySpecialmeetingDetailList(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)
|
|
|
+
|
|
|
+ companyId := v.CompanyId
|
|
|
+ //判断公司是不是满足扣点情况,如果是后台超管手动给试用客户报名,就写入一条点数初始化数据
|
|
|
+ total, e := models.GetCygxActivitySpecialPermissionPointsCountByCompanyId(companyId)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetCygxActivitySpecialPermissionPointsCountByCompanyId, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ if total == 0 {
|
|
|
+ itemPointsCompany := new(models.CygxActivitySpecialPermissionPoints)
|
|
|
+ itemPointsCompany.CompanyId = companyId
|
|
|
+ itemPointsCompany.CompanyName = v.CompanyName
|
|
|
+ itemPointsCompany.CreateTime = time.Now()
|
|
|
+ itemPointsCompany.ModifyTime = time.Now()
|
|
|
+
|
|
|
+ e = models.AddCygxActivitySpecialPermissionPoints(itemPointsCompany)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("AddCygxActivitySpecialPermissionPoints, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //return
|
|
|
+ pars = make([]interface{}, 0)
|
|
|
+ condition = ` AND company_id IN (` + utils.GetOrmInReplace(len(companyIds)) + `)`
|
|
|
+ pars = append(pars, companyIds)
|
|
|
+ //获取这些公司剩余的点数
|
|
|
+ conpanyList, e := models.GetCygxActivitySpecialPermissionPointsList(condition, pars)
|
|
|
+ if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+ err = errors.New("GetCygxActivitySpecialPermissionPointsList, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ pars = make([]interface{}, 0)
|
|
|
+ condition = ` AND activity_id = ? AND table_source = 'activityspecial' AND mobile != '' ORDER BY id DESC `
|
|
|
+ pars = append(pars, activityId)
|
|
|
+ //获取扣点的流水记录
|
|
|
+ activityPointsBillList, e := models.GetCygxActivitySpecialTripBill(condition, pars)
|
|
|
+ if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+ err = errors.New("GetCygxActivitySpecialTripBill" + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ mapActivityPointsBill := make(map[string]*models.CygxActivitySpecialTripBill)
|
|
|
+ for _, v := range activityPointsBillList { //获取这场活动,某个手机号最后一次的扣点记录
|
|
|
+ if mapActivityPointsBill[v.Mobile] == nil {
|
|
|
+ mapActivityPointsBill[v.Mobile] = v
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //return
|
|
|
+ for _, v := range conpanyList {
|
|
|
+ if v.CompanyId != 0 {
|
|
|
+ mapCompanyPoints[v.CompanyId] = v.Points
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //return
|
|
|
+ var items []*models.CygxActivitySpecialTripBill
|
|
|
+ var itemCompanys []*models.CygxActivitySpecialPermissionPoints
|
|
|
+ for _, user := range signUpDetailList {
|
|
|
+ item := new(models.CygxActivitySpecialTripBill)
|
|
|
+ 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
|
|
|
+ item.ChartPermissionName = activityInfo.ChartPermissionName
|
|
|
+ if user.IsMeeting == 1 {
|
|
|
+ //如果没有扣点记录就对他们进行扣点处理
|
|
|
+ if mapActivityPointsBill[user.Mobile] == nil || mapActivityPointsBill[user.Mobile].BillDetailed > 0 {
|
|
|
+ points := mapCompanyPoints[user.CompanyId] - 1
|
|
|
+ item.BillDetailed = -1
|
|
|
+ item.DoType = 1
|
|
|
+ item.Content = activityInfo.ResearchTheme + "--活动到会"
|
|
|
+ item.Total = fmt.Sprint(points, "次")
|
|
|
+ item.TableSource = utils.CYGX_OBJ_ACTIVITYSPECIAL
|
|
|
+ //item.Points = mapCompanyPoints[user.CompanyId] - activityPointsSetDetail.UserPointsNum
|
|
|
+ items = append(items, item)
|
|
|
+ //更新对应机构的剩余点数
|
|
|
+ itemCompany := new(models.CygxActivitySpecialPermissionPoints)
|
|
|
+ itemCompany.CompanyId = user.CompanyId
|
|
|
+ itemCompany.Points = points
|
|
|
+ itemCompany.ModifyTime = time.Now()
|
|
|
+ itemCompanys = append(itemCompanys, itemCompany)
|
|
|
+ mapCompanyPoints[user.CompanyId] = points
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ ////第二次提交改成未到会的,对其进行返点处理
|
|
|
+ if mapActivityPointsBill[user.Mobile] != nil && mapActivityPointsBill[user.Mobile].BillDetailed < 0 {
|
|
|
+ fmt.Println("取消到会了")
|
|
|
+ points := mapCompanyPoints[user.CompanyId] + 1
|
|
|
+ item.BillDetailed = 1
|
|
|
+ item.DoType = 2
|
|
|
+ item.Content = activityInfo.ResearchTheme + "--活动取消到会"
|
|
|
+ //item.Points =points
|
|
|
+ item.Total = fmt.Sprint(points, "次")
|
|
|
+ item.TableSource = utils.CYGX_OBJ_ACTIVITYSPECIAL
|
|
|
+ items = append(items, item)
|
|
|
+
|
|
|
+ //更新对应机构的剩余点数
|
|
|
+ itemCompany := new(models.CygxActivitySpecialPermissionPoints)
|
|
|
+ itemCompany.CompanyId = user.CompanyId
|
|
|
+ itemCompany.Points = points
|
|
|
+ itemCompany.ModifyTime = time.Now()
|
|
|
+ itemCompanys = append(itemCompanys, itemCompany)
|
|
|
+ mapCompanyPoints[user.CompanyId] = points
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ e = models.AddCygxActivitySpecialTripBillMulti(items, itemCompanys)
|
|
|
+ if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+ err = errors.New("AddCygxActivitySpecialTripBillMulti, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|
|
|
|
|
|
//func init() {
|
|
|
// initCygx14_5_01()
|