Commit e214330b by lixinming

no message

parent 935d61c0
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -4,8 +4,13 @@ ...@@ -4,8 +4,13 @@
"description": "", "description": "",
"main": "main.ts", "main": "main.ts",
"dependencies": { "dependencies": {
"@alicloud/credentials": "^2.4.3",
"@alicloud/dypnsapi20170525": "^1.2.1", "@alicloud/dypnsapi20170525": "^1.2.1",
"@alicloud/dysmsapi20170525": "^4.1.1",
"@alicloud/openapi-client": "^0.4.14",
"@alicloud/sms-sdk": "^1.1.6", "@alicloud/sms-sdk": "^1.1.6",
"@alicloud/tea-typescript": "^1.8.0",
"@alicloud/tea-util": "^1.4.10",
"@types/node": "^10.12.18", "@types/node": "^10.12.18",
"compression": "^1.7.4", "compression": "^1.7.4",
"express": "^4.17.1", "express": "^4.17.1",
...@@ -45,6 +50,5 @@ ...@@ -45,6 +50,5 @@
"video/**/*" "video/**/*"
], ],
"outputPath": "dist" "outputPath": "dist"
}, }
"devDependencies": {}
} }
...@@ -135,11 +135,11 @@ export async function testCallback(weChartPR) { ...@@ -135,11 +135,11 @@ export async function testCallback(weChartPR) {
weChartState:WEICHARTPAYSTATE.已支付, weChartState:WEICHARTPAYSTATE.已支付,
confirmReceipt:RECEIPTCONFIRMATION.收款确认, confirmReceipt:RECEIPTCONFIRMATION.收款确认,
confirmReceiptMs:new Date().valueOf(), confirmReceiptMs:new Date().valueOf(),
invoiceStatus:INVOICESTATUS.未开发票,
}; };
if (userInfo.memberType == MEMBERTYPE.单位会员) { if (userInfo.memberType == MEMBERTYPE.单位会员) {
updateInfo.invoiceStatus = INVOICESTATUS.不具备开票条件; updateInfo.invoiceStatus = INVOICESTATUS.不具备开票条件;
} }
if (oldInfo.invoiceStatus == INVOICESTATUS.不具备开票条件) updateInfo.invoiceStatus = INVOICESTATUS.未开发票;
await updateOneData(TABLEENUM.订单表, {weChartPR}, updateInfo); await updateOneData(TABLEENUM.订单表, {weChartPR}, updateInfo);
//更新用户状态 //更新用户状态
let notPayCount = await findCount(TABLEENUM.订单表, {userId:oldInfo.userId, state:ORDERSTATE.未支付} ); let notPayCount = await findCount(TABLEENUM.订单表, {userId:oldInfo.userId, state:ORDERSTATE.未支付} );
...@@ -202,9 +202,9 @@ export async function payCallback(body) { ...@@ -202,9 +202,9 @@ export async function payCallback(body) {
weChartState:WEICHARTPAYSTATE.已支付, weChartState:WEICHARTPAYSTATE.已支付,
confirmReceipt:RECEIPTCONFIRMATION.收款确认, confirmReceipt:RECEIPTCONFIRMATION.收款确认,
confirmReceiptMs:new Date().valueOf(), confirmReceiptMs:new Date().valueOf(),
invoiceStatus:INVOICESTATUS.未开发票
}; };
if (oldInfo.memberCategory == MEMBERTYPE.个人会员 ) updateInfo.invoiceTime = new Date().valueOf(); if (oldInfo.memberCategory == MEMBERTYPE.个人会员 ) updateInfo.invoiceTime = new Date().valueOf();
if (oldInfo.invoiceStatus == INVOICESTATUS.不具备开票条件) updateInfo.invoiceStatus = INVOICESTATUS.未开发票;
await updateOneData(TABLEENUM.订单表, {weChartPR:wechartCallbackData.out_trade_no}, updateInfo); await updateOneData(TABLEENUM.订单表, {weChartPR:wechartCallbackData.out_trade_no}, updateInfo);
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
*/ */
import moment = require("moment"); import moment = require("moment");
import { BANXUELEIXING, CERTIFICATETYPE, DOCUMENTTYPE, EDUCATION, INDIVIDUALMEMBERTYPE, LOGONSTATE, MAILTYPE, MEMBERLEVEL, MEMBERSTATE, MEMBERTYPE, MEMBERTYPEECCENUM, NATION, OPERATIONREHAVIOR, PAYMENTSTATUS, PROFCATEGORY, REGISTERFLOW, REGISTERFLOWCLIENT, SEX, STATE, UNITMEMBERTYPE, USERREGISTERSTATE } from "../../config/enum"; import { BANXUELEIXING, CERTIFICATETYPE, DOCUMENTTYPE, EDUCATION, INDIVIDUALMEMBERTYPE, LOGONSTATE, MAILTYPE, MEMBERLEVEL, MEMBERSTATE, MEMBERTYPE, MEMBERTYPEECCENUM, MSGTYPE, NATION, OPERATIONREHAVIOR, PAYMENTSTATUS, PROFCATEGORY, REGISTERFLOW, REGISTERFLOWCLIENT, SEX, STATE, UNITMEMBERTYPE, USERREGISTERSTATE } from "../../config/enum";
import { ERRORENUM } from "../../config/errorEnum"; import { ERRORENUM } from "../../config/errorEnum";
import { addManyData, addOneData } from "../../data/add"; import { addManyData, addOneData } from "../../data/add";
import { TABLEENUM } from "../../data/models/model"; import { TABLEENUM } from "../../data/models/model";
...@@ -15,7 +15,7 @@ import { extractData } from "../../util/piecemeal"; ...@@ -15,7 +15,7 @@ import { extractData } from "../../util/piecemeal";
import { changeEnumValue } from "../../util/verificationEnum"; import { changeEnumValue } from "../../util/verificationEnum";
import { createOrder } from "./order"; import { createOrder } from "./order";
import { getCityNameByCode } from "../../config/cityConfig"; import { getCityNameByCode } from "../../config/cityConfig";
import { sendPassNotice } from "../sms"; import { sendMessage, sendPassNotice } from "../sms";
import { SessionTimeMsConfig } from "../../config/serverConfig"; import { SessionTimeMsConfig } from "../../config/serverConfig";
import { deleteOneData } from "../../data/delete"; import { deleteOneData } from "../../data/delete";
import { systemSendMail } from "../mail"; import { systemSendMail } from "../mail";
...@@ -204,8 +204,9 @@ export async function submitDocument({name, memberType, documentId, phone, mail, ...@@ -204,8 +204,9 @@ export async function submitDocument({name, memberType, documentId, phone, mail,
dbList.forEach(info => { dbList.forEach(info => {
let item:any = extractData(info, SelectFiles); let item:any = extractData(info, SelectFiles);
/**处理枚举值 */ /**处理枚举值 */
// if (!item.userRegisterState) item.userRegisterState = USERREGISTERSTATE.待审核; if (!item.userRegisterState) item.userRegisterState = USERREGISTERSTATE.待审核;
// else item.userRegisterState = changeEnumValue(USERREGISTERSTATE, item.userRegisterState); else item.userRegisterState = changeEnumValue(USERREGISTERSTATE, item.userRegisterState);
item.registerFlow = changeEnumValue(REGISTERFLOWCLIENT, item.registerFlow); item.registerFlow = changeEnumValue(REGISTERFLOWCLIENT, item.registerFlow);
item.memberLevel = changeEnumValue(MEMBERLEVEL, item.memberLevel); item.memberLevel = changeEnumValue(MEMBERLEVEL, item.memberLevel);
item.sheng = getCityNameByCode(item.sheng); item.sheng = getCityNameByCode(item.sheng);
...@@ -457,12 +458,15 @@ export async function adopt({id, session}) { ...@@ -457,12 +458,15 @@ export async function adopt({id, session}) {
}; };
await addManyData(TABLEENUM.审批历史表, addApprovalHistory); await addManyData(TABLEENUM.审批历史表, addApprovalHistory);
//发送短信
let smsName = userInfo.memberType == MEMBERTYPE.个人会员 ? userInfo.name : userInfo.unitName;
await sendPassNotice(userInfo.phone, smsName);
//发送邮件 //发送邮件
await systemSendMail(userInfo.userId, MAILTYPE.审核通过以及缴费通知 ); await systemSendMail(userInfo.userId, MAILTYPE.审核通过以及缴费通知 );
//发送短信
let smsName = userInfo.memberType == MEMBERTYPE.个人会员 ? userInfo.name : userInfo.unitName;
sendMessage(userInfo.phone, {name:smsName}, MSGTYPE.审核通过以及缴费通知);
return successResult(); return successResult();
} }
...@@ -547,7 +551,7 @@ export async function batchAdopt({idList, session}) { ...@@ -547,7 +551,7 @@ export async function batchAdopt({idList, session}) {
* @param remarks 驳回理由 * @param remarks 驳回理由
* @returns * @returns
*/ */
export async function reject({id, remarks}) { export async function reject({id, remarks, rejectType}) {
let userId = id; let userId = id;
let userInfo = await findOnce(TABLEENUM.用户表, {userId, isAdmin:STATE.}); let userInfo = await findOnce(TABLEENUM.用户表, {userId, isAdmin:STATE.});
if (!userInfo || !userInfo.userId) throw new BizError(ERRORENUM.目标数据不存在); if (!userInfo || !userInfo.userId) throw new BizError(ERRORENUM.目标数据不存在);
...@@ -585,7 +589,11 @@ export async function reject({id, remarks}) { ...@@ -585,7 +589,11 @@ export async function reject({id, remarks}) {
await addManyData(TABLEENUM.审批历史表, addApprovalHistory); await addManyData(TABLEENUM.审批历史表, addApprovalHistory);
//发送邮件 //发送邮件
await systemSendMail(userInfo.userId, MAILTYPE.审核期间驳回通知 ); systemSendMail(userInfo.userId, MAILTYPE.审核期间驳回通知 );
//发短信
let smsName = userInfo.memberType == MEMBERTYPE.个人会员 ? userInfo.name : userInfo.unitName;
sendMessage(userInfo.phone, {name:smsName}, MSGTYPE.审核期间驳回通知, rejectType);
return successResult(); return successResult();
} }
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
*/ */
import moment = require("moment"); import moment = require("moment");
import { COSTTYPE, INVOICESTATUS, ISRECEIVE, MAILTYPE, MEMBERLEVEL, MEMBERSTATE, MEMBERTYPE, MEMBERTYPEECCENUM, ORDEREXAMINE, ORDERSTATE, PAYMENTSTATUS, PAYMENTTYPE, RECEIPTCONFIRMATION, STATE } from "../../../config/enum"; import { COSTTYPE, INVOICESTATUS, ISRECEIVE, MAILTYPE, MEMBERLEVEL, MEMBERSTATE, MEMBERTYPE, MEMBERTYPEECCENUM, MSGTYPE, ORDEREXAMINE, ORDERSTATE, PAYMENTSTATUS, PAYMENTTYPE, RECEIPTCONFIRMATION, STATE } from "../../../config/enum";
import { ERRORENUM } from "../../../config/errorEnum"; import { ERRORENUM } from "../../../config/errorEnum";
import { TABLEENUM } from "../../../data/models/model"; import { TABLEENUM } from "../../../data/models/model";
import { find, findCount, findOnce, findOnceToSort, findToPage, findToSortToPage } from "../../../data/select"; import { find, findCount, findOnce, findOnceToSort, findToPage, findToSortToPage } from "../../../data/select";
...@@ -14,6 +14,7 @@ import { updateOneData } from "../../../data/update"; ...@@ -14,6 +14,7 @@ import { updateOneData } from "../../../data/update";
import { addOneData } from "../../../data/add"; import { addOneData } from "../../../data/add";
import { getEdition, successResult } from "../../../tools/system"; import { getEdition, successResult } from "../../../tools/system";
import { systemSendMail } from "../../mail"; import { systemSendMail } from "../../mail";
import { sendMessage } from "../../sms";
/** /**
...@@ -174,17 +175,20 @@ export async function paidList({name, memberType, documentId, phone, mail, joinS ...@@ -174,17 +175,20 @@ export async function paidList({name, memberType, documentId, phone, mail, joinS
/** /**
* 发票管理-财务核对页-收款确认 success * 财务核对页-收款确认 success
* @param id 订单id * @param id 订单id
*/ */
export async function confirmReceiptPass({id}) { export async function confirmReceiptPass({id}) {
let orderInfo = await findOnce(TABLEENUM.订单表, {id}); let orderInfo = await findOnce(TABLEENUM.订单表, {id});
if (!orderInfo || !orderInfo.id ) throw new BizError(ERRORENUM.目标数据不存在); if (!orderInfo || !orderInfo.id ) throw new BizError(ERRORENUM.目标数据不存在);
// if (orderInfo.isFirst && !orderInfo.firstPayExamine ) throw new BizError(ERRORENUM.重复提交, '发票管理-财务核对页-收款确认', `提交通过时订单未通过待支付页的校验`); // if (orderInfo.isFirst && !orderInfo.firstPayExamine ) throw new BizError(ERRORENUM.重复提交, '财务核对页-收款确认', `提交通过时订单未通过待支付页的校验`);
if (orderInfo.confirmReceipt != RECEIPTCONFIRMATION.待确认) throw new BizError(ERRORENUM.重复提交, '发票管理-财务核对页-收款确认', `提交通过时订单已经不是待确认 是${orderInfo.confirmReceipt}`); if (orderInfo.confirmReceipt != RECEIPTCONFIRMATION.待确认) throw new BizError(ERRORENUM.重复提交, '发票管理-财务核对页-收款确认', `提交通过时订单已经不是待确认 是${orderInfo.confirmReceipt}`);
let updateInfo:any = {confirmReceipt:RECEIPTCONFIRMATION.收款确认, confirmReceiptMs:new Date().valueOf()}; let updateInfo:any = {
if (orderInfo.invoiceStatus != INVOICESTATUS.已开发票) updateInfo.invoiceStatus = INVOICESTATUS.未开发票; confirmReceipt:RECEIPTCONFIRMATION.收款确认,
confirmReceiptMs:new Date().valueOf()
};
if (orderInfo.invoiceStatus == INVOICESTATUS.不具备开票条件) updateInfo.invoiceStatus = INVOICESTATUS.未开发票;
await updateOneData(TABLEENUM.订单表, {id}, updateInfo); await updateOneData(TABLEENUM.订单表, {id}, updateInfo);
let notPayCount = await findCount(TABLEENUM.订单表, {userId:orderInfo.userId, state:ORDERSTATE.未支付} ); let notPayCount = await findCount(TABLEENUM.订单表, {userId:orderInfo.userId, state:ORDERSTATE.未支付} );
...@@ -203,6 +207,7 @@ export async function confirmReceiptPass({id}) { ...@@ -203,6 +207,7 @@ export async function confirmReceiptPass({id}) {
updateUserInfo.lifespanStartTime = orderInfo.orderCycleStart; updateUserInfo.lifespanStartTime = orderInfo.orderCycleStart;
updateUserInfo.lifespanEndTime = orderInfo.orderCycleEnd; updateUserInfo.lifespanEndTime = orderInfo.orderCycleEnd;
} }
if (orderInfo.isFirst) { if (orderInfo.isFirst) {
updateUserInfo.isFirstPay = true; updateUserInfo.isFirstPay = true;
} }
...@@ -221,6 +226,10 @@ export async function confirmReceiptPass({id}) { ...@@ -221,6 +226,10 @@ export async function confirmReceiptPass({id}) {
//发送邮件 //发送邮件
await systemSendMail(orderInfo.userId, MAILTYPE.会员缴费成功后针对线下汇款财务审核通过的时候发送 ); await systemSendMail(orderInfo.userId, MAILTYPE.会员缴费成功后针对线下汇款财务审核通过的时候发送 );
let userInfo = await findOnce(TABLEENUM.用户表, {userId:orderInfo.userId});
let smsName = userInfo.memberType == MEMBERTYPE.个人会员 ? userInfo.name : userInfo.unitName;
sendMessage(userInfo.phone, {name:smsName}, MSGTYPE.会员缴费成功后针对线下汇款财务审核通过的时候发送);
return successResult(); return successResult();
} }
...@@ -257,8 +266,17 @@ export async function confirmReceiptOut({id, isReceive, returnsReasons}) { ...@@ -257,8 +266,17 @@ export async function confirmReceiptOut({id, isReceive, returnsReasons}) {
if (isReceive == ISRECEIVE.提供账户_zkh需退款_ykh){ if (isReceive == ISRECEIVE.提供账户_zkh需退款_ykh){
//发送邮件 //发送邮件
await systemSendMail(orderInfo.userId, MAILTYPE.会员缴费财务驳回需退款 ); await systemSendMail(orderInfo.userId, MAILTYPE.会员缴费财务驳回需退款 );
let userInfo = await findOnce(TABLEENUM.用户表, {userId:orderInfo.userId});
let smsName = userInfo.memberType == MEMBERTYPE.个人会员 ? userInfo.name : userInfo.unitName;
sendMessage(userInfo.phone, {name:smsName}, MSGTYPE.会员缴费财务驳回需退款);
} else { } else {
await systemSendMail(orderInfo.userId, MAILTYPE.会员缴费财务驳回无需退款 ); await systemSendMail(orderInfo.userId, MAILTYPE.会员缴费财务驳回无需退款 );
let userInfo = await findOnce(TABLEENUM.用户表, {userId:orderInfo.userId});
let smsName = userInfo.memberType == MEMBERTYPE.个人会员 ? userInfo.name : userInfo.unitName;
sendMessage(userInfo.phone, {name:smsName}, MSGTYPE.会员缴费财务驳回无需退款);
} }
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
*/ */
import moment = require("moment"); import moment = require("moment");
import { INVOICESTATUS, ISPAYENUM, MAILTYPE, MEMBERLEVEL, MEMBERSTATE, MEMBERTYPE, MEMBERTYPEECCENUM, ORDEREXAMINE, ORDERSTATE, PAYMENTTYPE, RECEIPTCONFIRMATION, STATE } from "../../../config/enum"; import { INVOICESTATUS, ISPAYENUM, MAILTYPE, MEMBERLEVEL, MEMBERSTATE, MEMBERTYPE, MEMBERTYPEECCENUM, MSGTYPE, ORDEREXAMINE, ORDERSTATE, PAYMENTTYPE, RECEIPTCONFIRMATION, STATE } from "../../../config/enum";
import { TABLEENUM } from "../../../data/models/model"; import { TABLEENUM } from "../../../data/models/model";
import { find, findCount, findOnce, findOnceToSort, findToPage, findToSortToPage } from "../../../data/select"; import { find, findCount, findOnce, findOnceToSort, findToPage, findToSortToPage } from "../../../data/select";
import { extractData } from "../../../util/piecemeal"; import { extractData } from "../../../util/piecemeal";
...@@ -15,6 +15,7 @@ import { updateOneData } from "../../../data/update"; ...@@ -15,6 +15,7 @@ import { updateOneData } from "../../../data/update";
import { addOneData } from "../../../data/add"; import { addOneData } from "../../../data/add";
import { successResult } from "../../../tools/system"; import { successResult } from "../../../tools/system";
import { systemSendMail } from "../../mail"; import { systemSendMail } from "../../mail";
import { sendMessage } from "../../sms";
/** /**
...@@ -149,6 +150,7 @@ export async function billStateList({name, memberType, documentId, invoiceApplyM ...@@ -149,6 +150,7 @@ export async function billStateList({name, memberType, documentId, invoiceApplyM
itemData.paymentMethod = changeEnumValue(PAYMENTTYPE, itemData.paymentMethod); itemData.paymentMethod = changeEnumValue(PAYMENTTYPE, itemData.paymentMethod);
// itemData.isPay = changeEnumValue(ORDERSTATE, itemData.state); // itemData.isPay = changeEnumValue(ORDERSTATE, itemData.state);
if(info.confirmReceipt == RECEIPTCONFIRMATION.收款确认 && info.state == ORDERSTATE.已支付) itemData.isPay = "已支付"; if(info.confirmReceipt == RECEIPTCONFIRMATION.收款确认 && info.state == ORDERSTATE.已支付) itemData.isPay = "已支付";
else if (info.confirmReceipt != RECEIPTCONFIRMATION.收款确认 && info.state == ORDERSTATE.已支付) itemData.isPay = "核对中"; //费用核对里待审批和驳回列表里的数据都会显示核对中 else if (info.confirmReceipt != RECEIPTCONFIRMATION.收款确认 && info.state == ORDERSTATE.已支付) itemData.isPay = "核对中"; //费用核对里待审批和驳回列表里的数据都会显示核对中
// else if (info.refundSuccessful) itemData.isPay = "已退回"; // else if (info.refundSuccessful) itemData.isPay = "已退回";
...@@ -264,8 +266,11 @@ export async function upInvoice({id, invoiceUrl}) { ...@@ -264,8 +266,11 @@ export async function upInvoice({id, invoiceUrl}) {
if(orderInfo.state == STATE.) { if(orderInfo.state == STATE.) {
//提前开票 发送邮件 //提前开票 发送邮件
await systemSendMail(orderInfo.userId, MAILTYPE.会员催缴通知提前开发票 ); await systemSendMail(orderInfo.userId, MAILTYPE.会员催缴通知提前开发票 );
}
let userInfo = await findOnce(TABLEENUM.用户表, {userId:orderInfo.userId});
let smsName = userInfo.memberType == MEMBERTYPE.个人会员 ? userInfo.name : userInfo.unitName;
sendMessage(userInfo.phone, {name:smsName}, MSGTYPE.会员催缴通知提前开发票);
}
return successResult(); return successResult();
} }
...@@ -480,24 +485,17 @@ export async function billStateBatchAdopt({idList}) { ...@@ -480,24 +485,17 @@ export async function billStateBatchAdopt({idList}) {
* @param pageNumber 当前页 * @param pageNumber 当前页
*/ */
export async function invoicedList({name, memberType, documentId, invoiceExamineTime, phone, memberLevel, paymentType, isPay, weChartPR, state, 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 );
let findParam:any = { /**组合 用户表 查询条件 */
invoiceStatus:INVOICESTATUS.已开发票
};
if (invoiceExamineTime) {
findParam.invoiceExamineTime = {"$gt":invoiceExamineTime, "$lt":invoiceExamineTime};
}
/**用户表查询条件 */
let checkUserIdList = [] let checkUserIdList = []
let itemParam:any = {}; let userTableParam:any = {};
let isSelectUser = false; let isSelectUser = false;
if (name) { if (name) {
isSelectUser = true; isSelectUser = true;
itemParam = { userTableParam = {
"$or":[ "$or":[
{unitName:{"$regex":`${name}`}}, {unitName:{"$regex":`${name}`}},
{name:{"$regex":`${name}`}} {name:{"$regex":`${name}`}}
...@@ -506,60 +504,66 @@ export async function invoicedList({name, memberType, documentId, invoiceExamine ...@@ -506,60 +504,66 @@ export async function invoicedList({name, memberType, documentId, invoiceExamine
} }
if (memberType && memberType.length) { if (memberType && memberType.length) {
isSelectUser = true; isSelectUser = true;
itemParam["$or"] = [ {unitMemberType:{"$in":memberType}}, {individualMemberType:{"$in":memberType}} ]; userTableParam["$or"] = [ {unitMemberType:{"$in":memberType}}, {individualMemberType:{"$in":memberType}} ];
} }
if (documentId) { if (documentId) {
isSelectUser = true; isSelectUser = true;
itemParam.documentId = documentId; userTableParam.documentId = documentId;
} }
// if (mail) { // if (mail) {
// isSelectUser = true; // isSelectUser = true;
// itemParam.mail = mail; // itemParam.mail = mail;
// } // }
if (state) { if (state) {
isSelectUser = true; isSelectUser = true;
itemParam.memberState = state; userTableParam.memberState = state;
} }
if (memberLevel && memberLevel.length) { if (memberLevel && memberLevel.length) {
isSelectUser = true; isSelectUser = true;
itemParam.memberLevel = {"$in":memberLevel}; userTableParam.memberLevel = {"$in":memberLevel};
} }
if (isSelectUser) { if (isSelectUser) {
let checkUserIdDataList = await find(TABLEENUM.用户表, itemParam, ["userId"]); let checkUserIdDataList = await find(TABLEENUM.用户表, userTableParam, ["userId"]);
checkUserIdDataList.forEach(key => { checkUserIdDataList.forEach(key => {
checkUserIdList.push(key.userId); checkUserIdList.push(key.userId);
}); });
} }
if (checkUserIdList.length) {
findParam.userId = {"$in":checkUserIdList}
}
/**组合 订单表 查询条件 */
let findParam:any = { invoiceStatus:INVOICESTATUS.已开发票 };
if (invoiceExamineTime) findParam.invoiceExamineTime = {"$gt":invoiceExamineTime, "$lt":invoiceExamineTime};
if (checkUserIdList.length) findParam.userId = {"$in":checkUserIdList};
if (phone) findParam.phone = phone; if (phone) findParam.phone = phone;
if (paymentType) findParam.paymentMethod = paymentType; if (paymentType) findParam.paymentMethod = paymentType;
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", "invoiceMail", "confirmReceipt"];
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", "invoiceMail"]; 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];
let itemData:any = extractData(info, itemFile); let itemData:any = extractData(info, itemFile);
if (!itemData.desc) itemData.desc = ""; if (!itemData.desc) itemData.desc = "";
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.paymentMethod = changeEnumValue(PAYMENTTYPE, itemData.paymentMethod); itemData.paymentMethod = changeEnumValue(PAYMENTTYPE, itemData.paymentMethod);
// itemData.cycle = `${moment(info.orderCycleStart).format("YYYY-MM-DD")}至${moment(info.orderCycleEnd).format("YYYY-MM-DD")}`; // itemData.cycle = `${moment(info.orderCycleStart).format("YYYY-MM-DD")}至${moment(info.orderCycleEnd).format("YYYY-MM-DD")}`;
itemData.cycle = `${moment(info.orderCycleStart).format("YYYY")}${moment(info.orderCycleEnd).format("YYYY")}`; itemData.cycle = `${moment(info.orderCycleStart).format("YYYY")}${moment(info.orderCycleEnd).format("YYYY")}`;
itemData.isPay = changeEnumValue(ORDERSTATE, itemData.state); itemData.isPay = ""
if(info.confirmReceipt == RECEIPTCONFIRMATION.收款确认 && info.state == ORDERSTATE.已支付) itemData.isPay = "已支付";
else if (info.confirmReceipt != RECEIPTCONFIRMATION.收款确认 && info.state == ORDERSTATE.已支付) itemData.isPay = "核对中"; //费用核对里待审批和驳回列表里的数据都会显示核对中
// else if (info.refundSuccessful) itemData.isPay = "已退回";
else itemData.isPay = "未支付";
itemData.invoiceExamineTime = info.invoiceExamineTime ? moment(info.invoiceExamineTime).format("YYYY-MM-DD") : '-';
let userInfo = await findOnce(TABLEENUM.用户表, {userId:itemData.userId}, ["userId", "memberState", "name", "memberLevel", "memberType", "individualMemberType", "unitMemberType", "mail"]) let userInfo = await findOnce(TABLEENUM.用户表, {userId:itemData.userId}, ["userId", "memberState", "name", "memberLevel", "memberType", "individualMemberType", "unitMemberType", "mail"])
if(userInfo) { if(userInfo) {
if(userInfo.memberType == MEMBERTYPE.个人会员) { if(userInfo.memberType == MEMBERTYPE.个人会员) {
...@@ -572,10 +576,10 @@ export async function invoicedList({name, memberType, documentId, invoiceExamine ...@@ -572,10 +576,10 @@ export async function invoicedList({name, memberType, documentId, invoiceExamine
} }
itemData.memberLevel = changeEnumValue(MEMBERLEVEL, userInfo.memberLevel); itemData.memberLevel = changeEnumValue(MEMBERLEVEL, userInfo.memberLevel);
} }
itemData.memberState = changeEnumValue(MEMBERSTATE, userInfo.memberState);
itemData.name = userInfo.name; itemData.name = userInfo.name;
/**会员状态显示修改为:只记录当前一笔订单的状态,如:已支付订单状态显示正常 */
itemData.invoiceExamineTime = info.invoiceExamineTime ? moment(info.invoiceExamineTime).format("YYYY-MM-DD") : '-'; // itemData.memberState = changeEnumValue(MEMBERSTATE, userInfo.memberState); //修改前的
itemData.memberState = (info.state == ORDERSTATE.已支付 && info.confirmReceipt == RECEIPTCONFIRMATION.收款确认) ? "正常" : "异常" ; //修改后的
dataList.push(itemData); dataList.push(itemData);
} }
......
...@@ -90,6 +90,10 @@ export async function getMemberData({userId}) { ...@@ -90,6 +90,10 @@ export async function getMemberData({userId}) {
if(baseInfo.shi) baseInfo.shiName = getCityNameByCode(baseInfo.shi); if(baseInfo.shi) baseInfo.shiName = getCityNameByCode(baseInfo.shi);
if(baseInfo.qu) baseInfo.quName = getCityNameByCode(baseInfo.qu); if(baseInfo.qu) baseInfo.quName = getCityNameByCode(baseInfo.qu);
if (baseInfo.sheng == "-") baseInfo.sheng = "";
if (baseInfo.shi == "-") baseInfo.shi = "";
if (baseInfo.qu == "-") baseInfo.qu = "";
return {topInfo, baseInfo, majorInfo, otherAttachment}; return {topInfo, baseInfo, majorInfo, otherAttachment};
} }
...@@ -528,7 +532,7 @@ export async function isNeedSupplement({userId}) { ...@@ -528,7 +532,7 @@ export async function isNeedSupplement({userId}) {
// "yuanXiaoKeYanFuZeRenDianHua", "jiaoXueFuZeRenXinMing", "jiaoXueFuZeRenDianHua"] // "yuanXiaoKeYanFuZeRenDianHua", "jiaoXueFuZeRenXinMing", "jiaoXueFuZeRenDianHua"]
// }; // };
const DwRequiredConf = { const DwRequiredConf = {
"基本信息": ["sheng", "shi", "qu", "addres", "contactPerson", "contactPersonDuties", "phone", "applicationForm"], "基本信息": ["sheng", "shi", "qu", "addres", "contactPerson", "contactPersonDuties", "phone"],// "applicationForm"
"单位信息": ["yuanXiaoZhuGuanBuMen", "yuanXiaoFuZeRen", "yuanXiaoFuZeRenZhiWu", "单位信息": ["yuanXiaoZhuGuanBuMen", "yuanXiaoFuZeRen", "yuanXiaoFuZeRenZhiWu",
"yuanXiaoFuZeRenDianHua", "yuanXiaoBanGongFuZeRen", "yuanXiaoBanGongFuZeRenDianHua", "ZhuYaoFuZeRenYouXiang", "yuanXiaoKeYanFuZeRen", "yuanXiaoFuZeRenDianHua", "yuanXiaoBanGongFuZeRen", "yuanXiaoBanGongFuZeRenDianHua", "ZhuYaoFuZeRenYouXiang", "yuanXiaoKeYanFuZeRen",
"yuanXiaoKeYanFuZeRenDianHua", "jiaoXueFuZeRenXinMing", "jiaoXueFuZeRenDianHua"] "yuanXiaoKeYanFuZeRenDianHua", "jiaoXueFuZeRenXinMing", "jiaoXueFuZeRenDianHua"]
...@@ -825,7 +829,8 @@ export async function infomationChangeUpdate({userId, unitName, uscc, legalPerso ...@@ -825,7 +829,8 @@ export async function infomationChangeUpdate({userId, unitName, uscc, legalPerso
legalPersonMail, legalPersonMail,
legalPersonPhone, legalPersonPhone,
infoChangeOptionType, infoChangeOptionType,
createTimeMs:new Date().valueOf() createTimeMs:new Date().valueOf(),
isDraft:0
}; };
await updateOneData(TABLEENUM.用户表, {userId}, {infoChangeId:applyInfo.infoChangeId, infoChangeMs:new Date().valueOf(), infoChangeOptionType}); await updateOneData(TABLEENUM.用户表, {userId}, {infoChangeId:applyInfo.infoChangeId, infoChangeMs:new Date().valueOf(), infoChangeOptionType});
...@@ -836,6 +841,39 @@ export async function infomationChangeUpdate({userId, unitName, uscc, legalPerso ...@@ -836,6 +841,39 @@ export async function infomationChangeUpdate({userId, unitName, uscc, legalPerso
/** /**
* 保存 资料变更
* @param param0
* @returns
*/
export async function infomationSave({userId, unitName, uscc, legalPerson, unitMemberType, uusinessLicenseUrl, applicationForm, desc, yuanXiaoBanXueLeiXing, legalPersonMail, legalPersonPhone}) {
let userInfo = await findOnce(TABLEENUM.用户表, {userId}, ["memberType"]);
if (userInfo.memberType != MEMBERTYPE.单位会员) throw new BizError(ERRORENUM.非单位会员不可操作);
let applyToSort = await findOnceToSort(TABLEENUM.资料变更审批历史表, {userId}, {createTimeMs:-1});
let infoChangeOptionType = INFOCHANGEAPPLYTYPE.待审批;
if (applyToSort) {
//新增了状态:驳回提交,当上次审批状态为驳回修改时,当前提交状态为驳回提交
if (applyToSort.infoChangeOptionType == INFOCHANGEAPPLYTYPE.驳回修改) infoChangeOptionType = INFOCHANGEAPPLYTYPE.驳回提交;
}
if (applyToSort.infoChangeOptionType == INFOCHANGEAPPLYTYPE.驳回提交 || applyToSort.infoChangeOptionType == INFOCHANGEAPPLYTYPE.通过 ) {
return successResult();
}
//直接修改
let updateInfo = {
unitName, uscc, legalPerson, unitMemberType, uusinessLicenseUrl, applicationForm, desc, yuanXiaoBanXueLeiXing, legalPersonMail, legalPersonPhone
};
await updateOneData(TABLEENUM.资料变更审批历史表, {applyId:applyToSort.applyId}, updateInfo);
return successResult();
}
/**
* 资料变更回显 * 资料变更回显
* @param param0 * @param param0
* @returns * @returns
...@@ -879,7 +917,7 @@ export async function infomationChangeInfo({userId}) { ...@@ -879,7 +917,7 @@ export async function infomationChangeInfo({userId}) {
if (infomationChangeHistoryInfo.infoChangeOptionType == INFOCHANGEAPPLYTYPE.待审批 || infomationChangeHistoryInfo.infoChangeOptionType == INFOCHANGEAPPLYTYPE.驳回提交) { if (infomationChangeHistoryInfo.infoChangeOptionType == INFOCHANGEAPPLYTYPE.待审批 || infomationChangeHistoryInfo.infoChangeOptionType == INFOCHANGEAPPLYTYPE.驳回提交) {
isUpdate = false; isUpdate = false;
} }
else isUpdate = true; else isUpdate = true;//true是可以编辑
} }
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",
......
...@@ -378,6 +378,8 @@ export async function unpaidList({name, memberType, documentId, phone, mail, joi ...@@ -378,6 +378,8 @@ export async function unpaidList({name, memberType, documentId, phone, mail, joi
export async function getRenewalPeriod({name, memberType, documentId, phone, mail, joinStartTime, joinEndTime, memberLevel, session, pageNumber}) { export async function getRenewalPeriod({name, memberType, documentId, phone, mail, joinStartTime, joinEndTime, memberLevel, session, pageNumber}) {
const NowMs = new Date().valueOf(); const NowMs = new Date().valueOf();
//lifespanEndTime:{"$gt":NowMs + (90 * 24 * 3600 * 1000), "$gt":NowMs}, //lifespanEndTime:{"$gt":NowMs + (90 * 24 * 3600 * 1000), "$gt":NowMs},
/**查询条件 */
let selectParam:any = { let selectParam:any = {
userRegisterState:USERREGISTERSTATE.通过, userRegisterState:USERREGISTERSTATE.通过,
isAdmin:STATE., isAdmin:STATE.,
...@@ -392,10 +394,8 @@ export async function getRenewalPeriod({name, memberType, documentId, phone, mai ...@@ -392,10 +394,8 @@ export async function getRenewalPeriod({name, memberType, documentId, phone, mai
gracePeriodEndTime:{"$lt":NowMs} gracePeriodEndTime:{"$lt":NowMs}
} }
] ]
} };
if (session) { if (session) { selectParam.session = session; }
selectParam.session = session;
}
if (name){ if (name){
if (!selectParam["$and"]) selectParam["$and"] = []; if (!selectParam["$and"]) selectParam["$and"] = [];
selectParam["$and"].push({ selectParam["$and"].push({
...@@ -405,9 +405,7 @@ export async function getRenewalPeriod({name, memberType, documentId, phone, mai ...@@ -405,9 +405,7 @@ export async function getRenewalPeriod({name, memberType, documentId, phone, mai
] ]
}); });
} }
if (joinStartTime) { if (joinStartTime) { selectParam["joinTime"] = {"$gt":joinStartTime}; }
selectParam["joinTime"] = {"$gt":joinStartTime};
}
if (joinEndTime) { if (joinEndTime) {
if (!selectParam["joinTime"]) selectParam["joinTime"] = {}; if (!selectParam["joinTime"]) selectParam["joinTime"] = {};
selectParam["joinTime"]["$lt"] = joinEndTime; selectParam["joinTime"]["$lt"] = joinEndTime;
...@@ -490,41 +488,46 @@ export async function offlinePayment({orderId, paymentNum, offlinePaymentUrl }) ...@@ -490,41 +488,46 @@ export async function offlinePayment({orderId, paymentNum, offlinePaymentUrl })
state:ORDERSTATE.已支付, state:ORDERSTATE.已支付,
paymentMethod:PAYMENTTYPE.后台上传, paymentMethod:PAYMENTTYPE.后台上传,
payTime:new Date().valueOf(), payTime:new Date().valueOf(),
confirmReceipt:RECEIPTCONFIRMATION.收款确认, confirmReceipt:RECEIPTCONFIRMATION.待确认,//20250521-> 收款确认 改成 待确认
confirmReceiptMs:new Date().valueOf() confirmReceiptMs:new Date().valueOf()
}; };
await updateOneData(TABLEENUM.订单表, {id:orderId}, updateInfo); await updateOneData(TABLEENUM.订单表, {id:orderId}, updateInfo);
//2024年12月21日版本修改 修改成线下付款的用户不需要审核 // let notPayCount = await findCount(TABLEENUM.订单表, {userId:orderInfo.userId, state:ORDERSTATE.未支付} );
let notPayCount = await findCount(TABLEENUM.订单表, {userId:orderInfo.userId, state:ORDERSTATE.未支付} ); // let updateUserInfo:any = {};
let updateUserInfo:any = {}; // /**只有一笔欠费时才更新用户状态 */
/**只有一笔欠费时才更新用户状态 */ // if (notPayCount < 1) {
if (notPayCount < 1) { // let newOrderInfo = await findOnceToSort(TABLEENUM.订单表, {userId:orderInfo.userId}, {orderCycleEnd:-1}, ["orderCycleStart","orderCycleEnd"]);
let newOrderInfo = await findOnceToSort(TABLEENUM.订单表, {userId:orderInfo.userId}, {orderCycleEnd:-1}, ["orderCycleStart","orderCycleEnd"]);
// updateUserInfo.lifespanStartTime = newOrderInfo.orderCycleStart,
updateUserInfo.lifespanStartTime = newOrderInfo.orderCycleStart, // updateUserInfo.lifespanEndTime = newOrderInfo.orderCycleEnd,
updateUserInfo.lifespanEndTime = newOrderInfo.orderCycleEnd, // updateUserInfo.isGracePeriod = STATE.否,
updateUserInfo.isGracePeriod = STATE., // updateUserInfo.gracePeriodEndTime = 0,
updateUserInfo.gracePeriodEndTime = 0, // updateUserInfo.memberState = MEMBERSTATE.正常,
updateUserInfo.memberState = MEMBERSTATE.正常, // updateUserInfo.paymentStatus = PAYMENTSTATUS.已支付
updateUserInfo.paymentStatus = PAYMENTSTATUS.已支付 // } else {//非一笔订单 要更新会员到期时间 到 用户表
} else {//非一笔订单 要更新会员到期时间 到 用户表 // updateUserInfo.lifespanStartTime = orderInfo.orderCycleStart;
updateUserInfo.lifespanStartTime = orderInfo.orderCycleStart; // updateUserInfo.lifespanEndTime = orderInfo.orderCycleEnd;
updateUserInfo.lifespanEndTime = orderInfo.orderCycleEnd; // }
} // if (orderInfo.isFirst) {
if (orderInfo.isFirst) { // updateUserInfo.isFirstPay = true;
updateUserInfo.isFirstPay = true; // }
} // if (Object.keys(updateUserInfo).length) await updateOneData(TABLEENUM.用户表, {userId:orderInfo.userId}, updateUserInfo);
if (Object.keys(updateUserInfo).length) await updateOneData(TABLEENUM.用户表, {userId:orderInfo.userId}, updateUserInfo);
// 添加日志
//添加日志 // let addLogInfo = {
// orderId:orderId,
// operationTime:new Date().valueOf(),
// operationBehavior:ORDEREXAMINE.审核时间,
// isReceiveMoney:true,
// remarks:``
// };
let addLogInfo = { let addLogInfo = {
orderId:orderId, orderId:orderId,
operationTime:new Date().valueOf(), operationTime:new Date().valueOf(),
operationBehavior:ORDEREXAMINE.审核时间, operationBehavior:ORDEREXAMINE.用户提交,
isReceiveMoney:true, remarks:`后台上传`
remarks:``
}; };
await addOneData(TABLEENUM.订单审批历史表, addLogInfo ); await addOneData(TABLEENUM.订单审批历史表, addLogInfo );
......
...@@ -494,6 +494,10 @@ export async function addActivity({userId, form}) { ...@@ -494,6 +494,10 @@ export async function addActivity({userId, form}) {
} }
await addManyData(TABLEENUM.活动通知已读状态表, addReadInfo); await addManyData(TABLEENUM.活动通知已读状态表, addReadInfo);
// //发短信
// let smsName = userInfo.memberType == MEMBERTYPE.个人会员 ? userInfo.name : userInfo.unitName;
// sendMessage(userInfo.phone, {name:smsName}, MSGTYPE., rejectType);
return successResult(); return successResult();
} }
......
...@@ -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, ISRECEIVEMONEY, 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, MSGTYPE, 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";
...@@ -13,6 +13,7 @@ import { BizError } from "../../util/bizError"; ...@@ -13,6 +13,7 @@ import { BizError } from "../../util/bizError";
import { ERRORENUM } from "../../config/errorEnum"; import { ERRORENUM } from "../../config/errorEnum";
import { updateOneData } from "../../data/update"; import { updateOneData } from "../../data/update";
import { systemSendMail } from "../mail"; import { systemSendMail } from "../mail";
import { sendMessage } from "../sms";
// db.getCollection('orders').insertOne({ "paymentNum" : "", "offlinePaymentUrl" : "", "weChartPR" : "", "weChartState" : 0, "isFirst" : true, "firstPayExamine" : false, "confirmReceipt" : 0, "confirmReceiptMs" : 0, "invoiceStatus" : 1, "advanceInvoice" : false, "isReceive" : 0, "isReplenishReturnInfo" : false, "refundSuccessful" : false, "isSueInvoicesInAdvance" : false, "id" : "3f9b9936f12ed619f11458ac46ff3835", "orderCycleStart" : 1498262400100.0, "orderCycleEnd" : 1529798400100.0, "unitName" : "西安市艺术学校", "money" : 2000, "paymentMethod" : 0, "userId" : "f2bed663f23c43b751876be9eae93334", "loginId" : "西安市艺术学校1960", "memberCategory" : 2, "invoiceAdd" : "", "state" : 2, "phone" : "13991991926", "ct" : 1734334302795}) // db.getCollection('orders').insertOne({ "paymentNum" : "", "offlinePaymentUrl" : "", "weChartPR" : "", "weChartState" : 0, "isFirst" : true, "firstPayExamine" : false, "confirmReceipt" : 0, "confirmReceiptMs" : 0, "invoiceStatus" : 1, "advanceInvoice" : false, "isReceive" : 0, "isReplenishReturnInfo" : false, "refundSuccessful" : false, "isSueInvoicesInAdvance" : false, "id" : "3f9b9936f12ed619f11458ac46ff3835", "orderCycleStart" : 1498262400100.0, "orderCycleEnd" : 1529798400100.0, "unitName" : "西安市艺术学校", "money" : 2000, "paymentMethod" : 0, "userId" : "f2bed663f23c43b751876be9eae93334", "loginId" : "西安市艺术学校1960", "memberCategory" : 2, "invoiceAdd" : "", "state" : 2, "phone" : "13991991926", "ct" : 1734334302795})
...@@ -412,7 +413,8 @@ export async function getInvoiceStatus({id}) { ...@@ -412,7 +413,8 @@ export async function getInvoiceStatus({id}) {
if (!orderInfo || !orderInfo.id) throw new BizError(ERRORENUM.目标数据不存在); if (!orderInfo || !orderInfo.id) throw new BizError(ERRORENUM.目标数据不存在);
if (orderInfo.state == ORDERSTATE.已支付 && orderInfo.confirmReceipt != RECEIPTCONFIRMATION.退回) throw new BizError(ERRORENUM.该订单已支付); if (orderInfo.state == ORDERSTATE.已支付 && orderInfo.confirmReceipt != RECEIPTCONFIRMATION.退回) throw new BizError(ERRORENUM.该订单已支付);
let updateInfo = {
let updateInfo:any = {
paymentNum:weChartPR, paymentNum:weChartPR,
offlinePaymentUrl, offlinePaymentUrl,
state:ORDERSTATE.已支付, state:ORDERSTATE.已支付,
...@@ -421,10 +423,12 @@ export async function getInvoiceStatus({id}) { ...@@ -421,10 +423,12 @@ export async function getInvoiceStatus({id}) {
confirmReceipt:RECEIPTCONFIRMATION.待确认, confirmReceipt:RECEIPTCONFIRMATION.待确认,
invoiceMail, invoiceMail,
desc, desc,
invoiceStatus:INVOICESTATUS.未开发票,
advanceInvoice:true, advanceInvoice:true,
invoiceTime:new Date().valueOf() invoiceTime:new Date().valueOf()
}; };
if (orderInfo.invoiceStatus == INVOICESTATUS.不具备开票条件 ) {
updateInfo.invoiceStatus = INVOICESTATUS.未开发票;
}
await updateOneData(TABLEENUM.订单表, {id}, updateInfo); await updateOneData(TABLEENUM.订单表, {id}, updateInfo);
...@@ -691,6 +695,11 @@ export async function refundApprove({id, refundImgUrl}) { ...@@ -691,6 +695,11 @@ export async function refundApprove({id, refundImgUrl}) {
//发送邮件 //发送邮件
await systemSendMail(orderInfo.userId, MAILTYPE.财务退款通知 ); await systemSendMail(orderInfo.userId, MAILTYPE.财务退款通知 );
//发短信
let userInfo = await findOnce(TABLEENUM.用户表, {userId:orderInfo.userId});
let smsName = userInfo.memberType == MEMBERTYPE.个人会员 ? userInfo.name : userInfo.unitName;
sendMessage(userInfo.phone, {name:smsName}, MSGTYPE.财务退款通知);
return successResult(); return successResult();
} }
......
...@@ -18,9 +18,14 @@ import { eccFormParam } from "../util/verificationParam"; ...@@ -18,9 +18,14 @@ import { eccFormParam } from "../util/verificationParam";
import { sendALSMS } from "./sms"; import { sendALSMS } from "./sms";
/** /**
* 注册状态 * 注册状态 =false时不可以注册 =true时可以注册
*/ */
let RegisterStartQueue = false; let RegisterStartQueue = false;
/**
* 更新注册状态
* (后台使用接口)
*/
export async function updateRegisterStart({start}) { export async function updateRegisterStart({start}) {
let updateInfo = ""; let updateInfo = "";
if (start == true) { if (start == true) {
...@@ -36,17 +41,27 @@ export async function updateRegisterStart({start}) { ...@@ -36,17 +41,27 @@ export async function updateRegisterStart({start}) {
return {isSuccess:true} return {isSuccess:true}
} }
/**
* 启动服务的时候会检查系统表中的是否开放注册,随后会同步到这里来
* (系统使用)
* @param start
*/
export function updateRegisterStartQueue(start) { export function updateRegisterStartQueue(start) {
RegisterStartQueue = start; RegisterStartQueue = start;
} }
/**
* 前端查询是否开放注册
* (前端使用接口)
* @returns
*/
export function findRegisterStart() { export function findRegisterStart() {
return {data:RegisterStartQueue} return {data:RegisterStartQueue}
} }
/** /**
* 会员注册【个人会员】【流程一】success * 会员注册【个人会员】【流程一】
* @param form * @param form
*/ */
export async function memberRegister1({form}) { export async function memberRegister1({form}) {
...@@ -97,7 +112,7 @@ export async function memberRegister1({form}) { ...@@ -97,7 +112,7 @@ export async function memberRegister1({form}) {
/** /**
* 会员注册【个人会员】【流程二】success * 会员注册【个人会员】【流程二】
* @param form * @param form
* @param userId * @param userId
* @returns * @returns
......
...@@ -68,7 +68,7 @@ export async function createUserOrder() { ...@@ -68,7 +68,7 @@ export async function createUserOrder() {
addCount += 1; addCount += 1;
//发送邮件 //发送邮件
await systemSendMail(userId, MAILTYPE.会员进入宽限期 ); // await systemSendMail(userId, MAILTYPE.会员进入宽限期 );
} }
} }
} }
......
...@@ -887,6 +887,25 @@ export enum MAILTYPE { ...@@ -887,6 +887,25 @@ export enum MAILTYPE {
} }
export enum MSGTYPE {
审核期间驳回通知 = 1,
审核通过以及缴费通知,
会员缴费财务驳回无需退款,
会员缴费财务驳回需退款,
会员缴费成功后针对线下汇款财务审核通过的时候发送,
会员会费到期缴费通知,
会员催缴通知提前开发票,
往期欠费通知,
会员宽限期最后一天,
变更驳回,
变更已通过,
会员活动or会议通知,
会员活动or会议催促未报名人员通知,
财务退款通知,
邮箱获取验证码
}
/** /**
* 是否需要退款 * 是否需要退款
*/ */
......
...@@ -77,7 +77,6 @@ export enum AUDITINGCOLUMNS { ...@@ -77,7 +77,6 @@ export enum AUDITINGCOLUMNS {
单位名称 = "unitName", 单位名称 = "unitName",
办学类型 = "yuanXiaoBanXueLeiXing", 办学类型 = "yuanXiaoBanXueLeiXing",
单位简介 = "danWeiJianJie", 单位简介 = "danWeiJianJie",
会员职务 = "memberLevel",
// 标签 = "lableId", // 标签 = "lableId",
法人代表 = "legalPerson", 法人代表 = "legalPerson",
法人联系电话 = "legalPersonPhone", 法人联系电话 = "legalPersonPhone",
...@@ -103,8 +102,6 @@ export enum AUDITINGCOLUMNS { ...@@ -103,8 +102,6 @@ export enum AUDITINGCOLUMNS {
科研负责人电话 = "yuanXiaoKeYanFuZeRenDianHua", 科研负责人电话 = "yuanXiaoKeYanFuZeRenDianHua",
教学负责人姓名 = "jiaoXueFuZeRenXinMing", 教学负责人姓名 = "jiaoXueFuZeRenXinMing",
教学负责人电话 = "jiaoXueFuZeRenDianHua", 教学负责人电话 = "jiaoXueFuZeRenDianHua",
届次 = "session",
入会时间 = "joinTime",
} }
...@@ -116,7 +113,6 @@ export enum APPLYAUDITINGCOLUMNS { ...@@ -116,7 +113,6 @@ export enum APPLYAUDITINGCOLUMNS {
姓名 = "name", 姓名 = "name",
性别 = "sex", 性别 = "sex",
工作单位 = "unitName", 工作单位 = "unitName",
职务 = "duties",
职称 = "workTitle", 职称 = "workTitle",
出生年月 = "birth", 出生年月 = "birth",
证件类型 = "documentType", 证件类型 = "documentType",
...@@ -125,14 +121,11 @@ export enum APPLYAUDITINGCOLUMNS { ...@@ -125,14 +121,11 @@ export enum APPLYAUDITINGCOLUMNS {
电子邮箱 = "mail", 电子邮箱 = "mail",
会员职务 = "memberLevel", 会员职务 = "memberLevel",
// 标签 = "lableId", // 标签 = "lableId",
会员级别 = "individualMemberType",
专业类别 = "profCategory", 专业类别 = "profCategory",
学历 = "education", 学历 = "education",
民族 = "nation", 民族 = "nation",
省市区 = "shengshiqu", 省市区 = "shengshiqu",
通信地址 = "addres", 通信地址 = "addres"
届次 = "session",
入会时间 = "joinTime",
} }
......
...@@ -104,6 +104,7 @@ enum TABLEENUM { ...@@ -104,6 +104,7 @@ enum TABLEENUM {
const ModelArray = [ const ModelArray = [
{ {
tableName:TABLEENUM.学会概括, tableName:TABLEENUM.学会概括,
source:TABLESOURCEENUM.mongo, source:TABLESOURCEENUM.mongo,
schema:{ schema:{
id:{ type:'String', index:true }, id:{ type:'String', index:true },
...@@ -683,6 +684,7 @@ const ModelArray = [ ...@@ -683,6 +684,7 @@ const ModelArray = [
yuanXiaoBanXueLeiXing:'Number',//办学类型 yuanXiaoBanXueLeiXing:'Number',//办学类型
rejectRemarks:'String',//变更驳回理由 rejectRemarks:'String',//变更驳回理由
createTimeMs:'Number',//日志时间 createTimeMs:'Number',//日志时间
isDraft:{type:'Number', default:0},//是否是草稿
} }
}, },
{ {
......
...@@ -257,3 +257,8 @@ export async function initOrderData() { ...@@ -257,3 +257,8 @@ export async function initOrderData() {
await addManyData(TABLEENUM.订单表, dataList); await addManyData(TABLEENUM.订单表, dataList);
console.log("订单数据模拟成功"); console.log("订单数据模拟成功");
} }
export async function updateOrderAndUser() {
}
\ No newline at end of file
import { changeDB, getMailData, getData, getUnitData, outPutMember } from "./biz/cleanData";
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";
import { getSession } from "./biz/public"; import { initSMS, test } from "./biz/sms";
import { initSaveUnsubmitted } from "./biz/register";
import { initSMS } from "./biz/sms";
import { initSystemTask } from "./biz/task"; import { initSystemTask } from "./biz/task";
import { initConfig, systemConfig} from "./config/serverConfig"; import { initConfig, systemConfig} from "./config/serverConfig";
import { initDataBaseModel } from "./data/db/db"; import { initDataBaseModel } from "./data/db/db";
import { httpServer } from "./net/http_server"; import { httpServer } from "./net/http_server";
import { getEdition } from "./tools/system";
async function lanuch() { async function lanuch() {
...@@ -32,13 +29,17 @@ async function lanuch() { ...@@ -32,13 +29,17 @@ async function lanuch() {
// console.log(moment(1498262400000).format("YYYY-MM-DD HH:mm:SS")) // console.log(moment(1498262400000).format("YYYY-MM-DD HH:mm:SS"))
console.log("服务初始化成功"); console.log("服务初始化成功");
// await sendMail("18711017326@163.com"); // await sendMail("18711017326@163.com");
// await testCallback("dc1a1414b4368dd4ea657d2d36ba554a") // await testCallback("ef48bd04cce245fb26cc5e52362fe144")
// await getUnitData(); // await getUnitData();
// await changeDB(); // await changeDB();
// await getData(); // await getData();
// await outPutMember(); // await outPutMember();
// await test();
console.log(getEdition(2018, 1));
} }
lanuch(); lanuch();
...@@ -8,7 +8,6 @@ import * as homePageBiz from "../../biz/member/homePage"; ...@@ -8,7 +8,6 @@ import * as homePageBiz from "../../biz/member/homePage";
import * as rightsMgmtBiz from "../../biz/member/rightsMgmt"; import * as rightsMgmtBiz from "../../biz/member/rightsMgmt";
import * as mailBiz from "../../biz/mail"; import * as mailBiz from "../../biz/mail";
import * as ossBiz from "../../biz/oss"; import * as ossBiz from "../../biz/oss";
import { ADMINLV } from "../../config/enum";
export const FirstName = '会员管理路由'; export const FirstName = '会员管理路由';
export const FirstRouter = '/manage/member'; export const FirstRouter = '/manage/member';
...@@ -736,7 +735,8 @@ export const Config = { ...@@ -736,7 +735,8 @@ export const Config = {
subUrl:'/examine/reject', subUrl:'/examine/reject',
param:[ param:[
{key:"id", type:"String", desc:"待审核列表返回的用户id"}, {key:"id", type:"String", desc:"待审核列表返回的用户id"},
{key:"remarks", type:"String", desc:"驳回理由"} {key:"remarks", type:"String", desc:"驳回理由"},
{key:"rejectType", type:"Number", desc:"驳回类型"},
], ],
bindBiz:examineBiz.reject bindBiz:examineBiz.reject
}, },
...@@ -1223,6 +1223,23 @@ export const Config = { ...@@ -1223,6 +1223,23 @@ export const Config = {
bindBiz:homePageBiz.infomationChangeUpdate bindBiz:homePageBiz.infomationChangeUpdate
}, },
{ {
apiName:"资料变更保存资料",
subUrl:'/homepage/infomationchange/save',
param:[
{key:"unitName", type:"String", desc:"单位会员名称", notMustHave:true},
{key:"uscc", type:"String", desc:"统一信用代码", notMustHave:true},
{key:"legalPerson", type:"String", desc:"法人代表", notMustHave:true},
{key:"unitMemberType", type:"Number", desc:"单位会员类型", notMustHave:true},
{key:"yuanXiaoBanXueLeiXing", type:"Number", desc:"帮学类型", notMustHave:true},
{key:"uusinessLicenseUrl", type:"String", desc:"营业执照", notMustHave:true},
{key:"applicationForm", type:"String", desc:"盖章申请表", notMustHave:true},
{key:"desc", type:"String", desc:"描述位", notMustHave:true},
{key:"legalPersonMail", type:"String", desc:"法人邮件", notMustHave:true},
{key:"legalPersonPhone", type:"String", desc:"法人电话", notMustHave:true},
],
bindBiz:homePageBiz.infomationSave
},
{
apiName:"资料变更回显", apiName:"资料变更回显",
subUrl:'/homepage/infomationchange/info', subUrl:'/homepage/infomationchange/info',
param:[], param:[],
...@@ -1301,8 +1318,8 @@ export const Config = { ...@@ -1301,8 +1318,8 @@ export const Config = {
// legalPersonPhone:{type:'String', desc:'法人联系电话', notMustHave:false}, // legalPersonPhone:{type:'String', desc:'法人联系电话', notMustHave:false},
// legalPersonMail:{type:'String', desc:'法人邮箱', notMustHave:false}, // legalPersonMail:{type:'String', desc:'法人邮箱', notMustHave:false},
// 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},
phone:{type:'String', desc:'日常联系人手机', notMustHave:false}, phone:{type:'String', desc:'日常联系人手机', notMustHave:false},
mail:{type:'String', desc:'日常联系人邮箱', notMustHave:false}, mail:{type:'String', desc:'日常联系人邮箱', notMustHave:false},
// uusinessLicenseUrl:{type:'String', desc:'营业执照复印件', notMustHave:false}, // uusinessLicenseUrl:{type:'String', desc:'营业执照复印件', notMustHave:false},
...@@ -1313,7 +1330,7 @@ export const Config = { ...@@ -1313,7 +1330,7 @@ export const Config = {
yuanXiaoFuZeRen:{type:'String', desc:'院校主要负责人', notMustHave:false}, yuanXiaoFuZeRen:{type:'String', desc:'院校主要负责人', notMustHave:false},
yuanXiaoFuZeRenZhiWu:{type:'String', desc:'院校主要负责人职务', notMustHave:false}, yuanXiaoFuZeRenZhiWu:{type:'String', desc:'院校主要负责人职务', notMustHave:false},
yuanXiaoFuZeRenDianHua:{type:'String', desc:'院校主要负责人电话', notMustHave:false}, yuanXiaoFuZeRenDianHua:{type:'String', desc:'院校主要负责人电话', notMustHave:false},
yuanXiaoBanGongFuZeRen:{type:'String', desc:'院校办公负责人', notMustHave:false}, yuanXiaoBanGongFuZeRen:{type:'String', desc:'院校办公负责人',notMustHave:false},
yuanXiaoBanGongFuZeRenDianHua:{type:'String', desc:'院校办公负责人电话', notMustHave:false}, yuanXiaoBanGongFuZeRenDianHua:{type:'String', desc:'院校办公负责人电话', notMustHave:false},
ZhuYaoFuZeRenYouXiang:{type:'String', desc:'主要负责人邮箱', notMustHave:false}, ZhuYaoFuZeRenYouXiang:{type:'String', desc:'主要负责人邮箱', notMustHave:false},
yuanXiaoKeYanFuZeRen:{type:'String', desc:'院校科研负责人', notMustHave:false}, yuanXiaoKeYanFuZeRen:{type:'String', desc:'院校科研负责人', notMustHave:false},
......
...@@ -121,6 +121,7 @@ export function getSessionByEdition(year, month) { ...@@ -121,6 +121,7 @@ export function getSessionByEdition(year, month) {
} }
/** /**
* 获取届次 * 获取届次
* @param year 入会年份 * @param year 入会年份
......
This diff is collapsed. Click to expand it.
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