Commit 38e99881 by lixinming

no message

parent d3fb4cc3
...@@ -2,9 +2,9 @@ ...@@ -2,9 +2,9 @@
* 收费 * 收费
*/ */
import { ORDERSTATE, PAYMENTTYPE, RECEIPTCONFIRMATION, STATE, WEICHARTPAYSTATE } from "../../config/enum"; import { MEMBERSTATE, ORDEREXAMINE, ORDERSTATE, PAYMENTSTATUS, PAYMENTTYPE, RECEIPTCONFIRMATION, STATE, WEICHARTPAYSTATE } from "../../config/enum";
import { TABLEENUM } from "../../data/models/model"; import { TABLEENUM } from "../../data/models/model";
import { findCount, findOnce } from "../../data/select"; import { findCount, findOnce, findOnceToSort } from "../../data/select";
import * as path from "path"; import * as path from "path";
const WxPay = require('wechatpay-node-v3'); const WxPay = require('wechatpay-node-v3');
import * as fs from 'fs'; import * as fs from 'fs';
...@@ -14,6 +14,7 @@ import { generateWXOrderId, successResult } from "../../tools/system"; ...@@ -14,6 +14,7 @@ import { generateWXOrderId, successResult } from "../../tools/system";
import { updateOneData } from "../../data/update"; import { updateOneData } from "../../data/update";
import moment = require("moment"); import moment = require("moment");
import { systemConfig } from "../../config/serverConfig"; import { systemConfig } from "../../config/serverConfig";
import { addOneData } from "../../data/add";
const AppId = 'wx96c0cf11b3babcf6'; const AppId = 'wx96c0cf11b3babcf6';
const MchId = '1614605859'; const MchId = '1614605859';
...@@ -132,38 +133,50 @@ export async function payCallback(body) { ...@@ -132,38 +133,50 @@ export async function payCallback(body) {
let oldInfo = await findOnce(TABLEENUM.订单表, {weChartPR:wechartCallbackData.out_trade_no}); let oldInfo = await findOnce(TABLEENUM.订单表, {weChartPR:wechartCallbackData.out_trade_no});
if (!oldInfo || !oldInfo.id) throw new BizError(ERRORENUM.目标数据不存在); if (!oldInfo || !oldInfo.id) throw new BizError(ERRORENUM.目标数据不存在);
let notPayCount = await findCount(TABLEENUM.订单表, {userId:oldInfo.userId, state:ORDERSTATE.未支付} ); //更新订单状态
let updateInfo:any = { let updateInfo:any = {
paymentNum:wechartCallbackData.transaction_id, paymentNum:wechartCallbackData.transaction_id,
state:ORDERSTATE.已支付, state:ORDERSTATE.已支付,
paymentMethod:PAYMENTTYPE.微信支付, paymentMethod:PAYMENTTYPE.微信支付,
payTime:new Date().valueOf(), payTime:new Date().valueOf(),
weChartState:WEICHARTPAYSTATE.已支付, weChartState:WEICHARTPAYSTATE.已支付,
confirmReceipt:RECEIPTCONFIRMATION.待确认 confirmReceipt:RECEIPTCONFIRMATION.收款确认,
confirmReceiptMs:new Date().valueOf()
}; };
await updateOneData(TABLEENUM.订单表, {weChartPR:wechartCallbackData.out_trade_no}, updateInfo); await updateOneData(TABLEENUM.订单表, {weChartPR:wechartCallbackData.out_trade_no}, updateInfo);
//更新用户状态
let notPayCount = await findCount(TABLEENUM.订单表, {userId:oldInfo.userId, state:ORDERSTATE.未支付} );
/**只有一笔欠费时才更新用户状态 */ /**只有一笔欠费时才更新用户状态 */
let updateUserInfo:any = {}; let updateUserInfo:any = {};
// if (notPayCount <= 1) { if (notPayCount < 1) {
// let newOrderInfo = await findOnceToSort(TABLEENUM.订单表, {userId:oldInfo.userId}, {lifespanEndTime:-1}, ["orderCycleStart","orderCycleEnd"]); let newOrderInfo = await findOnceToSort(TABLEENUM.订单表, {userId:oldInfo.userId}, {lifespanEndTime:-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 = oldInfo.orderCycleStart; updateUserInfo.lifespanStartTime = oldInfo.orderCycleStart;
// updateUserInfo.lifespanEndTime = oldInfo.orderCycleEnd; updateUserInfo.lifespanEndTime = oldInfo.orderCycleEnd;
// } }
if (oldInfo.isFirst) {
// if (oldInfo.isFirst) { updateUserInfo.isFirstPay = true;
// updateUserInfo.isFirstPay = true; }
// } if (Object.keys(updateUserInfo).length) await updateOneData(TABLEENUM.用户表, {userId:oldInfo.userId}, updateUserInfo);
// if (Object.keys(updateUserInfo).length) await updateOneData(TABLEENUM.用户表, {userId:oldInfo.userId}, updateUserInfo);
//添加审批日志
let addLogInfo = {
orderId:oldInfo.id,
operationTime:new Date().valueOf(),
operationBehavior:ORDEREXAMINE.用户提交,
remarks:"微信付款"
};
await addOneData(TABLEENUM.订单审批历史表, addLogInfo );
return { return {
code:"SUCCESS", code:"SUCCESS",
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
*/ */
import moment = require("moment"); import moment = require("moment");
import { MEMBERSTATE, MEMBERTYPE, ORDERSTATE, PAYMENTTYPE, RECEIPTCONFIRMATION, STATE, UNITMEMBERTYPE, USERREGISTERSTATE } from "../../config/enum"; import { MEMBERSTATE, MEMBERTYPE, ORDEREXAMINE, ORDERSTATE, PAYMENTTYPE, RECEIPTCONFIRMATION, STATE, UNITMEMBERTYPE, USERREGISTERSTATE } from "../../config/enum";
import { TABLEENUM } from "../../data/models/model"; import { TABLEENUM } from "../../data/models/model";
import { find, findCount, findOnce, findToPage, findToSort, findToSortToPage } from "../../data/select"; import { find, findCount, findOnce, findToPage, findToSort, findToSortToPage } from "../../data/select";
import { extractData } from "../../util/piecemeal"; import { extractData } from "../../util/piecemeal";
...@@ -12,6 +12,7 @@ import { BizError } from "../../util/bizError"; ...@@ -12,6 +12,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 { successResult } from "../../tools/system"; import { successResult } from "../../tools/system";
import { addOneData } from "../../data/add";
...@@ -285,6 +286,16 @@ export async function offlinePayment({orderId, paymentNum, offlinePaymentUrl }) ...@@ -285,6 +286,16 @@ export async function offlinePayment({orderId, paymentNum, offlinePaymentUrl })
await updateOneData(TABLEENUM.订单表, {id:orderId}, updateInfo); await updateOneData(TABLEENUM.订单表, {id:orderId}, updateInfo);
//添加审批日志
let addLogInfo = {
orderId,
operationTime:new Date().valueOf(),
operationBehavior:ORDEREXAMINE.用户提交,
remarks:""
};
await addOneData(TABLEENUM.订单审批历史表, addLogInfo );
return successResult(); return successResult();
} }
......
...@@ -271,6 +271,17 @@ export async function confirmReceiptPass({id}) { ...@@ -271,6 +271,17 @@ export async function confirmReceiptPass({id}) {
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:id,
operationTime:new Date().valueOf(),
operationBehavior:ORDEREXAMINE.审核时间,
isReceiveMoney:true,
remarks:``
};
await addOneData(TABLEENUM.订单审批历史表, addLogInfo );
return successResult(); return successResult();
} }
...@@ -298,8 +309,8 @@ export async function confirmReceiptOut({id, isReceive, returnsReasons}) { ...@@ -298,8 +309,8 @@ export async function confirmReceiptOut({id, isReceive, returnsReasons}) {
let addLogInfo = { let addLogInfo = {
orderId:id, orderId:id,
operationTime:new Date().valueOf(), operationTime:new Date().valueOf(),
operationBehavior:ORDEREXAMINE.退, operationBehavior:ORDEREXAMINE.,
isReceiveMoney:isReceive == ISRECEIVE.提供账户_zkh需退款_ykh, isReceiveMoney:isReceive == ISRECEIVE.未收到款项_xg其他,
remarks:`${changeEnumValue(ISRECEIVE, isReceive)}` remarks:`${changeEnumValue(ISRECEIVE, isReceive)}`
}; };
await addOneData(TABLEENUM.订单审批历史表, addLogInfo ); await addOneData(TABLEENUM.订单审批历史表, addLogInfo );
...@@ -484,6 +495,16 @@ export async function upInvoice({id, invoiceUrl}) { ...@@ -484,6 +495,16 @@ export async function upInvoice({id, invoiceUrl}) {
}; };
await updateOneData(TABLEENUM.订单表, {id}, updateInfo); await updateOneData(TABLEENUM.订单表, {id}, updateInfo);
//添加日志
let addLogInfo = {
orderId:id,
operationTime:new Date().valueOf(),
operationBehavior:ORDEREXAMINE.已开票,
isReceiveMoney:true,
remarks:``
};
await addOneData(TABLEENUM.订单审批历史表, addLogInfo );
return successResult(); return successResult();
} }
...@@ -848,7 +869,6 @@ export async function orderList({userId, type}) { ...@@ -848,7 +869,6 @@ export async function orderList({userId, type}) {
} else {//无需退款 } else {//无需退款
payState = MYORDERLISTPAYSTATE.缴费失败; payState = MYORDERLISTPAYSTATE.缴费失败;
} }
} }
} else { } else {
payState = MYORDERLISTPAYSTATE.待缴费; payState = MYORDERLISTPAYSTATE.待缴费;
...@@ -985,6 +1005,15 @@ export async function getInvoiceStatus({id}) { ...@@ -985,6 +1005,15 @@ export async function getInvoiceStatus({id}) {
await updateOneData(TABLEENUM.订单表, {id}, updateInfo); await updateOneData(TABLEENUM.订单表, {id}, updateInfo);
//添加日志
let addLogInfo = {
orderId:id,
operationTime:new Date().valueOf(),
operationBehavior:ORDEREXAMINE.用户提交,
remarks:`${desc}`
};
await addOneData(TABLEENUM.订单审批历史表, addLogInfo );
return successResult(); return successResult();
} }
...@@ -999,7 +1028,7 @@ export async function reasonInfo({id}) { ...@@ -999,7 +1028,7 @@ export async function reasonInfo({id}) {
if ( orderInfo.confirmReceipt != RECEIPTCONFIRMATION.退回) throw new BizError(ERRORENUM.该订单未被退回); if ( orderInfo.confirmReceipt != RECEIPTCONFIRMATION.退回) throw new BizError(ERRORENUM.该订单未被退回);
let logInfo = await findOnceToSort(TABLEENUM.订单审批历史表, {operationBehavior:ORDEREXAMINE.退回}, {operationTime:-1}); let logInfo = await findOnceToSort(TABLEENUM.订单审批历史表, {operationBehavior:ORDEREXAMINE.用户提交}, {operationTime:-1});
let dataInfo = { let dataInfo = {
operationTime:moment(logInfo.operationTime).format("YYYY/MM/DD HH:mm:SS"), operationTime:moment(logInfo.operationTime).format("YYYY/MM/DD HH:mm:SS"),
...@@ -1037,8 +1066,8 @@ export async function accountInfo({id, form}) { ...@@ -1037,8 +1066,8 @@ export async function accountInfo({id, form}) {
let addLogInfo = { let addLogInfo = {
orderId:id, orderId:id,
operationTime:new Date().valueOf(), operationTime:new Date().valueOf(),
operationBehavior:ORDEREXAMINE.用户提交, operationBehavior:ORDEREXAMINE.退款申请,
remarks:`退款账户${form.refundBankCarId}` remarks:`${form.refundDesc}`
}; };
await addOneData(TABLEENUM.订单审批历史表, addLogInfo ); await addOneData(TABLEENUM.订单审批历史表, addLogInfo );
...@@ -1104,9 +1133,9 @@ export async function refundApprove({id, refundImgUrl}) { ...@@ -1104,9 +1133,9 @@ export async function refundApprove({id, refundImgUrl}) {
let addLogInfo = { let addLogInfo = {
orderId:id, orderId:id,
operationTime:new Date().valueOf(), operationTime:new Date().valueOf(),
operationBehavior:ORDEREXAMINE.退回, operationBehavior:ORDEREXAMINE.已退款,
isReceiveMoney:true, isReceiveMoney:true,
remarks:`已退款`, remarks:``,
refundImgUrl refundImgUrl
}; };
await addOneData(TABLEENUM.订单审批历史表, addLogInfo ); await addOneData(TABLEENUM.订单审批历史表, addLogInfo );
...@@ -1173,24 +1202,52 @@ export async function refundApprove({id, refundImgUrl}) { ...@@ -1173,24 +1202,52 @@ export async function refundApprove({id, refundImgUrl}) {
* 审批历史 * 审批历史
*/ */
export async function approveLog({id}) { export async function approveLog({id}) {
// let logsList = await find(TABLEENUM.订单审批历史表, {orderId:id}); let logsList = await find(TABLEENUM.订单审批历史表, {orderId:id});
// let dataList = []; let dataList = [];
// logsList.forEach(info => { logsList.forEach(info => {
// let { operationTime, operationBehavior, isReceiveMoney, remarks } = info; let { operationTime, operationBehavior, isReceiveMoney, remarks } = info;
// let desc = "";
// let addInfo:any = { let addInfo:any = {
// operationTime:moment(operationTime).format("YYYY-MM-DD HH:mm:SS"), operationTime:moment(operationTime).format("YYYY-MM-DD HH:mm:SS"),
// operationBehavior:changeEnumValue(ORDEREXAMINE, info.operationBehavior), operationBehavior:changeEnumValue(ORDEREXAMINE, info.operationBehavior),
// remarks, desc:remarks,
// other other:""
// }; };
// if (info.refundImgUrl) { dataList.push(addInfo);
// addInfo.refundImgUrl = refundImgUrl;
// } } );
// } );
return {dataList};
} }
export async function reconfirm({id, weChartPR, offlinePaymentUrl, desc}) {
let orderInfo = await findOnce(TABLEENUM.订单表, {id});
if (!orderInfo || !orderInfo.id) throw new BizError(ERRORENUM.目标数据不存在);
if (orderInfo.state == ORDERSTATE.已支付 && orderInfo.confirmReceipt != RECEIPTCONFIRMATION.退回) throw new BizError(ERRORENUM.该订单已支付);
let updateInfo = {
paymentNum:weChartPR,
offlinePaymentUrl,
state:ORDERSTATE.已支付,
paymentMethod:PAYMENTTYPE.线下支付,
payTime:new Date().valueOf(),
confirmReceipt:RECEIPTCONFIRMATION.待确认,
desc
};
await updateOneData(TABLEENUM.订单表, {id}, updateInfo);
//添加日志
let addLogInfo = {
orderId:id,
operationTime:new Date().valueOf(),
operationBehavior:ORDEREXAMINE.用户提交,
remarks:`${desc}`
};
await addOneData(TABLEENUM.订单审批历史表, addLogInfo );
return successResult();
}
...@@ -62,3 +62,6 @@ function getExcel(filePath) { ...@@ -62,3 +62,6 @@ function getExcel(filePath) {
export async function 单位会员() {
}
\ No newline at end of file
...@@ -573,8 +573,7 @@ export enum ADMINTYPE { ...@@ -573,8 +573,7 @@ export enum ADMINTYPE {
*/ */
export enum ADMINFIRSTDIR { export enum ADMINFIRSTDIR {
网站管理 = 1, 网站管理 = 1,
会员管理 = 2, 会员管理 = 2
会员操作 = 3
} }
...@@ -594,12 +593,12 @@ export enum ADMINLV { ...@@ -594,12 +593,12 @@ export enum ADMINLV {
审批管理, 审批管理,
会费管理, 会费管理,
发票管理, 发票管理,
会员管理, 变更管理,
管理设置 = 206, 管理设置 = 206,
标签系统, 标签系统,
通知管理 = 208, 通知管理 = 208,
会员信息修改 = 301, 会员信息修改 = 209,
单位会员申请表 单位会员申请表 = 210
} }
...@@ -762,8 +761,20 @@ export enum ISRECEIVE { ...@@ -762,8 +761,20 @@ export enum ISRECEIVE {
* 订单审批 * 订单审批
*/ */
export enum ORDEREXAMINE { export enum ORDEREXAMINE {
用户提交 = 1, // 用户提交 = 1,
退回 // 退回,
// 审核时间,//关联
// 支付时间, //关联微信支付
// 已开发票
用户提交 = 1,//用户提交
驳回,//驳回
支付时间,//支付时间
审核时间,//审核时间
已开票,//已开票
退款申请,//退款申请
已退款//已退款
} }
......
...@@ -66,7 +66,8 @@ export enum ERRORENUM { ...@@ -66,7 +66,8 @@ export enum ERRORENUM {
订单非退回状态, 订单非退回状态,
该类型退款无需确认, 该类型退款无需确认,
注册信息待补充, 注册信息待补充,
超出可申请范围 超出可申请范围,
权限错误
} }
export enum ERRORCODEENUM { export enum ERRORCODEENUM {
......
...@@ -40,13 +40,25 @@ export async function checkUser(req, res, next) { ...@@ -40,13 +40,25 @@ export async function checkUser(req, res, next) {
userId, userId,
isAdmin:userInfo.isAdmin isAdmin:userInfo.isAdmin
} }
if (userInfo.isAdmin) {
req.adminInfomation = {
adminLv:userInfo.adminLv
}
}
next(); next();
} }
export async function notCheck(req, res, next) { export async function notCheck(req, res, next) {
console.log("结束");
next(); next();
} }
export async function checkPermission(apiKey, callback) {
console.log("走完流程", apiKey);
return callback();
}
/** /**
* 中间件 数据维护接口 * 中间件 数据维护接口
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
* 变更审批 * 变更审批
*/ */
import * as applyBiz from "../../biz/member/apply"; import * as applyBiz from "../../biz/member/apply";
import { ADMINLV } from "../../config/enum";
export const FirstName = '变更审批'; export const FirstName = '变更审批';
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
* 黑名单 * 黑名单
*/ */
import * as blacklistBiz from "../../biz/member/blacklist"; import * as blacklistBiz from "../../biz/member/blacklist";
import { ADMINLV } from "../../config/enum";
export const FirstName = '黑名单'; export const FirstName = '黑名单';
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
* 标签 * 标签
*/ */
import * as lableBiz from "../../biz/member/labelSystem"; import * as lableBiz from "../../biz/member/labelSystem";
import { ADMINLV } from "../../config/enum";
export const FirstName = '标签相关'; export const FirstName = '标签相关';
export const FirstRouter = '/manage/lable'; export const FirstRouter = '/manage/lable';
......
...@@ -7,6 +7,7 @@ import * as registerBiz from "../../biz/register"; ...@@ -7,6 +7,7 @@ import * as registerBiz from "../../biz/register";
import * as homePageBiz from "../../biz/member/homePage"; import * as homePageBiz from "../../biz/member/homePage";
import * as rightsMgmtBiz from "../../biz/member/rightsMgmt"; import * as rightsMgmtBiz from "../../biz/member/rightsMgmt";
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';
......
...@@ -241,6 +241,25 @@ export const Config = { ...@@ -241,6 +241,25 @@ export const Config = {
bindBiz:orderBiz.orderList bindBiz:orderBiz.orderList
}, },
{ {
apiName:"查看原因",//会员列表->查看原因
subUrl:'/order/reason',
param:[
{key:"id", type:"String", desc:"会员缴费列表返回id"},
],
bindBiz:orderBiz.approveLog
},
{
apiName:"查看原因的确定",//会员列表->查看原因->确定
subUrl:'/order/reconfirm',
param:[
{key:"id", type:"String", desc:"会员缴费列表返回id"},
{key:"weChartPR", type:"String", desc:"转账单号"},
{key:"offlinePaymentUrl", type:"String", desc:"截图上传"},
{key:"desc", type:"String", desc:"备注", isNull:true},
],
bindBiz:orderBiz.reconfirm
},
{
apiName:"申请发票", apiName:"申请发票",
subUrl:'/order/applicationinvoice', subUrl:'/order/applicationinvoice',
param:[ param:[
...@@ -268,7 +287,7 @@ export const Config = { ...@@ -268,7 +287,7 @@ export const Config = {
bindBiz:orderBiz.downInvoice bindBiz:orderBiz.downInvoice
}, },
{ {
apiName:"上传转账截图", apiName:"上传转账截图",//个人页面线下付款
subUrl:'/order/uptransferimg', subUrl:'/order/uptransferimg',
param:[ param:[
{key:"id", type:"String", desc:"会员缴费列表返回id"}, {key:"id", type:"String", desc:"会员缴费列表返回id"},
......
...@@ -21,7 +21,8 @@ import * as msgActivityRouter from "./msgActivity/router"; ...@@ -21,7 +21,8 @@ import * as msgActivityRouter from "./msgActivity/router";
import * as applyRouter from "./apply/router"; import * as applyRouter from "./apply/router";
import * as asyncHandler from 'express-async-handler'; import * as asyncHandler from 'express-async-handler';
import { payCallback } from "../biz/member/cost"; import { payCallback } from "../biz/member/cost";
import { checkUser } from "../middleware/user"; import { checkUser, checkPermission, notCheck } from "../middleware/user";
import { ADMINLV } from "../config/enum";
const Look = false;//true更新文档 const Look = false;//true更新文档
...@@ -29,8 +30,8 @@ export async function setRouter(httpServer){ ...@@ -29,8 +30,8 @@ export async function setRouter(httpServer){
if (Look) { if (Look) {
await getDoc(); await getDoc();
// await initDoc(portalRouter.FirstName, portalRouter.Config, portalRouter.FirstRouter);//网站编辑 // await initDoc(portalRouter.FirstName, portalRouter.Config, portalRouter.FirstRouter);//网站编辑
await initDoc(publicRouter.FirstName, publicRouter.Config, publicRouter.FirstRouter);//公用组件 // await initDoc(publicRouter.FirstName, publicRouter.Config, publicRouter.FirstRouter);//公用组件
await initDoc(memberRouter.FirstName, memberRouter.Config, memberRouter.FirstRouter);//用户路由 // await initDoc(memberRouter.FirstName, memberRouter.Config, memberRouter.FirstRouter);//用户路由
// await initDoc(officalWebsiteRouter.FirstName, officalWebsiteRouter.Config, officalWebsiteRouter.FirstRouter);//官网路由 // await initDoc(officalWebsiteRouter.FirstName, officalWebsiteRouter.Config, officalWebsiteRouter.FirstRouter);//官网路由
// await initDoc(orderRouter.FirstName, orderRouter.Config, orderRouter.FirstRouter);//会费相关 // await initDoc(orderRouter.FirstName, orderRouter.Config, orderRouter.FirstRouter);//会费相关
// await initDoc(costRouter.FirstName, costRouter.Config, costRouter.FirstRouter);//支付 // await initDoc(costRouter.FirstName, costRouter.Config, costRouter.FirstRouter);//支付
...@@ -39,7 +40,7 @@ export async function setRouter(httpServer){ ...@@ -39,7 +40,7 @@ export async function setRouter(httpServer){
// await initDoc("2.0", labelRouter.Config, labelRouter.FirstRouter);//标签路由 // await initDoc("2.0", labelRouter.Config, labelRouter.FirstRouter);//标签路由
// await initDoc("2.0", blacklistRouter.Config, blacklistRouter.FirstRouter);//黑名单路由 // await initDoc("2.0", blacklistRouter.Config, blacklistRouter.FirstRouter);//黑名单路由
// await initDoc("2.0", msgActivityRouter.Config, msgActivityRouter.FirstRouter);//消息活动通知路由 // await initDoc("2.0", msgActivityRouter.Config, msgActivityRouter.FirstRouter);//消息活动通知路由
await initDoc(applyRouter.FirstName, applyRouter.Config, applyRouter.FirstRouter);//变更审批路由 // await initDoc(applyRouter.FirstName, applyRouter.Config, applyRouter.FirstRouter);//变更审批路由
} }
analysisRouter(httpServer, portalRouter.Config, portalRouter.FirstRouter, true);//网站编辑 analysisRouter(httpServer, portalRouter.Config, portalRouter.FirstRouter, true);//网站编辑
analysisRouter(httpServer, publicRouter.Config, publicRouter.FirstRouter, false);//公用组件 analysisRouter(httpServer, publicRouter.Config, publicRouter.FirstRouter, false);//公用组件
...@@ -59,14 +60,74 @@ function analysisRouter(httpServer, config, firstRouter, haveMiddleware) { ...@@ -59,14 +60,74 @@ function analysisRouter(httpServer, config, firstRouter, haveMiddleware) {
for (let modelKey in config) { for (let modelKey in config) {
config[modelKey].forEach(info => { config[modelKey].forEach(info => {
let {apiName, defaultParam, subUrl, param, bindBiz, notMiddleware} = info; let {apiName, defaultParam, subUrl, param, bindBiz, notMiddleware} = info;
if (haveMiddleware && !notMiddleware) httpServer.post(firstRouter+subUrl, checkUser, asyncHandler(routerFun(apiName, defaultParam, subUrl, param, bindBiz, notMiddleware))); if (haveMiddleware && !notMiddleware) httpServer.post(firstRouter+subUrl, checkUser, asyncHandler(routerFun(apiName, defaultParam, subUrl, param, bindBiz, notMiddleware, modelKey)));
else httpServer.post(firstRouter+subUrl, asyncHandler(routerFun(apiName, defaultParam, subUrl, param, bindBiz, notMiddleware))); else httpServer.post(firstRouter+subUrl, asyncHandler(routerFun(apiName, defaultParam, subUrl, param, bindBiz, notMiddleware, modelKey)));
}); });
} }
} }
let permissionConfig = {
"变更审批管理":{adminPermission:true, lv:ADMINLV.审批管理},
"黑名单管理":{adminPermission:true, lv:ADMINLV.会员库},
"微信支付":{adminPermission:false},
"标签管理":{adminPermission:true, lv:ADMINLV.标签系统},
"用户注册":{adminPermission:false},
"登陆相关":{adminPermission:false},
"会员库":{adminPermission:true, lv:ADMINLV.会员库},
"审批管理":{adminPermission:true, lv:ADMINLV.审批管理},
"会费管理":{adminPermission:true, lv:ADMINLV.会费管理},
"会员管理":{adminPermission:true, lv:ADMINLV.变更管理},
"权限管理":{adminPermission:true, lv:ADMINLV.管理设置},
"个人首页展示":{adminPermission:false, lv:ADMINLV.会员库},
"oss授权":{adminPermission:false},
"消息通知":{adminPermission:false},
"活动通知":{adminPermission:false},
"会员个人页活动通知":{adminPermission:false},
"发票管理":{adminPermission:true, lv:ADMINLV.发票管理},
"会员个人页":{adminPermission:false},
"会员导出":{adminPermission:true, lv:ADMINLV.会员库},
"审批导出":{adminPermission:true, lv:ADMINLV.会员库},
"学会概况_学会概括":{adminPermission:true, lv:ADMINLV.学会概况},
"学会概况_学会领导":{adminPermission:true, lv:ADMINLV.学会概况},
"学会概况_学会架构":{adminPermission:true, lv:ADMINLV.学会概况},
"首页_专题系列":{adminPermission:true, lv:ADMINLV.首页},
"品牌项目_学术研究":{adminPermission:true, lv:ADMINLV.品牌项目},
"品牌项目_芳华杯":{adminPermission:true, lv:ADMINLV.品牌项目},
"分支机构_机构管理":{adminPermission:true, lv:ADMINLV.分支机构},
"通知公告_会议通知":{adminPermission:true, lv:ADMINLV.内容管理},
"通知公告_活动通知":{adminPermission:true, lv:ADMINLV.内容管理},
"通知公告_项目公告":{adminPermission:true, lv:ADMINLV.内容管理},
"内容管理_banner管理":{adminPermission:true, lv:ADMINLV.内容管理},
"内容管理_视频管理":{adminPermission:true, lv:ADMINLV.内容管理},
"内容管理_文章管理":{adminPermission:true, lv:ADMINLV.内容管理},
"党建工作_学习园地":{adminPermission:true, lv:ADMINLV.党建工作},
"党建工作_主题教育":{adminPermission:true, lv:ADMINLV.党建工作},
"党建工作_文字资料":{adminPermission:true, lv:ADMINLV.党建工作},
"分支机构_机构管理_工作动态":{adminPermission:true, lv:ADMINLV.分支机构},
"分支机构_机构管理_委员名单":{adminPermission:true, lv:ADMINLV.分支机构},
"分支机构_机构管理_下载管理":{adminPermission:true, lv:ADMINLV.分支机构}
};
function routerFun(apiName, defaultParam, subUrl, param, bindBiz, notMiddleware) { function routerFun(apiName, defaultParam, subUrl, param, bindBiz, notMiddleware, modelKey) {
return async function (req, res) { return async function (req, res) {
//判断权限
//modelKey
let permissionInfo = permissionConfig[modelKey];
if (permissionInfo) {
let {adminPermission, lv} = permissionInfo;
if (adminPermission && !req.adminInfomation) {
//路由是管理员路由,用户不是管理员用户
throw new BizError(ERRORENUM.权限错误);
} else if(adminPermission && req.adminInfomation) {
//路由是管理员路由,用户是管理员用户
if (req.adminInfomation.adminLv.indexOf(lv) == -1 ) {
throw new BizError(ERRORENUM.权限错误);
}
}
}
let chackObjectList = []; let chackObjectList = [];
let checkStringMap = {}; let checkStringMap = {};
let stringNotMustHaveKeys = []; let stringNotMustHaveKeys = [];
......
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