Browse Source

no message

zhangchuanxing 1 week ago
parent
commit
42057a4ac7
1 changed files with 161 additions and 0 deletions
  1. 161 0
      services/activity_points.go

+ 161 - 0
services/activity_points.go

@@ -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())
+//		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 init() {
 //	initCygx14_5_01()
 //}