Browse Source

no message

xingzai 1 year ago
parent
commit
1d33ac3058

+ 6 - 1
controllers/activity.go

@@ -4010,6 +4010,12 @@ func (this *ActivityCoAntroller) Check() {
 	}
 	//这里的文案顺序提示 权限>时间>研选扣点>邮箱绑定。
 	resp := new(models.ActivityCheck)
+	resp.CancelPopupMsg, err = services.ActivityCancelDeadlineMsg(activityInfo) //处理取消报名截止时间的弹窗文案
+	if err != nil {
+		br.Msg = "操作失败"
+		br.ErrMsg = "操作失败,Err:" + err.Error()
+		return
+	}
 	hasPermission := 0
 	havePower, isResearchSpecial, err := services.GetActivityDetailUserPower(user, activityInfo)
 	if err != nil {
@@ -4047,7 +4053,6 @@ func (this *ActivityCoAntroller) Check() {
 			return
 		}
 	}
-
 	if resp.CheckPoints {
 		//如果通过点数的校验,就来校验邮箱
 		resp.CheckEmail, resp.PopupMsg = services.CheckActivityUserEmail(activityInfo, user)

+ 8 - 2
models/activity.go

@@ -74,6 +74,7 @@ type ActivityCheck struct {
 	CheckPermission   bool   `description:"权限是否通过校验"`
 	HasPermission     int    `description:"操作方式,1:有该行业权限,正常展示,2:无该行业权限,3:潜在客户,未提交过申请,4:潜在客户,已提交过申请"`
 	PopupMsg          string `description:"权限弹窗信息"`
+	CancelPopupMsg    string `description:"取消报名时间弹窗信息"`
 	SellerMobile      string `description:"销售电话"`
 	SellerName        string `description:"销售姓名"`
 	Mobile            string `description:"手机号"`
@@ -231,6 +232,7 @@ type ActivityDetail struct {
 	SiginupDeadline         string                     `description:"报名截止时间"`
 	IsExternalLabel         bool                       `description:"是否为外部资源"`
 	IsResearchPoints        bool                       `description:"是否为研选扣点"`
+	CancelDeadline          string                     `description:"取消报名截止时间"`
 }
 type ListArticleActivity struct {
 	Title   string `description:"文章标题"`
@@ -465,7 +467,8 @@ func GetScheduleAndSpecilList(condition string, pars []interface{}, conditionSpe
 			art.city,
 			art.is_external_label,
 			art.siginup_deadline,
-			art.is_research_points
+			art.is_research_points,
+			art.cancel_deadline
 		FROM
 			cygx_activity AS art
 			INNER JOIN cygx_my_schedule AS my ON my.activity_id = art.activity_id
@@ -500,6 +503,7 @@ func GetScheduleAndSpecilList(condition string, pars []interface{}, conditionSpe
 			"",
 			"",
 			"",
+			"",
 			""
 		FROM
 			cygx_activity_special AS art
@@ -1121,7 +1125,8 @@ func GetActivitySpecialSearcheList(condition string, pars []interface{}, conditi
 			art.activity_time,
 			art.is_external_label,
 			art.siginup_deadline,
-			art.is_research_points
+			art.is_research_points,
+			art.cancel_deadline
 		FROM
 			cygx_activity AS art
 			INNER JOIN cygx_activity_type AS t ON t.activity_type_id = art.activity_type_id
@@ -1156,6 +1161,7 @@ func GetActivitySpecialSearcheList(condition string, pars []interface{}, conditi
 			art.activity_time,
 			"",
 			"",
+			"",
 			""
 		FROM
 			cygx_activity_special AS art

+ 11 - 10
models/activity_points_set.go

@@ -18,16 +18,17 @@ type YanXuanActivityPointsRedis struct {
 }
 
 type CygxActivityPointsSet struct {
-	Id               int       `gorm:"column:id;primary_key;AUTO_INCREMENT" json:"id"`
-	ActivityId       int       `gorm:"column:activity_id;NOT NULL" json:"activity_id"`                         // 活动ID
-	PointsObject     int       `gorm:"column:points_object;default:1;NOT NULL" json:"points_object"`           // 扣点对象,1:参会人、2:办会人、3:办会人和参会人
-	CompanyId        int       `gorm:"column:company_id;default:0;NOT NULL" json:"company_id"`                 // 公司ID
-	CompanyName      float64   `gorm:"column:company_name;NOT NULL" json:"company_name"`                       // 公司名称
-	UserPointsNum    float64   `gorm:"column:user_points_num;default:0;NOT NULL" json:"user_points_num"`       // 参会人扣点数量
-	PointsType       int       `gorm:"column:points_type;default:0;NOT NULL" json:"points_type"`               // 扣点形式,1:报名即扣点,2:到会即扣点
-	CompanyPointsNum float64   `gorm:"column:company_points_num;default:0;NOT NULL" json:"company_points_num"` // 办会人扣点数量
-	CreateTime       time.Time `gorm:"column:create_time;NOT NULL" json:"create_time"`                         // 创建时间
-	ModifyTime       time.Time `gorm:"column:modify_time;NOT NULL" json:"modify_time"`                         // 更新时间
+	Id                 int       `gorm:"column:id;primary_key;AUTO_INCREMENT" json:"id"`
+	ActivityId         int       `gorm:"column:activity_id;NOT NULL" json:"activity_id"`                         // 活动ID
+	PointsObject       int       `gorm:"column:points_object;default:1;NOT NULL" json:"points_object"`           // 扣点对象,1:参会人、2:办会人、3:办会人和参会人
+	CompanyId          int       `gorm:"column:company_id;default:0;NOT NULL" json:"company_id"`                 // 公司ID
+	CompanyName        float64   `gorm:"column:company_name;NOT NULL" json:"company_name"`                       // 公司名称
+	UserPointsNum      float64   `gorm:"column:user_points_num;default:0;NOT NULL" json:"user_points_num"`       // 参会人扣点数量
+	PointsType         int       `gorm:"column:points_type;default:0;NOT NULL" json:"points_type"`               // 扣点形式,1:报名即扣点,2:到会即扣点
+	CompanyPointsNum   float64   `gorm:"column:company_points_num;default:0;NOT NULL" json:"company_points_num"` // 办会人扣点数量
+	CancelDeadlineType int       `description:"取消报名截止时间类型,0:不设置,1:同报名截止时间, 2:24小时之前、3:48小时之前"`
+	CreateTime         time.Time `gorm:"column:create_time;NOT NULL" json:"create_time"` // 创建时间
+	ModifyTime         time.Time `gorm:"column:modify_time;NOT NULL" json:"modify_time"` // 更新时间
 }
 
 type CygxActivityPointsSetRsq struct {

+ 4 - 0
services/activity.go

@@ -2230,6 +2230,10 @@ func ActivityButtonShow(item *models.ActivityDetail) (articleDetail *models.Acti
 	if articleDetail.SiginupDeadline == utils.FormatDateTimeInit { //报名截止时间处理
 		articleDetail.SiginupDeadline = ""
 	}
+	//如果报名截止时间不规范,或者是非研选扣点活动就把截止时间设置为空
+	if articleDetail.CancelDeadline == utils.FormatDateTimeInit || !articleDetail.IsResearchPoints {
+		articleDetail.CancelDeadline = ""
+	}
 	activityTimeText := articleDetail.ActivityTimeText
 	activityTimeText = strings.Replace(activityTimeText, "(", "(", -1)
 	activityTimeText = strings.Replace(activityTimeText, ")", ")", -1)

+ 30 - 0
services/activity_signup.go

@@ -125,6 +125,36 @@ func CheckActivityUserEmail(activityInfo *models.ActivityDetail, wxUser *models.
 	return
 }
 
+// 处理取消报名截止时间的弹窗文案
+func ActivityCancelDeadlineMsg(activityInfo *models.ActivityDetail) (popupMsg string, err error) {
+	if !activityInfo.IsResearchPoints {
+		return
+	}
+	activityId := activityInfo.ActivityId
+	//获取活动是否扣点以及扣点规则明细
+	activityPointsSetDetail, e := models.GetCygxActivityPointsSetDetail(activityId)
+	if e != nil {
+		err = errors.New("GetCygxActivityPointsSetDetail" + e.Error())
+		return
+	}
+	cancelDeadlineType := activityPointsSetDetail.CancelDeadlineType
+	popupMsg = "活动开始前1小时取消报名,可返还点数"
+	//if activityInfo.CancelDeadlineType == 0 {
+	//	popupMsg = "活动开始前1小时取消报名,可返还点数"
+	//}
+	if cancelDeadlineType == 1 && activityInfo.SiginupDeadline != utils.FormatDateTimeInit && activityInfo.SiginupDeadline != "" {
+		siginupDeadline := utils.GetTimeDateRemoveYearAndSecond(activityInfo.SiginupDeadline)
+		popupMsg = siginupDeadline + "前取消报名,可返还点数"
+	}
+	if cancelDeadlineType == 2 {
+		popupMsg = "活动开始前24小时取消报名,可返还点数"
+	}
+	if cancelDeadlineType == 3 {
+		popupMsg = "活动开始前48小时取消报名,可返还点数"
+	}
+	return
+}
+
 // // 校验报名顺序 截止时间>点数>邮箱
 func CheckActivityUserAll(activityInfo *models.ActivityDetail, wxUser *models.WxUserItem) (popupMsg string, err error) {
 	_, popupMsg = CheckSiginupDeadline(activityInfo)

+ 17 - 0
services/init_10.5.1.go

@@ -2,6 +2,7 @@ package services
 
 import (
 	"fmt"
+	"github.com/beego/beego/v2/client/orm"
 	"hongze/hongze_cygx/models"
 	"hongze/hongze_cygx/utils"
 	"time"
@@ -455,3 +456,19 @@ func init5555() {
 		fmt.Println(err, "555")
 	}
 }
+
+func init10_12() {
+	var condition string
+	var pars []interface{}
+	condition = " AND active_state = 1 "
+	listAct, err := models.GetCygxActivityList(condition, pars, 0, 100000)
+	fmt.Println(err)
+	for _, v := range listAct {
+		resultTime := utils.StrTimeToTime(v.ActivityTime)                             //时间字符串格式转时间格式
+		cancelDeadline := resultTime.Add(-time.Hour * 1).Format(utils.FormatDateTime) //默认一小时
+		o := orm.NewOrm()
+		sql := `UPDATE cygx_activity SET cancel_deadline = ? WHERE activity_id  = ? `
+		_, err = o.Raw(sql, cancelDeadline, v.ActivityId).Exec()
+		fmt.Println(err)
+	}
+}

+ 14 - 0
utils/common.go

@@ -854,3 +854,17 @@ func GetTimeDateRemoveYear(strTime string) (dataStr string) {
 	dataStr = strings.TrimRight(dataStr, "-")
 	return dataStr
 }
+
+// 时间格式去掉年和秒
+func GetTimeDateRemoveYearAndSecond(strTime string) (dataStr string) {
+	slicePublishTime := strings.Split(strTime, "-")
+	for k, v := range slicePublishTime {
+		if k == 0 {
+			continue
+		}
+		dataStr += v + "-"
+	}
+	dataStr = strings.TrimRight(dataStr, "-")
+	dataStr = dataStr[:len(dataStr)-3]
+	return
+}