getToken接口修改
This commit is contained in:
parent
57267576ca
commit
40a4619003
|
@ -10,6 +10,20 @@ class ClientMapper {
|
|||
);
|
||||
}
|
||||
|
||||
async getClientToken(clientId: string) {
|
||||
return await db(
|
||||
'select a.token,TIMESTAMPDIFF(MINUTE,NOW(),a.expires_time) AS expiresIn from szja_client_token a where client_id = ? and TIMESTAMPDIFF(MINUTE,NOW(),a.expires_time) > 0',
|
||||
[clientId],
|
||||
);
|
||||
}
|
||||
|
||||
async getClientTokenInfor(clientId: string) {
|
||||
return await db(
|
||||
'select * from szja_client_token where client_id = ?',
|
||||
[clientId],
|
||||
);
|
||||
}
|
||||
|
||||
async getClientByRefId(entId: string) {
|
||||
return await db('select * from szja_client_info where reference_id = ?', [
|
||||
entId,
|
||||
|
@ -26,6 +40,13 @@ class ClientMapper {
|
|||
]);
|
||||
}
|
||||
|
||||
async updateClientToken(clientId: string, token: string, expireTime: Date) {
|
||||
return db(
|
||||
'update szja_client_token set token = ?, expires_time= ?, delete_time= ? where client_id = ?',
|
||||
[token, expireTime, expireTime, clientId]
|
||||
);
|
||||
}
|
||||
|
||||
async addClientInfoByObj(info: IClient) {
|
||||
return await db('insert into szja_client_info set ?', [info]);
|
||||
}
|
||||
|
|
|
@ -37,6 +37,6 @@ async function bootstrap() {
|
|||
// app.useGlobalInterceptors(new TransformInterceptor());
|
||||
// 异常过滤器
|
||||
app.useGlobalFilters(new HttpExceptionFilter(), new AllExceptionsFilter());
|
||||
await app.listen(60036, '0.0.0.0');
|
||||
await app.listen(60031, '0.0.0.0');
|
||||
}
|
||||
bootstrap();
|
||||
|
|
|
@ -21,7 +21,7 @@ export class MpController {
|
|||
*/
|
||||
@Post('/api/v1/getToken')
|
||||
getToken(@Body() { clientId, clientSecret }) {
|
||||
return this.mpService.getToken({ clientId, clientSecret });
|
||||
return this.mpService.getToken(clientId, clientSecret);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -16,26 +16,60 @@ export class MpService {
|
|||
* @param next
|
||||
* @returns
|
||||
*/
|
||||
async getToken({ clientId, clientSecret }) {
|
||||
async getToken(clientId, clientSecret) {
|
||||
console.log('getToken:', clientId, clientSecret);
|
||||
const info = await clientMapper.getClientInfo(clientId, clientSecret);
|
||||
if (!info?.length) {
|
||||
// 不存在平台数据 直接返回
|
||||
return Base.error();
|
||||
}
|
||||
const token = v4().replace(/-/g, '');
|
||||
const expireTime = new Date(new Date().valueOf() + 360 * 60 * 1000);
|
||||
// token,应用服务平台数据入库
|
||||
await Promise.all([
|
||||
clientMapper.addClientToken(clientId, token, expireTime),
|
||||
clientMapper.addClientInfo(clientId, clientSecret),
|
||||
]);
|
||||
return Base.success({
|
||||
token: token,
|
||||
expiresIn: 360,
|
||||
});
|
||||
const clientToken = await clientMapper.getClientToken(clientId);
|
||||
if (clientToken?.length) {
|
||||
//有且没过期
|
||||
return Base.success({
|
||||
token: clientToken[0].token,
|
||||
expiresIn: clientToken[0].expiresIn,
|
||||
});
|
||||
} else {
|
||||
//没有token有两种情况
|
||||
const token = v4().replace(/-/g, '');
|
||||
const expireTime = new Date(new Date().valueOf() + 360 * 60 * 1000);
|
||||
const clientTokenInfor = await clientMapper.getClientTokenInfor(clientId);
|
||||
if (clientTokenInfor?.length) {
|
||||
//有该clientId的数据,说明是token过期,更新token
|
||||
const result = await clientMapper.updateClientToken(
|
||||
clientId,
|
||||
token,
|
||||
expireTime,
|
||||
);
|
||||
if (result.affectedRows) {
|
||||
return Base.success({
|
||||
token: token,
|
||||
expiresIn: 360,
|
||||
});
|
||||
} else {
|
||||
return Base.error('更新token失败');
|
||||
}
|
||||
} else {
|
||||
//没有该clientId的数据,说明是新数据要存库
|
||||
const result = await clientMapper.addClientToken(
|
||||
clientId,
|
||||
token,
|
||||
expireTime,
|
||||
);
|
||||
if (result.affectedRows) {
|
||||
return Base.success({
|
||||
token: token,
|
||||
expiresIn: 360,
|
||||
});
|
||||
} else {
|
||||
return Base.error('Token入库出错');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// /**
|
||||
// * 查询应用服务用户信息权限
|
||||
// * @param req
|
||||
|
|
|
@ -40,10 +40,10 @@ export class OpenDataService {
|
|||
token,
|
||||
expireTime,
|
||||
);
|
||||
if (result[0]) {
|
||||
if (result.affectedRows) {
|
||||
return Base.success({
|
||||
token: token,
|
||||
expiresIn: expireTime,
|
||||
expiresIn: 360,
|
||||
});
|
||||
} else {
|
||||
return Base.error('更新token失败');
|
||||
|
@ -55,7 +55,7 @@ export class OpenDataService {
|
|||
token,
|
||||
expireTime,
|
||||
);
|
||||
if (result[0]) {
|
||||
if (result.affectedRows) {
|
||||
return Base.success({
|
||||
token: token,
|
||||
expiresIn: 360,
|
||||
|
|
|
@ -8,7 +8,7 @@ export class PlatformController {
|
|||
|
||||
@Post('/api/v1/getToken')
|
||||
getToken(@Body() { clientId, clientSecret }) {
|
||||
return this.platformService.getToken({ clientId, clientSecret });
|
||||
return this.platformService.getToken(clientId, clientSecret);
|
||||
}
|
||||
|
||||
@Post('/api/v1/getUserInfoByTicket')
|
||||
|
|
|
@ -13,43 +13,53 @@ export class PlatformService {
|
|||
/**
|
||||
* 全国服务平台获取访问令牌
|
||||
* @param req
|
||||
* @param res
|
||||
* @param next
|
||||
*/
|
||||
async getToken({ clientId, clientSecret }) {
|
||||
console.log(
|
||||
'全国服务平台获取访问令牌--getToken--传入参数:',
|
||||
clientId,
|
||||
clientSecret,
|
||||
);
|
||||
// const result = await Axios(`${config.zjgUrl}/rest/common/getUserToken`, {
|
||||
// code,
|
||||
// clientId,
|
||||
// clientSecret
|
||||
// })
|
||||
// if (result) {
|
||||
// return Base.success({
|
||||
// access_token: result.access_token
|
||||
// })
|
||||
// }
|
||||
async getToken(clientId, clientSecret) {
|
||||
console.log('getToken:', clientId, clientSecret);
|
||||
const info = await clientMapper.getClientInfo(clientId, clientSecret);
|
||||
if (!info?.length) {
|
||||
// 不存在平台数据 直接返回
|
||||
return Base.error();
|
||||
}
|
||||
const token = v4().replace(/-/g, '');
|
||||
const expireTime = new Date(new Date().valueOf() + 360 * 60 * 1000);
|
||||
// token,应用服务平台数据入库
|
||||
await Promise.all([
|
||||
clientMapper.addClientToken(clientId, token, expireTime),
|
||||
clientMapper.addClientInfo(clientId, clientSecret),
|
||||
]);
|
||||
return Base.success({
|
||||
token: token,
|
||||
expiresIn: 360,
|
||||
});
|
||||
const clientToken =await clientMapper.getClientToken(clientId)
|
||||
if (clientToken?.length){
|
||||
//有且没过期
|
||||
return Base.success({
|
||||
token: clientToken[0].token,
|
||||
expiresIn: clientToken[0].expiresIn,
|
||||
});
|
||||
}else {
|
||||
//没有token有两种情况
|
||||
const token = v4().replace(/-/g, '');
|
||||
const expireTime = new Date(new Date().valueOf() + 360 * 60 * 1000);
|
||||
const clientTokenInfor=await clientMapper.getClientTokenInfor(clientId)
|
||||
if (clientTokenInfor?.length){
|
||||
//有该clientId的数据,说明是token过期,更新token
|
||||
let result=await clientMapper.updateClientToken(clientId,token,expireTime)
|
||||
if (result.affectedRows){
|
||||
return Base.success({
|
||||
token: token,
|
||||
expiresIn: 360,
|
||||
})
|
||||
}else {
|
||||
return Base.error('更新token失败')
|
||||
}
|
||||
}else {
|
||||
//没有该clientId的数据,说明是新数据要存库
|
||||
let result=await clientMapper.addClientToken(clientId, token, expireTime)
|
||||
if (result.affectedRows){
|
||||
return Base.success({
|
||||
token: token,
|
||||
expiresIn: 360,
|
||||
});
|
||||
}else {
|
||||
return Base.error('Token入库出错')
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
async getUserInfoByTicket({ ticket, appCode, type, hccId }) {
|
||||
// 解密ticket
|
||||
console.debug(
|
||||
|
|
Loading…
Reference in New Issue
Block a user