Commit 8ba00365 by lixinming

no message

parent 70da4785
//数据导入
import { getCityCodeByName } from "../config/cityConfig";
import { DOCUMENTTYPE, NATION, SEX, PROFCATEGORY, MEMBERTYPE, STATE, INDIVIDUALMEMBERTYPE, REGISTERFLOW, CERTIFICATETYPE, USERREGISTERSTATE } from "../config/enum";
import { addManyData } from "../data/add";
import { TABLEENUM } from "../data/models/model";
import { generateToken, generateUserId } from "../tools/system";
import { onceSheetBecomeOfblockData } from "../util/analysisExcel";
export async function inputData() {
let data:any = await onceSheetBecomeOfblockData('20240517.xlsx', 'Sheet1');
let changeMap = {
"2":"name",
"3":{value:"sex", enumConf:SEX},
"4":{value:"documentType", enumConf:DOCUMENTTYPE},
"5":"documentId",
"7":"unitName",
"9":{value:"nation", enumConf:NATION},
"10":"duties",
"11":{value:"sheng", addConf:"sheng"},
"12":{value:"shi", addConf:"shi"},
"13":{value:"qu", addConf:"qu"},
"15":"addres",
// "16":"phone",//电话有缺失
"18":"mail",
"19":{value:"askForTime", ms:true},
"27":"workTitle",
"28":{value:"profCategory", enumConfs:PROFCATEGORY},
"29":"studyResume",
"30":"workResume",
"31":"profAchievement",
"32":"otherEMP",
"33":"otherPROF",
"44":"phone",
"42":"loginId"
};
let phoneDistinctMap = {};//电话去重
let loginIdDistinctMap = {};//登录号去重
let addList = [];
data[0].blockData.forEach((subList, index) => {
if (!index) return;
let addInfo:any = {};
for (let key in changeMap) {
let changeIndex = parseInt(key);
let dataKeyInfo = changeMap[key];
let dataKey = "";
let dataValue = subList[changeIndex];
if (typeof dataKeyInfo == "string") {
dataKey = dataKeyInfo;
dataValue = subList[changeIndex] || "";
}
else {
dataKey = dataKeyInfo.value;
if (dataKeyInfo.enumConf) {
let itemdataValue = dataKeyInfo.enumConf[dataValue];
if (!itemdataValue) console.log("异常,001", subList[2], key,dataKey, dataValue);
else dataValue = itemdataValue;
}
if (dataKeyInfo.addConf) {
let itemdataValue = getCityCodeByName(dataValue);
if (!itemdataValue) console.log("异常,002", subList[2], key, dataKey,dataValue);
else dataValue = itemdataValue;
}
if (dataKeyInfo.enumConfs) {
let itemdataValue = dataValue.split(",");
let itemList = [];
itemdataValue.forEach(item => {
if (item && item != " ") {
let itemdataValue = dataKeyInfo.enumConfs[item];
if (!itemdataValue) console.log("异常,003", subList[2], key, dataKey, item);
else itemList.push(itemdataValue);
}
});
dataValue = itemList;
}
if (dataKeyInfo.ms) {
dataValue = new Date(dataValue).valueOf();
}
}
addInfo[dataKey] = dataValue;
}
//**固定字段 */
addInfo.userId = generateUserId(addInfo.phone);
addInfo.memberType = MEMBERTYPE.个人会员;
addInfo.isAdmin = STATE.;
addInfo.pwd = "asdfasdfasdfsa";
addInfo.token = generateToken( addInfo.userId);
addInfo.individualMemberType = INDIVIDUALMEMBERTYPE.普通会员;
addInfo.registerFlow = REGISTERFLOW.完成第二步;
addInfo.isInput = true;
addInfo.userRegisterState = USERREGISTERSTATE.待审核;
addInfo.certificateType = CERTIFICATETYPE.普通会员证书
addInfo.isFirstPay = false;
if (phoneDistinctMap[addInfo.phone]) {
console.log("重复号码", phoneDistinctMap[addInfo.phone]);
}
if (phoneDistinctMap[addInfo.loginId]) {
console.log("重复loginId", phoneDistinctMap[addInfo.loginId]);
}
addList.push(addInfo);
});
await addManyData(TABLEENUM.用户表, addList);
console.log("数据导入成功");
}
......@@ -70,6 +70,8 @@ export async function updateAuthority({form, id}) {
if (userInfo.memberType == MEMBERTYPE.个人会员) {
eccEnumValue("变更权限", "单位、个人会员类别、级别", INDIVIDUALMEMBERTYPE, memberCategory);
updateInfo.individualMemberType = memberCategory;
updateInfo.certificateType = memberLevel; //CERTIFICATETYPE 会员等级(职务)变更 会员证书类型也要变更
} else {
eccEnumValue("变更权限", "单位、个人会员类别、级别", UNITMEMBERTYPE, memberCategory);
updateInfo.unitMemberType = memberCategory;
......
......@@ -7,7 +7,7 @@ import { CERTIFICATETYPE, DOCUMENTTYPE, EDUCATION, INDIVIDUALMEMBERTYPE, MEMBERL
import { ERRORENUM } from "../../config/errorEnum";
import { addManyData } from "../../data/add";
import { TABLEENUM } from "../../data/models/model";
import { find, findCount, findOnce, findOnceToSort, findToPage } from "../../data/select";
import { find, findCount, findOnce, findOnceToSort, findToPage, findToSortToPage } from "../../data/select";
import { updateOneData } from "../../data/update";
import { generateSystemId, getMenberNum, successResult } from "../../tools/system";
import { BizError } from "../../util/bizError";
......@@ -15,6 +15,7 @@ import { extractData } from "../../util/piecemeal";
import { changeEnumValue } from "../../util/verificationEnum";
import { createOrder } from "./order";
import { getCityNameByCode } from "../../config/cityConfig";
import { sendPassNotice } from "../sms";
/**
* 待审核列表 success
......@@ -64,7 +65,7 @@ export async function pendingReviewList({name, memberType, documentId, phone, ma
if (shi) selectParam.shi = shi;
const SelectFiles = ["userId", "userRegisterState", "unitName", "name", "loginId", "phone", "askForTime", "memberLevel", "sheng", "shi", "qu", "individualMemberType", "unitMemberType", "mail"];
let dbList = await findToPage(TABLEENUM.用户表, selectParam, SelectFiles, pageNumber);
let dbList = await findToSortToPage(TABLEENUM.用户表, selectParam, SelectFiles, {askForTime:-1}, pageNumber);
let dataCount = await findCount(TABLEENUM.用户表, selectParam);
let dataList = [];
......@@ -77,11 +78,17 @@ export async function pendingReviewList({name, memberType, documentId, phone, ma
item.sheng = getCityNameByCode(item.sheng);
item.shi = getCityNameByCode(item.shi);
item.qu = getCityNameByCode(item.qu);
if(item.individualMemberType) item.memberType = changeEnumValue(MEMBERTYPEECCENUM, info.individualMemberType);
if(item.unitMemberType) item.memberType = changeEnumValue(MEMBERTYPEECCENUM, info.unitMemberType);
if(item.individualMemberType) {
item.memberType = changeEnumValue(MEMBERTYPEECCENUM, info.individualMemberType);
}
if(item.unitMemberType) {
item.memberType = changeEnumValue(MEMBERTYPEECCENUM, info.unitMemberType);
}
//这一行代码是兼容老用户没有 individualMemberType
if (info.memberType == MEMBERTYPE.个人会员) item.memberType = "个人会员";
if (info.memberType == MEMBERTYPE.个人会员) {
item.memberType = "个人会员";
}
dataList.push(item);
});
......@@ -90,6 +97,7 @@ export async function pendingReviewList({name, memberType, documentId, phone, ma
}
/**
* 通过审核 success
* @param id 待审核列表返回的用户id
......@@ -151,6 +159,10 @@ export async function adopt({id, session}) {
};
await addManyData(TABLEENUM.审批历史表, addApprovalHistory);
//发送短信
let smsName = userInfo.memberType == MEMBERTYPE.个人会员 ? userInfo.name : userInfo.unitName;
await sendPassNotice(userInfo.phone, smsName);
return successResult();
}
......
......@@ -2,6 +2,7 @@
import { ERRORENUM } from "../config/errorEnum";
import { BizError } from "../util/bizError";
import { logError } from "../util/log";
// 依赖的模块可通过下载工程中的模块依赖文件或右上角的获取 SDK 依赖信息查看
const Dypnsapi20170525 = require('@alicloud/dypnsapi20170525');
......@@ -47,3 +48,23 @@ export async function sendALSMS(code:string, phone:string ) {
}
export async function sendPassNotice(phone:string, name:string) {
try {
/**先生成request */
let requstParam = new Dypnsapi20170525.SendSmsVerifyCodeRequest({
phoneNumber: phone,
signName: '中国艺术职业教育学会',
templateCode: 'SMS_467160001',
templateParam: `{"name":"${name}"}`,
// templateParam:code
});
//发起调用
let runtime = new Util.RuntimeOptions({});
const resp = await smsClient.sendSmsVerifyCodeWithOptions(requstParam, runtime);
} catch(err) {
logError("发送通知短信失败", err);
console.log("发送通知短信失败", err);
}
}
\ No newline at end of file
......@@ -15,6 +15,15 @@ export function eccCityCode(sheng, shi, qu) {
if ( !(quNum < (shiNum+100) && quNum > shiNum ) ) throw new BizError(ERRORENUM.地址数据错误);
return true;
}
/**只给导入数据用 */
export function getCityCodeByName(name) {
for (let code in chinaCityMap) {
let cityName = chinaCityMap[code];
if (cityName == name) return code
}
return ''
}
const chinaCityMap = {
"110000": "北京市",
"110100": "北京市",
......
import { inputData } from "./biz/dataInput";
import { initAdmin } from "./biz/member/rightsMgmt";
import { initSMS } from "./biz/sms";
import { initSystemTask } from "./biz/task";
......@@ -19,6 +20,7 @@ async function lanuch() {
await initSystemTask();
// await test1();
// await inputData(); 20240520日导入数据
console.log("服务初始化成功");
}
......
......@@ -39,8 +39,10 @@ export function generateToken(userId:string) {
/**
* 生成userid
*/
export function generateUserId() {
return md5(`${Math.random() * 100}${new Date().valueOf()}${Math.floor(Math.random() * 10000)}`);
export function generateUserId(phone?) {
let str = `${Math.random() * 100}${new Date().valueOf()}${Math.floor(Math.random() * 10000)}`;
if (phone) str += phone;
return md5(str);
}
/**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment