This commit is contained in:
2026-10-08 18:18:21 +08:00
parent 9cc1ff546c
commit 1e3095c05e
1911 changed files with 349551 additions and 0 deletions
@@ -0,0 +1,66 @@
const formRules = require("../util/formRules.js");
module.exports = {
/**
* 添加单条数据
* @url admin/kong/sys/add 前端调用的url参数地址
* data 请求参数 说明
* res 返回参数说明
* @param {Number} code 错误码,0表示成功
* @param {String} msg 详细信息
*/
main: async (event) => {
let { data = {}, userInfo, util, filterResponse, originalParam } = event;
let { customUtil, uniID, config, pubFun, vk , db, _ } = util;
let { uid } = data;
let res = { code : 0, msg : 'ok' };
let formRulesRes = await formRules.add(event);
if (formRulesRes.code !== 0) {
return formRulesRes;
}
// 业务逻辑开始-----------------------------------------------------------
let {
name,
icon,
sort,
remark,
parent_id,
level
} = data;
let dbName = "jjx-process-category";
if(parent_id) {
const parent = await vk.baseDao.findById({
dbName,
id: parent_id
})
if(parent.level >= 3) {
return {
code: -1,
msg: '最多支持三级分类'
}
}
level = parent.level + 1
} else {
level = 1
}
res.id = await vk.baseDao.add({
dbName,
dataJson:{
name,
icon,
sort,
remark,
parent_id,
level
}
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,25 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url admin/article/category/sys/delete 前端调用的url参数地址
* data 请求参数
* @param {String} params1 参数1
*/
main: async (event) => {
let { data = {}, userInfo, util, filterResponse, originalParam } = event;
let { customUtil, uniID, config, pubFun, vk, db, _ } = util;
let { uid } = data;
let res = { code: 0, msg: "" };
// 业务逻辑开始-----------------------------------------------------------
await vk.baseDao.deleteById({
dbName: 'jjx-process-category',
id: data._id
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,59 @@
module.exports = {
/**
* 查询多条记录 分页
* @url admin/kong/sys/getList 前端调用的url参数地址
* data 请求参数 说明
* @param {Number} pageIndex 当前页码
* @param {Number} pageSize 每页显示数量
* @param {Array<Object>} sortRule 排序规则
* @param {object} formData 查询条件数据源
* @param {Array<Object>} columns 查询条件规则
* res 返回参数说明
* @param {Number} code 错误码,0表示成功
* @param {String} msg 详细信息
*/
main: async (event) => {
let {data = {}, userInfo, util, filterResponse, originalParam} = event;
let {customUtil, uniID, config, pubFun, vk, db, _} = util;
let {uid} = data;
let res = {code: 0, msg: ''};
// 业务逻辑开始-----------------------------------------------------------
let dbName = "jjx-process-category";
res = await vk.baseDao.selects({
dbName,
pageIndex: 1,
pageSize: 500,
whereJson: {
parent_id: _.in([null, ""]),
_id: _.exists(true)
},
sortArr: [{name: "sort", type: "asc"}],
// 树状结构参数
// treeProps: {
// id: "_id", // 唯一标识字段,默认为 _id
// parent_id: "parent_id", // 父级标识字段,默认为 parent_id
// children: "children", // 自定义返回的下级字段名,默认为 children
// level: 3, // 查询返回的树的最大层级。超过设定层级的节点不会返回。默认10级,最大15,最小1
// limit: 500, // 每一级最大返回的数据。
// whereJson: {}
// }
});
for (const item of res.rows) {
const children = await vk.baseDao.selects({
dbName,
pageIndex: 1,
pageSize: 500,
whereJson: {
parent_id: item._id
},
sortArr: [
// {name: "quoteNum", type: "desc"},
{name: "sort", type: "asc"},
]
})
item.children = children.rows
}
return res;
}
}
@@ -0,0 +1,37 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url admin/article/category/sys/list 前端调用的url参数地址
* data 请求参数
* @param {String} params1 参数1
*/
main: async (event) => {
let {data = {}, userInfo, util, filterResponse, originalParam} = event;
let {customUtil, uniID, config, pubFun, vk, db, _} = util;
let {uid} = data;
let res = {code: 0, msg: ""};
// 业务逻辑开始-----------------------------------------------------------
res = await vk.baseDao.getTableData({
dbName: 'jjx-process-category',
sortArr: [
{name: "sort", type: "asc"},
{name: "_id", type: "desc"},
],
foreignDB: [
{
dbName: "jjx-process-category",
localKey: "parent_id",
foreignKey: "_id",
as: "parent",
limit: 1,
}
]
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,68 @@
module.exports = {
/**
* 修改数据
* @url admin/kong/sys/update 前端调用的url参数地址
* data 请求参数 说明
* res 返回参数说明
* @param {Number} code 错误码,0表示成功
* @param {String} msg 详细信息
*/
main: async (event) => {
let { data = {}, userInfo, util, filterResponse, originalParam } = event;
let { customUtil, uniID, config, pubFun, vk , db, _ } = util;
let { uid } = data;
let res = { code : 0, msg : 'ok' };
// 业务逻辑开始-----------------------------------------------------------
let {
_id,
name,
icon,
sort,
remark,
parent_id,
level
} = data;
// 这里需要把 params1 params2 params3 改成你数据库里允许用户添加的字段
if(vk.pubfn.isNullOne(_id)){
return { code : -1, msg : '参数错误' };
}
let dbName = "jjx-process-category";
if(parent_id) {
const parent = await vk.baseDao.findById({
dbName,
id: parent_id
})
if(parent.level >= 3) {
return {
code: -1,
msg: '最多支持三级分类'
}
}
level = parent.level + 1
} else {
level = 1
}
await vk.baseDao.updateById({
dbName,
id:_id,
dataJson:{
name,
icon,
sort,
remark,
parent_id,
level
}
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,100 @@
'use strict';
const dayjs = require("dayjs");
var isBetween = require('dayjs/plugin/isBetween')
dayjs.extend(isBetween)
module.exports = {
/**
* XXXnameXXX
* @url admin/old/sys/changeField 前端调用的url参数地址
* data 请求参数
* @param {String} params1 参数1
*/
main: async (event) => {
let {data = {}, userInfo, util, filterResponse, originalParam} = event;
let {customUtil, uniID, config, pubFun, vk, db, _} = util;
let {uid} = data;
let res = {code: 0, msg: ""};
// 业务逻辑开始-----------------------------------------------------------
const dataJson = {}
dataJson[data.field] = data.value
if (data.field === 'showInAdmin') {
dataJson['isShow'] = 0
dataJson['status'] = 1
} else if (data.field === 'isShow' && data.value === 1) {
const sheet = await vk.baseDao.findByWhereJson({
dbName: "jjx-process-sheet",
whereJson: {
_id: data.id
},
})
const messageUserList = await vk.baseDao.select({
dbName: "jjx-message-config",
whereJson: {
process: true
}
})
const messageList = []
for (let i = 0; i < messageUserList.rows.length; i++) {
if (messageUserList.rows[i].uid !== sheet.uid) {
const config = messageUserList.rows[i]
const date = dayjs().format("YYYY-MM-DD")
// if (config.doNotDisturbRange && config.doNotDisturbRange[0]) {
// const doNotDisturbRangeStart = dayjs(config.doNotDisturbRange[0]).format("HH:mm")
// const doNotDisturbRangeEnd = dayjs(config.doNotDisturbRange[1]).format("HH:mm")
// if (dayjs().isBetween(dayjs(`${date} ${doNotDisturbRangeStart}`), dayjs(`${date} ${doNotDisturbRangeEnd}`)))
// continue
// }
if (config.doNotDisturbStart && config.doNotDisturbStart.length) {
const doNotDisturbRangeStart = dayjs(`${date} ${config.doNotDisturbStart[0]}:${config.doNotDisturbStart[1]}`).format("HH:mm")
const doNotDisturbRangeEnd = dayjs(`${date} ${config.doNotDisturbEnd[0]}:${config.doNotDisturbEnd[1]}`).format("HH:mm")
if (dayjs().isBetween(dayjs(`${date} ${doNotDisturbRangeStart}`), dayjs(`${date} ${doNotDisturbRangeEnd}`)))
continue
}
let inAddress = false
if (config.addressList && config.addressList.length > 0) {
for (let j = 0; j < config.addressList.length; j++) {
if (config.addressList[j].province.code === sheet.addressRegion.province.code) {
if (config.addressList[j].city === null) inAddress = true
else if (config.addressList[j].city.code === sheet.addressRegion.city.code) {
if (config.addressList[j].area === null) inAddress = true
else if (config.addressList[j].area.code === sheet.addressRegion.area.code) {
inAddress = true
}
}
}
}
} else inAddress = true
if (!inAddress) continue
if (!config.tradeSelf && sheet.tradeMethod === 0) continue
if (!config.tradePlatform && sheet.tradeMethod === 1) continue
messageList.push({
uid: messageUserList.rows[i].uid,
title: `加工:${sheet.title}`,
content: `新的加工信息发布,赶紧去看看吧`,
type: 'process',
hasRead: false,
pk: res.id
})
await pubFun.sendNotifySms(messageUserList.rows[i].uid, 'SMS_474440033')
}
}
if (messageList.length > 0) {
await vk.baseDao.adds({
dbName: "jjx-message",
dataJson: messageList
});
}
}
await vk.baseDao.updateById({
dbName: "jjx-process-sheet",
id: data.id,
dataJson
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,132 @@
'use strict';
const normalizeSortRule = require('../../utils/sortRule.js');
module.exports = {
/**
* XXXnameXXX
* @url admin/old/sys/getList 前端调用的url参数地址
* data 请求参数
* @param {String} params1 参数1
*/
main: async (event) => {
let { data = {}, userInfo, util, filterResponse, originalParam } = event;
let { customUtil, uniID, config, pubFun, vk, db, _ } = util;
let { pageIndex, pageSize, formData, sortRule } = data;
let res = { code: 0, msg: "" };
// 业务逻辑开始-----------------------------------------------------------
const whereJson = { };
if (vk.pubfn.isNotNull(formData)) {
if (vk.pubfn.isNotNull(formData.title)) whereJson.title = new RegExp(formData.title)
if (vk.pubfn.isNotNull(formData.status)) whereJson.status = formData.status
if (vk.pubfn.isNotNull(formData.showInAdmin)) whereJson.showInAdmin = formData.showInAdmin
if (vk.pubfn.isNotNull(formData.signMethod)) whereJson.signMethod = formData.signMethod
if (vk.pubfn.isNotNull(formData.quoteNum)) {
if (formData.quoteNum === 0) whereJson.quoteNum = formData.quoteNum
else whereJson.quoteNum = _.neq(formData.quoteNum)
}
}
if (vk.pubfn.isNull(formData.showInAdmin)) whereJson.showInAdmin = 1
console.log('whereJson', whereJson)
res = await vk.baseDao.selects({
dbName: "jjx-process-sheet",
pageIndex,
pageSize,
whereJson,
getCount: true,
sortArr: normalizeSortRule(sortRule, [{"name": "_add_time", "type":"desc" }], ["_add_time"]),
foreignDB: [
{
dbName: "uni-id-users",
localKey: "userId",
foreignKey: "_id",
as: "user",
limit: 1, // limit=1则以对象形式返回
fieldJson: {
_id: true,
company: {
companyName: true
},
person: {
personName: true
},
businessCard: true,
accountType: true,
},
},
{
dbName: "jjx-process-quote",
localKey: "_id",
foreignKey: "sheetId",
as: "quoteList",
limit: 500, // limit=1则以对象形式返回
foreignDB: [
{
dbName: "uni-id-users",
localKey: "userId",
foreignKey: "_id",
as: "user",
limit: 1, // limit=1则以对象形式返回
fieldJson: {
_id: true,
company: {
companyName: true,
mobile: true,
},
person: {
personName: true,
mobile: true,
},
businessCard: true,
accountType: true,
},
}
]
},
]
});
for (let i = 0; i < res.rows.length; i++) {
res.rows[i].quote = await vk.baseDao.findByWhereJson({
dbName: 'jjx-process-quote',
whereJson: {
sheetId: res.rows[i]._id,
status: 1
}
})
const order = await vk.baseDao.findByWhereJson({
dbName: 'jjx-order',
whereJson: {
sheetId: res.rows[i]._id
}
})
if (order) {
res.rows[i].order = order
const payList = await vk.baseDao.select({
dbName: 'jjx-order-pay-list',
whereJson: {
orderId: order._id
}
})
res.rows[i].payList = null
if (payList) {
res.rows[i].payList = payList.rows
}
}
res.rows[i].contract = await vk.baseDao.findByWhereJson({
dbName: 'jjx-contract',
whereJson: {
sheetId: res.rows[i]._id
}
})
}
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}