Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
puxin_answer
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
puxin_answer
Commits
5e1bae8d
Commit
5e1bae8d
authored
Mar 24, 2025
by
chenjinjing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
no message
parent
72646b39
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
152 additions
and
70 deletions
+152
-70
admin.ts
src/biz/admin.ts
+47
-27
huolande.ts
src/biz/huolande.ts
+82
-32
enum.ts
src/config/enum.ts
+15
-5
mysqlTableConfig.ts
src/config/mysqlTableConfig.ts
+2
-0
admin.ts
src/routers/admin.ts
+2
-2
huolande.ts
src/routers/huolande.ts
+4
-4
No files found.
src/biz/admin.ts
View file @
5e1bae8d
import
moment
from
"moment"
;
import
{
TABLENAME
}
from
"../config/dbEnum"
;
import
{
selectDataCountByParam
,
selectDataListByParam
,
selectDataListToPageByParam
,
selectOneDataByParam
}
from
"../data/findData"
;
import
{
CHAPTER
,
HLDTYPE
,
QUESTION
,
TESTTYPE
}
from
"../config/enum"
;
import
{
CHAPTER
,
HLDTYPE
,
HUOLANDE
,
QUESTION
,
TESTTYPE
}
from
"../config/enum"
;
import
{
changeEnumValue
}
from
"../tools/eccEnum"
;
import
{
BizError
}
from
"../util/bizError"
;
import
{
ERRORENUM
}
from
"../config/errorEnum"
;
...
...
@@ -40,24 +40,27 @@ export async function login(username, password) {
* @param current
* @returns
*/
export
async
function
getUserList
(
card
,
createStartTime
,
createEndTime
,
area
,
current
)
{
let
selectParam
=
{
"name"
:{
"%ne%"
:
"362527199309194932"
},
"phone"
:{
"%ne%"
:
"17255558888"
}};
if
(
card
)
selectParam
[
"card"
]
=
card
;
if
(
createStartTime
&&
createEndTime
)
selectParam
[
"create_time"
]
=
{
"%between%"
:[
createStartTime
,
createEndTime
]};
if
(
area
)
selectParam
[
"area"
]
=
area
;
let
findData
=
await
selectDataListToPageByParam
(
TABLENAME
.
测试信息表
,
selectParam
,
[
"infoid"
,
"name"
,
"card"
,
"phone"
,
"email"
,
"area"
,
"create_time"
,
"test_type"
],
current
,
10
);
export
async
function
getUserList
(
phone
,
createStartTime
,
createEndTime
,
current
)
{
let
selectParam
=
{
"name"
:{
"%ne%"
:
"测试"
},
"phone"
:{
"%ne%"
:
"17255558888"
}};
if
(
phone
)
selectParam
[
"phone"
]
=
phone
;
if
(
createStartTime
&&
createEndTime
)
selectParam
[
"test_date"
]
=
{
"%between%"
:[
createStartTime
,
createEndTime
]};
let
findData
=
await
selectDataListToPageByParam
(
TABLENAME
.
测试信息表
,
selectParam
,
[
"infoid"
,
"name"
,
"card"
,
"phone"
,
"email"
,
"area"
,
"create_time"
,
"test_date"
,
"test_type"
,
"last_update_time"
],
current
,
10
);
let
dataCount
=
await
selectDataCountByParam
(
TABLENAME
.
测试信息表
,
selectParam
);
let
dataList
=
[];
findData
.
data
.
forEach
(
info
=>
{
let
{
infoid
,
name
,
card
,
phone
,
email
,
area
,
create_time
,
test_type
}
=
info
;
for
(
let
i
=
0
;
i
<
findData
.
data
.
length
;
i
++
)
{
let
info
=
findData
.
data
[
i
];
let
{
infoid
,
name
,
card
,
phone
,
email
,
area
,
create_time
,
test_type
,
last_update_time
,
test_date
}
=
info
;
dataList
.
push
({
infoid
,
name
,
card
,
phone
,
email
,
area
,
createTime
:
moment
(
create_time
).
format
(
"YYYY-MM-DD"
),
testType
:
test_type
})
})
let
inforecordData
=
await
selectDataListByParam
(
TABLENAME
.
测试信息记录表
,
{
infoid
,
test_type
},
[]);
if
(
inforecordData
.
data
.
length
)
{
dataList
.
push
({
infoid
,
name
,
card
,
phone
,
email
,
area
,
createTime
:
moment
(
test_date
).
format
(
"YYYY-MM-DD HH:mm:ss"
),
testType
:
test_type
})
}
}
return
{
dataList
,
dataCount
:
dataCount
.
data
};
}
...
...
@@ -88,8 +91,8 @@ export async function getUserInfoById(infoid, test_type) {
* @returns
*/
async
function
getChuangYe
(
infoid
)
{
let
findUserData
=
await
selectOneDataByParam
(
TABLENAME
.
测试信息表
,
{
infoid
},
[]);
let
findData
=
await
selectDataListByParam
(
TABLENAME
.
测试信息记录表
,
{
infoid
},
[]);
let
findUserData
=
await
selectOneDataByParam
(
TABLENAME
.
测试信息表
,
{
infoid
,
test_type
:
2
},
[]);
let
findData
=
await
selectDataListByParam
(
TABLENAME
.
测试信息记录表
,
{
infoid
,
test_type
:
2
},
[]);
let
optionsInfo
=
[];
let
score
=
0
;
...
...
@@ -115,7 +118,7 @@ async function getChuangYe(infoid) {
card
:
findUserData
.
data
.
card
,
phone
:
findUserData
.
data
.
phone
,
score
,
time
:
moment
(
new
Date
()
).
format
(
"YYYY年MM月DD日HH时mm分"
),
time
:
moment
(
findUserData
.
data
.
test_date
).
format
(
"YYYY年MM月DD日HH时mm分"
),
report
:
optionsInfo
,
};
...
...
@@ -129,8 +132,8 @@ async function getChuangYe(infoid) {
* @returns
*/
async
function
getHuoLanDe
(
infoid
)
{
let
findUserData
=
await
selectOneDataByParam
(
TABLENAME
.
测试信息表
,
{
infoid
},
[]);
let
findData
=
await
selectDataListByParam
(
TABLENAME
.
测试信息记录表
,
{
infoid
},
[]);
let
findUserData
=
await
selectOneDataByParam
(
TABLENAME
.
测试信息表
,
{
infoid
,
test_type
:
1
},
[]);
let
findData
=
await
selectDataListByParam
(
TABLENAME
.
测试信息记录表
,
{
infoid
,
test_type
:
1
},
[]);
let
optionsInfo
=
{};
for
(
let
data
=
0
;
data
<
findData
.
data
.
length
;
data
++
)
{
...
...
@@ -182,17 +185,34 @@ async function getHuoLanDe(infoid) {
let
topThreeKeys
=
sortedEntries
.
slice
(
0
,
3
).
map
(
entry
=>
entry
[
0
]);
let
topThreeStr
=
topThreeKeys
.
join
(
""
);
let
findCareer
=
await
selectOneDataByParam
(
TABLENAME
.
职业对照表
,
{
statistics
:
topThreeStr
},
[]);
// let findCareer = await selectOneDataByParam(TABLENAME.职业对照表, {statistics:topThreeStr}, []);
let
selectParam
=
{
"%literal%"
:
``
};
topThreeKeys
.
forEach
(
info
=>
{
if
(
!
selectParam
[
"%literal%"
])
selectParam
[
"%literal%"
]
=
`statistics REGEXP '[
${
info
}
]' `
;
selectParam
[
"%literal%"
]
+=
`and statistics REGEXP '[
${
info
}
]' `
;
})
let
findCareer
=
await
selectDataListByParam
(
TABLENAME
.
职业对照表
,
selectParam
,
[]);
let
testReport
=
{
name
:
findUserData
.
data
.
name
,
card
:
findUserData
.
data
.
card
,
phone
:
findUserData
.
data
.
phone
,
time
:
moment
(
new
Date
()
).
format
(
"YYYY年MM月DD日HH时mm分"
),
time
:
moment
(
findUserData
.
data
.
test_date
).
format
(
"YYYY年MM月DD日HH时mm分"
),
report1
:
optionData
,
report2
:
countData
,
statistics
:
topThreeStr
,
recommend
:
findCareer
.
data
.
recommend
recommend
:
""
}
findCareer
.
data
.
forEach
(
info
=>
{
testReport
.
recommend
+=
info
.
recommend
;
})
if
(
!
testReport
.
recommend
)
{
for
(
let
i
=
0
;
i
<
topThreeStr
.
length
;
i
++
)
{
testReport
.
recommend
+=
HUOLANDE
[
topThreeStr
[
i
]];
}
}
return
testReport
;
...
...
@@ -212,15 +232,15 @@ export async function outPutData(card, createStartTime, createEndTime, area) {
let
selectParam
=
{
"name"
:{
"%ne%"
:
"362527199309194932"
},
"phone"
:{
"%ne%"
:
"17255558888"
}};
// let selectParam = {};
if
(
card
)
selectParam
[
"card"
]
=
card
;
if
(
createStartTime
&&
createEndTime
)
selectParam
[
"
create_tim
e"
]
=
{
"%between%"
:[
createStartTime
,
createEndTime
]};
if
(
createStartTime
&&
createEndTime
)
selectParam
[
"
test_dat
e"
]
=
{
"%between%"
:[
createStartTime
,
createEndTime
]};
if
(
area
)
selectParam
[
"area"
]
=
area
;
let
findData
=
await
selectDataListByParam
(
TABLENAME
.
测试信息表
,
selectParam
,
[
"infoid"
,
"name"
,
"card"
,
"phone"
,
"email"
,
"area"
,
"create_time"
,
"test_type"
]);
let
findData
=
await
selectDataListByParam
(
TABLENAME
.
测试信息表
,
selectParam
,
[
"infoid"
,
"name"
,
"card"
,
"phone"
,
"email"
,
"area"
,
"create_time"
,
"test_type"
,
"last_update_time"
,
"test_date"
]);
let
dataTitle
=
[
"姓名"
,
"身份证号"
,
"联系方式"
,
"电子邮箱"
,
"所属区域"
,
"测试日期"
,
"测评类型"
];
let
dataList
=
[
dataTitle
];
findData
.
data
.
forEach
(
info
=>
{
let
{
name
,
card
,
phone
,
email
,
area
,
create_time
,
test_type
}
=
info
;
let
createTime
=
moment
(
create_time
).
format
(
"YYYY-MM-DD
"
);
let
{
name
,
card
,
phone
,
email
,
area
,
create_time
,
test_type
,
last_update_time
,
test_date
}
=
info
;
let
createTime
=
moment
(
test_date
).
format
(
"YYYY-MM-DD HH:mm:ss
"
);
let
testType
=
changeEnumValue
(
TESTTYPE
,
test_type
);
let
subList
=
[
name
||
""
,
...
...
src/biz/huolande.ts
View file @
5e1bae8d
This diff is collapsed.
Click to expand it.
src/config/enum.ts
View file @
5e1bae8d
...
...
@@ -92,11 +92,6 @@ export enum QUESTIONTITLE {
/**
* 题型简称
*/
...
...
@@ -122,3 +117,18 @@ export enum HLDTYPE {
"C型常规型"
=
6
,
}
export
enum
HUOLANDE
{
R
=
"木匠、农民、操作X光的技师、工程师、飞机机械师、鱼类和野生动物专家、自动化技师、机械工(车工、钳工等)、电工、无线电报务员、火车司机、长途公共汽车司机、机械制图员、修理机器、电器师"
,
I
=
"气象学者、生物学者、天文学家、药剂师、动物学者、化学家、科学报刊编辑、地质学者、植物学者、物理学者、数学家、实验员、科研人员、科技作者"
,
A
=
"室内装饰专家、图书管理专家、摄影师、音乐教师、作家、演员、记者、诗人、作曲家、编剧、雕刻家、漫画家"
,
S
=
"社会学者、导游、福利机构工作者、咨询人员、社会工作者、社会科学教师、学校领导、精神病工作者、公共保健护士"
,
E
=
"推销员、进货员、商品批发员、旅馆经理、饭店经理、广告宣传员、调度员、律师、政治家、零售商"
,
C
=
"记账员、会计、银行出纳、法庭速记员、成本估算员、税务员、核算员、打字员、办公室职员、统计员、计算机操作员、秘书"
}
src/config/mysqlTableConfig.ts
View file @
5e1bae8d
...
...
@@ -114,6 +114,7 @@ export const TablesConfig = [
},
infoid
:
{
type
:
DataTypes
.
INTEGER
(
11
),
allowNull
:
false
},
//测试信息ID
chapter
:
{
type
:
DataTypes
.
TINYINT
(
2
),
allowNull
:
false
},
//章节 1.霍兰德(一、我感兴趣的活动)2.霍兰德(二、我能完成的活动)3.霍兰德(三、我喜欢的职业)4.霍兰德(四、我的能力类型简评A)5.霍兰德(四、我的能力类型简评B)
test_type
:
{
type
:
DataTypes
.
TINYINT
(
1
)},
//题目类型:1. 霍兰德
title_str
:
{
type
:
DataTypes
.
STRING
(
255
),
allowNull
:
false
},
//记录标题用逗号隔开
option_str
:
{
type
:
DataTypes
.
STRING
(
255
),
allowNull
:
false
},
//记录结果用逗号隔开
last_update_time
:
{
type
:
DataTypes
.
DATE
(
0
),
allowNull
:
false
},
//最后修改时间
...
...
@@ -137,6 +138,7 @@ export const TablesConfig = [
},
infoid
:
{
type
:
DataTypes
.
INTEGER
(
11
),
allowNull
:
false
},
//测试信息ID
chapter
:
{
type
:
DataTypes
.
TINYINT
(
2
),
allowNull
:
false
},
//章节 1.霍兰德(一、我感兴趣的活动)2.霍兰德(二、我能完成的活动)3.霍兰德(三、我喜欢的职业)4.霍兰德(四、我的能力类型简评A)5.霍兰德(四、我的能力类型简评B)
test_type
:
{
type
:
DataTypes
.
TINYINT
(
1
)},
//题目类型:1. 霍兰德
title_str
:
{
type
:
DataTypes
.
STRING
(
255
),
allowNull
:
false
},
//记录标题用逗号隔开
option_str
:
{
type
:
DataTypes
.
STRING
(
255
),
allowNull
:
false
},
//记录结果用逗号隔开
last_update_time
:
{
type
:
DataTypes
.
DATE
(
0
),
allowNull
:
false
},
//最后修改时间
...
...
src/routers/admin.ts
View file @
5e1bae8d
...
...
@@ -21,8 +21,8 @@ async function login(req, res) {
async
function
getUserList
(
req
,
res
)
{
let
{
card
,
createStartTime
,
createEndTime
,
area
,
current
}
=
req
.
body
;
let
result
=
await
adminBiz
.
getUserList
(
card
,
createStartTime
,
createEndTime
,
area
,
current
);
let
{
phone
,
createStartTime
,
createEndTime
,
current
}
=
req
.
body
;
let
result
=
await
adminBiz
.
getUserList
(
phone
,
createStartTime
,
createEndTime
,
current
);
res
.
success
(
result
);
}
...
...
src/routers/huolande.ts
View file @
5e1bae8d
...
...
@@ -16,8 +16,8 @@ export function setRouter(httpServer){
async
function
addUsers
(
req
,
res
)
{
let
{
testType
,
name
,
card
,
phone
,
email
,
area
}
=
req
.
body
;
let
result
=
await
huolandeBiz
.
addUsers
(
testType
,
name
,
card
,
phone
,
area
,
email
);
let
{
testType
,
name
,
card
,
phone
}
=
req
.
body
;
let
result
=
await
huolandeBiz
.
addUsers
(
testType
,
name
,
phone
,
card
);
res
.
success
(
result
);
}
...
...
@@ -29,8 +29,8 @@ async function getArea(req, res) {
async
function
getQuestion
(
req
,
res
)
{
let
{
testType
,
chapter
,
isTest
}
=
req
.
body
;
let
result
=
await
huolandeBiz
.
getQuestion
(
testType
,
chapter
,
isTest
);
let
{
testType
,
chapter
,
isTest
,
isPrevious
}
=
req
.
body
;
let
result
=
await
huolandeBiz
.
getQuestion
(
testType
,
chapter
,
isTest
,
isPrevious
);
res
.
success
(
result
);
}
...
...
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