Browse Source

no message

zhangchuanxing 1 month ago
parent
commit
e6d75fd398
1 changed files with 31 additions and 25 deletions
  1. 31 25
      services/activity_points.go

+ 31 - 25
services/activity_points.go

@@ -829,7 +829,7 @@ func YanXuanActivityPointsBillSubmitMeetingReduce(log models.YanXuanActivityPoin
 	mapCompanyPoints := make(map[int]float64) //一组公司的剩余点数
 	var condition string
 	var pars []interface{}
-	condition += ` AND activity_id = ? AND  is_meeting = 1 `
+	condition += ` AND activity_id = ?  `
 	pars = append(pars, activityId)
 
 	//获取提交到会的人员信息
@@ -846,9 +846,9 @@ func YanXuanActivityPointsBillSubmitMeetingReduce(log models.YanXuanActivityPoin
 
 		companyId := v.CompanyId
 		//判断公司是不是满足扣点情况,如果是后台超管手动给试用客户报名,就写入一条点数初始化数据
-		total, e := models.GetCygxActivityPointsCompanyCountByCompanyId(companyId)
+		total, e := models.GetCygxActivitySpecialPermissionPointsCountByCompanyId(companyId)
 		if e != nil {
-			err = errors.New("GetCygxActivityPointsCompanyCountByCompanyId, Err: " + e.Error())
+			err = errors.New("GetCygxActivitySpecialPermissionPointsCountByCompanyId, Err: " + e.Error())
 			return
 		}
 
@@ -879,18 +879,21 @@ func YanXuanActivityPointsBillSubmitMeetingReduce(log models.YanXuanActivityPoin
 	}
 
 	pars = make([]interface{}, 0)
-	condition = ` AND activity_id = ? AND  mobile  != ''  `
+	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("GetCygxActivityPointsBillList" + e.Error())
+		err = errors.New("GetCygxActivitySpecialTripBill" + e.Error())
 		return
 	}
 	mapActivityPointsBill := make(map[string]*models.CygxActivitySpecialTripBill)
-	for _, v := range activityPointsBillList {
-		mapActivityPointsBill[v.Mobile] = v
+	for _, v := range activityPointsBillList { //获取这场活动,某个手机号最后一次的扣点记录
+		if mapActivityPointsBill[v.Mobile] == nil {
+			mapActivityPointsBill[v.Mobile] = v
+		}
 	}
+	fmt.Println(mapActivityPointsBill)
 	//return
 	for _, v := range conpanyList {
 		if v.CompanyId != 0 {
@@ -915,26 +918,29 @@ func YanXuanActivityPointsBillSubmitMeetingReduce(log models.YanXuanActivityPoin
 		item.AdminId = log.AdminId
 		item.Source = log.Source
 		item.ChartPermissionId = activityInfo.ChartPermissionId
-		//如果没有扣点记录就对他们进行扣点处理
-		if mapActivityPointsBill[user.Mobile] == nil {
-			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
+		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].BillDetailed < 0 {
+			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