fix version 1

This commit is contained in:
2026-09-22 21:15:34 +08:00
parent 9f86366638
commit d63d7e8b3a
277 changed files with 9959 additions and 1514 deletions

View File

@@ -9,10 +9,17 @@ import (
pb "bsm/full/module/ec/market/pb"
"git.apinb.com/bsm-sdk/core/errcode"
"git.apinb.com/bsm-sdk/core/service"
)
// 审核
func Approve(ctx context.Context, in *pb.ApproveRequest) (reply *pb.IdentityStatusReply, err error) {
// 解析授权信息,审核仅限有权限的角色
_, err = service.ParseMetaCtx(ctx, &service.ParseOptions{RoleValue: "Mall_Admin"})
if err != nil {
return nil, err
}
var data *models.MarketAgency
if in.GetIdentity() == "" {
return nil, errcode.ErrInvalidArgument

View File

@@ -11,16 +11,18 @@ import (
pb "bsm/full/module/ec/market/pb"
"git.apinb.com/bsm-sdk/core/errcode"
"git.apinb.com/bsm-sdk/core/service"
"git.apinb.com/bsm-sdk/core/types"
"git.apinb.com/bsm-sdk/core/utils"
)
// 新增代理商
func Create(ctx context.Context, in *pb.MarketAgenctyItem) (reply *pb.IdentityStatusReply, err error) {
// _, err = service.ParseMetaCtx(ctx, nil)
// if err != nil {
// return nil, err
// }
// 解析授权信息,开号仅限有权限的角色
_, err = service.ParseMetaCtx(ctx, &service.ParseOptions{RoleValue: "Mall_Admin"})
if err != nil {
return nil, err
}
if in.GetName() == "" || in.GetAccount() == "" || in.GetPassword() == "" {
return nil, errcode.ErrInvalidArgument
}

View File

@@ -10,15 +10,16 @@ import (
"git.apinb.com/bsm-sdk/core/errcode"
"git.apinb.com/bsm-sdk/core/printer"
"git.apinb.com/bsm-sdk/core/service"
)
// 删除一个代理商
func Delete(ctx context.Context, in *pb.IdentRequest) (reply *pb.IdentityStatusReply, err error) {
// parse authorization meta.
// _, err = service.ParseMetaCtx(ctx, nil)
// if err != nil {
// return nil, err
// }
// 解析授权信息,删号仅限有权限的角色
_, err = service.ParseMetaCtx(ctx, &service.ParseOptions{RoleValue: "Mall_Admin"})
if err != nil {
return nil, err
}
if in.Id == 0 && in.Identity == "" {
return nil, errcode.ErrInvalidArgument

View File

@@ -15,21 +15,25 @@ import (
// 代理商列表
func Fetch(ctx context.Context, in *pb.MarketFetchRequest) (reply *pb.AgencyReply, err error) {
var (
cnt int64 = 0
Offset int64 = (in.GetPageNo() - 1) * in.GetPageSize()
data = make([]*models.MarketAgency, 0)
cnt int64 = 0
data = make([]*models.MarketAgency, 0)
)
_, err = service.ParseMetaCtx(ctx, nil)
if err != nil {
return nil, err
}
// 先归一化分页参数,再计算偏移量
if in.GetPageNo() < 1 {
in.PageNo = 1
}
if in.GetPageSize() < 10 {
in.PageSize = 50
}
if in.GetPageSize() > 200 {
in.PageSize = 200
}
Offset := (in.GetPageNo() - 1) * in.GetPageSize()
tx := impl.DBService.Model(&models.MarketAgency{})
if in.GetIdentity() != "" {
tx.Where("identity = ?", in.GetIdentity())
@@ -47,6 +51,6 @@ func Fetch(ctx context.Context, in *pb.MarketFetchRequest) (reply *pb.AgencyRepl
return &pb.AgencyReply{
Data: ref(data),
Count: int64(len(data)),
Count: cnt,
}, nil
}

View File

@@ -9,6 +9,7 @@ import (
"bsm/full/module/ec/market/internal/models"
pb "bsm/full/module/ec/market/pb"
"git.apinb.com/bsm-sdk/core/errcode"
"git.apinb.com/bsm-sdk/core/service"
)
@@ -22,8 +23,9 @@ func Get(ctx context.Context, in *pb.IdentRequest) (reply *pb.MarketAgenctyItem,
return nil, err
}
identity = auth.Identity
if in.GetIdentity() != "" {
identity = in.GetIdentity()
// 请求中的 identity 只能用于与 token 身份比对,不一致直接拒绝
if in.GetIdentity() != "" && in.GetIdentity() != auth.Identity {
return nil, errcode.ErrPermissionDenied
}
mktModel := models.MarketAgency{}
if err := impl.DBService.Where("identity=?", identity).First(&mktModel).Error; err != nil {

View File

@@ -10,7 +10,8 @@ import (
"bsm/full/module/ec/market/internal/password"
pb "bsm/full/module/ec/market/pb"
"git.apinb.com/bsm-sdk/core/crypto/encipher"
"git.apinb.com/bsm-sdk/core/crypto/token"
"git.apinb.com/bsm-sdk/core/env"
"git.apinb.com/bsm-sdk/core/errcode"
"gorm.io/gorm"
)
@@ -50,7 +51,8 @@ func Login(ctx context.Context, in *pb.LoginRequest) (reply *pb.LoginReply, err
Market_Identity: marketData.Identity,
}
token, err := encipher.GenerateTokenAes(marketData.ID, marketData.Identity, "", "", market, map[string]string{})
// 与接口侧 ParseMetaCtx 的 JWT 校验保持一致,使用 SDK 的签发函数
tokenStr, err := token.New(env.Runtime.JwtSecretKey).GenerateJwt(marketData.ID, marketData.Identity, "", "", market, map[string]string{})
if err != nil {
return nil, err
}
@@ -63,7 +65,7 @@ func Login(ctx context.Context, in *pb.LoginRequest) (reply *pb.LoginReply, err
}
return &pb.LoginReply{
Token: token,
Token: tokenStr,
Identity: marketData.Identity,
Name: marketData.Name,
Account: marketData.Account,

View File

@@ -9,6 +9,7 @@ import (
"bsm/full/module/ec/market/internal/models"
pb "bsm/full/module/ec/market/pb"
"git.apinb.com/bsm-sdk/core/errcode"
"git.apinb.com/bsm-sdk/core/service"
)
@@ -22,8 +23,9 @@ func Modify(ctx context.Context, in *pb.MarketAgenctyItem) (reply *pb.IdentitySt
return nil, err
}
identity = auth.Identity
if in.GetIdentity() != "" {
identity = in.GetIdentity()
// 请求中的 identity 只能用于与 token 身份比对,不一致直接拒绝
if in.GetIdentity() != "" && in.GetIdentity() != auth.Identity {
return nil, errcode.ErrPermissionDenied
}
mktModel := &models.MarketAgency{
Name: in.GetName(),

View File

@@ -20,17 +20,21 @@ func Pending(ctx context.Context, in *pb.MarketFetchRequest) (reply *pb.AgencyRe
}
var (
cnt int64 = 0
Offset int64 = (in.GetPageNo() - 1) * in.GetPageSize()
data = make([]*models.MarketAgency, 0)
cnt int64 = 0
data = make([]*models.MarketAgency, 0)
)
// 先归一化分页参数,再计算偏移量
if in.GetPageNo() < 1 {
in.PageNo = 1
}
if in.GetPageSize() < 0 {
if in.GetPageSize() < 10 {
in.PageSize = 50
}
if in.GetPageSize() > 200 {
in.PageSize = 200
}
Offset := (in.GetPageNo() - 1) * in.GetPageSize()
tx := impl.DBService.Model(&models.MarketAgency{}).Where("approve = 0").Order("created_at desc")
if in.GetIdentity() != "" {
tx.Where("identity = ?", in.GetIdentity())
@@ -42,6 +46,6 @@ func Pending(ctx context.Context, in *pb.MarketFetchRequest) (reply *pb.AgencyRe
return &pb.AgencyReply{
Data: ref(data),
Count: int64(len(data)),
Count: cnt,
}, nil
}

View File

@@ -21,10 +21,11 @@ func SetPassword(ctx context.Context, in *pb.SetPasswordRequest) (reply *pb.Iden
if err != nil {
return nil, err
}
identity := auth.Identity
if in.GetIdentity() != "" {
identity = in.GetIdentity()
// 请求中的 identity 只能用于与 token 身份比对,不一致直接拒绝
if in.GetIdentity() != "" && in.GetIdentity() != auth.Identity {
return nil, errcode.ErrPermissionDenied
}
identity := auth.Identity
if in.GetOldPassword() == "" || in.GetNewPassword() == "" {
return nil, errcode.ErrInvalidArgument
}