Commit 956bf1a8 by lixinming

no message

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