Browse Source

no message

xingzai 1 year ago
parent
commit
ccc00ecd5b
2 changed files with 33 additions and 13 deletions
  1. 1 0
      models/company_user_type.go
  2. 32 13
      services/activity_special_trip.go

+ 1 - 0
models/company_user_type.go

@@ -9,6 +9,7 @@ type CygxCompanyUserType struct {
 	Id             int `orm:"column(id);pk" description:"分析师id"`
 	CompanyId      int
 	CustomerTypeId int       `description:"用户身份ID"`
+	PackageType    int       `description:"1:70万 2:45w"`
 	CreateTime     time.Time `description:"创建时间"`
 	ModifyTime     time.Time `description:"创建时间"`
 }

+ 32 - 13
services/activity_special_trip.go

@@ -57,7 +57,7 @@ func GetTripRemainingtimesBycompany(user *models.WxUserItem, activityInfo *model
 	//获取 专项调研客户类型   //1、永续客户 //2、大套餐客户(4个行业全开通的正式客户) //3、分行业套餐客户(开通对应行业的正式客户) //4、仅开通专家套餐的正式客户 //5、开通对应行业套餐或专家套餐的试用客户;6、冻结客户;7、流失客户 8:行业升级套餐客户
 	msgTemplate := "您的专项调研次数已用完,如仍想参加,请与您的对口销售商议"
 	//var tripTota int
-	var airborneTota int
+	//var airborneTota int
 	//userType, _, e := GetActivitySpecialUserType(user.CompanyId)
 	userType, _, e := GetUserType(user.CompanyId)
 	if e != nil {
@@ -77,11 +77,11 @@ func GetTripRemainingtimesBycompany(user *models.WxUserItem, activityInfo *model
 		condition += ` AND company_id = ? `
 		pars = append(pars, user.CompanyId)
 
-		airborneTota, e = models.GetActivitySpecialTripAirborneCountByActivitySpecial(condition, pars)
-		if e != nil {
-			err = errors.New("GetActivitySpecialTripAirborneCountByActivitySpecial, Err: " + e.Error())
-			return
-		}
+		//airborneTota, e = models.GetActivitySpecialTripAirborneCountByActivitySpecial(condition, pars)
+		//if e != nil {
+		//	err = errors.New("GetActivitySpecialTripAirborneCountByActivitySpecial, Err: " + e.Error())
+		//	return
+		//}
 		//condition += ` AND is_valid = 1 `
 		//查询当年的数据
 		condition += ` AND create_time >= ?  `
@@ -95,7 +95,25 @@ func GetTripRemainingtimesBycompany(user *models.WxUserItem, activityInfo *model
 		for _, v := range listTripBill {
 			TripBillNum += v.BillDetailed
 		}
-		tripRemaining = 10 - airborneTota + TripBillNum
+		var packageType int
+		//大套餐客户,数据库添加标识,
+		companyUserTypeDetail, errs := models.GetCygxCompanyUserType(user.CompanyId)
+		if errs != nil && errs.Error() != utils.ErrNoRow() {
+			err = errs
+			return
+		}
+		if companyUserTypeDetail != nil {
+			packageType = companyUserTypeDetail.PackageType
+			if companyUserTypeDetail.CustomerTypeId != 0 {
+				userType = companyUserTypeDetail.CustomerTypeId
+				return
+			}
+		}
+
+		packageTypeMap := map[int]int{1: 16, 2: 10}
+		totalTrip := packageTypeMap[packageType]
+		//tripRemaining = 10 - airborneTota + TripBillNum
+		tripRemaining = totalTrip + TripBillNum
 		if tripRemaining <= 0 {
 			errMsg = msgTemplate
 			return
@@ -111,11 +129,11 @@ func GetTripRemainingtimesBycompany(user *models.WxUserItem, activityInfo *model
 		condition += ` AND chart_permission_id = ? `
 		pars = append(pars, activityInfo.ChartPermissionId)
 
-		airborneTota, e = models.GetActivitySpecialTripAirborneCountByActivitySpecial(condition, pars)
-		if e != nil {
-			err = errors.New("GetActivitySpecialTripAirborneCountByActivitySpecial, Err: " + e.Error())
-			return
-		}
+		//airborneTota, e = models.GetActivitySpecialTripAirborneCountByActivitySpecial(condition, pars)
+		//if e != nil {
+		//	err = errors.New("GetActivitySpecialTripAirborneCountByActivitySpecial, Err: " + e.Error())
+		//	return
+		//}
 		//查询当年的数据
 		condition += ` AND create_time >= ?  `
 		pars = append(pars, time.Now().Format(utils.FormatYearDate)+"-01-01")
@@ -128,7 +146,8 @@ func GetTripRemainingtimesBycompany(user *models.WxUserItem, activityInfo *model
 		for _, v := range listTripBill {
 			TripBillNum += v.BillDetailed
 		}
-		tripRemaining = 5 - airborneTota + TripBillNum
+		//tripRemaining = 5 - airborneTota + TripBillNum
+		tripRemaining = 5 + TripBillNum
 		if tripRemaining <= 0 {
 			errMsg = msgTemplate
 			return