Quellcode durchsuchen

修改菜单项,如果用户只有策略权限,不展示已购菜单栏

xiexiaoyuan vor 3 Jahren
Ursprung
Commit
b15779e189
2 geänderte Dateien mit 36 neuen und 3 gelöschten Zeilen
  1. 25 2
      controller/purchase/purchase.go
  2. 11 1
      logic/user/user.go

+ 25 - 2
controller/purchase/purchase.go

@@ -5,10 +5,12 @@ import (
 	"github.com/gin-gonic/gin"
 	"github.com/gin-gonic/gin"
 	"hongze/hongze_yb/controller/response"
 	"hongze/hongze_yb/controller/response"
 	"hongze/hongze_yb/global"
 	"hongze/hongze_yb/global"
+	"hongze/hongze_yb/models/tables/company_product"
 	"hongze/hongze_yb/services/purchase"
 	"hongze/hongze_yb/services/purchase"
 	userService "hongze/hongze_yb/services/user"
 	userService "hongze/hongze_yb/services/user"
 	"hongze/hongze_yb/utils"
 	"hongze/hongze_yb/utils"
 	"strconv"
 	"strconv"
+	"strings"
 )
 )
 
 
 func List(c *gin.Context) {
 func List(c *gin.Context) {
@@ -18,10 +20,21 @@ func List(c *gin.Context) {
 		response.Fail("无权操作", c)
 		response.Fail("无权操作", c)
 		return
 		return
 	}
 	}
+
+	// 判断用户状态是否是正常和永续
+	companyProduct, err := company_product.GetByCompany2ProductId(userinfo.CompanyID, 1)
+	if err != nil {
+		response.Fail("无权查看", c)
+		return
+	}
+	// 已购仅付费用户可见
+	if ! strings.Contains("永续,正式", companyProduct.Status) {
+		response.Fail("无权查看", c)
+		return
+	}
 	list, err := purchase.GetLatestReportAndActivity(userinfo)
 	list, err := purchase.GetLatestReportAndActivity(userinfo)
 	if err !=nil {
 	if err !=nil {
 		response.Fail(err.Error(), c)
 		response.Fail(err.Error(), c)
-		global.LOG.Critical(fmt.Sprintf("userId=%d, errMsg:%s", userinfo.UserID, err.Error()))
 		return
 		return
 	}
 	}
 
 
@@ -77,7 +90,17 @@ func Detail(c *gin.Context)  {
 		response.Fail("无权操作", c)
 		response.Fail("无权操作", c)
 		return
 		return
 	}
 	}
-
+	// 判断用户状态是否是正常和永续
+	companyProduct, err := company_product.GetByCompany2ProductId(userinfo.CompanyID, 1)
+	if err != nil {
+		response.Fail("无权查看", c)
+		return
+	}
+	// 已购仅付费用户可见
+	if ! strings.Contains("永续,正式", companyProduct.Status) {
+		response.Fail("无权查看", c)
+		return
+	}
 	list, err := purchase.GetDetail(userinfo, classifyIdFirst, activityId, pageIndex, pageSize)
 	list, err := purchase.GetDetail(userinfo, classifyIdFirst, activityId, pageIndex, pageSize)
 	if err != nil {
 	if err != nil {
 		response.Fail(err.Error(), c)
 		response.Fail(err.Error(), c)

+ 11 - 1
logic/user/user.go

@@ -355,7 +355,17 @@ func GetUserTabBar(userInfo user.UserInfo) (list []string, err error) {
 	}
 	}
 	// 已购仅付费用户可见
 	// 已购仅付费用户可见
 	if strings.Contains("永续,正式", companyProduct.Status) {
 	if strings.Contains("永续,正式", companyProduct.Status) {
-		list = append(list, "buy")
+		//判断是否除了权益研报以外的权限
+		permissionIds, tErr := companyService.GetPurchasePermissionIdsByCompany2ProductId(userInfo.CompanyID, 1)
+		if tErr != nil {
+			if err == utils.ErrNoRow {
+				err = nil
+			}
+			return
+		}
+		if len(permissionIds) > 0{
+			list = append(list, "buy")
+		}
 	}
 	}
 
 
 	return
 	return