Commit 2450c0d8 by chenjinjing

no message

parent e3d47554
File added
File added
......@@ -10,27 +10,27 @@ import { eccEnumValue } from "../util/verificationEnum";
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({
host: 'smtp.qq.com', // SMTP 服务器地址
host: 'smtp.163.com', // SMTP 服务器地址
port: 465, // SMTP 服务器端口(通常是 465 或 587)
secure: true, // 使用 SSL
auth: {
user: '3102438911@qq.com', // 你的邮箱地址
pass: 'erdfcv425860.' // 你的邮箱密码或应用专用密码
user: 'cefa_office@163.com', // 你的邮箱地址
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) {
......
......@@ -294,8 +294,8 @@ export async function outPutConfirmReceipt({exportColumns, payType, examineState
let dataList = [selectTitle];
for (let i = 0; i < dbList.length; i++) {
let info = dbList[i];
let userInfo = await findOnce(TABLEENUM.用户表, {userId:info.userId}, ["memberState", "name", "session", "unitName", "documentId", "uscc", "mail",
"unitMail", "memberLevel", "phone"]);
let userInfo = await findOnce(TABLEENUM.用户表, {userId:info.userId}, ["memberState", "name", "session", "unitName", "documentId", "uscc", "mail", "memberLevel", "phone"]);
let orderInfo = await findOnceToSort(TABLEENUM.订单审批历史表, {orderId:info.id,operationBehavior:ORDEREXAMINE.用户提交, refundName:null}, {operationTime:-1}, ["operationTime"]);
let subList = [];
for (let i = 0; i < selectConf.length; i++) {
let key = selectConf[i];
......@@ -309,8 +309,18 @@ export async function outPutConfirmReceipt({exportColumns, payType, examineState
else if (info.memberCategory == MEMBERTYPE.单位会员) value = userInfo.uscc;
}
if (key == "mail") {
if (info.memberCategory == MEMBERTYPE.个人会员) value = userInfo.mail;
else if (info.memberCategory == MEMBERTYPE.单位会员) value = userInfo.unitMail;
value = userInfo.mail;
}
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 (!info.paymentMethod) {
......@@ -327,7 +337,7 @@ export async function outPutConfirmReceipt({exportColumns, payType, examineState
if (value && value != "-") {
if (timeChnageList.indexOf(key) != -1) value = moment(value).format("YYYY-MM-DD");
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 == "invoiceStatus") value = changeEnumValue(INVOICESTATUS, value);
}
......
......@@ -340,13 +340,13 @@ export async function backInvoice({id}) {
let selectFile = ["id", "unitName", "userId", "orderCycleStart", "orderCycleEnd", "money", "paymentMethod", "memberCategory", "paymentNum", "desc",
"invoiceMail", "confirmReceiptMs", "payTime", "invoiceTime"];
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 dataList = [selectTitle];
for (let i = 0; i < dbList.length; 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 subList = [];
for (let i = 0; i < selectConf.length; i++) {
......@@ -361,8 +361,17 @@ export async function backInvoice({id}) {
else if (info.memberCategory == MEMBERTYPE.单位会员) value = userInfo.uscc;
}
if (key == "mail") {
if (info.memberCategory == MEMBERTYPE.个人会员) value = userInfo.mail;
else if (info.memberCategory == MEMBERTYPE.单位会员) value = userInfo.unitMail;
value = userInfo.mail;
}
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 (!info.paymentMethod) {
......@@ -380,7 +389,7 @@ export async function backInvoice({id}) {
if (value && value != "-") {
if (timeChnageList.indexOf(key) != -1) value = moment(value).format("YYYY-MM-DD");
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);
}
subList.push(value);
......@@ -461,7 +470,7 @@ export async function billStateBatchAdopt({idList}) {
* @param isPay 是否支付
* @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("发票列表", "是否支付", ISPAYENUM, isPay );
......@@ -494,10 +503,16 @@ export async function invoicedList({name, memberType, documentId, invoiceExamine
isSelectUser = true;
itemParam.documentId = documentId;
}
if (mail) {
// if (mail) {
// isSelectUser = true;
// itemParam.mail = mail;
// }
if (state) {
isSelectUser = true;
itemParam.mail = mail;
itemParam.memberState = state;
}
if (memberLevel && memberLevel.length) {
isSelectUser = true;
itemParam.memberLevel = {"$in":memberLevel};
......@@ -517,13 +532,14 @@ export async function invoicedList({name, memberType, documentId, invoiceExamine
if (isPay) findParam.state = isPay;
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 dataCount = await findCount(TABLEENUM.订单表, findParam);
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++) {
let info = dbList[i];
......@@ -549,6 +565,7 @@ export async function invoicedList({name, memberType, documentId, invoiceExamine
itemData.name = userInfo.name;
itemData.invoiceExamineTime = info.invoiceExamineTime ? moment(info.invoiceExamineTime).format("YYYY-MM-DD") : '-';
itemData.invoiceMail = info.invoiceMail ? info.invoiceMail : '-';
dataList.push(itemData);
}
......@@ -572,7 +589,8 @@ export async function invoicedList({name, memberType, documentId, invoiceExamine
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 timeChnageList = ["orderCycleStart", "operationTime", "confirmReceiptMs", "payTime"];
......@@ -580,7 +598,8 @@ export async function invoicedList({name, memberType, documentId, invoiceExamine
let dataList = [selectTitle];
for (let i = 0; i < dbList.length; 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 = [];
for (let i = 0; i < selectConf.length; i++) {
let key = selectConf[i];
......@@ -594,8 +613,17 @@ export async function invoicedList({name, memberType, documentId, invoiceExamine
else if (info.memberCategory == MEMBERTYPE.单位会员) value = userInfo.uscc;
}
if (key == "mail") {
if (info.memberCategory == MEMBERTYPE.个人会员) value = userInfo.mail;
else if (info.memberCategory == MEMBERTYPE.单位会员) value = userInfo.unitMail;
value = userInfo.mail;
}
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 (!info.paymentMethod) {
......@@ -609,7 +637,7 @@ export async function invoicedList({name, memberType, documentId, invoiceExamine
if (value && value != "-") {
if (timeChnageList.indexOf(key) != -1) value = moment(value).format("YYYY-MM-DD");
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);
}
subList.push(value);
......
......@@ -35,8 +35,8 @@ export async function getMemberData({userId}) {
let otherAttachment:any= {};
/**判断会员类型,个人会员与单位会员返回不同字段 */
if (oldInfo.memberType == MEMBERTYPE.单位会员) {
baseSelectFiles = ["userId", "unitName", "uscc", "legalPerson", "legalPersonPhone", "legalPersonMail", "unitMail", "contactPerson",
"contactPersonDuties", "contactPersonPhone", "uusinessLicenseUrl", "addres", "sheng", "shi", "qu", "kaishezhuanYe", "danWeiJianJie"];
baseSelectFiles = ["userId", "unitName", "uscc", "legalPerson", "legalPersonPhone", "legalPersonMail", "mail", "contactPerson",
"contactPersonDuties", "phone", "uusinessLicenseUrl", "addres", "sheng", "shi", "qu", "kaishezhuanYe", "danWeiJianJie"];
majorSelectFiles = ["unitMemberType", "yuanXiaoBanXueLeiXing", "yuanXiaoZhuGuanBuMen", "yuanXiaoFuZeRen", "yuanXiaoFuZeRenZhiWu",
"yuanXiaoFuZeRenDianHua", "yuanXiaoBanGongFuZeRen", "yuanXiaoBanGongFuZeRenDianHua", "ZhuYaoFuZeRenYouXiang", "yuanXiaoKeYanFuZeRen",
"yuanXiaoKeYanFuZeRenDianHua", "jiaoXueFuZeRenXinMing", "jiaoXueFuZeRenDianHua"];
......@@ -446,7 +446,7 @@ export async function isNeedSupplement({userId}) {
// "applicationForm"]
// }
// const DwRequiredConf = {
// "基本信息": ["sheng", "shi", "qu", "addres", "contactPerson", "contactPersonDuties", "contactPersonPhone"],
// "基本信息": ["sheng", "shi", "qu", "addres", "contactPerson", "contactPersonDuties", "phone"],
// "单位信息": ["yuanXiaoZhuGuanBuMen", "yuanXiaoFuZeRen", "yuanXiaoFuZeRenZhiWu",
// "yuanXiaoFuZeRenDianHua", "yuanXiaoBanGongFuZeRen", "yuanXiaoBanGongFuZeRenDianHua", "ZhuYaoFuZeRenYouXiang", "yuanXiaoKeYanFuZeRen",
// "yuanXiaoKeYanFuZeRenDianHua", "jiaoXueFuZeRenXinMing", "jiaoXueFuZeRenDianHua"]
......@@ -455,7 +455,7 @@ export async function isNeedSupplement({userId}) {
/**资料变更 */
const DwRequiredConf = {
"基本信息": ["unitName", "sheng", "shi", "qu", "addres", "uscc", "legalPerson", "legalPersonPhone", "legalPersonMail", "contactPerson",
"contactPersonDuties", "contactPersonPhone", "uusinessLicenseUrl", "applicationForm"],
"contactPersonDuties", "phone", "uusinessLicenseUrl", "applicationForm"],
"单位信息": ["unitMemberType", "yuanXiaoBanXueLeiXing", "yuanXiaoZhuGuanBuMen", "yuanXiaoFuZeRen", "yuanXiaoFuZeRenZhiWu",
"yuanXiaoFuZeRenDianHua", "yuanXiaoBanGongFuZeRen", "yuanXiaoBanGongFuZeRenDianHua", "ZhuYaoFuZeRenYouXiang", "yuanXiaoKeYanFuZeRen",
"yuanXiaoKeYanFuZeRenDianHua", "jiaoXueFuZeRenXinMing", "jiaoXueFuZeRenDianHua"]
......@@ -598,7 +598,7 @@ export async function unitInfoSupplement({form, keyanForm, 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 );
form.mail = form.unitMail;
// form.mail = form.unitMail;
/**修改会员用户信息 */
await updateOneData(TABLEENUM.用户表, {userId}, form);
......
......@@ -57,7 +57,7 @@ export async function unitMemberList({unitName, mail, phone, joinStartTime, join
if (shi) selectParam.shi = shi;
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 dataCount = await findCount(TABLEENUM.用户表, selectParam);
......@@ -91,14 +91,14 @@ export async function unitMemberList({unitName, mail, phone, joinStartTime, join
* 单位会员详情
* @param id 会员列表返回的userId
* @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":主要负责人电话,
"yuanXiaoBanGongFuZeRen":办公负责人姓名, "yuanXiaoBanGongFuZeRenDianHua":办公负责人电话, "ZhuYaoFuZeRenYouXiang":主要负责人邮箱, "yuanXiaoKeYanFuZeRen":科研负责人姓名, "yuanXiaoKeYanFuZeRenDianHua":看科研负责人电话,
"jiaoXueFuZeRenXinMing":教学负责人姓名, "jiaoXueFuZeRenDianHua":教学负责人电话
* 单位所获得科研成果: "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"];
const UnitConfig = ["unitMemberType", "yuanXiaoBanXueLeiXing", "yuanXiaoZhuGuanBuMen", "yuanXiaoFuZeRen", "yuanXiaoFuZeRenZhiWu", "yuanXiaoFuZeRenDianHua",
"yuanXiaoBanGongFuZeRen", "yuanXiaoBanGongFuZeRenDianHua", "ZhuYaoFuZeRenYouXiang", "yuanXiaoKeYanFuZeRen", "yuanXiaoKeYanFuZeRenDianHua",
......@@ -187,9 +187,9 @@ export async function unitMemberUpdate({form, keyanForm, id}) {
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 );
form.mail = form.unitMail;
form.mail = form.mail;
await updateOneData(TABLEENUM.用户表, {userId:id}, form);
/**删除对应userId科研成果 */
......@@ -490,7 +490,7 @@ export async function outPutUnitMembers({exportColumns}) {
// let selectTitle = ["入会时间", "是否是导入用户", "会员状态", "证书类型", "个人会员类型", "会员等级/职务", "是否处于宽限期", "用户名", "联系电话", "单位电子邮箱", "单位名称", "统一信用代码",
// "法人代表", "法人代表联系电话", "法人邮箱", "日常联系人", "日常联系人职务", "日常联系人手机号码", "营业执照", "单位会员类型", "院校办学类型", "院校主管部门", "院校主要负责人", "院校主要负责人职务", "院校主要负责人电话", "院校办公负责人", "院校办公负责人电话", "主要负责人邮箱", "院校科研负责人", "院校科研负责人电话", "教学负责人姓名", "院校学生总人数", "教职工总人数", "教学负责人电话", "开设专业", "单位简介"];
// 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 selectConf = [];
......
......@@ -2,7 +2,7 @@
* 订单相关 success
*/
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 { changeEnumValue, eccEnumValue } from "../../util/verificationEnum";
import { addOneData } from "../../data/add";
......@@ -543,7 +543,7 @@ export async function accountInfo({id, form}) {
* 退款列表
* @param param0
*/
export async function refundList({name, memberType, joinStartTime, joinEndTime, pageNumber}) {
export async function refundList({name, memberType, joinStartTime, joinEndTime, isReceiveMoney, pageNumber}) {
// info.confirmReceipt == RECEIPTCONFIRMATION.收款确认 ? "已审批" : "待审批";
let findParam:any = {
// isReceive:{"$gt":0}, confirmReceipt:RECEIPTCONFIRMATION.退回
......@@ -552,7 +552,27 @@ export async function refundList({name, memberType, joinStartTime, joinEndTime,
{refundSuccessful:true}
]
};
/**审批表查询条件 */
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 itemParam:any = {};
......@@ -590,22 +610,25 @@ export async function refundList({name, memberType, joinStartTime, joinEndTime,
}
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 dataCount = await findCount(TABLEENUM.订单表, findParam);
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++) {
let info = dbList[i];
let historyList = await findOnceToSort(TABLEENUM.订单审批历史表, {orderId:info.id, operationBehavior:ORDEREXAMINE.退款申请}, {operationTime:-1});
let itemData:any = extractData(info, itemFile);
// itemData.joinTime = moment(info.orderCycleStart).format("YYYY-MM-DD");
itemData.memberType = changeEnumValue(MEMBERTYPE, itemData.memberCategory);
itemData.cycle = `${moment(info.orderCycleStart).format("YYYY-MM-DD")}${moment(info.orderCycleEnd).format("YYYY-MM-DD")}`;
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) {
itemData.name = userInfo.name;
......@@ -623,6 +646,12 @@ export async function refundList({name, memberType, joinStartTime, joinEndTime,
else itemData.state = "待退款";
}
// let operationBehavior = "";
//订单分类字段【需退款、无需退款】
if (historyList.isReceiveMoney) itemData.operationBehavior = "不需退款";
// if (isReceiveMoney == ISRECEIVEMONEY.不需退款) itemData.operationBehavior = "不需退款";
else itemData.operationBehavior = "需退款";
dataList.push(itemData);
}
......@@ -696,6 +725,12 @@ export async function refundApprove({id, refundImgUrl}) {
if (info.memberCategory == MEMBERTYPE.个人会员) value = userInfo.name;
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 (!info.isReplenishReturnInfo) value = "资料补充中";
else {
......@@ -707,7 +742,7 @@ export async function refundApprove({id, refundImgUrl}) {
if (value && value != "-") {
if (timeChnageList.indexOf(key) != -1) value = moment(value).format("YYYY-MM-DD");
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);
}
......
......@@ -16,12 +16,19 @@ import { sendALSMS } from "../sms";
/**
* 登
* 登
* @param param0
* @returns
*/
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);
if (!userInfo || !userInfo.userId) throw new BizError(ERRORENUM.账号或密码错误);
......
......@@ -365,7 +365,7 @@ export async function memberRegisterSendCode({phone}) {
*/
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",
"yuanXiaoFuZeRenDianHua", "yuanXiaoBanGongFuZeRen", "yuanXiaoBanGongFuZeRenDianHua", "ZhuYaoFuZeRenYouXiang", "yuanXiaoKeYanFuZeRen", "yuanXiaoKeYanFuZeRenDianHua",
"jiaoXueFuZeRenXinMing", "yuanXiaoXueShengZongRenShu", "yuanXiaoJiaoZhiGongZongRenShu", "jiaoXueFuZeRenDianHua", "kaishezhuanYe", "danWeiJianJie", "applicationForm"];
......
......@@ -334,6 +334,15 @@ export enum MEMBERSTATE {
/**
* 已开发票-会员状态 前端用
*/
export enum INVOICESTATE {
正常 = 1,
异常,
}
/**
* 管理员状态
*/
export enum ADMINSTATE {
......@@ -857,4 +866,14 @@ export enum MAILTYPE {
}
/**
* 是否需要退款
*/
export enum ISRECEIVEMONEY {
需退款 = 1,
不需退款
}
......@@ -20,8 +20,8 @@ export enum UNITAUDITINGCOLUMNS {
主要负责人电话 = "yuanXiaoFuZeRenDianHua",
教学负责人电话 = "jiaoXueFuZeRenDianHua",
单位邮箱 = "unitMail",
日常联系人手机 = "contactPersonPhone",
日常联系人邮箱 = "mail",
日常联系人手机 = "phone",
主要负责人邮箱 = "ZhuYaoFuZeRenYouXiang",
学生总人数 = "yuanXiaoXueShengZongRenShu",
......@@ -53,10 +53,10 @@ export enum UNITAUDITINGCOLUMNS {
export enum AUDITINGCOLUMNS {
入会时间 = "joinTime",
姓名 = "name",
手机号 = "phone",
手机号 = "phone",
专业类别 = "profCategory",
性别 = "sex",
个人邮箱 = "mail",
电子邮箱 = "mail",
民族 = "nation",
省市区 = "shengshiqu",
出生年月 = "birth",
......@@ -89,10 +89,10 @@ export enum CONFIRMRECEIPTCOLUMNS {
"单位代码/个人身份证" = "card",
备注 = "desc",
发票邮箱 = "invoiceMail",
"单位/个人邮箱" = "mail",
"电子邮箱" = "mail",
提交时间 = "operationTime", //上传转账凭证的时间
会员职务 = "memberLevel",
注册手机号="phone",
手机号="phone",
届次 = "session",
支付时间 = "payTime", //微信支付的时间
发票状态 = "invoiceStatus",
......@@ -112,12 +112,12 @@ export enum BILLSTATECOLUMNS {
"单位代码/个人身份证" = "card",
备注 = "desc",
发票邮箱 = "invoiceMail",
"单位/个人邮箱" = "mail",
"电子邮箱" = "mail",
审核时间 = "confirmReceiptMs", //什么时候从费用核对通过审核时间
提交时间 = "operationTime", //上传转账凭证的时间
支付时间 = "payTime", //微信支付的时间
会员职务 = "memberLevel",
注册手机号="phone",
手机号="phone",
发票申请时间 = "invoiceTime",
}
......@@ -135,13 +135,13 @@ export enum INVOICEDCOLUMNS {
"单位代码/个人身份证" = "card",
备注 = "desc",
发票邮箱 = "invoiceMail",
"单位/个人邮箱" = "mail",
"电子邮箱" = "mail",
审核时间 = "confirmReceiptMs", //什么时候从费用核对通过审核时间
提交时间 = "operationTime", //上传转账凭证的时间
支付时间 = "payTime", //微信支付的时间
会员职务 = "memberLevel",
注册手机号="phone",
已开发票时间 = "invoiceExamineTime"
手机号="phone",
发票开具时间 = "invoiceExamineTime"
}
......@@ -158,7 +158,7 @@ export enum REFUNDCOLUMNS {
退款账号 = "refundBankCarId",
开户行 = "refundBankName",
会员职务 = "memberLevel",
注册手机号="phone"
手机号="phone"
}
......@@ -166,7 +166,7 @@ export enum REFUNDCOLUMNS {
export enum MEMBERFEESDCOLUMNS {
状态 = "memberState",
会员类别 = "memberType",
注册手机号 ="phone",
手机号 ="phone",
"单位代码/身份证"="code",
"单位/个人名称" = "name" ,
会员职务 = "memberLevel",
......@@ -181,7 +181,7 @@ export enum MEMBERFEESDCOLUMNS {
export enum MEMBERPAYMENTCOLUMNS {
状态 = "memberState",
会员类别 = "memberType",
注册手机号 ="phone",
手机号 ="phone",
"单位代码/身份证"="code",
"单位/个人名称" = "name" ,
会员职务 = "memberLevel",
......
......@@ -415,10 +415,10 @@ const ModelArray = [
legalPerson:'String',//法人代表
legalPersonPhone:'String',//法人代表联系电话
legalPersonMail:'String',//法人邮箱
unitMail:'String',//单位电子邮箱
// unitMail:'String',//单位电子邮箱 【2025/3/10 弃用 之后日常联系人邮箱直接默认同步mail:注册邮箱(单位邮箱)】
contactPerson:'String',//日常联系人
contactPersonDuties:'String',//日常联系人职务
contactPersonPhone:'String',//日常联系人手机号码
// contactPersonPhone:'String',//日常联系人手机号码 【2025/3/10 弃用 之后日常联系人手机号码直接默认同步phone:注册手机号】
uusinessLicenseUrl:'String',//营业执照 图片地址
/**第二步流程表单(单位)【单位信息】 */
unitMemberType:{type: 'Number'},//单位会员类型 枚举UNITMEMBERTYPE
......
......@@ -114,7 +114,7 @@ export async function test2() {
"addres" : "asfasfsda",
"contactPerson" : "16621071125",
"contactPersonDuties" : "16621071125",
"contactPersonPhone" : "16621071125",
// "contactPersonPhone" : "16621071125",
"danWeiJianJie" : "吃成都成都成都成都成都",
"jiaoXueFuZeRenDianHua" : "16621071125",
"jiaoXueFuZeRenXinMing" : "sdfs",
......
import { changeDB, getMailData, getData, getUnitData } from "./biz/cleanData";
import { sendMail } from "./biz/mail";
import { testCallback } from "./biz/member/cost";
import { initActivity } from "./biz/member/msgActivity";
......@@ -30,6 +31,8 @@ async function lanuch() {
console.log("服务初始化成功");
// await sendMail("18711017326@163.com");
// await testCallback("e793d4b37c2eac2de13b4df69fa2cc18")
// await getUnitData();
// await changeDB();
}
lanuch();
......
......@@ -121,7 +121,7 @@ export const Config = {
// unitMail:{type:'String', desc:'单位电子邮箱', notMustHave:false}, 2024.4.22日的需求 去掉
contactPerson:{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},
/**单位信息 */
unitMemberType:{type:'Number', desc:'单位信息类型,枚举', notMustHave:false},
......@@ -238,7 +238,7 @@ export const Config = {
legalPersonMail:{type:'String', desc:'法人邮箱', notMustHave:true},
contactPerson:{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},
/**单位信息 */
unitMemberType:{type:'Number', desc:'单位信息类型,枚举', notMustHave:true},
......@@ -439,10 +439,10 @@ export const Config = {
legalPerson:{type:'String', desc:'法人代表'},
legalPersonPhone:{type:'String', desc:'法人联系电话'},
legalPersonMail:{type:'String', desc:'法人邮箱'},
unitMail:{type:'String', desc:'单位电子邮箱'},
mail:{type:'String', desc:'单位电子邮箱'},
contactPerson:{type:'String', desc:'日常联系人'},
contactPersonDuties:{type:'String', desc:'日常联系人职务'},
contactPersonPhone:{type:'String', desc:'日常联系人电话'},
phone:{type:'String', desc:'日常联系人电话'},
sheng:{type:'String', desc:'省'},
shi:{type:'String', desc:'市'},
qu:{type:'String', desc:'区'},
......@@ -992,8 +992,8 @@ export const Config = {
sheng:{type:'String', desc:'省'},
shi:{type:'String', desc:'市'},
qu:{type:'String', desc:'区'},
phone:{type:'String', desc:'手机号码'},
mail:{type:'String', desc:'电子邮箱'},
// phone:{type:'String', desc:'手机号码'},
// mail:{type:'String', desc:'电子邮箱'},
addres:{type:'String', desc:'通信地址'},
photoUrl:{type:'String', desc:'蓝底证件照'},
education:{type:'Number', desc:'学历'},
......@@ -1164,7 +1164,8 @@ export const Config = {
// unitMail:{type:'String', desc:'单位电子邮箱', notMustHave:false}, 2024.4.22日的需求 去掉
contactPerson:{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},
applicationForm:{type:'String', desc:'申请表', notMustHave:false}, //2025.2.26日加上
/**单位信息 */
......
......@@ -177,7 +177,7 @@ export const Config = {
{key:"memberType", type:"[Number]", desc:"会员类别", isNull:true},
{key:"documentId", 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:"joinEndTime", type:"Number", desc:"入会结束时间", isNull:true},
{key:"memberLevel", type:"[Number]", desc:"个人级别职务", isNull:true},
......@@ -185,6 +185,7 @@ export const Config = {
{key:"isPay", type:"Number", desc:"是否支付", isNull:true},
{key:"weChartPR", type:"String", desc:"微信支付单号", isNull:true},
{key:"invoiceExamineTime", type:"Number", desc:"已开发票时间", isNull:true},
{key:"state", type:"Number", desc:"状态", isNull:true},
{key:"pageNumber", type:"Number", desc:"当前页"},
],
bindBiz:invoiceBiz.invoicedList
......@@ -229,6 +230,7 @@ export const Config = {
{key:"joinStartTime", type:"Number", desc:"入会开始时间", isNull:true},
{key:"joinEndTime", type:"Number", desc:"入会结束时间", isNull:true},
{key:"memberType", type:"[Number]", desc:"会员类别", isNull:true},
{key:"isReceiveMoney", type:"Number", desc:"订单分类", isNull:true},
{key:"pageNumber", type:"Number", desc:"当前页"},
],
bindBiz:orderBiz.refundList
......
......@@ -371,7 +371,21 @@ export const Config = {
param:[],
defaultParam:enumConfig.INFOCHANGEAPPLYTYPECLIENT,
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