Selaa lähdekoodia

ficc权限优化

xingzai 3 vuotta sitten
vanhempi
commit
b4507d6832
2 muutettua tiedostoa jossa 93 lisäystä ja 30 poistoa
  1. 82 30
      controllers/activity.go
  2. 11 0
      models/company.go

+ 82 - 30
controllers/activity.go

@@ -105,7 +105,7 @@ func (this *ActivityCoAntroller) ActivityList() {
 	if user.CompanyId <= 1 {
 		userType = 0
 	} else {
-		companyDetail, err := models.GetCompanyDetailById(user.CompanyId)
+		companyDetail, err := models.GetCompanyDetailByIdGroup(user.CompanyId)
 		if err != nil {
 			br.Msg = "获取信息失败!"
 			br.ErrMsg = "获取客户详情失败,Err:" + err.Error()
@@ -300,9 +300,31 @@ func (this *ActivityCoAntroller) Detail() {
 	resp := new(models.CygxActivityResp)
 	hasPermission := 0
 	var companyDetailStatus string
+	activityInfo, err := models.GetAddActivityInfoByIdShow(uid, activityId)
+	if activityInfo == nil {
+		br.Msg = "活动不存在"
+		br.ErrMsg = "活动ID错误,Err:" + "activityId:" + strconv.Itoa(activityId)
+		return
+	}
 	if user.CompanyId <= 1 {
 		companyDetailStatus = ""
 	} else {
+		companyPermission, err := models.GetCompanyPermission(user.CompanyId)
+		if err != nil {
+			br.Msg = "获取信息失败"
+			br.ErrMsg = "获取客户详情失败,Err:" + err.Error()
+			return
+		}
+		if companyPermission == "" {
+			hasPermission = 2
+			resp.OperationMode = "Apply"
+			resp.PopupMsg = "您暂无权限参加 【" + activityInfo.ChartPermissionName + "】行业活动,若想参加可以申请开通哦"
+			br.Ret = 200
+			br.Success = true
+			br.Msg = "获取成功"
+			br.Data = resp
+			return
+		}
 		companyDetail, err := models.GetCompanyDetailById(user.CompanyId)
 		if err != nil {
 			br.Msg = "获取信息失败!"
@@ -317,17 +339,12 @@ func (this *ActivityCoAntroller) Detail() {
 		companyDetailStatus = companyDetail.Status
 	}
 
-	activityInfo, err := models.GetAddActivityInfoByIdShow(uid, activityId)
-	if activityInfo == nil {
-		br.Msg = "活动不存在"
-		br.ErrMsg = "活动ID错误,Err:" + "activityId:" + strconv.Itoa(activityId)
-		return
-	}
 	var userType int
 	var permissionStr string
 	if user.CompanyId <= 1 {
 		userType = 0
 	} else {
+
 		companyDetail, err := models.GetCompanyDetailById(user.CompanyId)
 		if err != nil {
 			br.Msg = "获取信息失败!"
@@ -489,6 +506,7 @@ func (this *ActivityCoAntroller) SignupAdd() {
 	//var signupStatus string
 	signupStatus := ""
 	var req models.ActivitySingnupRep
+	resp := new(models.SignupStatus)
 	var total int
 	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
 	if err != nil {
@@ -498,12 +516,39 @@ func (this *ActivityCoAntroller) SignupAdd() {
 	}
 	activityId := req.ActivityId
 	signupType := req.SignupType
+	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
+	}
 	//SignupStatus "报名状态:人数已满:FullStarffed、单机构超过两人:TwoPeople、爽约次数过多:BreakPromise、超时:Overtime 、成功:Success"`
 	//HasPermission "1:有该行业权限,正常展示,2:无该行业权限,3:潜在客户,未提交过申请,4:潜在客户,已提交过申请"`
 	var companyDetailStatus string
 	if user.CompanyId <= 1 {
 		companyDetailStatus = ""
 	} else {
+		companyPermission, err := models.GetCompanyPermission(user.CompanyId)
+		if err != nil {
+			br.Msg = "获取信息失败"
+			br.ErrMsg = "获取客户详情失败,Err:" + err.Error()
+			return
+		}
+		if companyPermission == "" {
+			resp.HasPermission = 4
+			resp.OperationMode = "Apply"
+			resp.PopupMsg = "您暂无权限参加 【" + activityInfo.ChartPermissionName + "】行业活动,若想参加可以申请开通哦"
+			br.Ret = 200
+			br.Success = true
+			br.Msg = "获取成功"
+			br.Data = resp
+			return
+		}
 		companyDetail, err := models.GetCompanyDetailById(user.CompanyId)
 		if err != nil {
 			br.Msg = "获取信息失败!"
@@ -554,7 +599,7 @@ func (this *ActivityCoAntroller) SignupAdd() {
 		}
 	}
 	item := new(models.CygxActivitySignup)
-	resp := new(models.SignupStatus)
+
 	hasPermission := 0
 	//判断是否已经申请过
 	applyCount, err := models.GetApplyRecordCount(uid)
@@ -563,17 +608,7 @@ func (this *ActivityCoAntroller) SignupAdd() {
 		br.ErrMsg = "判断是否已申请过试用失败,Err:" + err.Error()
 		return
 	}
-	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
-	}
+
 	if user.CompanyId > 1 {
 		permissionStr, err := models.GetCompanyPermission(user.CompanyId)
 		if err != nil {
@@ -1034,6 +1069,17 @@ func (this *ActivityCoAntroller) MeetingReminderAdd() {
 		return
 	}
 	activityId := req.ActivityId
+	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
+	}
 	//SignupStatus string `description:"报名状态:人数已满:FullStarffed、单机构超过两人:TwoPeople、爽约次数过多:BreakPromise、超时:Overtime 、成功:Success"`
 	item := new(models.CygxActivityMeetingReminder)
 	resp := new(models.SignupStatus)
@@ -1042,6 +1088,22 @@ func (this *ActivityCoAntroller) MeetingReminderAdd() {
 	if user.CompanyId <= 1 {
 		companyDetailStatus = ""
 	} else {
+		companyPermission, err := models.GetCompanyPermission(user.CompanyId)
+		if err != nil {
+			br.Msg = "获取信息失败"
+			br.ErrMsg = "获取客户详情失败,Err:" + err.Error()
+			return
+		}
+		if companyPermission == "" {
+			resp.HasPermission = 4
+			resp.OperationMode = "Apply"
+			resp.PopupMsg = "您暂无权限参加 【" + activityInfo.ChartPermissionName + "】行业活动,若想参加可以申请开通哦"
+			br.Ret = 200
+			br.Success = true
+			br.Msg = "获取成功"
+			br.Data = resp
+			return
+		}
 		companyDetail, err := models.GetCompanyDetailById(user.CompanyId)
 		if err != nil {
 			br.Msg = "获取信息失败!"
@@ -1098,17 +1160,7 @@ func (this *ActivityCoAntroller) MeetingReminderAdd() {
 		br.ErrMsg = "判断是否已申请过试用失败,Err:" + err.Error()
 		return
 	}
-	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 * 15)) {
 		br.Msg = "活动开始前15分钟无法设置会议提醒"

+ 11 - 0
models/company.go

@@ -22,6 +22,17 @@ func GetCompanyDetailById(companyId int) (item *CompanyDetail, err error) {
 	return
 }
 
+func GetCompanyDetailByIdGroup(companyId int) (item *CompanyDetail, err error) {
+	sql := ` SELECT a.company_id,a.company_name,b.status,b.seller_id,b.seller_name,c.mobile 
+            FROM company AS a
+			INNER JOIN company_product AS b ON a.company_id=b.company_id
+			LEFT JOIN admin AS c ON b.seller_id=c.admin_id
+			WHERE a.company_id=?   GROUP BY b.company_id `
+	o := orm.NewOrm()
+	err = o.Raw(sql, companyId).QueryRow(&item)
+	return
+}
+
 //原有权限叫校验,下方更改与2021-5.18
 //func GetCompanyPermission(companyId int) (permission string, err error) {
 //	sql := ` SELECT GROUP_CONCAT(DISTINCT b.chart_permission_name  ORDER BY b.sort ASC SEPARATOR ',') AS permission