Commit 956bf1a8 by lixinming

no message

parent fe88d81c
...@@ -7,3 +7,10 @@ ...@@ -7,3 +7,10 @@
/video /video
*.logs *.logs
*.zip *.zip
src/routers/huiYuanGuanLi/cost.ts
src/routers/huiYuanGuanLi/faPiaoGuanLi.ts
src/routers/huiYuanGuanLi/huiFeiGuanLi.ts
src/routers/huiYuanGuanLi/huiYuanKu.ts
src/routers/huiYuanGuanLi/quanXianGuanLi.ts
src/routers/huiYuanGuanLi/shenPiGuanLi.ts
src/routers/wangZhanGuanLi/router.ts
...@@ -92,7 +92,7 @@ export async function orderClose({id, weChartPR}) { ...@@ -92,7 +92,7 @@ export async function orderClose({id, weChartPR}) {
await pay.close(weChartPR); await pay.close(weChartPR);
await updateOneData(TABLEENUM.订单表, {id}, { weChartState:WEICHARTPAYSTATE.支付 }); await updateOneData(TABLEENUM.订单表, {id}, { weChartState:WEICHARTPAYSTATE.提交 });
return successResult(); return successResult();
} }
...@@ -104,4 +104,8 @@ export async function orderClose({id, weChartPR}) { ...@@ -104,4 +104,8 @@ export async function orderClose({id, weChartPR}) {
*/ */
export async function payCallback(body) { export async function payCallback(body) {
console.log(body); console.log(body);
if (body.reource) {
}
} }
\ No newline at end of file
...@@ -27,7 +27,7 @@ import { createOrder } from "./order"; ...@@ -27,7 +27,7 @@ import { createOrder } from "./order";
*/ */
export async function pendingReviewList({unitName, joinTime, memberType, sheng, shi, qu, pageNumber}) { export async function pendingReviewList({unitName, joinTime, memberType, sheng, shi, qu, pageNumber}) {
/**查询条件 */ /**查询条件 */
let selectParam:any = {userRegisterState:{"$ne": USERREGISTERSTATE.通过}}; //审批列表展示状态除通过外的数据 let selectParam:any = {userRegisterState:{"$ne": USERREGISTERSTATE.通过}, registerFlow:REGISTERFLOW.完成第二步,isAdmin:STATE.}; //审批列表展示状态除通过外的数据
if (unitName) selectParam.unitName = unitName; if (unitName) selectParam.unitName = unitName;
if (joinTime) selectParam.joinTime = joinTime; if (joinTime) selectParam.joinTime = joinTime;
if (memberType) selectParam.memberType = memberType; if (memberType) selectParam.memberType = memberType;
...@@ -35,7 +35,7 @@ export async function pendingReviewList({unitName, joinTime, memberType, sheng, ...@@ -35,7 +35,7 @@ export async function pendingReviewList({unitName, joinTime, memberType, sheng,
if (shi) selectParam.shi = shi; if (shi) selectParam.shi = shi;
if (qu) selectParam.qu = qu; if (qu) selectParam.qu = qu;
const SelectFiles = ["userId", "userRegisterState", "unitName", "loginId", "phone", "askForTime", "memberLevel", "sheng", "shi", "qu"]; const SelectFiles = ["userId", "userRegisterState", "unitName", "loginId", "phone", "askForTime", "memberLevel", "sheng", "shi", "qu", "workUnit"];
let dbList = await findToPage(TABLEENUM.用户表, selectParam, SelectFiles, pageNumber); let dbList = await findToPage(TABLEENUM.用户表, selectParam, SelectFiles, pageNumber);
let dataCount = await findCount(TABLEENUM.用户表, selectParam); let dataCount = await findCount(TABLEENUM.用户表, selectParam);
...@@ -45,6 +45,7 @@ export async function pendingReviewList({unitName, joinTime, memberType, sheng, ...@@ -45,6 +45,7 @@ export async function pendingReviewList({unitName, joinTime, memberType, sheng,
/**处理枚举值 */ /**处理枚举值 */
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);
if (item.memberType == MEMBERTYPE.个人会员) item.unitName = item.workUnit;
item.memberLevel = changeEnumValue(MEMBERLEVEL, item.memberLevel); item.memberLevel = changeEnumValue(MEMBERLEVEL, item.memberLevel);
dataList.push(item); dataList.push(item);
}); });
...@@ -59,7 +60,7 @@ export async function pendingReviewList({unitName, joinTime, memberType, sheng, ...@@ -59,7 +60,7 @@ export async function pendingReviewList({unitName, joinTime, memberType, sheng,
* @returns * @returns
*/ */
export async function adopt({id, session}) { export async function adopt({id, session}) {
let userInfo = await findOnce(TABLEENUM.用户表, {userId:id, isAdmin:STATE., session}, ["userId", "registerFlow", "userRegisterState", "memberType", "unitName", "name"]); let userInfo = await findOnce(TABLEENUM.用户表, {userId:id, isAdmin:STATE.}, ["userId", "registerFlow", "userRegisterState", "memberType", "unitName", "name"]);
if (!userInfo || !userInfo.userId) throw new BizError(ERRORENUM.目标数据不存在); if (!userInfo || !userInfo.userId) throw new BizError(ERRORENUM.目标数据不存在);
if (userInfo.memberType == MEMBERTYPE.个人会员 && userInfo.registerFlow != REGISTERFLOW.完成第二步) { if (userInfo.memberType == MEMBERTYPE.个人会员 && userInfo.registerFlow != REGISTERFLOW.完成第二步) {
throw new BizError(ERRORENUM.不具备审批条件, `${userInfo.userId}为个人会员,并没有完成第二步`); throw new BizError(ERRORENUM.不具备审批条件, `${userInfo.userId}为个人会员,并没有完成第二步`);
...@@ -76,13 +77,11 @@ export async function adopt({id, session}) { ...@@ -76,13 +77,11 @@ export async function adopt({id, session}) {
let thisDate = new Date(); let thisDate = new Date();
const NowMs = thisDate.valueOf(); const NowMs = thisDate.valueOf();
const thisYear = thisDate.getFullYear();
const thisMonth = thisDate.getMonth() + 1;
let addInfo:any = { let addInfo:any = {
auditTime:NowMs, auditTime:NowMs,
joinTime:NowMs, joinTime:NowMs,
userRegisterState:USERREGISTERSTATE.通过, userRegisterState:USERREGISTERSTATE.通过,
session:getEdition(thisYear, thisMonth), session:session,
paymentStatus:PAYMENTSTATUS.未支付, paymentStatus:PAYMENTSTATUS.未支付,
lifespanStartTime:NowMs, lifespanStartTime:NowMs,
lifespanEndTime:NowMs + 1000, lifespanEndTime:NowMs + 1000,
...@@ -96,12 +95,12 @@ export async function adopt({id, session}) { ...@@ -96,12 +95,12 @@ export async function adopt({id, session}) {
subType = userInfo.individualMemberType; subType = userInfo.individualMemberType;
} }
await updateOneData(TABLEENUM.用户表, {userId:id}, addInfo);
//todo 创建一条初始订单 //todo 创建一条初始订单
await createOrder(id, unitName, NowMs, MEMBERLEVEL.普通会员, userInfo.memberType, subType, true); await createOrder(id, unitName, NowMs, MEMBERLEVEL.普通会员, userInfo.memberType, subType, true);
await updateOneData(TABLEENUM.用户表, {userId:id}, addInfo);
/**提交审批历史信息 */ /**提交审批历史信息 */
let addApprovalHistory = { let addApprovalHistory = {
id:generateSystemId(TABLEENUM.审批历史表, id), id:generateSystemId(TABLEENUM.审批历史表, id),
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* 会员管理逻辑 * 会员管理逻辑
*/ */
import { MEMBERSTATE, MEMBERLEVEL, DOCUMENTTYPE, NATION, PROFCATEGORY, CODETYPE, MEMBERTYPE, REGISTERFLOW, SEX, USERREGISTERSTATE, OPERATIONREHAVIOR, STATE, BANXUELEIXING, UNITMEMBERTYPE } from "../../config/enum"; import { MEMBERSTATE, MEMBERLEVEL, DOCUMENTTYPE, NATION, PROFCATEGORY, CODETYPE, MEMBERTYPE, REGISTERFLOW, SEX, USERREGISTERSTATE, OPERATIONREHAVIOR, STATE, BANXUELEIXING, UNITMEMBERTYPE, ADMINLV } 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, findToSort } from "../../data/select"; import { find, findCount, findOnce, findOnceToSort, findToPage, findToSort } from "../../data/select";
...@@ -225,12 +225,21 @@ export async function individualMemberDetails({id}) { ...@@ -225,12 +225,21 @@ export async function individualMemberDetails({id}) {
export async function systemBase({userId}) { export async function systemBase({userId}) {
let userInfo = await findOnce(TABLEENUM.用户表, {userId}); let userInfo = await findOnce(TABLEENUM.用户表, {userId});
if (!userInfo || !userInfo.userId) throw new BizError(ERRORENUM.目标数据不存在); if (!userInfo || !userInfo.userId) throw new BizError(ERRORENUM.目标数据不存在);
let superAdmin = userInfo.loginId == "admin";
let adminLv = [];
userInfo.adminLv.forEach(item => {
adminLv.push({
key:changeEnumValue(ADMINLV, item),
value:item
});
});
let dataInfo = { let dataInfo = {
isAdmin:userInfo.isAdmin == STATE., isAdmin:userInfo.isAdmin == STATE.,
name:userInfo.name, name:userInfo.name,
userId:userInfo.userId, userId:userInfo.userId,
token:userInfo.token, token:userInfo.token,
adminLv:userInfo.adminLv adminLv,
superAdmin
} }
return {dataInfo} return {dataInfo}
......
...@@ -33,7 +33,7 @@ export async function createOrder(id:string, unitName:string, orderStartMs:numbe ...@@ -33,7 +33,7 @@ export async function createOrder(id:string, unitName:string, orderStartMs:numbe
/**计算会费 */ /**计算会费 */
let money = 0; let money = 0;
if (memberType == MEMBERTYPE.个人会员) { if (memberType == MEMBERTYPE.个人会员) {
if (subType == INDIVIDUALMEMBERTYPE.个人会员) { if (subType != INDIVIDUALMEMBERTYPE.个人会员专家) {
switch (memberLv) { switch (memberLv) {
case MEMBERLEVEL.普通会员: money = 100; break; case MEMBERLEVEL.普通会员: money = 100; break;
case MEMBERLEVEL.理事: money = 200; break; case MEMBERLEVEL.理事: money = 200; break;
...@@ -58,7 +58,7 @@ export async function createOrder(id:string, unitName:string, orderStartMs:numbe ...@@ -58,7 +58,7 @@ export async function createOrder(id:string, unitName:string, orderStartMs:numbe
paymentMethod:0, paymentMethod:0,
userId:id, userId:id,
memberCategory:memberType, memberCategory:memberType,
paymentNum:0, paymentNum:"",
invoiceAdd:'', invoiceAdd:'',
state:ORDERSTATE.未支付, state:ORDERSTATE.未支付,
isFirst, isFirst,
...@@ -86,7 +86,7 @@ export async function firstOrderList({unitName, joinTime, memberType, orderState ...@@ -86,7 +86,7 @@ export async function firstOrderList({unitName, joinTime, memberType, orderState
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 = ["unitName", "loginId", "phone"]; let itemFile = ["id", "unitName", "loginId", "phone"];
dbList.forEach(info => { dbList.forEach(info => {
let itemData:any = extractData(info, itemFile); let itemData:any = extractData(info, itemFile);
itemData.joinTime = moment(info.orderCycleStart).format("YYYY-MM-DD"); itemData.joinTime = moment(info.orderCycleStart).format("YYYY-MM-DD");
......
...@@ -28,6 +28,7 @@ export async function memberRegister1({form}) { ...@@ -28,6 +28,7 @@ export async function memberRegister1({form}) {
/**校验去重 */ /**校验去重 */
let oldData = await findOnce(TABLEENUM.用户表, {"$or":[{loginId:loginId}, {phone:phone}, {mail:mail}] }); let oldData = await findOnce(TABLEENUM.用户表, {"$or":[{loginId:loginId}, {phone:phone}, {mail:mail}] });
if (oldData && oldData.userId) { if (oldData && oldData.userId) {
if (oldData.registerFlow == REGISTERFLOW.完成第一步) return {userId:oldData.userId}
if (oldData.loginId == loginId) throw new BizError(ERRORENUM.用户名重复, loginId ); if (oldData.loginId == loginId) throw new BizError(ERRORENUM.用户名重复, loginId );
if (oldData.phone == phone) throw new BizError(ERRORENUM.联系人手机号重复, phone ); if (oldData.phone == phone) throw new BizError(ERRORENUM.联系人手机号重复, phone );
if (oldData.mail == mail) throw new BizError(ERRORENUM.邮箱重复, loginId ); if (oldData.mail == mail) throw new BizError(ERRORENUM.邮箱重复, loginId );
......
...@@ -53,7 +53,7 @@ ...@@ -53,7 +53,7 @@
}, },
*/ */
import { INVOICESTATUS, MEMBERSTATE, RECEIPTCONFIRMATION, REGISTERFLOW, STATE, USERREGISTERSTATE, WEICHARTPAYSTATE } from "../../config/enum"; import { INVOICESTATUS, MEMBERLEVEL, MEMBERSTATE, RECEIPTCONFIRMATION, REGISTERFLOW, STATE, USERREGISTERSTATE, WEICHARTPAYSTATE } from "../../config/enum";
...@@ -353,7 +353,7 @@ const ModelArray = [ ...@@ -353,7 +353,7 @@ const ModelArray = [
memberState:{type:'Number', default:MEMBERSTATE.正常},//会员状态 枚举 MEMBERSTATE memberState:{type:'Number', default:MEMBERSTATE.正常},//会员状态 枚举 MEMBERSTATE
certificateType:'Number',//证书类型 枚举CERTIFICATETYPE certificateType:'Number',//证书类型 枚举CERTIFICATETYPE
individualMemberType:{type: 'Number'},//个人会员类型 枚举INDIVIDUALMEMBERTYPE individualMemberType:{type: 'Number'},//个人会员类型 枚举INDIVIDUALMEMBERTYPE
memberLevel:'Number',//会员等级、职务 枚举MEMBERLEVEL【会员管理用】 memberLevel:{type:'Number', default:MEMBERLEVEL.普通会员},//会员等级、职务 枚举 MEMBERLEVEL 【会员管理用】
/**宽限期状态 */ /**宽限期状态 */
isGracePeriod:{type:'Number', default:0},//是否宽限期 0:否, 1:是 isGracePeriod:{type:'Number', default:0},//是否宽限期 0:否, 1:是
gracePeriodEndTime:'Number',//宽限期到期时间 时间戳 gracePeriodEndTime:'Number',//宽限期到期时间 时间戳
......
...@@ -37,31 +37,31 @@ export const Config = { ...@@ -37,31 +37,31 @@ export const Config = {
{ {
key:"form", type:"Object", sub: key:"form", type:"Object", sub:
{ {
name:{type:'String', desc:'真实姓名', notMustHave:false}, name:{type:'String', desc:'真实姓名'},
sex:{type:'Number', desc:'性别', notMustHave:false}, sex:{type:'Number', desc:'性别'},
documentType:{type:'Number', desc:'证件类型', notMustHave:false}, documentType:{type:'Number', desc:'证件类型'},
documentId:{type:'String', desc:'证件号码', notMustHave:false}, documentId:{type:'String', desc:'证件号码'},
birth:{type:'Number', desc:'出生年月', notMustHave:false}, birth:{type:'Number', desc:'出生年月'},
nation:{type:'Number', desc:'民族', notMustHave:false}, nation:{type:'Number', desc:'民族'},
sheng:{type:'String', desc:'省', notMustHave:false}, sheng:{type:'String', desc:'省'},
shi:{type:'String', desc:'市', notMustHave:false}, shi:{type:'String', desc:'市'},
qu:{type:'String', desc:'区', notMustHave:false}, qu:{type:'String', desc:'区'},
addres:{type:'String', desc:'通信地址', notMustHave:false}, addres:{type:'String', desc:'通信地址'},
education:{type:'Number', desc:'学历', notMustHave:false}, education:{type:'Number', desc:'学历'},
photoUrl:{type:'String', desc:'蓝底证件照', notMustHave:false}, photoUrl:{type:'String', desc:'蓝底证件照'},
workUnit:{type:'String', desc:'工作单位', notMustHave:false}, workUnit:{type:'String', desc:'工作单位'},
duties:{type:'String', desc:'职务', notMustHave:false}, duties:{type:'String', desc:'职务'},
workTitle:{type:'String', desc:'职称', notMustHave:false}, workTitle:{type:'String', desc:'职称'},
profCategory:{type:'Number', desc:'专业类别', notMustHave:false}, profCategory:{type:'Number', desc:'专业类别'},
studyResume:{type:'String', desc:'学习简历', notMustHave:false}, studyResume:{type:'String', desc:'学习简历'},
workResume:{type:'String', desc:'工作简历', notMustHave:false}, workResume:{type:'String', desc:'工作简历'},
profAchievement:{type:'String', desc:'专业成果', notMustHave:false}, profAchievement:{type:'String', desc:'专业成果'},
otherEMP:{type:'String', desc:'在其他社会组织任职情况', notMustHave:false}, otherEMP:{type:'String', desc:'在其他社会组织任职情况'},
otherPROF:{type:'String', desc:'其他与本学会专业有关的情况', notMustHave:false}, otherPROF:{type:'String', desc:'其他与本学会专业有关的情况'},
cardUrl:{type:'[String]', desc:'个人身份证扫描件', notMustHave:false}, cardUrl:{type:'[String]', desc:'个人身份证扫描件'},
academicCERTUrl:{type:'String', desc:'个人学历证明扫描件', notMustHave:false}, academicCERTUrl:{type:'String', desc:'个人学历证明扫描件'},
professionalCERTUrl:{type:'String', desc:'个人工作证明扫描件', notMustHave:false}, professionalCERTUrl:{type:'String', desc:'个人工作证明扫描件'},
auxiliaryMaterial:{type:'[String]', desc:'论文发表等证明工作成果或成绩的材料', notMustHave:false}, auxiliaryMaterial:{type:'[String]', desc:'论文发表等证明工作成果或成绩的材料'},
} }
}, },
{ {
......
...@@ -48,7 +48,7 @@ export const Config = { ...@@ -48,7 +48,7 @@ export const Config = {
bindBiz:orderBiz.paidList bindBiz:orderBiz.paidList
}, },
{ {
apiName:"待开发票和已开发票", apiName:"待开发票",
subUrl:'/order/invoice/list', subUrl:'/order/invoice/list',
param:[ param:[
{key:"unitName", type:"String", desc:"单位名称", isNull:true}, {key:"unitName", type:"String", desc:"单位名称", isNull:true},
...@@ -76,7 +76,7 @@ export const Config = { ...@@ -76,7 +76,7 @@ export const Config = {
bindBiz:orderBiz.confirmReceiptOut bindBiz:orderBiz.confirmReceiptOut
}, },
{ {
apiName:"上传发票", apiName:"待开发票-上传发票 已开发票-修改发票",
subUrl:'/order/invoice/examine/upinvoice', subUrl:'/order/invoice/examine/upinvoice',
param:[ param:[
{key:"id", type:"String", desc:"订单id"}, {key:"id", type:"String", desc:"订单id"},
...@@ -85,7 +85,7 @@ export const Config = { ...@@ -85,7 +85,7 @@ export const Config = {
bindBiz:orderBiz.upInvoice bindBiz:orderBiz.upInvoice
}, },
{ {
apiName:"退回发票", apiName:"待开发票-退回发票",
subUrl:'/order/invoice/examine/backinvoice', subUrl:'/order/invoice/examine/backinvoice',
param:[ param:[
{key:"id", type:"String", desc:"订单id"} {key:"id", type:"String", desc:"订单id"}
......
...@@ -18,7 +18,7 @@ import * as asyncHandler from 'express-async-handler'; ...@@ -18,7 +18,7 @@ import * as asyncHandler from 'express-async-handler';
import { payCallback } from "../biz/member/cost"; import { payCallback } from "../biz/member/cost";
import { checkUser, notCheck } from "../middleware/user"; import { checkUser, notCheck } from "../middleware/user";
const Look = true;//true更新文档 const Look = false;//true更新文档
export async function setRouter(httpServer){ export async function setRouter(httpServer){
if (Look) { if (Look) {
......
...@@ -40,44 +40,12 @@ export function changeEnumValue(enumConf, value:any) { ...@@ -40,44 +40,12 @@ export function changeEnumValue(enumConf, value:any) {
if ( typeof value == 'number' ) { if ( typeof value == 'number' ) {
let str = enumConf[value]; let str = enumConf[value];
/** 特化处理 中文引号在枚举中不适用*/ /** 特化处理 中文引号在枚举中不适用*/
if (str == "_投资__孵化_类型") {
str = str.replace("__","+");
str = str.replace("_","“");
str = str.replace("_","”");
}
if (str == "经营成本过高_场地成本或人员成本_" || str == "办公空间拓展_无合适办公空间_") {
str = str.replace("_","(");
str = str.replace("_",")");
}
if (str == "迁出孵化器_仍在张江" || str == "迁出张江_仍在浦东" || str == "迁出浦东_仍在上海") {
str = str.replace("_",",");
}
if (str == "科技金融_风险投资_" || str == "科技金融_其他_" || str == "技术专家_法律专家_") {
str = str.replace("_","(");
str = str.replace("_",")");
}
return str return str
} }
let str = ""; let str = "";
value.forEach((item, index) => { value.forEach((item, index) => {
let subStr = enumConf[item]; let subStr = enumConf[item];
/** 特化处理 中文引号在枚举中不适用*/ /** 特化处理 中文引号在枚举中不适用*/
if (subStr == "_投资__孵化_类型") {
subStr = subStr.replace("__","+");
subStr = subStr.replace("_","“");
subStr = subStr.replace("_","”");
}
if (subStr == "经营成本过高_场地成本或人员成本_" || subStr == "办公空间拓展_无合适办公空间_") {
subStr = subStr.replace("_","(");
subStr = subStr.replace("_",")");
}
if (subStr == "迁出孵化器_仍在张江" || subStr == "迁出张江_仍在浦东" || subStr == "迁出浦东_仍在上海") {
subStr = subStr.replace("_",",");
}
if (subStr == "科技金融_风险投资_" || subStr == "科技金融_其他_" || subStr == "技术专家_法律专家_") {
subStr = subStr.replace("_","(");
subStr = subStr.replace("_",")");
}
str += subStr; str += subStr;
if (index == value.length-1) str+=""; if (index == value.length-1) str+="";
else str += "," else str += ","
......
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