ziwen 1 year ago
parent
commit
4ceb170e27

+ 1 - 0
models/data_manage/activity_special_trip_bill.go

@@ -23,6 +23,7 @@ type CygxActivitySpecialTripBill struct {
 	ChartPermissionId int       `description:"行业id"`
 	Way               int       `description:"1报名,取消报名。2到会取消到会 3转正或清零 4取消活动"`
 	Content           string    `description:"内容"`
+	Total             string    `description:"总和"`
 }
 
 type CygxActivitySpecialTripBillList struct {

+ 35 - 1
services/cygx/activity_points_set.go

@@ -7,6 +7,8 @@ import (
 	"hongze/hongze_task/models/data_manage"
 	"hongze/hongze_task/services/alarm_msg"
 	"hongze/hongze_task/utils"
+	"strconv"
+	"strings"
 	"time"
 )
 
@@ -93,8 +95,40 @@ func ActivitySpecialCompanyApproval(companyId int) (err error) {
 		packageTypeMap := map[int]int{1: 16, 2: 10}
 		totalTrip := packageTypeMap[packageType]
 		itemBill.BillDetailed = totalTrip
+		itemBill.Total = strconv.Itoa(totalTrip) + "次"
 	} else {
-		itemBill.BillDetailed = 5
+		itemBill.BillDetailed = 15
+		list, e := GetCompanyReportPermissionUpgrade(companyId, 2)
+		if e != nil && e.Error() != utils.ErrNoRow() {
+			err = errors.New("GetCompanyReportPermissionUpgrade, Err: " + e.Error())
+		}
+		if len(list) == 0 {
+			return
+		}
+		var chartPermissionIdSlice []string
+		mapChartName := make(map[string]int)
+		mapPermissionNameTrip := make(map[string]int)
+		//mapPermissionName := make(map[int]string)
+		for _, v := range list {
+			chartPermissionIdSlice = append(chartPermissionIdSlice, strconv.Itoa(v.ChartPermissionId))
+		}
+		chartList, e := models.GetChartPermissionByIds(chartPermissionIdSlice)
+		if e != nil {
+			err = errors.New("获取品种信息失败, Err:" + e.Error())
+			return
+		}
+		if len(chartList) == 0 {
+			return
+		}
+		for _, v := range chartList {
+			mapChartName[v.PermissionName] = 5 + mapPermissionNameTrip[v.ChartPermissionName]
+		}
+		for k, v := range mapChartName {
+			if v > 0 {
+				itemBill.Total += k + strconv.Itoa(v) + "次+"
+			}
+		}
+		itemBill.Total = strings.TrimRight(itemBill.Total, "+")
 	}
 	err = data_manage.AddCygxActivitySpecialTripBill(itemBill)
 	if err != nil {

+ 103 - 105
services/cygx/activity_special.go

@@ -30,118 +30,116 @@ func GetChartPermissiontripRemainingByCompany(companyId int) (tripRemaining int,
 	//}
 	//chartMap := map[int]string{utils.YI_YAO_ID:utils.YI_YAO_NAME, utils.XIAO_FEI_ID:utils.XIAO_FEI_NAME, utils.KE_JI_ID:utils.KE_JI_NAME, utils.ZHI_ZAO_ID:utils.ZHI_ZAO_NAME}
 	//chartNumMap := map[int]int{utils.YI_YAO_ID:0, utils.XIAO_FEI_ID:0, utils.KE_JI_ID:0, utils.ZHI_ZAO_ID:0}
-	if companyDetail.Status == "正式" {
-		//var packageType int
-		userType, _, _, _, _ := GetUserType(companyId)
-		var condition string
-		var pars []interface{}
+	//var packageType int
+	userType, _, _, _, _ := GetUserType(companyId)
+	var condition string
+	var pars []interface{}
 
-		condition += ` AND company_id = ? `
-		pars = append(pars, companyId)
+	condition += ` AND company_id = ? `
+	pars = append(pars, companyId)
 
-		//查询当年的数据
-		condition += ` AND b.create_time >= ?  `
-		pars = append(pars, time.Now().Format("2006")+"-01-01")
-		listTripBill, e := data_manage.GetCygxActivitySpecialTripBillList(condition, pars)
-		if e != nil {
-			err = errors.New("GetActivitySpecialTripCountByActivitySpecial, Err: " + e.Error())
-			return
-		}
-		if userType == 2 {
-			//airborneList, e := cygx.GetActivitySpecialTripAirborneCountByActivitySpecial(condition, pars)
-			//if e != nil {
-			//	err = errors.New("GetActivitySpecialTripAirborneCountByActivitySpecial, Err: " + e.Error())
-			//	return
-			//}
-			//ariborneMap := make(map[int]int)
-			//for _, v := range airborneList {
-			//	ariborneMap[v.ChartPermissionId] = v.Count
-			//}
-			//到会空降的也加入流水记录表,这里不在做单独计算 2023-07-10
-			//airborneTotal, e := cygx.GetActivitySpecialTripAirborneCountByActivitySpecial(condition, pars)
-			//if e != nil {
-			//	err = errors.New("GetActivitySpecialTripAirborneCountByActivitySpecial, Err: " + e.Error())
-			//	return
-			//}
-			//condition += ` AND is_valid = 1 `
-			//TripBillNumMap := make(map[int]int)
-			//for _, v := range listTripBill {
-			//	TripBillNumMap[v.ChartPermissionId] += v.BillDetailed
+	//查询当年的数据
+	condition += ` AND b.create_time >= ?  `
+	pars = append(pars, time.Now().Format("2006")+"-01-01")
+	listTripBill, e := data_manage.GetCygxActivitySpecialTripBillList(condition, pars)
+	if e != nil {
+		err = errors.New("GetActivitySpecialTripCountByActivitySpecial, Err: " + e.Error())
+		return
+	}
+	if userType == 2 {
+		//airborneList, e := cygx.GetActivitySpecialTripAirborneCountByActivitySpecial(condition, pars)
+		//if e != nil {
+		//	err = errors.New("GetActivitySpecialTripAirborneCountByActivitySpecial, Err: " + e.Error())
+		//	return
+		//}
+		//ariborneMap := make(map[int]int)
+		//for _, v := range airborneList {
+		//	ariborneMap[v.ChartPermissionId] = v.Count
+		//}
+		//到会空降的也加入流水记录表,这里不在做单独计算 2023-07-10
+		//airborneTotal, e := cygx.GetActivitySpecialTripAirborneCountByActivitySpecial(condition, pars)
+		//if e != nil {
+		//	err = errors.New("GetActivitySpecialTripAirborneCountByActivitySpecial, Err: " + e.Error())
+		//	return
+		//}
+		//condition += ` AND is_valid = 1 `
+		//TripBillNumMap := make(map[int]int)
+		//for _, v := range listTripBill {
+		//	TripBillNumMap[v.ChartPermissionId] += v.BillDetailed
+		//}
+		var TripBillNum int
+		for _, v := range listTripBill {
+			//if v.ActivityId == 0 {
+			//	continue
 			//}
-			var TripBillNum int
-			for _, v := range listTripBill {
-				//if v.ActivityId == 0 {
-				//	continue
-				//}
-				TripBillNum += v.BillDetailed
-			}
-			// CRM13.2 70w客户有16次专项调研, 45w有10次
-			//packageTypeMap := map[int]int{1: 16, 2: 10}
-			//totalTrip := packageTypeMap[packageType]
+			TripBillNum += v.BillDetailed
+		}
+		// CRM13.2 70w客户有16次专项调研, 45w有10次
+		//packageTypeMap := map[int]int{1: 16, 2: 10}
+		//totalTrip := packageTypeMap[packageType]
 
-			tripRemaining = TripBillNum
-			if tripRemaining < 0 {
-				tripRemaining = 0
-			}
+		tripRemaining = TripBillNum
+		if tripRemaining < 0 {
+			tripRemaining = 0
+		}
 
-			//for k, _ := range chartNumMap {
-			//	tripRemaining := totalTrip - ariborneMap[k] + TripBillNumMap[k]
-			//	if tripRemaining < 0 {
-			//		tripRemaining = 0
-			//	}
-			//	specialSurplus += chartMap[k] + strconv.Itoa(tripRemaining) + "次,"
-			//}
-			//specialSurplus = strings.TrimRight(specialSurplus, ",")
+		//for k, _ := range chartNumMap {
+		//	tripRemaining := totalTrip - ariborneMap[k] + TripBillNumMap[k]
+		//	if tripRemaining < 0 {
+		//		tripRemaining = 0
+		//	}
+		//	specialSurplus += chartMap[k] + strconv.Itoa(tripRemaining) + "次,"
+		//}
+		//specialSurplus = strings.TrimRight(specialSurplus, ",")
 
-			//tripRemaining = 12 - tripTota
-		} else {
-			list, e := GetCompanyReportPermissionUpgrade(companyId, 2)
-			if e != nil && e.Error() != utils.ErrNoRow() {
-				err = errors.New("GetCompanyReportPermissionUpgrade, Err: " + e.Error())
-			}
-			if len(list) == 0 {
-				return
-			}
-			var chartPermissionIdSlice []string
-			mapChartName := make(map[string]int)
-			mapPermissionNameTrip := make(map[string]int)
-			//mapPermissionName := make(map[int]string)
-			for _, v := range list {
-				chartPermissionIdSlice = append(chartPermissionIdSlice, strconv.Itoa(v.ChartPermissionId))
+		//tripRemaining = 12 - tripTota
+	} else {
+		list, e := GetCompanyReportPermissionUpgrade(companyId, 2)
+		if e != nil && e.Error() != utils.ErrNoRow() {
+			err = errors.New("GetCompanyReportPermissionUpgrade, Err: " + e.Error())
+		}
+		if len(list) == 0 {
+			return
+		}
+		var chartPermissionIdSlice []string
+		mapChartName := make(map[string]int)
+		mapPermissionNameTrip := make(map[string]int)
+		//mapPermissionName := make(map[int]string)
+		for _, v := range list {
+			chartPermissionIdSlice = append(chartPermissionIdSlice, strconv.Itoa(v.ChartPermissionId))
 
-			}
-			chartList, e := models.GetChartPermissionByIds(chartPermissionIdSlice)
-			if e != nil {
-				err = errors.New("获取品种信息失败, Err:" + e.Error())
-				return
-			}
-			if len(chartList) == 0 {
-				return
-			}
-			//到会空降的也加入流水记录表,这里不在做单独计算 2023-07-10
-			//airborneList, e := cygx.GetCygxActivitySpecialTripAirborneListByComapnyId(companyId)
-			//if e != nil {
-			//	err = errors.New("获取品种信息失败, Err:" + e.Error())
-			//	return
-			//}
-			//for _, v := range airborneList {
-			//	mapPermissionNameTrip[v.ChartPermissionName] += 1
-			//}
+		}
+		chartList, e := models.GetChartPermissionByIds(chartPermissionIdSlice)
+		if e != nil {
+			err = errors.New("获取品种信息失败, Err:" + e.Error())
+			return
+		}
+		if len(chartList) == 0 {
+			return
+		}
+		//到会空降的也加入流水记录表,这里不在做单独计算 2023-07-10
+		//airborneList, e := cygx.GetCygxActivitySpecialTripAirborneListByComapnyId(companyId)
+		//if e != nil {
+		//	err = errors.New("获取品种信息失败, Err:" + e.Error())
+		//	return
+		//}
+		//for _, v := range airborneList {
+		//	mapPermissionNameTrip[v.ChartPermissionName] += 1
+		//}
 
-			//var TripBillNum int
-			for _, v := range listTripBill {
-				if v.ActivityId == 0 {
-					continue
-				}
-				mapPermissionNameTrip[v.ChartPermissionName] += v.BillDetailed
-			}
-			for _, v := range chartList {
-				mapChartName[v.PermissionName] = 5 + mapPermissionNameTrip[v.ChartPermissionName]
+		//var TripBillNum int
+		for _, v := range listTripBill {
+			if v.ActivityId == 0 {
+				continue
 			}
-			for _, v := range mapChartName {
-				if v > 0 {
-					tripRemaining += v
-				}
+			mapPermissionNameTrip[v.ChartPermissionName] += v.BillDetailed
+		}
+		for _, v := range chartList {
+			mapChartName[v.PermissionName] = 5 + mapPermissionNameTrip[v.ChartPermissionName]
+		}
+		for _, v := range mapChartName {
+			if v > 0 {
+				tripRemaining += v
 			}
 		}
 	}
@@ -176,6 +174,7 @@ func ActivitySpecialCompanyTryOutReduce(comapnyId int) (err error) {
 	itemBill.CompanyId = comapnyId
 	itemBill.CompanyName = comapny.CompanyName
 	itemBill.Content = "到期清零"
+	itemBill.Total = "0"
 	err = data_manage.AddCygxActivitySpecialTripBill(itemBill)
 	if err != nil {
 		return
@@ -184,7 +183,6 @@ func ActivitySpecialCompanyTryOutReduce(comapnyId int) (err error) {
 	return
 }
 
-
 // 获取 用户类型   //1、永续客户 //2、大套餐客户(4个行业全开通的正式客户) //3、分行业套餐客户(开通对应行业的正式客户) //4、仅开通专家套餐的正式客户 //5、开通对应行业套餐或专家套餐的试用客户
 func GetUserType(companyId int) (userType, packageType int, permissionStrnew, companyStatus string, err error) {
 	var permissionStr, permissionZhengShiStr string
@@ -276,4 +274,4 @@ func GetUserType(companyId int) (userType, packageType int, permissionStrnew, co
 	}
 	permissionStrnew = permissionStr
 	return
-}
+}