Commit d189eccb by lixinming

no message

parent ebdf38c9
......@@ -17,6 +17,8 @@ let transporter = nodemailer.createTransport({
auth: {
user: 'cefa_office@163.com', // 你的邮箱地址
pass: 'EJRazhkkXK65gnLe' // 你的邮箱密码或应用专用密码
// user:"16621071125@163.com",
// pass:"KEbayDGArktek67T"
}
});
......@@ -38,6 +40,7 @@ async function send(toMail, name, type, code?) {
// 设置邮件选项
let mailOptions = {
from: '学会办公室 <cefa_office@163.com>', // 发送者地址
// from: '学会办公室 <16621071125@163.com>', // 发送者地址
to: toMail,
subject: `关于CEFA会员系统的${title}通知`, // 邮件主题
// text: 'Hello world?', // 邮件正文(纯文本)
......@@ -190,19 +193,8 @@ export async function systemSendMail(userId, type) {
* @param param0
* @returns
*/
export async function sendVerificationCode(userId, mail, type, code) {
let userInfo = await findOnce(TABLEENUM.用户表, {userId:userId, mail}, ["userId", "name", "unitName", "memberType", "mail"]);
if (!userInfo || !userInfo.userId) throw new BizError(ERRORENUM.用户不存在);
if (!userInfo.mail) {
new BizError(ERRORENUM.该用户邮箱为空, userId, userInfo.name || userId.unitName);
} else {
if (userInfo.mail != mail) {
new BizError(ERRORENUM.该用户邮箱与输入邮箱不匹配, userId, userInfo.name || userId.unitName);
}
let nameStr = userInfo.memberType == MEMBERTYPE.个人会员 ? userInfo.name : userInfo.unitName;
let result = await send(mail, nameStr, type, code);
}
export async function sendVerificationCode(mail, nameStr, code) {
let result = await send(mail, nameStr, MAILTYPE.邮箱获取验证码, code);
return successResult();
}
......
......@@ -152,12 +152,17 @@ export async function applyList({name, memberType, pageNumber, pageSize}) {
}
let lableId = newLable;
let memberLevelChangeTime = 0;
if (takeeffectType == ZHIWUSHENGXIAOTYPE.上半年) memberLevelChangeTime = new Date().getFullYear();
else memberLevelChangeTime = new Date().getFullYear() + 1;
let updateInfo:any = {
memberLevel:userInfo.applyMemberLevel,
applyReviewTime:NowMs,
changeApplyType:CHANGEAPPLYTYPE.通过,
lableId,
takeeffectType
takeeffectType,
memberLevelChangeTime
};
await updateOneData(TABLEENUM.用户表, {userId:id}, updateInfo);
/**添加审批历史 */
......@@ -1004,3 +1009,70 @@ export async function outPutInfomationChangeList({name, changeState}) {
export async function liShiList({name, memberType, phone, memberLevel, memberState, year, page}) {
let selectParam:any = {memberLevel:{"$gt":MEMBERLEVEL.普通会员}};
if (name) selectParam.name = {"$regex":name};
if (memberType) {
if (memberType > 1) {
selectParam.unitMemberType = memberType;
} else {
selectParam.memberType = memberType;
}
}
if (phone) selectParam.phone = {"$regex":phone};
if (memberLevel && memberLevel > 1) selectParam.memberLevel = memberLevel;
if (memberState) selectParam.memberState = memberState;
if (year) selectParam.memberLevelChangeTime = year;
let selectConf = ["userId", "memberType", "memberState", "contactPerson", "name","sex", "phone", "unitName", "contactPersonDuties", "duties", "lableId", "memberLevel", "memberLevelChangeTime"];
let dbList = await findToSortToPage(TABLEENUM.用户表, selectParam, selectConf, {joinTime:-1}, page);
let dataCount = await findCount(TABLEENUM.用户表, selectParam);
let dataList = [];
let labelList = await find(TABLEENUM.标签表, {}, ["lableId", "lableName", "createTime"] );
let labelMap = {};
labelList.forEach(item => {
labelMap[item.lableId] = item.lableName;
});
for (let i = 0; i < dbList.length; i++) {
let info = dbList[i];
let item:any = {userId:info.userId};
item.memberState = changeEnumValue(MEMBERSTATE, info.memberState);
item.memberType = changeEnumValue(MEMBERTYPE, info.memberType);
item.memberLevel = changeEnumValue(MEMBERLEVEL, info.memberLevel);
if (info.memberType == MEMBERTYPE.个人会员) {
item.name = info.unitName;
item.fuzeren = info.name;
item.sex = changeEnumValue(SEX, info.sex) || "-";
item.duties = info.duties;
} else {
item.fuzeren = info.contactPerson;//
item.name = info.unitName;
item.duties = info.contactPersonDuties;
}
item.phone = info.phone;
item.changeTime = info.memberLevelChangeTime || "-";
// let labelStr = "";
// if (info.lableId && info.lableId.length) {
// info.lableId.forEach(labelitemId => {
// if (label) {
// if (label == labelitemId) labelStr += labelMap[label] || "";
// }
// else {
// labelStr += labelMap[labelitemId] || "";
// }
// })
// }
// item.label = labelStr;
dataList.push(item);
}
return {dataList, dataCount}
}
\ No newline at end of file
......@@ -102,7 +102,7 @@ export async function freeze({id}) {
if (!userInfo || !userInfo.userId) throw new BizError(ERRORENUM.目标数据不存在);
if(userInfo.memberState == MEMBERSTATE.冻结) {
await updateOneData(TABLEENUM.用户表, {userId:id}, {memberState:MEMBERSTATE.正常});
await updateOneData(TABLEENUM.用户表, {userId:id}, {memberState:MEMBERSTATE.运行});
} else {
await updateOneData(TABLEENUM.用户表, {userId:id}, {memberState:MEMBERSTATE.冻结});
}
......
......@@ -153,7 +153,7 @@ export async function testCallback(weChartPR) {
updateUserInfo.lifespanEndTime = newOrderInfo.orderCycleEnd;
updateUserInfo.isGracePeriod = STATE.;
updateUserInfo.gracePeriodEndTime = 0;
updateUserInfo.memberState = MEMBERSTATE.正常;
updateUserInfo.memberState = MEMBERSTATE.运行;
updateUserInfo.paymentStatus = PAYMENTSTATUS.已支付;
} else {//非一笔订单 要更新会员到期时间 到 用户表
updateUserInfo.lifespanStartTime = oldInfo.orderCycleStart;
......@@ -221,7 +221,7 @@ export async function payCallback(body) {
updateUserInfo.lifespanEndTime = newOrderInfo.orderCycleEnd,
updateUserInfo.isGracePeriod = STATE.,
updateUserInfo.gracePeriodEndTime = 0,
updateUserInfo.memberState = MEMBERSTATE.正常,
updateUserInfo.memberState = MEMBERSTATE.运行,
updateUserInfo.paymentStatus = PAYMENTSTATUS.已支付
} else {//非一笔订单 要更新会员到期时间 到 用户表
updateUserInfo.lifespanStartTime = oldInfo.orderCycleStart;
......
......@@ -115,6 +115,7 @@ export async function pendingReviewList({name, memberType, documentId, phone, ma
if (item.userRegisterState == "驳回修改") item.userRegisterState = "已驳回";
if (item.userRegisterState == "重新提交") item.userRegisterState = "驳回提交";
if (item.userRegisterState == "待审核") item.userRegisterState = "待审批"
item.memberLevel = changeEnumValue(MEMBERLEVEL, item.memberLevel);
item.sheng = getCityNameByCode(item.sheng);
......@@ -207,6 +208,8 @@ export async function submitDocument({name, memberType, documentId, phone, mail,
if (!item.userRegisterState) item.userRegisterState = USERREGISTERSTATE.待审核;
else item.userRegisterState = changeEnumValue(USERREGISTERSTATE, item.userRegisterState);
item.registerFlow = changeEnumValue(REGISTERFLOWCLIENT, item.registerFlow);
item.memberLevel = changeEnumValue(MEMBERLEVEL, item.memberLevel);
item.sheng = getCityNameByCode(item.sheng);
......@@ -428,7 +431,7 @@ export async function adopt({id, session}) {
lifespanStartTime:joinTime,
lifespanEndTime:joinTime + 1000,
memberLevel:MEMBERLEVEL.普通会员,
memberState:MEMBERSTATE.异常,
memberState:MEMBERSTATE.提醒,
memberNum
};
let unitName = userInfo.unitName;
......@@ -514,7 +517,7 @@ export async function batchAdopt({idList, session}) {
lifespanStartTime:joinTime,
lifespanEndTime:joinTime + 1000,
memberLevel:MEMBERLEVEL.普通会员,
memberState:MEMBERSTATE.异常,
memberState:MEMBERSTATE.提醒,
memberNum
};
let unitName = userInfo.unitName;
......
......@@ -3,7 +3,7 @@
*/
import moment = require("moment");
import { COSTTYPE, INVOICESTATUS, ISRECEIVE, MAILTYPE, MEMBERLEVEL, MEMBERSTATE, MEMBERTYPE, MEMBERTYPEECCENUM, MSGTYPE, 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, UNITMEMBERTYPE } from "../../../config/enum";
import { ERRORENUM } from "../../../config/errorEnum";
import { TABLEENUM } from "../../../data/models/model";
import { find, findCount, findOnce, findOnceToSort, findToPage, findToSortToPage } from "../../../data/select";
......@@ -137,6 +137,10 @@ export async function paidList({name, memberType, documentId, phone, mail, joinS
itemData.joinTime = moment(info.orderCycleStart).format("YYYY-MM-DD");
itemData.operationTime = moment(info.payTime).format("YYYY-MM-DD");
itemData.memberType = changeEnumValue(MEMBERTYPE, info.memberCategory);
if (info.memberCategory == MEMBERTYPE.单位会员) {
let itemMemberInfo = await findOnce(TABLEENUM.用户表, {userId:info.userId}, ["unitMemberType"]);
itemData.memberType = changeEnumValue(UNITMEMBERTYPE, itemMemberInfo.unitMemberType);
}
itemData.paymentMethod = changeEnumValue(PAYMENTTYPE, info.paymentMethod);
if (payType == 2) {
......@@ -201,7 +205,7 @@ export async function confirmReceiptPass({id}) {
updateUserInfo.lifespanEndTime = newOrderInfo.orderCycleEnd,
updateUserInfo.isGracePeriod = STATE.,
updateUserInfo.gracePeriodEndTime = 0,
updateUserInfo.memberState = MEMBERSTATE.正常,
updateUserInfo.memberState = MEMBERSTATE.运行,
updateUserInfo.paymentStatus = PAYMENTSTATUS.已支付
} else {//非一笔订单 要更新会员到期时间 到 用户表
updateUserInfo.lifespanStartTime = orderInfo.orderCycleStart;
......@@ -421,7 +425,7 @@ export async function confirmReceiptManyPass({idList}) {
updateUserInfo.lifespanEndTime = newOrderInfo.orderCycleEnd,
updateUserInfo.isGracePeriod = STATE.,
updateUserInfo.gracePeriodEndTime = 0,
updateUserInfo.memberState = MEMBERSTATE.正常,
updateUserInfo.memberState = MEMBERSTATE.运行,
updateUserInfo.paymentStatus = PAYMENTSTATUS.已支付
} else {//非一笔订单 要更新会员到期时间 到 用户表
updateUserInfo.lifespanStartTime = orderInfo.orderCycleStart;
......
......@@ -4,7 +4,7 @@
*/
import moment = require("moment");
import { INVOICESTATUS, ISPAYENUM, MAILTYPE, MEMBERLEVEL, MEMBERSTATE, MEMBERTYPE, MEMBERTYPEECCENUM, MSGTYPE, ORDEREXAMINE, ORDERSTATE, PAYMENTTYPE, RECEIPTCONFIRMATION, STATE } from "../../../config/enum";
import { INVOICESTATUS, ISPAYENUM, MAILTYPE, MEMBERLEVEL, MEMBERSTATE, MEMBERTYPE, MEMBERTYPEECCENUM, MSGTYPE, ORDEREXAMINE, ORDERSTATE, PAYMENTSTATUS, PAYMENTTYPE, RECEIPTCONFIRMATION, STATE } from "../../../config/enum";
import { TABLEENUM } from "../../../data/models/model";
import { find, findCount, findOnce, findOnceToSort, findToPage, findToSortToPage } from "../../../data/select";
import { extractData } from "../../../util/piecemeal";
......@@ -46,16 +46,20 @@ export async function billStateList({name, memberType, documentId, invoiceApplyM
if (payState == 1) {//已支付
findParam.state = ORDERSTATE.已支付;
findParam.confirmReceipt = RECEIPTCONFIRMATION.收款确认;
if (invoiceState == 1) {//已申请
findParam.invoiceStatus = INVOICESTATUS.未开发票
} else if (invoiceState == 2) {//未申请
findParam["$or"] = [{invoiceStatus:INVOICESTATUS.不具备开票条件}, {invoiceStatus:INVOICESTATUS.退回}];
} else {//全部
// findParam.invoiceStatus = {"$ne": INVOICESTATUS.已开发票};
}
} else if (payState == 2){//未支付
findParam.state = ORDERSTATE.未支付;
// findParam.state = ORDERSTATE.未支付;// todo 这里的条件有问题
findParam["$or"] = [
{state:ORDERSTATE.未支付},
{state:ORDERSTATE.已支付, confirmReceipt:{"$ne":RECEIPTCONFIRMATION.收款确认} }
];
if (!invoiceState || invoiceState == 1) {//已申请 和 全部
findParam.invoiceStatus = INVOICESTATUS.未开发票
} else {//未申请
......@@ -185,6 +189,21 @@ export async function billStateList({name, memberType, documentId, invoiceApplyM
// if (orderInfo && orderInfo.operationTime) itemData.invoiceTime = moment(orderInfo.operationTime).format("YYYY-MM-DD");
// else itemData.invoiceTime = "-";
}
itemData.tjTime = "";
if(info.state == PAYMENTSTATUS.未支付 ) {
itemData.weChartCreatePayMs = "-";
itemData.paymentMethod = "-";
}
if (itemData.isPay == "核对中") {
itemData.state = PAYMENTSTATUS.未支付;
//提交时间
itemData.tjTime = moment(info.payTime).format("YYYY-MM-DD");
}
dataList.push(itemData);
}
......@@ -579,7 +598,7 @@ export async function invoicedList({name, memberType, documentId, invoiceExamine
itemData.name = userInfo.name;
/**会员状态显示修改为:只记录当前一笔订单的状态,如:已支付订单状态显示正常 */
// itemData.memberState = changeEnumValue(MEMBERSTATE, userInfo.memberState); //修改前的
itemData.memberState = (info.state == ORDERSTATE.已支付 && info.confirmReceipt == RECEIPTCONFIRMATION.收款确认) ? "正常" : "异常" ; //修改后的
itemData.memberState = (info.state == ORDERSTATE.已支付 && info.confirmReceipt == RECEIPTCONFIRMATION.收款确认) ? "运行" : "提醒" ; //修改后的
dataList.push(itemData);
}
......
......@@ -71,7 +71,7 @@ export async function getMemberData({userId}) {
topInfo.integral = 0;
if(topInfo.joinTime) topInfo.joinTime = moment(topInfo.joinTime).format("YYYY-MM-DD");
if(topInfo.lifespanEndTime) {
if(topInfo.memberState == MEMBERSTATE.异常) topInfo.lifespanEndTime = "欠费中";
if(topInfo.memberState == MEMBERSTATE.提醒) topInfo.lifespanEndTime = "欠费中";
else topInfo.lifespanEndTime = moment(topInfo.lifespanEndTime).format("YYYY-MM-DD");
}
......@@ -443,7 +443,7 @@ export async function getApply({userId}) {
if (oldInfo.memberType == MEMBERTYPE.个人会员) {
if(oldInfo.lifespanEndTime) {
// 会员有效期结束时间小于当前时间的欠费会员
if(oldInfo.memberState == MEMBERSTATE.异常 || oldInfo.lifespanEndTime < NowMs) isApply = false;
if(oldInfo.memberState == MEMBERSTATE.提醒 || oldInfo.lifespanEndTime < NowMs) isApply = false;
}
}
......@@ -764,7 +764,7 @@ export async function applyReason({applyStr, userId}) {
export async function applyReasonMember({applyName, applySex, applyDuties, applyPhone, applyStr, userId}) {
let oldInfo = await findOnce(TABLEENUM.用户表, {userId});
if (!oldInfo || !oldInfo.userId) throw new BizError(ERRORENUM.目标数据不存在);
if ( oldInfo.memberState == MEMBERSTATE.异常 ) throw new BizError(ERRORENUM.请先缴费);
if ( oldInfo.memberState == MEMBERSTATE.提醒 ) throw new BizError(ERRORENUM.请先缴费);
const Now = new Date().valueOf();
let applyId = generateSystemId(TABLEENUM.理事变更审批历史表, userId);
......
......@@ -159,7 +159,7 @@ export async function info({id}) {
if (!userInfo || !userInfo.userId) throw new BizError(ERRORENUM.目标数据不存在);
if(userInfo.memberState == ADMINSTATE.冻结) {
await updateOneData(TABLEENUM.用户表, {userId:id}, {memberState:MEMBERSTATE.正常});
await updateOneData(TABLEENUM.用户表, {userId:id}, {memberState:MEMBERSTATE.运行});
} else {
await updateOneData(TABLEENUM.用户表, {userId:id}, {memberState:ADMINSTATE.冻结});
}
......
/**
* 手动发送短信
*/
import { CODETYPE, MEMBERTYPE, MSGTYPE } from "../../config/enum";
import { ERRORENUM } from "../../config/errorEnum";
import { TABLEENUM } from "../../data/models/model";
import { findOnce } from "../../data/select";
import { BizError } from "../../util/bizError";
import { sendMessage } from "../sms";
export async function taskOneSMS({sendType, userId}) {
let selectParam = {
userId:userId
};
let userInfo = await findOnce(TABLEENUM.用户表, selectParam, ["userId", "phone", "memberType", "name", "unitName"]);
if (!userInfo || !userInfo.userId ) throw new BizError(ERRORENUM.用户不存在);
if (!userInfo.phone) throw new BizError(ERRORENUM.手机号不存在);
let nameStr = userInfo.memberType == MEMBERTYPE.个人会员 ? userInfo.name : userInfo.unitName;
await sendMessage(userInfo.phone, {name:nameStr}, sendType);
return {isSuccess:true};
}
export async function taskManySMS({sendType, userIdList}) {
for (let i = 0; i < userIdList.length; i++) {
let userId = userIdList[i];
let selectParam = {
userId:userId
};
let userInfo = await findOnce(TABLEENUM.用户表, selectParam, ["userId", "phone", "memberType", "name", "unitName"]);
if (!userInfo || !userInfo.userId ) throw new BizError(ERRORENUM.用户不存在);
if (!userInfo.phone) throw new BizError(ERRORENUM.手机号不存在);
let nameStr = userInfo.memberType == MEMBERTYPE.个人会员 ? userInfo.name : userInfo.unitName;
sendMessage(userInfo.phone, {name:nameStr}, sendType);
}
return {isSuccess:true};
}
\ No newline at end of file
......@@ -109,33 +109,33 @@ export async function sendPassNotice(phone:string, name:string) {
export async function test() {
// await check();
let phone1 = "18711017326";//17274689187
await sendALSMS("3321", phone1);
// let phone2 = "16621071125";
// await sendALSMS("1234", phone2);
// let phone3 = "18120935727";
// await sendALSMS("1234", phone3);
// let param = {name:"测试测试1"};
// await sendMessage(phone, param, MSGTYPE.审核期间驳回通知, 1);
// await sendMessage(phone, param, MSGTYPE.审核期间驳回通知, 2);
// await sendMessage(phone, param, MSGTYPE.审核通过以及缴费通知);
// await sendMessage(phone, param, MSGTYPE.会员缴费财务驳回无需退款);
// await sendMessage(phone, param, MSGTYPE.会员缴费财务驳回需退款);
// await sendMessage(phone, param, MSGTYPE.会员缴费成功后针对线下汇款财务审核通过的时候发送);
// await sendMessage(phone, param, MSGTYPE.会员会费到期缴费通知);
// await sendMessage(phone, param, MSGTYPE.会员催缴通知提前开发票);
// await sendMessage(phone, param, MSGTYPE.会员宽限期最后一天);
// await sendMessage(phone, param, MSGTYPE.往期欠费通知);
// await sendMessage(phone, param, MSGTYPE.变更驳回);
// await sendMessage(phone, param, MSGTYPE.变更已通过);
// await sendMessage(phone, param, MSGTYPE.会员活动or会议通知);
// await sendMessage(phone, param, MSGTYPE.会员活动or会议催促未报名人员通知);
// await sendMessage(phone, param, MSGTYPE.财务退款通知);
console.log("验证码测试完成");
}
// export async function test() {
// // await check();
// let phone1 = "18711017326";//17274689187
// await sendALSMS("3321", phone1);
// // let phone2 = "16621071125";
// // await sendALSMS("1234", phone2);
// // let phone3 = "18120935727";
// // await sendALSMS("1234", phone3);
// // let param = {name:"测试测试1"};
// // await sendMessage(phone, param, MSGTYPE.审核期间驳回通知, 1);
// // await sendMessage(phone, param, MSGTYPE.审核期间驳回通知, 2);
// // await sendMessage(phone, param, MSGTYPE.审核通过以及缴费通知);
// // await sendMessage(phone, param, MSGTYPE.会员缴费财务驳回无需退款);
// // await sendMessage(phone, param, MSGTYPE.会员缴费财务驳回需退款);
// // await sendMessage(phone, param, MSGTYPE.会员缴费成功后针对线下汇款财务审核通过的时候发送);
// // await sendMessage(phone, param, MSGTYPE.会员会费到期缴费通知);
// // await sendMessage(phone, param, MSGTYPE.会员催缴通知提前开发票);
// // await sendMessage(phone, param, MSGTYPE.会员宽限期最后一天);
// // await sendMessage(phone, param, MSGTYPE.往期欠费通知);
// // await sendMessage(phone, param, MSGTYPE.变更驳回);
// // await sendMessage(phone, param, MSGTYPE.变更已通过);
// // await sendMessage(phone, param, MSGTYPE.会员活动or会议通知);
// // await sendMessage(phone, param, MSGTYPE.会员活动or会议催促未报名人员通知);
// // await sendMessage(phone, param, MSGTYPE.财务退款通知);
// console.log("验证码测试完成");
// }
export async function sendMessage(phone, param, type, subType?) {
......
......@@ -64,7 +64,7 @@ export async function createUserOrder() {
let subType = memberType == MEMBERTYPE.个人会员 ? individualMemberType : unitMemberType;
let newOrderStartTime = itemInfo.orderCycleEnd;//新订单的开始时间是上一条订单的结束时间
await createOrder(userId, loginId, phone, unitName, newOrderStartTime, memberLevel, memberType, subType, false);
await updateOneData(TABLEENUM.用户表, {userId}, {paymentStatus:PAYMENTSTATUS.未支付, memberState:MEMBERSTATE.异常, });
await updateOneData(TABLEENUM.用户表, {userId}, {paymentStatus:PAYMENTSTATUS.未支付, memberState:MEMBERSTATE.提醒, });
addCount += 1;
//发送邮件
......
......@@ -327,18 +327,25 @@ export enum DWTYPE {
* 会员状态
*/
export enum MEMBERSTATE {
正常 = 1,
异常,
运行 = 1,
提醒,
冻结
}
export enum MEMBERSTATECLIENT {
运行 = 1,
提醒
}
/**
* 已开发票-会员状态 前端用
*/
export enum INVOICESTATE {
正常 = 1,
异常,
// 正常 = 1,
// 异常,
运行 = 1,
提醒,
}
......@@ -402,6 +409,13 @@ export enum MEMBERLEVEL {
常务理事会员,
}
export enum MEMBERLEVELCLIENT {
理事会员 = 2,
常务理事会员,
}
/**
* 用户注册状态
......@@ -895,9 +909,9 @@ export enum MSGTYPE {
会员缴费财务驳回无需退款,
会员缴费财务驳回需退款,
会员缴费成功后针对线下汇款财务审核通过的时候发送,
会员会费到期缴费通知,
会员催缴通知提前开发票,
往期欠费通知,
会员会费到期缴费通知,//本期未缴纳
会员催缴通知提前开发票,//提前开票
往期欠费通知,//往期未缴纳
会员宽限期最后一天,
变更驳回,
变更已通过,
......
......@@ -85,7 +85,9 @@ export enum ERRORENUM {
与预览邮箱不一致,
不存在该邮箱的账号,
该邮箱已被注册,
请先缴费
请先缴费,
邮箱不正确,
手机号不存在
}
export enum ERRORCODEENUM {
......
......@@ -369,9 +369,9 @@ const ModelArray = [
registerFlow:{type:'Number', default:REGISTERFLOW.未注册},//会员注册流程 枚举
isAdmin:{ type:'Number', index:true, default:STATE.},//是否是管理员
userRegisterState:{type:'Number', default:USERREGISTERSTATE.待审核},//用户注册状态 枚举USERREGISTERSTATE
memberState:{type:'Number', default:MEMBERSTATE.异常},//会员状态 枚举 MEMBERSTATE
memberState:{type:'Number', default:MEMBERSTATE.提醒},//会员状态 枚举 MEMBERSTATE
certificateType:'Number',//证书类型 枚举CERTIFICATETYPE
individualMemberType:{type: 'Number'},//个人会员类型 枚举INDIVIDUALMEMBERTYPE
individualMemberType:{type: 'Number'},//个人会员类型 枚举 INDIVIDUALMEMBERTYPE
memberLevel:{type:'Number', default:MEMBERLEVEL.普通会员},//会员等级、职务 枚举 MEMBERLEVEL 【会员管理用】
isFirstPay:{type:'Boolean', default:false},//是否完成首次支付
/**宽限期状态 */
......@@ -459,8 +459,7 @@ const ModelArray = [
rejectRemarks:'String',//变更理事驳回理由
applyId:{ type:'String', index:true },
takeeffectType:'Number',//生效类型 上半年/下半年 ZHIWUSHENGXIAOTYPE
memberLevelChangeTime:{type:'Number'},//变更时间 年
infoChangeId:{type:"String", index:true},//资料更新关联id
infoChangeMs:{type:"Number"},//资料更新申请时间
infoChangeOptionType:{type:"Number"},//INFOCHANGEAPPLYTYPE
......
import { testCallback } from "./biz/member/cost";
import { initActivity } from "./biz/member/msgActivity";
import { initSMS, test } from "./biz/sms";
import { initSMS } from "./biz/sms";
import { initSystemTask } from "./biz/task";
import { initConfig, systemConfig} from "./config/serverConfig";
import { initDataBaseModel } from "./data/db/db";
......
......@@ -136,6 +136,23 @@ export const Config = {
],
bindBiz:applyBiz.infomationChangeOut
}
],
"理事名单":[
{
apiName:"理事会员列表",
subUrl:'/lishi/list',
param:[
{key:"name", type:"String", desc:"单位/个人名称", isNull:true},
{key:"memberType", type:"Number", desc:"会员类别", isNull:true},
{key:"phone", type:"String", desc:"当前页", isNull:true},
{key:"memberLevel", type:"Number", desc:"一页大小", isNull:true},
{key:"memberState", type:"Number", desc:"一页大小", isNull:true},
{key:"year", type:"Number", desc:"一页大小", isNull:true},
{key:"pageNumber", type:"Number", desc:"一页大小"},
{key:"pageSize", type:"Number", desc:"一页大小"},
],
bindBiz:applyBiz.liShiList
},
]
}
......
import * as userBiz from "../../biz/member/user";
import * as userBiz from "../../biz/portal/user";
import * as memberBiz from "../../biz/member/member";
import * as examineBiz from "../../biz/member/examine";
import * as memberFeesBiz from "../../biz/member/memberFees";
......@@ -449,15 +449,16 @@ export const Config = {
bindBiz:userBiz.logout
},
{
apiName:"修改密码",
apiName:"修改密码", //未登录修改密码
subUrl:'/changepwd',
notMiddleware:true,
param:[
{key:"userId", type:"String", desc:"userId", isNull:true},
// {key:"userId", type:"String", desc:"userId", isNull:true},
{key:"phone", type:"String", desc:"绑定手机号"},
{key:"pwd", type:"String", desc:"密码"},
{key:"confirmation", type:"String", desc:"二次确认密码"},
{key:"code", type:"String", desc:"验证码"}
{key:"code", type:"String", desc:"验证码"},
{key:"type", type:"Number", desc:"=1d的时候是手机号 =2的时候是邮箱"},
],
bindBiz:userBiz.changePwd
},
......@@ -511,20 +512,20 @@ export const Config = {
],
bindBiz:userBiz.changeMailById
},{
apiName:"修改密码用短信验证码",
apiName:"修改密码用短信验证码", //未登录情况下修改密码
subUrl:'/getchangepwdcode',
notMiddleware:true,
param:[
{key:"userId", type:"String", desc:"userId", isNull:true},
{key:"loginId", type:"String", desc:"loginId"},
{key:"phone", type:"String", desc:"绑定手机号"}
],
bindBiz:userBiz.memberChangePwdSendCode
},{
apiName:"修改密码用邮件验证码",
apiName:"修改密码用邮件验证码", //未登录情况下修改密码
subUrl:'/getmailchangepwdcode',
notMiddleware:true,
param:[
{key:"userId", type:"String", desc:"userId", isNull:true},
{key:"loginId", type:"String", desc:"loginId", isNull:true},
{key:"mail", type:"String", desc:"绑定邮箱"}
],
bindBiz:userBiz.memberMailChangePwdSendCode
......
......@@ -3,6 +3,7 @@
*/
import * as msgActivityBiz from "../../biz/member/msgActivity";
import * as taskSMSBiz from "../../biz/member/taskSMS";
import { ACTIVITYTYPE } from "../../config/enum";
export const FirstName = '消息管理';
......@@ -261,6 +262,26 @@ export const Config = {
bindBiz:msgActivityBiz.homeActivityDetailed
},
],
"手动发送短信":[
{
apiName:"手动发送单个",
subUrl:'/sms/send/one',
param:[
{key:"sendType", type:"Number", desc:"参考枚举"},
{key:"userId", type:"String", desc:"参考枚举"},
],
bindBiz:taskSMSBiz.taskOneSMS
},
{
apiName:"手动发送多个",
subUrl:'/sms/send/many',
param:[
{key:"sendType", type:"Number", desc:"参考枚举"},
{key:"userIdList", type:"[String]", desc:"参考枚举"},
],
bindBiz:taskSMSBiz.taskManySMS
},
]
}
......
......@@ -174,6 +174,13 @@ export const Config = {
bindBiz:publicBiz.setEnumInterface
},
{
apiName:"会员职务",
subUrl:'/memberlevelclient',
param:[],
defaultParam:enumConfig.MEMBERLEVELCLIENT,
bindBiz:publicBiz.setEnumInterface
},
{
apiName:"会员类别", //前端用
subUrl:'/membertypeecc',
param:[],
......@@ -209,6 +216,13 @@ export const Config = {
bindBiz:publicBiz.setEnumInterface
},
{
apiName:"会员状态",
subUrl:'/memberstateclient',
param:[],
defaultParam:enumConfig.MEMBERSTATECLIENT,
bindBiz:publicBiz.setEnumInterface
},
{
apiName:"下拉框选择届次",
subUrl:'/session',
param:[],
......
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