|
@@ -2,6 +2,7 @@ package controllers
|
|
|
|
|
|
import (
|
|
|
"encoding/json"
|
|
|
+ "fmt"
|
|
|
"hongze/hongze_cygx/models"
|
|
|
"hongze/hongze_cygx/utils"
|
|
|
"rdluck_tools/paging"
|
|
@@ -204,6 +205,89 @@ func (this *ActivityCoAntroller) ActivityList() {
|
|
|
br.Data = resp
|
|
|
}
|
|
|
|
|
|
+// @Title 活动列表
|
|
|
+// @Description 获取活动列表接口
|
|
|
+// @Param PageSize query int true "每页数据条数"
|
|
|
+// @Param CurrentIndex query int true "当前页页码,从1开始"
|
|
|
+// @Success 200 {object} models.GetCygxActivityListRep
|
|
|
+// @router /scheduleList [get]
|
|
|
+func (this *ActivityCoAntroller) ScheduleList() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+
|
|
|
+ user := this.User
|
|
|
+ if user == nil {
|
|
|
+ br.Msg = "请登录"
|
|
|
+ br.ErrMsg = "请登录,SysUser Is Empty"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ uid := user.UserId
|
|
|
+ pageSize, _ := this.GetInt("PageSize")
|
|
|
+ currentIndex, _ := this.GetInt("CurrentIndex")
|
|
|
+
|
|
|
+ var startSize int
|
|
|
+ if pageSize <= 0 {
|
|
|
+ pageSize = utils.PageSize20
|
|
|
+ }
|
|
|
+ if currentIndex <= 0 {
|
|
|
+ currentIndex = 1
|
|
|
+ }
|
|
|
+ startSize = utils.StartIndex(currentIndex, pageSize)
|
|
|
+ var condition string
|
|
|
+ var pars []interface{}
|
|
|
+
|
|
|
+ condition += ` AND art.publish_status = 1 `
|
|
|
+
|
|
|
+ total, err := models.GetActivityCount(condition, pars)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ list, errList := models.GetActivityListAll(condition, pars, uid, startSize, pageSize)
|
|
|
+ srt30min := "1,2,3"
|
|
|
+ srt60min := "4,5,6"
|
|
|
+ for k, v := range list {
|
|
|
+ if strings.Contains(srt30min, strconv.Itoa(v.ActivityTypeId)) {
|
|
|
+ resultTime := utils.StrTimeToTime(v.ActivityTime) //时间字符串格式转时间格式
|
|
|
+ if resultTime.After(time.Now()) {
|
|
|
+ list[k].ActiveState = "1"
|
|
|
+ } else if time.Now().After(resultTime) && resultTime.After(time.Now().Add(+time.Minute*30)) {
|
|
|
+ list[k].ActiveState = "2"
|
|
|
+ } else {
|
|
|
+ list[k].ActiveState = "3"
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if strings.Contains(srt60min, strconv.Itoa(v.ActivityTypeId)) {
|
|
|
+ resultTime := utils.StrTimeToTime(v.ActivityTime) //时间字符串格式转时间格式
|
|
|
+ if resultTime.After(time.Now()) {
|
|
|
+ list[k].ActiveState = "1"
|
|
|
+ } else if time.Now().After(resultTime) && resultTime.After(time.Now().Add(+time.Minute*60)) {
|
|
|
+ list[k].ActiveState = "2"
|
|
|
+ } else {
|
|
|
+ list[k].ActiveState = "3"
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if errList != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取失败,Err:" + errList.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ page := paging.GetPaging(currentIndex, pageSize, total)
|
|
|
+ resp := new(models.GetCygxActivityListRep)
|
|
|
+ resp.List = list
|
|
|
+ resp.Paging = page
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ br.Data = resp
|
|
|
+}
|
|
|
+
|
|
|
// @Title 活动详情
|
|
|
// @Description 获取活动详情接口
|
|
|
// @Param ActivityId query int true "活动ID"
|
|
@@ -265,6 +349,8 @@ func (this *ActivityCoAntroller) SignupAdd() {
|
|
|
return
|
|
|
}
|
|
|
uid := user.UserId
|
|
|
+ //var signupStatus string
|
|
|
+ signupStatus := ""
|
|
|
var req models.ActivitySingnupRep
|
|
|
err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
|
|
|
if err != nil {
|
|
@@ -278,53 +364,78 @@ func (this *ActivityCoAntroller) SignupAdd() {
|
|
|
br.Msg = "请选择正确的报名方式!"
|
|
|
return
|
|
|
}
|
|
|
+ //SignupStatus string `description:"报名状态:人数已满:FullStarffed、单机构超过两人:TwoPeople、爽约次数过多:BreakPromise、超时:Overtime 、成功:Success"`
|
|
|
item := new(models.CygxActivitySignup)
|
|
|
- activityInfo, errInfo := models.GetAddActivityInfoById(activityId)
|
|
|
- if activityInfo == nil {
|
|
|
- br.Msg = "操作失败"
|
|
|
- br.ErrMsg = "活动ID错误,不存在activityId:" + strconv.Itoa(activityId)
|
|
|
- return
|
|
|
- }
|
|
|
- if errInfo != nil {
|
|
|
- br.Msg = "操作失败"
|
|
|
- br.ErrMsg = "操作失败,Err:" + errInfo.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- resultTime := utils.StrTimeToTime(activityInfo.ActivityTime) //时间字符串格式转时间格式
|
|
|
- if time.Now().After(resultTime.Add(-time.Minute * 60)) {
|
|
|
- if signupType == 1 {
|
|
|
- br.Msg = "活动开始前1小时内无法预约外呼,请联系对口销售处理"
|
|
|
- } else {
|
|
|
- br.Msg = "活动开始前1小时内无法报名,请联系对口销售处理"
|
|
|
+ if activityId%5 == 1 {
|
|
|
+ signupStatus = "FullStarffed"
|
|
|
+ item.FailType = 1
|
|
|
+ } else if activityId%5 == 2 {
|
|
|
+ signupStatus = "TwoPeople"
|
|
|
+ item.FailType = 2
|
|
|
+ } else if activityId%5 == 3 {
|
|
|
+ signupStatus = "BreakPromise"
|
|
|
+ item.FailType = 3
|
|
|
+ } else if activityId%5 == 4 {
|
|
|
+ signupStatus = "Overtime"
|
|
|
+ } else if activityId%5 == 5 {
|
|
|
+ signupStatus = "Success"
|
|
|
+ }
|
|
|
+ fmt.Println(signupStatus)
|
|
|
+ if item.FailType > 1 {
|
|
|
+ activityInfo, errInfo := models.GetAddActivityInfoById(activityId)
|
|
|
+ if activityInfo == nil {
|
|
|
+ br.Msg = "操作失败"
|
|
|
+ br.ErrMsg = "活动ID错误,不存在activityId:" + strconv.Itoa(activityId)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if errInfo != nil {
|
|
|
+ br.Msg = "操作失败"
|
|
|
+ br.ErrMsg = "操作失败,Err:" + errInfo.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ resultTime := utils.StrTimeToTime(activityInfo.ActivityTime) //时间字符串格式转时间格式
|
|
|
+ if time.Now().After(resultTime.Add(-time.Minute * 60)) {
|
|
|
+ if signupType == 1 {
|
|
|
+ br.Msg = "活动开始前1小时内无法预约外呼,请联系对口销售处理"
|
|
|
+ } else {
|
|
|
+ br.Msg = "活动开始前1小时内无法报名,请联系对口销售处理"
|
|
|
+ }
|
|
|
+ return
|
|
|
+ }
|
|
|
+ total, err := models.GetActivitySignupCount(uid, activityId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if total > 0 {
|
|
|
+ br.Msg = "您已报名这个活动"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ item.UserId = uid
|
|
|
+ item.ActivityId = activityId
|
|
|
+ item.CreateTime = time.Now()
|
|
|
+ item.Mobile = user.Mobile
|
|
|
+ item.Email = user.Email
|
|
|
+ item.CompanyId = user.CompanyId
|
|
|
+ item.CompanyName = user.CompanyName
|
|
|
+ _, errSignup := models.AddActivitySignup(item)
|
|
|
+ if errSignup != nil {
|
|
|
+ br.Msg = "操作失败"
|
|
|
+ br.ErrMsg = "操作失败,Err:" + errSignup.Error()
|
|
|
+ return
|
|
|
}
|
|
|
- return
|
|
|
- }
|
|
|
- total, err := models.GetActivitySignupCount(uid, activityId)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "获取失败"
|
|
|
- br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- if total > 0 {
|
|
|
- br.Msg = "您已报名这个活动"
|
|
|
- return
|
|
|
}
|
|
|
- item.UserId = uid
|
|
|
- item.ActivityId = activityId
|
|
|
- item.CreateTime = time.Now()
|
|
|
- item.Mobile = user.Mobile
|
|
|
- item.Email = user.Email
|
|
|
- item.CompanyId = user.CompanyId
|
|
|
- item.CompanyName = user.CompanyName
|
|
|
- _, errSignup := models.AddActivitySignup(item)
|
|
|
- if errSignup != nil {
|
|
|
- br.Msg = "操作失败"
|
|
|
- br.ErrMsg = "操作失败,Err:" + errSignup.Error()
|
|
|
- return
|
|
|
+ resp := new(models.SignupStatus)
|
|
|
+ resp.SignupType = signupType
|
|
|
+ resp.SignupStatus = signupStatus
|
|
|
+ if activityId%2 == 1 {
|
|
|
+ resp.GoFollow = true
|
|
|
}
|
|
|
br.Ret = 200
|
|
|
br.Success = true
|
|
|
br.Msg = "操作成功"
|
|
|
+ br.Data = resp
|
|
|
}
|
|
|
|
|
|
// @Title 活动取消报名
|