Browse Source

no message

zhangchuanxing 2 days ago
parent
commit
e00aa14e10

+ 15 - 0
controllers/jinmencaijing.go

@@ -12,6 +12,7 @@ import (
 	cygxActivity "hongze/hongze_open_api/models/tables/cygx/cygx_activity"
 	"hongze/hongze_open_api/models/tables/cygx/cygx_report_selection"
 	"hongze/hongze_open_api/models/tables/cygx/cygx_three_api_log"
+	"hongze/hongze_open_api/models/tables/user_report_permission"
 	"hongze/hongze_open_api/models/tables/wx_user"
 	"hongze/hongze_open_api/services/alarm_msg"
 	servicesCompany "hongze/hongze_open_api/services/company"
@@ -315,6 +316,20 @@ func (c *JinMenCaiJingController) ActivityWhiteCheck() {
 			}
 		}
 	}
+	//用户个人权限
+	if !resp.IsWhite {
+		listUserPermission, err := user_report_permission.GetUserReportPermissionListByUserId(int(user.UserId))
+		if err != nil {
+			c.FailWithMessage("获取用户信息失败:" + strconv.Itoa(activityId))
+			return
+		}
+		for _, v := range listUserPermission {
+			if v.ChartPermissionName == activityInfo.ChartPermissionName {
+				resp.IsWhite = true
+				break
+			}
+		}
+	}
 	//添加请求日志记录
 	itemApiLog := new(cygx_three_api_log.CygxThreeApiLog)
 	itemApiLog.CreateTime = time.Now()

+ 21 - 0
controllers/yidong.go

@@ -7,6 +7,8 @@ import (
 	"hongze/hongze_open_api/models/tables/company_product"
 	cygxActivity "hongze/hongze_open_api/models/tables/cygx/cygx_activity"
 	"hongze/hongze_open_api/models/tables/cygx/cygx_three_api_log"
+	"hongze/hongze_open_api/models/tables/user_report_permission"
+	"hongze/hongze_open_api/models/tables/wx_user"
 	"hongze/hongze_open_api/services/alarm_msg"
 	servicesYidong "hongze/hongze_open_api/services/yidong"
 	"hongze/hongze_open_api/utils"
@@ -423,6 +425,25 @@ func (c *YiDongController) UserCheck() {
 	//		resp.Haspermission = true
 	//	}
 	//}
+	user, err := wx_user.GetByUserMobile(deMobile)
+	if err != nil {
+		c.FailWithMessage("获取用户信息失败")
+		return
+	}
+	//用户个人权限
+	if !resp.Haspermission {
+		listUserPermission, err := user_report_permission.GetUserReportPermissionListByUserId(int(user.UserId))
+		if err != nil {
+			c.FailWithMessage("获取用户信息失败:" + strconv.Itoa(int(user.UserId)))
+			return
+		}
+		for _, v := range listUserPermission {
+			if v.ChartPermissionName == activityDetail.ChartPermissionName {
+				resp.Haspermission = true
+				break
+			}
+		}
+	}
 	//添加请求日志记录
 	itemApiLog := new(cygx_three_api_log.CygxThreeApiLog)
 	itemApiLog.CreateTime = time.Now()

+ 28 - 0
models/tables/user_report_permission/user_report_permission.go

@@ -0,0 +1,28 @@
+package user_report_permission
+
+import (
+	"github.com/beego/beego/v2/client/orm"
+	"time"
+)
+
+type UserReportPermissionResp struct {
+	ChartPermissionName string `description:"权限名称"`
+}
+
+// 根据用户ID获取对应的用户权限信息
+func GetUserReportPermissionListByUserId(userId int) (items []*UserReportPermissionResp, err error) {
+	sql := ` SELECT
+			c.chart_permission_name 
+		FROM
+			user_report_permission AS u
+			INNER JOIN chart_permission AS c ON u.chart_permission_id = c.chart_permission_id 
+		WHERE
+			1 = 1 
+		  	AND u.status IN ('正式','试用')
+			AND u.user_id = ?
+			AND u.start_date <= ? 
+			AND u.end_date >= ?   GROUP BY c.chart_permission_name   `
+	o := orm.NewOrmUsingDB("weekly_report")
+	_, err = o.Raw(sql, userId, time.Now(), time.Now()).QueryRows(&items)
+	return
+}