|
@@ -11,9 +11,78 @@ import (
|
|
|
"time"
|
|
|
)
|
|
|
|
|
|
-//func init() {
|
|
|
-// UpdateCygxActivitySpecialSignupNum()
|
|
|
-//}
|
|
|
+func ActivityLabelSpecialSql(chartPermissionIds, whichDay, activeState string) (condition string) {
|
|
|
+
|
|
|
+ //行业名称
|
|
|
+ if len(chartPermissionIds) > 0 {
|
|
|
+ condition += ` AND art.chart_permission_id IN (` + chartPermissionIds + `)`
|
|
|
+ }
|
|
|
+ if whichDay != "" {
|
|
|
+ var startDate string
|
|
|
+ var endDate string
|
|
|
+ if whichDay == "1" {
|
|
|
+ startDate = time.Now().Format(utils.FormatDate)
|
|
|
+ endDate = startDate
|
|
|
+ } else if whichDay == "2" {
|
|
|
+ startDate = time.Now().AddDate(0, 0, +1).Format(utils.FormatDate)
|
|
|
+ endDate = startDate
|
|
|
+ } else if whichDay == "1,2" || whichDay == "2,1" {
|
|
|
+ startDate = time.Now().Format(utils.FormatDate)
|
|
|
+ endDate = time.Now().AddDate(0, 0, +1).Format(utils.FormatDate)
|
|
|
+ } else if whichDay == "3" {
|
|
|
+ startDate = utils.GetNowWeekMonday().Format(utils.FormatDate)
|
|
|
+ endDate = utils.GetNowWeekSunday().Format(utils.FormatDate)
|
|
|
+ } else if whichDay == "4" {
|
|
|
+ startDate = utils.GetLastWeekMonday().Format(utils.FormatDate)
|
|
|
+ endDate = utils.GetLastWeekSunday().Format(utils.FormatDate)
|
|
|
+ } else if whichDay == "5" {
|
|
|
+ startDate = utils.GetNowMonthFirstDay().Format(utils.FormatDate)
|
|
|
+ endDate = utils.GetNowMonthLastDay().Format(utils.FormatDate)
|
|
|
+ } else if whichDay == "6" {
|
|
|
+ startDate = utils.GetLastMonthFirstDay().Format(utils.FormatDate)
|
|
|
+ endDate = utils.GetLastMonthLastDay().Format(utils.FormatDate)
|
|
|
+ } else if whichDay == "3,4" || whichDay == "4,3" {
|
|
|
+ startDate = utils.GetLastWeekMonday().Format(utils.FormatDate)
|
|
|
+ endDate = utils.GetNowWeekSunday().Format(utils.FormatDate)
|
|
|
+ } else if whichDay == "5,6" || whichDay == "6,5" {
|
|
|
+ startDate = utils.GetLastMonthFirstDay().Format(utils.FormatDate)
|
|
|
+ endDate = utils.GetNowMonthLastDay().Format(utils.FormatDate)
|
|
|
+ } else {
|
|
|
+ startDate = utils.GetNowWeekMonday().Format(utils.FormatDate)
|
|
|
+ endDate = utils.GetNowWeekSunday().Format(utils.FormatDate)
|
|
|
+ }
|
|
|
+ condition += ` AND art.activity_time >= ` + "'" + startDate + " 00:00:00'"
|
|
|
+ condition += ` AND art.activity_time <= ` + "'" + endDate + " 23:59:59'"
|
|
|
+ }
|
|
|
+
|
|
|
+ if activeState == "2" {
|
|
|
+ condition += ` AND art.days > 0 AND art.activity_time <= ` + "'" + time.Now().Format(utils.FormatDateTime) + " '"
|
|
|
+ condition += ` AND art.activity_time_end >= ` + "'" + time.Now().Format(utils.FormatDateTime) + " '"
|
|
|
+ }
|
|
|
+
|
|
|
+ if activeState == "3" {
|
|
|
+ condition += ` AND art.days > 0 AND art.activity_time_end <= ` + "'" + time.Now().Format(utils.FormatDateTime) + " '"
|
|
|
+ }
|
|
|
+
|
|
|
+ //if activeState != "3" {
|
|
|
+ // condition += ` AND art.activity_time_end > ` + "'" + time.Now().Format(utils.FormatDateTime) + " '"
|
|
|
+ //}
|
|
|
+
|
|
|
+ //if activeState == "" && whichDay == "" {
|
|
|
+ // condition += ` AND art.activity_time_end > ` + "'" + time.Now().Format(utils.FormatDateTime) + " '"
|
|
|
+ //}
|
|
|
+
|
|
|
+ if whichDay != "" {
|
|
|
+ condition += ` AND art.days > 0 `
|
|
|
+ }
|
|
|
+ condition += ` AND art.label != '' AND art.is_offline = 0 `
|
|
|
+
|
|
|
+ if activeState == "1" {
|
|
|
+ condition = condition + ` AND art.days > 0 AND art.activity_time_end > ` + "'" + time.Now().Format(utils.FormatDateTime) + " '"
|
|
|
+ }
|
|
|
+
|
|
|
+ return
|
|
|
+}
|
|
|
|
|
|
// ActivityLabelSpecialUserSql 专项产业调研用户权限查询数据预处理
|
|
|
func ActivityLabelSpecialUserSql(user *models.WxUserItem) (conditionShengji, conditionZhengshi, conditionHangYe string, err error) {
|
|
@@ -127,32 +196,25 @@ func UpdateCygxActivitySpecialSignupNum(cont context.Context) (err error) {
|
|
|
}
|
|
|
|
|
|
// 处理专项调研的展示
|
|
|
-func GetActivityLabelSpecialList(user *models.WxUserItem, isPower int, chartPermissionIds, permissionNameStr string) (item *models.ActivityTypeHome, err error) {
|
|
|
+func GetActivityLabelSpecialList(user *models.WxUserItem, conditionActivitySpecial, activeState string) (item *models.ActivityTypeHome, err error) {
|
|
|
itemList := new(models.ActivityTypeHome)
|
|
|
if user.CompanyId <= 1 {
|
|
|
itemList.List = make([]*models.CygxActivityLabelList, 0)
|
|
|
item = itemList
|
|
|
return
|
|
|
}
|
|
|
- //userType, e := GetSpecialUserType(user)
|
|
|
- userType, _, e := GetUserType(user.CompanyId)
|
|
|
- if e != nil {
|
|
|
- err = errors.New("GetSpecialUserType, Err: " + e.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- if userType == 0 {
|
|
|
- itemList.List = make([]*models.CygxActivityLabelList, 0)
|
|
|
- item = itemList
|
|
|
- return
|
|
|
- }
|
|
|
companyDetail, e := models.GetCompanyDetailByIdGroupTrip(user.CompanyId)
|
|
|
- if e != nil {
|
|
|
+ if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
err = errors.New("GetCompanyDetailByIdGroupTrip, Err: " + e.Error())
|
|
|
return
|
|
|
}
|
|
|
+ if companyDetail == nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
//如果是永续的就按照普通的权限逻辑来查,如果不是就按照升级的逻辑来查
|
|
|
var condition string
|
|
|
var conditionUser string
|
|
|
+ //var userType int
|
|
|
if companyDetail.Status == "永续" {
|
|
|
conditionUser, e = HandleActivityLabelSpecialPermission(user)
|
|
|
if e != nil {
|
|
@@ -167,26 +229,17 @@ func GetActivityLabelSpecialList(user *models.WxUserItem, isPower int, chartPerm
|
|
|
}
|
|
|
}
|
|
|
var pars []interface{}
|
|
|
- condition += ` AND art.publish_status = 1 AND art.label != '' AND art.is_offline = 0 `
|
|
|
- //行业名称
|
|
|
- if isPower == 1 {
|
|
|
- condition += ` AND art.chart_permission_name IN (` + permissionNameStr + `) `
|
|
|
- }
|
|
|
- if chartPermissionIds != "" {
|
|
|
- condition += ` AND art.chart_permission_id IN (` + chartPermissionIds + `) `
|
|
|
- }
|
|
|
-
|
|
|
+ condition += ` AND art.publish_status = 1 AND art.label != '' AND art.is_offline = 0 ` + conditionActivitySpecial
|
|
|
+ conditionTrip := condition
|
|
|
+ conditionTripSql := condition
|
|
|
+ conditionNoTrip := condition
|
|
|
+ conditionNoTripSql := condition
|
|
|
//condition += conditionUser
|
|
|
conditionShengji, conditionZhengshi, conditionHangYe, e := ActivityLabelSpecialUserSql(user)
|
|
|
if e != nil {
|
|
|
err = errors.New("ActivityLabelSpecialUserSql, Err: " + e.Error())
|
|
|
return
|
|
|
}
|
|
|
-
|
|
|
- conditionTrip := condition
|
|
|
- conditionNoTrip := condition
|
|
|
- conditionTripSql := condition
|
|
|
- conditionNoTripSql := condition
|
|
|
conditionTrip += ` AND art.days > 0 AND art.activity_time_end > '` + time.Now().Format(utils.FormatDateTime) + ` '`
|
|
|
|
|
|
var conditionZhengshiTrip string
|
|
@@ -215,17 +268,16 @@ func GetActivityLabelSpecialList(user *models.WxUserItem, isPower int, chartPerm
|
|
|
conditionTrip += conditionHangYeTrip
|
|
|
}
|
|
|
|
|
|
- //行业套餐客户勾选项单独处理
|
|
|
- if userType == 3 {
|
|
|
- conditionTripSql += ` AND art.chart_permission_name IN (` + permissionNameStr + `) `
|
|
|
- }
|
|
|
-
|
|
|
conditionTripSql += conditionUser + conditionTrip + ` ORDER BY art.activity_time ASC `
|
|
|
specialList, err := models.GetActivityLabelSpecialListAll(conditionTripSql, pars, 0, 80)
|
|
|
if err != nil {
|
|
|
return
|
|
|
}
|
|
|
- conditionNoTrip += ` AND art.days = 0 `
|
|
|
+ //if len(specialList) < 80 {
|
|
|
+
|
|
|
+ if activeState == "" {
|
|
|
+ conditionNoTrip += ` AND art.days = 0 `
|
|
|
+ }
|
|
|
var conditionShengjiNoTrip string
|
|
|
var conditionZhengshiNoTrip string
|
|
|
var conditionHangYeNoTrip string
|
|
@@ -247,10 +299,6 @@ func GetActivityLabelSpecialList(user *models.WxUserItem, isPower int, chartPerm
|
|
|
if conditionHangYe != "" {
|
|
|
conditionNoTrip += conditionHangYeNoTrip
|
|
|
}
|
|
|
- //行业套餐客户勾选项单独处理
|
|
|
- if userType == 3 {
|
|
|
- conditionNoTripSql += ` AND art.chart_permission_name IN (` + permissionNameStr + `) `
|
|
|
- }
|
|
|
conditionNoTripSql += conditionUser + conditionNoTrip + ` ORDER BY art.last_updated_time DESC`
|
|
|
specialListNotrip, e := models.GetActivityLabelSpecialListAll(conditionNoTripSql, pars, 0, 200)
|
|
|
if e != nil {
|
|
@@ -262,6 +310,7 @@ func GetActivityLabelSpecialList(user *models.WxUserItem, isPower int, chartPerm
|
|
|
}
|
|
|
//}
|
|
|
for k2, v2 := range specialList {
|
|
|
+ v2.Resource = 2
|
|
|
if v2.Days == 0 {
|
|
|
specialList[k2].TripStatus = 1
|
|
|
} else {
|