From 7dcc2997614f849258091f5d66e648317a40d323 Mon Sep 17 00:00:00 2001
From: wangzhibo <wangzhibo@shsening.com>
Date: 星期五, 14 八月 2026 10:12:42 +0800
Subject: [PATCH] add shop module
---
src/modules/user/service/login.ts | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 50 insertions(+), 0 deletions(-)
diff --git a/src/modules/user/service/login.ts b/src/modules/user/service/login.ts
index 440e5a9..0b8d2f2 100644
--- a/src/modules/user/service/login.ts
+++ b/src/modules/user/service/login.ts
@@ -3,6 +3,7 @@
import { InjectEntityModel } from '@midwayjs/typeorm';
import { Equal, Repository } from 'typeorm';
import { UserInfoEntity } from '../entity/info';
+import { BasicdataSorterEntity } from '../../basicdata/entity/sorter';
import { UserWxService } from './wx';
import * as jwt from 'jsonwebtoken';
import { UserWxEntity } from '../entity/wx';
@@ -19,6 +20,9 @@
export class UserLoginService extends BaseService {
@InjectEntityModel(UserInfoEntity)
userInfoEntity: Repository<UserInfoEntity>;
+
+ @InjectEntityModel(BasicdataSorterEntity)
+ basicdataSorterEntity: Repository<BasicdataSorterEntity>;
@InjectEntityModel(UserWxEntity)
userWxEntity: Repository<UserWxEntity>;
@@ -275,6 +279,34 @@
}
/**
+ * 鍒嗘嫞浜哄憳-瀵嗙爜鐧诲綍
+ * @param phone
+ * @param password
+ */
+ async sorterPassword(phone, password) {
+ const user = await this.basicdataSorterEntity.findOneBy({ phone });
+
+ if (user && user.password == md5(password)) {
+
+ const info = {
+ id: user.businessId,
+ }
+ const { expire, refreshExpire } = this.jwtConfig;
+ return {
+ expire,
+ token: await this.generateSorterToken(info),
+ refreshExpire,
+ refreshToken: await this.generateSorterToken(info, true),
+ };
+
+ } else {
+ throw new CoolCommException('璐﹀彿鎴栧瘑鐮侀敊璇�');
+ }
+ }
+
+
+
+ /**
* 鑾峰緱token
* @param info
* @returns
@@ -306,4 +338,22 @@
expiresIn: isRefresh ? refreshExpire : expire,
});
}
+
+ /**
+ * 鐢熸垚token
+ * @param tokenInfo 淇℃伅
+ * @param roleIds 瑙掕壊闆嗗悎
+ */
+ async generateSorterToken(info, isRefresh = false) {
+ const { expire, refreshExpire, secret } = this.jwtConfig;
+ const user = await this.basicdataSorterEntity.findOneBy({ businessId: Equal(info.id) });
+ const tokenInfo = {
+ isRefresh,
+ ...info,
+ tenantId: user?.tenantId,
+ };
+ return jwt.sign(tokenInfo, secret, {
+ expiresIn: isRefresh ? refreshExpire : expire,
+ });
+ }
}
--
Gitblit v1.9.1