Commit e8c82b1d by lixinming

no message

parent 22cf1b0a
/**
* 会费管理
* 收费
*/
import moment = require("moment");
import { MEMBERLEVEL, MEMBERTYPE, ORDERSTATE } from "../../config/enum";
import { generateOrderId } from "../../tools/system";
import { eccEnumValue } from "../../util/verificationEnum";
import { addOneData } from "../../data/add";
import { TABLEENUM } from "../../data/models/model";
/**
*
*/
export async function costList({unit, joinTime}) {
}
\ No newline at end of file
/**
* 订单相关
*/
import moment = require("moment");
import { MEMBERLEVEL, MEMBERTYPE, ORDERSTATE } from "../../config/enum";
import { generateOrderId } from "../../tools/system";
import { eccEnumValue } from "../../util/verificationEnum";
import { addOneData } from "../../data/add";
import { TABLEENUM } from "../../data/models/model";
import { findToPage } from "../../data/select";
/**
* 对内使用 创建一条订单
* @param userId 会员id
* @param unitName 单位名称
* @param orderStartMs 订单开始时间
* @param memberLv 会员等级 MEMBERLEVEL
* @param memberType 会员类型 MEMBERTYPE
* @param isFirst 是否首次缴费
* @returns
*/
export async function createOrder(userId:string, unitName:string, orderStartMs:number, memberLv:number, memberType:number, isFirst:boolean) {
/**计算订单周期 */
const EndMs = moment(orderStartMs).add(1, 'years').valueOf();
/**订单id */
const OrderId = generateOrderId(userId);
/**计算会费 */
let money = 0;
if (memberLv == MEMBERLEVEL.专家会员) {
} else {
}
let addInfo = {
id:OrderId,
orderCycleStart:orderStartMs,
orderCycleEnd:EndMs,
unitName,
money,
paymentMethod:0,
memberId:userId,
memberCategory:memberType,
paymentNum:0,
invoiceAdd:'',
state:ORDERSTATE.未支付,
isFirst
};
// await addOneData(TABLEENUM.订单表, addInfo);
return true;
}
/**
* 初始订单
*/
export async function firstOrderList({unitName, joinTime, memberType, orderState }) {
let findParam:any = { isFirst:true };
if (unitName) findParam.unitName = {"$regex":unitName};
if (memberType) findParam.memberCategory = memberType;
if (orderState) findParam.state = orderState;
// await findToPage(TABLEENUM.订单表, findParam, ["unitName", ""])
}
/**
* 已缴费名单
*/
export async function paidList({unit, joinTime, memberType }) {
eccEnumValue("已缴费名单", "会员类型", MEMBERTYPE, memberType);
}
......@@ -18,8 +18,8 @@ export async function banner() {
let localBanners = [BANNERPOSITION.首页_hghbanner01, BANNERPOSITION.首页_hghbanner02, BANNERPOSITION.首页_hghbanner03];
let bannerData = await find(TABLEENUM.banner管理, {location:{"$in":localBanners}, display:STATE.} );
bannerData.forEach(info => {
let {imgUrl, title, desc, articleUrl} = info;
result.bannerList.push({imgUrl, title, desc, articleUrl});
let {imgUrl, articleTitle, desc, articleUrl} = info;
result.bannerList.push({imgUrl, title:articleTitle, desc, articleUrl});
});
return result;
}
......@@ -47,7 +47,7 @@ export async function homePage() {
});
/**学会动态 每个动态资讯取最新的可见的两个*/
let wenZhangTypeList = [ARTICLEPOSITION.动态资讯_hgh学会动态, ARTICLEPOSITION.动态资讯_hgh政策动向, ARTICLEPOSITION.动态资讯_hgh行业风采];
let dongTaiZiXunData = await find(TABLEENUM.文章管理, {articleType:{"$or":wenZhangTypeList }, display:STATE.});
let dongTaiZiXunData = await find(TABLEENUM.文章管理, {articleType:{"$in":wenZhangTypeList }, display:STATE.});
dongTaiZiXunData.sort((a, b) => {return a.articleTime - b.articleTime});
let dongTaiZiXunDistinctMap = {};
dongTaiZiXunData.forEach(info => {
......@@ -55,7 +55,7 @@ export async function homePage() {
if (!dongTaiZiXunDistinctMap[articleType]) dongTaiZiXunDistinctMap[articleType] = [];
if (dongTaiZiXunDistinctMap[articleType].length < 2) {
dongTaiZiXunDistinctMap[articleType].push({
id, title, imgUrl, articleTime, desc
id, title, imgUrl, articleTime:moment(articleTime).format("YYYY-MM-DD"), desc
});
}
});
......@@ -103,25 +103,25 @@ export async function xueHuiGaiKuang() {
result.xueHuiGaiKuang = extractData(xueHuiGaiKuangData, ["title", "desc", "imgList"]);
/**学会领导 */
let xueHuiLingDaoData = await findOnce(TABLEENUM.学会领导, {} );
let xueHuiLingDaoData = await find(TABLEENUM.学会领导, {} );
xueHuiLingDaoData.sort((a, b) => {return a.rank - b.rank});
xueHuiLingDaoData.forEach(info => {
result.xueHuiLingDao.push(extractData(info, ["name", "position", "imgUrl", "miniImgUrl", "desc"]));
});
/**组织架构 */
let zuZhiJiaGouData = await findOnce(TABLEENUM.学会架构, {display:1} );
let zuZhiJiaGouData = await find(TABLEENUM.学会架构, {display:1} );
zuZhiJiaGouData.forEach(info => {
result.xueHuiLingDao.push(extractData(info, ["departmentName", "desc"]));
result.zuZhiJiaGou.push(extractData(info, ["departmentName", "desc"]));
});
/**学会规章 */
let xueHuiGuiZhangData = await findOnce(TABLEENUM.文章管理, {articleType:{"$in":[ARTICLEPOSITION.学会概况_hgh学会规章]}, display:STATE.} );
let xueHuiGuiZhangData = await find(TABLEENUM.文章管理, {articleType:{"$in":[ARTICLEPOSITION.学会概况_hgh学会规章]}, display:STATE.} );
for (let i = 0; i < xueHuiGuiZhangData.length; i++) {
let {id, title, imgUrl, articleTime} = xueHuiGuiZhangData[i];
let articleDate = moment(articleTime)
let {id, title, imgUrl, articleTime, desc} = xueHuiGuiZhangData[i];
let articleDate = moment(articleTime);
result.xueHuiGuiZhang.push({
id, title, imgUrl, yearAndMonth:articleDate.format("YYYY-MM"), day:articleDate.format("DD")
id, title, yearAndMonth:articleDate.format("YYYY-MM"), day:articleDate.format("DD"),desc
});
}
......@@ -231,8 +231,8 @@ export async function pinPaiXiangMuBanner() {
let localBanners = [BANNERPOSITION.品牌项目_hghbanner01, BANNERPOSITION.品牌项目_hghbanner02, BANNERPOSITION.品牌项目_hghbanner03];
let bannerData = await find(TABLEENUM.banner管理, {location:{"$in":localBanners}, display:STATE.} );
bannerData.forEach(info => {
let {imgUrl, title, desc, articleUrl} = info;
result.bannerList.push({imgUrl, title, desc, articleUrl});
let {imgUrl, articleTitle, desc, articleUrl} = info;
result.bannerList.push({imgUrl, title:articleTitle, desc, articleUrl});
});
return result;
}
......@@ -251,7 +251,7 @@ export async function pinPaiXiangMu() {
};
/**乡村振兴 */
let locationParam = [ARTICLEPOSITION.品牌项目_hgh乡村振兴];
let xiangCunZhenXingData = await find(TABLEENUM.文章管理, {location:{"$in":locationParam}, display:STATE.} );
let xiangCunZhenXingData = await find(TABLEENUM.文章管理, {articleType:{"$in":locationParam}, display:STATE.} );
xiangCunZhenXingData.forEach(info => {
let {id, title, imgUrl, articleTime, desc} = info;
result.xiangCunZhenXing.push({
......@@ -260,19 +260,19 @@ export async function pinPaiXiangMu() {
});
/**芳华杯 */
locationParam = [ARTICLEPOSITION.品牌项目_hgh芳华杯];
let fangHuaBeiData = await find(TABLEENUM.文章管理, {location:{"$in":locationParam}, display:STATE.} );
let fangHuaBeiData = await find(TABLEENUM.文章管理, {articleType:{"$in":locationParam}, display:STATE.} );
fangHuaBeiData.forEach(info => {
let {id, title, imgUrl, articleTime, desc} = info;
result.xiangCunZhenXing.push({
result.fangHuaBei.push({
id, title, imgUrl, articleTime:moment(articleTime).format("YYYY-MM-DD"), desc
});
});
/**学术研究 */
locationParam = [ARTICLEPOSITION.品牌项目_hgh学术研究];
let xueShuYanJiuData = await find(TABLEENUM.文章管理, {location:{"$in":locationParam}, display:STATE.} );
let xueShuYanJiuData = await find(TABLEENUM.文章管理, {articleType:{"$in":locationParam}, display:STATE.} );
xueShuYanJiuData.forEach(info => {
let {id, title, imgUrl, articleTime, desc} = info;
result.xiangCunZhenXing.push({
result.xueShuYanJiu.push({
id, title, imgUrl, articleTime:moment(articleTime).format("YYYY-MM-DD"), desc
});
});
......@@ -317,7 +317,7 @@ export async function xueshuyanjiu({pageNumber}) {
*/
export async function xiangCunZhenXing({pageNumber}) {
let findParam = {articleType:{"$in":[ARTICLEPOSITION.品牌项目_hgh乡村振兴]}, display:STATE.};
let dataBaseList = await findToPage(TABLEENUM.文章管理, findParam, [], pageNumber);
let dataBaseList = await findToPage(TABLEENUM.文章管理, findParam, ["id", "title", "desc", "imgUrl", "articleTime" ], pageNumber);
let dataCount = await findCount(TABLEENUM.文章管理, findParam);
let dataList = [];
......
......@@ -4,7 +4,7 @@
import { ERRORENUM } from "../../../config/errorEnum";
import { addOneData } from "../../../data/add";
import { addManyData, addOneData } from "../../../data/add";
import { deleteOneData } from "../../../data/delete";
import { TABLEENUM } from "../../../data/models/model";
import { find, findOnce } from "../../../data/select";
......@@ -14,21 +14,6 @@ import { BizError } from "../../../util/bizError";
import { extractData } from "../../../util/piecemeal";
/**
* 创建学会架构
* @param userId
* @param param
* @returns
*/
export async function create({userId, form}) {
form.id = generateSystemId(TABLEENUM.学会架构, userId);
await addOneData(TABLEENUM.学会架构, form);
return successResult();
}
/**
* 修改
......@@ -80,7 +65,20 @@ export async function del( {userId, id}) {
*/
export async function list() {
let dbList = await find(TABLEENUM.学会架构, {});
let ct = new Date().valueOf();
if (!dbList || !dbList.length) {
dbList = [];
for (let i = 1; i <= 6; i++) {
dbList.push({
id:`${i}`,
departmentName:'',
desc:'',
display:1,
ct
});
};
await addManyData(TABLEENUM.学会架构, dbList);
}
let dataList = [];
dbList.forEach(info => {
let item:any = extractData(info, ["id", "departmentName", "desc", "display"]);
......
......@@ -123,9 +123,8 @@ export enum BANNERPOSITION {
* 内容管理文章位置
*/
export enum ARTICLEPOSITION {
首页_hgh学会动态 = 1,
学会概况_hgh学会规章,
动态资讯_hgh政策动向 = 3,
学会概况_hgh学会规章 = 1,
动态资讯_hgh政策动向,
动态资讯_hgh学会动态,
动态资讯_hgh行业风采,
品牌项目_hgh乡村振兴,
......@@ -353,4 +352,10 @@ export enum CERTIFICATETYPE {
}
/**
* 订单状态
*/
export enum ORDERSTATE {
未支付 = 1,
}
......@@ -83,7 +83,7 @@ enum TABLEENUM {
用户表 = 'users',
文字资料 = 'wenZiZiLiao',
订单表 = 'order',
单位所获得科研成果表 = " scientificResearch",
单位所获得科研成果表 = "scientificResearch",
}
const ModelArray = [
......@@ -427,15 +427,18 @@ const ModelArray = [
id:{ type:'String', index:true },
orderYear:'String',//订单年度
unitName:'String',//单位名称
orderCycle:'String',//订单周期
orderCycleStart:'Number',//订单周期开始时间
orderCycleEnd:'Number',//订单周期结束时间
money:'String',//金额
paymentMethod:'Number',//付款方式 枚举
memberId:'String',//会员id
loginId:'String',//登陆名
memberCategory:'Number',//会员类别 枚举
paymentNum:'String',//支付单号
membershipFeesType:'Number',//会费类别 枚举
invoiceAdd:'String',//发票地址
paymentNum:'String',//支付单号(与订单号不一样)
// membershipFeesType:'Number',//会费类别 枚举
invoiceAdd:'String',//发票图片地址
state:'Number',//状态 枚举
isFirst:{type:'Boolean', default:true},//首次订单
}
},
......
......@@ -124,7 +124,7 @@ async function initMongoModel(myMongoDB:any) {
return await dataModels[tableName].insertMany(dataList);
}
dataModels[tableName].findCount = async function(param) {
return await dataModels[tableName].find(param).count();
return await dataModels[tableName].find(param).countDocuments();
}
dataModels[tableName].updateManyData = async function(param, updateInfo) {
return await dataModels[tableName].updateMany(param, {$set:updateInfo});
......
......@@ -5,7 +5,7 @@ import { dataModels } from "./models/modelInit";
export async function findToPage(tableEnumValue:string, param:object, files:object, pageNumber:number, pageSize?) {
pageSize = pageSize || 10;//默认每页10个
let data = await dataModels[tableEnumValue].find(param, files, pageNumber, pageSize);
let data = await dataModels[tableEnumValue].find(param, files).skip((pageNumber - 1) *pageSize).limit(pageSize);
return data;
}
......
......@@ -52,7 +52,7 @@ export const Config = {
"动态资讯":[
{
apiName:"动态资讯列表",
subUrl:'/xuehuiguizhangxiangqing',
subUrl:'/dongtaizixun',
param:[
{key:"type", type:"Number", desc:"政策动向学会动态行业风采,参考公用接口"},
{key:"pageNumber", type:"Number", desc:"当前页"},
......@@ -135,5 +135,5 @@ export const Config = {
],
bindBiz:officialWebsiteBiz.tongZhiGongGao
},
]
],
}
\ No newline at end of file
......@@ -131,20 +131,20 @@ export const Config = {
}
],
"学会概况_学会架构":[
{
apiName:"新建",
subUrl:'/xuehui/xuehuijiagou/create',
param:[
{key:"form", type:"Object", sub:
{
departmentName:{type:"String", desc:"组织名称"},
desc:{typs:"String", desc:"组织介绍"}
},
desc:"表单"
}
],
bindBiz:xueHuiJiaGouBiz.create
},
// {
// apiName:"新建",
// subUrl:'/xuehui/xuehuijiagou/create',
// param:[
// {key:"form", type:"Object", sub:
// {
// departmentName:{type:"String", desc:"组织名称"},
// desc:{typs:"String", desc:"组织介绍"}
// },
// desc:"表单"
// }
// ],
// bindBiz:xueHuiJiaGouBiz.create
// },
{
apiName:"删除",
subUrl:'/xuehui/xuehuijiagou/delete',
......
......@@ -14,7 +14,7 @@ import * as memberRouter from "./member/router";
import * as officalWebsiteRouter from "./officalWebsite/router";
import * as asyncHandler from 'express-async-handler';
const Look = true;//true更新文档
const Look = false;//true更新文档
export async function setRouter(httpServer){
if (Look) {
......
......@@ -38,5 +38,13 @@ export function generateToken(userId:string) {
* 生成userid
*/
export function generateUserId() {
return md5(`${Math.random() * 100}${new Date().valueOf()}${Math.random() * 10000}`);
return md5(`${Math.random() * 100}${new Date().valueOf()}${Math.floor(Math.random() * 10000)}`);
}
/**
* 生成唯一订单id
*/
export function generateOrderId(userId:string) {
return md5(`${userId}${Math.random() * 100}${new Date().valueOf()}${Math.floor(Math.random() * 1000)}`);
}
\ 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