Commit 0a77e0ce by chenjinjing

no message

parent cbd95e61
...@@ -18,10 +18,10 @@ import { changeEnumValue, eccEnumValue } from "../../util/verificationEnum"; ...@@ -18,10 +18,10 @@ import { changeEnumValue, eccEnumValue } from "../../util/verificationEnum";
* 会员权限列表 success * 会员权限列表 success
* @param unitName 单位名称 * @param unitName 单位名称
* @param memberLevel 会员等级、职务 MEMBERLEVEL * @param memberLevel 会员等级、职务 MEMBERLEVEL
* @param memberCategory 会员类别、会员级别 UNITMEMBERTYPE、INDIVIDUALMEMBERTYPE * @param memberCategory 会员类别、会员级别 UNITMEMBERTYPE、INDIVIDUALMEMBERTYPE 前端用MEMBERTYPEECCENUM
* @param pageNumber 当前页 * @param pageNumber 当前页
*/ */
export async function getAuthority({unitName, memberLevel, memberCategory, pageNumber}) { export async function getAuthority({unitName, memberLevel, memberCategory, pageNumber}) {
/**查询条件 */ /**查询条件 */
let selectParam:any = {}; let selectParam:any = {};
if (unitName) selectParam.unitName = unitName; if (unitName) selectParam.unitName = unitName;
...@@ -96,8 +96,34 @@ export async function freeze({userId}) { ...@@ -96,8 +96,34 @@ export async function freeze({userId}) {
} }
/**
* 变更权限回显
* @param id 列表返回的userId
* @returns
*/
export async function authorityEcho({id}) {
const SelectFiles = ["unitName", "name", "memberLevel", "memberType", "individualMemberType", "unitMemberType"];
let dbList = await findOnce(TABLEENUM.用户表, {userId:id}, SelectFiles);
const ResultFiles = ["unitName", "memberLevel", "memberType"];
let dataList = [];
dbList.forEach(info => {
let item:any = extractData(info, ResultFiles);
if (info.memberType == MEMBERTYPE.个人会员) {
item.unitName = info.name;
item.memberCategory = changeEnumValue(INDIVIDUALMEMBERTYPE, item.individualMemberType);//会员类别/级别
}
else{
item.unitName = info.unitName;
item.memberCategory = changeEnumValue(UNITMEMBERTYPE, item.unitMemberType);//会员类别/级别
}
item.memberLevel = changeEnumValue(MEMBERLEVEL, item.memberLevel);//会员等级、职务
dataList.push(item);
});
return {dataList};
}
......
...@@ -85,7 +85,7 @@ export async function adopt({userId}) { ...@@ -85,7 +85,7 @@ export async function adopt({userId}) {
paymentStatus:PAYMENTSTATUS.未支付, paymentStatus:PAYMENTSTATUS.未支付,
lifespanStartTime:NowMs, lifespanStartTime:NowMs,
lifespanEndTime:NowMs + 1000, lifespanEndTime:NowMs + 1000,
memberLevel:MEMBERLEVEL.普通会员 memberLevel:MEMBERLEVEL.普通会员,
}; };
let unitName = userInfo.unitName; let unitName = userInfo.unitName;
let subType = userInfo.unitMemberType; let subType = userInfo.unitMemberType;
...@@ -184,7 +184,7 @@ export async function approvalHistoryList({userId}) { ...@@ -184,7 +184,7 @@ export async function approvalHistoryList({userId}) {
* @param month 入会月份 * @param month 入会月份
* @returns * @returns
*/ */
function getEdition(year, month) { export function getEdition(year, month) {
//起始年份和月份 //起始年份和月份
const startYear = 2018; const startYear = 2018;
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
* 【二期内容:申请理事、申请常务理事、申请专家会员、会员积分、活动列表[立即参加]、消息中心暂时展示缴费提醒】 * 【二期内容:申请理事、申请常务理事、申请专家会员、会员积分、活动列表[立即参加]、消息中心暂时展示缴费提醒】
*/ */
import moment = require("moment");
import { BANXUELEIXING, DOCUMENTTYPE, INDIVIDUALMEMBERTYPE, INVOICESTATUS, MEMBERLEVEL, MEMBERTYPE, NATION, ORDERSTATE, PROFCATEGORY, SEX, STATE, UNITMEMBERTYPE } from "../../config/enum"; import { BANXUELEIXING, DOCUMENTTYPE, INDIVIDUALMEMBERTYPE, INVOICESTATUS, MEMBERLEVEL, MEMBERTYPE, NATION, ORDERSTATE, PROFCATEGORY, SEX, STATE, UNITMEMBERTYPE } from "../../config/enum";
import { ERRORENUM } from "../../config/errorEnum"; import { ERRORENUM } from "../../config/errorEnum";
import { addManyData } from "../../data/add"; import { addManyData } from "../../data/add";
...@@ -201,19 +202,32 @@ export async function getSheng ({userId}) { ...@@ -201,19 +202,32 @@ export async function getSheng ({userId}) {
* 会员缴费列表 * 会员缴费列表
* @param userId * @param userId
* @param state * @param state
* @returns * @returns dataList:[{data:列表, proofLetterInfo:证明函}]
*/ */
export async function memberPayment({userId, state}) { export async function memberPayment({userId, state}) {
let selectParam:any = {userId}; let selectParam:any = {userId};
if(state) selectParam.state = state; if(state) selectParam.state = state;
let oldList = await find(TABLEENUM.订单表, selectParam, ["id", "orderCycleStart", "orderCycleEnd", "money", "state"]); let oldList = await find(TABLEENUM.订单表, selectParam, ["id", "userId", "unitName", "orderCycleStart", "orderCycleEnd", "money", "state"]);
if (!oldList || oldList.length<1) throw new BizError(ERRORENUM.目标数据不存在); if (!oldList || oldList.length<1) throw new BizError(ERRORENUM.目标数据不存在);
/**查询证明函需要字段会员等级 */
let myOldInfo = await findOnce(TABLEENUM.用户表, {userId:oldList.userId}, ["memberLevel"]);
if (!myOldInfo || !myOldInfo.userId) throw new BizError(ERRORENUM.目标数据不存在);
//证明函返回数据配置
const proofLetterFiles = ["userId", "unitName", "orderCycleStart", "orderCycleEnd", "money"];
let dataList = []; let dataList = [];
oldList.forEach( info => { oldList.forEach( async info => {
/**处理列表返回数据字段 */
let item:any = extractData(info, ["id", "orderCycleStart", "orderCycleEnd", "money", "state"]); let item:any = extractData(info, ["id", "orderCycleStart", "orderCycleEnd", "money", "state"]);
item.state = changeEnumValue(ORDERSTATE, item.state); item.state = changeEnumValue(ORDERSTATE, item.state);
dataList.push(item);
/**处理证明函返回数据字段 */
let proofLetterInfo:any = extractData(info, proofLetterFiles);
proofLetterInfo.memberLevel = changeEnumValue(MEMBERLEVEL, myOldInfo.memberLevel);
proofLetterInfo.orderCycleStart = moment(proofLetterInfo.orderCycleStart).format("YYYY");
proofLetterInfo.orderCycleEnd = moment(proofLetterInfo.orderCycleEnd).format("YYYY");
dataList.push({list:item, proofLetterInfo});
}) })
return {dataList}; return {dataList};
...@@ -221,25 +235,31 @@ export async function memberPayment({userId, state}) { ...@@ -221,25 +235,31 @@ export async function memberPayment({userId, state}) {
/** /**
* 欠费证明 * 申请发票
* @param id 会员缴费列表返回的id * @param id 会员缴费列表返回的id
*/ */
export async function arrears({id}) { export async function applicationInvoice({id}) {
let oldInfo = await findOnce(TABLEENUM.订单表, {id}, ["", ""]); let oldInfo = await findOnce(TABLEENUM.订单表, {id, invoiceStatus:INVOICESTATUS.未开发票}, ["invoiceAdd"]);
if (!oldInfo || !oldInfo.invoiceAdd) throw new BizError(ERRORENUM.目标数据不存在);
let dataInfo = extractData(oldInfo, ["invoiceAdd"]);
return {dataInfo};
} }
/** /**
* 申请发票 * 下载发票
* @param id 会员缴费列表返回的id * @param id 会员缴费列表返回的id
*/ */
export async function applicationInvoice({id}) { export async function downInvoice({id}) {
let oldInfo = await findOnce(TABLEENUM.订单表, {id, invoiceStatus:INVOICESTATUS.未开发票}, ["invoiceAdd"]); let oldInfo = await findOnce(TABLEENUM.订单表, {id, invoiceStatus:INVOICESTATUS.已开发票}, ["invoiceAdd"]);
if (!oldInfo || !oldInfo.invoiceAdd) throw new BizError(ERRORENUM.目标数据不存在);
}
let dataInfo = extractData(oldInfo, ["invoiceAdd"]);
return {dataInfo};
}
......
...@@ -13,6 +13,8 @@ import { extractData } from "../../util/piecemeal"; ...@@ -13,6 +13,8 @@ import { extractData } from "../../util/piecemeal";
import { changeEnumValue, eccEnumValue } from "../../util/verificationEnum"; import { changeEnumValue, eccEnumValue } from "../../util/verificationEnum";
import { addManyData, addOneData } from "../../data/add"; import { addManyData, addOneData } from "../../data/add";
import { deleteManyData, deleteOneData } from "../../data/delete"; import { deleteManyData, deleteOneData } from "../../data/delete";
import moment = require("moment");
import { getEdition } from "./examine";
/** /**
...@@ -33,7 +35,11 @@ export async function unitMemberList({unitName, joinTime, unitMemberType, member ...@@ -33,7 +35,11 @@ export async function unitMemberList({unitName, joinTime, unitMemberType, member
if (joinTime) selectParam.joinTime = joinTime; if (joinTime) selectParam.joinTime = joinTime;
if (unitMemberType) selectParam.unitMemberType = unitMemberType; if (unitMemberType) selectParam.unitMemberType = unitMemberType;
if (memberLevel) selectParam.memberLevel = memberLevel; if (memberLevel) selectParam.memberLevel = memberLevel;
if (session) selectParam.session = session; if (session) {
let thisYear = moment(session).format("YYYY");
let thisMonth = moment(session).format("MM");
selectParam.session = getEdition(thisYear, thisMonth);;
}
if (sheng) selectParam.sheng = sheng; if (sheng) selectParam.sheng = sheng;
if (shi) selectParam.shi = shi; if (shi) selectParam.shi = shi;
if (qu) selectParam.qu = qu; if (qu) selectParam.qu = qu;
...@@ -147,7 +153,11 @@ export async function individualMemberList({name, documentId, phone, individualM ...@@ -147,7 +153,11 @@ export async function individualMemberList({name, documentId, phone, individualM
if (phone) selectParam.phone = phone; if (phone) selectParam.phone = phone;
if (individualMemberType) selectParam.individualMemberType = individualMemberType; if (individualMemberType) selectParam.individualMemberType = individualMemberType;
if (memberLevel) selectParam.memberLevel = memberLevel; if (memberLevel) selectParam.memberLevel = memberLevel;
if (session) selectParam.session = session; if (session) {
let thisYear = moment(session).format("YYYY");
let thisMonth = moment(session).format("MM");
selectParam.session = getEdition(thisYear, thisMonth);;
}
if (joinTime) selectParam.joinTime = joinTime; if (joinTime) selectParam.joinTime = joinTime;
if (auditTime) selectParam.auditTime = auditTime; if (auditTime) selectParam.auditTime = auditTime;
if (memberState) selectParam.memberState = memberState; if (memberState) selectParam.memberState = memberState;
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
*/ */
import moment = require("moment"); import moment = require("moment");
import { MEMBERSTATE, MEMBERTYPE, ORDERSTATE, PAYMENTSTATUS, PAYMENTTYPE, STATE } from "../../config/enum"; import { MEMBERLEVEL, MEMBERSTATE, MEMBERTYPE, ORDERSTATE, PAYMENTSTATUS, PAYMENTTYPE, STATE } from "../../config/enum";
import { TABLEENUM } from "../../data/models/model"; import { TABLEENUM } from "../../data/models/model";
import { find, findCount, findOnce, findOnceToSort, findToPage, findToSort } from "../../data/select"; import { find, findCount, findOnce, findOnceToSort, findToPage, findToSort } from "../../data/select";
import { extractData } from "../../util/piecemeal"; import { extractData } from "../../util/piecemeal";
...@@ -34,7 +34,7 @@ export async function getPaid({unitName, joinTime, memberType, pageNumber}) { ...@@ -34,7 +34,7 @@ export async function getPaid({unitName, joinTime, memberType, pageNumber}) {
if (joinTime) selectParam.joinTime = joinTime; if (joinTime) selectParam.joinTime = joinTime;
if (memberType) selectParam.memberType = memberType; if (memberType) selectParam.memberType = memberType;
const SelectFiles = ["userId", "memberState", "unitName", "loginId", "phone", "joinTime", "memberType", "lifespanStartTime", "lifespanEndTime"]; const SelectFiles = ["userId", "memberState", "unitName", "loginId", "phone", "joinTime", "memberType", "lifespanStartTime", "lifespanEndTime", "memberLevel"];
let dbList = await findToPage(TABLEENUM.用户表, selectParam, SelectFiles, pageNumber, 10); let dbList = await findToPage(TABLEENUM.用户表, selectParam, SelectFiles, pageNumber, 10);
let dataCount = await findCount(TABLEENUM.用户表, selectParam); let dataCount = await findCount(TABLEENUM.用户表, selectParam);
......
...@@ -129,7 +129,7 @@ export async function memberRegister2({form, userId}) { ...@@ -129,7 +129,7 @@ export async function memberRegister2({form, userId}) {
/**比对验证码 */ /**比对验证码 */
let codeInfo = await findOnceToSort(TABLEENUM.验证码表, {phone, isUse:false, type:CODETYPE.用户注册, sendMs:{"$gt":sysTools.getTodayMs() }}, {sendMs:-1}); let codeInfo = await findOnceToSort(TABLEENUM.验证码表, {phone, isUse:false, type:CODETYPE.用户注册, sendMs:{"$gt":sysTools.getTodayMs() }}, {sendMs:-1});
if (!codeInfo) throw new BizError(ERRORENUM.code无效, `${phone}在注册时,code表中不存在该手机号的验证码`); if (!codeInfo) throw new BizError(ERRORENUM.code无效, `${phone}在注册时,code表中不存在该手机号的验证码`);
if (codeInfo != codeNum) throw new BizError(ERRORENUM.验证码错误, `${phone}不存在${codeNum}`); if (codeInfo.codeNum != codeNum) throw new BizError(ERRORENUM.验证码错误, `${phone}不存在${codeNum}`);
if (( codeInfo.sendMs + (30 * 60 *1000) ) < NowMs ) throw new BizError(ERRORENUM.验证码过期); if (( codeInfo.sendMs + (30 * 60 *1000) ) < NowMs ) throw new BizError(ERRORENUM.验证码过期);
/**初始化账号信息 */ /**初始化账号信息 */
...@@ -257,7 +257,8 @@ export async function memberRegisterSendCode({phone}) { ...@@ -257,7 +257,8 @@ export async function memberRegisterSendCode({phone}) {
const NowMs = new Date().valueOf(); const NowMs = new Date().valueOf();
let codeSelectParam = { phone, isUse:false, type:CODETYPE.用户注册, sendMs:{"$gt":sysTools.getTodayMs()} } let codeSelectParam = { phone, isUse:false, type:CODETYPE.用户注册, sendMs:{"$gt":sysTools.getTodayMs()} }
let lastCodeInfo = await findOnceToSort(TABLEENUM.验证码表, codeSelectParam, {sendMs:-1}); let lastCodeInfo = await findOnceToSort(TABLEENUM.验证码表, codeSelectParam, {sendMs:-1});
if (lastCodeInfo.code) { let codeNum = lastCodeInfo?.codeNum;
if (codeNum) {
if ( (lastCodeInfo.sendMs + (60*1000)) > NowMs ) throw new BizError(ERRORENUM.频繁操作请稍后再试); if ( (lastCodeInfo.sendMs + (60*1000)) > NowMs ) throw new BizError(ERRORENUM.频繁操作请稍后再试);
/**校验今日同类型验证码次数 */ /**校验今日同类型验证码次数 */
let todayNotUseCount = await findCount(TABLEENUM.验证码表, codeSelectParam); let todayNotUseCount = await findCount(TABLEENUM.验证码表, codeSelectParam);
...@@ -265,7 +266,7 @@ export async function memberRegisterSendCode({phone}) { ...@@ -265,7 +266,7 @@ export async function memberRegisterSendCode({phone}) {
} }
const Code = sysTools.generateSMSCode();//生成短信验证码 const Code = sysTools.generateSMSCode();//生成短信验证码
let addInfo = {code:Code, phone, sendMs:NowMs, type:CODETYPE.用户注册, isUse:false}; let addInfo = {codeNum:Code, phone, sendMs:NowMs, type:CODETYPE.用户注册, isUse:false};
await addOneData(TABLEENUM.验证码表, addInfo); await addOneData(TABLEENUM.验证码表, addInfo);
return {code:Code}; return {code:Code};
......
...@@ -469,7 +469,7 @@ const ModelArray = [ ...@@ -469,7 +469,7 @@ const ModelArray = [
source:TABLESOURCEENUM.mongo, source:TABLESOURCEENUM.mongo,
schema:{ schema:{
phone:{type:'String', index:true},//电话号码 phone:{type:'String', index:true},//电话号码
code:'String', codeNum:'String',
sendMs:{type:'Number', index:true},//下发时间 时间戳 sendMs:{type:'Number', index:true},//下发时间 时间戳
type:'Number',//验证码类型 枚举 CODETYPE type:'Number',//验证码类型 枚举 CODETYPE
isUse:{type:'Boolean', index:true, default:false},//是否已使用 默认false isUse:{type:'Boolean', index:true, default:false},//是否已使用 默认false
......
...@@ -171,5 +171,12 @@ export const Config = { ...@@ -171,5 +171,12 @@ export const Config = {
defaultParam:enumConfig.MEMBERLEVEL, defaultParam:enumConfig.MEMBERLEVEL,
bindBiz:publicBiz.setEnumInterface bindBiz:publicBiz.setEnumInterface
}, },
{
apiName:"会员类别", //前端用
subUrl:'/memberTypeEcc',
param:[],
defaultParam:enumConfig.MEMBERTYPEECCENUM,
bindBiz:publicBiz.setEnumInterface
},
], ],
} }
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