Commit 1f57586b by lixinming

Merge branch 'master' of http://123.207.147.179:8888/node_server/wenHuaBu_adminServer

# Conflicts:
#	src/biz/member/examine.ts
parents 82377720 704a4338
No preview for this file type
...@@ -3,9 +3,9 @@ ...@@ -3,9 +3,9 @@
*/ */
import moment = require("moment"); import moment = require("moment");
import { BANXUELEIXING, CERTIFICATETYPE, DOCUMENTTYPE, INDIVIDUALMEMBERTYPE, MEMBERLEVEL, MEMBERSTATE, MEMBERTYPE, STATE, USERREGISTERSTATE } from "../config/enum"; import { BANXUELEIXING, CERTIFICATETYPE, DOCUMENTTYPE, EDUCATION, INDIVIDUALMEMBERTYPE, MEMBERLEVEL, MEMBERSTATE, MEMBERTYPE, NATION, PROFCATEGORY, SEX, STATE, USERREGISTERSTATE } from "../config/enum";
import { TABLEENUM } from "../data/models/model"; import { TABLEENUM } from "../data/models/model";
import { find, findOnce } from "../data/select"; import { find, findOnce, findOnceToSort } from "../data/select";
import { updateOneData } from "../data/update"; import { updateOneData } from "../data/update";
import { BizError } from "../util/bizError"; import { BizError } from "../util/bizError";
import { changeEnumValue } from "../util/verificationEnum"; import { changeEnumValue } from "../util/verificationEnum";
...@@ -110,7 +110,7 @@ export function getData() { ...@@ -110,7 +110,7 @@ export function getData() {
// 遍历新会员数据,与旧会员数据进行匹配 // 遍历新会员数据,与旧会员数据进行匹配
newMembers.forEach(newMember => { newMembers.forEach(newMember => {
const match = lodash.find(oldMembers, oldMember => { const match = lodash.find(oldMembers, oldMember => {
return oldMember['会员单位名称/姓名'] === newMember['姓名']; return oldMember['证件号码'] === newMember['证件号码'];
}); });
if (match) { if (match) {
...@@ -130,8 +130,8 @@ export function getData() { ...@@ -130,8 +130,8 @@ export function getData() {
) { ) {
mismatchesMail.push({ mismatchesMail.push({
姓名: newMember['姓名'], 姓名: newMember['姓名'],
// 导入身份证号码: match['证件号码'], 数据库身份证号码: newMember['证件号码'],
// 数据库身份证号码: newMember['证件号码'], 财务表身份证号码: match['证件号码'],
邮箱: newMember['邮箱'], 邮箱: newMember['邮箱'],
注册邮箱: match['注册邮箱'], 注册邮箱: match['注册邮箱'],
发票邮箱: match['发票邮箱'], 发票邮箱: match['发票邮箱'],
...@@ -251,8 +251,6 @@ function getExcel(filePath) { ...@@ -251,8 +251,6 @@ function getExcel(filePath) {
} }
/** /**
* 核对后修改身份证 * 核对后修改身份证
*/ */
...@@ -307,8 +305,80 @@ export async function changeDB() { ...@@ -307,8 +305,80 @@ export async function changeDB() {
} }
/**
* 导出个人会员数据
* @param param0
*/
export async function outPutMember() {
let selectParam = {
isAdmin:STATE.,
memberType: MEMBERTYPE.个人会员,
// userRegisterState: USERREGISTERSTATE.通过
};
let selectTitle = ["序号", "入会时间", "用户名", "联系电话", "邮箱", "真实姓名", "证件号码", "发票邮箱"];
let selectConf = ["joinTime", "loginId", "phone", "mail", "name", "documentId", "invoiceMail"];
// let selectTitle = ["序号"];
// let selectConf = [];
// exportColumns.forEach( info=> {
// if (info.key == "省市区") {
// selectTitle.push("省", "市", "区");
// selectConf.push("sheng", "shi", "qu");
// } else {
// selectTitle.push(info.key);
// selectConf.push(info.value);
// }
// })
let dbList = await find(TABLEENUM.用户表, selectParam, []);
let timeChnageList = ["joinTime", "birth"];
let addList = ["sheng", "shi", "qu"];
let dataList = [selectTitle];
for (let i = 0; i < dbList.length; i++) {
let info = dbList[i];
let orderInfo = await findOnceToSort(TABLEENUM.订单表, {userId: info.userId}, {orderCycleStart:-1}, ["invoiceMail"]);
let subList = [ (i+1).toString() ];
for (let i = 0; i < selectConf.length; i++) {
let key = selectConf[i];
let value = info[key] || "";
if (value) {
if (timeChnageList.indexOf(key) != -1) value = moment(value).format("YYYY-MM-DD");
else if (key == "invoiceMail") value = orderInfo.invoiceMail;
else if (key == "isInput" || key == "isGracePeriod") value = value == true ? "是" : "否";
else if (key == "memberState") value = changeEnumValue(MEMBERSTATE, value);
else if (key == "certificateType") value = changeEnumValue(CERTIFICATETYPE, value);
else if (key == "individualMemberType") value = changeEnumValue(INDIVIDUALMEMBERTYPE, value);
else if (key == "memberLevel") value = changeEnumValue(MEMBERLEVEL, value);
else if (key == "sex") value = changeEnumValue(SEX, value);
else if (key == "documentType") value = changeEnumValue(DOCUMENTTYPE, value);
else if (key == "nation") value = changeEnumValue(NATION, value);
else if (key == "education") value = changeEnumValue(EDUCATION, value);
else if (key == "yuanXiaoBanXueLeiXing") value = changeEnumValue(BANXUELEIXING, value);
else if (key == "session") value = getEdition(Math.floor(value/100), value%100 );
else if (key == "memberState") value = changeEnumValue(MEMBERSTATE, value);
else if (key == "profCategory") value = changeEnumValue(PROFCATEGORY, value);
else if (addList.indexOf(key) != -1) value = getCityNameByCode(value);
else if (key == "lableId") {
value = [];
let lableInfo = await find(TABLEENUM.标签表, {lableId:{"$in":info.lableId}}, ["lableName"]);
lableInfo.forEach ( lableItem => {
value.push(lableItem.lableName);
});
value = value.toString();
}
}
subList.push(value);
}
dataList.push(subList);
}
// 输出个人会员库的数据到Excel文件
writeExcel(dataList, '数据库-个人会员.xlsx');
console.log('数据已输出到 数据库-个人会员.xlsx');
// return {dataList};
}
......
//数据导入 //数据导入
import { getCityCodeByName } from "../config/cityConfig"; import { getCityCodeByName } from "../config/cityConfig";
import { DOCUMENTTYPE, NATION, SEX, PROFCATEGORY, MEMBERTYPE, STATE, INDIVIDUALMEMBERTYPE, REGISTERFLOW, CERTIFICATETYPE, USERREGISTERSTATE } from "../config/enum"; import { DOCUMENTTYPE, NATION, SEX, PROFCATEGORY, MEMBERTYPE, STATE, INDIVIDUALMEMBERTYPE, REGISTERFLOW, CERTIFICATETYPE, USERREGISTERSTATE, UNITMEMBERTYPE } from "../config/enum";
import { addManyData } from "../data/add"; import { addManyData } from "../data/add";
import { TABLEENUM } from "../data/models/model"; import { TABLEENUM } from "../data/models/model";
import { generateToken, generateUserId } from "../tools/system"; import { generateToken, generateUserId } from "../tools/system";
...@@ -142,6 +142,106 @@ export async function inputData() { ...@@ -142,6 +142,106 @@ export async function inputData() {
export async function inputUnitData() {
let data:any = await onceSheetBecomeOfblockData('ass_company.xls', '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 = UNITMEMBERTYPE.院校;
addInfo.unitMemberType = UNITMEMBERTYPE.院校;
addInfo.registerFlow = REGISTERFLOW.完成第三步;
addInfo.isInput = true;
addInfo.userRegisterState = USERREGISTERSTATE.待审核;
addInfo.certificateType = CERTIFICATETYPE.常务理事证书
addInfo.isFirstPay = false;
addList.push(addInfo);
});
await addManyData(TABLEENUM.用户表, addList);
console.log("数据导入成功");
}
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
*/ */
import moment = require("moment"); import moment = require("moment");
import { BANXUELEIXING, CERTIFICATETYPE, CHANGEAPPLYTYPE, CLIENTMSGLABLE, INDIVIDUALMEMBERTYPE, INFOCHANGEAPPLYTYPE, MAILTYPE, MEMBERLEVEL, MEMBERSTATE, MEMBERTYPE, STATE, UNITMEMBERTYPE } from "../../config/enum"; import { BANXUELEIXING, CERTIFICATETYPE, CHANGEAPPLYTYPE, CLIENTMSGLABLE, INDIVIDUALMEMBERTYPE, INFOCHANGEAPPLYTYPE, MAILTYPE, MEMBERLEVEL, MEMBERSTATE, MEMBERTYPE, MEMBERTYPEECCENUM, STATE, UNITMEMBERTYPE } from "../../config/enum";
import { TABLEENUM } from "../../data/models/model"; import { TABLEENUM } from "../../data/models/model";
import { find, findCount, findOnce, findOnceToSort, findToPage, findToSort, findToSortToPage } from "../../data/select"; import { find, findCount, findOnce, findOnceToSort, findToPage, findToSort, findToSortToPage } from "../../data/select";
import { extractData } from "../../util/piecemeal"; import { extractData } from "../../util/piecemeal";
...@@ -54,13 +54,15 @@ export async function applyList({name, joinStartTime, joinEndTime, memberCategor ...@@ -54,13 +54,15 @@ export async function applyList({name, joinStartTime, joinEndTime, memberCategor
if (memberLevel && memberLevel.length) selectParam.applyMemberLevel = {"$in":memberLevel}; if (memberLevel && memberLevel.length) selectParam.applyMemberLevel = {"$in":memberLevel};
if (beforeChange && beforeChange.length) selectParam.beforeChange = {"$in":beforeChange}; if (beforeChange && beforeChange.length) selectParam.beforeChange = {"$in":beforeChange};
let selectConf = ["userId", "applyId", "changeApplyType", "unitName", "name", "beforeChange", "applyMemberLevel", "applyStr", "applyApplicationTime", "applyReviewTime", "individualMemberType", "unitMemberType", "memberType"]; let selectConf = ["userId", "applyId", "changeApplyType", "unitName", "name", "beforeChange", "applyMemberLevel", "applyStr", "applyApplicationTime",
"applyReviewTime", "individualMemberType", "unitMemberType", "memberType", "memberLevel"];
let dbList = await findToSortToPage(TABLEENUM.用户表, selectParam, selectConf, {applyApplicationTime:-1}, pageNumber, pageSize); let dbList = await findToSortToPage(TABLEENUM.用户表, selectParam, selectConf, {applyApplicationTime:-1}, pageNumber, pageSize);
let dataCount = await findCount(TABLEENUM.用户表, selectParam); let dataCount = await findCount(TABLEENUM.用户表, selectParam);
let dataList = []; let dataList = [];
let itemConf = ["userId", "applyId", "changeApplyType", "unitName", "name", "beforeChange", "applyMemberLevel", "applyStr", "applyApplicationTime", "applyReviewTime", "memberType"]; let itemConf = ["userId", "applyId", "changeApplyType", "unitName", "name", "beforeChange", "applyMemberLevel", "applyStr", "applyApplicationTime",
"applyReviewTime", "memberType"];
for (let i = 0; i < dbList.length; i++) { for (let i = 0; i < dbList.length; i++) {
let info = dbList[i]; let info = dbList[i];
let item:any = extractData(info, itemConf); let item:any = extractData(info, itemConf);
...@@ -73,14 +75,17 @@ export async function applyList({name, joinStartTime, joinEndTime, memberCategor ...@@ -73,14 +75,17 @@ export async function applyList({name, joinStartTime, joinEndTime, memberCategor
if (!item.beforeChange) item.beforeChange = "未选择"; if (!item.beforeChange) item.beforeChange = "未选择";
else item.beforeChange = changeEnumValue(MEMBERLEVEL, item.beforeChange) else item.beforeChange = changeEnumValue(MEMBERLEVEL, item.beforeChange)
// MEMBERTYPEECCENUM // MEMBERTYPEECCENUM
let memberCategory = ""; let memberCategory = changeEnumValue(MEMBERLEVEL, info.memberLevel);//会员类别/级别
item.memberCategory = `${memberCategory}-${applyMemberLevel}`;
let memberType = "";
if (info.memberType == MEMBERTYPE.个人会员) { if (info.memberType == MEMBERTYPE.个人会员) {
memberCategory = changeEnumValue(INDIVIDUALMEMBERTYPE, info.individualMemberType);//会员类别/级别 memberType = changeEnumValue(INDIVIDUALMEMBERTYPE, info.individualMemberType);//会员类别/级别
} }
else{ else{
memberCategory = changeEnumValue(UNITMEMBERTYPE, info.unitMemberType);//会员类别/级别 memberType = changeEnumValue(UNITMEMBERTYPE, info.unitMemberType);//会员类别/级别
} }
item.memberCategory = `${memberCategory}${applyMemberLevel}`;
item.applyApplicationTime = moment(item.applyApplicationTime).format("YYYY-MM-DD"); item.applyApplicationTime = moment(item.applyApplicationTime).format("YYYY-MM-DD");
item.applyReviewTime = item.applyReviewTime ? moment(item.applyReviewTime).format("YYYY-MM-DD") : '-'; item.applyReviewTime = item.applyReviewTime ? moment(item.applyReviewTime).format("YYYY-MM-DD") : '-';
...@@ -367,22 +372,164 @@ export async function outPutApply() { ...@@ -367,22 +372,164 @@ export async function outPutApply() {
* @param legalPerson 法人代表 * @param legalPerson 法人代表
* @param legalPersonPhone 法人联系电话 * @param legalPersonPhone 法人联系电话
* @param legalPersonMail 法人邮箱 * @param legalPersonMail 法人邮箱
* @returns 弃用 改为资料变更前后都能搜索列表
*/
// export async function infomationChangeList({name, changeState, unitMemberType, uscc, legalPerson, legalPersonPhone, legalPersonMail, pageSize, pageNumber}) {
// let selectParam:any = {memberType:MEMBERTYPE.单位会员, infoChangeId:{"$ne":null}};
// let selectHistoryParam:any = {}
// if (name) {
// selectParam.unitName = {"$regex":name}
// }
// if (changeState) {
// selectParam.infoChangeOptionType = changeState;
// }
// if (unitMemberType) {
// selectParam
// }
// let dbList = await findToSortToPage(TABLEENUM.用户表, selectParam, ["userId", "memberType", "userId", "unitName", "infoChangeId", "uscc", "legalPerson", "unitMemberType", "yuanXiaoBanXueLeiXing"], {infoChangeMs:-1}, pageNumber, pageSize);
// let dataCount = await findCount(TABLEENUM.用户表, selectParam);
// let dataList = [];
// for (let i = 0; i < dbList.length; i++) {
// let info = dbList[i];
// let itemFileList = ["unitName","uscc", "legalPerson", "yuanXiaoBanXueLeiXing", "unitMemberType", "uusinessLicenseUrl", "applicationForm", "desc", "rejectRemarks", "infoChangeOptionType", "infoChangeId", "yuanXiaoBanXueLeiXing", "legalPersonMail", "legalPersonPhone"];
// let logInfo = await findOnceToSort(TABLEENUM.资料变更审批历史表, {infoChangeId:info.infoChangeId}, {createTimeMs:-1}, itemFileList);
// let yuanXiaoBanXueLeiXing= logInfo.yuanXiaoBanXueLeiXing || info.yuanXiaoBanXueLeiXing;
// let item = {
// infoChangeOptionType:changeEnumValue(INFOCHANGEAPPLYTYPE, logInfo.infoChangeOptionType),
// infoChangeId:info.infoChangeId,
// unitName:logInfo.unitName,
// uscc:logInfo.uscc,
// legalPerson:logInfo.legalPerson,
// unitMemberType:changeEnumValue(UNITMEMBERTYPE, logInfo.unitMemberType),
// uusinessLicenseUrl:logInfo.uusinessLicenseUrl,
// applicationForm:logInfo.applicationForm,
// yuanXiaoBanXueLeiXing:changeEnumValue(BANXUELEIXING, yuanXiaoBanXueLeiXing),
// desc:logInfo.desc,
// unitNameChange:false,
// usccChange:false,
// unitMemberTypeChange:false,
// legalPersonChange:false,
// yuanXiaoBanXueLeiXingChange:false,
// memberType:changeEnumValue(MEMBERTYPE, info.memberType),
// userId:info.userId,
// legalPersonMail:logInfo.legalPersonMail || '',
// legalPersonPhone:logInfo.legalPersonPhone || '',
// legalPersonMailChange:false,
// legalPersonPhoneChange:false,
// rejectRemarks:logInfo.rejectRemarks || ""
// };
// if (logInfo.unitName != info.unitName) item.unitNameChange = true;
// if (logInfo.uscc != info.uscc) item.usccChange = true;
// if (logInfo.unitMemberType != info.unitMemberType) item.unitMemberTypeChange = true;
// if (logInfo.legalPerson != info.legalPerson) item.legalPersonChange = true;
// if (logInfo.yuanXiaoBanXueLeiXing != info.yuanXiaoBanXueLeiXing) item.yuanXiaoBanXueLeiXingChange = true;
// if (logInfo.legalPersonMail != info.legalPersonMail) item.legalPersonMailChange = true;
// if (logInfo.legalPersonPhone != info.legalPersonPhone) item.legalPersonPhoneChange = true;
// if (item.infoChangeOptionType == "驳回修改") item.infoChangeOptionType = "已驳回"; // 2025.02.25【驳回修改】文字修改为【已驳回】
// dataList.push(item);
// }
// return {dataList, dataCount};
// }
/**
* 资料审批列表 success
* @param name 名称关键词
* @param changeState 审核状态
* @param unitMemberType 会员类别
* @param uscc 统一信用代码
* @param legalPerson 法人代表
* @param legalPersonPhone 法人联系电话
* @param legalPersonMail 法人邮箱
* @returns * @returns
*/ */
export async function infomationChangeList({name, changeState, unitMemberType, uscc, legalPerson, legalPersonPhone, legalPersonMail, pageSize, pageNumber}) { export async function infomationChangeList({name, changeState, unitMemberType, uscc, legalPerson, legalPersonPhone, legalPersonMail, pageSize, pageNumber}) {
let selectParam:any = {memberType:MEMBERTYPE.单位会员, infoChangeId:{"$ne":null}}; let selectParam:any = {memberType:MEMBERTYPE.单位会员, infoChangeId:{"$ne":null}};
let selectHistoryParam:any = {} if (name || changeState || unitMemberType.length || uscc || legalPerson || legalPersonPhone || legalPersonMail) selectParam["$or"] = [];
if (name) { if (name) {
selectParam.unitName = {"$regex":name} selectParam["$or"].push({unitName:{"$regex":name}});
} }
if (changeState) { if (changeState) {
selectParam.infoChangeOptionType = changeState; selectParam["$or"].push({infoChangeOptionType:changeState});
// selectParam.infoChangeOptionType = changeState;
} }
if (unitMemberType.length) {
if (unitMemberType) { selectParam["$or"].push({unitMemberType:{"$in":unitMemberType}});
selectParam // selectParam.unitMemberType = {"$in":unitMemberType};
}
if (uscc) {
selectParam["$or"].push({uscc});
// selectParam.uscc = uscc;
}
if (legalPerson) {
selectParam["$or"].push({legalPerson:{"$regex":legalPerson}});
// selectParam.legalPerson = {"$regex":legalPerson};
}
if (legalPersonPhone) {
selectParam["$or"].push({legalPersonPhone})
// selectParam.legalPersonPhone = legalPersonPhone;
}
if (legalPersonMail) {
selectParam["$or"].push({legalPersonMail})
// selectParam.legalPersonMail = legalPersonMail;
} }
let selectHistoryParam:any = {};
let isSelectHistory = false;
if (name) {
selectHistoryParam.unitName = {"$regex":name};
isSelectHistory = true;
}
if (changeState) {
selectHistoryParam.infoChangeOptionType = changeState;
isSelectHistory = true;
}
if (unitMemberType.length) {
selectHistoryParam.unitMemberType = {"$in":unitMemberType};
isSelectHistory = true;
}
if (uscc) {
selectHistoryParam.uscc = uscc;
isSelectHistory = true;
}
if (legalPerson) {
selectHistoryParam.legalPerson = {"$regex":legalPerson};
isSelectHistory = true;
}
if (legalPersonPhone) {
selectHistoryParam.legalPersonPhone = legalPersonPhone;
isSelectHistory = true;
}
if (legalPersonMail) {
selectHistoryParam.legalPersonMail = legalPersonMail;
isSelectHistory = true;
}
let checkHistoryDataList = [];
if (isSelectHistory) {
checkHistoryDataList.push("0");
let dbHistoryList = await findToSort(TABLEENUM.资料变更审批历史表, selectHistoryParam, {createTimeMs:-1}, []);
dbHistoryList.forEach(key => {
checkHistoryDataList.push(key.userId);
});
}
if (checkHistoryDataList.length) {
// 去除数组userId重复项
let uniqueList = checkHistoryDataList.filter((item, index) =>
checkHistoryDataList.indexOf(item) === index
);
selectParam["$or"].push({userId:{"$in":uniqueList}})
// selectParam.userId = {"$in":uniqueList}
}
let dbList = await findToSortToPage(TABLEENUM.用户表, selectParam, ["userId", "memberType", "userId", "unitName", "infoChangeId", "uscc", "legalPerson", "unitMemberType", "yuanXiaoBanXueLeiXing"], {infoChangeMs:-1}, pageNumber, pageSize); let dbList = await findToSortToPage(TABLEENUM.用户表, selectParam, ["userId", "memberType", "userId", "unitName", "infoChangeId", "uscc", "legalPerson", "unitMemberType", "yuanXiaoBanXueLeiXing"], {infoChangeMs:-1}, pageNumber, pageSize);
let dataCount = await findCount(TABLEENUM.用户表, selectParam); let dataCount = await findCount(TABLEENUM.用户表, selectParam);
...@@ -398,7 +545,7 @@ export async function infomationChangeList({name, changeState, unitMemberType, u ...@@ -398,7 +545,7 @@ export async function infomationChangeList({name, changeState, unitMemberType, u
unitName:logInfo.unitName, unitName:logInfo.unitName,
uscc:logInfo.uscc, uscc:logInfo.uscc,
legalPerson:logInfo.legalPerson, legalPerson:logInfo.legalPerson,
unitMemberType:changeEnumValue(UNITMEMBERTYPE, logInfo.unitMemberType), unitMemberType:changeEnumValue(MEMBERTYPEECCENUM, logInfo.unitMemberType),
uusinessLicenseUrl:logInfo.uusinessLicenseUrl, uusinessLicenseUrl:logInfo.uusinessLicenseUrl,
applicationForm:logInfo.applicationForm, applicationForm:logInfo.applicationForm,
yuanXiaoBanXueLeiXing:changeEnumValue(BANXUELEIXING, yuanXiaoBanXueLeiXing), yuanXiaoBanXueLeiXing:changeEnumValue(BANXUELEIXING, yuanXiaoBanXueLeiXing),
...@@ -431,6 +578,11 @@ export async function infomationChangeList({name, changeState, unitMemberType, u ...@@ -431,6 +578,11 @@ export async function infomationChangeList({name, changeState, unitMemberType, u
} }
/**
* 资料变更通过
* @param param0
* @returns
*/
export async function infomationChangePass({infoChangeId}) { export async function infomationChangePass({infoChangeId}) {
let selectParam:any = {infoChangeId}; let selectParam:any = {infoChangeId};
let fileList = ["userId","unitName", "uscc", "legalPerson", "unitMemberType", "uusinessLicenseUrl", "applicationForm", "desc", "rejectRemarks", "infoChangeOptionType", "infoChangeId", "legalPersonPhone", "legalPersonMail", "yuanXiaoBanXueLeiXing"]; let fileList = ["userId","unitName", "uscc", "legalPerson", "unitMemberType", "uusinessLicenseUrl", "applicationForm", "desc", "rejectRemarks", "infoChangeOptionType", "infoChangeId", "legalPersonPhone", "legalPersonMail", "yuanXiaoBanXueLeiXing"];
...@@ -442,7 +594,6 @@ export async function infomationChangePass({infoChangeId}) { ...@@ -442,7 +594,6 @@ export async function infomationChangePass({infoChangeId}) {
throw new BizError(ERRORENUM.不可重复提交); throw new BizError(ERRORENUM.不可重复提交);
} }
//添加日志 //添加日志
let applyInfo:any = { let applyInfo:any = {
infoChangeId, infoChangeId,
...@@ -483,6 +634,12 @@ export async function infomationChangePass({infoChangeId}) { ...@@ -483,6 +634,12 @@ export async function infomationChangePass({infoChangeId}) {
return successResult(); return successResult();
} }
/**
* 资料变更审批驳回
* @param param0
* @returns
*/
export async function infomationChangeOut({infoChangeId, rejectRemarks}) { export async function infomationChangeOut({infoChangeId, rejectRemarks}) {
let selectParam:any = {infoChangeId}; let selectParam:any = {infoChangeId};
let fileList = ["userId","unitName", "uscc", "legalPerson", "unitMemberType", "uusinessLicenseUrl", "applicationForm", "desc", "rejectRemarks", "infoChangeOptionType", "infoChangeId", "legalPersonPhone", "legalPersonMail", "yuanXiaoBanXueLeiXing"]; let fileList = ["userId","unitName", "uscc", "legalPerson", "unitMemberType", "uusinessLicenseUrl", "applicationForm", "desc", "rejectRemarks", "infoChangeOptionType", "infoChangeId", "legalPersonPhone", "legalPersonMail", "yuanXiaoBanXueLeiXing"];
...@@ -526,12 +683,21 @@ export async function infomationChangeOut({infoChangeId, rejectRemarks}) { ...@@ -526,12 +683,21 @@ export async function infomationChangeOut({infoChangeId, rejectRemarks}) {
return successResult(); return successResult();
} }
/**
* 资料变更审批历史
* @param param0
* @returns
*/
export async function infomationChangeLog({infoChangeId}) { export async function infomationChangeLog({infoChangeId}) {
let userInfo = await findOnce(TABLEENUM.用户表, {infoChangeId}, ["userId", "unitName", "uscc", "unitMemberType", "legalPerson", "yuanXiaoBanXueLeiXing", "legalPersonMail", "legalPersonPhone"]); let userInfo = await findOnce(TABLEENUM.用户表, {infoChangeId}, ["userId", "unitName", "uscc", "unitMemberType", "legalPerson", "yuanXiaoBanXueLeiXing", "legalPersonMail", "legalPersonPhone", "applicationForm"]);
if (!userInfo || !userInfo.userId) { if (!userInfo || !userInfo.userId) {
throw new BizError(ERRORENUM.不存在审批历史); throw new BizError(ERRORENUM.不存在审批历史);
} }
userInfo.yuanXiaoBanXueLeiXing = changeEnumValue(BANXUELEIXING, userInfo.yuanXiaoBanXueLeiXing);
let selectParam:any = {userId:userInfo.userId}; let selectParam:any = {userId:userInfo.userId};
let fileList = []; let fileList = [];
let dbList = await findToSort(TABLEENUM.资料变更审批历史表, selectParam, {createTimeMs:-1}, fileList); let dbList = await findToSort(TABLEENUM.资料变更审批历史表, selectParam, {createTimeMs:-1}, fileList);
...@@ -553,6 +719,7 @@ export async function infomationChangeLog({infoChangeId}) { ...@@ -553,6 +719,7 @@ export async function infomationChangeLog({infoChangeId}) {
desc = "通过"; desc = "通过";
infoChangeOptionType = "审核-通过"; infoChangeOptionType = "审核-通过";
} }
info.yuanXiaoBanXueLeiXing = changeEnumValue(BANXUELEIXING, info.yuanXiaoBanXueLeiXing);
// let updateInfoStr = "修改了:"; // let updateInfoStr = "修改了:";
// if (info.unitName != userInfo.unitName) updateInfoStr += "单位名称"; // if (info.unitName != userInfo.unitName) updateInfoStr += "单位名称";
...@@ -566,31 +733,37 @@ export async function infomationChangeLog({infoChangeId}) { ...@@ -566,31 +733,37 @@ export async function infomationChangeLog({infoChangeId}) {
let updateConf = { let updateConf = {
"unitName":"单位名称", "unitName":"单位名称",
"uscc":"统一信用代码", "uscc":"统一信用代码",
"unitMemberType":"单位类型",
"legalPerson":"法人代表", "legalPerson":"法人代表",
"yuanXiaoBanXueLeiXing":"办学类型", "legalPersonPhone":"法人联系电话",
"legalPersonMail":"法人联系邮箱", "legalPersonMail":"法人联系邮箱",
"legalPersonPhone":"法人联系电话" "unitMemberType":"单位类型",
"yuanXiaoBanXueLeiXing":"办学类型",
"uusinessLicenseUrl":"营业执照",
"applicationForm":"盖章申请表"
}; };
let updateAddress = ""; let updateAddress = "";
let updateInfo = [] let updateInfo = [];
let isFile = false;
for (let key in updateConf) { for (let key in updateConf) {
/**修改前 */ /**修改前 */
let updateBeforeInfoStr = "" let updateBeforeInfoStr = "";
/**修改后 */ /**修改后 */
let updateInfoStr = ""; let updateInfoStr = "";
if (info[key] != userInfo[key]) { if (info[key] != userInfo[key]) {
if (!userInfo[key]) updateBeforeInfoStr = "修改前:-"; /**修改前 */
else updateBeforeInfoStr = `修改前:${userInfo[key]}`; if (!userInfo[key]) updateBeforeInfoStr = "";
else updateBeforeInfoStr = `${userInfo[key]}`;
if (!info[key]) updateInfoStr = "修改后:-"; /**修改后 */
else updateInfoStr = `修改后:${info[key]}`; if (!info[key]) updateInfoStr = "";
else updateInfoStr = `${info[key]}`;
updateAddress += `${updateConf[key]}、`; updateAddress += `${updateConf[key]}、`;
if (key == "uusinessLicenseUrl" || key == "applicationForm") isFile = true;
updateInfo.push({ updateInfo.push({
updateBeforeInfoStr, //修改前 updateBeforeInfoStr, //修改前
updateInfoStr, //修改后 updateInfoStr, //修改后
updateAddress:updateConf[key] //修改位置 updateAddress:updateConf[key], //修改位置
isFile //是否文件类型
}); });
} }
} }
...@@ -604,7 +777,7 @@ export async function infomationChangeLog({infoChangeId}) { ...@@ -604,7 +777,7 @@ export async function infomationChangeLog({infoChangeId}) {
unitMemberType:changeEnumValue(UNITMEMBERTYPE, info.unitMemberType), unitMemberType:changeEnumValue(UNITMEMBERTYPE, info.unitMemberType),
uusinessLicenseUrl:info.uusinessLicenseUrl, uusinessLicenseUrl:info.uusinessLicenseUrl,
applicationForm:info.applicationForm, applicationForm:info.applicationForm,
yuanXiaoBanXueLeiXing:info.yuanXiaoBanXueLeiXing, yuanXiaoBanXueLeiXing:changeEnumValue(BANXUELEIXING, info.yuanXiaoBanXueLeiXing),
desc, desc,
time:moment(info.createTimeMs).format("YYYY-MM-DD HH:mm:SS"), time:moment(info.createTimeMs).format("YYYY-MM-DD HH:mm:SS"),
updateAddress: updateAddress.replace(/、([^]*)$/, "$1"), //去除末尾的、 updateAddress: updateAddress.replace(/、([^]*)$/, "$1"), //去除末尾的、
...@@ -618,6 +791,11 @@ export async function infomationChangeLog({infoChangeId}) { ...@@ -618,6 +791,11 @@ export async function infomationChangeLog({infoChangeId}) {
} }
/**
* 资料变更批量通过
* @param param0
* @returns
*/
export async function infomationChangeManyPass({infoChangeIdList}) { export async function infomationChangeManyPass({infoChangeIdList}) {
if (infoChangeIdList.length > 50) throw new BizError(ERRORENUM.批量操作超过个数限制); if (infoChangeIdList.length > 50) throw new BizError(ERRORENUM.批量操作超过个数限制);
for (let i = 0; i < infoChangeIdList.length; i++) { for (let i = 0; i < infoChangeIdList.length; i++) {
......
...@@ -36,11 +36,12 @@ export async function getAuthority({unitName, memberLevel, memberCategory, pageN ...@@ -36,11 +36,12 @@ export async function getAuthority({unitName, memberLevel, memberCategory, pageN
if ( memberCategory >= 9) selectParam.unitMemberType = memberCategory; if ( memberCategory >= 9) selectParam.unitMemberType = memberCategory;
else selectParam.individualMemberType = memberCategory; else selectParam.individualMemberType = memberCategory;
} }
const SelectFiles = ["userId", "memberState", "unitName", "name", "memberLevel", "memberType", "individualMemberType", "unitMemberType", "memberCategory", "name"]; const SelectFiles = ["userId", "memberState", "unitName", "name", "memberLevel", "memberType", "individualMemberType", "unitMemberType",
"memberCategory", "name", "phone", "mail"];
let dbList = await findToPage(TABLEENUM.用户表, selectParam, SelectFiles, pageNumber); let dbList = await findToPage(TABLEENUM.用户表, selectParam, SelectFiles, pageNumber);
let dataCount = await findCount(TABLEENUM.用户表, selectParam); let dataCount = await findCount(TABLEENUM.用户表, selectParam);
const ResultFiles = ["userId", "memberState", "memberLevel", "memberType", "unitName", "name"]; const ResultFiles = ["userId", "memberState", "memberLevel", "memberType", "unitName", "name", "phone", "mail"];
let dataList = []; let dataList = [];
dbList.forEach(info => { dbList.forEach(info => {
let item:any = extractData(info, ResultFiles); let item:any = extractData(info, ResultFiles);
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
*/ */
import moment = require("moment"); import moment = require("moment");
import { MEMBERLEVEL, MEMBERSTATE, MEMBERTYPE, STATE } from "../../config/enum"; import { MEMBERLEVEL, MEMBERSTATE, MEMBERTYPE, MEMBERTYPEECCENUM, STATE } from "../../config/enum";
import { TABLEENUM } from "../../data/models/model"; import { TABLEENUM } from "../../data/models/model";
import { findCount, findOnce, findToPage } from "../../data/select"; import { findCount, findOnce, findToPage } from "../../data/select";
import { extractData } from "../../util/piecemeal"; import { extractData } from "../../util/piecemeal";
...@@ -63,20 +63,27 @@ export async function blackList({name, joinStartTime, joinEndTime, memberType, m ...@@ -63,20 +63,27 @@ export async function blackList({name, joinStartTime, joinEndTime, memberType, m
if (qu) selectParam.qu = qu; if (qu) selectParam.qu = qu;
const SelectFiles = ["userId", "memberState", "loginId", "phone", "joinTime", "memberLevel", "sheng", "shi", "qu", "unitName", "name", "memberType"]; const SelectFiles = ["userId", "memberState", "loginId", "phone", "joinTime", "memberLevel", "sheng", "shi", "qu", "unitName", "name", "memberType"];
let dbList = await findToPage(TABLEENUM.用户表, selectParam, SelectFiles, pageNumber); let dbList = await findToPage(TABLEENUM.用户表, selectParam, [], pageNumber);
let dataCount = await findCount(TABLEENUM.用户表, selectParam); let dataCount = await findCount(TABLEENUM.用户表, selectParam);
const DataFiles = ["userId", "memberState", "loginId", "phone", "joinTime", "memberLevel", "sheng", "shi", "qu", "name", "memberType"]; const DataFiles = ["userId", "memberState", "unitName", "name", "loginId", "phone", "askForTime", "memberLevel", "sheng", "shi", "qu",
"individualMemberType", "unitMemberType", "memberType", "mail", "documentId"];
let dataList = []; let dataList = [];
dbList.forEach(info => { dbList.forEach(info => {
let item:any = extractData(info, DataFiles); let item:any = extractData(info, DataFiles);
if (info.memberType == MEMBERTYPE.单位会员) { // if (info.memberType == MEMBERTYPE.单位会员) {
item.name = info.unitName; // item.name = info.unitName;
// }
if(item.individualMemberType) {
item.memberType = changeEnumValue(MEMBERTYPEECCENUM, info.individualMemberType);
}
if(item.unitMemberType) {
item.memberType = changeEnumValue(MEMBERTYPEECCENUM, info.unitMemberType);
} }
item.memberState = changeEnumValue(MEMBERSTATE, item.memberState); item.memberState = changeEnumValue(MEMBERSTATE, item.memberState);
// item.memberType = changeEnumValue(MEMBERTYPE, item.memberType);
if (!item.memberLevel) item.memberLevel = "未选择"; if (!item.memberLevel) item.memberLevel = "未选择";
else item.memberLevel = changeEnumValue(MEMBERLEVEL, item.memberLevel); else item.memberLevel = changeEnumValue(MEMBERLEVEL, item.memberLevel);
item.memberType = changeEnumValue(MEMBERTYPE, item.memberType);
item.joinTime = moment(item.joinTime).format("YYYY-MM-DD"); item.joinTime = moment(item.joinTime).format("YYYY-MM-DD");
item.sheng = getCityNameByCode(item.sheng); item.sheng = getCityNameByCode(item.sheng);
item.shi = getCityNameByCode(item.shi); item.shi = getCityNameByCode(item.shi);
......
...@@ -3,13 +3,13 @@ ...@@ -3,13 +3,13 @@
*/ */
import moment = require("moment"); import moment = require("moment");
import { BANXUELEIXING, CERTIFICATETYPE, DOCUMENTTYPE, EDUCATION, INDIVIDUALMEMBERTYPE, LOGONSTATE, MAILTYPE, MEMBERLEVEL, MEMBERSTATE, MEMBERTYPE, MEMBERTYPEECCENUM, NATION, OPERATIONREHAVIOR, PAYMENTSTATUS, PROFCATEGORY, REGISTERFLOW, SEX, STATE, UNITMEMBERTYPE, USERREGISTERSTATE } from "../../config/enum"; import { BANXUELEIXING, CERTIFICATETYPE, DOCUMENTTYPE, EDUCATION, INDIVIDUALMEMBERTYPE, LOGONSTATE, MAILTYPE, MEMBERLEVEL, MEMBERSTATE, MEMBERTYPE, MEMBERTYPEECCENUM, NATION, OPERATIONREHAVIOR, PAYMENTSTATUS, PROFCATEGORY, REGISTERFLOW, REGISTERFLOWCLIENT, SEX, STATE, UNITMEMBERTYPE, USERREGISTERSTATE } from "../../config/enum";
import { ERRORENUM } from "../../config/errorEnum"; import { ERRORENUM } from "../../config/errorEnum";
import { addManyData } from "../../data/add"; import { addManyData, addOneData } from "../../data/add";
import { TABLEENUM } from "../../data/models/model"; import { TABLEENUM } from "../../data/models/model";
import { find, findCount, findOnce, findToSortToPage } from "../../data/select"; import { find, findCount, findOnce, findToSortToPage } from "../../data/select";
import { updateOneData } from "../../data/update"; import { updateOneData } from "../../data/update";
import { generateSystemId, getEdition, getMenberNum, getSessionByEdition, successResult } from "../../tools/system"; import { generateSystemId, getEdition, getMenberNum, getSessionByEdition, sessionToJoinTime, successResult } from "../../tools/system";
import { BizError } from "../../util/bizError"; import { BizError } from "../../util/bizError";
import { extractData } from "../../util/piecemeal"; import { extractData } from "../../util/piecemeal";
import { changeEnumValue } from "../../util/verificationEnum"; import { changeEnumValue } from "../../util/verificationEnum";
...@@ -60,7 +60,9 @@ export async function pendingReviewList({name, memberType, documentId, phone, ma ...@@ -60,7 +60,9 @@ export async function pendingReviewList({name, memberType, documentId, phone, ma
} }
// 获取枚举中不能转换为数字的键 然后计算过滤后剩余键的数量
let memberTypeLen = Object.keys(MEMBERTYPEECCENUM).filter(key => isNaN(Number(key))).length; let memberTypeLen = Object.keys(MEMBERTYPEECCENUM).filter(key => isNaN(Number(key))).length;
/**通过获取的数量判断前端参数是否 全选 或者 全不选*/
if (memberType.length == 0 || memberType.length == memberTypeLen) { if (memberType.length == 0 || memberType.length == memberTypeLen) {
if (!selectParam["$or"]) selectParam["$or"] = []; if (!selectParam["$or"]) selectParam["$or"] = [];
selectParam["$or"].push( selectParam["$or"].push(
...@@ -158,7 +160,9 @@ export async function submitDocument({name, memberType, documentId, phone, mail, ...@@ -158,7 +160,9 @@ export async function submitDocument({name, memberType, documentId, phone, mail,
]; ];
} }
// 获取枚举中不能转换为数字的键 然后计算过滤后剩余键的数量
let memberTypeLen = Object.keys(MEMBERTYPEECCENUM).filter(key => isNaN(Number(key))).length; let memberTypeLen = Object.keys(MEMBERTYPEECCENUM).filter(key => isNaN(Number(key))).length;
/**通过获取的数量判断前端参数是否 全选 或者 全不选*/
if (memberType.length == 0 || memberType.length == memberTypeLen) { if (memberType.length == 0 || memberType.length == memberTypeLen) {
if (!selectParam["$or"]) selectParam["$or"] = []; if (!selectParam["$or"]) selectParam["$or"] = [];
selectParam["$or"].push( selectParam["$or"].push(
...@@ -192,7 +196,7 @@ export async function submitDocument({name, memberType, documentId, phone, mail, ...@@ -192,7 +196,7 @@ export async function submitDocument({name, memberType, documentId, phone, mail,
if (mail) selectParam.mail = mail; if (mail) selectParam.mail = mail;
const SelectFiles = ["userId", "userRegisterState", "unitName", "name", "loginId", "phone", "askForTime", "memberLevel", const SelectFiles = ["userId", "userRegisterState", "unitName", "name", "loginId", "phone", "askForTime", "memberLevel",
"individualMemberType", "unitMemberType", "memberType", "mail", "sheng", "shi", "qu", "documentId"]; "individualMemberType", "unitMemberType", "memberType", "mail", "sheng", "shi", "qu", "documentId", "registerFlow"];
let dbList = await findToSortToPage(TABLEENUM.用户表, selectParam, SelectFiles, {askForTime:-1}, pageNumber, pageSize); let dbList = await findToSortToPage(TABLEENUM.用户表, selectParam, SelectFiles, {askForTime:-1}, pageNumber, pageSize);
let dataCount = await findCount(TABLEENUM.用户表, selectParam); let dataCount = await findCount(TABLEENUM.用户表, selectParam);
...@@ -200,22 +204,29 @@ export async function submitDocument({name, memberType, documentId, phone, mail, ...@@ -200,22 +204,29 @@ export async function submitDocument({name, memberType, documentId, phone, mail,
dbList.forEach(info => { dbList.forEach(info => {
let item:any = extractData(info, SelectFiles); let item:any = extractData(info, SelectFiles);
/**处理枚举值 */ /**处理枚举值 */
if (!item.userRegisterState) item.userRegisterState = USERREGISTERSTATE.待审核; // if (!item.userRegisterState) item.userRegisterState = USERREGISTERSTATE.待审核;
else item.userRegisterState = changeEnumValue(USERREGISTERSTATE, item.userRegisterState); // else item.userRegisterState = changeEnumValue(USERREGISTERSTATE, item.userRegisterState);
item.registerFlow = changeEnumValue(REGISTERFLOWCLIENT, item.registerFlow);
item.memberLevel = changeEnumValue(MEMBERLEVEL, item.memberLevel); item.memberLevel = changeEnumValue(MEMBERLEVEL, item.memberLevel);
item.sheng = getCityNameByCode(item.sheng); item.sheng = getCityNameByCode(item.sheng);
item.shi = getCityNameByCode(item.shi); item.shi = getCityNameByCode(item.shi);
item.qu = getCityNameByCode(item.qu); item.qu = getCityNameByCode(item.qu);
item.documentId = documentId || "-"
if(item.individualMemberType) { if(item.individualMemberType) {
item.memberType = changeEnumValue(MEMBERTYPEECCENUM, info.individualMemberType); item.memberType = changeEnumValue(MEMBERTYPEECCENUM, info.individualMemberType);
} else {
//这一行代码是兼容老用户没有 individualMemberType
if (info.memberType == MEMBERTYPE.个人会员) {
item.memberType = "个人会员";
}
} }
if(item.unitMemberType) { if(item.unitMemberType) {
item.memberType = changeEnumValue(MEMBERTYPEECCENUM, info.unitMemberType); item.memberType = changeEnumValue(MEMBERTYPEECCENUM, info.unitMemberType);
} } else {
//这一行代码是兼容老用户没有 unitMemberType
//这一行代码是兼容老用户没有 individualMemberType if (info.memberType == MEMBERTYPE.单位会员) {
if (info.memberType == MEMBERTYPE.个人会员) { item.memberType = "单位会员";
item.memberType = "个人会员"; }
} }
item.askForTime = item.askForTime || item.firstStep; item.askForTime = item.askForTime || item.firstStep;
...@@ -282,7 +293,9 @@ export async function rejectList({name, memberType, documentId, phone, mail, pag ...@@ -282,7 +293,9 @@ export async function rejectList({name, memberType, documentId, phone, mail, pag
]; ];
} }
// 获取枚举中不能转换为数字的键 然后计算过滤后剩余键的数量
let memberTypeLen = Object.keys(MEMBERTYPEECCENUM).filter(key => isNaN(Number(key))).length; let memberTypeLen = Object.keys(MEMBERTYPEECCENUM).filter(key => isNaN(Number(key))).length;
/**通过获取的数量判断前端参数是否 全选 或者 全不选*/
if (memberType.length == 0 || memberType.length == memberTypeLen) { if (memberType.length == 0 || memberType.length == memberTypeLen) {
if (!selectParam["$or"]) selectParam["$or"] = []; if (!selectParam["$or"]) selectParam["$or"] = [];
selectParam["$or"].push( selectParam["$or"].push(
...@@ -401,24 +414,18 @@ export async function adopt({id, session}) { ...@@ -401,24 +414,18 @@ export async function adopt({id, session}) {
const NowMs = thisDate.valueOf(); const NowMs = thisDate.valueOf();
let userCount = await findCount(TABLEENUM.用户表, {isAdmin:0, memberType:userInfo.memberType, userRegisterState:USERREGISTERSTATE.通过}); let userCount = await findCount(TABLEENUM.用户表, {isAdmin:0, memberType:userInfo.memberType, userRegisterState:USERREGISTERSTATE.通过});
let memberNum = getMenberNum(thisDate, userInfo.sheng, userCount, userInfo.memberType);
let joinTime = 0; let joinTime = await sessionToJoinTime(session, id);
let orderTimeMs = 0; let memberNum = getMenberNum(joinTime, userInfo.sheng, userCount, userInfo.memberType);
let sessionDate = getSessionByEdition(Math.floor(session/100),Math.floor(session%100)); // getSessionByEdition(Math.floor(session/100),Math.floor(session%100));
if (sessionDate) {
joinTime = sessionDate.timeMs;
} else {
joinTime = new Date().valueOf();
}
let updateInfo:any = { let updateInfo:any = {
auditTime:NowMs, auditTime:NowMs,
joinTime, joinTime,
userRegisterState:USERREGISTERSTATE.通过, userRegisterState:USERREGISTERSTATE.通过,
session:session, session:session,
paymentStatus:PAYMENTSTATUS.未支付, paymentStatus:PAYMENTSTATUS.未支付,
lifespanStartTime:NowMs, //这里有问题 lifespanStartTime:joinTime,
lifespanEndTime:NowMs + 1000, lifespanEndTime:joinTime + 1000,
memberLevel:MEMBERLEVEL.普通会员, memberLevel:MEMBERLEVEL.普通会员,
memberState:MEMBERSTATE.异常, memberState:MEMBERSTATE.异常,
memberNum memberNum
...@@ -491,15 +498,8 @@ export async function batchAdopt({idList, session}) { ...@@ -491,15 +498,8 @@ export async function batchAdopt({idList, session}) {
} }
let userCount = await findCount(TABLEENUM.用户表, {isAdmin:0, memberType:userInfo.memberType, userRegisterState:USERREGISTERSTATE.通过}); let userCount = await findCount(TABLEENUM.用户表, {isAdmin:0, memberType:userInfo.memberType, userRegisterState:USERREGISTERSTATE.通过});
let memberNum = getMenberNum(thisDate, userInfo.sheng, userCount, userInfo.memberType); let joinTime = await sessionToJoinTime(session, id);
let memberNum = getMenberNum(joinTime, userInfo.sheng, userCount, userInfo.memberType);
let joinTime = 0;
let sessionDate = getSessionByEdition(Math.floor(session/100),Math.floor(session%100));
if (sessionDate) {
joinTime = sessionDate.timeMs;
} else {
joinTime = new Date().valueOf();
}
let updateInfo:any = { let updateInfo:any = {
auditTime:NowMs, auditTime:NowMs,
......
...@@ -101,6 +101,10 @@ export async function paidList({name, memberType, documentId, phone, mail, joinS ...@@ -101,6 +101,10 @@ export async function paidList({name, memberType, documentId, phone, mail, joinS
isSelectUser = true; isSelectUser = true;
itemParam.session = session; itemParam.session = session;
} }
if (phone) {
isSelectUser = true;
itemParam.phone = phone;
}
if (isSelectUser) { if (isSelectUser) {
let checkUserIdDataList = await find(TABLEENUM.用户表, itemParam, ["userId"]); let checkUserIdDataList = await find(TABLEENUM.用户表, itemParam, ["userId"]);
checkUserIdDataList.forEach(key => { checkUserIdDataList.forEach(key => {
...@@ -110,8 +114,6 @@ export async function paidList({name, memberType, documentId, phone, mail, joinS ...@@ -110,8 +114,6 @@ export async function paidList({name, memberType, documentId, phone, mail, joinS
if (checkUserIdList.length) { if (checkUserIdList.length) {
findParam.userId = {"$in":checkUserIdList} findParam.userId = {"$in":checkUserIdList}
} }
if (phone) findParam.phone = phone;
// if (costType) findParam.isFirst = costType == COSTTYPE.首次; // if (costType) findParam.isFirst = costType == COSTTYPE.首次;
...@@ -256,7 +258,7 @@ export async function confirmReceiptOut({id, isReceive, returnsReasons}) { ...@@ -256,7 +258,7 @@ export async function confirmReceiptOut({id, isReceive, returnsReasons}) {
/** /**
* 发票管理-财务核对页-数据导出 * 发票管理-财务费用核对页-数据导出
* @param param0 * @param param0
*/ */
export async function outPutConfirmReceipt({exportColumns, payType, examineState}) { export async function outPutConfirmReceipt({exportColumns, payType, examineState}) {
...@@ -294,12 +296,17 @@ export async function outPutConfirmReceipt({exportColumns, payType, examineState ...@@ -294,12 +296,17 @@ export async function outPutConfirmReceipt({exportColumns, payType, examineState
let dataList = [selectTitle]; let dataList = [selectTitle];
for (let i = 0; i < dbList.length; i++) { for (let i = 0; i < dbList.length; i++) {
let info = dbList[i]; let info = dbList[i];
let userInfo = await findOnce(TABLEENUM.用户表, {userId:info.userId}, ["memberState", "name", "session", "unitName", "documentId", "uscc", "mail", "memberLevel", "phone"]); let userInfo = await findOnce(TABLEENUM.用户表, {userId:info.userId}, ["memberState", "name", "session", "unitName", "documentId", "uscc", "mail", "memberLevel", "phone", "individualMemberType", "unitMemberType"]);
let orderInfo = await findOnceToSort(TABLEENUM.订单审批历史表, {orderId:info.id,operationBehavior:ORDEREXAMINE.用户提交, refundName:null}, {operationTime:-1}, ["operationTime"]); let orderInfo = await findOnceToSort(TABLEENUM.订单审批历史表, {orderId:info.id,operationBehavior:ORDEREXAMINE.用户提交, refundName:null}, {operationTime:-1}, ["operationTime"]);
let subList = [ (i+1).toString() ]; let subList = [ (i+1).toString() ];
for (let i = 0; i < selectConf.length; i++) { for (let i = 0; i < selectConf.length; i++) {
let key = selectConf[i]; let key = selectConf[i];
let value = info[key] || ""; let value = info[key] || "";
if (key == "memberCategory") {
if (info.memberCategory == MEMBERTYPE.个人会员) value = changeEnumValue(MEMBERTYPEECCENUM, userInfo.individualMemberType);
else if (info.memberCategory == MEMBERTYPE.单位会员) value = changeEnumValue(MEMBERTYPEECCENUM, userInfo.unitMemberType);
}
if (key == "name") { if (key == "name") {
if (info.memberCategory == MEMBERTYPE.个人会员) value = userInfo.name; if (info.memberCategory == MEMBERTYPE.个人会员) value = userInfo.name;
else if (info.memberCategory == MEMBERTYPE.单位会员) value = userInfo.unitName; else if (info.memberCategory == MEMBERTYPE.单位会员) value = userInfo.unitName;
...@@ -336,7 +343,7 @@ export async function outPutConfirmReceipt({exportColumns, payType, examineState ...@@ -336,7 +343,7 @@ export async function outPutConfirmReceipt({exportColumns, payType, examineState
if (key == "orderCycle") value = `${moment(info.orderCycleStart).format("YYYY-MM-DD")}${moment(info.orderCycleEnd).format("YYYY-MM-DD")}`; if (key == "orderCycle") value = `${moment(info.orderCycleStart).format("YYYY-MM-DD")}${moment(info.orderCycleEnd).format("YYYY-MM-DD")}`;
if (value && value != "-") { if (value && value != "-") {
if (timeChnageList.indexOf(key) != -1) value = moment(value).format("YYYY-MM-DD"); if (timeChnageList.indexOf(key) != -1) value = moment(value).format("YYYY-MM-DD");
else if (key == "memberCategory") value = changeEnumValue(MEMBERTYPE, value); // else if (key == "memberCategory") value = changeEnumValue(MEMBERTYPE, value);
// else if (key == "memberLevel") value = changeEnumValue(MEMBERLEVEL, value); // else if (key == "memberLevel") value = changeEnumValue(MEMBERLEVEL, value);
else if (key == "paymentMethod") value = changeEnumValue(PAYMENTTYPE, value); else if (key == "paymentMethod") value = changeEnumValue(PAYMENTTYPE, value);
else if (key == "invoiceStatus") value = changeEnumValue(INVOICESTATUS, value); else if (key == "invoiceStatus") value = changeEnumValue(INVOICESTATUS, value);
......
...@@ -153,14 +153,16 @@ export async function billStateList({name, memberType, documentId, invoiceApplyM ...@@ -153,14 +153,16 @@ export async function billStateList({name, memberType, documentId, invoiceApplyM
else if (info.confirmReceipt != RECEIPTCONFIRMATION.收款确认 && info.state == ORDERSTATE.已支付) itemData.isPay = "核对中"; //费用核对里待审批和驳回列表里的数据都会显示核对中 else if (info.confirmReceipt != RECEIPTCONFIRMATION.收款确认 && info.state == ORDERSTATE.已支付) itemData.isPay = "核对中"; //费用核对里待审批和驳回列表里的数据都会显示核对中
// else if (info.refundSuccessful) itemData.isPay = "已退回"; // else if (info.refundSuccessful) itemData.isPay = "已退回";
else itemData.isPay = "未支付"; else itemData.isPay = "未支付";
let userInfomation = await findOnce(TABLEENUM.用户表, {userId:itemData.userId}, ["userId", "memberState", "name", "memberLevel", "individualMemberType", "unitMemberType"]); let userInfomation = await findOnce(TABLEENUM.用户表, {userId:itemData.userId}, ["userId", "memberState", "name", "memberLevel", "memberType", "mail", "individualMemberType", "unitMemberType"]);
if (!userInfomation || !userInfomation.userId) continue; if (!userInfomation || !userInfomation.userId) continue;
if(userInfomation) { if(userInfomation) {
if(userInfomation.individualMemberType) { if(userInfomation.memberType == MEMBERTYPE.个人会员) {
itemData.memberType = changeEnumValue(MEMBERTYPEECCENUM, userInfomation.individualMemberType); itemData.memberType = changeEnumValue(MEMBERTYPEECCENUM, userInfomation.individualMemberType);
itemData.invoiceMail = userInfomation.mail;
} }
if(userInfomation.unitMemberType) { if(userInfomation.memberType == MEMBERTYPE.单位会员) {
itemData.memberType = changeEnumValue(MEMBERTYPEECCENUM, userInfomation.unitMemberType); itemData.memberType = changeEnumValue(MEMBERTYPEECCENUM, userInfomation.unitMemberType);
itemData.invoiceMail = itemData.invoiceMail;
} }
itemData.memberLevel = changeEnumValue(MEMBERLEVEL, userInfomation.memberLevel); itemData.memberLevel = changeEnumValue(MEMBERLEVEL, userInfomation.memberLevel);
// itemData.memberState = changeEnumValue(MEMBERSTATE, userInfomation.memberState); // itemData.memberState = changeEnumValue(MEMBERSTATE, userInfomation.memberState);
...@@ -346,12 +348,17 @@ export async function backInvoice({id}) { ...@@ -346,12 +348,17 @@ export async function backInvoice({id}) {
let dataList = [selectTitle]; let dataList = [selectTitle];
for (let i = 0; i < dbList.length; i++) { for (let i = 0; i < dbList.length; i++) {
let info = dbList[i]; let info = dbList[i];
let userInfo = await findOnce(TABLEENUM.用户表, {userId:info.userId}, ["memberState", "name", "unitName", "documentId", "uscc", "mail", "memberLevel", "phone"]); let userInfo = await findOnce(TABLEENUM.用户表, {userId:info.userId}, ["memberState", "name", "unitName", "documentId", "uscc", "mail", "memberLevel", "phone", "individualMemberType", "unitMemberType"]);
let orderInfo = await findOnceToSort(TABLEENUM.订单审批历史表, {orderId:info.id,operationBehavior:ORDEREXAMINE.用户提交, refundName:null}, {operationTime:-1}, ["operationTime"]); let orderInfo = await findOnceToSort(TABLEENUM.订单审批历史表, {orderId:info.id,operationBehavior:ORDEREXAMINE.用户提交, refundName:null}, {operationTime:-1}, ["operationTime"]);
let subList = [ (i+1).toString() ]; let subList = [ (i+1).toString() ];
for (let i = 0; i < selectConf.length; i++) { for (let i = 0; i < selectConf.length; i++) {
let key = selectConf[i]; let key = selectConf[i];
let value = info[key] || ""; let value = info[key] || "";
if (key == "memberCategory") {
if (info.memberCategory == MEMBERTYPE.个人会员) value = changeEnumValue(MEMBERTYPEECCENUM, userInfo.individualMemberType);
else if (info.memberCategory == MEMBERTYPE.单位会员) value = changeEnumValue(MEMBERTYPEECCENUM, userInfo.unitMemberType);
}
if (key == "name") { if (key == "name") {
if (info.memberCategory == MEMBERTYPE.个人会员) value = userInfo.name; if (info.memberCategory == MEMBERTYPE.个人会员) value = userInfo.name;
else if (info.memberCategory == MEMBERTYPE.单位会员) value = userInfo.unitName; else if (info.memberCategory == MEMBERTYPE.单位会员) value = userInfo.unitName;
...@@ -388,7 +395,7 @@ export async function backInvoice({id}) { ...@@ -388,7 +395,7 @@ export async function backInvoice({id}) {
// } // }
if (value && value != "-") { if (value && value != "-") {
if (timeChnageList.indexOf(key) != -1) value = moment(value).format("YYYY-MM-DD"); if (timeChnageList.indexOf(key) != -1) value = moment(value).format("YYYY-MM-DD");
else if (key == "memberCategory") value = changeEnumValue(MEMBERTYPE, value); // else if (key == "memberCategory") value = changeEnumValue(MEMBERTYPE, value);
// else if (key == "memberLevel") value = changeEnumValue(MEMBERLEVEL, value); // else if (key == "memberLevel") value = changeEnumValue(MEMBERLEVEL, value);
else if (key == "paymentMethod") value = changeEnumValue(PAYMENTTYPE, value); else if (key == "paymentMethod") value = changeEnumValue(PAYMENTTYPE, value);
} }
...@@ -551,13 +558,15 @@ export async function invoicedList({name, memberType, documentId, invoiceExamine ...@@ -551,13 +558,15 @@ export async function invoicedList({name, memberType, documentId, invoiceExamine
// itemData.cycle = `${moment(info.orderCycleStart).format("YYYY-MM-DD")}至${moment(info.orderCycleEnd).format("YYYY-MM-DD")}`; // itemData.cycle = `${moment(info.orderCycleStart).format("YYYY-MM-DD")}至${moment(info.orderCycleEnd).format("YYYY-MM-DD")}`;
itemData.cycle = `${moment(info.orderCycleStart).format("YYYY")}${moment(info.orderCycleEnd).format("YYYY")}`; itemData.cycle = `${moment(info.orderCycleStart).format("YYYY")}${moment(info.orderCycleEnd).format("YYYY")}`;
itemData.isPay = changeEnumValue(ORDERSTATE, itemData.state); itemData.isPay = changeEnumValue(ORDERSTATE, itemData.state);
let userInfo = await findOnce(TABLEENUM.用户表, {userId:itemData.userId}, ["userId", "memberState", "name", "memberLevel", "individualMemberType", "unitMemberType"]) let userInfo = await findOnce(TABLEENUM.用户表, {userId:itemData.userId}, ["userId", "memberState", "name", "memberLevel", "memberType", "individualMemberType", "unitMemberType", "mail"])
if(userInfo) { if(userInfo) {
if(userInfo.individualMemberType) { if(userInfo.memberType == MEMBERTYPE.个人会员) {
itemData.memberType = changeEnumValue(MEMBERTYPEECCENUM, userInfo.individualMemberType); itemData.memberType = changeEnumValue(MEMBERTYPEECCENUM, userInfo.individualMemberType);
itemData.invoiceMail = userInfo.mail;
} }
if(userInfo.unitMemberType) { if(userInfo.memberType == MEMBERTYPE.单位会员) {
itemData.memberType = changeEnumValue(MEMBERTYPEECCENUM, userInfo.unitMemberType); itemData.memberType = changeEnumValue(MEMBERTYPEECCENUM, userInfo.unitMemberType);
itemData.invoiceMail = info.invoiceMail ? info.invoiceMail : '-';
} }
itemData.memberLevel = changeEnumValue(MEMBERLEVEL, userInfo.memberLevel); itemData.memberLevel = changeEnumValue(MEMBERLEVEL, userInfo.memberLevel);
} }
...@@ -565,7 +574,7 @@ export async function invoicedList({name, memberType, documentId, invoiceExamine ...@@ -565,7 +574,7 @@ export async function invoicedList({name, memberType, documentId, invoiceExamine
itemData.name = userInfo.name; itemData.name = userInfo.name;
itemData.invoiceExamineTime = info.invoiceExamineTime ? moment(info.invoiceExamineTime).format("YYYY-MM-DD") : '-'; itemData.invoiceExamineTime = info.invoiceExamineTime ? moment(info.invoiceExamineTime).format("YYYY-MM-DD") : '-';
itemData.invoiceMail = info.invoiceMail ? info.invoiceMail : '-';
dataList.push(itemData); dataList.push(itemData);
} }
......
...@@ -375,6 +375,36 @@ export async function getCertificateType({userId}) { ...@@ -375,6 +375,36 @@ export async function getCertificateType({userId}) {
/** /**
* 获取可下载缴费通知年份列表
* 当前年超过3月1日则返回2023年至当前年份列表,否则不包括当前年份
* @returns
*/
export async function getYearList() {
const currentDate = new Date();
const currentYear = currentDate.getFullYear();
const currentMonth = currentDate.getMonth() + 1; // JavaScript 月份从 0 开始,需加 1
const currentDay = currentDate.getDate();
let endYear;
if (currentMonth > 3 || (currentMonth === 3 && currentDay >= 1)) {
endYear = currentYear;
} else {
endYear = currentYear - 1;
}
let existingYears = []; //年份列表
// 生成年份数组
if (endYear >= 2023) {
for (let i = 2023; i <= endYear; i++) {
existingYears.push(i);
}
}
return existingYears;
}
/**
* 能否申请变更理事 * 能否申请变更理事
* @param userId 登录的userid * @param userId 登录的userid
* @returns * @returns
...@@ -475,7 +505,8 @@ export async function isNeedSupplement({userId}) { ...@@ -475,7 +505,8 @@ export async function isNeedSupplement({userId}) {
for (let i = 0; i < GrRequiredConf[key].length; i++) { for (let i = 0; i < GrRequiredConf[key].length; i++) {
if(!oldInfo[GrRequiredConf[key][i]]) { if(!oldInfo[GrRequiredConf[key][i]]) {
infoCompleteData[key] = false; infoCompleteData[key] = false;
changeApplyType = CHANGEAPPLYTYPE.注册信息待补充 changeApplyType = CHANGEAPPLYTYPE.注册信息待补充;
break;
} else { } else {
infoCompleteData[key] = true; infoCompleteData[key] = true;
} }
...@@ -487,7 +518,8 @@ export async function isNeedSupplement({userId}) { ...@@ -487,7 +518,8 @@ export async function isNeedSupplement({userId}) {
for (let i = 0; i < DwRequiredConf[key].length; i++) { for (let i = 0; i < DwRequiredConf[key].length; i++) {
if(!oldInfo[DwRequiredConf[key][i]]) { if(!oldInfo[DwRequiredConf[key][i]]) {
infoCompleteData[key] = false; infoCompleteData[key] = false;
changeApplyType = CHANGEAPPLYTYPE.注册信息待补充 changeApplyType = CHANGEAPPLYTYPE.注册信息待补充;
break;
} else { } else {
infoCompleteData[key] = true; infoCompleteData[key] = true;
} }
...@@ -497,10 +529,12 @@ export async function isNeedSupplement({userId}) { ...@@ -497,10 +529,12 @@ export async function isNeedSupplement({userId}) {
for (let i = 0; i < Dwshzycj.单位所获主要成绩及科研成果.length; i++) { for (let i = 0; i < Dwshzycj.单位所获主要成绩及科研成果.length; i++) {
if (!dwshzycjInfo) { if (!dwshzycjInfo) {
infoCompleteData["单位所获主要成绩及科研成果"] = false; infoCompleteData["单位所获主要成绩及科研成果"] = false;
break;
} else { } else {
if(!dwshzycjInfo[Dwshzycj.单位所获主要成绩及科研成果[i]]) { if(!dwshzycjInfo[Dwshzycj.单位所获主要成绩及科研成果[i]]) {
infoCompleteData["单位所获主要成绩及科研成果"] = false; infoCompleteData["单位所获主要成绩及科研成果"] = false;
changeApplyType = CHANGEAPPLYTYPE.注册信息待补充 changeApplyType = CHANGEAPPLYTYPE.注册信息待补充;
break;
} else { } else {
infoCompleteData["单位所获主要成绩及科研成果"] = true; infoCompleteData["单位所获主要成绩及科研成果"] = true;
} }
...@@ -660,7 +694,11 @@ export async function applyReason({applyStr, userId}) { ...@@ -660,7 +694,11 @@ export async function applyReason({applyStr, userId}) {
} }
/**
* 资料变更
* @param param0
* @returns
*/
export async function infomationChangeUpdate({userId, unitName, uscc, legalPerson, unitMemberType, uusinessLicenseUrl, applicationForm, desc, yuanXiaoBanXueLeiXing, legalPersonMail, legalPersonPhone}) { export async function infomationChangeUpdate({userId, unitName, uscc, legalPerson, unitMemberType, uusinessLicenseUrl, applicationForm, desc, yuanXiaoBanXueLeiXing, legalPersonMail, legalPersonPhone}) {
let userInfo = await findOnce(TABLEENUM.用户表, {userId}, ["memberType"]); let userInfo = await findOnce(TABLEENUM.用户表, {userId}, ["memberType"]);
if (userInfo.memberType != MEMBERTYPE.单位会员) throw new BizError(ERRORENUM.非单位会员不可操作); if (userInfo.memberType != MEMBERTYPE.单位会员) throw new BizError(ERRORENUM.非单位会员不可操作);
...@@ -699,6 +737,11 @@ export async function infomationChangeUpdate({userId, unitName, uscc, legalPerso ...@@ -699,6 +737,11 @@ export async function infomationChangeUpdate({userId, unitName, uscc, legalPerso
} }
/**
* 资料变更回显
* @param param0
* @returns
*/
export async function infomationChangeInfo({userId}) { export async function infomationChangeInfo({userId}) {
let userInfo = await findOnce(TABLEENUM.用户表, {userId}); let userInfo = await findOnce(TABLEENUM.用户表, {userId});
...@@ -751,4 +794,9 @@ export async function infomationChangeInfo({userId}) { ...@@ -751,4 +794,9 @@ export async function infomationChangeInfo({userId}) {
dataInfo.unitInfo = unitInfo; dataInfo.unitInfo = unitInfo;
dataInfo.isUpdate = isUpdate; dataInfo.isUpdate = isUpdate;
return {dataInfo}; return {dataInfo};
} }
\ No newline at end of file
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* 会员管理逻辑 * 会员管理逻辑
*/ */
import { MEMBERSTATE, MEMBERLEVEL, DOCUMENTTYPE, NATION, PROFCATEGORY, MEMBERTYPE, USERREGISTERSTATE, STATE, ADMINLV, ADMINTYPE, SEX, CERTIFICATETYPE, INDIVIDUALMEMBERTYPE, EDUCATION, UNITMEMBERTYPE, CLIENTMEMBERTYPE, BANXUELEIXING, MEMBERTYPEECCENUM } from "../../config/enum"; import { MEMBERSTATE, MEMBERLEVEL, DOCUMENTTYPE, NATION, PROFCATEGORY, MEMBERTYPE, USERREGISTERSTATE, STATE, ADMINLV, ADMINTYPE, SEX, CERTIFICATETYPE, INDIVIDUALMEMBERTYPE, EDUCATION, UNITMEMBERTYPE, CLIENTMEMBERTYPE, BANXUELEIXING, MEMBERTYPEECCENUM, CLIENTMSGLABLE } from "../../config/enum";
import { ERRORENUM } from "../../config/errorEnum"; import { ERRORENUM } from "../../config/errorEnum";
import { TABLEENUM } from "../../data/models/model"; import { TABLEENUM } from "../../data/models/model";
import { find, findCount, findOnce, findOnceToSort, findToPage, findToSortToPage } from "../../data/select"; import { find, findCount, findOnce, findOnceToSort, findToPage, findToSortToPage } from "../../data/select";
...@@ -32,7 +32,7 @@ import { eccFormParam } from "../../util/verificationParam"; ...@@ -32,7 +32,7 @@ import { eccFormParam } from "../../util/verificationParam";
* @param shi 市 * @param shi 市
* @param pageNumber 当前页 * @param pageNumber 当前页
*/ */
export async function unitMemberList({unitName, mail, phone, joinStartTime, joinEndTime, unitMemberType, memberLevel, session, memberState, sheng, shi, lableId, pageNumber}) { export async function unitMemberList({unitName, mail, phone, joinStartTime, joinEndTime, unitMemberType, memberLevel, session, memberState, sheng, shi, lableId, yuanXiaoBanXueLeiXing, pageNumber}) {
let selectParam:any = { let selectParam:any = {
isAdmin:STATE., isAdmin:STATE.,
memberType : MEMBERTYPE.单位会员, memberType : MEMBERTYPE.单位会员,
...@@ -56,6 +56,7 @@ export async function unitMemberList({unitName, mail, phone, joinStartTime, join ...@@ -56,6 +56,7 @@ export async function unitMemberList({unitName, mail, phone, joinStartTime, join
if (sheng) selectParam.sheng = sheng; if (sheng) selectParam.sheng = sheng;
if (shi) selectParam.shi = shi; if (shi) selectParam.shi = shi;
if (lableId && lableId.length) selectParam.lableId = {"$in":lableId}; if (lableId && lableId.length) selectParam.lableId = {"$in":lableId};
if (yuanXiaoBanXueLeiXing && yuanXiaoBanXueLeiXing.length) selectParam.yuanXiaoBanXueLeiXing = {"$in":yuanXiaoBanXueLeiXing};
const SelectFiles = ["userId", "memberState", "unitMemberType", "unitName", "contactPerson", "phone", "mail", "sheng", "joinTime", "memberLevel", "lableId", "session", ""]; const SelectFiles = ["userId", "memberState", "unitMemberType", "unitName", "contactPerson", "phone", "mail", "sheng", "joinTime", "memberLevel", "lableId", "session", ""];
let dbList = await findToSortToPage(TABLEENUM.用户表, selectParam, SelectFiles, {joinTime:-1}, pageNumber); let dbList = await findToSortToPage(TABLEENUM.用户表, selectParam, SelectFiles, {joinTime:-1}, pageNumber);
...@@ -431,7 +432,8 @@ export async function outPutIndividualMembers({exportColumns}) { ...@@ -431,7 +432,8 @@ export async function outPutIndividualMembers({exportColumns}) {
} }
}) })
let dbList = await find(TABLEENUM.用户表, selectParam, selectConf); // let dbList = await find(TABLEENUM.用户表, selectParam, selectConf);
let dbList = await find(TABLEENUM.用户表, selectParam, []);
let timeChnageList = ["joinTime", "birth"]; let timeChnageList = ["joinTime", "birth"];
let addList = ["sheng", "shi", "qu"]; let addList = ["sheng", "shi", "qu"];
...@@ -461,7 +463,15 @@ export async function outPutIndividualMembers({exportColumns}) { ...@@ -461,7 +463,15 @@ export async function outPutIndividualMembers({exportColumns}) {
else if (addList.indexOf(key) != -1) value = getCityNameByCode(value); else if (addList.indexOf(key) != -1) value = getCityNameByCode(value);
else if (key == "lableId") { else if (key == "lableId") {
value = []; value = [];
let lableInfo = await find(TABLEENUM.标签表, {lableId:{"$in":info.lableId}}, ["lableName"]); let selectLable:any = {
"$or":[{ lableId:{"$in":CLIENTMSGLABLE.所有人} }]
};
selectLable["$or"].push(
{ lableId:{"$in":info.memberType} },
{ lableId:{"$in":info.memberLever} },
{ lableId:{"$in":info.lableId} }
)
let lableInfo = await find(TABLEENUM.标签表, selectLable, ["lableName"]);
lableInfo.forEach ( lableItem => { lableInfo.forEach ( lableItem => {
value.push(lableItem.lableName); value.push(lableItem.lableName);
}); });
......
...@@ -210,7 +210,7 @@ export async function getPaid({name, memberType, documentId, phone, mail, joinSt ...@@ -210,7 +210,7 @@ export async function getPaid({name, memberType, documentId, phone, mail, joinSt
if (memberLevel.length) selectParam.memberLevel = {"$in":memberLevel}; if (memberLevel.length) selectParam.memberLevel = {"$in":memberLevel};
if (session) selectParam.session = session; if (session) selectParam.session = session;
const SelectFiles = ["userId", "memberState", "unitName", "name", "joinTime", "memberLevel", "individualMemberType", "unitMemberType", const SelectFiles = ["userId", "memberState", "unitName", "name", "joinTime", "memberLevel", "individualMemberType", "memberType", "unitMemberType",
"lifespanStartTime", "lifespanEndTime", "session"]; "lifespanStartTime", "lifespanEndTime", "session"];
let dbList = await findToSortToPage(TABLEENUM.用户表, selectParam, SelectFiles, {joinTime:-1}, pageNumber); let dbList = await findToSortToPage(TABLEENUM.用户表, selectParam, SelectFiles, {joinTime:-1}, pageNumber);
let dataCount = await findCount(TABLEENUM.用户表, selectParam); let dataCount = await findCount(TABLEENUM.用户表, selectParam);
...@@ -226,10 +226,10 @@ export async function getPaid({name, memberType, documentId, phone, mail, joinSt ...@@ -226,10 +226,10 @@ export async function getPaid({name, memberType, documentId, phone, mail, joinSt
item.joinTime = moment(item.joinTime).format("YYYY-MM-DD"); item.joinTime = moment(item.joinTime).format("YYYY-MM-DD");
item.memberState = changeEnumValue(MEMBERSTATE, item.memberState); item.memberState = changeEnumValue(MEMBERSTATE, item.memberState);
item.memberLevel = changeEnumValue(MEMBERLEVEL, item.memberLevel); item.memberLevel = changeEnumValue(MEMBERLEVEL, item.memberLevel);
if(info.individualMemberType) { if(info.memberType == MEMBERTYPE.个人会员) {
item.memberType = changeEnumValue(MEMBERTYPEECCENUM, info.individualMemberType); item.memberType = changeEnumValue(MEMBERTYPEECCENUM, info.individualMemberType);
} }
if(info.unitMemberType) { if(info.memberType == MEMBERTYPE.单位会员) {
item.memberType = changeEnumValue(MEMBERTYPEECCENUM, info.unitMemberType); item.memberType = changeEnumValue(MEMBERTYPEECCENUM, info.unitMemberType);
} }
......
...@@ -490,12 +490,10 @@ export async function addActivity({userId, form}) { ...@@ -490,12 +490,10 @@ export async function addActivity({userId, form}) {
}); });
//发送邮件 //发送邮件
await systemSendMail(userInfo.userId, MAILTYPE.会员活动or会议通知 ); await systemSendMail(userInfo[i].userId, MAILTYPE.会员活动or会议通知 );
} }
await addManyData(TABLEENUM.活动通知已读状态表, addReadInfo); await addManyData(TABLEENUM.活动通知已读状态表, addReadInfo);
return successResult(); return successResult();
} }
...@@ -507,7 +505,7 @@ export async function addActivity({userId, form}) { ...@@ -507,7 +505,7 @@ export async function addActivity({userId, form}) {
export async function updateActivityRead({arId}) { export async function updateActivityRead({arId}) {
let activityReadInfo = await findOnce(TABLEENUM.活动通知已读状态表, {arId}, ["arId", "isRead"]); let activityReadInfo = await findOnce(TABLEENUM.活动通知已读状态表, {arId}, ["arId", "isRead"]);
if (!activityReadInfo || !activityReadInfo.arId) throw new BizError(ERRORENUM.目标数据不存在); if (!activityReadInfo || !activityReadInfo.arId) throw new BizError(ERRORENUM.目标数据不存在);
if (activityReadInfo.isRead == STATE.) return; if (activityReadInfo.isRead == STATE.) return successResult();
await updateOneData(TABLEENUM.活动通知已读状态表, {arId}, {readTime:new Date().valueOf(), isRead: STATE.}); await updateOneData(TABLEENUM.活动通知已读状态表, {arId}, {readTime:new Date().valueOf(), isRead: STATE.});
...@@ -805,11 +803,11 @@ export async function homeActivityList({userId, activityState, pageNumber}) { ...@@ -805,11 +803,11 @@ export async function homeActivityList({userId, activityState, pageNumber}) {
let memberLevel = ""; let memberLevel = "";
if (userInfo.memberType) { if (userInfo.memberType) {
memberType = changeEnumValue(MEMBERTYPE, userInfo.memberType); memberType = changeEnumValue(MEMBERTYPE, userInfo.memberType);
selectParam["$or"].push({ lableId:{"$in":memberType} }); selectParam["$or"].push({ lableId:{"$in":[memberType]} });
} }
if (userInfo.memberLevel) { if (userInfo.memberLevel) {
memberLevel = changeEnumValue(MEMBERLEVEL, userInfo.memberLevel); memberLevel = changeEnumValue(MEMBERLEVEL, userInfo.memberLevel);
selectParam["$or"].push({ lableId:{"$in":memberLevel} }); selectParam["$or"].push({ lableId:{"$in":[memberLevel]} });
} }
if (activityState == ACTIVITYSTATE.已结束) selectParam.activityState = activityState; if (activityState == ACTIVITYSTATE.已结束) selectParam.activityState = activityState;
......
...@@ -540,7 +540,7 @@ export async function accountInfo({id, form}) { ...@@ -540,7 +540,7 @@ export async function accountInfo({id, form}) {
/** /**
* 退款列表 * 退款列表 驳回列表
* @param param0 * @param param0
*/ */
export async function refundList({name, memberType, joinStartTime, joinEndTime, isReceiveMoney, pageNumber}) { export async function refundList({name, memberType, joinStartTime, joinEndTime, isReceiveMoney, pageNumber}) {
...@@ -569,7 +569,10 @@ export async function refundList({name, memberType, joinStartTime, joinEndTime, ...@@ -569,7 +569,10 @@ export async function refundList({name, memberType, joinStartTime, joinEndTime,
}); });
} }
if (checkHistoryDataList.length) { if (checkHistoryDataList.length) {
let uniqueList = checkHistoryDataList.filter((item, index) => checkHistoryDataList.indexOf(item) === index); // 去除数组orderId重复项
let uniqueList = checkHistoryDataList.filter((item, index) =>
checkHistoryDataList.indexOf(item) === index
);
findParam.id = {"$in":uniqueList} findParam.id = {"$in":uniqueList}
} }
...@@ -648,9 +651,9 @@ export async function refundList({name, memberType, joinStartTime, joinEndTime, ...@@ -648,9 +651,9 @@ export async function refundList({name, memberType, joinStartTime, joinEndTime,
// let operationBehavior = ""; // let operationBehavior = "";
//订单分类字段【需退款、无需退款】 //订单分类字段【需退款、无需退款】
if (historyList.isReceiveMoney) itemData.operationBehavior = "不需退款"; if (historyList && !historyList.isReceiveMoney) itemData.operationBehavior = "需退款";
// if (isReceiveMoney == ISRECEIVEMONEY.不需退款) itemData.operationBehavior = "不需退款"; // if (isReceiveMoney == ISRECEIVEMONEY.不需退款) itemData.operationBehavior = "不需退款";
else itemData.operationBehavior = "需退款"; else itemData.operationBehavior = "需退款";
dataList.push(itemData); dataList.push(itemData);
} }
......
...@@ -259,17 +259,29 @@ export async function guiZhangZhiDuXiangQing({id}) { ...@@ -259,17 +259,29 @@ export async function guiZhangZhiDuXiangQing({id}) {
* @param param0 * @param param0
* @returns * @returns
*/ */
export async function dongTaiZiXun({type, pageNumber}) { export async function dongTaiZiXun({searchValue, type, pageNumber}) {
eccEnumValue("官网", "行业动态类型", type, DONGTAIZIXUNSUBTYPE); eccEnumValue("官网", "行业动态类型", type, DONGTAIZIXUNSUBTYPE);
let findParam = {articleType:{"$in":[type]}, display:STATE.}; let findParam = {
articleType:{"$in":[type]},
display:STATE.,
"$or":[
{
title:{"$regex":searchValue, "$options": "i"}
},
{
desc:{"$regex":searchValue, "$options": "i"}
}
]
};
let dataBaseList = await findToSortToPage(TABLEENUM.文章管理, findParam, [], {articleTime:-1}, pageNumber); let dataBaseList = await findToSortToPage(TABLEENUM.文章管理, findParam, [], {articleTime:-1}, pageNumber);
let dataCount = await findCount(TABLEENUM.文章管理, findParam); let dataCount = await findCount(TABLEENUM.文章管理, findParam);
let dataList = []; let dataList = [];
dataBaseList.forEach(info => { dataBaseList.forEach(info => {
let { id, title, desc, imgUrl, articleTime } = info; let { id, title, desc, imgUrl, articleTime } = info;
let descStr = desc.replace(/<[^>]*>/g, '');
dataList.push({ dataList.push({
id, title, desc, imgUrl, articleTime:moment(articleTime).format("YYYY-MM-DD") id, title, desc, descStr, imgUrl, articleTime:moment(articleTime).format("YYYY-MM-DD")
}); });
}); });
...@@ -569,12 +581,64 @@ export async function dangJianZiYuanMuLu({}) { ...@@ -569,12 +581,64 @@ export async function dangJianZiYuanMuLu({}) {
return {dataList}; return {dataList};
} }
/** /**
* 通知公告 * 通知公告
* @param param0 * @param param0
* @returns * @returns
*/ */
export async function tongZhiGongGao({type, pageNumber}) { export async function tongZhiGongGao({searchValue, type, pageNumber}) {
eccEnumValue("通知公告", "类型", TONGZHIGONGGAO, type);
// let tableName;
// switch (type) {
// case TONGZHIGONGGAO.会议通知: tableName = TABLEENUM.会议通知; break;
// case TONGZHIGONGGAO.活动通知: tableName = TABLEENUM.活动通知; break;
// case TONGZHIGONGGAO.项目公告: tableName = TABLEENUM.项目公告; break;
// }
// let dbList = await findToPage(tableName, {push:STATE.是}, ["id", "name", "st", "addrest", "members", "desc"], pageNumber);
// let dataCount = await findCount(tableName, {push:STATE.是});
// let dataList = [];
// dbList.forEach(info => {
// let item:any = extractData(info, ["id", "name", "addrest"]);
// item.time = moment(info.st).format("YYYY-MM-DD");
// item.desc = info.desc || "";
// item.members = changeEnumValue(CODPARTICIPANT, info.members);
// dataList.push(item);
// });
let findParam = {
articleType:{"$in":[type]},
display:STATE.,
"$or":[
{
title:{"$regex":searchValue, "$options": "i"}
},
{
desc:{"$regex":searchValue, "$options": "i"}
}
]
};
let dataBaseList = await findToSortToPage(TABLEENUM.文章管理, findParam, ["id", "title", "desc", "imgUrl", "articleTime" ], {articleTime:-1}, pageNumber);
let dataCount = await findCount(TABLEENUM.文章管理, findParam);
let dataList = [];
dataBaseList.forEach(info => {
let { id, title, desc, imgUrl, articleTime } = info;
let descStr = desc.replace(/<[^>]*>/g, '');
dataList.push({
id, title, desc, descStr, imgUrl, articleTime:moment(articleTime).format("YYYY-MM-DD")
});
});
return { dataList, dataCount};
}
/**
* 通知公告
* @param param0
* @returns
*/
export async function getWenZhang({type, pageNumber}) {
eccEnumValue("通知公告", "类型", TONGZHIGONGGAO, type); eccEnumValue("通知公告", "类型", TONGZHIGONGGAO, type);
// let tableName; // let tableName;
// switch (type) { // switch (type) {
...@@ -608,6 +672,10 @@ export async function tongZhiGongGao({type, pageNumber}) { ...@@ -608,6 +672,10 @@ export async function tongZhiGongGao({type, pageNumber}) {
} }
export async function tongZhiGongGaoInfo({id, type}) { export async function tongZhiGongGaoInfo({id, type}) {
eccEnumValue("通知公告", "类型", TONGZHIGONGGAO, type); eccEnumValue("通知公告", "类型", TONGZHIGONGGAO, type);
// let tableName; // let tableName;
......
...@@ -555,6 +555,83 @@ export async function deleteSaveUnsubmitted() { ...@@ -555,6 +555,83 @@ export async function deleteSaveUnsubmitted() {
} }
/**
* 会员资料变更【单位会员】【流程二】
* 资料补充第二步保存未提交
* @param form 表单
* @param keyanForm 科研表单
* @param userId
* @returns
*/
export async function unitMemberChangeNotSaved({form, keyanForm, id}) {
let selectUserFiles = ["userId", "registerFlow", "userRegisterState"];
let oldInfo = await findOnce(TABLEENUM.用户表, {userId:id, memberType:MEMBERTYPE.单位会员, isAdmin:STATE.}, selectUserFiles);
if (!oldInfo || !oldInfo.userId) throw new BizError(ERRORENUM.目标数据不存在);
/**校验枚举 */
const EccFuncName = '注册单位会员流程第二步保存未提交';
eccEnumValue(EccFuncName, '专业类别', PROFCATEGORY, form.profCategory);
eccEnumValue(EccFuncName, '院校办学类型', BANXUELEIXING, form.yuanXiaoBanXueLeiXing);
eccEnumValue(EccFuncName, '单位会员类型', UNITMEMBERTYPE, form.unitMemberType);
// form.saveUnsubmitted = STATE.否;
// await updateOneData(TABLEENUM.用户表, {userId:id, saveUnsubmitted:STATE.否}, form);
await updateOneData(TABLEENUM.用户表, {userId:id}, form);
await deleteManyData(TABLEENUM.单位所获得科研成果表, {userId:id});
let addList = [];
for (let i = 0; i < keyanForm.length; i++) {
let {startTime, endTime, describe} = keyanForm[i];
addList.push({
id:sysTools.generateSystemId(TABLEENUM.单位所获得科研成果表, id),
userId:id,
startTime, endTime, describe
});
}
await addManyData(TABLEENUM.单位所获得科研成果表, addList);
return sysTools.successResult();
}
/**
* 会员资料变更【个人会员】【流程二】
* 资料补充第二步保存未提交
* @param form
* @param userId
* @returns
*/
export async function memberChangeNotSaved({form, id}) {
/**校验用户是否存在 */
let selectUserFiles = ["userId", "registerFlow", "userRegisterState"];
let oldInfo = await findOnce(TABLEENUM.用户表, {userId:id, memberType:MEMBERTYPE.个人会员, isAdmin:STATE.}, selectUserFiles );
if (!oldInfo || !oldInfo.userId) throw new BizError(ERRORENUM.目标数据不存在);
// let operationBehavior = 0;
/**判断是否第一次提交审核 并更新状态*/
// let remarks = "第一次提交";
// if (oldInfo.userRegisterState == USERREGISTERSTATE.待审核) operationBehavior = OPERATIONREHAVIOR.用户提交
// else {//驳回
// operationBehavior = OPERATIONREHAVIOR.重新提交;
// form.userRegisterState = USERREGISTERSTATE.重新提交;
// remarks = "重新提交";
// }
/**校验枚举 */
const EccFuncName = '注册个人会员第二步保存未提交';
eccEnumValue(EccFuncName, '性别', SEX, form.sex);
eccEnumValue(EccFuncName, '证件类型', DOCUMENTTYPE, form.documentType);
eccEnumValue(EccFuncName, '民族', NATION, form.nation);
eccEnumValue(EccFuncName, '专业类别', PROFCATEGORY, form.profCategory);
//更新注册流程
// form.registerFlow = REGISTERFLOW.完成第一步;
// form.saveUnsubmitted = STATE.否;
// form.askForTime = new Date().valueOf();
await updateOneData(TABLEENUM.用户表, {userId:id}, form);
return {userId:id};
}
......
...@@ -451,6 +451,15 @@ export enum CODETYPE { ...@@ -451,6 +451,15 @@ export enum CODETYPE {
/** /**
* 接受验证码类型
*/
export enum RECEIVETYPE {
手机号码 = 1,
邮箱
}
/**
* 会费类别 * 会费类别
*/ */
export enum COSTTYPE { export enum COSTTYPE {
...@@ -520,6 +529,17 @@ export enum REGISTERFLOW { ...@@ -520,6 +529,17 @@ export enum REGISTERFLOW {
/** /**
* 会员注册流程
*/
export enum REGISTERFLOWCLIENT {
未注册 = 0,
注册第一步,
注册第二步,
注册第三步,
}
/**
* 收款确认 * 收款确认
*/ */
export enum RECEIPTCONFIRMATION { export enum RECEIPTCONFIRMATION {
......
/** /**
* 待审核导出列-单位会员 * 会员库导出列-单位会员
*/ */
export enum UNITAUDITINGCOLUMNS { export enum UNITAUDITINGCOLUMNS {
状态 = "memberState", 状态 = "memberState",
单位信息类型 = "unitMemberType",
单位名称 = "unitName", 单位名称 = "unitName",
办学类型 = "yuanXiaoBanXueLeiXing",
单位简介 = "danWeiJianJie",
会员职务 = "memberLevel", 会员职务 = "memberLevel",
入会时间 = "joinTime", 标签 = "lableId",
法人代表 = "legalPerson",
法人联系电话 = "legalPersonPhone",
法人邮箱 = "legalPersonMail", 法人邮箱 = "legalPersonMail",
学生总人数 = "yuanXiaoXueShengZongRenShu",
教职工总人数 = "yuanXiaoJiaoZhiGongZongRenShu",
开设专业 = "kaishezhuanYe",
主管部门 = "yuanXiaoZhuGuanBuMen",
主要负责人 = "yuanXiaoFuZeRen", 主要负责人 = "yuanXiaoFuZeRen",
科研负责人电话 = "yuanXiaoKeYanFuZeRenDianHua",
省市区 = "shengshiqu",
日常联系人 = "contactPerson",
主要负责人职务 = "yuanXiaoFuZeRenZhiWu", 主要负责人职务 = "yuanXiaoFuZeRenZhiWu",
教学负责人姓名 = "jiaoXueFuZeRenXinMing",
通信地址 = "addres",
日常联系人职务 = "contactPersonDuties",
主要负责人电话 = "yuanXiaoFuZeRenDianHua", 主要负责人电话 = "yuanXiaoFuZeRenDianHua",
教学负责人电话 = "jiaoXueFuZeRenDianHua",
日常联系人邮箱 = "mail",
日常联系人手机 = "phone",
主要负责人邮箱 = "ZhuYaoFuZeRenYouXiang", 主要负责人邮箱 = "ZhuYaoFuZeRenYouXiang",
学生总人数 = "yuanXiaoXueShengZongRenShu", 日常联系人 = "contactPerson",
日常联系人职务 = "contactPersonDuties",
日常联系人手机 = "phone",
日常联系人邮箱 = "mail",
单位信用代码 = "uscc", 单位信用代码 = "uscc",
单位信息类型 = "unitMemberType", 省市区 = "shengshiqu",
通信地址 = "addres",
办公负责人 = "yuanXiaoBanGongFuZeRen", 办公负责人 = "yuanXiaoBanGongFuZeRen",
教职工总人数 = "yuanXiaoJiaoZhiGongZongRenShu",
法人代表 = "legalPerson",
办学类型 = "yuanXiaoBanXueLeiXing",
办公负责人电话 = "yuanXiaoBanGongFuZeRenDianHua", 办公负责人电话 = "yuanXiaoBanGongFuZeRenDianHua",
开设专业 = "kaishezhuanYe",
法人联系电话 = "legalPersonPhone",
主管部门 = "yuanXiaoZhuGuanBuMen",
科研负责人 = "yuanXiaoKeYanFuZeRen", 科研负责人 = "yuanXiaoKeYanFuZeRen",
单位简介 = "danWeiJianJie", 科研负责人电话 = "yuanXiaoKeYanFuZeRenDianHua",
教学负责人姓名 = "jiaoXueFuZeRenXinMing",
标签 = "lableId", 教学负责人电话 = "jiaoXueFuZeRenDianHua",
届次 = "session", 届次 = "session",
入会时间 = "joinTime",
} }
/** /**
* 待审核导出列-个人会员 * 会员库导出列-个人会员
*/ */
export enum AUDITINGCOLUMNS { export enum AUDITINGCOLUMNS {
状态 = "memberState", 状态 = "memberState",
姓名 = "name", 姓名 = "name",
会员职务 = "memberLevel",
入会时间 = "joinTime",
手机号 = "phone",
专业类别 = "profCategory",
性别 = "sex", 性别 = "sex",
工作单位 = "unitName",
职务 = "duties",
职称 = "workTitle",
出生年月 = "birth",
证件类型 = "documentType",
证件号码 = "documentId",
手机号 = "phone",
电子邮箱 = "mail", 电子邮箱 = "mail",
会员职务 = "memberLevel",
标签 = "lableId",
会员级别 = "individualMemberType",
专业类别 = "profCategory",
学历 = "education",
民族 = "nation", 民族 = "nation",
省市区 = "shengshiqu", 省市区 = "shengshiqu",
出生年月 = "birth",
通信地址 = "addres", 通信地址 = "addres",
证件类型 = "documentType", 届次 = "session",
入会时间 = "joinTime",
}
/**
* 入会审批导出列-单位会员
*/
export enum APPLYUNITAUDITINGCOLUMNS {
状态 = "memberState",
单位信息类型 = "unitMemberType",
单位名称 = "unitName",
办学类型 = "yuanXiaoBanXueLeiXing",
单位简介 = "danWeiJianJie",
会员职务 = "memberLevel",
// 标签 = "lableId",
法人代表 = "legalPerson",
法人联系电话 = "legalPersonPhone",
法人邮箱 = "legalPersonMail",
学生总人数 = "yuanXiaoXueShengZongRenShu",
教职工总人数 = "yuanXiaoJiaoZhiGongZongRenShu",
开设专业 = "kaishezhuanYe",
主管部门 = "yuanXiaoZhuGuanBuMen",
主要负责人 = "yuanXiaoFuZeRen",
主要负责人职务 = "yuanXiaoFuZeRenZhiWu",
主要负责人电话 = "yuanXiaoFuZeRenDianHua",
主要负责人邮箱 = "ZhuYaoFuZeRenYouXiang",
日常联系人 = "contactPerson",
日常联系人职务 = "contactPersonDuties",
日常联系人手机 = "phone",
日常联系人邮箱 = "mail",
单位信用代码 = "uscc",
省市区 = "shengshiqu",
通信地址 = "addres",
办公负责人 = "yuanXiaoBanGongFuZeRen",
办公负责人电话 = "yuanXiaoBanGongFuZeRenDianHua",
科研负责人 = "yuanXiaoKeYanFuZeRen",
科研负责人电话 = "yuanXiaoKeYanFuZeRenDianHua",
教学负责人姓名 = "jiaoXueFuZeRenXinMing",
教学负责人电话 = "jiaoXueFuZeRenDianHua",
届次 = "session",
入会时间 = "joinTime",
}
/**
* 入会审批导出列-个人会员
*/
export enum APPLYAUDITINGCOLUMNS {
状态 = "memberState",
姓名 = "name",
性别 = "sex",
工作单位 = "unitName", 工作单位 = "unitName",
证件号码 = "documentId",
职务 = "duties", 职务 = "duties",
学历 = "education",
职称 = "workTitle", 职称 = "workTitle",
标签 = "lableId", 出生年月 = "birth",
证件类型 = "documentType",
证件号码 = "documentId",
手机号 = "phone",
电子邮箱 = "mail",
会员职务 = "memberLevel",
// 标签 = "lableId",
会员级别 = "individualMemberType",
专业类别 = "profCategory",
学历 = "education",
民族 = "nation",
省市区 = "shengshiqu",
通信地址 = "addres",
届次 = "session", 届次 = "session",
会员级别 = "individualMemberType" 入会时间 = "joinTime",
} }
...@@ -80,22 +141,22 @@ export enum AUDITINGCOLUMNS { ...@@ -80,22 +141,22 @@ export enum AUDITINGCOLUMNS {
*/ */
export enum CONFIRMRECEIPTCOLUMNS { export enum CONFIRMRECEIPTCOLUMNS {
状态 = "confirmReceipt", 状态 = "confirmReceipt",
"单位/个人名称" = "name",
会员类别 = "memberCategory",
所缴周期 = "orderCycle",
缴费金额 = "money",
支付单号 = "paymentNum", 支付单号 = "paymentNum",
支付方式 = "paymentMethod", 会员类别 = "memberCategory",
"单位/个人名称" = "name",
"单位代码/个人身份证" = "card", "单位代码/个人身份证" = "card",
备注 = "desc", 缴费金额 = "money",
会员职务 = "memberLevel",
发票邮箱 = "invoiceMail", 发票邮箱 = "invoiceMail",
"电子邮箱" = "mail", 电子邮箱 = "mail",
手机号 = "phone",
支付方式 = "paymentMethod",
提交时间 = "operationTime", //上传转账凭证的时间 提交时间 = "operationTime", //上传转账凭证的时间
会员职务 = "memberLevel",
手机号="phone",
届次 = "session",
支付时间 = "payTime", //微信支付的时间 支付时间 = "payTime", //微信支付的时间
发票状态 = "invoiceStatus", 发票状态 = "invoiceStatus",
备注 = "desc",
届次 = "session",
所缴周期 = "orderCycle",
} }
...@@ -103,22 +164,22 @@ export enum CONFIRMRECEIPTCOLUMNS { ...@@ -103,22 +164,22 @@ export enum CONFIRMRECEIPTCOLUMNS {
* 待开发票导出列-发票管理 * 待开发票导出列-发票管理
*/ */
export enum BILLSTATECOLUMNS { export enum BILLSTATECOLUMNS {
"单位/个人名称" = "name",
会员类别 = "memberCategory",
所缴周期 = "orderCycle",
缴费金额 = "money",
支付单号 = "paymentNum", 支付单号 = "paymentNum",
支付方式 = "paymentMethod", 会员类别 = "memberCategory",
"单位/个人名称" = "name",
"单位代码/个人身份证" = "card", "单位代码/个人身份证" = "card",
备注 = "desc", 缴费金额 = "money",
会员职务 = "memberLevel",
发票邮箱 = "invoiceMail", 发票邮箱 = "invoiceMail",
"电子邮箱" = "mail", 电子邮箱 = "mail",
手机号 = "phone",
支付方式 = "paymentMethod",
审核时间 = "confirmReceiptMs", //什么时候从费用核对通过审核时间 审核时间 = "confirmReceiptMs", //什么时候从费用核对通过审核时间
提交时间 = "operationTime", //上传转账凭证的时间 提交时间 = "operationTime", //上传转账凭证的时间
支付时间 = "payTime", //微信支付的时间
会员职务 = "memberLevel",
手机号="phone",
发票申请时间 = "invoiceTime", 发票申请时间 = "invoiceTime",
支付时间 = "payTime", //微信支付的时间
备注 = "desc",
所缴周期 = "orderCycle",
} }
...@@ -126,22 +187,22 @@ export enum BILLSTATECOLUMNS { ...@@ -126,22 +187,22 @@ export enum BILLSTATECOLUMNS {
* 已开发票导出列-发票管理 * 已开发票导出列-发票管理
*/ */
export enum INVOICEDCOLUMNS { export enum INVOICEDCOLUMNS {
"单位/个人名称" = "name",
会员类别 = "memberCategory",
所缴周期 = "orderCycle",
缴费金额 = "money",
支付单号 = "paymentNum", 支付单号 = "paymentNum",
支付方式 = "paymentMethod", 会员类别 = "memberCategory",
"单位/个人名称" = "name",
"单位代码/个人身份证" = "card", "单位代码/个人身份证" = "card",
备注 = "desc", 缴费金额 = "money",
会员职务 = "memberLevel",
发票邮箱 = "invoiceMail", 发票邮箱 = "invoiceMail",
"电子邮箱" = "mail", 电子邮箱 = "mail",
手机号 = "phone",
支付方式 = "paymentMethod",
审核时间 = "confirmReceiptMs", //什么时候从费用核对通过审核时间 审核时间 = "confirmReceiptMs", //什么时候从费用核对通过审核时间
提交时间 = "operationTime", //上传转账凭证的时间 提交时间 = "operationTime", //上传转账凭证的时间
发票开具时间 = "invoiceExamineTime",
支付时间 = "payTime", //微信支付的时间 支付时间 = "payTime", //微信支付的时间
会员职务 = "memberLevel", 备注 = "desc",
手机号="phone", 所缴周期 = "orderCycle",
发票开具时间 = "invoiceExamineTime"
} }
...@@ -158,7 +219,7 @@ export enum REFUNDCOLUMNS { ...@@ -158,7 +219,7 @@ export enum REFUNDCOLUMNS {
退款账号 = "refundBankCarId", 退款账号 = "refundBankCarId",
开户行 = "refundBankName", 开户行 = "refundBankName",
会员职务 = "memberLevel", 会员职务 = "memberLevel",
手机号="phone" 手机号 = "phone"
} }
......
...@@ -7,7 +7,7 @@ const os = require('os'); ...@@ -7,7 +7,7 @@ const os = require('os');
export let systemConfig = new ServerConfig; export let systemConfig = new ServerConfig;
export const SessionTimeMsConfig = { export const SessionTimeMsConfig = {
"5_1":{activTime:'2013-3-30 08:00:00', timeMs:new Date('2013-3-30 08:00:00').valueOf()}, "5_1":{activTime:'2013-3-30 08:00:00', timeMs:new Date('2013-3-30 08:00:00').valueOf()},
"5_2":{activTime:'2014-4-24 08:00:00', timeMs:new Date('2014-4-24 08:00:00').valueOf()}, "5_2":{activTime:'2014-4-24 08:00:00', timeMs:new Date('2014-4-24 08:00:00').valueOf()},
"5_3":{activTime:'2015-4-10 08:00:00', timeMs:new Date('2015-4-10 08:00:00').valueOf()}, "5_3":{activTime:'2015-4-10 08:00:00', timeMs:new Date('2015-4-10 08:00:00').valueOf()},
"5_4":{activTime:'2015-11-4 08:00:00', timeMs:new Date('2015-11-4 08:00:00').valueOf()}, "5_4":{activTime:'2015-11-4 08:00:00', timeMs:new Date('2015-11-4 08:00:00').valueOf()},
......
...@@ -98,6 +98,7 @@ enum TABLEENUM { ...@@ -98,6 +98,7 @@ enum TABLEENUM {
理事变更审批历史表 = "applyHistoryList", 理事变更审批历史表 = "applyHistoryList",
系统表 = "systemConfig", 系统表 = "systemConfig",
资料变更审批历史表 = "infomationChangeHistory", 资料变更审批历史表 = "infomationChangeHistory",
届次表 = "sessionConfig",
} }
const ModelArray = [ const ModelArray = [
...@@ -534,6 +535,7 @@ const ModelArray = [ ...@@ -534,6 +535,7 @@ const ModelArray = [
source:TABLESOURCEENUM.mongo, source:TABLESOURCEENUM.mongo,
schema:{ schema:{
phone:{type:'String', index:true},//电话号码 phone:{type:'String', index:true},//电话号码
receiveType:"Number", //接受验证码类型
codeNum:'String', codeNum:'String',
sendMs:{type:'Number', index:true},//下发时间 时间戳 sendMs:{type:'Number', index:true},//下发时间 时间戳
type:'Number',//验证码类型 枚举 CODETYPE type:'Number',//验证码类型 枚举 CODETYPE
...@@ -685,6 +687,16 @@ const ModelArray = [ ...@@ -685,6 +687,16 @@ const ModelArray = [
value:{type:'String', index:true},//值 value:{type:'String', index:true},//值
} }
}, },
{
tableName:TABLEENUM.届次表,
source:TABLESOURCEENUM.mongo,
schema:{
sId:{type: 'String', index:true},
session:'Number',//届次【规则:五年一届半年一次(10次一届)】 数据库保存格式:200801【年月(YYYYMM)】
joinTime:'Number',//入会时间 届次绑定入会时间,旧的时间线对应届次按照之前的配置来,新届次对应入会时间按照新届次第一次被审核时间
}
}
]; ];
......
import { changeDB, getMailData, getData, getUnitData } from "./biz/cleanData"; import { changeDB, getMailData, getData, getUnitData, outPutMember } from "./biz/cleanData";
import { sendMail } from "./biz/mail"; import { sendMail } from "./biz/mail";
import { testCallback } from "./biz/member/cost"; import { testCallback } from "./biz/member/cost";
import { initActivity } from "./biz/member/msgActivity"; import { initActivity } from "./biz/member/msgActivity";
...@@ -30,9 +30,11 @@ async function lanuch() { ...@@ -30,9 +30,11 @@ async function lanuch() {
// console.log(moment(1498262400000).format("YYYY-MM-DD HH:mm:SS")) // console.log(moment(1498262400000).format("YYYY-MM-DD HH:mm:SS"))
console.log("服务初始化成功"); console.log("服务初始化成功");
// await sendMail("18711017326@163.com"); // await sendMail("18711017326@163.com");
// await testCallback("e793d4b37c2eac2de13b4df69fa2cc18") // await testCallback("dc1a1414b4368dd4ea657d2d36ba554a")
// await getUnitData(); // await getUnitData();
// await changeDB(); // await changeDB();
// await getData();
// await outPutMember();
} }
lanuch(); lanuch();
......
...@@ -71,6 +71,11 @@ export const Config = { ...@@ -71,6 +71,11 @@ export const Config = {
param:[ param:[
{key:"name", type:"String", desc:"关键字搜索", isNull:true}, {key:"name", type:"String", desc:"关键字搜索", isNull:true},
{key:"changeState", type:"Number", desc:"筛选状态 0是全部 1是通过 2是待审批 3是驳回修改 4是驳回提交", isNull:true}, {key:"changeState", type:"Number", desc:"筛选状态 0是全部 1是通过 2是待审批 3是驳回修改 4是驳回提交", isNull:true},
{key:"unitMemberType", type:"[Number]", desc:"会员类别", isNull:true},
{key:"uscc", type:"String", desc:"统一信用代码", isNull:true},
{key:"legalPerson", type:"String", desc:"法人代表", isNull:true},
{key:"legalPersonPhone", type:"String", desc:"法人联系电话", isNull:true},
{key:"legalPersonMail", type:"String", desc:"法人邮箱", isNull:true},
{key:"pageNumber", type:"Number", desc:"分页"}, {key:"pageNumber", type:"Number", desc:"分页"},
{key:"pageSize", type:"Number", desc:"一页显示大小"}, {key:"pageSize", type:"Number", desc:"一页显示大小"},
], ],
......
...@@ -124,6 +124,7 @@ export const Config = { ...@@ -124,6 +124,7 @@ export const Config = {
contactPersonDuties:{type:'String', desc:'日常联系人职务', notMustHave:false}, contactPersonDuties:{type:'String', desc:'日常联系人职务', notMustHave:false},
phone:{type:'String', desc:'日常联系人手机', notMustHave:false}, phone:{type:'String', desc:'日常联系人手机', notMustHave:false},
uusinessLicenseUrl:{type:'String', desc:'营业执照复印件', notMustHave:false}, uusinessLicenseUrl:{type:'String', desc:'营业执照复印件', notMustHave:false},
applicationForm:{type:'String', desc:'申请表', notMustHave:true}, //页面没有这个参数,兼容报错加上的参数
/**单位信息 */ /**单位信息 */
unitMemberType:{type:'Number', desc:'单位信息类型,枚举', notMustHave:false}, unitMemberType:{type:'Number', desc:'单位信息类型,枚举', notMustHave:false},
yuanXiaoBanXueLeiXing:{type:'Number', desc:'院校办学类型,枚举', notMustHave:false}, yuanXiaoBanXueLeiXing:{type:'Number', desc:'院校办学类型,枚举', notMustHave:false},
...@@ -237,11 +238,13 @@ export const Config = { ...@@ -237,11 +238,13 @@ export const Config = {
legalPerson:{type:'String', desc:'法人代表', notMustHave:true}, legalPerson:{type:'String', desc:'法人代表', notMustHave:true},
legalPersonPhone:{type:'String', desc:'法人联系电话', notMustHave:true}, legalPersonPhone:{type:'String', desc:'法人联系电话', notMustHave:true},
legalPersonMail:{type:'String', desc:'法人邮箱', notMustHave:true}, legalPersonMail:{type:'String', desc:'法人邮箱', notMustHave:true},
// unitMail:{type:'String', desc:'单位电子邮箱', notMustHave:false}, 2024.4.22日的需求 去掉
contactPerson:{type:'String', desc:'日常联系人', notMustHave:true}, contactPerson:{type:'String', desc:'日常联系人', notMustHave:true},
mail:{type:"String", desc:'日常联系人邮箱', notMustHave:false},
contactPersonDuties:{type:'String', desc:'日常联系人职务', notMustHave:true}, contactPersonDuties:{type:'String', desc:'日常联系人职务', notMustHave:true},
phone:{type:'String', desc:'日常联系人手机', notMustHave:true}, phone:{type:'String', desc:'日常联系人手机', notMustHave:true},
mail:{type:'String', desc:'日常联系人邮箱', notMustHave:true},
uusinessLicenseUrl:{type:'String', desc:'营业执照复印件', notMustHave:true}, uusinessLicenseUrl:{type:'String', desc:'营业执照复印件', notMustHave:true},
applicationForm:{type:'String', desc:'申请表', notMustHave:true}, //2025.2.26日加上
/**单位信息 */ /**单位信息 */
unitMemberType:{type:'Number', desc:'单位信息类型,枚举', notMustHave:true}, unitMemberType:{type:'Number', desc:'单位信息类型,枚举', notMustHave:true},
yuanXiaoBanXueLeiXing:{type:'Number', desc:'院校办学类型,枚举', notMustHave:true}, yuanXiaoBanXueLeiXing:{type:'Number', desc:'院校办学类型,枚举', notMustHave:true},
...@@ -322,6 +325,110 @@ export const Config = { ...@@ -322,6 +325,110 @@ export const Config = {
], ],
bindBiz:registerBiz.memberNotSaved bindBiz:registerBiz.memberNotSaved
}, },
{
apiName:"单位资料变更流程2保存未提交",
notMiddleware:false,
subUrl:'/memberdb/unitmemberchangenotsaved',
param:[
{
key:"form", type:"Object", sub:
{
unitName:{type:'String', desc:'单位名称', notMustHave:true},
sheng:{type:'String', desc:'省', notMustHave:true},
shi:{type:'String', desc:'市', notMustHave:true},
qu:{type:'String', desc:'区', notMustHave:true},
addres:{type:'String', desc:'通信地址', notMustHave:true},
uscc:{type:'String', desc:'单位信用代码', notMustHave:true},
legalPerson:{type:'String', desc:'法人代表', notMustHave:true},
legalPersonPhone:{type:'String', desc:'法人联系电话', notMustHave:true},
legalPersonMail:{type:'String', desc:'法人邮箱', notMustHave:true},
// unitMail:{type:'String', desc:'单位电子邮箱', notMustHave:false}, 2024.4.22日的需求 去掉
contactPerson:{type:'String', desc:'日常联系人', notMustHave:true},
contactPersonDuties:{type:'String', desc:'日常联系人职务', notMustHave:true},
phone:{type:'String', desc:'日常联系人手机', notMustHave:true},
mail:{type:'String', desc:'日常联系人邮箱', notMustHave:true},
uusinessLicenseUrl:{type:'String', desc:'营业执照复印件', notMustHave:true},
applicationForm:{type:'String', desc:'申请表', notMustHave:true}, //2025.2.26日加上
/**单位信息 */
unitMemberType:{type:'Number', desc:'单位信息类型,枚举', notMustHave:true},
yuanXiaoBanXueLeiXing:{type:'Number', desc:'院校办学类型,枚举', notMustHave:true},
yuanXiaoZhuGuanBuMen:{type:'String', desc:'院校主管部门', notMustHave:true},
yuanXiaoFuZeRen:{type:'String', desc:'院校主要负责人', notMustHave:true},
yuanXiaoFuZeRenZhiWu:{type:'String', desc:'院校主要负责人职务', notMustHave:true},
yuanXiaoFuZeRenDianHua:{type:'String', desc:'院校主要负责人电话', notMustHave:true},
yuanXiaoBanGongFuZeRen:{type:'String', desc:'院校办公负责人', notMustHave:true},
yuanXiaoBanGongFuZeRenDianHua:{type:'String', desc:'院校办公负责人电话', notMustHave:true},
ZhuYaoFuZeRenYouXiang:{type:'String', desc:'主要负责人邮箱', notMustHave:true},
yuanXiaoKeYanFuZeRen:{type:'String', desc:'院校科研负责人', notMustHave:true},
yuanXiaoKeYanFuZeRenDianHua:{type:'String', desc:'院校科研负责人电话', notMustHave:true},
jiaoXueFuZeRenXinMing:{type:'String', desc:'教学负责人姓名', notMustHave:true},
yuanXiaoXueShengZongRenShu:{type:'Number', desc:'院校学生总人数', notMustHave:true},
yuanXiaoJiaoZhiGongZongRenShu:{type:'Number', desc:'院校教职工总人数', notMustHave:true},
jiaoXueFuZeRenDianHua:{type:'String', desc:'教学负责人电话', notMustHave:true},
kaishezhuanYe:{type:'String', desc:'开设专业', notMustHave:true},
danWeiJianJie:{type:'String', desc:'单位简介', notMustHave:true},
}
},
// {
// key:"keyanForm", type:"[Object]", desc:"单位所获得科研成果表单", isNull:true
// },
{
key:"keyanForm", type:"[Object]", sub:
{
startTime:{type:'Number', desc:'开始时间', notMustHave:true},
endTime:{type:'Number', desc:'结束时间', notMustHave:true},
describe:{type:'String', desc:'科研描述', notMustHave:true},
},
desc:"单位所获得科研成果表单"
},
{
key:"id", type:"String", desc:"会员id"
}
],
bindBiz:registerBiz.unitMemberChangeNotSaved
},
{
apiName:"个人资料变更流程保存未提交",
notMiddleware:false,
subUrl:'/memberdb/memberchangenotsaved',
param:[
{
key:"form", type:"Object", sub:
{
name:{type:'String', desc:'真实姓名', notMustHave:true},
sex:{type:'Number', desc:'性别', notMustHave:true},
documentType:{type:'Number', desc:'证件类型', notMustHave:true},
documentId:{type:'String', desc:'证件号码', notMustHave:true},
birth:{type:'Number', desc:'出生年月', notMustHave:true},
nation:{type:'Number', desc:'民族', notMustHave:true},
sheng:{type:'String', desc:'省', notMustHave:true},
shi:{type:'String', desc:'市', notMustHave:true},
qu:{type:'String', desc:'区', notMustHave:true},
addres:{type:'String', desc:'通信地址', notMustHave:true},
education:{type:'Number', desc:'学历', notMustHave:true},
photoUrl:{type:'String', desc:'蓝底证件照', notMustHave:true},
unitName:{type:'String', desc:'工作单位', notMustHave:true},
duties:{type:'String', desc:'职务', notMustHave:true},
workTitle:{type:'String', desc:'职称', notMustHave:true},
profCategory:{type:'[Number]', desc:'专业类别', notMustHave:true},
studyResume:{type:'String', desc:'学习简历', notMustHave:true},
workResume:{type:'String', desc:'工作简历', notMustHave:true},
profAchievement:{type:'String', desc:'专业成果', notMustHave:true},
otherEMP:{type:'String', desc:'在其他社会组织任职情况', notMustHave:true},
otherPROF:{type:'String', desc:'其他与本学会专业有关的情况', notMustHave:true},
cardUrlJust:{type:'String', desc:'个人身份证扫描件正面', notMustHave:true},
cardUrlBack:{type:'String', desc:'个人身份证扫描件反面', notMustHave:true},
academicCERTUrl:{type:'String', desc:'个人学历证明扫描件', notMustHave:true},
professionalCERTUrl:{type:'String', desc:'个人工作证明扫描件', notMustHave:true},
auxiliaryMaterial:{type:'[String]', desc:'论文发表等证明工作成果或成绩的材料', notMustHave:true},
}
},
{
key:"id", type:"String", desc:"会员id"
}
],
bindBiz:registerBiz.memberChangeNotSaved
},
], ],
"登陆相关":[ "登陆相关":[
{ {
...@@ -379,6 +486,7 @@ export const Config = { ...@@ -379,6 +486,7 @@ export const Config = {
{key:"session", type:"Number", desc:"届次", isNull:true}, {key:"session", type:"Number", desc:"届次", isNull:true},
{key:"memberState", type:"Number", desc:"状态", isNull:true}, {key:"memberState", type:"Number", desc:"状态", isNull:true},
{key:"lableId", type:"[String]", desc:"标签Id", isNull:true}, {key:"lableId", type:"[String]", desc:"标签Id", isNull:true},
{key:"yuanXiaoBanXueLeiXing", type:"[Number]", desc:"办学类型", isNull:true},
{key:"pageNumber", type:"Number", desc:"当前页"} {key:"pageNumber", type:"Number", desc:"当前页"}
], ],
bindBiz:memberBiz.unitMemberList bindBiz:memberBiz.unitMemberList
...@@ -1054,6 +1162,13 @@ export const Config = { ...@@ -1054,6 +1162,13 @@ export const Config = {
bindBiz:homePageBiz.getCertificateType bindBiz:homePageBiz.getCertificateType
}, },
{ {
apiName:"获取可下载缴费通知年份列表",
subUrl:'/homepage/getyearlist',
param:[
],
bindBiz:homePageBiz.getYearList
},
{
apiName:"能否申请变更理事", apiName:"能否申请变更理事",
subUrl:'/homepage/getapply', subUrl:'/homepage/getapply',
param:[ param:[
......
...@@ -62,6 +62,7 @@ export const Config = { ...@@ -62,6 +62,7 @@ export const Config = {
apiName:"动态资讯列表", apiName:"动态资讯列表",
subUrl:'/dongtaizixun', subUrl:'/dongtaizixun',
param:[ param:[
{key:"searchValue", type:"string", desc:"搜索内容"},
{key:"type", type:"Number", desc:"政策动向学会动态行业风采,参考公用接口"}, {key:"type", type:"Number", desc:"政策动向学会动态行业风采,参考公用接口"},
{key:"pageNumber", type:"Number", desc:"当前页"}, {key:"pageNumber", type:"Number", desc:"当前页"},
], ],
...@@ -176,6 +177,7 @@ export const Config = { ...@@ -176,6 +177,7 @@ export const Config = {
apiName:"主题教育", apiName:"主题教育",
subUrl:'/tongzhigonggao', subUrl:'/tongzhigonggao',
param:[ param:[
{key:"searchValue", type:"string", desc:"搜索内容"},
{key:"type", type:"Number", desc:"类型 参考公用组件"}, {key:"type", type:"Number", desc:"类型 参考公用组件"},
{key:"pageNumber", type:"Number", desc:"单前页"} {key:"pageNumber", type:"Number", desc:"单前页"}
], ],
......
...@@ -243,20 +243,34 @@ export const Config = { ...@@ -243,20 +243,34 @@ export const Config = {
bindBiz:publicBiz.setEnumInterface bindBiz:publicBiz.setEnumInterface
}, },
{ {
apiName:"导出审核单位会员数据列", apiName:"导出会员库单位会员数据列",
subUrl:'/unitauditingcolumns', subUrl:'/unitauditingcolumns',
param:[], param:[],
defaultParam:outPutConfig.UNITAUDITINGCOLUMNS, defaultParam:outPutConfig.UNITAUDITINGCOLUMNS,
bindBiz:publicBiz.setEnumInterface bindBiz:publicBiz.setEnumInterface
}, },
{ {
apiName:"导出审核个人会员数据列", apiName:"导出会员库个人会员数据列",
subUrl:'/auditingcolumns', subUrl:'/auditingcolumns',
param:[], param:[],
defaultParam:outPutConfig.AUDITINGCOLUMNS, defaultParam:outPutConfig.AUDITINGCOLUMNS,
bindBiz:publicBiz.setEnumInterface bindBiz:publicBiz.setEnumInterface
}, },
{ {
apiName:"导出入会审批单位会员数据列",
subUrl:'/applyunitauditingcolumns',
param:[],
defaultParam:outPutConfig.APPLYUNITAUDITINGCOLUMNS,
bindBiz:publicBiz.setEnumInterface
},
{
apiName:"导出入会审批个人会员数据列",
subUrl:'/applyauditingcolumns',
param:[],
defaultParam:outPutConfig.APPLYAUDITINGCOLUMNS,
bindBiz:publicBiz.setEnumInterface
},
{
apiName:"获取所有标签id", apiName:"获取所有标签id",
subUrl:'/lable', subUrl:'/lable',
param:[], param:[],
......
...@@ -8,6 +8,9 @@ import moment = require("moment"); ...@@ -8,6 +8,9 @@ import moment = require("moment");
import { wenZhangQueue } from "../biz/task"; import { wenZhangQueue } from "../biz/task";
import { MEMBERTYPE } from "../config/enum"; import { MEMBERTYPE } from "../config/enum";
import { SessionTimeMsConfig } from "../config/serverConfig"; import { SessionTimeMsConfig } from "../config/serverConfig";
import { TABLEENUM } from "../data/models/model";
import { findOnce } from "../data/select";
import { addOneData } from "../data/add";
const md5 = require("md5"); const md5 = require("md5");
/** /**
...@@ -125,8 +128,6 @@ export function getSessionByEdition(year, month) { ...@@ -125,8 +128,6 @@ export function getSessionByEdition(year, month) {
* 下拉选择起始届次:2008年第四届第一次 * 下拉选择起始届次:2008年第四届第一次
* @returns * @returns
*/ */
export function getEdition(year, month) { export function getEdition(year, month) {
//起始年份和月份 第一届第一次 //起始年份和月份 第一届第一次
const startYear = 1993; const startYear = 1993;
...@@ -225,6 +226,29 @@ export function getMenberNum( joinTime, sheng, userCount, memberType) { ...@@ -225,6 +226,29 @@ export function getMenberNum( joinTime, sheng, userCount, memberType) {
/** /**
* 通过届次获取入会时间
*/
export async function sessionToJoinTime(session, id) {
let joinTime = 0;
let sessionDate = await findOnce(TABLEENUM.届次表, {session});
if (!sessionDate) {
joinTime = new Date().valueOf();
let addInfo = {
sId:generateSystemId(TABLEENUM.届次表, id),
session,
joinTime
}
await addOneData(TABLEENUM.届次表, addInfo);
} else {
joinTime = sessionDate.joinTime;
}
return joinTime;
}
/**
* 生成密码 * 生成密码
* @param userId * @param userId
* @returns * @returns
......
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