|
|
@@ -8,46 +8,73 @@ const crypto = require('crypto');
|
|
|
const XLSX = require('xlsx');
|
|
|
|
|
|
router.route('/user').post(async function (req, res) {
|
|
|
- const signUpData = [];
|
|
|
const reqData = req.body;
|
|
|
const uuid = crypto.randomUUID();
|
|
|
|
|
|
let userData = JSON.parse(reqData.user);
|
|
|
- await mysql.usselect([_mysqluser[0], _mysqluser[1], "select_registration_user", reqData.idCard], function (r) {
|
|
|
- console.log(r[0] && r[0] ,r[0].some(item => item['type'] == Number(reqData.type)));
|
|
|
+ await mysql.usselect([_mysqluser[0], _mysqluser[1], "select_registration_user", reqData.idCard], async function (r) {
|
|
|
+ console.log(r[0] && r[0], r[0].some(item => item['type'] == Number(reqData.type)));
|
|
|
if (r[0] && r[0].some(item => item['type'] == Number(reqData.type))) {
|
|
|
res.send({ status: 'error', message: '选手报名失败,选手身份证号已存在' });
|
|
|
} else {
|
|
|
- const insertUserPromises = userData.map(item => {
|
|
|
- return new Promise((resolve, reject) => {
|
|
|
- const userList = [];
|
|
|
- userList.unshift(_mysqluser[0], _mysqluser[1], "insert_registration_users", item.name, item.gender, item.ethnicity, item.birthdate, item.email, item.id_number, item.group, item.grade, item.school, item.schoolRegion, item.phone, uuid);
|
|
|
+ // const insertUserPromises = userData.map(item => {
|
|
|
+ // return new Promise((resolve, reject) => {
|
|
|
+ // const userList = [];
|
|
|
+ // userList.unshift(_mysqluser[0], _mysqluser[1], "insert_registration_users", item.name, item.gender, item.ethnicity, item.birthdate, item.email, item.id_number, item.group, item.grade, item.school, item.schoolRegion, item.phone, uuid);
|
|
|
+ // mysql.usselect(userList, function (data) {
|
|
|
+ // // 可以根据 data 判断是否插入成功
|
|
|
+ // console.log("insert_registration_users", data);
|
|
|
+ // if (data != 0) {
|
|
|
+ // resolve(data);
|
|
|
+ // } else {
|
|
|
+ // reject(data);
|
|
|
+ // }
|
|
|
+ // });
|
|
|
+ // });
|
|
|
+ // });
|
|
|
+ // signUpData.unshift(_mysqluser[0], _mysqluser[1], "insert_registrations", reqData.uploadUrl, "", reqData.type, reqData.idCard);
|
|
|
+ // Promise.all(insertUserPromises).then(() => {
|
|
|
+ // // 所有用户插入完成后再插入报名数据
|
|
|
+ // mysql.usselect(signUpData, function (data) {
|
|
|
+ // if (data != 0) {
|
|
|
+ // res.send({ status: 'ok', message: '选手报名成功' });
|
|
|
+ // } else {
|
|
|
+ // res.send({ status: 'error', message: '选手报名失败' });
|
|
|
+ // }
|
|
|
+ // });
|
|
|
+ // }).catch(error => {
|
|
|
+ // console.error("error", error);
|
|
|
+ // res.send({ status: 'error', message: '选手报名失败,选手身份证号已存在' });
|
|
|
+ // });
|
|
|
+
|
|
|
+
|
|
|
+ for (const item of userData) {
|
|
|
+ const userList = [_mysqluser[0], _mysqluser[1], "insert_registration_users", item.name, item.gender, item.ethnicity, item.birthdate, item.email, item.id_number, item.group, item.grade, item.school, item.schoolRegion, item.phone, uuid]
|
|
|
+ await new Promise((resolve, reject) => {
|
|
|
mysql.usselect(userList, function (data) {
|
|
|
// 可以根据 data 判断是否插入成功
|
|
|
- console.log("insert_registration_users",data);
|
|
|
+ console.log("insert_registration_users", data);
|
|
|
if (data != 0) {
|
|
|
resolve(data);
|
|
|
} else {
|
|
|
+ res.send({ status: 'error', message: '选手报名失败' });
|
|
|
reject(data);
|
|
|
}
|
|
|
});
|
|
|
});
|
|
|
- });
|
|
|
|
|
|
- signUpData.unshift(_mysqluser[0], _mysqluser[1], "insert_registrations", reqData.uploadUrl, "", reqData.type, reqData.idCard);
|
|
|
- Promise.all(insertUserPromises).then(() => {
|
|
|
- // 所有用户插入完成后再插入报名数据
|
|
|
- mysql.usselect(signUpData, function (data) {
|
|
|
- if (data != 0) {
|
|
|
- res.send({ status: 'ok', message: '选手报名成功' });
|
|
|
- } else {
|
|
|
- res.send({ status: 'error', message: '选手报名失败' });
|
|
|
- }
|
|
|
- });
|
|
|
- }).catch(error => {
|
|
|
- console.error("error", error);
|
|
|
- res.send({ status: 'error', message: '选手报名失败,选手身份证号已存在' });
|
|
|
+ }
|
|
|
+
|
|
|
+ const signUpData = [_mysqluser[0], _mysqluser[1], "insert_registrations", reqData.uploadUrl, "", reqData.type, reqData.idCard]
|
|
|
+ mysql.usselect(signUpData, function (data) {
|
|
|
+ if (data != 0) {
|
|
|
+ res.send({ status: 'ok', message: '选手报名成功' });
|
|
|
+ } else {
|
|
|
+ res.send({ status: 'error', message: '选手报名失败' });
|
|
|
+ }
|
|
|
});
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
})
|
|
|
|
|
|
@@ -77,10 +104,10 @@ router.route('/exportData').get(async function (req, res) {
|
|
|
dataList = data[0];
|
|
|
dataList = dataList.map(item => {
|
|
|
let user_group = ""
|
|
|
- if(item.type == 1){
|
|
|
- user_group = item.user_group == 1?"小学低龄":item.user_group == 2?"小学高龄":item.user_group == 3?"中学":"高校"
|
|
|
- }else{
|
|
|
- user_group = item.user_group == 1?"小学组(4-6年级)":item.user_group == 2?"初中组(7-9年级)":item.user_group == 3?"高中组(10-12年级,含中职)":"高校组(含高职)"
|
|
|
+ if (item.type == 1) {
|
|
|
+ user_group = item.user_group == 1 ? "小学低龄" : item.user_group == 2 ? "小学高龄" : item.user_group == 3 ? "中学" : "高校"
|
|
|
+ } else {
|
|
|
+ user_group = item.user_group == 1 ? "小学组(4-6年级)" : item.user_group == 2 ? "初中组(7-9年级)" : item.user_group == 3 ? "高中组(10-12年级,含中职)" : "高校组(含高职)"
|
|
|
}
|
|
|
return {
|
|
|
小组id: item.user_groupid,
|