|
@@ -2,6 +2,10 @@ package token
|
|
|
|
|
|
import (
|
|
import (
|
|
"context"
|
|
"context"
|
|
|
|
+ "github.com/zeromicro/go-zero/core/errorx"
|
|
|
|
+ "time"
|
|
|
|
+ "wechat-api/ent"
|
|
|
|
+ "wechat-api/ent/token"
|
|
|
|
|
|
"wechat-api/internal/svc"
|
|
"wechat-api/internal/svc"
|
|
"wechat-api/internal/types"
|
|
"wechat-api/internal/types"
|
|
@@ -26,8 +30,25 @@ func NewCreateTokenLogic(ctx context.Context, svcCtx *svc.ServiceContext) *Creat
|
|
}
|
|
}
|
|
|
|
|
|
func (l *CreateTokenLogic) CreateToken(req *types.TokenInfo) (*types.BaseMsgResp, error) {
|
|
func (l *CreateTokenLogic) CreateToken(req *types.TokenInfo) (*types.BaseMsgResp, error) {
|
|
- _, err := l.svcCtx.DB.Token.Create().
|
|
|
|
- //SetNotNilExpireAt(pointy.GetTimeMilliPointer(req.ExpireAt)).
|
|
|
|
|
|
+ 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)).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.Create().
|
|
|
|
+ SetNotNilExpireAt(&expireAt).
|
|
SetNotNilToken(req.Token).
|
|
SetNotNilToken(req.Token).
|
|
SetNotNilMAC(req.Mac).
|
|
SetNotNilMAC(req.Mac).
|
|
Save(l.ctx)
|
|
Save(l.ctx)
|