Commit 7f8b2df9 by lixinming

no message

parent c2c98b70
import { ERRORENUM } from "../../config/errorEnum";
import { modelMap } from "../../model/modelBind";
import { BizError } from "../../util/bizError";
/**
* 删除数据
* @param tableName 表名
* @param param
* @returns
*/
export async function delData(tableName:string, param:object) {
let model = modelMap[tableName];
if (!model) throw new BizError(ERRORENUM.不存在表);
await model.deleteOneData(param);
return {isSuccess:true};
}
\ No newline at end of file
import { ERRORENUM } from "../../config/errorEnum";
import { modelMap } from "../../model/modelBind";
import { BizError } from "../../util/bizError";
/**
* 添加数据
* @param tableName 表名
* @param data
* @returns
*/
export async function addData(tableName:string, data:any) {
let model = modelMap[tableName];
if (!model) throw new BizError(ERRORENUM.不存在表);
if ( Array.isArray(data) ) {
await model.addData(data);
} else {
/**单个 */
await model.addData(data);
}
return {isSuccess:true};
}
\ No newline at end of file
import { ERRORENUM } from "../../config/errorEnum";
import { modelMap } from "../../model/modelBind";
import { BizError } from "../../util/bizError";
/**
* 查询单个数据
* @param tableName 表名
* @param param
* @returns
*/
export async function selectOneDataByParam(tableName:string, param:any) {
let model = modelMap[tableName];
if (!model) throw new BizError(ERRORENUM.不存在表);
let data = model.findOnceData(param);
return {data};
}
export async function selectDataListByParam(tableName:string, param:any) {
let model = modelMap[tableName];
if (!model) throw new BizError(ERRORENUM.不存在表);
let data = model.findManyData(param);
return {data};
}
export async function selectDataListToPageByParam(tableName:string, param:any, pageNumber:number, pageSize:number) {
pageSize = pageSize || 10;
let model = modelMap[tableName];
if (!model) throw new BizError(ERRORENUM.不存在表);
let data = model.findDataToPage(param, (pageNumber-1)*10, pageSize );
return {data};
}
export async function selectDataCountByParam(tableName:string, param:any) {
let model = modelMap[tableName];
if (!model) throw new BizError(ERRORENUM.不存在表);
let data = model.findDataCount(param);
return {data};
}
export async function aggragateParam(tableName:string, param:any) {
let model = modelMap[tableName];
if (!model) throw new BizError(ERRORENUM.不存在表);
let data = await model.aggragateData(param);
return {data};
}
\ No newline at end of file
import { ERRORENUM } from "../../config/errorEnum";
import { modelMap } from "../../model/modelBind";
import { BizError } from "../../util/bizError";
/**
* 修改单个数据
* @param tableName 表名
* @param data
* @returns
*/
export async function updateOneData(tableName:string, param:any, data:any) {
let model = modelMap[tableName];
if (!model) throw new BizError(ERRORENUM.不存在表);
await model.updateOnceDataBind(param, data);
return {isSuccess:true};
}
/**
* 批量修改数据
* @param tableName 表名
* @param data
* @returns
*/
export async function updateManyData(tableName:string, param:any, data:any) {
let model = modelMap[tableName];
if (!model) throw new BizError(ERRORENUM.不存在表);
await model.updateManyData(param, data);
return {isSuccess:true};
}
\ No newline at end of file
......@@ -146,7 +146,7 @@ export const TablesConfig = [
association: []
},
{
tableNameCn:'党建动态表',//弃用
tableNameCn:'党建动态表',
tableName:'partyBuildingDynamic',
schema:{
pbId: { //自增的党建动态id
......@@ -162,6 +162,9 @@ export const TablesConfig = [
fileName: {type:Sequelize.STRING(500), allowNull:true, defaultValue:'[]'}, //文件名称 ["",""] --多选
fileType: {type:Sequelize.INTEGER, allowNull:true}, //文件类型
uploadTime: {type:Sequelize.DATE, allowNull:true, defaultValue:Sequelize.NOW}, //上传时间
img:{type:Sequelize.STRING(500), allowNull:true, defaultValue:'[]'},
content:{type:Sequelize.STRING(500), allowNull:true, defaultValue:'[]'},//内容
activitesTime:{type:Sequelize.DATE, allowNull:true, defaultValue:Sequelize.NOW}, //发布时间
},
association: []
},
......@@ -188,7 +191,7 @@ export const TablesConfig = [
},
{
tableNameCn:'党建先锋表', // success
tableName:'partyVanguard',
tableName:'partyVanguard',
schema:{
pvId: { //自增的党建先锋id
type:Sequelize.INTEGER(20), //表示属性的数据类型
......@@ -200,7 +203,7 @@ export const TablesConfig = [
honorName: {type:Sequelize.STRING(500), allowNull:false}, //荣誉名称
honorType: {type:Sequelize.INTEGER, allowNull:false}, //荣誉类型 枚举
grantingRange: {type:Sequelize.INTEGER, allowNull:false}, //授予范围 枚举
grantingUnit: {type:Sequelize.STRING(100), allowNull:false}, //授予单位/个人
grantingUnit: {type:Sequelize.STRING(500), allowNull:false}, //授予单位/个人
grantTime: {type:Sequelize.DATE, allowNull:false},//授予时间
bId: {type:Sequelize.INTEGER, allowNull:false}, //支部表id
img:{type:Sequelize.STRING(255), allowNull:false}, //图片
......
import { bizlive } from "tencentcloud-sdk-nodejs";
import { ERRORCODEENUM } from "../config/errorEnum";
/**
......
/**
* 用于模型层绑定方法
*/
import { TablesConfig } from "../config/mongoTableConfig";
import {Schema} from 'mongoose';
import { baseDB } from "../db/mongo/dbInit";
let modelMap = {}
export async function initModel() {
/**初始化表 */
for (let key in TablesConfig) {
let {tableName, schema} = TablesConfig[key];
modelMap[tableName] = baseDB.model(tableName, new Schema(schema) );
modelMap[tableName].addData = addManyDataBind;
modelMap[tableName].updateOnceData = updateOnceDataBind;
modelMap[tableName].updateManyData = updateManyDataBind;
modelMap[tableName].deleteOneData = deleteOneBind;
modelMap[tableName].findOnceData = findOnceDataBind;
modelMap[tableName].findManyData = findManyDataBind;
modelMap[tableName].findDataCount = findDataCountBind;
modelMap[tableName].findDataToPage = findDataToPageBind;
modelMap[tableName].aggragateData = aggragateDataBind;
}
}
async function addManyDataBind(dataList) {
return await this.insertMany(dataList, {ordered:false, bypassDocumentValidation:true});
}
async function updateOnceDataBind(param, updateInfo) {
return await this.update(param, {"$set":updateInfo});
}
async function updateManyDataBind(param, updateInfo) {
return await this.updateMany(param, {"$set":updateInfo});
}
async function deleteOneBind(param) {
return await this.deleteOne(param);
}
async function findOnceDataBind(column, param) {
return await this.findOne({attribute:column, where:param});
}
async function findManyDataBind(column, param) {
return await this.find({attribute:column, where:param});
}
async function findDataCountBind(param) {
return await this.find(param).count();
}
async function findDataToPageBind(column, param, skipCount:number, limit:number) {
return await this.find({attribute:column, where:param}).skip(skipCount).limit(limit);
}
async function aggragateDataBind(param) {
return await this.aggregate(param);
}
export {modelMap};
\ No newline at end of file
import * as asyncHandler from 'express-async-handler'
import { addData } from '../biz/mongo/installData';
import * as selectBiz from '../biz/mongo/selectData';
import * as updateBiz from '../biz/mongo/updateData';
import * as deleteDataBiz from '../biz/mongo/deleteData';
import { checkMongoSign } from '../middleware/user';
import { eccReqParamater } from '../tools/eccParam';
export function setRouter(httpServer){
httpServer.post('/yfs/dataserver/mongo/table/add', checkMongoSign, asyncHandler(addTableData));
httpServer.post('/yfs/dataserver/mongo/table/delete', checkMongoSign, asyncHandler(deleteData));
httpServer.post('/yfs/dataserver/mongo/table/update/one', checkMongoSign, asyncHandler(updateOneData));
httpServer.post('/yfs/dataserver/mongo/table/update/many', checkMongoSign, asyncHandler(updateManyData));
httpServer.post('/yfs/dataserver/mongo/table/find/one', checkMongoSign, asyncHandler(findOneData));
httpServer.post('/yfs/dataserver/mongo/table/find/many', checkMongoSign, asyncHandler(findManyData));
httpServer.post('/yfs/dataserver/mongo/table/find/manytopage', checkMongoSign, asyncHandler(findManyToPageData));
httpServer.post('/yfs/dataserver/mongo/table/find/count', checkMongoSign, asyncHandler(findCountData));
httpServer.post('/yfs/dataserver/mongo/table/find/aggragate', checkMongoSign, asyncHandler(findAggragateData));
}
async function addTableData(req, res) {
let table = req.headers.table;
let reqConf = {data: 'Object' };
let { data } = eccReqParamater(reqConf, req.body);
let result = await addData(table, data);
res.success(result);
}
async function deleteData(req, res) {
let table = req.headers.table;
let reqConf = {data: 'Object' };
let { data } = eccReqParamater(reqConf, req.body);
let result = await deleteDataBiz.delData(table, data);
res.success(result);
}
async function updateOneData(req, res) {
let table = req.headers.table;
let reqConf = {param:'Object', data: 'Object' };
let { param, data } = eccReqParamater(reqConf, req.body);
let result = await updateBiz.updateOneData(table, param, data);
res.success(result);
}
async function updateManyData(req, res) {
let table = req.headers.table;
let reqConf = {param:'Object', data: 'Object' };
let { param, data } = eccReqParamater(reqConf, req.body);
let result = await updateBiz.updateManyData(table, param, data);
res.success(result);
}
async function findOneData(req, res) {
let table = req.headers.table;
let reqConf = {param:'Object'};
let { param } = eccReqParamater(reqConf, req.body);
let result = await selectBiz.selectOneDataByParam(table, param);
res.success(result);
}
async function findManyData(req, res) {
let table = req.headers.table;
let reqConf = {param:'Object'};
let { param } = eccReqParamater(reqConf, req.body);
let result = await selectBiz.selectDataListByParam(table, param);
res.success(result);
}
async function findManyToPageData(req, res) {
let table = req.headers.table;
let reqConf = {param:'Object', pageNumber:'Number', pageSize:'Number'};
let { param, pageNumber, pageSize } = eccReqParamater(reqConf, req.body, ['pageSize']);
let result = await selectBiz.selectDataListToPageByParam(table, param, pageNumber, pageSize);
res.success(result);
}
async function findCountData(req, res) {
let table = req.headers.table;
let reqConf = {param:'Object'};
let { param } = eccReqParamater(reqConf, req.body);
let result = await selectBiz.selectDataCountByParam(table, param);
res.success(result);
}
async function findAggragateData(req, res) {
let table = req.headers.table;
let reqConf = {param:'[Object]' };
let { param } = eccReqParamater(reqConf, req.body);
let result = await selectBiz.aggragateParam(table, param);
res.success(result);
}
\ 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