12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- 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) {
- var (
- expireAt time.Time
- err error
- )
- expireAt, err = time.Parse("2006-01-02 15:04:05", *req.ExpireAtStr)
- if err != nil {
- return nil, dberrorhandler.DefaultEntError(l.Logger, err, req)
- }
- item, err := l.svcCtx.DB.Token.Query().Where(token.TokenEQ(*req.Token)).Where(token.IDNEQ(*req.Id)).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).
- Exec(l.ctx)
- if err != nil {
- return nil, dberrorhandler.DefaultEntError(l.Logger, err, req)
- }
- return &types.BaseMsgResp{Msg: errormsg.UpdateSuccess}, nil
- }
|