Commit ed379596 by chenjinjing

会员管理

parent c24b76f7
/**
* 会员管理
*/
import { INDIVIDUALMEMBERTYPE, MEMBERLEVEL, MEMBERSTATE, MEMBERTYPE, UNITMEMBERTYPE } from "../../config/enum";
import { ERRORENUM } from "../../config/errorEnum";
import { TABLEENUM } from "../../data/models/model";
import { findCount, findOnce, findToPage } from "../../data/select";
import { updateOneData } from "../../data/update";
import { successResult } from "../../tools/system";
import { BizError } from "../../util/bizError";
import { extractData } from "../../util/piecemeal";
import { changeEnumValue } from "../../util/verificationEnum";
/**
* 会员权限列表
* @param unitName 单位名称
* @param memberLevel 会员等级、职务 MEMBERLEVEL
* @param memberCategory 会员类别、会员级别 UNITMEMBERTYPE、INDIVIDUALMEMBERTYPE
* @param pageNumber 当前页
*/
export async function getAuthority({unitName, memberLevel, memberCategory, pageNumber}) {
let selectParam:any = {};
if (unitName) selectParam.unitName = unitName;
if (memberLevel) selectParam.memberLevel = memberLevel;
if (memberCategory || memberCategory>=9) selectParam.unitMemberType = memberCategory;
if (memberCategory || memberCategory<9) selectParam.individualMemberType = memberCategory;
let selectConf = ["userId", "memberState", "unitName", "memberLevel"];
let dbList = await findToPage(TABLEENUM.用户表, selectParam, [], pageNumber, 10);
let dataCount = await findCount(TABLEENUM.用户表, selectParam);
let dataList = [];
dbList.forEach(info => {
if (info.memberType == MEMBERTYPE.个人会员) {
selectConf.push("individualMemberType");
} else {
selectConf.push("unitMemberType");
}
let item:any = extractData(info, selectConf);
item.memberState = changeEnumValue(MEMBERSTATE, item.memberState);
item.memberLevel = changeEnumValue(MEMBERLEVEL, item.memberLevel);
if(item.individualMemberType) item.individualMemberType = changeEnumValue(INDIVIDUALMEMBERTYPE, item.individualMemberType);
if(item.unitMemberType) item.unitMemberType = changeEnumValue(UNITMEMBERTYPE, item.unitMemberType);
dataList.push(item);
});
return {dataList, dataCount};
}
/**
* 变更权限
* @param param0
*/
export async function updateAuthority({form, userId}) {
let oldInfo = await findOnce(TABLEENUM.用户表, {userId});
if (!oldInfo || !oldInfo.userId) throw new BizError(ERRORENUM.目标数据不存在);
await updateOneData(TABLEENUM.用户表, {userId}, form);
return successResult();
}
/**
* 冻结
* @param param0
*/
export async function freeze({userId}) {
let oldInfo = await findOnce(TABLEENUM.用户表, {userId});
if (!oldInfo || !oldInfo.userId) throw new BizError(ERRORENUM.目标数据不存在);
await updateOneData(TABLEENUM.用户表, {userId}, {memberState:MEMBERSTATE.冻结});
return successResult();
}
......@@ -11,13 +11,17 @@ import { updateOneData } from "../../data/update";
import { generateSystemId, successResult } from "../../tools/system";
import { BizError } from "../../util/bizError";
import { extractData } from "../../util/piecemeal";
import { changeEnumValue } from "../../util/verificationEnum";
import { changeEnumValue, eccEnumValue } from "../../util/verificationEnum";
/**
* 待审核列表
* @param param0
*/
export async function pendingReviewList({unitName, joinTime, memberType, sheng, shi, qu, pageNumber}) {
/**校验枚举 */
const EccFuncName = '待审核列表';
eccEnumValue(EccFuncName, '会员类型', MEMBERTYPE, memberType);
let selectParam:any = {};
if (unitName) selectParam.unitName = unitName;
if (joinTime) selectParam.joinTime = joinTime;
......@@ -35,8 +39,8 @@ export async function pendingReviewList({unitName, joinTime, memberType, sheng,
dbList.forEach(info => {
let item:any = extractData(info, selectConf);
if (!item.userRegisterState) item.userRegisterState = "待审核";
else changeEnumValue(USERREGISTERSTATE, item.userRegisterState);
changeEnumValue(MEMBERLEVEL, item.memberLevel);
else item.userRegisterState = changeEnumValue(USERREGISTERSTATE, item.userRegisterState);
item.memberLevel = changeEnumValue(MEMBERLEVEL, item.memberLevel);
dataList.push(item);
});
......@@ -111,7 +115,7 @@ export async function approvalHistoryList({userId}) {
if (!oldInfo || !oldInfo.userId) throw new BizError(ERRORENUM.目标数据不存在);
let dataList:any = extractData(oldInfo, ["operationTime", "operationBehavior", "remarks"]);
changeEnumValue(OPERATIONREHAVIOR, dataList.operationBehavior);
dataList.operationBehavior = changeEnumValue(OPERATIONREHAVIOR, dataList.operationBehavior);
return dataList;
}
......@@ -121,6 +125,10 @@ export async function approvalHistoryList({userId}) {
* 待支付列表
*/
export async function toBePaidList({unitName, joinTime, memberType, paymentStatus, pageNumber}) {
/**校验枚举 */
const EccFuncName = '待审核列表';
eccEnumValue(EccFuncName, '会员类型', MEMBERTYPE, memberType);
let selectParam:any = {};
if (unitName) selectParam.unitName = unitName;
if (joinTime) selectParam.joinTime = joinTime;
......@@ -134,8 +142,8 @@ export async function toBePaidList({unitName, joinTime, memberType, paymentStatu
let dataList = [];
dbList.forEach(info => {
let item:any = extractData(info, selectConf);
changeEnumValue(MEMBERTYPE, item.memberType);
changeEnumValue(PAYMENTSTATUS, item.paymentStatus);
item.memberType = changeEnumValue(MEMBERTYPE, item.memberType);
item.paymentStatus = changeEnumValue(PAYMENTSTATUS, item.paymentStatus);
dataList.push(item);
});
......@@ -158,20 +166,6 @@ export async function passThroughPaid({userId}) {
}
/**
* 获取届次
* @param year 入会年份
......@@ -200,32 +194,3 @@ export async function getEdition(year, month) {
......@@ -19,14 +19,22 @@ import { deleteManyData, deleteOneData } from "../../data/delete";
/**
* 单位会员列表
* @param param0
* @param unitName 单位名称
* @param joinTime 入会时间
* @param unitMemberType 单位会员所属类型 UNITMEMBERTYPE
* @param memberLevel 会员等级 职务 MEMBERLEVEL
* @param session 届次
* @param sheng 省
* @param shi 市
* @param qu 区
* @param pageNumber 当前页
*/
export async function unitMemberList({unitName, joinTime, unitMemberType, workDuties, session, sheng, shi, qu, pageNumber}) {
export async function unitMemberList({unitName, joinTime, unitMemberType, memberLevel, session, sheng, shi, qu, pageNumber}) {
let selectParam:any = {};
if (unitName) selectParam.unitName = unitName;
if (joinTime) selectParam.joinTime = joinTime;
if (unitMemberType) selectParam.unitMemberType = unitMemberType;
if (workDuties) selectParam.workDuties = workDuties;
if (memberLevel) selectParam.memberLevel = memberLevel;
if (session) selectParam.session = session;
if (sheng) selectParam.sheng = sheng;
if (shi) selectParam.shi = shi;
......@@ -41,9 +49,9 @@ export async function unitMemberList({unitName, joinTime, unitMemberType, workDu
let dataList = [];
dbList.forEach(info => {
let item:any = extractData(info, selectConf);
changeEnumValue(MEMBERSTATE, item.memberState);
item.memberState = changeEnumValue(MEMBERSTATE, item.memberState);
if (!item.memberLevel) item.memberLevel = "未选择";
else changeEnumValue(MEMBERLEVEL, item.memberLevel);
else item.memberLevel = changeEnumValue(MEMBERLEVEL, item.memberLevel);
dataList.push(item);
});
......@@ -67,7 +75,7 @@ export async function unitMemberDetails({userId}) {
let oldInfo = await findOnce(TABLEENUM.用户表, {userId});
if (!oldInfo || !oldInfo.userId) throw new BizError(ERRORENUM.目标数据不存在);
let topInfo:any = extractData(oldInfo, ["session", "memberLevel"]);
changeEnumValue(MEMBERLEVEL, topInfo.memberLevel);
topInfo.memberLevel = changeEnumValue(MEMBERLEVEL, topInfo.memberLevel);
let basicInfo = extractData(oldInfo, UnitBasicConfig);
let unitInfo = extractData(oldInfo, UnitConfig);
......@@ -88,8 +96,8 @@ export async function unitMemberUpdate({form, keyanForm, userId}) {
let oldInfo = await findOnce(TABLEENUM.用户表, {userId});
/**校验枚举 */
changeEnumValue(UNITINFOTYPE, form.unitInfoType);
changeEnumValue(UNITINFOTYPE, form.unitInfoType);
const EccFuncName = '单位会员修改';
eccEnumValue(EccFuncName, '单位信息类型', UNITINFOTYPE, form.unitInfoType);
if (!oldInfo || !oldInfo.userId) throw new BizError(ERRORENUM.目标数据不存在);
......@@ -162,13 +170,13 @@ export async function memberRegisterSendCode({loginId, phone, codeType}) {
* 个人会员列表
* @param param0
*/
export async function individualMemberList({name, documentId, phone, memberLevel, workDuties, session, joinTime, auditTime, memberState, pageNumber}) {
export async function individualMemberList({name, documentId, phone, individualMemberType, memberLevel, session, joinTime, auditTime, memberState, pageNumber}) {
let selectParam:any = {};
if (name) selectParam.name = name;
if (documentId) selectParam.documentId = documentId;
if (phone) selectParam.phone = phone;
if (individualMemberType) selectParam.individualMemberType = individualMemberType;
if (memberLevel) selectParam.memberLevel = memberLevel;
if (workDuties) selectParam.workDuties = workDuties;
if (session) selectParam.session = session;
if (joinTime) selectParam.joinTime = joinTime;
if (auditTime) selectParam.auditTime = auditTime;
......@@ -183,9 +191,9 @@ export async function individualMemberList({name, documentId, phone, memberLevel
let dataList = [];
dbList.forEach(info => {
let item:any = extractData(info, selectConf);
changeEnumValue(MEMBERSTATE, item.memberState);
item.memberState = changeEnumValue(MEMBERSTATE, item.memberState);
if (!item.memberLevel) item.memberLevel = "未选择";
else changeEnumValue(MEMBERLEVEL, item.memberLevel);
else item.memberLevel = changeEnumValue(MEMBERLEVEL, item.memberLevel);
dataList.push(item);
});
......@@ -200,21 +208,21 @@ export async function individualMemberList({name, documentId, phone, memberLevel
*/
const IndividualBasicConfig = ["name", "sex", "nation", "birth", "documentType", "documentId", "sheng", "shi", "qu", "addres", "photoUrl"];
const SpecialityConfig = ["unitName", "workDuties", "workTitle", "profCategory", "studyResume", "workResume", "profAchievement", "otherEMP", "otherPROF"];
const SpecialityConfig = ["unitName", "memberLevel", "workTitle", "profCategory", "studyResume", "workResume", "profAchievement", "otherEMP", "otherPROF"];
export async function individualMemberDetails({userId}) {
let oldInfo = await findOnce(TABLEENUM.用户表, {userId});
if (!oldInfo || !oldInfo.userId) throw new BizError(ERRORENUM.目标数据不存在);
let topInfo:any = extractData(oldInfo, ["session", "memberLevel"]);
changeEnumValue(MEMBERLEVEL, topInfo.memberLevel);
topInfo.memberLevel = changeEnumValue(MEMBERLEVEL, topInfo.memberLevel);
let basicInfo:any = extractData(oldInfo, IndividualBasicConfig);
changeEnumValue(DOCUMENTTYPE, basicInfo.documentType);
changeEnumValue(NATION, basicInfo.nation);
basicInfo.documentType = changeEnumValue(DOCUMENTTYPE, basicInfo.documentType);
basicInfo.nation = changeEnumValue(NATION, basicInfo.nation);
let specialityInfo:any = extractData(oldInfo, SpecialityConfig);
changeEnumValue(PROFCATEGORY, basicInfo.profCategory);
basicInfo.profCategory = changeEnumValue(PROFCATEGORY, basicInfo.profCategory);
let otherAttachment:any = extractData(oldInfo, ["cardUrl", "academicCERTUrl", "professionalCERTUrl", "auxiliaryMaterial"]);
......@@ -295,6 +303,7 @@ export async function memberRegister2({form, userId}) {
eccEnumValue(EccFuncName, '证件类型', DOCUMENTTYPE, form.documentType);
eccEnumValue(EccFuncName, '民族', NATION, form.nation);
eccEnumValue(EccFuncName, '专业类别', PROFCATEGORY, form.profCategory);
eccEnumValue(EccFuncName, '会员等级职务', MEMBERLEVEL, form.memberLevel);
form.registerFlow = REGISTERFLOW.个人会员注册2; //todo 审核成功后修改
await updateOneData(TABLEENUM.用户表, {userId}, form);
......
/**
* 会费管理逻辑
*/
import { MEMBERSTATE, MEMBERTYPE, PAYMENTSTATUS } from "../../config/enum";
import { TABLEENUM } from "../../data/models/model";
import { findCount, findToPage } from "../../data/select";
import { extractData } from "../../util/piecemeal";
import { changeEnumValue } from "../../util/verificationEnum";
/**
* 已缴费列表
*/
export async function getPaid({unitName, joinTime, memberType, pageNumber}) {
let now = new Date().valueOf();
let selectParam:any = {"$and":[
{lifespanStartTime:{"$lt":now}},
{lifespanEndTime:{"$gt":now}}
]};
if (unitName) selectParam.unitName = unitName;
if (joinTime) selectParam.joinTime = joinTime;
if (memberType) selectParam.memberType = memberType;
let selectConf = ["userId", "memberState", "unitName", "loginId", "phone", "joinTime", "memberType"];
let dbList = await findToPage(TABLEENUM.用户表, selectParam, [], pageNumber, 10);
let dataCount = await findCount(TABLEENUM.用户表, selectParam);
let dataList = [];
dbList.forEach(info => {
let item:any = extractData(info, selectConf);
item.lifespanTime = item.lifespanStartTime + "至" + item.lifespanEndTime;
item.nextLifespanTime = "";
if (item.lifespanEndTime - now > 90) item.nextLifespanTime = "大于90天";
item.memberState = changeEnumValue(MEMBERSTATE, item.memberState);
item.memberType = changeEnumValue(MEMBERTYPE, item.memberType);
dataList.push(item);
});
return {dataList, dataCount};
}
/**
* 续费期
*/
export async function getRenewalPeriod() {
}
/**
* 欠费
*/
export async function getArrearsFees() {
}
/**
* 宽限期
*/
export async function getGracePeriod() {
}
\ No newline at end of file
......@@ -2,7 +2,7 @@
* 用户逻辑
*/
import { DOCUMENTTYPE, MEMBERTYPE, NATION, PROFCATEGORY, SEX, UNITINFOTYPE } from "../../config/enum";
import { DOCUMENTTYPE, MEMBERLEVEL, MEMBERTYPE, NATION, PROFCATEGORY, SEX, UNITINFOTYPE } from "../../config/enum";
import { ERRORCODEENUM, ERRORENUM } from "../../config/errorEnum";
import { addOneData } from "../../data/add";
import { TABLEENUM } from "../../data/models/model";
......@@ -24,6 +24,7 @@ export async function signInOfEntity({form}) {
eccEnumValue(EccFuncName, '证件类型', DOCUMENTTYPE, form.documentType);
eccEnumValue(EccFuncName, '民族', NATION, form.nation);
eccEnumValue(EccFuncName, '专业类别', PROFCATEGORY, form.profCategory);
eccEnumValue(EccFuncName, '会员等级职务', MEMBERLEVEL, form.memberLevel);
let oldData = await findOnce(TABLEENUM.用户表, {"$or":[{loginId:form.loginId}, {phone:form.phone}, {mail:form.mail}] });
if (oldData && oldData.userId) {
......
......@@ -36,7 +36,7 @@ export async function list({userId, type}) {
dbList.forEach(info => {
let item:any = extractData(info, ["id", "title", "rank", "position", "articleTitle" ]);
if (!item.position) item.position = "未选择";
else changeEnumValue(ARTICLEPOSITION, item.position);
else item.position = changeEnumValue(ARTICLEPOSITION, item.position);
dataList.push(item);
});
......
......@@ -35,7 +35,7 @@ export async function list({userId}) {
dbList.forEach(info => {
let item:any = extractData(info, ["id", "title", "articleUrl", "position", "articleTitle", "imgUrl"]);
if (!item.position) item.position = "未选择";
else changeEnumValue(ARTICLEPOSITION, item.position);
else item.position = changeEnumValue(ARTICLEPOSITION, item.position);
dataList.push(item);
});
......
......@@ -335,7 +335,7 @@ export enum INDIVIDUALMEMBERTYPE {
/**
* 会员等级
* 会员等级 会员职务
*/
export enum MEMBERLEVEL {
普通会员 = 1,
......
......@@ -86,6 +86,7 @@ enum TABLEENUM {
单位所获得科研成果表 = "scientificResearch",
验证码表 = "code",
审批历史表 = "approvalHistory",
权限表 = "authority",
}
const ModelArray = [
......@@ -353,7 +354,6 @@ const ModelArray = [
addres:'String',//通信地址
photoUrl:'String',//证件照图片地址 蓝底证件照
workUnit:'String',//工作单位
workDuties:'String',//职务
workTitle:'String',//职称
userRegisterState:{type:'Number', default:USERREGISTERSTATE.待审核, index:true},//用户注册状态 枚举
registerFlow:'Number',//会员注册流程 枚举
......@@ -362,7 +362,7 @@ const ModelArray = [
askForTime:'Number',//申请时间
joinTime:'Number',//入会时间
session:'String',//届次
memberLevel:'Number',//会员等级 枚举
memberLevel:'Number',//会员等级、职务 枚举
lifespanStartTime:'Number',//会员有效期开始时间 时间戳
lifespanEndTime:'Number',//会员有效期结束时间 时间戳
isGracePeriod:{type:'Number', default:0},//是否宽限期 0:否, 1:是
......@@ -470,7 +470,7 @@ const ModelArray = [
operationBehavior:{ type:'Number', index:true },//操作行为 枚举
remarks:{ type:'String', index:true },//备注
}
}
},
];
......
import * as userBiz from "../../biz/member/user";
import * as memberBiz from "../../biz/member/member";
import * as examineBiz from "../../biz/member/examine";
import * as memberFeesBiz from "../../biz/member/memberFees";
import * as authorityBiz from "../../biz/member/authority";
export const FirstName = '会员管理路由';
export const FirstRouter = '/manage/member';
......@@ -29,7 +31,7 @@ export const Config = {
addres:{type:'String', desc:"通信地址"},
photoUrl:{type:'String', desc:"证件照图片地址"},
workUnit:{type:'String', desc:"工作单位"},
workDuties:{type:'String', desc:"职务"},
memberLevel:{type:'String', desc:"职务"},
workTitle:{type:'String', desc:"职称"},
profCategory:{type:'Number', desc:"专业类别"},
studyResume:{type:'String', desc:"学习简历"},
......@@ -115,7 +117,7 @@ export const Config = {
{key:"unitName", type:"String", desc:"单位名称", isNull:true},
{key:"joinTime", type:"Number", desc:"入会时间", isNull:true},
{key:"unitMemberType", type:"Number", desc:"单位会员类型", isNull:true},
{key:"workDuties", type:"String", desc:"职务", isNull:true},
{key:"memberLevel", type:"Number", desc:"会员等级职务", isNull:true},
{key:"session", type:"String", desc:"届次", isNull:true}, //todo
{key:"sheng", type:"String", desc:"省", isNull:true},
{key:"shi", type:"String", desc:"市", isNull:true},
......@@ -131,8 +133,8 @@ export const Config = {
{key:"name", type:"String", desc:"姓名", isNull:true},
{key:"documentId", type:"String", desc:"身份证", isNull:true},
{key:"phone", type:"String", desc:"手机号", isNull:true},
{key:"individualMemberType", type:"Number", desc:"级别、会员类型", isNull:true},
{key:"memberLevel", type:"Number", desc:"会员等级", isNull:true},
{key:"workDuties", type:"String", desc:"职务", isNull:true},
{key:"session", type:"String", desc:"届次", isNull:true},
{key:"joinTime", type:"Number", desc:"入会时间", isNull:true},
{key:"auditTime", type:"Number", desc:"审核时间", isNull:true},
......@@ -241,7 +243,7 @@ export const Config = {
photoUrl:{type:'String', desc:'蓝底证件照'},
/**专业信息 */
workUnit:{type:'String', desc:'工作单位'},
workDuties:{type:'String', desc:'职务'},
memberLevel:{type:'Number', desc:'会员等级职务'},
workTitle:{type:'String', desc:'职称'},
profCategory:{type:'Number', desc:'专业类别'},
studyResume:{type:'String', desc:'学习简历'},
......@@ -279,12 +281,12 @@ export const Config = {
{
key:"form", type:"Object", sub:
{
loginId:{type:'String', desc:'用户名'},
mail:{type:'String', desc:'邮箱'},
pwd:{type:'String', desc:'密码'},
confirmation:{type:'String', desc:'确认密码'},
phone:{type:'String', desc:'联系人手机号'},
codeNum:{type:'String', desc:'验证码'},
loginId:{type:'String', desc:'用户名', notMustHave:false},
mail:{type:'String', desc:'邮箱', notMustHave:false},
pwd:{type:'String', desc:'密码', notMustHave:false},
confirmation:{type:'String', desc:'确认密码', notMustHave:false},
phone:{type:'String', desc:'联系人手机号', notMustHave:false},
codeNum:{type:'String', desc:'验证码', notMustHave:false},
}
},
{key:"codeId", type:"String", desc:"验证码Id"}
......@@ -298,31 +300,31 @@ export const Config = {
{
key:"form", type:"Object", sub:
{
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:'工作单位'},
workDuties:{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:'论文发表等证明工作成果或成绩的材料'},
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},
memberLevel:{type:'Number', 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},
}
},
{
......@@ -338,12 +340,12 @@ export const Config = {
{
key:"form", type:"Object", sub:
{
loginId:{type:'String', desc:'用户名'},
mail:{type:'String', desc:'邮箱'},
pwd:{type:'String', desc:'密码'},
confirmation:{type:'String', desc:'确认密码'},
phone:{type:'String', desc:'联系人手机号'},
codeNum:{type:'String', desc:'验证码'},
loginId:{type:'String', desc:'用户名', notMustHave:false},
mail:{type:'String', desc:'邮箱', notMustHave:false},
pwd:{type:'String', desc:'密码', notMustHave:false},
confirmation:{type:'String', desc:'确认密码', notMustHave:false},
phone:{type:'String', desc:'联系人手机号', notMustHave:false},
codeNum:{type:'String', desc:'验证码', notMustHave:false},
}
},
{key:"codeId", type:"String", desc:"验证码Id"}
......@@ -357,36 +359,36 @@ export const Config = {
{
key:"form", type:"Object", sub:
{
unitName:{type:'String', desc:'单位名称'},
addres:{type:'String', desc:'通信地址'},
uscc:{type:'String', desc:'单位信用代码'},
legalPerson:{type:'String', desc:'法人代表'},
legalPersonPhone:{type:'String', desc:'法人联系电话'},
sheng:{type:'String', desc:'省'},
shi:{type:'String', desc:'市'},
qu:{type:'String', desc:'区'},
contactPerson:{type:'String', desc:'日常联系人'},
contactPersonDuties:{type:'String', desc:'日常联系人职务'},
uusinessLicenseUrl:{type:'String', desc:'营业执照复印件'},
auxiliaryMaterial:{type:'[String]', desc:'法人邮箱'},
contactPersonPhone:{type:'[String]', desc:'日常联系人手机'},
unitName:{type:'String', desc:'单位名称', notMustHave:false},
addres:{type:'String', desc:'通信地址', notMustHave:false},
uscc:{type:'String', desc:'单位信用代码', notMustHave:false},
legalPerson:{type:'String', desc:'法人代表', notMustHave:false},
legalPersonPhone:{type:'String', desc:'法人联系电话', notMustHave:false},
sheng:{type:'String', desc:'省', notMustHave:false},
shi:{type:'String', desc:'市', notMustHave:false},
qu:{type:'String', desc:'区', notMustHave:false},
contactPerson:{type:'String', desc:'日常联系人', notMustHave:false},
contactPersonDuties:{type:'String', desc:'日常联系人职务', notMustHave:false},
uusinessLicenseUrl:{type:'String', desc:'营业执照复印件', notMustHave:false},
auxiliaryMaterial:{type:'[String]', desc:'法人邮箱', notMustHave:false},
contactPersonPhone:{type:'[String]', desc:'日常联系人手机', notMustHave:false},
/**单位信息 */
unitInfoType:{type:'Number', desc:'单位信息类型'},
unitMail:{type:'[String]', desc:'单位电子邮箱'},
yuanXiaoBanXueLeiXing:{type:'String', desc:'院校办学类型'},
yuanXiaoZhuGuanBuMen:{type:'String', desc:'院校主管部门'},
yuanXiaoFuZeRen:{type:'String', desc:'院校主要负责人'},
yuanXiaoFuZeRenZhiWu:{type:'String', desc:'院校主要负责人职务'},
yuanXiaoFuZeRenDianHua:{type:'String', desc:'院校主要负责人电话'},
yuanXiaoBanGongFuZeRen:{type:'String', desc:'院校办公负责人'},
yuanXiaoBanGongFuZeRenDianHua:{type:'String', desc:'院校办公负责人电话'},
yuanXiaoKeYanFuZeRen:{type:'String', desc:'院校科研负责人'},
yuanXiaoKeYanFuZeRenDianHua:{type:'String', desc:'院校科研负责人电话'},
yuanXiaoXueShengZongRenShu:{type:'String', desc:'院校学生总人数'},
yuanXiaoJiaoZhiGongZongRenShu:{type:'String', desc:'院校教职工总人数'},
jiaoXueFuZeRenXinMing:{type:'[String]', desc:'教学负责人姓名'},
jiaoXueFuZeRenDianHua:{type:'[String]', desc:'教学负责人电话'},
ZhuYaoFuZeRenYouXiang:{type:'[String]', desc:'主要负责人邮箱'},
unitInfoType:{type:'Number', desc:'单位信息类型', notMustHave:false},
unitMail:{type:'[String]', desc:'单位电子邮箱', notMustHave:false},
yuanXiaoBanXueLeiXing:{type:'String', desc:'院校办学类型', notMustHave:false},
yuanXiaoZhuGuanBuMen:{type:'String', desc:'院校主管部门', notMustHave:false},
yuanXiaoFuZeRen:{type:'String', desc:'院校主要负责人', notMustHave:false},
yuanXiaoFuZeRenZhiWu:{type:'String', desc:'院校主要负责人职务', notMustHave:false},
yuanXiaoFuZeRenDianHua:{type:'String', desc:'院校主要负责人电话', notMustHave:false},
yuanXiaoBanGongFuZeRen:{type:'String', desc:'院校办公负责人', notMustHave:false},
yuanXiaoBanGongFuZeRenDianHua:{type:'String', desc:'院校办公负责人电话', notMustHave:false},
yuanXiaoKeYanFuZeRen:{type:'String', desc:'院校科研负责人', notMustHave:false},
yuanXiaoKeYanFuZeRenDianHua:{type:'String', desc:'院校科研负责人电话', notMustHave:false},
yuanXiaoXueShengZongRenShu:{type:'String', desc:'院校学生总人数', notMustHave:false},
yuanXiaoJiaoZhiGongZongRenShu:{type:'String', desc:'院校教职工总人数', notMustHave:false},
jiaoXueFuZeRenXinMing:{type:'[String]', desc:'教学负责人姓名', notMustHave:false},
jiaoXueFuZeRenDianHua:{type:'[String]', desc:'教学负责人电话', notMustHave:false},
ZhuYaoFuZeRenYouXiang:{type:'[String]', desc:'主要负责人邮箱', notMustHave:false},
}
},
{
......@@ -481,5 +483,92 @@ export const Config = {
bindBiz:examineBiz.passThroughPaid
},
],
"会费管理":[
{
apiName:"已交费名单列表",
subUrl:'/memberfees/paid',
param:[
{key:"unitName", type:"String", desc:"单位名称", isNull:true},
{key:"joinTime", type:"Number", desc:"入会时间", isNull:true},
{key:"memberType", type:"Number", desc:"会员类别", isNull:true},
{key:"pageNumber", type:"Number", desc:"当前页"}
],
bindBiz:memberFeesBiz.getPaid
},
{
apiName:"续费期名单列表",
subUrl:'/memberfees/paid',
param:[
{key:"unitName", type:"String", desc:"单位名称", isNull:true},
{key:"joinTime", type:"Number", desc:"入会时间", isNull:true},
{key:"memberType", type:"Number", desc:"会员类别", isNull:true},
{key:"pageNumber", type:"Number", desc:"当前页"}
],
bindBiz:memberFeesBiz.getPaid
},
{
apiName:"欠费名单列表",
subUrl:'/memberfees/paid',
param:[
{key:"unitName", type:"String", desc:"单位名称", isNull:true},
{key:"joinTime", type:"Number", desc:"入会时间", isNull:true},
{key:"memberType", type:"Number", desc:"会员类别", isNull:true},
{key:"pageNumber", type:"Number", desc:"当前页"}
],
bindBiz:memberFeesBiz.getPaid
},
{
apiName:"宽限期名单列表",
subUrl:'/memberfees/paid',
param:[
{key:"unitName", type:"String", desc:"单位名称", isNull:true},
{key:"joinTime", type:"Number", desc:"入会时间", isNull:true},
{key:"memberType", type:"Number", desc:"会员类别", isNull:true},
{key:"pageNumber", type:"Number", desc:"当前页"}
],
bindBiz:memberFeesBiz.getPaid
},
],
"会员管理":[
{
apiName:"会员权限列表",
subUrl:'/authority/list',
param:[
{key:"unitName", type:"String", desc:"单位名称", isNull:true},
{key:"memberLevel", type:"Number", desc:"会员等级", isNull:true},
{key:"memberCategory", type:"Number", desc:"单位、个人会员类别", isNull:true},
{key:"pageNumber", type:"Number", desc:"当前页"}
],
bindBiz:authorityBiz.getAuthority
},
{
apiName:"变更权限",
subUrl:'/authority/update',
param:[
{
key:"form", type:"Object", sub:
{
memberLevel:{type:'Number', desc:'职务', notMustHave:false},
memberCategory:{type:'Number', desc:'单位、个人会员类别', notMustHave:false},
}
},
{
key:"userId", type:"String", desc:"用户id"
}
],
bindBiz:authorityBiz.updateAuthority
},
{
apiName:"冻结",
subUrl:'/authority/freeze',
param:[
{
key:"userId", type:"String", desc:"用户id"
}
],
bindBiz:authorityBiz.freeze
}
]
}
......@@ -126,6 +126,24 @@ export const Config = {
param:[],
bindBiz:setEnumInterface(enumConfig.CODETYPE)
},
{
apiName:"单位会员类别",
subUrl:'/unitMemberType',
param:[],
bindBiz:setEnumInterface(enumConfig.UNITMEMBERTYPE)
},
{
apiName:"个人会员类别",
subUrl:'/individualMemberType',
param:[],
bindBiz:setEnumInterface(enumConfig.INDIVIDUALMEMBERTYPE)
},
{
apiName:"会员职务",
subUrl:'/memberLevel',
param:[],
bindBiz:setEnumInterface(enumConfig.MEMBERLEVEL)
},
],
}
......
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