@@ -1607,6 +1607,167 @@ func ActivitySpecialCompanyApprovalReduce(log models.YanXuanActivityPointsRedis)
return
}
+// 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())
+// if len(signUpDetailList) == 0 {
+// for _, v := range signUpDetailList {
+// companyIds = append(companyIds, v.CompanyId)
+// companyId := v.CompanyId
+// //判断公司是不是满足扣点情况,如果是后台超管手动给试用客户报名,就写入一条点数初始化数据
+// total, e := models.GetCygxActivitySpecialPermissionPointsCountByCompanyId(companyId)
+// err = errors.New("GetCygxActivitySpecialPermissionPointsCountByCompanyId, Err: " + e.Error())
+// 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)
+// err = errors.New("AddCygxActivitySpecialPermissionPoints, Err: " + e.Error())
+// //return
+// pars = make([]interface{}, 0)
+// condition = ` AND company_id IN (` + utils.GetOrmInReplace(len(companyIds)) + `)`
+// pars = append(pars, companyIds)
+// //获取这些公司剩余的点数
+// conpanyList, e := models.GetCygxActivitySpecialPermissionPointsList(condition, pars)
+// err = errors.New("GetCygxActivitySpecialPermissionPointsList, Err: " + e.Error())
+// condition = ` AND activity_id = ? AND mobile != '' ORDER BY id DESC `
+// //获取扣点的流水记录
+// activityPointsBillList, e := models.GetCygxActivitySpecialTripBill(condition, pars)
+// err = errors.New("GetCygxActivitySpecialTripBill" + e.Error())
+// mapActivityPointsBill := make(map[string]*models.CygxActivitySpecialTripBill)
+// for _, v := range activityPointsBillList { //获取这场活动,某个手机号最后一次的扣点记录
+// if mapActivityPointsBill[v.Mobile] == nil {
+// mapActivityPointsBill[v.Mobile] = v
+// for _, v := range conpanyList {
+// if v.CompanyId != 0 {
+// mapCompanyPoints[v.CompanyId] = v.Points
+// 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
+// e = models.AddCygxActivitySpecialTripBillMulti(items, itemCompanys)
+// err = errors.New("AddCygxActivitySpecialTripBillMulti, Err: " + e.Error())
+//}
+
//func init() {
// initCygx14_5_01()
//}