123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- package token
- import (
- "context"
- "github.com/zeromicro/go-zero/core/errorx"
- "time"
- "wechat-api/ent"
- "wechat-api/ent/token"
- "wechat-api/internal/svc"
- "wechat-api/internal/types"
- "wechat-api/internal/utils/dberrorhandler"
- "github.com/suyuan32/simple-admin-common/msg/errormsg"
- "github.com/zeromicro/go-zero/core/logx"
- )
- type UpdateTokenLogic struct {
- ctx context.Context
- svcCtx *svc.ServiceContext
- logx.Logger
- }
- func NewUpdateTokenLogic(ctx context.Context, svcCtx *svc.ServiceContext) *UpdateTokenLogic {
- return &UpdateTokenLogic{
- ctx: ctx,
- svcCtx: svcCtx,
- Logger: logx.WithContext(ctx),
- }
- }
- func (l *UpdateTokenLogic) UpdateToken(req *types.TokenInfo) (*types.BaseMsgResp, error) {
- //isAdmin := l.ctx.Value("isAdmin").(bool)
- //if !isAdmin {
- // l.Error("没有权限,请联系管理员", nil)
- // return nil, errorx.NewDefaultError("没有权限,请联系管理员")
- //}
- var (
- expireAt *time.Time
- err error
- )
- if req.ExpireAtStr != nil {
- expireAtdata, err := time.Parse("2006-01-02 15:04:05", *req.ExpireAtStr)
- if err != nil {
- return nil, dberrorhandler.DefaultEntError(l.Logger, err, req)
- }
- expireAt = &expireAtdata
- }
- if req.Token != nil {
- item, err := l.svcCtx.DB.Token.Query().Where(token.IDNEQ(*req.Id)).Where(token.TokenEQ(*req.Token)).First(l.ctx)
- if err != nil && !ent.IsNotFound(err) {
- return nil, dberrorhandler.DefaultEntError(l.Logger, err, req)
- }
- if item != nil && item.ID > 0 {
- return nil, errorx.NewCodeInvalidArgumentError("Token已经存在")
- }
- }
- err = l.svcCtx.DB.Token.UpdateOneID(*req.Id).
- SetNotNilExpireAt(expireAt).
- SetNotNilToken(req.Token).
- SetNotNilMAC(req.Mac).
- SetNotNilOrganizationID(req.OrganizationId).
- SetNotNilAgentID(req.AgentId).
- SetNotNilCustomAgentBase(req.CustomAgentBase).
- SetNotNilCustomAgentKey(req.CustomAgentKey).
- SetNotNilOpenaiBase(req.OpenaiBase).
- SetNotNilOpenaiKey(req.OpenaiKey).
- Exec(l.ctx)
- if err != nil {
- return nil, dberrorhandler.DefaultEntError(l.Logger, err, req)
- }
- return &types.BaseMsgResp{Msg: errormsg.UpdateSuccess}, nil
- }
|