Commit f1241fe9 by chenjinjing

会员表字段更新

parent fe87e4cc
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -2,18 +2,126 @@
* 会员逻辑
*/
import { MEMBERSTATE, MEMBERLEVEL } from "../../config/enum";
import { ERRORENUM } from "../../config/errorEnum";
import { TABLEENUM } from "../../data/models/model";
import { find, findOnce } from "../../data/select";
import { generateSystemId } from "../../tools/system";
import { BizError } from "../../util/bizError";
import { extractData } from "../../util/piecemeal";
import { changeEnumValue } from "../../util/verificationEnum";
/**
* 单位会员列表
* @param param0
*/
export async function unitMemberList({unitName, joinTime}) {
export async function unitMemberList({unitName, joinTime, unitMemberType, workDuties, session, sheng, shi, qu}) {
let selectParam:any = {};
if (unitName) selectParam.unitName = unitName;
if (joinTime) selectParam.joinTime = joinTime;
if (unitMemberType) selectParam.unitMemberType = unitMemberType;
if (workDuties) selectParam.workDuties = workDuties;
if (session) selectParam.session = session;
if (sheng) selectParam.sheng = sheng;
if (shi) selectParam.shi = shi;
if (qu) selectParam.qu = qu;
let dbList = await find(TABLEENUM.用户表, selectParam);
let dataList = [];
dbList.forEach(info => {
let item:any = extractData(info, ["userId", "memberState", "unitName", "loginId", "phone", "joinTime", "unitMemberLevel", "sheng", "shi", "qu"]);
changeEnumValue(MEMBERSTATE, item.memberState);
if (!item.memberLevel) item.memberLevel = "未选择";
else changeEnumValue(MEMBERLEVEL, item.memberLevel);
dataList.push(item);
});
return {dataList};
}
/**
* 单位会员详情
* @param param0
*/
export async function unitMemberDetails({userId}) {
let oldInfo = await findOnce(TABLEENUM.用户表, {userId});
if (!oldInfo || !oldInfo.userId) throw new BizError(ERRORENUM.目标数据不存在);
let dataInfo = extractData(oldInfo, []);
return {dataInfo};
}
export async function memberList({}) {
/**
* 个人会员列表
* @param param0
*/
export async function individualMemberList({name, documentId, phone, memberLevel, workDuties, session, joinTime, auditTime, memberState}) {
let selectParam:any = {};
if (name) selectParam.name = name;
if (documentId) selectParam.documentId = documentId;
if (phone) selectParam.phone = phone;
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;
if (memberState) selectParam.memberState = memberState;
let dbList = await find(TABLEENUM.用户表, selectParam);
let dataList = [];
dbList.forEach(info => {
let item:any = extractData(info, ["userId", "memberState", "unitName", "name", "sex", "nation", "loginId", "phone", "joinTime", "memberLevel", "sheng", "shi", "qu"]);
changeEnumValue(MEMBERSTATE, item.memberState);
if (!item.memberLevel) item.memberLevel = "未选择";
else changeEnumValue(MEMBERLEVEL, item.memberLevel);
dataList.push(item);
});
return {dataList};
}
......@@ -319,3 +319,38 @@ export enum INDIVIDUALMEMBERTYPE {
个人会员专家,
}
/**
* 会员等级
*/
export enum MEMBERLEVEL {
普通会员 = 1,
专家会员,
理事,
常务理事,
}
/**
* 用户注册状态
*/
export enum USERREGISTERSTATE {
待审核 = 1,
重新提交,
驳回修改,
通过
}
/**
* 证书类型
*/
export enum CERTIFICATETYPE {
普通会员证书 = 1,
专家证书,
理事证书,
常务理事证书
}
......@@ -53,7 +53,7 @@
},
*/
import { MEMBERSTATE } from "../../config/enum";
import { MEMBERSTATE, USERREGISTERSTATE } from "../../config/enum";
......@@ -81,7 +81,8 @@ enum TABLEENUM {
工作动态 = 'gongZuoDongTai',
委员名单 = 'weiYuanMingDan',
用户表 = 'users',
文字资料 = 'wenZiZiLiao'
文字资料 = 'wenZiZiLiao',
订单表 = 'order',
}
const ModelArray = [
......@@ -329,7 +330,7 @@ const ModelArray = [
isAdmin:{ type:'Number', default:0},//是否是管理员
memberType:{type:'Number'},//会员类型 MEMBERTYPE
unitMemberType:{type: 'Number'},//单位会员类型
IndividualMemberType:{type: 'Number'},//个人会员类型
individualMemberType:{type: 'Number'},//个人会员类型
name:{type:'String'},//真实姓名
loginId:{ type:'String', index:true},//用户名
pwd:{ type:'String'},//密码
......@@ -339,7 +340,7 @@ const ModelArray = [
mail:{type:'String', index:true},
sex:'Number',//性别 枚举
documentType:'Number',//证件类型 枚举
documentId:'String',//证件id
documentId:'String',//证件id 身份证
birth:'Number',//出生年月 时间戳
nation:'Number',//民族 枚举
sheng:'String',//省
......@@ -350,21 +351,20 @@ const ModelArray = [
workUnit:'String',//工作单位
workDuties:'String',//职务
workTitle:'String',//职称
profCategory:'Number',//专业类别
studyResume:'String',//学习简历
workResume:'String',//工作简历
profAchievement:'String',//专业成果
otherEMP:'String',//其他任职情况
otherPROF:'String',//其他专业情况
cardUrl:{type:'[String]', default:[]},//身份证正反面图片地址
academicCERTUrl:'String',//学历证明地址
professionalCERTUrl:'String',//工作证明
auxiliaryMaterial:{type:'[String]', default:[]},//其他辅助材料
memberState:{type:'Number', default:MEMBERSTATE.正常, index:true},//会员状态
userRegisterState:{type:'Number', default:USERREGISTERSTATE.待审核, index:true},//用户注册状态 枚举
auditTime:'Number',//审核时间
memberState:{type:'Number', default:MEMBERSTATE.正常, index:true},//会员状态 枚举
joinTime:'Number',//入会时间
session:'String',//届次
memberLevel:'Number',//会员等级 枚举
lifespanStartTime:'Number',//会员有效期开始时间 时间戳
lifespanEndTime:'Number',//会员有效期结束时间 时间戳
isGracePeriod:{type:'Number', default:0},//是否宽限期 0:否, 1:是
gracePeriodEndTime:'Number',//宽限期到期时间 时间戳
certificateType:'Number',//证书类型 枚举
unitName:'String',//单位名称
officialWebsite:'String',//官网
officialWebsite:'String',//官网 单位网址
uscc:'String',//统一信用代码
legalPerson:'String',//法人
legalPersonPhone:'String',//法人代表联系电话
......@@ -372,9 +372,10 @@ const ModelArray = [
unitPhone:'Number',//单位电话
contactPerson:'String',//日常联系人
contactPersonDuties:'String',//日常联系人职务
uusinessLicenseUrl:'String',//营业执照
uusinessLicenseUrl:'String',//营业执照 图片地址
personInChargeDesc:'String',//单位主要负责人或负责人集体描述
/**单位信息 */
/**单位会员信息 */
unitInfoType:'Number',//单位信息类型 枚举
yuanXiaoBanXueLeiXing:'String',//院校办学类型
yuanXiaoZhuGuanBuMen:'String',//院校主管部门
......@@ -393,6 +394,36 @@ const ModelArray = [
yuanXiaoGaoJiZhiCheng:'String',// 院校职称
yuanXiaoKaiSheZhuanYe:'String',//院校开设专业数
/**个人会员信息 */
cardUrl:{type:'[String]', default:[]},//身份证正反面图片地址
academicCERTUrl:'String',//学历证明图片地址
professionalCERTUrl:'String',//工作证明图片地址
auxiliaryMaterial:{type:'[String]', default:[]},//其他辅助材料
profCategory:'Number',//专业类别
studyResume:'String',//学习简历
workResume:'String',//工作简历
profAchievement:'String',//专业成果
otherEMP:'String',//其他任职情况
otherPROF:'String',//其他专业情况
}
},
{
tableName:TABLEENUM.订单表,
source:TABLESOURCEENUM.mongo,
schema:{
id:{ type:'String', index:true },
orderYear:'String',//订单年度
unitName:'String',//单位名称
orderCycle:'String',//订单周期
money:'String',//金额
paymentMethod:'Number',//付款方式 枚举
memberId:'String',//会员id
memberCategory:'Number',//会员类别 枚举
paymentNum:'String',//支付单号
membershipFeesType:'Number',//会费类别 枚举
invoiceAdd:'String',//发票地址
state:'Number',//状态 枚举
}
},
......
......@@ -115,10 +115,32 @@ export const Config = {
apiName:"单位会员列表",
subUrl:'/memberdb/unitmemberlist',//路径全小写
param:[
{key:"lolginId", type:"String", desc:"账号", isNull:true},
{key:"pwd", type:"String", desc:"密码"}
{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:"session", type:"String", desc:"届次", isNull:true}, //todo
{key:"sheng", type:"String", desc:"省", isNull:true},
{key:"shi", type:"String", desc:"市", isNull:true},
{key:"qu", type:"String", desc:"区", isNull:true}
],
bindBiz:memberBiz.unitMemberList
},
{
apiName:"个人会员列表",
subUrl:'/memberdb/individualmemberlist',
param:[
{key:"name", type:"String", desc:"姓名", isNull:true},
{key:"documentId", type:"String", desc:"身份证", isNull:true},
{key:"phone", type:"String", desc:"手机号", isNull:true},
{key:"memberLevel", type:"String", desc:"级别", isNull:true},
{key:"workDuties", type:"String", desc:"职务", isNull:true},
{key:"session", type:"String", desc:"届次", isNull:true},
{key:"joinTime", type:"String", desc:"入会时间", isNull:true},
{key:"auditTime", type:"String", desc:"审核时间", isNull:true},
{key:"memberState", type:"String", desc:"状态", isNull:true},
],
bindBiz:memberBiz.individualMemberList
},
]
}
\ No newline at end of file
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