Browse Source

Merge branch 'cygx_need_p2_775' of http://8.136.199.33:3000/hongze/hongze_cygx

xingzai 1 year ago
parent
commit
6f100bf0c8

+ 24 - 1
controllers/activity_special.go

@@ -246,6 +246,16 @@ func (this *ActivitySpecialCoAntroller) SpecialTripAdd() {
 			itemBill.RegisterPlatform = 1
 			itemBill.ChartPermissionId = activityInfo.ChartPermissionId
 
+			var itemMeeting = new(models.CygxActivitySpecialMeetingDetail)
+			itemMeeting.UserId = user.UserId
+			itemMeeting.ActivityId = activityId
+			itemMeeting.CreateTime = time.Now()
+			itemMeeting.Mobile = user.Mobile
+			itemMeeting.Email = user.Email
+			itemMeeting.CompanyId = user.CompanyId
+			itemMeeting.CompanyName = user.CompanyName
+			itemMeeting.RealName = user.RealName
+
 			go services.ActivitySpecialUserRmind(user, activityId, 2)
 			//判断是删除还是添加
 			if total == 0 {
@@ -309,7 +319,20 @@ func (this *ActivitySpecialCoAntroller) SpecialTripAdd() {
 					itemBill.BillDetailed = 0 //48小时之内,取消报名之后二次报名,不扣除流水记录
 				}
 			}
-			go models.AddCygxActivitySpecialTripBill(itemBill)
+			//添加流水记录
+			err = models.AddCygxActivitySpecialTripBill(itemBill)
+			if err != nil {
+				br.Msg = "报名失败,"
+				br.ErrMsg = "AddCygxActivitySpecialTripBill,Err:" + err.Error()
+				return
+			}
+			//添加数据到会信息
+			err = models.AddCygxActivitySpecialMeetingDetail(itemMeeting)
+			if err != nil {
+				br.Msg = "报名失败,"
+				br.ErrMsg = "AddCygxActivitySpecialMeetingDetail,Err:" + err.Error()
+				return
+			}
 		}
 	} else {
 		hasPermission, sellerName, sellerMobile, popupMsg, err := services.GetUserHasPermission(user)

+ 27 - 0
models/activity_special_meeting_detail.go

@@ -0,0 +1,27 @@
+package models
+
+import (
+	"github.com/beego/beego/v2/client/orm"
+	"time"
+)
+
+type CygxActivitySpecialMeetingDetail struct {
+	Id          int       `orm:"column(id);pk"`
+	UserId      int       `description:"用户id"`
+	ActivityId  int       `description:"活动ID"`
+	CreateTime  time.Time `description:"创建时间"`
+	Mobile      string    `description:"手机号"`
+	Email       string    `description:"邮箱号"`
+	CompanyId   int       `description:"公司ID"`
+	CompanyName string    `description:"公司名称"`
+	IsMeeting   int       `description:"是否到会  1.是 ,0否"`
+	IsAirborne  int       `description:"是否属于空降  1.是 ,0否"`
+	RealName    string    `description:"真实姓名"`
+}
+
+// 添加
+func AddCygxActivitySpecialMeetingDetail(item *CygxActivitySpecialMeetingDetail) (err error) {
+	o := orm.NewOrm()
+	_, err = o.Insert(item)
+	return
+}

+ 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:"创建时间"`
 }

+ 1 - 0
models/db.go

@@ -98,6 +98,7 @@ func init() {
 		new(CygxUserFreeeButton),
 		new(UserInvitee),
 		new(CygxActivitySpecialSignup),
+		new(CygxActivitySpecialMeetingDetail),
 		new(CygxUserFollowSpecial),
 		new(CygxChart),
 		new(CygxChartCollect),

+ 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