Commit 2450c0d8 by chenjinjing

no message

parent e3d47554
File added
File added
/**
* 数据清洗
*/
import moment = require("moment");
import { BANXUELEIXING, CERTIFICATETYPE, DOCUMENTTYPE, INDIVIDUALMEMBERTYPE, MEMBERLEVEL, MEMBERSTATE, MEMBERTYPE, STATE, USERREGISTERSTATE } from "../config/enum";
import { TABLEENUM } from "../data/models/model";
import { find, findOnce } from "../data/select";
import { updateOneData } from "../data/update";
import { BizError } from "../util/bizError";
import { changeEnumValue } from "../util/verificationEnum";
import { getCityNameByCode } from "../config/cityConfig";
import { getEdition } from "../tools/system";
const path = require('path');
const fs = require('fs');
const xlsx = require('xlsx');
const lodash = require('lodash');
export async function getUnitData() {
let selectParam = {
isAdmin:STATE.,
memberType: MEMBERTYPE.单位会员,
userRegisterState: USERREGISTERSTATE.通过
};
let selectTitle = ["入会时间", "是否是导入用户", "注册手机号", "日常联系人手机号码", "会员状态", "证书类型", "个人会员类型", "会员等级/职务",
"是否处于宽限期", "用户名", "联系电话", "电子邮箱", "单位邮箱", "单位名称", "统一信用代码",
"法人代表", "法人代表联系电话", "法人邮箱", "日常联系人", "日常联系人职务", "营业执照", "单位会员类型",
"院校办学类型", "院校主管部门", "院校主要负责人", "院校主要负责人职务", "院校主要负责人电话", "院校办公负责人", "院校办公负责人电话",
"主要负责人邮箱", "院校科研负责人", "院校科研负责人电话", "教学负责人姓名", "院校学生总人数", "教职工总人数", "教学负责人电话", "开设专业", "单位简介"];
let selectConf = ["joinTime", "isInput", "phone", "phone", "memberState", "certificateType", "individualMemberType", "memberLevel",
"isGracePeriod", "loginId", "phone", "mail", "unitMail", "unitName", "uscc",
"legalPerson", "legalPersonPhone", "legalPersonMail", "contactPerson", "contactPersonDuties", "uusinessLicenseUrl", "unitMemberType",
"yuanXiaoBanXueLeiXing", "yuanXiaoZhuGuanBuMen", "yuanXiaoFuZeRen", "yuanXiaoFuZeRenZhiWu", "yuanXiaoFuZeRenDianHua", "yuanXiaoBanGongFuZeRen", "yuanXiaoBanGongFuZeRenDianHua",
"ZhuYaoFuZeRenYouXiang", "yuanXiaoKeYanFuZeRen", "yuanXiaoKeYanFuZeRenDianHua", "jiaoXueFuZeRenXinMing", "yuanXiaoXueShengZongRenShu", "yuanXiaoJiaoZhiGongZongRenShu", "jiaoXueFuZeRenDianHua", "kaishezhuanYe", "danWeiJianJie"];
let dbList = await find(TABLEENUM.用户表, selectParam, selectConf);
let timeChnageList = ["joinTime"];
let addList = ["sheng", "shi", "qu"];
let dataList = [];
for (let i = 0; i < dbList.length; i++) {
let info = dbList[i];
// let subList = [];
let subInfo = {};
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 == "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 == "unitMemberType") value = changeEnumValue(MEMBERTYPE, value);
else if (key == "memberLevel") value = changeEnumValue(MEMBERLEVEL, 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 (addList.indexOf(key) != -1) value = getCityNameByCode(value);
}
// subList.push(value);
subInfo[selectTitle[i]] = value;
}
dataList.push(subInfo);
}
// let selectTitle = ["userId", "uscc", "名称", "注册手机号码", "日常联系人手机号", "是否导入数据"];
// let selectConf = ["userId", "uscc", "unitName", "phone", "contactPersonPhone", "isInput"];
// let dbList = await find(TABLEENUM.用户表, selectParam, selectConf);
// let dataList = [];
// for (let i = 0; i < dbList.length; i++) {
// let info = dbList[i];
// let subList = [];
// let subInfo = {};
// for (let i = 0; i < selectConf.length; i++) {
// let key = selectConf[i];
// let value = info[key] || "";
// // subList.push(value);
// if (value) {
// if (key == "isInput" || key == "isGracePeriod") value = value == true ? "是" : "否";
// }
// subInfo[selectTitle[i]] = value;
// }
// dataList.push(subInfo);
// }
writeExcel(dataList, 'unitManber.xlsx');
console.log('单位会员数据已输出到 unitManber.xlsx');
}
export function getData() {
const oldMembers = readExcel(path.join(__dirname.substring(0,__dirname.indexOf("out")), "res", '20250307财务订单信息表.xlsx' ));
const newMembers = readExcel(path.join(__dirname.substring(0,__dirname.indexOf("out")), "res", '20250307个人会员数据.xlsx' ));
// 用于存储匹配到的重复数据
const duplicates = [];
// 用于存储不匹配的数据
const mismatches = [];
// 用于存储不匹配的邮箱数据
const mismatchesMail = [];
// 遍历新会员数据,与旧会员数据进行匹配
newMembers.forEach(newMember => {
const match = lodash.find(oldMembers, oldMember => {
return oldMember['会员单位名称/姓名'] === newMember['姓名'];
});
if (match) {
// duplicates.push({
// 姓名: newMember['姓名'],
// 证件号码: newMember['证件号码'],
// 手机号码: newMember['手机号码']
// });
// 检查身份证号码、手机号码、邮箱是否匹配
if (
match['注册邮箱'] !== newMember['邮箱'] ||
match['注册邮箱'] !== match['发票邮箱']
// match['证件号码'] !== newMember['证件号码'] ||
// match['手机号码'] !== newMember['手机号码'] ||
// match['邮箱'] !== newMember['邮箱']
) {
mismatchesMail.push({
姓名: newMember['姓名'],
// 导入身份证号码: match['证件号码'],
// 数据库身份证号码: newMember['证件号码'],
邮箱: newMember['邮箱'],
注册邮箱: match['注册邮箱'],
发票邮箱: match['发票邮箱'],
// 导入邮箱: match['邮箱'],
// 数据库邮箱: newMember['邮箱']
});
}
}
});
// // 输出重复数据到Excel文件
writeExcel(mismatchesMail, 'mail.xlsx');
console.log('重复数据已输出到 mail.xlsx');
// 输出不匹配的数据到Excel文件
// writeExcel(mismatches, 'mismatches.xlsx');
// console.log('不匹配的数据已输出到 mismatches.xlsx');
console.log();
}
export function getMailData() {
const oldMembers = readExcel(path.join(__dirname.substring(0,__dirname.indexOf("out")), "res", '20250307财务订单信息表.xlsx' ));
const newMembers = readExcel(path.join(__dirname.substring(0,__dirname.indexOf("out")), "res", '20250307个人会员数据.xlsx' ));
// 用于存储不匹配的数据
const mismatches = [];
// 遍历新会员数据,与旧会员数据进行匹配
newMembers.forEach(newMember => {
const match = lodash.find(oldMembers, oldMember => {
return oldMember['会员单位名称/姓名'] === newMember['姓名'];
});
if (match) {
// 检查身份证号码、手机号码、邮箱是否匹配
if (
match['注册邮箱'] !== newMember['邮箱']
// match['证件号码'] !== newMember['证件号码'] ||
// match['手机号码'] !== newMember['手机号码'] ||
// match['邮箱'] !== newMember['邮箱']
) {
if (match['注册邮箱']) {
mismatches.push({
姓名: newMember['姓名'],
// 导入身份证号码: match['证件号码'],
// 数据库身份证号码: newMember['证件号码'],
// 导入手机号码: match['手机号码'],
// 数据库手机号码: newMember['手机号码'],
导入邮箱: match['注册邮箱'],
导入发票邮箱: match['发票邮箱'],
数据库邮箱: newMember['邮箱']
});
}
}
}
});
// 输出不匹配的数据到Excel文件
writeExcel(mismatches, 'mismatches.xlsx');
console.log('不匹配的数据已输出到 mismatches.xlsx');
console.log();
}
// 读取Excel文件
function readExcel(filePath) {
const workbook = xlsx.readFile(filePath);
const sheetName = workbook.SheetNames[0];
const sheet = workbook.Sheets[sheetName];
return xlsx.utils.sheet_to_json(sheet);
}
// 匹配新旧会员数据
function matchMembers(oldMembers, newMembers) {
const matchedMembers = [];
newMembers.forEach(newMember => {
const oldMember = oldMembers.find(old =>
// `${old['姓名']}-${old['证件号码']}` === `${newMember['姓名']}-${newMember['证件号码']}`
old['姓名'] === newMember['姓名']
);
if (oldMember) {
matchedMembers.push({
...oldMember,
...newMember
});
}
});
return matchedMembers;
}
// 写入Excel文件
function writeExcel(data, filePath) {
const worksheet = xlsx.utils.json_to_sheet(data);
const workbook = xlsx.utils.book_new();
xlsx.utils.book_append_sheet(workbook, worksheet, 'Sheet1');
xlsx.writeFile(workbook, filePath);
}
function getExcel(filePath) {
const workSheetsFromFile = xlsx.parse(filePath);
let sheetMap = {};
let sheetList = [];
for (let i = 0; i < workSheetsFromFile.length; i++) {
let sheetInfo = workSheetsFromFile[i];
sheetMap[sheetInfo.name] = sheetInfo.data;
sheetList.push(sheetInfo);
}
return {sheetMap, sheetList}
}
/**
* 核对后修改身份证
*/
export async function changeDB() {
const oldMembers = readExcel(path.join(__dirname.substring(0,__dirname.indexOf("out")), "res", '身份证差异.xlsx' ));
for (let i = 0; i < oldMembers.length; i++){
let old = oldMembers[i];
let {姓名, 导入身份证号码, 数据库身份证号码} = old;
let dbData = await findOnce(TABLEENUM.用户表, {name:姓名, documentId:数据库身份证号码});
if (!dbData) throw new BizError(`${姓名}-${数据库身份证号码}:未找到对应数据`);
let row = await updateOneData(TABLEENUM.用户表, {name:姓名, documentId:数据库身份证号码}, {documentId:导入身份证号码});
if(row) console.log(`${姓名} ==> 错误身份证:${数据库身份证号码} 修复完成身份证:${导入身份证号码}`)
console.log(row);
}
let documentTypeConf = [
{
"姓名":"陈日杰",
"证件类型":"港澳通行证",
"证件号码":"10337112"
},
{
"姓名":"陳玟陵",
"证件类型":"台胞证",
"证件号码":"00103967"
},
{
"姓名":"沈卡婷",
"证件类型":"港澳通行证",
"证件号码":"02018594"
},
{
"姓名":"黄馥君",
"证件类型":"台胞证",
"证件号码":"03537113"
},
];
for (let i = 0; i < documentTypeConf.length; i++) {
let {姓名, 证件类型, 证件号码} = documentTypeConf[i];
let documentTypeData = await findOnce(TABLEENUM.用户表, {name:姓名, documentId:证件号码});
if (!documentTypeData) throw new BizError(`${姓名}-${证件号码}:未找到对应数据`);
let documentType = DOCUMENTTYPE[证件类型];
let row = await updateOneData(TABLEENUM.用户表, {name:姓名, documentId:证件号码}, {documentType});
if(row) console.log(`${姓名} ==> 身份证:${证件号码} 修复完成身份证类型:${documentType}-${证件类型}`)
console.log(row);
}
}
...@@ -10,27 +10,27 @@ import { eccEnumValue } from "../util/verificationEnum"; ...@@ -10,27 +10,27 @@ import { eccEnumValue } from "../util/verificationEnum";
const nodemailer = require('nodemailer'); const nodemailer = require('nodemailer');
// 创建发送邮件的传输对象 // 创建发送邮件的传输对象
// let transporter = nodemailer.createTransport({
// host: 'smtp.163.com', // SMTP 服务器地址
// port: 465, // SMTP 服务器端口(通常是 465 或 587)
// secure: true, // 使用 SSL
// auth: {
// user: 'cefa_office@163.com', // 你的邮箱地址
// pass: 'EJRazhkkXK65gnLe' // 你的邮箱密码或应用专用密码
// }
// });
// 测试用邮箱地址
let transporter = nodemailer.createTransport({ let transporter = nodemailer.createTransport({
host: 'smtp.qq.com', // SMTP 服务器地址 host: 'smtp.163.com', // SMTP 服务器地址
port: 465, // SMTP 服务器端口(通常是 465 或 587) port: 465, // SMTP 服务器端口(通常是 465 或 587)
secure: true, // 使用 SSL secure: true, // 使用 SSL
auth: { auth: {
user: '3102438911@qq.com', // 你的邮箱地址 user: 'cefa_office@163.com', // 你的邮箱地址
pass: 'erdfcv425860.' // 你的邮箱密码或应用专用密码 pass: 'EJRazhkkXK65gnLe' // 你的邮箱密码或应用专用密码
} }
}); });
// 测试用邮箱地址
// let transporter = nodemailer.createTransport({
// host: 'smtp.qq.com', // SMTP 服务器地址
// port: 465, // SMTP 服务器端口(通常是 465 或 587)
// secure: true, // 使用 SSL
// auth: {
// user: '3102438911@qq.com', // 你的邮箱地址
// pass: 'erdfcv425860.' // 你的邮箱密码或应用专用密码
// }
// });
async function send(toMail, name, type) { async function send(toMail, name, type) {
......
...@@ -294,8 +294,8 @@ export async function outPutConfirmReceipt({exportColumns, payType, examineState ...@@ -294,8 +294,8 @@ 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", let userInfo = await findOnce(TABLEENUM.用户表, {userId:info.userId}, ["memberState", "name", "session", "unitName", "documentId", "uscc", "mail", "memberLevel", "phone"]);
"unitMail", "memberLevel", "phone"]); let orderInfo = await findOnceToSort(TABLEENUM.订单审批历史表, {orderId:info.id,operationBehavior:ORDEREXAMINE.用户提交, refundName:null}, {operationTime:-1}, ["operationTime"]);
let subList = []; let subList = [];
for (let i = 0; i < selectConf.length; i++) { for (let i = 0; i < selectConf.length; i++) {
let key = selectConf[i]; let key = selectConf[i];
...@@ -309,8 +309,18 @@ export async function outPutConfirmReceipt({exportColumns, payType, examineState ...@@ -309,8 +309,18 @@ export async function outPutConfirmReceipt({exportColumns, payType, examineState
else if (info.memberCategory == MEMBERTYPE.单位会员) value = userInfo.uscc; else if (info.memberCategory == MEMBERTYPE.单位会员) value = userInfo.uscc;
} }
if (key == "mail") { if (key == "mail") {
if (info.memberCategory == MEMBERTYPE.个人会员) value = userInfo.mail; value = userInfo.mail;
else if (info.memberCategory == MEMBERTYPE.单位会员) value = userInfo.unitMail; }
if (key == "phone") {
value = userInfo.phone;
}
if (key == "memberLevel") {
value = changeEnumValue(MEMBERLEVEL, userInfo.memberLevel);
}
if (key == "operationTime") {
if (orderInfo && orderInfo.operationTime) value = moment(orderInfo.operationTime).format("YYYY-MM-DD");
else value = "-"
} }
if (key == "paymentMethod" || key == "paymentNum") { if (key == "paymentMethod" || key == "paymentNum") {
if (!info.paymentMethod) { if (!info.paymentMethod) {
...@@ -327,7 +337,7 @@ export async function outPutConfirmReceipt({exportColumns, payType, examineState ...@@ -327,7 +337,7 @@ export async function outPutConfirmReceipt({exportColumns, payType, examineState
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);
} }
......
...@@ -340,13 +340,13 @@ export async function backInvoice({id}) { ...@@ -340,13 +340,13 @@ export async function backInvoice({id}) {
let selectFile = ["id", "unitName", "userId", "orderCycleStart", "orderCycleEnd", "money", "paymentMethod", "memberCategory", "paymentNum", "desc", let selectFile = ["id", "unitName", "userId", "orderCycleStart", "orderCycleEnd", "money", "paymentMethod", "memberCategory", "paymentNum", "desc",
"invoiceMail", "confirmReceiptMs", "payTime", "invoiceTime"]; "invoiceMail", "confirmReceiptMs", "payTime", "invoiceTime"];
let dbList = await find(TABLEENUM.订单表, findParam, selectFile); let dbList = await find(TABLEENUM.订单表, findParam, selectFile);
let timeChnageList = ["orderCycleStart", "operationTime", "confirmReceiptMs", "payTime"]; let timeChnageList = ["orderCycleStart", "operationTime", "confirmReceiptMs", "payTime", "invoiceTime"];
let memberChnageList = ["name", "card", "mail"]; let memberChnageList = ["name", "card", "mail"];
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", "unitMail", "memberLevel", "phone"]); let userInfo = await findOnce(TABLEENUM.用户表, {userId:info.userId}, ["memberState", "name", "unitName", "documentId", "uscc", "mail", "memberLevel", "phone"]);
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 = []; let subList = [];
for (let i = 0; i < selectConf.length; i++) { for (let i = 0; i < selectConf.length; i++) {
...@@ -361,8 +361,17 @@ export async function backInvoice({id}) { ...@@ -361,8 +361,17 @@ export async function backInvoice({id}) {
else if (info.memberCategory == MEMBERTYPE.单位会员) value = userInfo.uscc; else if (info.memberCategory == MEMBERTYPE.单位会员) value = userInfo.uscc;
} }
if (key == "mail") { if (key == "mail") {
if (info.memberCategory == MEMBERTYPE.个人会员) value = userInfo.mail; value = userInfo.mail;
else if (info.memberCategory == MEMBERTYPE.单位会员) value = userInfo.unitMail; }
if (key == "phone") {
value = userInfo.phone;
}
if (key == "memberLevel") {
value = changeEnumValue(MEMBERLEVEL, userInfo.memberLevel);
}
if (key == "operationTime") {
if (orderInfo && orderInfo.operationTime) value = moment(orderInfo.operationTime).format("YYYY-MM-DD");
else value = "-"
} }
if (key == "paymentMethod" || key == "paymentNum") { if (key == "paymentMethod" || key == "paymentNum") {
if (!info.paymentMethod) { if (!info.paymentMethod) {
...@@ -380,7 +389,7 @@ export async function backInvoice({id}) { ...@@ -380,7 +389,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);
} }
subList.push(value); subList.push(value);
...@@ -461,7 +470,7 @@ export async function billStateBatchAdopt({idList}) { ...@@ -461,7 +470,7 @@ export async function billStateBatchAdopt({idList}) {
* @param isPay 是否支付 * @param isPay 是否支付
* @param pageNumber 当前页 * @param pageNumber 当前页
*/ */
export async function invoicedList({name, memberType, documentId, invoiceExamineTime, phone, mail, memberLevel, paymentType, isPay, weChartPR, pageNumber}) { export async function invoicedList({name, memberType, documentId, invoiceExamineTime, phone, memberLevel, paymentType, isPay, weChartPR, state, pageNumber}) {
eccEnumValue("发票列表", "支付类型", PAYMENTTYPE, paymentType); eccEnumValue("发票列表", "支付类型", PAYMENTTYPE, paymentType);
eccEnumValue("发票列表", "是否支付", ISPAYENUM, isPay ); eccEnumValue("发票列表", "是否支付", ISPAYENUM, isPay );
...@@ -494,10 +503,16 @@ export async function invoicedList({name, memberType, documentId, invoiceExamine ...@@ -494,10 +503,16 @@ export async function invoicedList({name, memberType, documentId, invoiceExamine
isSelectUser = true; isSelectUser = true;
itemParam.documentId = documentId; itemParam.documentId = documentId;
} }
if (mail) { // if (mail) {
// isSelectUser = true;
// itemParam.mail = mail;
// }
if (state) {
isSelectUser = true; isSelectUser = true;
itemParam.mail = mail; itemParam.memberState = state;
} }
if (memberLevel && memberLevel.length) { if (memberLevel && memberLevel.length) {
isSelectUser = true; isSelectUser = true;
itemParam.memberLevel = {"$in":memberLevel}; itemParam.memberLevel = {"$in":memberLevel};
...@@ -517,13 +532,14 @@ export async function invoicedList({name, memberType, documentId, invoiceExamine ...@@ -517,13 +532,14 @@ export async function invoicedList({name, memberType, documentId, invoiceExamine
if (isPay) findParam.state = isPay; if (isPay) findParam.state = isPay;
if (weChartPR) findParam.paymentNum = {"$regex":`${weChartPR}`}; if (weChartPR) findParam.paymentNum = {"$regex":`${weChartPR}`};
let selectFile = ["id", "unitName", "orderCycleStart", "orderCycleEnd", "money", "invoiceExamineTime", "paymentMethod", "memberCategory", "state", "paymentNum", "userId", "desc"]; let selectFile = ["id", "unitName", "orderCycleStart", "orderCycleEnd", "money", "invoiceExamineTime", "paymentMethod", "memberCategory", "state",
"paymentNum", "userId", "desc", "invoiceMail"];
let dbList = await findToPage(TABLEENUM.订单表, findParam, selectFile, pageNumber); let dbList = await findToPage(TABLEENUM.订单表, findParam, selectFile, pageNumber);
let dataCount = await findCount(TABLEENUM.订单表, findParam); let dataCount = await findCount(TABLEENUM.订单表, findParam);
let dataList = []; let dataList = [];
let itemFile = ["id", "unitName", "money", "paymentNum", "state", "userId", "memberCategory", "paymentMethod", "desc", "invoiceExamineTime"]; let itemFile = ["id", "unitName", "money", "paymentNum", "state", "userId", "memberCategory", "paymentMethod", "desc", "invoiceExamineTime", "invoiceMail"];
for (let i = 0; i < dbList.length; i++) { for (let i = 0; i < dbList.length; i++) {
let info = dbList[i]; let info = dbList[i];
...@@ -549,6 +565,7 @@ export async function invoicedList({name, memberType, documentId, invoiceExamine ...@@ -549,6 +565,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);
} }
...@@ -572,7 +589,8 @@ export async function invoicedList({name, memberType, documentId, invoiceExamine ...@@ -572,7 +589,8 @@ export async function invoicedList({name, memberType, documentId, invoiceExamine
selectConf.push(info.value); selectConf.push(info.value);
}) })
let selectFile = ["id", "unitName", "userId", "orderCycleStart", "orderCycleEnd", "invoiceExamineTime", "money", "paymentMethod", "memberCategory", "paymentNum", "desc", "invoiceMail", "confirmReceiptMs", "payTime"]; let selectFile = ["id", "unitName", "userId", "orderCycleStart", "orderCycleEnd", "invoiceExamineTime", "money", "paymentMethod", "memberCategory", "paymentNum",
"desc", "invoiceMail", "confirmReceiptMs", "payTime"];
let dbList = await find(TABLEENUM.订单表, findParam, selectFile); let dbList = await find(TABLEENUM.订单表, findParam, selectFile);
let timeChnageList = ["orderCycleStart", "operationTime", "confirmReceiptMs", "payTime"]; let timeChnageList = ["orderCycleStart", "operationTime", "confirmReceiptMs", "payTime"];
...@@ -580,7 +598,8 @@ export async function invoicedList({name, memberType, documentId, invoiceExamine ...@@ -580,7 +598,8 @@ export async function invoicedList({name, memberType, documentId, invoiceExamine
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", "unitMail", "memberLevel", "phone"]); let userInfo = await findOnce(TABLEENUM.用户表, {userId:info.userId}, ["memberState", "name", "unitName", "documentId", "uscc", "mail", "memberLevel", "phone"]);
let orderInfo = await findOnceToSort(TABLEENUM.订单审批历史表, {orderId:info.id,operationBehavior:ORDEREXAMINE.已开票}, {operationTime:-1}, ["operationTime"]);
let subList = []; let subList = [];
for (let i = 0; i < selectConf.length; i++) { for (let i = 0; i < selectConf.length; i++) {
let key = selectConf[i]; let key = selectConf[i];
...@@ -594,8 +613,17 @@ export async function invoicedList({name, memberType, documentId, invoiceExamine ...@@ -594,8 +613,17 @@ export async function invoicedList({name, memberType, documentId, invoiceExamine
else if (info.memberCategory == MEMBERTYPE.单位会员) value = userInfo.uscc; else if (info.memberCategory == MEMBERTYPE.单位会员) value = userInfo.uscc;
} }
if (key == "mail") { if (key == "mail") {
if (info.memberCategory == MEMBERTYPE.个人会员) value = userInfo.mail; value = userInfo.mail;
else if (info.memberCategory == MEMBERTYPE.单位会员) value = userInfo.unitMail; }
if (key == "phone") {
value = userInfo.phone;
}
if (key == "memberLevel") {
value = changeEnumValue(MEMBERLEVEL, userInfo.memberLevel);
}
if (key == "operationTime") {
if (orderInfo && orderInfo.operationTime) value = moment(orderInfo.operationTime).format("YYYY-MM-DD");
else value = "-"
} }
if (key == "paymentMethod" || key == "paymentNum") { if (key == "paymentMethod" || key == "paymentNum") {
if (!info.paymentMethod) { if (!info.paymentMethod) {
...@@ -609,7 +637,7 @@ export async function invoicedList({name, memberType, documentId, invoiceExamine ...@@ -609,7 +637,7 @@ export async function invoicedList({name, memberType, documentId, invoiceExamine
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);
} }
subList.push(value); subList.push(value);
......
...@@ -35,8 +35,8 @@ export async function getMemberData({userId}) { ...@@ -35,8 +35,8 @@ export async function getMemberData({userId}) {
let otherAttachment:any= {}; let otherAttachment:any= {};
/**判断会员类型,个人会员与单位会员返回不同字段 */ /**判断会员类型,个人会员与单位会员返回不同字段 */
if (oldInfo.memberType == MEMBERTYPE.单位会员) { if (oldInfo.memberType == MEMBERTYPE.单位会员) {
baseSelectFiles = ["userId", "unitName", "uscc", "legalPerson", "legalPersonPhone", "legalPersonMail", "unitMail", "contactPerson", baseSelectFiles = ["userId", "unitName", "uscc", "legalPerson", "legalPersonPhone", "legalPersonMail", "mail", "contactPerson",
"contactPersonDuties", "contactPersonPhone", "uusinessLicenseUrl", "addres", "sheng", "shi", "qu", "kaishezhuanYe", "danWeiJianJie"]; "contactPersonDuties", "phone", "uusinessLicenseUrl", "addres", "sheng", "shi", "qu", "kaishezhuanYe", "danWeiJianJie"];
majorSelectFiles = ["unitMemberType", "yuanXiaoBanXueLeiXing", "yuanXiaoZhuGuanBuMen", "yuanXiaoFuZeRen", "yuanXiaoFuZeRenZhiWu", majorSelectFiles = ["unitMemberType", "yuanXiaoBanXueLeiXing", "yuanXiaoZhuGuanBuMen", "yuanXiaoFuZeRen", "yuanXiaoFuZeRenZhiWu",
"yuanXiaoFuZeRenDianHua", "yuanXiaoBanGongFuZeRen", "yuanXiaoBanGongFuZeRenDianHua", "ZhuYaoFuZeRenYouXiang", "yuanXiaoKeYanFuZeRen", "yuanXiaoFuZeRenDianHua", "yuanXiaoBanGongFuZeRen", "yuanXiaoBanGongFuZeRenDianHua", "ZhuYaoFuZeRenYouXiang", "yuanXiaoKeYanFuZeRen",
"yuanXiaoKeYanFuZeRenDianHua", "jiaoXueFuZeRenXinMing", "jiaoXueFuZeRenDianHua"]; "yuanXiaoKeYanFuZeRenDianHua", "jiaoXueFuZeRenXinMing", "jiaoXueFuZeRenDianHua"];
...@@ -446,7 +446,7 @@ export async function isNeedSupplement({userId}) { ...@@ -446,7 +446,7 @@ export async function isNeedSupplement({userId}) {
// "applicationForm"] // "applicationForm"]
// } // }
// const DwRequiredConf = { // const DwRequiredConf = {
// "基本信息": ["sheng", "shi", "qu", "addres", "contactPerson", "contactPersonDuties", "contactPersonPhone"], // "基本信息": ["sheng", "shi", "qu", "addres", "contactPerson", "contactPersonDuties", "phone"],
// "单位信息": ["yuanXiaoZhuGuanBuMen", "yuanXiaoFuZeRen", "yuanXiaoFuZeRenZhiWu", // "单位信息": ["yuanXiaoZhuGuanBuMen", "yuanXiaoFuZeRen", "yuanXiaoFuZeRenZhiWu",
// "yuanXiaoFuZeRenDianHua", "yuanXiaoBanGongFuZeRen", "yuanXiaoBanGongFuZeRenDianHua", "ZhuYaoFuZeRenYouXiang", "yuanXiaoKeYanFuZeRen", // "yuanXiaoFuZeRenDianHua", "yuanXiaoBanGongFuZeRen", "yuanXiaoBanGongFuZeRenDianHua", "ZhuYaoFuZeRenYouXiang", "yuanXiaoKeYanFuZeRen",
// "yuanXiaoKeYanFuZeRenDianHua", "jiaoXueFuZeRenXinMing", "jiaoXueFuZeRenDianHua"] // "yuanXiaoKeYanFuZeRenDianHua", "jiaoXueFuZeRenXinMing", "jiaoXueFuZeRenDianHua"]
...@@ -455,7 +455,7 @@ export async function isNeedSupplement({userId}) { ...@@ -455,7 +455,7 @@ export async function isNeedSupplement({userId}) {
/**资料变更 */ /**资料变更 */
const DwRequiredConf = { const DwRequiredConf = {
"基本信息": ["unitName", "sheng", "shi", "qu", "addres", "uscc", "legalPerson", "legalPersonPhone", "legalPersonMail", "contactPerson", "基本信息": ["unitName", "sheng", "shi", "qu", "addres", "uscc", "legalPerson", "legalPersonPhone", "legalPersonMail", "contactPerson",
"contactPersonDuties", "contactPersonPhone", "uusinessLicenseUrl", "applicationForm"], "contactPersonDuties", "phone", "uusinessLicenseUrl", "applicationForm"],
"单位信息": ["unitMemberType", "yuanXiaoBanXueLeiXing", "yuanXiaoZhuGuanBuMen", "yuanXiaoFuZeRen", "yuanXiaoFuZeRenZhiWu", "单位信息": ["unitMemberType", "yuanXiaoBanXueLeiXing", "yuanXiaoZhuGuanBuMen", "yuanXiaoFuZeRen", "yuanXiaoFuZeRenZhiWu",
"yuanXiaoFuZeRenDianHua", "yuanXiaoBanGongFuZeRen", "yuanXiaoBanGongFuZeRenDianHua", "ZhuYaoFuZeRenYouXiang", "yuanXiaoKeYanFuZeRen", "yuanXiaoFuZeRenDianHua", "yuanXiaoBanGongFuZeRen", "yuanXiaoBanGongFuZeRenDianHua", "ZhuYaoFuZeRenYouXiang", "yuanXiaoKeYanFuZeRen",
"yuanXiaoKeYanFuZeRenDianHua", "jiaoXueFuZeRenXinMing", "jiaoXueFuZeRenDianHua"] "yuanXiaoKeYanFuZeRenDianHua", "jiaoXueFuZeRenXinMing", "jiaoXueFuZeRenDianHua"]
...@@ -598,7 +598,7 @@ export async function unitInfoSupplement({form, keyanForm, userId}) { ...@@ -598,7 +598,7 @@ export async function unitInfoSupplement({form, keyanForm, userId}) {
/**确保邮箱的唯一性 */ /**确保邮箱的唯一性 */
// let distinctMailInfo = await findOnce(TABLEENUM.用户表, {mail:form.unitMail}, ["userId"]); // let distinctMailInfo = await findOnce(TABLEENUM.用户表, {mail:form.unitMail}, ["userId"]);
// if (distinctMailInfo && distinctMailInfo.userId && distinctMailInfo.userId != oldInfo.userId) throw new BizError(ERRORENUM.邮箱重复, oldInfo.loginId, oldInfo.mail ); // if (distinctMailInfo && distinctMailInfo.userId && distinctMailInfo.userId != oldInfo.userId) throw new BizError(ERRORENUM.邮箱重复, oldInfo.loginId, oldInfo.mail );
form.mail = form.unitMail; // form.mail = form.unitMail;
/**修改会员用户信息 */ /**修改会员用户信息 */
await updateOneData(TABLEENUM.用户表, {userId}, form); await updateOneData(TABLEENUM.用户表, {userId}, form);
......
...@@ -57,7 +57,7 @@ export async function unitMemberList({unitName, mail, phone, joinStartTime, join ...@@ -57,7 +57,7 @@ export async function unitMemberList({unitName, mail, phone, joinStartTime, join
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};
const SelectFiles = ["userId", "memberState", "unitMemberType", "unitName", "contactPerson", "phone", "unitMail", "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);
let dataCount = await findCount(TABLEENUM.用户表, selectParam); let dataCount = await findCount(TABLEENUM.用户表, selectParam);
...@@ -91,14 +91,14 @@ export async function unitMemberList({unitName, mail, phone, joinStartTime, join ...@@ -91,14 +91,14 @@ export async function unitMemberList({unitName, mail, phone, joinStartTime, join
* 单位会员详情 * 单位会员详情
* @param id 会员列表返回的userId * @param id 会员列表返回的userId
* @returns {顶部数据, 基本信息, 单位信息, 单位所获得科研成果} * @returns {顶部数据, 基本信息, 单位信息, 单位所获得科研成果}
* 基本信息: "unitName":单位名称、原社会信用代码, "uscc":单位信用代码、原发票抬头, "legalPerson":法人代表, "legalPersonPhone":法人代表联系电话, "legalPersonMail":法人邮箱, "unitMail":单位电子邮箱, "contactPerson":日常联系人, "contactPersonDuties":日常联系人职务, "contactPersonPhone":日常联系人电话, "uusinessLicenseUrl":营业执照图片地址, "addres":通信地址, "sheng":省, "shi":市, "qu":区, "newUscc":新社会信用代码, "newUnitName":新发票抬头 * 基本信息: "unitName":单位名称、原社会信用代码, "uscc":单位信用代码、原发票抬头, "legalPerson":法人代表, "legalPersonPhone":法人代表联系电话, "legalPersonMail":法人邮箱, "mail":单位电子邮箱, "contactPerson":日常联系人, "contactPersonDuties":日常联系人职务, "phone":日常联系人电话, "uusinessLicenseUrl":营业执照图片地址, "addres":通信地址, "sheng":省, "shi":市, "qu":区, "newUscc":新社会信用代码, "newUnitName":新发票抬头
* 单位信息: "unitMemberType":单位类型, "yuanXiaoBanXueLeiXing":办学类型, "yuanXiaoZhuGuanBuMen":主管部门, "yuanXiaoFuZeRen":主要负责人姓名, "yuanXiaoFuZeRenZhiWu":主要负责人职位, "yuanXiaoFuZeRenDianHua":主要负责人电话, * 单位信息: "unitMemberType":单位类型, "yuanXiaoBanXueLeiXing":办学类型, "yuanXiaoZhuGuanBuMen":主管部门, "yuanXiaoFuZeRen":主要负责人姓名, "yuanXiaoFuZeRenZhiWu":主要负责人职位, "yuanXiaoFuZeRenDianHua":主要负责人电话,
"yuanXiaoBanGongFuZeRen":办公负责人姓名, "yuanXiaoBanGongFuZeRenDianHua":办公负责人电话, "ZhuYaoFuZeRenYouXiang":主要负责人邮箱, "yuanXiaoKeYanFuZeRen":科研负责人姓名, "yuanXiaoKeYanFuZeRenDianHua":看科研负责人电话, "yuanXiaoBanGongFuZeRen":办公负责人姓名, "yuanXiaoBanGongFuZeRenDianHua":办公负责人电话, "ZhuYaoFuZeRenYouXiang":主要负责人邮箱, "yuanXiaoKeYanFuZeRen":科研负责人姓名, "yuanXiaoKeYanFuZeRenDianHua":看科研负责人电话,
"jiaoXueFuZeRenXinMing":教学负责人姓名, "jiaoXueFuZeRenDianHua":教学负责人电话 "jiaoXueFuZeRenXinMing":教学负责人姓名, "jiaoXueFuZeRenDianHua":教学负责人电话
* 单位所获得科研成果: "id", "startTime":开始时间, "endTime":结束时间, "describe":描述 * 单位所获得科研成果: "id", "startTime":开始时间, "endTime":结束时间, "describe":描述
*/ */
const UnitBasicConfig = ["userId", "unitName", "uscc", "legalPerson", "legalPersonPhone", "legalPersonMail", "unitMail", "contactPerson", "contactPersonDuties", "contactPersonPhone", const UnitBasicConfig = ["userId", "unitName", "uscc", "legalPerson", "legalPersonPhone", "legalPersonMail", "mail", "contactPerson", "contactPersonDuties", "phone",
"uusinessLicenseUrl", "addres", "sheng", "shi", "qu", "applicationForm"]; "uusinessLicenseUrl", "addres", "sheng", "shi", "qu", "applicationForm"];
const UnitConfig = ["unitMemberType", "yuanXiaoBanXueLeiXing", "yuanXiaoZhuGuanBuMen", "yuanXiaoFuZeRen", "yuanXiaoFuZeRenZhiWu", "yuanXiaoFuZeRenDianHua", const UnitConfig = ["unitMemberType", "yuanXiaoBanXueLeiXing", "yuanXiaoZhuGuanBuMen", "yuanXiaoFuZeRen", "yuanXiaoFuZeRenZhiWu", "yuanXiaoFuZeRenDianHua",
"yuanXiaoBanGongFuZeRen", "yuanXiaoBanGongFuZeRenDianHua", "ZhuYaoFuZeRenYouXiang", "yuanXiaoKeYanFuZeRen", "yuanXiaoKeYanFuZeRenDianHua", "yuanXiaoBanGongFuZeRen", "yuanXiaoBanGongFuZeRenDianHua", "ZhuYaoFuZeRenYouXiang", "yuanXiaoKeYanFuZeRen", "yuanXiaoKeYanFuZeRenDianHua",
...@@ -187,9 +187,9 @@ export async function unitMemberUpdate({form, keyanForm, id}) { ...@@ -187,9 +187,9 @@ export async function unitMemberUpdate({form, keyanForm, id}) {
eccEnumValue(EccFuncName, '专业类别', PROFCATEGORY, form.profCategory); eccEnumValue(EccFuncName, '专业类别', PROFCATEGORY, form.profCategory);
/**修改会员用户信息 */ /**修改会员用户信息 */
let distinctMailInfo = await findOnce(TABLEENUM.用户表, {mail:form.unitMail}, ["userId"]); let distinctMailInfo = await findOnce(TABLEENUM.用户表, {mail:form.mail}, ["userId"]);
if (distinctMailInfo && distinctMailInfo.userId && distinctMailInfo.userId != oldInfo.userId) throw new BizError(ERRORENUM.邮箱重复, oldInfo.loginId, oldInfo.mail ); if (distinctMailInfo && distinctMailInfo.userId && distinctMailInfo.userId != oldInfo.userId) throw new BizError(ERRORENUM.邮箱重复, oldInfo.loginId, oldInfo.mail );
form.mail = form.unitMail; form.mail = form.mail;
await updateOneData(TABLEENUM.用户表, {userId:id}, form); await updateOneData(TABLEENUM.用户表, {userId:id}, form);
/**删除对应userId科研成果 */ /**删除对应userId科研成果 */
...@@ -490,7 +490,7 @@ export async function outPutUnitMembers({exportColumns}) { ...@@ -490,7 +490,7 @@ export async function outPutUnitMembers({exportColumns}) {
// let selectTitle = ["入会时间", "是否是导入用户", "会员状态", "证书类型", "个人会员类型", "会员等级/职务", "是否处于宽限期", "用户名", "联系电话", "单位电子邮箱", "单位名称", "统一信用代码", // let selectTitle = ["入会时间", "是否是导入用户", "会员状态", "证书类型", "个人会员类型", "会员等级/职务", "是否处于宽限期", "用户名", "联系电话", "单位电子邮箱", "单位名称", "统一信用代码",
// "法人代表", "法人代表联系电话", "法人邮箱", "日常联系人", "日常联系人职务", "日常联系人手机号码", "营业执照", "单位会员类型", "院校办学类型", "院校主管部门", "院校主要负责人", "院校主要负责人职务", "院校主要负责人电话", "院校办公负责人", "院校办公负责人电话", "主要负责人邮箱", "院校科研负责人", "院校科研负责人电话", "教学负责人姓名", "院校学生总人数", "教职工总人数", "教学负责人电话", "开设专业", "单位简介"]; // "法人代表", "法人代表联系电话", "法人邮箱", "日常联系人", "日常联系人职务", "日常联系人手机号码", "营业执照", "单位会员类型", "院校办学类型", "院校主管部门", "院校主要负责人", "院校主要负责人职务", "院校主要负责人电话", "院校办公负责人", "院校办公负责人电话", "主要负责人邮箱", "院校科研负责人", "院校科研负责人电话", "教学负责人姓名", "院校学生总人数", "教职工总人数", "教学负责人电话", "开设专业", "单位简介"];
// let selectConf = ["joinTime", "isInput", "memberState", "certificateType", "individualMemberType", "memberLevel", "isGracePeriod", "loginId", "phone", "mail", "unitName", "uscc", // let selectConf = ["joinTime", "isInput", "memberState", "certificateType", "individualMemberType", "memberLevel", "isGracePeriod", "loginId", "phone", "mail", "unitName", "uscc",
// "legalPerson", "legalPersonPhone", "legalPersonMail", "contactPerson", "contactPersonDuties", "contactPersonPhone", "uusinessLicenseUrl", "unitMemberType", "yuanXiaoBanXueLeiXing", "yuanXiaoZhuGuanBuMen", "yuanXiaoFuZeRen", "yuanXiaoFuZeRenZhiWu", "yuanXiaoFuZeRenDianHua", "yuanXiaoBanGongFuZeRen", "yuanXiaoBanGongFuZeRenDianHua", "ZhuYaoFuZeRenYouXiang", "yuanXiaoKeYanFuZeRen", "yuanXiaoKeYanFuZeRenDianHua", "jiaoXueFuZeRenXinMing", "yuanXiaoXueShengZongRenShu", "yuanXiaoJiaoZhiGongZongRenShu", "jiaoXueFuZeRenDianHua", "kaishezhuanYe", "danWeiJianJie"]; // "legalPerson", "legalPersonPhone", "legalPersonMail", "contactPerson", "contactPersonDuties", "phone", "uusinessLicenseUrl", "unitMemberType", "yuanXiaoBanXueLeiXing", "yuanXiaoZhuGuanBuMen", "yuanXiaoFuZeRen", "yuanXiaoFuZeRenZhiWu", "yuanXiaoFuZeRenDianHua", "yuanXiaoBanGongFuZeRen", "yuanXiaoBanGongFuZeRenDianHua", "ZhuYaoFuZeRenYouXiang", "yuanXiaoKeYanFuZeRen", "yuanXiaoKeYanFuZeRenDianHua", "jiaoXueFuZeRenXinMing", "yuanXiaoXueShengZongRenShu", "yuanXiaoJiaoZhiGongZongRenShu", "jiaoXueFuZeRenDianHua", "kaishezhuanYe", "danWeiJianJie"];
let selectTitle = []; let selectTitle = [];
let selectConf = []; let selectConf = [];
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* 订单相关 success * 订单相关 success
*/ */
import moment = require("moment"); import moment = require("moment");
import { AUDITINGCLIENT, COSTTYPE, INDIVIDUALMEMBERTYPE, INVOICESTATUS, ISPAYENUM, ISRECEIVE, MAILTYPE, MEMBERLEVEL, MEMBERSTATE, MEMBERTYPE, MEMBERTYPEECCENUM, MYORDERLISTPAYSTATE, MYORDERLISTSTATE, OPERATIONREHAVIOR, ORDEREXAMINE, ORDERSTATE, PAYMENTSTATUS, PAYMENTTYPE, RECEIPTCONFIRMATION, STATE, UNITMEMBERTYPE } from "../../config/enum"; import { AUDITINGCLIENT, COSTTYPE, INDIVIDUALMEMBERTYPE, INVOICESTATUS, ISPAYENUM, ISRECEIVE, ISRECEIVEMONEY, MAILTYPE, MEMBERLEVEL, MEMBERSTATE, MEMBERTYPE, MEMBERTYPEECCENUM, MYORDERLISTPAYSTATE, MYORDERLISTSTATE, OPERATIONREHAVIOR, ORDEREXAMINE, ORDERSTATE, PAYMENTSTATUS, PAYMENTTYPE, RECEIPTCONFIRMATION, STATE, UNITMEMBERTYPE } from "../../config/enum";
import { generateOrderId, successResult } from "../../tools/system"; import { generateOrderId, successResult } from "../../tools/system";
import { changeEnumValue, eccEnumValue } from "../../util/verificationEnum"; import { changeEnumValue, eccEnumValue } from "../../util/verificationEnum";
import { addOneData } from "../../data/add"; import { addOneData } from "../../data/add";
...@@ -543,7 +543,7 @@ export async function accountInfo({id, form}) { ...@@ -543,7 +543,7 @@ export async function accountInfo({id, form}) {
* 退款列表 * 退款列表
* @param param0 * @param param0
*/ */
export async function refundList({name, memberType, joinStartTime, joinEndTime, pageNumber}) { export async function refundList({name, memberType, joinStartTime, joinEndTime, isReceiveMoney, pageNumber}) {
// info.confirmReceipt == RECEIPTCONFIRMATION.收款确认 ? "已审批" : "待审批"; // info.confirmReceipt == RECEIPTCONFIRMATION.收款确认 ? "已审批" : "待审批";
let findParam:any = { let findParam:any = {
// isReceive:{"$gt":0}, confirmReceipt:RECEIPTCONFIRMATION.退回 // isReceive:{"$gt":0}, confirmReceipt:RECEIPTCONFIRMATION.退回
...@@ -553,6 +553,26 @@ export async function refundList({name, memberType, joinStartTime, joinEndTime, ...@@ -553,6 +553,26 @@ export async function refundList({name, memberType, joinStartTime, joinEndTime,
] ]
}; };
/**审批表查询条件 */
let checkHistoryDataList = [];
let findHistory:any = {};
let isSelectHistory = false;
if (isReceiveMoney) {
isSelectHistory = true;
if (isReceiveMoney == ISRECEIVEMONEY.不需退款) findHistory.isReceiveMoney = true;
else findHistory.isReceiveMoney = false;
}
if (isSelectHistory) {
let logInfoList = await findToSort(TABLEENUM.订单审批历史表, findHistory, {operationTime:-1});
logInfoList.forEach(key => {
checkHistoryDataList.push(key.orderId);
});
}
if (checkHistoryDataList.length) {
let uniqueList = checkHistoryDataList.filter((item, index) => checkHistoryDataList.indexOf(item) === index);
findParam.id = {"$in":uniqueList}
}
/**用户表查询条件 */ /**用户表查询条件 */
let checkUserIdList = [] let checkUserIdList = []
let itemParam:any = {}; let itemParam:any = {};
...@@ -590,22 +610,25 @@ export async function refundList({name, memberType, joinStartTime, joinEndTime, ...@@ -590,22 +610,25 @@ export async function refundList({name, memberType, joinStartTime, joinEndTime,
} }
let selectFile = ["id", "unitName", "orderCycleStart", "orderCycleEnd", "money", "memberCategory", "userId", "refundBankCarId", "refundBankName", "refundSuccessful", let selectFile = ["id", "unitName", "orderCycleStart", "orderCycleEnd", "money", "memberCategory", "userId", "refundBankCarId", "refundBankName", "refundSuccessful",
"isReplenishReturnInfo", "desc", "isReceive", "refundImgUrl" ]; "isReplenishReturnInfo", "desc", "isReceive", "refundImgUrl"];
let dbList = await findToSortToPage(TABLEENUM.订单表, findParam, selectFile, {orderCycleStart:-1}, pageNumber); let dbList = await findToSortToPage(TABLEENUM.订单表, findParam, selectFile, {orderCycleStart:-1}, pageNumber);
let dataCount = await findCount(TABLEENUM.订单表, findParam); let dataCount = await findCount(TABLEENUM.订单表, findParam);
let dataList = []; let dataList = [];
let itemFile = ["id", "name", "unitName", "money", "userId", "memberCategory", "refundBankCarId", "refundBankName", "desc", "isReceive", "refundImgUrl"]; let itemFile = ["id", "name", "unitName", "money", "userId", "memberCategory", "refundBankCarId", "refundBankName", "desc", "isReceive", "refundImgUrl", "isReceiveMoney"];
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 historyList = await findOnceToSort(TABLEENUM.订单审批历史表, {orderId:info.id, operationBehavior:ORDEREXAMINE.退款申请}, {operationTime:-1});
let itemData:any = extractData(info, itemFile); let itemData:any = extractData(info, itemFile);
// itemData.joinTime = moment(info.orderCycleStart).format("YYYY-MM-DD"); // itemData.joinTime = moment(info.orderCycleStart).format("YYYY-MM-DD");
itemData.memberType = changeEnumValue(MEMBERTYPE, itemData.memberCategory); itemData.memberType = changeEnumValue(MEMBERTYPE, itemData.memberCategory);
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")}`;
if (!info.refundImgUrl) itemData.refundImgUrl = "-"; if (!info.refundImgUrl) itemData.refundImgUrl = "-";
let userInfo = await findOnce(TABLEENUM.用户表, {userId:itemData.userId}, ["memberState", "name", "individualMemberType", "unitMemberType"]); let userInfo = await findOnce(TABLEENUM.用户表, {userId:info.userId}, ["memberState", "name", "individualMemberType", "unitMemberType"]);
if (userInfo) { if (userInfo) {
itemData.name = userInfo.name; itemData.name = userInfo.name;
...@@ -623,6 +646,12 @@ export async function refundList({name, memberType, joinStartTime, joinEndTime, ...@@ -623,6 +646,12 @@ export async function refundList({name, memberType, joinStartTime, joinEndTime,
else itemData.state = "待退款"; else itemData.state = "待退款";
} }
// let operationBehavior = "";
//订单分类字段【需退款、无需退款】
if (historyList.isReceiveMoney) itemData.operationBehavior = "不需退款";
// if (isReceiveMoney == ISRECEIVEMONEY.不需退款) itemData.operationBehavior = "不需退款";
else itemData.operationBehavior = "需退款";
dataList.push(itemData); dataList.push(itemData);
} }
...@@ -696,6 +725,12 @@ export async function refundApprove({id, refundImgUrl}) { ...@@ -696,6 +725,12 @@ export async function refundApprove({id, refundImgUrl}) {
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;
} }
if (key == "phone") {
value = userInfo.phone;
}
if (key == "memberLevel") {
value = changeEnumValue(MEMBERLEVEL, userInfo.memberLevel);
}
if (key == "state") { if (key == "state") {
if (!info.isReplenishReturnInfo) value = "资料补充中"; if (!info.isReplenishReturnInfo) value = "资料补充中";
else { else {
...@@ -707,7 +742,7 @@ export async function refundApprove({id, refundImgUrl}) { ...@@ -707,7 +742,7 @@ export async function refundApprove({id, refundImgUrl}) {
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);
} }
subList.push(value); subList.push(value);
} }
......
...@@ -16,12 +16,19 @@ import { sendALSMS } from "../sms"; ...@@ -16,12 +16,19 @@ import { sendALSMS } from "../sms";
/** /**
* 登 * 登
* @param param0 * @param param0
* @returns * @returns
*/ */
export async function login({loginId, pwd}) { export async function login({loginId, pwd}) {
let selectParam = { "$or":[{loginId:loginId}, {phone:loginId}] }; let selectParam = {
"$or":[
{loginId:loginId, memberType:MEMBERTYPE.个人会员},
{phone:loginId},
{unitName:loginId, memberType:MEMBERTYPE.单位会员},
{mail:loginId, memberType:MEMBERTYPE.单位会员}
]
};
let userInfo = await findOnce(TABLEENUM.用户表, selectParam); let userInfo = await findOnce(TABLEENUM.用户表, selectParam);
if (!userInfo || !userInfo.userId) throw new BizError(ERRORENUM.账号或密码错误); if (!userInfo || !userInfo.userId) throw new BizError(ERRORENUM.账号或密码错误);
......
...@@ -365,7 +365,7 @@ export async function memberRegisterSendCode({phone}) { ...@@ -365,7 +365,7 @@ export async function memberRegisterSendCode({phone}) {
*/ */
const UnitBasicConfig = ["userId", "unitName", "sheng", "shi", "qu", "addres", "uscc", "legalPerson", "legalPersonPhone", "legalPersonMail", const UnitBasicConfig = ["userId", "unitName", "sheng", "shi", "qu", "addres", "uscc", "legalPerson", "legalPersonPhone", "legalPersonMail",
"contactPerson", "contactPersonDuties", "contactPersonPhone", "uusinessLicenseUrl", "unitMail"]; "contactPerson", "contactPersonDuties", "uusinessLicenseUrl", "phone", "mail"];
const UnitConfig = ["unitMemberType", "yuanXiaoBanXueLeiXing", "yuanXiaoZhuGuanBuMen", "yuanXiaoFuZeRen", "yuanXiaoFuZeRenZhiWu", "yuanXiaoBanGongFuZeRenZhiWu", const UnitConfig = ["unitMemberType", "yuanXiaoBanXueLeiXing", "yuanXiaoZhuGuanBuMen", "yuanXiaoFuZeRen", "yuanXiaoFuZeRenZhiWu", "yuanXiaoBanGongFuZeRenZhiWu",
"yuanXiaoFuZeRenDianHua", "yuanXiaoBanGongFuZeRen", "yuanXiaoBanGongFuZeRenDianHua", "ZhuYaoFuZeRenYouXiang", "yuanXiaoKeYanFuZeRen", "yuanXiaoKeYanFuZeRenDianHua", "yuanXiaoFuZeRenDianHua", "yuanXiaoBanGongFuZeRen", "yuanXiaoBanGongFuZeRenDianHua", "ZhuYaoFuZeRenYouXiang", "yuanXiaoKeYanFuZeRen", "yuanXiaoKeYanFuZeRenDianHua",
"jiaoXueFuZeRenXinMing", "yuanXiaoXueShengZongRenShu", "yuanXiaoJiaoZhiGongZongRenShu", "jiaoXueFuZeRenDianHua", "kaishezhuanYe", "danWeiJianJie", "applicationForm"]; "jiaoXueFuZeRenXinMing", "yuanXiaoXueShengZongRenShu", "yuanXiaoJiaoZhiGongZongRenShu", "jiaoXueFuZeRenDianHua", "kaishezhuanYe", "danWeiJianJie", "applicationForm"];
......
...@@ -334,6 +334,15 @@ export enum MEMBERSTATE { ...@@ -334,6 +334,15 @@ export enum MEMBERSTATE {
/** /**
* 已开发票-会员状态 前端用
*/
export enum INVOICESTATE {
正常 = 1,
异常,
}
/**
* 管理员状态 * 管理员状态
*/ */
export enum ADMINSTATE { export enum ADMINSTATE {
...@@ -857,4 +866,14 @@ export enum MAILTYPE { ...@@ -857,4 +866,14 @@ export enum MAILTYPE {
} }
/**
* 是否需要退款
*/
export enum ISRECEIVEMONEY {
需退款 = 1,
不需退款
}
...@@ -20,8 +20,8 @@ export enum UNITAUDITINGCOLUMNS { ...@@ -20,8 +20,8 @@ export enum UNITAUDITINGCOLUMNS {
主要负责人电话 = "yuanXiaoFuZeRenDianHua", 主要负责人电话 = "yuanXiaoFuZeRenDianHua",
教学负责人电话 = "jiaoXueFuZeRenDianHua", 教学负责人电话 = "jiaoXueFuZeRenDianHua",
单位邮箱 = "unitMail", 日常联系人邮箱 = "mail",
日常联系人手机 = "contactPersonPhone", 日常联系人手机 = "phone",
主要负责人邮箱 = "ZhuYaoFuZeRenYouXiang", 主要负责人邮箱 = "ZhuYaoFuZeRenYouXiang",
学生总人数 = "yuanXiaoXueShengZongRenShu", 学生总人数 = "yuanXiaoXueShengZongRenShu",
...@@ -53,10 +53,10 @@ export enum UNITAUDITINGCOLUMNS { ...@@ -53,10 +53,10 @@ export enum UNITAUDITINGCOLUMNS {
export enum AUDITINGCOLUMNS { export enum AUDITINGCOLUMNS {
入会时间 = "joinTime", 入会时间 = "joinTime",
姓名 = "name", 姓名 = "name",
手机号 = "phone", 手机号 = "phone",
专业类别 = "profCategory", 专业类别 = "profCategory",
性别 = "sex", 性别 = "sex",
个人邮箱 = "mail", 电子邮箱 = "mail",
民族 = "nation", 民族 = "nation",
省市区 = "shengshiqu", 省市区 = "shengshiqu",
出生年月 = "birth", 出生年月 = "birth",
...@@ -89,10 +89,10 @@ export enum CONFIRMRECEIPTCOLUMNS { ...@@ -89,10 +89,10 @@ export enum CONFIRMRECEIPTCOLUMNS {
"单位代码/个人身份证" = "card", "单位代码/个人身份证" = "card",
备注 = "desc", 备注 = "desc",
发票邮箱 = "invoiceMail", 发票邮箱 = "invoiceMail",
"单位/个人邮箱" = "mail", "电子邮箱" = "mail",
提交时间 = "operationTime", //上传转账凭证的时间 提交时间 = "operationTime", //上传转账凭证的时间
会员职务 = "memberLevel", 会员职务 = "memberLevel",
注册手机号="phone", 手机号="phone",
届次 = "session", 届次 = "session",
支付时间 = "payTime", //微信支付的时间 支付时间 = "payTime", //微信支付的时间
发票状态 = "invoiceStatus", 发票状态 = "invoiceStatus",
...@@ -112,12 +112,12 @@ export enum BILLSTATECOLUMNS { ...@@ -112,12 +112,12 @@ export enum BILLSTATECOLUMNS {
"单位代码/个人身份证" = "card", "单位代码/个人身份证" = "card",
备注 = "desc", 备注 = "desc",
发票邮箱 = "invoiceMail", 发票邮箱 = "invoiceMail",
"单位/个人邮箱" = "mail", "电子邮箱" = "mail",
审核时间 = "confirmReceiptMs", //什么时候从费用核对通过审核时间 审核时间 = "confirmReceiptMs", //什么时候从费用核对通过审核时间
提交时间 = "operationTime", //上传转账凭证的时间 提交时间 = "operationTime", //上传转账凭证的时间
支付时间 = "payTime", //微信支付的时间 支付时间 = "payTime", //微信支付的时间
会员职务 = "memberLevel", 会员职务 = "memberLevel",
注册手机号="phone", 手机号="phone",
发票申请时间 = "invoiceTime", 发票申请时间 = "invoiceTime",
} }
...@@ -135,13 +135,13 @@ export enum INVOICEDCOLUMNS { ...@@ -135,13 +135,13 @@ export enum INVOICEDCOLUMNS {
"单位代码/个人身份证" = "card", "单位代码/个人身份证" = "card",
备注 = "desc", 备注 = "desc",
发票邮箱 = "invoiceMail", 发票邮箱 = "invoiceMail",
"单位/个人邮箱" = "mail", "电子邮箱" = "mail",
审核时间 = "confirmReceiptMs", //什么时候从费用核对通过审核时间 审核时间 = "confirmReceiptMs", //什么时候从费用核对通过审核时间
提交时间 = "operationTime", //上传转账凭证的时间 提交时间 = "operationTime", //上传转账凭证的时间
支付时间 = "payTime", //微信支付的时间 支付时间 = "payTime", //微信支付的时间
会员职务 = "memberLevel", 会员职务 = "memberLevel",
注册手机号="phone", 手机号="phone",
已开发票时间 = "invoiceExamineTime" 发票开具时间 = "invoiceExamineTime"
} }
...@@ -158,7 +158,7 @@ export enum REFUNDCOLUMNS { ...@@ -158,7 +158,7 @@ export enum REFUNDCOLUMNS {
退款账号 = "refundBankCarId", 退款账号 = "refundBankCarId",
开户行 = "refundBankName", 开户行 = "refundBankName",
会员职务 = "memberLevel", 会员职务 = "memberLevel",
注册手机号="phone" 手机号="phone"
} }
...@@ -166,7 +166,7 @@ export enum REFUNDCOLUMNS { ...@@ -166,7 +166,7 @@ export enum REFUNDCOLUMNS {
export enum MEMBERFEESDCOLUMNS { export enum MEMBERFEESDCOLUMNS {
状态 = "memberState", 状态 = "memberState",
会员类别 = "memberType", 会员类别 = "memberType",
注册手机号 ="phone", 手机号 ="phone",
"单位代码/身份证"="code", "单位代码/身份证"="code",
"单位/个人名称" = "name" , "单位/个人名称" = "name" ,
会员职务 = "memberLevel", 会员职务 = "memberLevel",
...@@ -181,7 +181,7 @@ export enum MEMBERFEESDCOLUMNS { ...@@ -181,7 +181,7 @@ export enum MEMBERFEESDCOLUMNS {
export enum MEMBERPAYMENTCOLUMNS { export enum MEMBERPAYMENTCOLUMNS {
状态 = "memberState", 状态 = "memberState",
会员类别 = "memberType", 会员类别 = "memberType",
注册手机号 ="phone", 手机号 ="phone",
"单位代码/身份证"="code", "单位代码/身份证"="code",
"单位/个人名称" = "name" , "单位/个人名称" = "name" ,
会员职务 = "memberLevel", 会员职务 = "memberLevel",
......
...@@ -415,10 +415,10 @@ const ModelArray = [ ...@@ -415,10 +415,10 @@ const ModelArray = [
legalPerson:'String',//法人代表 legalPerson:'String',//法人代表
legalPersonPhone:'String',//法人代表联系电话 legalPersonPhone:'String',//法人代表联系电话
legalPersonMail:'String',//法人邮箱 legalPersonMail:'String',//法人邮箱
unitMail:'String',//单位电子邮箱 // unitMail:'String',//单位电子邮箱 【2025/3/10 弃用 之后日常联系人邮箱直接默认同步mail:注册邮箱(单位邮箱)】
contactPerson:'String',//日常联系人 contactPerson:'String',//日常联系人
contactPersonDuties:'String',//日常联系人职务 contactPersonDuties:'String',//日常联系人职务
contactPersonPhone:'String',//日常联系人手机号码 // contactPersonPhone:'String',//日常联系人手机号码 【2025/3/10 弃用 之后日常联系人手机号码直接默认同步phone:注册手机号】
uusinessLicenseUrl:'String',//营业执照 图片地址 uusinessLicenseUrl:'String',//营业执照 图片地址
/**第二步流程表单(单位)【单位信息】 */ /**第二步流程表单(单位)【单位信息】 */
unitMemberType:{type: 'Number'},//单位会员类型 枚举UNITMEMBERTYPE unitMemberType:{type: 'Number'},//单位会员类型 枚举UNITMEMBERTYPE
......
...@@ -114,7 +114,7 @@ export async function test2() { ...@@ -114,7 +114,7 @@ export async function test2() {
"addres" : "asfasfsda", "addres" : "asfasfsda",
"contactPerson" : "16621071125", "contactPerson" : "16621071125",
"contactPersonDuties" : "16621071125", "contactPersonDuties" : "16621071125",
"contactPersonPhone" : "16621071125", // "contactPersonPhone" : "16621071125",
"danWeiJianJie" : "吃成都成都成都成都成都", "danWeiJianJie" : "吃成都成都成都成都成都",
"jiaoXueFuZeRenDianHua" : "16621071125", "jiaoXueFuZeRenDianHua" : "16621071125",
"jiaoXueFuZeRenXinMing" : "sdfs", "jiaoXueFuZeRenXinMing" : "sdfs",
......
import { changeDB, getMailData, getData, getUnitData } 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,6 +31,8 @@ async function lanuch() { ...@@ -30,6 +31,8 @@ async function lanuch() {
console.log("服务初始化成功"); console.log("服务初始化成功");
// await sendMail("18711017326@163.com"); // await sendMail("18711017326@163.com");
// await testCallback("e793d4b37c2eac2de13b4df69fa2cc18") // await testCallback("e793d4b37c2eac2de13b4df69fa2cc18")
// await getUnitData();
// await changeDB();
} }
lanuch(); lanuch();
......
...@@ -121,7 +121,7 @@ export const Config = { ...@@ -121,7 +121,7 @@ export const Config = {
// unitMail:{type:'String', desc:'单位电子邮箱', notMustHave:false}, 2024.4.22日的需求 去掉 // unitMail:{type:'String', desc:'单位电子邮箱', notMustHave:false}, 2024.4.22日的需求 去掉
contactPerson:{type:'String', desc:'日常联系人', notMustHave:false}, contactPerson:{type:'String', desc:'日常联系人', notMustHave:false},
contactPersonDuties:{type:'String', desc:'日常联系人职务', notMustHave:false}, contactPersonDuties:{type:'String', desc:'日常联系人职务', notMustHave:false},
contactPersonPhone:{type:'String', desc:'日常联系人手机', notMustHave:false}, phone:{type:'String', desc:'日常联系人手机', notMustHave:false},
uusinessLicenseUrl:{type:'String', desc:'营业执照复印件', notMustHave:false}, uusinessLicenseUrl:{type:'String', desc:'营业执照复印件', notMustHave:false},
/**单位信息 */ /**单位信息 */
unitMemberType:{type:'Number', desc:'单位信息类型,枚举', notMustHave:false}, unitMemberType:{type:'Number', desc:'单位信息类型,枚举', notMustHave:false},
...@@ -238,7 +238,7 @@ export const Config = { ...@@ -238,7 +238,7 @@ export const Config = {
legalPersonMail:{type:'String', desc:'法人邮箱', notMustHave:true}, legalPersonMail:{type:'String', desc:'法人邮箱', notMustHave:true},
contactPerson:{type:'String', desc:'日常联系人', notMustHave:true}, contactPerson:{type:'String', desc:'日常联系人', notMustHave:true},
contactPersonDuties:{type:'String', desc:'日常联系人职务', notMustHave:true}, contactPersonDuties:{type:'String', desc:'日常联系人职务', notMustHave:true},
contactPersonPhone:{type:'String', desc:'日常联系人手机', notMustHave:true}, phone:{type:'String', desc:'日常联系人手机', notMustHave:true},
uusinessLicenseUrl:{type:'String', desc:'营业执照复印件', notMustHave:true}, uusinessLicenseUrl:{type:'String', desc:'营业执照复印件', notMustHave:true},
/**单位信息 */ /**单位信息 */
unitMemberType:{type:'Number', desc:'单位信息类型,枚举', notMustHave:true}, unitMemberType:{type:'Number', desc:'单位信息类型,枚举', notMustHave:true},
...@@ -439,10 +439,10 @@ export const Config = { ...@@ -439,10 +439,10 @@ export const Config = {
legalPerson:{type:'String', desc:'法人代表'}, legalPerson:{type:'String', desc:'法人代表'},
legalPersonPhone:{type:'String', desc:'法人联系电话'}, legalPersonPhone:{type:'String', desc:'法人联系电话'},
legalPersonMail:{type:'String', desc:'法人邮箱'}, legalPersonMail:{type:'String', desc:'法人邮箱'},
unitMail:{type:'String', desc:'单位电子邮箱'}, mail:{type:'String', desc:'单位电子邮箱'},
contactPerson:{type:'String', desc:'日常联系人'}, contactPerson:{type:'String', desc:'日常联系人'},
contactPersonDuties:{type:'String', desc:'日常联系人职务'}, contactPersonDuties:{type:'String', desc:'日常联系人职务'},
contactPersonPhone:{type:'String', desc:'日常联系人电话'}, phone:{type:'String', desc:'日常联系人电话'},
sheng:{type:'String', desc:'省'}, sheng:{type:'String', desc:'省'},
shi:{type:'String', desc:'市'}, shi:{type:'String', desc:'市'},
qu:{type:'String', desc:'区'}, qu:{type:'String', desc:'区'},
...@@ -992,8 +992,8 @@ export const Config = { ...@@ -992,8 +992,8 @@ export const Config = {
sheng:{type:'String', desc:'省'}, sheng:{type:'String', desc:'省'},
shi:{type:'String', desc:'市'}, shi:{type:'String', desc:'市'},
qu:{type:'String', desc:'区'}, qu:{type:'String', desc:'区'},
phone:{type:'String', desc:'手机号码'}, // phone:{type:'String', desc:'手机号码'},
mail:{type:'String', desc:'电子邮箱'}, // mail:{type:'String', desc:'电子邮箱'},
addres:{type:'String', desc:'通信地址'}, addres:{type:'String', desc:'通信地址'},
photoUrl:{type:'String', desc:'蓝底证件照'}, photoUrl:{type:'String', desc:'蓝底证件照'},
education:{type:'Number', desc:'学历'}, education:{type:'Number', desc:'学历'},
...@@ -1164,7 +1164,8 @@ export const Config = { ...@@ -1164,7 +1164,8 @@ export const Config = {
// unitMail:{type:'String', desc:'单位电子邮箱', notMustHave:false}, 2024.4.22日的需求 去掉 // unitMail:{type:'String', desc:'单位电子邮箱', notMustHave:false}, 2024.4.22日的需求 去掉
contactPerson:{type:'String', desc:'日常联系人', notMustHave:false}, contactPerson:{type:'String', desc:'日常联系人', notMustHave:false},
contactPersonDuties:{type:'String', desc:'日常联系人职务', notMustHave:false}, contactPersonDuties:{type:'String', desc:'日常联系人职务', notMustHave:false},
contactPersonPhone:{type:'String', desc:'日常联系人手机', notMustHave:false}, phone:{type:'String', desc:'日常联系人手机', notMustHave:false},
mail:{type:'String', desc:'日常联系人邮箱', notMustHave:false},
uusinessLicenseUrl:{type:'String', desc:'营业执照复印件', notMustHave:false}, uusinessLicenseUrl:{type:'String', desc:'营业执照复印件', notMustHave:false},
applicationForm:{type:'String', desc:'申请表', notMustHave:false}, //2025.2.26日加上 applicationForm:{type:'String', desc:'申请表', notMustHave:false}, //2025.2.26日加上
/**单位信息 */ /**单位信息 */
......
...@@ -177,7 +177,7 @@ export const Config = { ...@@ -177,7 +177,7 @@ export const Config = {
{key:"memberType", type:"[Number]", desc:"会员类别", isNull:true}, {key:"memberType", type:"[Number]", desc:"会员类别", isNull:true},
{key:"documentId", type:"String", desc:"身份证", isNull:true}, {key:"documentId", type:"String", desc:"身份证", isNull:true},
{key:"phone", type:"String", desc:"手机号", isNull:true}, {key:"phone", type:"String", desc:"手机号", isNull:true},
{key:"mail", type:"String", desc:"邮箱", isNull:true}, // {key:"mail", type:"String", desc:"邮箱", isNull:true},
// {key:"joinStartTime", type:"Number", desc:"入会开始时间", isNull:true}, // {key:"joinStartTime", type:"Number", desc:"入会开始时间", isNull:true},
// {key:"joinEndTime", type:"Number", desc:"入会结束时间", isNull:true}, // {key:"joinEndTime", type:"Number", desc:"入会结束时间", isNull:true},
{key:"memberLevel", type:"[Number]", desc:"个人级别职务", isNull:true}, {key:"memberLevel", type:"[Number]", desc:"个人级别职务", isNull:true},
...@@ -185,6 +185,7 @@ export const Config = { ...@@ -185,6 +185,7 @@ export const Config = {
{key:"isPay", type:"Number", desc:"是否支付", isNull:true}, {key:"isPay", type:"Number", desc:"是否支付", isNull:true},
{key:"weChartPR", type:"String", desc:"微信支付单号", isNull:true}, {key:"weChartPR", type:"String", desc:"微信支付单号", isNull:true},
{key:"invoiceExamineTime", type:"Number", desc:"已开发票时间", isNull:true}, {key:"invoiceExamineTime", type:"Number", desc:"已开发票时间", isNull:true},
{key:"state", type:"Number", desc:"状态", isNull:true},
{key:"pageNumber", type:"Number", desc:"当前页"}, {key:"pageNumber", type:"Number", desc:"当前页"},
], ],
bindBiz:invoiceBiz.invoicedList bindBiz:invoiceBiz.invoicedList
...@@ -229,6 +230,7 @@ export const Config = { ...@@ -229,6 +230,7 @@ export const Config = {
{key:"joinStartTime", type:"Number", desc:"入会开始时间", isNull:true}, {key:"joinStartTime", type:"Number", desc:"入会开始时间", isNull:true},
{key:"joinEndTime", type:"Number", desc:"入会结束时间", isNull:true}, {key:"joinEndTime", type:"Number", desc:"入会结束时间", isNull:true},
{key:"memberType", type:"[Number]", desc:"会员类别", isNull:true}, {key:"memberType", type:"[Number]", desc:"会员类别", isNull:true},
{key:"isReceiveMoney", type:"Number", desc:"订单分类", isNull:true},
{key:"pageNumber", type:"Number", desc:"当前页"}, {key:"pageNumber", type:"Number", desc:"当前页"},
], ],
bindBiz:orderBiz.refundList bindBiz:orderBiz.refundList
......
...@@ -371,7 +371,21 @@ export const Config = { ...@@ -371,7 +371,21 @@ export const Config = {
param:[], param:[],
defaultParam:enumConfig.INFOCHANGEAPPLYTYPECLIENT, defaultParam:enumConfig.INFOCHANGEAPPLYTYPECLIENT,
bindBiz:publicBiz.setEnumInterface bindBiz:publicBiz.setEnumInterface
} },
{
apiName:"已开发票会员状态-前端用",
subUrl:'/invoicememberstate',
param:[],
defaultParam:enumConfig.INVOICESTATE,
bindBiz:publicBiz.setEnumInterface
},
{
apiName:"是否需要退款-前端用",
subUrl:'/isreceivemoney',
param:[],
defaultParam:enumConfig.ISRECEIVEMONEY,
bindBiz:publicBiz.setEnumInterface
},
], ],
} }
File added
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