|
@@ -5,6 +5,7 @@ import (
|
|
|
"fmt"
|
|
|
"github.com/tealeg/xlsx"
|
|
|
"hongze/hongze_cygx/models"
|
|
|
+ "hongze/hongze_cygx/services"
|
|
|
"hongze/hongze_cygx/utils"
|
|
|
"os"
|
|
|
"path/filepath"
|
|
@@ -86,11 +87,10 @@ func (this *ActivityCoAntroller) ActivityList() {
|
|
|
activityTypeIds := this.GetString("ActivityTypeIds")
|
|
|
whichDay := this.GetString("WhichDay")
|
|
|
isShowJurisdiction, _ := this.GetInt("IsShowJurisdiction")
|
|
|
-
|
|
|
keyWord := this.GetString("KeyWord")
|
|
|
activeState := this.GetString("ActiveState")
|
|
|
label := this.GetString("Label")
|
|
|
-
|
|
|
+ //更新用户的搜索信息
|
|
|
itemSearch := new(models.CygxActivityUserSearchContent)
|
|
|
itemSearch.UserId = uid
|
|
|
itemSearch.CreateTime = time.Now()
|
|
@@ -141,11 +141,7 @@ func (this *ActivityCoAntroller) ActivityList() {
|
|
|
br.ErrMsg = "获取客户信息失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
- //1、永续客户
|
|
|
- //2、大套餐客户(4个行业全开通的正式客户)
|
|
|
- //3、分行业套餐客户(开通对应行业的正式客户)
|
|
|
- //4、仅开通专家套餐的正式客户
|
|
|
- //5、开通对应行业套餐或专家套餐的试用客户
|
|
|
+ //1、永续客户 //2、大套餐客户(4个行业全开通的正式客户) //3、分行业套餐客户(开通对应行业的正式客户) //4、仅开通专家套餐的正式客户 //5、开通对应行业套餐或专家套餐的试用客户
|
|
|
if companyDetail.Status == "永续" {
|
|
|
userType = 1
|
|
|
} else if companyDetail.Status == "试用" {
|
|
@@ -181,12 +177,18 @@ func (this *ActivityCoAntroller) ActivityList() {
|
|
|
var pars []interface{}
|
|
|
//活动可见限制
|
|
|
var sqlExport string
|
|
|
-
|
|
|
slicePer := strings.Split(permissionStr, ",")
|
|
|
var permissionSqlStr string
|
|
|
for _, v := range slicePer {
|
|
|
- permissionSqlStr += "'" + v + "',"
|
|
|
+ if userType == 1 {
|
|
|
+ if v != "研选" {
|
|
|
+ permissionSqlStr += "'" + v + "',"
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ permissionSqlStr += "'" + v + "',"
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
permissionSqlStr = strings.TrimRight(permissionSqlStr, ",")
|
|
|
permissionSqlStr = ` AND art.chart_permission_name IN (` + permissionSqlStr + `)`
|
|
|
sqlExport = ` AND (art.customer_type_ids LIKE '%` + strconv.Itoa(userType) + `%' `
|
|
@@ -197,7 +199,6 @@ func (this *ActivityCoAntroller) ActivityList() {
|
|
|
sqlExport += ` OR art.customer_type_ids LIKE '%4%' `
|
|
|
}
|
|
|
sqlExport += `) `
|
|
|
-
|
|
|
if keyWord != "" {
|
|
|
var mirrorword string
|
|
|
var mirrorwordSql string
|
|
@@ -244,7 +245,6 @@ func (this *ActivityCoAntroller) ActivityList() {
|
|
|
labelSqlStr = strings.TrimRight(labelSqlStr, ",")
|
|
|
condition = ` AND art.label IN (` + labelSqlStr + `)`
|
|
|
}
|
|
|
-
|
|
|
//行业名称
|
|
|
if len(chartPermissionIds) > 0 {
|
|
|
condition += ` AND art.chart_permission_id IN (` + chartPermissionIds + `)`
|
|
@@ -274,10 +274,6 @@ func (this *ActivityCoAntroller) ActivityList() {
|
|
|
}
|
|
|
condition += ` AND art.publish_status = 1 `
|
|
|
var conditionOr string
|
|
|
- //if strings.Contains(permissionStr, "专家") && (userType == 2 || userType == 3 || userType == 4) {
|
|
|
- //conditionOr += ` OR ( art.is_limit_people = 1 AND art.customer_type_ids LIKE '%4%' ` + permissionSqlStr + condition + `) `
|
|
|
- //conditionOr += ` OR ( art.is_limit_people = 1 AND art.activity_type_id = 3 AND art.customer_type_ids LIKE '%4%' ` + condition + `) `
|
|
|
- //}
|
|
|
// 有专家权限的这几种用户,不做行业权限校验
|
|
|
if (userType == 2 || userType == 3 || userType == 4) && strings.Contains(permissionStr, "专家") {
|
|
|
conditionOr += ` OR ( art.is_limit_people = 1 AND art.customer_type_ids LIKE '%4%' ` + condition + `) `
|
|
@@ -285,7 +281,11 @@ func (this *ActivityCoAntroller) ActivityList() {
|
|
|
if (userType == 5) && strings.Contains(permissionStr, "专家") {
|
|
|
conditionOr += ` OR ( art.is_limit_people = 1 AND art.customer_type_ids LIKE '%5%' ` + condition + `) `
|
|
|
}
|
|
|
- conditionOr += ` OR ( art.is_limit_people = 0 ` + condition + `) `
|
|
|
+ if userType == 1 {
|
|
|
+ conditionOr += ` OR ( art.is_limit_people = 0 ` + condition + permissionSqlStr + `) `
|
|
|
+ } else {
|
|
|
+ conditionOr += ` OR ( art.is_limit_people = 0 ` + condition + `) `
|
|
|
+ }
|
|
|
condition += ` AND art.is_limit_people = 1 ` + permissionSqlStr + sqlExport + conditionOr
|
|
|
total, err := models.GetActivityCount(condition, pars)
|
|
|
if err != nil {
|
|
@@ -307,6 +307,9 @@ func (this *ActivityCoAntroller) ActivityList() {
|
|
|
if v.SignupNum > v.LimitPeopleNum {
|
|
|
list[k].SignupNum = v.LimitPeopleNum
|
|
|
}
|
|
|
+ if services.GetShowSustainable() && v.ChartPermissionName == "研选" {
|
|
|
+ list[k].IsShowSustainable = true
|
|
|
+ }
|
|
|
}
|
|
|
page := paging.GetPaging(currentIndex, pageSize, total)
|
|
|
resp := new(models.GetCygxActivityListRep)
|
|
@@ -370,6 +373,10 @@ func (this *ActivityCoAntroller) ScheduleList() {
|
|
|
if v.SignupNum > v.LimitPeopleNum {
|
|
|
list[k].SignupNum = v.LimitPeopleNum
|
|
|
}
|
|
|
+ //是否展示限免标签
|
|
|
+ if services.GetShowSustainable() && v.ChartPermissionName == "研选" {
|
|
|
+ list[k].IsShowSustainable = true
|
|
|
+ }
|
|
|
}
|
|
|
page := paging.GetPaging(currentIndex, pageSize, total)
|
|
|
resp := new(models.GetCygxActivityListRep)
|
|
@@ -468,7 +475,6 @@ func (this *ActivityCoAntroller) Detail() {
|
|
|
if user.CompanyId <= 1 {
|
|
|
userType = 0
|
|
|
} else {
|
|
|
-
|
|
|
companyDetail, err := models.GetCompanyDetailById(user.CompanyId)
|
|
|
if err != nil {
|
|
|
br.Msg = "获取信息失败!"
|
|
@@ -480,11 +486,7 @@ func (this *ActivityCoAntroller) Detail() {
|
|
|
br.ErrMsg = "客户不存在,uid:" + strconv.Itoa(user.UserId) + "CompanyId:" + strconv.Itoa(user.CompanyId)
|
|
|
return
|
|
|
}
|
|
|
- //1、永续客户
|
|
|
- //2、大套餐客户(4个行业全开通的正式客户)
|
|
|
- //3、分行业套餐客户(开通对应行业的正式客户)
|
|
|
- //4、仅开通专家套餐的正式客户
|
|
|
- //5、开通对应行业套餐或专家套餐的试用客户
|
|
|
+ //1、永续客户 //2、大套餐客户(4个行业全开通的正式客户) //3、分行业套餐客户(开通对应行业的正式客户) //4、仅开通专家套餐的正式客户 //5、开通对应行业套餐或专家套餐的试用客户
|
|
|
if companyDetail.Status == "永续" {
|
|
|
userType = 1
|
|
|
} else if companyDetail.Status == "试用" {
|
|
@@ -525,11 +527,17 @@ func (this *ActivityCoAntroller) Detail() {
|
|
|
}
|
|
|
if noPower {
|
|
|
br.Msg = "您暂无查看该活动权限"
|
|
|
- br.ErrMsg = "被分享客户不可见,获取信息失败,Err:"
|
|
|
+ br.ErrMsg = "被分享客户不可见,获取信息失败"
|
|
|
return
|
|
|
}
|
|
|
}
|
|
|
- fmt.Println("权限可见校验")
|
|
|
+
|
|
|
+ if userType == 1 && activityInfo.ChartPermissionName == "研选" {
|
|
|
+ br.Msg = "您暂无查看该活动权限"
|
|
|
+ br.ErrMsg = "被分享客户不可见,永续客户无法查看研选行业"
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
detail, errDetail := models.GetActivityTypeDetailById(activityInfo.ActivityTypeId)
|
|
|
if errDetail != nil {
|
|
|
br.Msg = "获取信息失败"
|
|
@@ -614,6 +622,18 @@ func (this *ActivityCoAntroller) Detail() {
|
|
|
resp.PopupMsg = "您暂无权限参加 【" + activityInfo.ChartPermissionName + "】行业活动,若想参加可以申请开通哦"
|
|
|
}
|
|
|
if hasPermission == 1 {
|
|
|
+ //是否展示限免标签
|
|
|
+ if services.GetShowSustainable() && activityInfo.ChartPermissionName == "研选" {
|
|
|
+ activityInfo.IsShowSustainable = true
|
|
|
+ }
|
|
|
+ configCode := "description_of_research"
|
|
|
+ detail, err := models.GetConfigByCode(configCode)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取数据失败"
|
|
|
+ br.ErrMsg = "获取数据失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ activityInfo.Description = detail.ConfigValue
|
|
|
if activityInfo.SignupNum > activityInfo.LimitPeopleNum {
|
|
|
activityInfo.SignupNum = activityInfo.LimitPeopleNum
|
|
|
}
|
|
@@ -758,6 +778,12 @@ func (this *ActivityCoAntroller) SignupAdd() {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ if userType == 1 && activityInfo.ChartPermissionName == "研选" {
|
|
|
+ br.Msg = "您暂无查看该活动权限"
|
|
|
+ br.ErrMsg = "被分享客户不可见,永续客户无法查看研选行业"
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
item := new(models.CygxActivitySignup)
|
|
|
if user.CompanyId > 1 {
|
|
|
permissionStr, err := models.GetCompanyPermission(user.CompanyId)
|
|
@@ -1219,8 +1245,70 @@ func (this *ActivityCoAntroller) GetUserSearchContent() {
|
|
|
if activeStateList[1].IsChoose == activeStateList[2].IsChoose == false {
|
|
|
activeStateList[0].IsChoose = true
|
|
|
}
|
|
|
+ var userType int
|
|
|
+ var permissionStr string
|
|
|
+ if user.CompanyId <= 1 {
|
|
|
+ userType = 0
|
|
|
+ } else {
|
|
|
+ total, err := models.GetCountCompanyDetailByIdGroup(user.CompanyId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if total == 0 {
|
|
|
+ userType = 0
|
|
|
+ } else {
|
|
|
+ companyDetail, err := models.GetCompanyDetailByIdGroup(user.CompanyId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取信息失败!"
|
|
|
+ br.ErrMsg = "获取客户详情失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if companyDetail == nil {
|
|
|
+ br.Msg = "获取信息失败!"
|
|
|
+ br.ErrMsg = "客户不存在,uid:" + strconv.Itoa(user.UserId) + "CompanyId:" + strconv.Itoa(user.CompanyId)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ permissionStr, err = models.GetCompanyPermission(user.CompanyId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
+ br.ErrMsg = "获取客户信息失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ //1、永续客户 //2、大套餐客户(4个行业全开通的正式客户) //3、分行业套餐客户(开通对应行业的正式客户) //4、仅开通专家套餐的正式客户 //5、开通对应行业套餐或专家套餐的试用客户
|
|
|
+ if companyDetail.Status == "永续" {
|
|
|
+ userType = 1
|
|
|
+ } else if companyDetail.Status == "试用" {
|
|
|
+ userType = 5
|
|
|
+ } else if companyDetail.Status == "正式" {
|
|
|
+ if permissionStr == "专家" {
|
|
|
+ userType = 4
|
|
|
+ } else if strings.Contains(permissionStr, "医药") && strings.Contains(permissionStr, "消费") && strings.Contains(permissionStr, "科技") && strings.Contains(permissionStr, "智造") {
|
|
|
+ userType = 2
|
|
|
+ } else {
|
|
|
+ userType = 3
|
|
|
+ }
|
|
|
+ if userType == 3 {
|
|
|
+ if !strings.Contains(permissionStr, "医药") && !strings.Contains(permissionStr, "消费") && !strings.Contains(permissionStr, "科技") && !strings.Contains(permissionStr, "智造") {
|
|
|
+ userType = 4
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ var listChartPermissionidNew []*models.ActivityChartPermission
|
|
|
+ for _, v := range listChartPermissionid {
|
|
|
+ if userType == 1 {
|
|
|
+ if v.PermissionName != "研选" {
|
|
|
+ listChartPermissionidNew = append(listChartPermissionidNew, v)
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ listChartPermissionidNew = append(listChartPermissionidNew, v)
|
|
|
+ }
|
|
|
+ }
|
|
|
resp.ListActivityType = listActivityType
|
|
|
- resp.ListChartPermission = listChartPermissionid
|
|
|
+ resp.ListChartPermission = listChartPermissionidNew
|
|
|
resp.ListActivityStaus = activeStateList
|
|
|
br.Ret = 200
|
|
|
br.Success = true
|
|
@@ -1353,7 +1441,11 @@ func (this *ActivityCoAntroller) MeetingReminderAdd() {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+ if userType == 1 && activityInfo.ChartPermissionName == "研选" {
|
|
|
+ br.Msg = "您暂无查看该活动权限"
|
|
|
+ br.ErrMsg = "被分享客户不可见,永续客户无法查看研选行业"
|
|
|
+ return
|
|
|
+ }
|
|
|
resultTime := utils.StrTimeToTime(activityInfo.ActivityTime) //时间字符串格式转时间格式
|
|
|
if time.Now().After(resultTime.Add(-time.Minute * 15)) {
|
|
|
br.Msg = "活动开始前15分钟无法设置会议提醒"
|
|
@@ -1676,8 +1768,17 @@ func (this *ActivityCoAntroller) LabelList() {
|
|
|
var sqlExport string
|
|
|
slicePer := strings.Split(permissionStr, ",")
|
|
|
var permissionSqlStr string
|
|
|
+ //for _, v := range slicePer {
|
|
|
+ // permissionSqlStr += "'" + v + "',"
|
|
|
+ //}
|
|
|
for _, v := range slicePer {
|
|
|
- permissionSqlStr += "'" + v + "',"
|
|
|
+ if userType == 1 {
|
|
|
+ if v != "研选" {
|
|
|
+ permissionSqlStr += "'" + v + "',"
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ permissionSqlStr += "'" + v + "',"
|
|
|
+ }
|
|
|
}
|
|
|
permissionSqlStr = strings.TrimRight(permissionSqlStr, ",")
|
|
|
permissionSqlStr = ` AND art.chart_permission_name IN (` + permissionSqlStr + `)`
|
|
@@ -1698,7 +1799,12 @@ func (this *ActivityCoAntroller) LabelList() {
|
|
|
if (userType == 5) && strings.Contains(permissionStr, "专家") {
|
|
|
conditionOr += ` OR ( art.is_limit_people = 1 AND art.customer_type_ids LIKE '%5%' ` + condition + `) `
|
|
|
}
|
|
|
- conditionOr += ` OR ( art.is_limit_people = 0 ` + condition + `) `
|
|
|
+ if userType == 1 {
|
|
|
+ conditionOr += ` OR ( art.is_limit_people = 0 ` + condition + permissionSqlStr + `) `
|
|
|
+ } else {
|
|
|
+ conditionOr += ` OR ( art.is_limit_people = 0 ` + condition + `) `
|
|
|
+ }
|
|
|
+ //conditionOr += ` OR ( art.is_limit_people = 0 ` + condition + `) `
|
|
|
condition += `AND art.is_limit_people = 1 ` + permissionSqlStr + sqlExport + conditionOr
|
|
|
resp := new(models.GetCygxActivityLabelListRep)
|
|
|
//conditionLaable := condition
|
|
@@ -1772,7 +1878,12 @@ func (this *ActivityCoAntroller) LabelList() {
|
|
|
if (userType == 5) && strings.Contains(permissionStr, "专家") {
|
|
|
conditionOr += ` OR ( art.is_limit_people = 1 AND art.customer_type_ids LIKE '%5%' ` + condition + `) `
|
|
|
}
|
|
|
- conditionOr += ` OR ( art.is_limit_people = 0 ` + condition + `) `
|
|
|
+ if userType == 1 {
|
|
|
+ conditionOr += ` OR ( art.is_limit_people = 0 ` + condition + permissionSqlStr + `) `
|
|
|
+ } else {
|
|
|
+ conditionOr += ` OR ( art.is_limit_people = 0 ` + condition + `) `
|
|
|
+ }
|
|
|
+ //conditionOr += ` OR ( art.is_limit_people = 0 ` + condition + `) `
|
|
|
condition += `AND art.is_limit_people = 1 ` + permissionSqlStr + sqlExport + conditionOr
|
|
|
}
|
|
|
sortTime = ` mintimesort ASC `
|
|
@@ -1943,3 +2054,81 @@ func (this *ActivityCoAntroller) Import() {
|
|
|
br.Ret = 200
|
|
|
br.Success = true
|
|
|
}
|
|
|
+
|
|
|
+// @Title 活动带问
|
|
|
+// @Description 新增活动带问接口
|
|
|
+// @Param request body models.AddCygxActivityHelpAsk true "type json string"
|
|
|
+// @Success Ret=200 新增成功
|
|
|
+// @router /askAdd [post]
|
|
|
+func (this *ActivityCoAntroller) AskAdd() {
|
|
|
+ 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"
|
|
|
+ br.Ret = 408
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var req models.CygxActivityHelpAsk
|
|
|
+ err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "参数解析异常!"
|
|
|
+ br.ErrMsg = "参数解析失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if req.Content == "" {
|
|
|
+ br.Msg = "建议内容不可为空"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ activityId := req.ActivityId
|
|
|
+ content := req.Content
|
|
|
+ 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)) {
|
|
|
+ br.Msg = "活动开始前1小时内无法提交问题"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ companyDetail, err := models.GetCompanyDetailById(user.CompanyId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "提交失败!"
|
|
|
+ br.ErrMsg = "获取客户详情失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if companyDetail == nil {
|
|
|
+ br.Msg = "提交失败!"
|
|
|
+ br.ErrMsg = "客户不存在,uid:" + strconv.Itoa(user.UserId)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ item := new(models.CygxActivityHelpAsk)
|
|
|
+ item.UserId = user.UserId
|
|
|
+ item.ActivityId = req.ActivityId
|
|
|
+ item.CompanyId = user.CompanyId
|
|
|
+ item.CompanyName = companyDetail.CompanyName
|
|
|
+ item.CreateTime = time.Now()
|
|
|
+ item.Mobile = user.Mobile
|
|
|
+ item.Email = user.Email
|
|
|
+ item.Content = content
|
|
|
+ _, err = models.AddActivityHelpAsk(item)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "提交失败"
|
|
|
+ br.ErrMsg = "提交带问失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "新增成功"
|
|
|
+}
|