You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
127 lines
3.0 KiB
127 lines
3.0 KiB
package middleware
|
|
|
|
import (
|
|
"base/app/common"
|
|
"base/app/lib/bean"
|
|
broker2 "base/app/logic/broker"
|
|
"base/app/logic/broker/user"
|
|
"base/app/model"
|
|
"git.oa00.com/go/mysql"
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
func BrokerAuth(c *gin.Context) {
|
|
token := c.GetHeader("Broker-Token")
|
|
if token == "" {
|
|
bean.Response.ResultFail(c, 100000, "用户未登录")
|
|
c.Abort()
|
|
return
|
|
}
|
|
brokerId, err := broker2.LoginLogic.Auth(token)
|
|
if err != nil {
|
|
bean.Response.ResultFail(c, 100000, err.Error())
|
|
c.Abort()
|
|
return
|
|
}
|
|
broker := model.Broker{Id: brokerId}
|
|
if mysql.Db.First(&broker).Error != nil {
|
|
bean.Response.ResultFail(c, 100000, "账号错误")
|
|
c.Abort()
|
|
return
|
|
}
|
|
c.Set("brokerId", brokerId)
|
|
c.Set("broker", broker)
|
|
}
|
|
|
|
func H5BrokerAuth(c *gin.Context) {
|
|
token := c.GetHeader("H5-Broker-Token")
|
|
if token == "" {
|
|
bean.Response.ResultFail(c, 100000, "用户未登录")
|
|
c.Abort()
|
|
return
|
|
}
|
|
brokerId, err := broker2.LoginLogic.Auth(token)
|
|
if err != nil {
|
|
bean.Response.ResultFail(c, 100000, err.Error())
|
|
c.Abort()
|
|
return
|
|
}
|
|
broker := model.Broker{Id: brokerId}
|
|
if mysql.Db.First(&broker).Error != nil {
|
|
bean.Response.ResultFail(c, 100000, "账号错误")
|
|
c.Abort()
|
|
return
|
|
}
|
|
c.Set("brokerId", brokerId)
|
|
c.Set("broker", broker)
|
|
}
|
|
|
|
// 非基础用户验证
|
|
func BrokerLevelNotBase(c *gin.Context) {
|
|
broker := user.UserLogic.GetBrokerInfo(c)
|
|
if broker.Level == model.BrokerLevelBase {
|
|
bean.Response.ResultFail(c, 100000, "权限不足")
|
|
c.Abort()
|
|
return
|
|
}
|
|
}
|
|
|
|
// 入驻商所有者
|
|
func RoleBusinessOwner(c *gin.Context) {
|
|
c.Set("roles", model.BrokerAbilityBusinessOwner)
|
|
BrokerLevelBusinessRole(c)
|
|
}
|
|
|
|
// 入驻商门店店长及以上
|
|
func RoleStoreOwner(c *gin.Context) {
|
|
c.Set("roles", model.BrokerAbilityStoreOwner)
|
|
BrokerLevelBusinessRole(c)
|
|
}
|
|
|
|
// 入驻商门店车务及以上
|
|
func RoleBusinessStaffWorker(c *gin.Context) {
|
|
c.Set("roles", model.BrokerAbilityBusinessStaffWorker)
|
|
BrokerLevelBusinessRole(c)
|
|
}
|
|
|
|
// 入驻商门店经纪人及以上
|
|
func RoleBusinessStaffBroker(c *gin.Context) {
|
|
c.Set("roles", model.BrokerAbilityBusinessStaffSale)
|
|
BrokerLevelBusinessRole(c)
|
|
}
|
|
|
|
func BrokerLevelBusinessRole(c *gin.Context) {
|
|
broker := user.UserLogic.GetBrokerInfo(c)
|
|
if broker.Level != model.BrokerLevelBusiness {
|
|
bean.Response.ResultFail(c, 100000, "非入驻商")
|
|
c.Abort()
|
|
return
|
|
}
|
|
staff := model.BrokerBusinessStoreStaff{BrokerId: user.UserLogic.GetBrokerId(c)}
|
|
if mysql.Db.Where(&staff).First(&staff).Error != nil {
|
|
bean.Response.ResultFail(c, 100000, "入驻商信息错误")
|
|
c.Abort()
|
|
return
|
|
}
|
|
roles, _ := c.Get("roles")
|
|
if !common.InArray(staff.RoleId, roles.([]uint)) {
|
|
bean.Response.ResultFail(c, 100000, "权限不足")
|
|
c.Abort()
|
|
return
|
|
}
|
|
c.Set("staff", staff)
|
|
}
|
|
|
|
func BrokerStore(c *gin.Context) {
|
|
broker := user.UserLogic.GetBrokerInfo(c)
|
|
if broker.Level != model.BrokerLevelBusiness {
|
|
bean.Response.ResultFail(c, 100001, "未授权访问")
|
|
c.Abort()
|
|
return
|
|
}
|
|
business := model.BrokerBusiness{}
|
|
if business.Id > 0 {
|
|
|
|
}
|
|
}
|