Commit 212a2401 by lixinming

no message

parent 7a6656ed
......@@ -2,9 +2,9 @@
* 收费
*/
import { ORDERSTATE, PAYMENTTYPE, RECEIPTCONFIRMATION, WEICHARTPAYSTATE } from "../../config/enum";
import { MEMBERSTATE, ORDERSTATE, PAYMENTSTATUS, PAYMENTTYPE, RECEIPTCONFIRMATION, STATE, WEICHARTPAYSTATE } from "../../config/enum";
import { TABLEENUM } from "../../data/models/model";
import { findOnce } from "../../data/select";
import { findCount, findOnce, findOnceToSort } from "../../data/select";
import { eccEnumValue } from "../../util/verificationEnum";
import * as path from "path";
const WxPay = require('wechatpay-node-v3');
......@@ -106,15 +106,38 @@ export async function payCallback(body) {
/**支付成功 */
let oldInfo = await findOnce(TABLEENUM.订单表, {weChartPR:wechartCallbackData.out_trade_no});
if (!oldInfo || !oldInfo.id) throw new BizError(ERRORENUM.目标数据不存在);
let notPayCount = await findCount(TABLEENUM.订单表, {userId:oldInfo.userId, state:ORDERSTATE.未支付} );
let updateInfo:any = {
paymentNum:wechartCallbackData.transaction_id,
state:ORDERSTATE.已支付,
paymentMethod:PAYMENTTYPE.微信支付
paymentMethod:PAYMENTTYPE.微信支付,
payTime:new Date().valueOf(),
};
if (!oldInfo.isFirst) {
updateInfo.confirmReceipt = RECEIPTCONFIRMATION.待确认;
}
if (!oldInfo.isFirst) updateInfo.confirmReceipt = RECEIPTCONFIRMATION.待确认;
await updateOneData(TABLEENUM.订单表, {weChartPR:wechartCallbackData.out_trade_no}, updateInfo);
/**只有一笔欠费时才更新用户状态 */
if (notPayCount <= 1) {
let newOrderInfo = await findOnceToSort(TABLEENUM.订单表, {userId:oldInfo.userId}, {lifespanEndTime:-1}, ["orderCycleStart","orderCycleEnd"]);
let updateUserInfo:any = {
lifespanStartTime:newOrderInfo.orderCycleStart,
lifespanEndTime:newOrderInfo.orderCycleEnd,
isGracePeriod:STATE.,
gracePeriodEndTime:0,
memberState:MEMBERSTATE.正常,
paymentStatus:PAYMENTSTATUS.已支付
};
if (oldInfo.isFirst) {
updateUserInfo.isFirstPay = true;
}
await updateOneData(TABLEENUM.用户表, {userId:oldInfo.userId}, updateUserInfo);
}
return {
code:"SUCCESS",
message:"成功"
......
......@@ -91,7 +91,7 @@ export async function adopt({id, session}) {
let thisDate = new Date();
const NowMs = thisDate.valueOf();
let addInfo:any = {
let updateInfo:any = {
auditTime:NowMs,
joinTime:NowMs,
userRegisterState:USERREGISTERSTATE.通过,
......@@ -104,15 +104,15 @@ export async function adopt({id, session}) {
let unitName = userInfo.unitName;
let subType = userInfo.unitMemberType;
if (userInfo.memberType == MEMBERTYPE.个人会员) {
addInfo.individualMemberType = INDIVIDUALMEMBERTYPE.个人会员;
updateInfo.individualMemberType = INDIVIDUALMEMBERTYPE.个人会员;
subType = userInfo.individualMemberType;
}
//todo 创建一条初始订单
await createOrder(id, userInfo.loginId, userInfo.phone, unitName, NowMs, MEMBERLEVEL.普通会员, userInfo.memberType, subType, true);
await createOrder(id, userInfo.loginId, userInfo.phone, unitName, NowMs + 1000, MEMBERLEVEL.普通会员, userInfo.memberType, subType, true);
await updateOneData(TABLEENUM.用户表, {userId:id}, addInfo);
await updateOneData(TABLEENUM.用户表, {userId:id}, updateInfo);
/**提交审批历史信息 */
let addApprovalHistory = {
......
......@@ -56,6 +56,7 @@ export async function unitMemberList({unitName, joinTime, unitMemberType, member
item.memberState = changeEnumValue(MEMBERSTATE, item.memberState);
if (!item.memberLevel) item.memberLevel = "未选择";
else item.memberLevel = changeEnumValue(MEMBERLEVEL, item.memberLevel);
item.joinTime = moment(item.joinTime).format("YYYY-MM-DD");
dataList.push(item);
});
......@@ -195,6 +196,8 @@ export async function individualMemberList({name, documentId, phone, individualM
if (!item.memberLevel) item.memberLevel = "未选择";
else item.memberLevel = changeEnumValue(MEMBERLEVEL, item.memberLevel);
item.joinTime = moment(item.joinTime).format("YYYY-MM-DD");
item.shi = getCityNameByCode(item.shi);
item.sheng = getCityNameByCode(item.sheng);
item.qu = getCityNameByCode(item.qu);
......
......@@ -3,7 +3,7 @@
*/
import moment = require("moment");
import { MEMBERLEVEL, MEMBERSTATE, MEMBERTYPE, ORDERSTATE, PAYMENTSTATUS, PAYMENTTYPE, STATE } from "../../config/enum";
import { MEMBERLEVEL, MEMBERSTATE, MEMBERTYPE, ORDERSTATE, PAYMENTSTATUS, PAYMENTTYPE, STATE, USERREGISTERSTATE } from "../../config/enum";
import { TABLEENUM } from "../../data/models/model";
import { find, findCount, findOnce, findOnceToSort, findToPage, findToSort } from "../../data/select";
import { extractData } from "../../util/piecemeal";
......@@ -97,7 +97,8 @@ export async function unpaidList({unitName, joinStartTime, joinEndTime, memberTy
{lifespanEndTime:{"$gt":NowMs}}
],
isAdmin:STATE.,
isGracePeriod:STATE.
isGracePeriod:STATE.,
userRegisterState:USERREGISTERSTATE.通过
}
if (unitName) selectParam.unitName = unitName;
......@@ -136,7 +137,6 @@ export async function unpaidList({unitName, joinStartTime, joinEndTime, memberTy
*/
export async function getRenewalPeriod({unitName, joinStartTime, joinEndTime, memberType, pageNumber}) {
const NowMs = new Date().valueOf();
/**到期时间距离今天大于90天 */
let selectParam:any = {
"$or":[
{
......@@ -148,6 +148,7 @@ export async function getRenewalPeriod({unitName, joinStartTime, joinEndTime, me
lifespanEndTime:{"$lt":NowMs},
gracePeriodEndTime:{"$lt":NowMs}
}],
isFirstPay:true,
isAdmin:STATE.,
}
......@@ -209,7 +210,7 @@ export async function offlinePayment({orderId, paymentNum, offlinePaymentUrl })
/**只有一笔欠费时才更新用户状态 */
if (notPayCount <= 1) {
let newOrderInfo = await findOnceToSort(TABLEENUM.订单表, {userId:orderInfo.userId}, {lifespanEndTime:-1}, ["lifespanStartTime","lifespanEndTime"]);
let updateUserInfo = {
let updateUserInfo:any = {
lifespanStartTime:newOrderInfo.lifespanStartTime,
lifespanEndTime:newOrderInfo.lifespanEndTime,
isGracePeriod:STATE.,
......@@ -217,6 +218,9 @@ export async function offlinePayment({orderId, paymentNum, offlinePaymentUrl })
memberState:MEMBERSTATE.正常,
paymentStatus:PAYMENTSTATUS.已支付
};
if (orderInfo.isFirst) {
updateUserInfo.isFirstPay = true;
}
await updateOneData(TABLEENUM.用户表, {userId:orderInfo.userId}, updateUserInfo);
}
......
......@@ -12,6 +12,7 @@ import { extractData } from "../../util/piecemeal";
import { BizError } from "../../util/bizError";
import { ERRORENUM } from "../../config/errorEnum";
import { updateOneData } from "../../data/update";
import { info } from "console";
/**
......@@ -147,7 +148,7 @@ export async function offlinePayment({orderId, paymentNum, offlinePaymentUrl })
/**只有一笔欠费时才更新用户状态 */
if (notPayCount <= 1) {
let newOrderInfo = await findOnceToSort(TABLEENUM.订单表, {userId:orderInfo.userId}, {lifespanEndTime:-1}, ["orderCycleStart","orderCycleEnd"]);
let updateUserInfo = {
let updateUserInfo:any = {
lifespanStartTime:newOrderInfo.orderCycleStart,
lifespanEndTime:newOrderInfo.orderCycleEnd,
isGracePeriod:STATE.,
......@@ -155,6 +156,9 @@ export async function offlinePayment({orderId, paymentNum, offlinePaymentUrl })
memberState:MEMBERSTATE.正常,
paymentStatus:PAYMENTSTATUS.已支付
};
if (orderInfo.isFirst) {
updateUserInfo.isFirstPay = true;
}
await updateOneData(TABLEENUM.用户表, {userId:orderInfo.userId}, updateUserInfo);
}
......@@ -179,16 +183,17 @@ export async function paidList({unitName, paymentType, costType, pageNumber }) {
if (paymentType) findParam.paymentMethod = paymentType;
if (costType) findParam.isFirst = costType == COSTTYPE.首次;
let selectFile = ["id", "unitName", "orderCycleStart", "orderCycleEnd", "money", "paymentMethod", "memberCategory", "isFirst", "paymentNum", "memberState" ];
let selectFile = ["id", "unitName", "userId", "orderCycleStart", "orderCycleEnd", "money", "paymentMethod", "memberCategory", "isFirst", "paymentNum", "memberState" ];
let dbList = await findToPage(TABLEENUM.订单表, findParam, selectFile, pageNumber);
let dataCount = await findCount(TABLEENUM.订单表, findParam);
let dataList = [];
let itemFile = ["id", "unitName", "money", "paymentNum"];
dbList.forEach(info => {
for ( let i = 0; i < dbList.length; i++) {
let info = dbList[i];
let itemData:any = extractData(info, itemFile);
itemData.memberState = changeEnumValue(MEMBERSTATE, info.memberState);
itemData.joinTime = moment(info.orderCycleStart).format("YYYY-MM-DD");
itemData.memberType = changeEnumValue(MEMBERTYPE, info.memberCategory);
itemData.paymentMethod = changeEnumValue(PAYMENTTYPE, info.paymentMethod);
......@@ -199,9 +204,11 @@ export async function paidList({unitName, paymentType, costType, pageNumber }) {
itemData.paymentMethod = "-";
itemData.paymentNum = "-";
}
let userInfo = await findOnce(TABLEENUM.用户表, {userId:info.userId}, ["memberState"]);
if (userInfo) itemData.memberState = changeEnumValue(MEMBERSTATE, userInfo.memberState);
dataList.push(itemData);
});
}
return {dataList, dataCount};
}
......@@ -239,7 +246,7 @@ export async function confirmReceiptOut({id}) {
updateInfo.firstPayExamine = false;
}
await updateOneData(TABLEENUM.订单表, {id}, {confirmReceipt:RECEIPTCONFIRMATION.退回});
await updateOneData(TABLEENUM.订单表, {id}, updateInfo);
return successResult();
}
......@@ -346,14 +353,14 @@ export async function invoicedList({unitName, paymentType, isPay, pageNumber}) {
let dataList = [];
let itemFile = ["id", "unitName", "money", "paymentNum", "state", "userId"];
let itemFile = ["id", "unitName", "money", "paymentNum", "state", "userId", "memberCategory", "paymentMethod"];
for (let i = 0; i < dbList.length; i++) {
let info = dbList[i];
let itemData:any = extractData(info, itemFile);
itemData.joinTime = moment(info.orderCycleStart).format("YYYY-MM-DD");
itemData.memberType = changeEnumValue(MEMBERTYPE, itemData.memberCategory);
itemData.paymentMethod = changeEnumValue(MEMBERTYPE, itemData.paymentMethod);
itemData.paymentMethod = changeEnumValue(PAYMENTTYPE, itemData.paymentMethod);
itemData.cycle = `${moment(info.orderCycleStart).format("YYYY-MM-DD")}${moment(info.orderCycleEnd).format("YYYY-MM-DD")}`;
itemData.isPay = changeEnumValue(ORDERSTATE, itemData.state);
let userInfo = await findOnce(TABLEENUM.用户表, {userId:itemData.userId}, ["memberState"])
......
......@@ -2,7 +2,7 @@
* 权限管理
*/
import { ADMINFIRSTDIR, ADMINLV, ADMINTYPE, MEMBERSTATE, STATE } from "../../config/enum";
import { ADMINFIRSTDIR, ADMINLV, ADMINSTATE, ADMINTYPE, MEMBERSTATE, STATE } from "../../config/enum";
import { ERRORENUM } from "../../config/errorEnum";
import { TABLEENUM } from "../../data/models/model";
import { find, findCount, findOnce, findToPage } from "../../data/select";
......@@ -25,8 +25,7 @@ export async function adminList({pageNumber}) {
let dataList = [];
dbList.forEach(info => {
let {userId, memberState, loginId, adminLv, adminType} = info;
let memberStateStr = "正常";
if (memberState == MEMBERSTATE.冻结管理员) memberStateStr = "冻结";
let memberStateStr = changeEnumValue(ADMINSTATE, memberState);
dataList.push({
userId,
......@@ -157,10 +156,10 @@ export async function info({id}) {
let userInfo = await findOnce(TABLEENUM.用户表, {userId:id}, ["userId", "memberState"]);
if (!userInfo || !userInfo.userId) throw new BizError(ERRORENUM.目标数据不存在);
if(userInfo.memberState == MEMBERSTATE.冻结管理员) {
if(userInfo.memberState == ADMINSTATE.冻结) {
await updateOneData(TABLEENUM.用户表, {userId:id}, {memberState:MEMBERSTATE.正常});
} else {
await updateOneData(TABLEENUM.用户表, {userId:id}, {memberState:MEMBERSTATE.冻结管理员});
await updateOneData(TABLEENUM.用户表, {userId:id}, {memberState:ADMINSTATE.冻结});
}
return sysTools.successResult();
......
......@@ -2,7 +2,7 @@
* 用户逻辑
*/
import { DOCUMENTTYPE, MEMBERLEVEL, MEMBERTYPE, NATION, PROFCATEGORY, SEX, STATE } from "../../config/enum";
import { DOCUMENTTYPE, MEMBERLEVEL, MEMBERTYPE, NATION, PROFCATEGORY, SEX, STATE, USERREGISTERSTATE } from "../../config/enum";
import { ERRORCODEENUM, ERRORENUM } from "../../config/errorEnum";
import { addOneData } from "../../data/add";
import { TABLEENUM } from "../../data/models/model";
......@@ -26,8 +26,11 @@ export async function login({loginId, pwd}) {
if (!userInfo || !userInfo.userId) throw new BizError(ERRORENUM.账号或密码错误);
if (userInfo.pwd != pwd ) throw new BizError(ERRORENUM.账号或密码错误);
let token = generateToken(userInfo.userId);
let token = "";
if (userInfo.isAdmin == STATE. || (userInfo.userRegisterState == USERREGISTERSTATE.通过 && userInfo.isAdmin == STATE.)) {
token = generateToken(userInfo.userId);
await updateOneData(TABLEENUM.用户表, {userId:userInfo.userId}, {token, tokenMs:new Date().valueOf()});
}
let dataInfo = {
isAdmin:userInfo.isAdmin == STATE.,
......@@ -35,7 +38,9 @@ export async function login({loginId, pwd}) {
userId:userInfo.userId,
token:token,
adminLv:userInfo.adminLv,
timeMs:new Date().valueOf()
timeMs:new Date().valueOf(),
isPass:userInfo.userRegisterState == USERREGISTERSTATE.通过,
memberType:userInfo.memberType
};
return {dataInfo}
......
......@@ -79,7 +79,7 @@ export async function homePage() {
reDianShiPinData.sort((a, b) => {return a.videoTime - b.videoTime});
for (let i= 0; i < reDianShiPinData.length; i++) {
let {title, desc, videoUrl} = reDianShiPinData[i];
result.reDianShiPin.push({title, desc, videoUrl:videoUrl[0]});
result.reDianShiPin.push({title, desc, videoUrl:videoUrl});
if (i >= 4) break;
}
......@@ -136,7 +136,9 @@ export async function xueHuiGaiKuang() {
*/
export async function xueHuiGaiKuangXiangQing() {
let xueHuiGaiKuangData = await findOnce(TABLEENUM.学会概括, {} );
let dataInfo = extractData(xueHuiGaiKuangData, ["title", "desc", "imgList"]);
if (!xueHuiGaiKuangData || !xueHuiGaiKuangData.id) return {dataInfo:{}};
let dataInfo:any = extractData(xueHuiGaiKuangData, ["title", "desc", "imgList"]);
dataInfo.articleTime = moment(xueHuiGaiKuangData.ut).format("YYYY-MM-DD");
return {dataInfo};
}
......
......@@ -31,8 +31,8 @@ export async function info(userId:string) {
* @param secureArgs
* @returns
*/
export async function update(userId:string, desc:string, title:string, imgList) {
await updateOneData(TABLEENUM.学会概括, {}, {desc, title, imgList});
export async function update({userId, desc, title, imgList}) {
await updateOneData(TABLEENUM.学会概括, {}, {desc, title, imgList, ut:new Date().valueOf() });
return successResult();
}
......@@ -51,6 +51,13 @@ export async function filePosition() {
if (isNaN(anyKey)) {
let keyStr = key;
let value = ARTICLEPOSITION[key];
if(/_dou/.test(keyStr)) keyStr = keyStr.replace(/_dou/, ",");
if(/_zyh/.test(keyStr)) keyStr = keyStr.replace(/_zyh/, "“");
if(/_yyh/.test(keyStr)) keyStr = keyStr.replace(/_yyh/, "”");
if(/_dun/.test(keyStr)) keyStr = keyStr.replace(/_dun/, "、");
if(/_ju/.test(keyStr)) keyStr = keyStr.replace(/_ju/, "。");
if(/_hgh/.test(keyStr)) keyStr = keyStr.replace(/_hgh/, "-");
if(/_kbh/.test(keyStr)) keyStr = keyStr.replace(/_kbh/, "");
dataList.push({key:keyStr, value});
}
}
......
......@@ -5,6 +5,7 @@
import { BANXUELEIXING, CODETYPE, DOCUMENTTYPE, MEMBERLEVEL, MEMBERTYPE, NATION, OPERATIONREHAVIOR, PROFCATEGORY, REGISTERFLOW, SEX, STATE, UNITMEMBERTYPE, USERREGISTERSTATE } from "../config/enum";
import { ERRORENUM } from "../config/errorEnum";
import { addManyData, addOneData } from "../data/add";
import { deleteManyData } from "../data/delete";
import { TABLEENUM } from "../data/models/model";
import { find, findCount, findOnce, findOnceToSort } from "../data/select";
import { updateOneData } from "../data/update";
......@@ -12,6 +13,7 @@ import * as sysTools from "../tools/system";
import { BizError } from "../util/bizError";
import { extractData } from "../util/piecemeal";
import { changeEnumValue, eccEnumValue } from "../util/verificationEnum";
import { eccFormParam } from "../util/verificationParam";
/**
......@@ -163,6 +165,14 @@ export async function memberRegister2({form, id}) {
* @returns
*/
export async function unitMemberRegister2({form, keyanForm, id}) {
const keyanFormItemConfig = {
startTime: 'Number',
endTime: 'Number',
describe: 'String'
};
keyanForm.forEach(item => {
eccFormParam("会员注册流程二", keyanFormItemConfig, item );
});
let selectUserFiles = ["userId", "registerFlow", "userRegisterState"];
let oldInfo = await findOnce(TABLEENUM.用户表, {userId:id, memberType:MEMBERTYPE.单位会员, isAdmin:STATE.}, selectUserFiles);
if (!oldInfo || !oldInfo.userId) throw new BizError(ERRORENUM.目标数据不存在);
......@@ -181,13 +191,17 @@ export async function unitMemberRegister2({form, keyanForm, id}) {
await updateOneData(TABLEENUM.用户表, {userId:id}, form);
/**注册提交单位科研成果信息 */
await deleteManyData(TABLEENUM.单位所获得科研成果表, {userId:id});
let addList = [];
for (let i = 0; i < keyanForm.length; i++) {
keyanForm[i].id = sysTools.generateSystemId(TABLEENUM.单位所获得科研成果表, id);
keyanForm[i].userId = id;
addList.push(keyanForm[i]);
let {startTime, endTime, describe} = keyanForm[i];
addList.push({
id:sysTools.generateSystemId(TABLEENUM.单位所获得科研成果表, id),
userId:id,
startTime, endTime, describe
});
}
await addOneData(TABLEENUM.单位所获得科研成果表, addList);
await addManyData(TABLEENUM.单位所获得科研成果表, addList);
return sysTools.successResult();
}
......@@ -293,12 +307,17 @@ export async function unitMemberEcho2({id}) {
if (!oldInfo || !oldInfo.userId) throw new BizError(ERRORENUM.目标数据不存在);
let basicInfo:any = extractData(oldInfo, UnitBasicConfig);
let unitInfo:any = extractData(oldInfo, UnitConfig);
delete basicInfo.userId;
/**处理枚举值 */
unitInfo.unitMemberType = changeEnumValue(UNITMEMBERTYPE, unitInfo.unitMemberType);
unitInfo.yuanXiaoBanXueLeiXing = changeEnumValue(BANXUELEIXING, unitInfo.yuanXiaoBanXueLeiXing);
// unitInfo.unitMemberType = changeEnumValue(UNITMEMBERTYPE, unitInfo.unitMemberType);
// unitInfo.yuanXiaoBanXueLeiXing = changeEnumValue(BANXUELEIXING, unitInfo.yuanXiaoBanXueLeiXing);
let oldKeYanInfo = await find(TABLEENUM.单位所获得科研成果表, {userId:id});
let scientificResearch = extractData(oldKeYanInfo, ["id", "startTime", "endTime", "describe"]);
let oldKeYanList = await find(TABLEENUM.单位所获得科研成果表, {userId:id});
let scientificResearch = [];
oldKeYanList.forEach(info => {
let item = extractData(info, ["id", "startTime", "endTime", "describe"]);
scientificResearch.push(item);
});
return {basicInfo, unitInfo, scientificResearch};
}
......@@ -333,8 +352,8 @@ export async function individualMemberDetails({id}) {
if (!oldInfo || !oldInfo.userId) throw new BizError(ERRORENUM.目标数据不存在);
let basicInfo:any = extractData(oldInfo, IndividualBasicConfig);
basicInfo.documentType = changeEnumValue(DOCUMENTTYPE, basicInfo.documentType);
basicInfo.nation = changeEnumValue(NATION, basicInfo.nation);
// basicInfo.documentType = changeEnumValue(DOCUMENTTYPE, basicInfo.documentType);
// basicInfo.nation = changeEnumValue(NATION, basicInfo.nation);
let specialityInfo:any = extractData(oldInfo, SpecialityConfig);
basicInfo.profCategory = changeEnumValue(PROFCATEGORY, basicInfo.profCategory);
......
import moment = require("moment");
import { MEMBERLEVEL, MEMBERTYPE, STATE, USERREGISTERSTATE } from "../config/enum";
import { TABLEENUM } from "../data/models/model";
import { find, findCount, findOnce } from "../data/select";
import { createOrder } from "./member/order";
/**
* 初始化任务
*/
export function initSystemTask() {
/**孵化器月度任务 */
createUserOrder();
setInterval(async function () {
await createUserOrder();
}, 24 * 3600 * 1000);
console.log(`systemTask init success`);
}
export async function createUserOrder() {
const NowMs = new Date().valueOf();
/**到期时间距离今天小于90天 */
let selectParam:any = {
"$and":[
{lifespanEndTime:{"$lt":NowMs + (30 * 24 * 3600 * 1000)}}
],
isAdmin:STATE.,
userRegisterState:USERREGISTERSTATE.通过
}
let files = ["userId", "lifespanEndTime", "loginId", "phone", "unitName", "memberLevel", "memberType", "unitMemberType", "individualMemberType"];
let count = await findCount(TABLEENUM.用户表, selectParam);
if (count) {
let userList = await find(TABLEENUM.用户表, selectParam, files );
let addCount = 0;
for (let i= 0; i < userList.length; i++) {
let { userId, lifespanEndTime, loginId, phone, unitName, memberLevel, memberType, unitMemberType, individualMemberType} = userList[i];
let itemInfo = await findOnce(TABLEENUM.订单表, {userId, orderCycleStart:{"$gte":lifespanEndTime}}, "orderCycleStart");
if (!itemInfo || !itemInfo.orderCycleStart) {
/**创建一条新的订单 */
let subType = memberType == MEMBERTYPE.个人会员 ? individualMemberType : unitMemberType;
await createOrder(userId, loginId, phone, unitName, lifespanEndTime, memberLevel, memberType, subType, false);
addCount += 1;
}
}
console.log(`已创建${addCount}条订单`);
}
}
......@@ -307,8 +307,15 @@ export enum DWTYPE {
export enum MEMBERSTATE {
正常 = 1,
异常,
冻结,
冻结管理员
冻结
}
/**
* 管理员状态
*/
export enum ADMINSTATE {
正常 = 1,
冻结 = 4
}
/**
......
......@@ -354,6 +354,7 @@ const ModelArray = [
certificateType:'Number',//证书类型 枚举CERTIFICATETYPE
individualMemberType:{type: 'Number'},//个人会员类型 枚举INDIVIDUALMEMBERTYPE
memberLevel:{type:'Number', default:MEMBERLEVEL.普通会员},//会员等级、职务 枚举 MEMBERLEVEL 【会员管理用】
isFirstPay:{type:'Boolean', default:false},//是否完成首次支付
/**宽限期状态 */
isGracePeriod:{type:'Number', default:0},//是否宽限期 0:否, 1:是
gracePeriodEndTime:'Number',//宽限期到期时间 时间戳
......
......@@ -6,6 +6,7 @@ import moment = require("moment");
import { addManyData, addOneData } from "./data/add";
import { TABLEENUM } from "./data/models/model";
import { generateOrderId, generateUserId } from "./tools/system";
import { createOrder } from "./biz/member/order";
/**
* 注册账号
......@@ -13,10 +14,16 @@ import { generateOrderId, generateUserId } from "./tools/system";
export async function test1() {
let i = parseInt(`${moment().hour()}${moment().minute()}${moment().second()}`);
let maxi = i + 20;
let maxi = i + 8;
let dataList = [];
for (i; i <= maxi; i++) {
for (i; i < maxi; i++) {
let nowMs = new Date().valueOf();
let randomNum = parseInt(`${moment().hour()}${moment().minute()}${moment().second()}${Math.ceil(Math.random() * 100)}`);
let userId = generateUserId();
let endTime = new Date(moment().add(1, 'd').format("YYYY-MM-DD")+' 00:00:00').valueOf();
dataList.push({
"token" : "",
"tokenMs" : 0,
"adminLv" : [],
"registerFlow" : 2,
"isAdmin" : 0,
......@@ -28,10 +35,10 @@ export async function test1() {
"http://192.168.0.105:40012/whb/files/12/vue2024-03-22_16-11-873169.png"
],
"auxiliaryMaterial" : [],
"userId" : generateUserId(),
"userId" : userId,
"memberType" : 1,
"askForTime" : 1711095028440.0,
"loginId" : `${i}`,
"askForTime" : nowMs,
"loginId" : randomNum,
"mail" : "18120935727@163.com",
"pwd" : "123456",
"phone" : `1812093${Math.ceil(Math.random() * 10)}${Math.ceil(Math.random() * 10)}${Math.ceil(Math.random() * 10)}${Math.ceil(Math.random() * 10)}`,
......@@ -43,23 +50,30 @@ export async function test1() {
"documentType" : 1,
"duties" : "吃的蔬菜生产",
"education" : 2,
"name" : `%${i}`,
"name" : `V${randomNum}`,
"nation" : 1,
"otherEMP" : "村上春树",
"otherPROF" : "村上春树",
"otherEMP" : "23年前注册",
"otherPROF" : "23年前注册",
"photoUrl" : "http://192.168.0.105:40012/whb/files/12/vue2024-03-22_16-11-624049.png",
"profAchievement" : "村上春树",
"profAchievement" : "23年前注册",
"profCategory" : 1,
"professionalCERTUrl" : "http://192.168.0.105:40012/whb/files/12/vue2024-03-22_16-11-603763.png",
"qu" : "130524",
"sex" : 2,
"sheng" : "130000",
"shi" : "130500",
"studyResume" : "菜市场",
"unitName" : "村上春树",
"workResume" : "村上春树",
"workTitle" : "村上春树"
})
"studyResume" : "23年前注册",
"unitName" : "23年前注册",
"workResume" : "23年前注册",
"workTitle" : "23年前注册",
"auditTime" : nowMs+1,
"individualMemberType" : 1,
"joinTime" : nowMs+1,
"lifespanEndTime" : endTime,
"lifespanStartTime" : nowMs,
"paymentStatus" : 2,
"session" : 200907
});
}
await addManyData(TABLEENUM.用户表, dataList);
console.log("初始化成功");
......
import { initAdmin } from "./biz/member/rightsMgmt";
import { initSystemTask } from "./biz/task";
import { initConfig, systemConfig} from "./config/serverConfig";
import { initDataBaseModel } from "./data/db/db";
import { test1, initOrderData } from "./dataScript";
......@@ -15,7 +16,8 @@ async function lanuch() {
// await smsTask();
console.log('This indicates that the server is started successfully.');
// await initAdmin();
// test1();
// await test1();
await initSystemTask();
// await initOrderData()
}
......
......@@ -70,7 +70,7 @@ export const Config = {
param:[
{key:"form", type:"Object", sub:
{
rank:{type:"String", desc:"排序"},
rank:{type:"Number", desc:"排序"},
name:{typs:"String", desc:"名称"},
position:{type:"String", desc:"职位"},
imgUrl:{type:"String", desc:"大图地址"},
......@@ -88,7 +88,7 @@ export const Config = {
param:[
{key:"form", type:"Object", sub:
{
rank:{type:"String", desc:"排序"},
rank:{type:"Number", desc:"排序"},
name:{typs:"String", desc:"名称"},
position:{type:"String", desc:"职位"},
imgUrl:{type:"String", desc:"大图地址"},
......
......@@ -209,6 +209,16 @@ export function eccReqParamater(apiName:string, conf:object, param, skipKeys?) {
}
break;
case '[String]':
if ( !Array.isArray(param[key]) ) isError = true;
for (let i =0; i < param[key].length; i++) {
let item = param[key][i];
if ( typeof item != 'string' ) {
isError = true;
errorStr = `${key}应是string型数组其中下标${i}${typeof item}`;
}
}
break;
}
errorStr = isError && errorStr == "" ? `${key}应该是${confType}型 而不是${valueType}`: errorStr;
if (isError) throw new BizError(ERRORENUM.参数错误, apiName, errorStr);
......
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