Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Z
zjxcxServer
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
node_server
zjxcxServer
Commits
1318e1f4
Commit
1318e1f4
authored
Aug 12, 2024
by
lixinming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
no message
parent
84624d35
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
293 additions
and
39 deletions
+293
-39
provide.ts
src/biz/admin/provide.ts
+117
-0
gpt.ts
src/biz/gpt/gpt.ts
+71
-20
report.ts
src/biz/gpt/report.ts
+27
-4
label.ts
src/biz/label.ts
+2
-2
monthTask.ts
src/biz/mobileFuHuaQi/fuHuaQi/task/monthTask.ts
+4
-1
systemTask.ts
src/biz/systemTask.ts
+1
-1
errorEnum.ts
src/config/errorEnum.ts
+2
-1
fuhuaqi.ts
src/data/fuHuaQi/fuhuaqi.ts
+5
-5
chart.ts
src/data/guanWeiHui/chart.ts
+53
-0
tableInit.ts
src/db/mongo/tableInit.ts
+6
-0
main.ts
src/main.ts
+0
-1
ai.ts
src/routers/gpt/ai.ts
+4
-4
request.ts
src/util/request.ts
+1
-0
No files found.
src/biz/admin/provide.ts
View file @
1318e1f4
...
...
@@ -1971,3 +1971,119 @@ export async function xiuFuCustomTask() {
console
.
log
(
"数据更新完成"
);
//添加信息到自定义任务表中
}
export
async
function
test11111
()
{
let
list
=
await
enterpriseData
.
findEnterpriseList
({
fuHuaQiUscc
:
"91310115069312504K"
});
let
keyList
=
[{
key
:
"name"
,
desc
:
"企业名称"
},
{
key
:
"taskId"
,
desc
:
"绑定的任务id"
},
{
key
:
"uscc"
,
desc
:
"统一信用代码"
},
{
key
:
"fuHuaQiUscc"
,
desc
:
"孵化器统一信用代码"
},
{
key
:
"industry"
,
desc
:
"领域"
},
{
key
:
"logonTime"
,
desc
:
"注册时间"
},
{
key
:
"firstIncubationTime"
,
desc
:
"首次入孵时间"
},
{
key
:
"timeOfImmigration"
,
desc
:
"迁入时间"
},
{
key
:
"isNaturalPersonHolding"
,
desc
:
"是否自然人控股企业"
},
{
key
:
"oldLogonAdd"
,
desc
:
"弃用"
},
{
key
:
"logonAdd"
,
desc
:
"弃用"
},
{
key
:
"operatingAdd"
,
desc
:
"弃用"
},
{
key
:
"isCreate"
,
desc
:
"是否新建"
},
{
key
:
"leasedArea"
,
desc
:
"租赁面积(平方米)"
},
{
key
:
"mainBusiness"
,
desc
:
"主营业务"
},
{
key
:
"createTime"
,
desc
:
"录入时间"
},
{
key
:
"draftLock"
,
desc
:
"草稿锁,true为提交之后,false为草稿"
},
{
key
:
"enterpriseIsInPut"
,
desc
:
"兼容原始数据无法判断是否是迁入企业这个问题加的字段"
},
{
key
:
"draftId"
,
desc
:
"保存之后就不认这个id了"
},
{
key
:
"firstLoginIsChangePwd"
,
desc
:
"首次登录是否修改密码"
},
{
key
:
"state"
,
desc
:
"状态"
},
{
key
:
"virtualCause"
,
desc
:
"虚拟孵化原因"
},
{
key
:
"virtualCauseDes"
,
desc
:
"虚拟孵化描述"
},
{
key
:
"moveOutType"
,
desc
:
"迁出类型"
},
{
key
:
"moveOutTrace"
,
desc
:
"迁出去向"
},
{
key
:
"moveOutCause"
,
desc
:
"迁出原因"
},
{
key
:
"moveOutTime"
,
desc
:
"迁出时间"
},
{
key
:
"logonAddress"
,
desc
:
"注册地址"
},
{
key
:
"operatingAddress"
,
desc
:
"经营地址"
},
{
key
:
"oldLogonAddress"
,
desc
:
"迁入前注册地址"
},
{
key
:
"initialTeam"
,
desc
:
"弃用"
},
{
key
:
"qualification"
,
desc
:
"企业资质"
},
{
key
:
"intellectualProperty"
,
desc
:
"知识产权"
},
{
key
:
"firstClassTalent"
,
desc
:
"舍弃"
},
{
key
:
"haveFirstClassTalent"
,
desc
:
"是否拥有国际一流人才"
},
{
key
:
"tipsQualification"
,
desc
:
"企业资质"
},
{
key
:
"tipsIntellectualProperty"
,
desc
:
"知识产权"
},
{
key
:
"tipsFinancingInfo"
,
desc
:
"企业融资"
},
{
key
:
"graduation"
,
desc
:
"拟毕业情况"
},
{
key
:
"cycxfx"
,
desc
:
"创业创新方向"
},
{
key
:
"cycsrbj"
,
desc
:
"创业创始人背景"
},
{
key
:
"securePhon"
,
desc
:
"安全手机号,用于做修改密码用"
},
{
key
:
"RAS"
,
desc
:
"登记状态"
},
{
key
:
"logOffMS"
,
desc
:
"注销时间"
},
{
key
:
"legalPerson"
,
desc
:
"法人"
},
{
key
:
"zhuceziben"
,
desc
:
"注册资本"
},
{
key
:
"shijiaoziben"
,
desc
:
"实缴资本"
},
{
key
:
"dianHua"
,
desc
:
"电话"
},
{
key
:
"gengDuoDianHua"
,
desc
:
"更多电话"
},
{
key
:
"mail"
,
desc
:
"邮箱"
},
{
key
:
"moreMail"
,
desc
:
"更多邮箱"
},
{
key
:
"enterpriseType"
,
desc
:
"企业(机构)类型"
},
{
key
:
"zhuCeHao"
,
desc
:
"注册号"
},
{
key
:
"zuZhiJiGouDaiMa"
,
desc
:
"组织机构代码"
},
{
key
:
"canBaoRenShu"
,
desc
:
"参保人数"
},
{
key
:
"canBaoRenShuNianBao"
,
desc
:
"参保人数所属年报"
},
{
key
:
"yingYeQiXian"
,
desc
:
"营业期限"
},
{
key
:
"qiYeGuiMo"
,
desc
:
"企业规模"
},
{
key
:
"guanWang"
,
desc
:
"官网"
},
{
key
:
"tongXinDiZhi"
,
desc
:
"通信地址"
},
{
key
:
"jianJie"
,
desc
:
"企业简介"
},
{
key
:
"dengJiJiGuan"
,
desc
:
"登记机关"
},
{
key
:
"naShuiRenZiZhi"
,
desc
:
"纳税人资质"
},
{
key
:
"zuiXinNianBaoNianFen"
,
desc
:
"最新年报年份"
}];
let
resList
=
[];
let
titleList
=
[];
keyList
.
forEach
(
keyInfo
=>
{
let
{
key
,
desc
}
=
keyInfo
;
titleList
.
push
(
desc
);
});
resList
.
push
(
titleList
);
list
.
forEach
(
info
=>
{
let
subList
=
[];
keyList
.
forEach
(
keyInfo
=>
{
let
{
key
}
=
keyInfo
;
let
value
=
info
[
key
];
if
(
key
==
"industry"
)
value
=
changeEnumValue
(
INDUSTRY
,
value
)
if
(
key
==
"logonTime"
||
key
==
"firstIncubationTime"
||
key
==
"timeOfImmigration"
)
{
if
(
!
isNaN
(
value
))
value
=
moment
(
value
).
format
(
"YYYY-MM-DD"
);
}
if
(
key
==
"state"
)
{
value
=
changeEnumValue
(
FUHUASTATE
,
value
);
}
if
(
key
==
"logonAddress"
||
key
==
"operatingAddress"
||
key
==
"oldLogonAddress"
)
{
value
=
changeAddToString
(
value
);
}
if
(
key
==
"RAS"
)
{
value
=
changeEnumValue
(
RAS
,
value
);
}
if
(
key
==
"qiYeGuiMo"
)
{
value
=
changeEnumValue
(
ENTERPRISESIZE
,
value
)
}
if
(
key
==
"naShuiRenZiZhi"
)
{
value
=
changeEnumValue
(
NASHUIRENZIZHI
,
value
);
}
subList
.
push
(
value
);
});
resList
.
push
(
subList
);
});
let
data
=
[
{
name
:
"sheet1"
,
data
:
resList
}
];
let
buff
=
xlsx
.
build
(
data
);
fs
.
writeFileSync
(
path
.
join
(
__dirname
.
substring
(
0
,
__dirname
.
indexOf
(
"out"
)),
"res"
,
'雨艺在孵企业excel.xlsx'
),
buff
);
console
.
log
();
}
\ No newline at end of file
src/biz/gpt/gpt.ts
View file @
1318e1f4
...
...
@@ -2,6 +2,8 @@
* ai聊天模块
*/
import
{
ERRORENUM
}
from
"../../config/errorEnum"
import
{
BizError
}
from
"../../util/bizError"
import
{
cozeGet
,
cozePost
,
post
}
from
"../../util/request"
const
request
=
require
(
'request'
)
...
...
@@ -59,42 +61,91 @@ export async function checkMsg(msg:string, preConditions?) {
}
/**
* 字节智能体
*/
export
async
function
cozeMsg
(
msg
:
string
,
conversationId
:
string
,
chatId
:
string
,
messageList
)
{
let
additional_messages
=
[];
//拼接上下文
let
i
=
messageList
.
length
<=
10
?
0
:
(
messageList
.
length
-
10
)
-
1
;
for
(;
i
<
messageList
.
length
;
i
++
)
{
let
{
role
,
msg
}
=
messageList
[
i
];
let
type
=
role
!=
'user'
?
'question'
:
'answer'
additional_messages
.
push
({
role
,
type
,
content
:
msg
,
content_type
:
'text'
});
}
export
async
function
cozeMsg
(
msg
:
string
)
{
let
h
eader
=
{
Authorization
:
'Bearer pat_
2mhpgd35eLzZsh9nPghVMquAEqy73KXfDAfuqps0IWy2TT1m75P6lfuYedZGkwfW
'
,
/**请求头 */
const
H
eader
=
{
Authorization
:
'Bearer pat_
KORy65MIpPSGQ8cx4rLLipsAZhgjkk5neIv0o1IWKb2svC3t2RbECSMpSBHWyDuN
'
,
"Content-Type"
:
"application/json"
};
let
url
=
'https://api.coze.cn/v3/chat'
;
let
body
=
{
bot_id
:
"7395108996510089266"
,
conversation_id
:
"7397235079933902887"
,
const
botId
=
'7395108996510089266'
;
/**创建会话 */
if
(
!
conversationId
)
{
let
creatChartUrl
=
'https://api.coze.cn/v1/conversation/create'
;
let
conversationRes
:
any
=
await
cozePost
(
creatChartUrl
,
{},
Header
);
conversationId
=
conversationRes
.
data
.
id
;
}
/**创建消息 */
let
messageBody
=
{
role
:
'user'
,
content
:
msg
,
content_type
:
"text"
};
let
createMessageRes
:
any
=
await
cozePost
(
`https://api.coze.cn/v1/conversation/message/create?conversation_id=
${
conversationId
}
`
,
messageBody
,
Header
);
//判断创建情况,如果消息创建失败,后面轮询会报错
if
(
!
createMessageRes
.
data
)
{
throw
new
BizError
(
ERRORENUM
.
智能体调用出错请联系管理员
,
'创建消息失败'
);
}
/**发起对话 */
let
chatUrl
=
`https://api.coze.cn/v3/chat?conversation_id=
${
conversationId
}
`
;
let
chatBody
=
{
bot_id
:
botId
,
conversation_id
:
conversationId
,
user_id
:
"user"
,
stream
:
false
,
query
:
msg
,
a
uto_save_history
:
true
auto_save_history
:
true
,
a
dditional_messages
};
let
result
:
any
=
await
cozePost
(
url
,
body
,
header
);
if
(
result
.
data
)
{
let
{
status
,
conversation_id
,
id
}
=
result
.
data
;
if
(
status
==
"in_progress"
)
{
let
max
=
10
;
let
chatResult
:
any
=
await
cozePost
(
chatUrl
,
chatBody
,
Header
);
//判断创建情况,如果消息创建失败,后面轮询会报错
if
(
!
createMessageRes
.
data
)
{
throw
new
BizError
(
ERRORENUM
.
智能体调用出错请联系管理员
,
'发起对话失败'
);
}
chatId
=
chatResult
.
data
.
id
;
/**查询对话状态 */
let
max
=
100
;
for
(
let
i
=
0
;
i
<
max
;
i
++
)
{
await
sleep
(
1000
);
let
query
=
{
conversation_id
,
chat_id
:
id
};
let
itemRes
=
await
cozeGet
(
'https://api.coze.cn/v3/chat/retrieve'
,
query
,
header
);
console
.
log
(
itemRes
);
let
queryInfo
=
{
conversation_id
:
conversationId
,
chat_id
:
chatId
};
// let itemUrl =`https://api.coze.cn/v3/chat/retrieve?conversation_id=${conversation_id}&chat_id=${chat_id}`;
let
itemUrl
=
`https://api.coze.cn/v3/chat/retrieve`
;
let
itemRes
:
any
=
await
cozeGet
(
itemUrl
,
queryInfo
,
Header
);
console
.
log
(
`第
${
i
+
1
}
次等待`
);
if
(
!
itemRes
.
data
||
!
itemRes
.
data
.
status
||
itemRes
.
data
.
status
==
"failed"
)
{
throw
new
BizError
(
ERRORENUM
.
智能体调用出错请联系管理员
,
'轮询对话状态失败'
);
}
if
([
"completed"
,
"required_action"
,
"canceled"
,
"failed"
].
indexOf
(
itemRes
.
data
.
status
)
!=
-
1
)
{
break
;
}
}
console
.
log
();
/**查看消息列表 */
let
allres
:
any
=
await
cozeGet
(
'https://api.coze.cn/v3/chat/message/list'
,
{
conversation_id
:
conversationId
,
chat_id
:
chatId
},
Header
);
if
(
!
allres
.
data
)
throw
new
BizError
(
ERRORENUM
.
智能体调用出错请联系管理员
,
'查看消息列表失败'
);
let
msgList
=
allres
.
data
;
let
resMsg
=
msgList
[
msgList
.
length
-
1
].
content
;
console
.
log
(
`提问:
${
msg
}
`
,
`回答:
${
resMsg
}
`
);
return
{
answer
:
resMsg
,
conversationId
,
chatId
};
}
function
sleep
(
time
)
{
...
...
src/biz/gpt/report.ts
View file @
1318e1f4
...
...
@@ -4,9 +4,10 @@
import
{
ERRORENUM
}
from
"../../config/errorEnum"
;
import
{
findFuHuaQiList
}
from
"../../data/fuHuaQi/fuhuaqi"
;
import
{
createChatInfo
,
selectChatInfo
}
from
"../../data/guanWeiHui/chart"
;
import
{
BizError
}
from
"../../util/bizError"
;
import
{
TARGET
}
from
"./enum"
;
import
{
checkMsg
}
from
"./gpt"
;
import
{
checkMsg
,
cozeMsg
}
from
"./gpt"
;
import
{
getIndicationRate
,
getIndicationValueStr
,
getIndicationValue
}
from
"./indicatorPool"
;
const
officegen
=
require
(
'officegen'
);
...
...
@@ -86,11 +87,33 @@ export async function zjAiChart(token:string) {
}
export
async
function
aiChart
(
token
:
string
)
{
export
async
function
aiChart
(
userId
:
string
,
token
:
string
,
messageList
)
{
if
(
!
token
)
throw
new
BizError
(
ERRORENUM
.
请输入聊天内容
);
let
resultMsg
:
any
=
await
checkMsg
(
token
,
[]);
let
chatInfo
=
await
selectChatInfo
(
userId
);
if
(
!
chatInfo
||
!
chatInfo
.
userId
)
{
await
createChatInfo
(
userId
);
chatInfo
=
await
selectChatInfo
(
userId
);
}
let
contextList
=
JSON
.
parse
(
chatInfo
.
additionalMessages
);
let
{
answer
,
chatId
,
conversationId
}
=
await
cozeMsg
(
token
,
chatInfo
.
conversationId
,
chatInfo
.
chatId
,
contextList
);
/**更新对话记录 */
let
newContextList
=
[];
if
(
contextList
.
length
>=
10
)
{
for
(
let
i
=
2
;
i
<
contextList
.
length
;
i
++
)
{
newContextList
.
push
(
contextList
[
i
]);
}
}
newContextList
.
push
({
role
:
'user'
,
msg
:
token
});
newContextList
.
push
({
role
:
'bot'
,
msg
:
answer
});
chatInfo
.
additionalMessages
=
JSON
.
stringify
(
newContextList
);
return
{
message
:
resultMsg
};
/**更新参数 */
chatInfo
.
chatId
=
chatId
;
chatInfo
.
conversationId
=
conversationId
;
chatInfo
.
conversationMs
=
new
Date
().
valueOf
();
return
{
message
:
answer
};
}
...
...
src/biz/label.ts
View file @
1318e1f4
...
...
@@ -138,7 +138,7 @@ export async function inOnceLabelToFuHuaQi(fuHuaQiInfo:any, labelId:string, p1?)
/**
* 【孵化器标签】修改 使用的时候,不能被.sav
a
()方法嵌套
* 【孵化器标签】修改 使用的时候,不能被.sav
e
()方法嵌套
* @param uscc
* @param labelIdList
*/
...
...
@@ -199,7 +199,7 @@ export async function outLabelToFuHuaQi(fuHuaQiInfo:any, labelId:string, p1?) {
if
(
checkIndex
!=
-
1
)
{
fuHuaQiInfo
.
labels
[
checkIndex
].
state
=
false
;
await
fuHuaQiLabelLogData
.
addOnceLabelLog
(
fuHuaQiInfo
.
uscc
,
labelId
,
LABELUPDATEROAD
.
失效
,
desc
);
await
fuHuaQiInfo
.
sav
a
();
await
fuHuaQiInfo
.
sav
e
();
}
}
...
...
src/biz/mobileFuHuaQi/fuHuaQi/task/monthTask.ts
View file @
1318e1f4
...
...
@@ -252,8 +252,11 @@ export async function checkTask(uscc:string, taskType:number) {
let
enterpriseList
=
await
enterpriseData
.
findEnterpriseList
({
taskId
:
TaskId
});
for
(
let
i
in
enterpriseList
)
{
let
enterpriseInfo
=
await
enterpriseData
.
findEnterpriseByUscc
(
enterpriseList
[
i
].
uscc
);
if
(
enterpriseInfo
)
{
await
enterpriseLabelEvent
(
enterpriseInfo
,
LABELEVENT
.
入孵
,
fuHuaQiInfo
.
operationName
);
await
enterpriseInfo
.
sava
();
await
enterpriseInfo
.
save
();
}
}
break
;
...
...
src/biz/systemTask.ts
View file @
1318e1f4
...
...
@@ -74,7 +74,7 @@ export async function initSystemTask() {
* 6.0新加 用于标签系统
*/
await
initSystemLabelData
();
await
systemLabel
();
//
await systemLabel();
let
lastUpdateDay
=
moment
().
format
(
"YYYY-MM-DD"
);
setInterval
(
async
function
()
{
let
hours
=
moment
().
hours
();
...
...
src/config/errorEnum.ts
View file @
1318e1f4
...
...
@@ -84,7 +84,8 @@ export enum ERRORENUM {
不可以创建未来数据月的任务
,
填报周期不能小于数据周期
,
党员年龄分布总和大于总数
,
不可选择未来时间
不可选择未来时间
,
智能体调用出错请联系管理员
}
export
enum
ERRORCODEENUM
{
...
...
src/data/fuHuaQi/fuhuaqi.ts
View file @
1318e1f4
...
...
@@ -143,7 +143,7 @@ export async function findFuHuaQiByName(name:string) {
* @returns [] 孵化器列表
*/
export
async
function
findFuHuaQiListByPage
(
selectParam
,
skipCount
)
{
selectParam
.
isTest
=
null
;
selectParam
.
isTest
=
{
"$ne"
:
true
}
return
await
fuHuaQiModel
.
find
(
selectParam
).
skip
(
skipCount
).
limit
(
10
);
}
...
...
@@ -154,7 +154,7 @@ export async function findFuHuaQiListByPage(selectParam, skipCount) {
* @returns [] 孵化器列表
*/
export
async
function
findFuHuaQiList
(
selectParam
)
{
selectParam
.
isTest
=
null
;
selectParam
.
isTest
=
{
"$ne"
:
true
}
return
await
fuHuaQiModel
.
find
(
selectParam
);
}
...
...
@@ -165,7 +165,7 @@ export async function findFuHuaQiList(selectParam) {
* @returns number 数据数量
*/
export
async
function
findFuHuaQiCount
(
selectParam
)
{
selectParam
.
isTest
=
null
;
selectParam
.
isTest
=
{
"$ne"
:
true
}
return
await
fuHuaQiModel
.
find
(
selectParam
).
countDocuments
();
}
...
...
@@ -175,7 +175,7 @@ export async function findFuHuaQiCount(selectParam) {
* @returns map key:统一信用代码 value:运营机构名称
*/
export
async
function
findFuHuaQiOperationNameMapByParam
(
param
)
{
param
.
isTest
=
null
;
param
.
isTest
=
{
"$ne"
:
true
}
let
dataList
=
await
fuHuaQiModel
.
find
(
param
);
let
map
=
{};
dataList
.
forEach
(
info
=>
{
...
...
@@ -261,7 +261,7 @@ export async function findFuHuaQiByBindId(bindId:string) {
* @returns
*/
export
async
function
findFuHuaQiFilesDataByParam
(
param
,
files
)
{
param
.
isTest
=
null
;
param
.
isTest
=
{
"$ne"
:
true
}
return
await
fuHuaQiModel
.
find
(
param
,
files
);
}
...
...
src/data/guanWeiHui/chart.ts
0 → 100644
View file @
1318e1f4
/**
* 张江小助手
* 没有权限 2023-02-06 确定此需求
*/
import
{
Schema
}
from
'mongoose'
;
import
{
baseDB
}
from
'../../db/mongo/dbInit'
;
const
chartSchema
=
new
Schema
({
userId
:{
type
:
String
,
index
:
true
},
//用户标识 唯一
conversationId
:
String
,
//会话id
conversationMs
:
Number
,
//最近一次会话时间
chatId
:
String
,
//对话id
additionalMessages
:
String
,
//对话上下文json格式,数组限制长度为10
});
var
chartModel
;
export
function
initModel
(){
chartModel
=
baseDB
.
model
(
'chart'
,
chartSchema
);
chartModel
.
selectOnceData
=
async
function
(
paramater
:
object
)
{
let
selectInfo
=
await
chartModel
.
findOne
(
paramater
).
exec
();
if
(
selectInfo
)
{
if
(
!
selectInfo
.
runSave
)
{
selectInfo
.
runSave
=
selectInfo
.
save
;
selectInfo
.
save
=
save
.
bind
(
selectInfo
)
}
}
return
selectInfo
;
}
}
export
async
function
save
(
throwError
=
false
)
{
if
(
!
this
.
isModified
())
return
;
await
this
.
runSave
({
validateBeforeSave
:
false
}).
catch
(
err
=>
{
console
.
log
(
err
);
});
}
export
async
function
selectChatInfo
(
userId
:
string
)
{
return
await
chartModel
.
selectOnceData
({
userId
});
}
export
async
function
createChatInfo
(
userId
:
string
)
{
let
initInfo
=
{
userId
,
conversationId
:
''
,
conversationMs
:
0
,
chatId
:
''
,
additionalMessages
:
'[]'
}
return
await
chartModel
.
create
(
initInfo
);
}
src/db/mongo/tableInit.ts
View file @
1318e1f4
...
...
@@ -38,6 +38,9 @@ import * as customTaskModel from "../../data/fuHuaQi/customTask";
/**党建任务 */
import
*
as
dangJianModel
from
"../../data/fuHuaQi/monthTask/dangJian"
;
import
*
as
chartModel
from
"../../data/guanWeiHui/chart"
;
export
async
function
initTable
()
{
taskinModel
.
initModel
();
...
...
@@ -77,4 +80,6 @@ export async function initTable() {
customTaskModel
.
initModel
();
dangJianModel
.
initModel
();
chartModel
.
initModel
();
}
\ No newline at end of file
src/main.ts
View file @
1318e1f4
import
{
zhenDuanBaoGao
}
from
"./biz/admin/provide"
;
import
{
initPool
}
from
"./biz/gpt/indicatorPool"
;
import
{
initOutline
}
from
"./biz/gpt/report"
;
import
{
initSMS
}
from
"./biz/sms"
;
...
...
src/routers/gpt/ai.ts
View file @
1318e1f4
...
...
@@ -15,12 +15,12 @@ export function setRouter(httpServer) {
}
async
function
chart
(
req
,
res
)
{
let
reqConf
=
{
msg
:
'String'
};
let
{
msg
}
=
eccReqParamater
(
reqConf
,
req
.
body
);
const
Uscc
=
req
.
headers
.
uscc
;
let
reqConf
=
{
msg
:
'String'
,
messageList
:
'[Object]'
};
let
{
msg
,
messageList
}
=
eccReqParamater
(
reqConf
,
req
.
body
);
const
userId
=
req
.
headers
.
userid
;
let
result
=
{};
if
(
!
req
.
headers
.
isFuHuaQi
)
{
result
=
await
aiChart
(
msg
);
result
=
await
aiChart
(
userId
,
msg
,
messageList
);
}
res
.
success
(
result
);
...
...
src/util/request.ts
View file @
1318e1f4
...
...
@@ -88,6 +88,7 @@ export function cozePost(url, body, headers) {
})
}
export
function
cozeGet
(
url
:
string
,
query
?,
headers
?)
{
if
(
!
url
||
(
url
.
search
(
/http:/
)
&&
url
.
search
(
/https:/
))
)
throw
new
BizError
(
!
url
?
"请求地址为空"
:
"请求地址错误"
);
return
new
Promise
((
resolve
,
reject
)
=>
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment