修改了白名单验证

This commit is contained in:
wucongxing8150 2025-01-13 16:27:55 +08:00
parent 88a27a131b
commit fedcae5c04
2 changed files with 23 additions and 6 deletions

View File

@ -11,6 +11,7 @@ import (
"fmt"
"github.com/gin-gonic/gin"
"math"
"strconv"
"time"
)
@ -138,6 +139,12 @@ func (b *Res) GetResCaseRecordList(c *gin.Context) {
return
}
projectId, err := strconv.ParseInt(req.ProjectId, 10, 64)
if err != nil {
responses.Fail(c)
return
}
req.PlatformId = platformId
if req.StartTime != "" {
@ -287,7 +294,7 @@ func (b *Res) GetResCaseRecordList(c *gin.Context) {
user, _ := userDao.GetUserById(v.UserId)
if user != nil {
// 检测用户是否白名单
isWhite, _ := projectPlatformWhiteService.CheckProjectPlatformWhiteByUser(user, v.PlatformId)
isWhite, _ := projectPlatformWhiteService.CheckProjectPlatformWhiteByUser(user, projectId, v.PlatformId)
if isWhite {
response.IsVip = 1
}

View File

@ -11,11 +11,21 @@ type ProjectPlatformWhiteService struct {
}
// CheckProjectPlatformWhiteByUser 检测用户是否属于白名单
func (r *ProjectPlatformWhiteService) CheckProjectPlatformWhiteByUser(user *model.User, platformId int64) (b bool, err error) {
func (r *ProjectPlatformWhiteService) CheckProjectPlatformWhiteByUser(user *model.User, projectId, platformId int64) (b bool, err error) {
// 获取项目关联平台数据
projectPlatformDao := dao.ProjectPlatformDao{}
maps := make(map[string]interface{})
maps["project_id"] = projectId
maps["platform_id"] = platformId
projectPlatform, err := projectPlatformDao.GetProjectPlatform(maps)
if err != nil {
return false, err
}
// 白名单-医生
projectPlatformDoctorDao := dao.ProjectPlatformDoctorDao{}
maps := make(map[string]interface{})
maps["platform_id"] = platformId
maps = make(map[string]interface{})
maps["project_platform_id"] = projectPlatform.ProjectPlatformId
maps["user_id"] = user.UserId
projectPlatformDoctor, _ := projectPlatformDoctorDao.GetProjectPlatformDoctor(maps)
if projectPlatformDoctor != nil {
@ -34,7 +44,7 @@ func (r *ProjectPlatformWhiteService) CheckProjectPlatformWhiteByUser(user *mode
// 白名单-医院
projectPlatformHospitalDao := dao.ProjectPlatformHospitalDao{}
maps = make(map[string]interface{})
maps["platform_id"] = platformId
maps["project_platform_id"] = projectPlatform.ProjectPlatformId
maps["hospital_id"] = user.HospitalId
projectPlatformHospital, _ := projectPlatformHospitalDao.GetProjectPlatformHospital(maps)
if projectPlatformHospital != nil {
@ -46,7 +56,7 @@ func (r *ProjectPlatformWhiteService) CheckProjectPlatformWhiteByUser(user *mode
// 白名单-动态
projectPlatformDynamicDao := dao.ProjectPlatformDynamicDao{}
maps = make(map[string]interface{})
maps["platform_id"] = platformId
maps["project_platform_id"] = projectPlatform.ProjectPlatformId
projectPlatformDynamics, _ := projectPlatformDynamicDao.GetProjectPlatformDynamicPreloadList(maps)
if len(projectPlatformDynamics) > 0 {
area := true