This commit is contained in:
2026-10-08 18:14:56 +08:00
parent dec4ebc773
commit 9cc1ff546c
1081 changed files with 238349 additions and 52163 deletions
@@ -0,0 +1,43 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url admin/article/category/sys/add 前端调用的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 adKey = parseInt(data.adKey)
const categoryFilterAdKeys = [9, 10, 11, 12, 13, 14, 112, 122]
if ([36, 37, 38].includes(adKey) && !data.spotGoodsId) {
return {code: -1, msg: '请选择现货'}
}
if (categoryFilterAdKeys.includes(adKey) && data.filterMode === 'category' && !(Array.isArray(data.categoryIds) ? data.categoryIds.length : (data.categoryId || data.categoryName))) {
return {code: -1, msg: '请选择分类'}
}
if (categoryFilterAdKeys.includes(adKey) && data.filterMode === 'category' && !(data.region && data.region.province && data.region.province.code)) {
return {code: -1, msg: '请选择区域'}
}
if (![36, 37, 38].includes(adKey) && data.filterMode !== 'category' && data.type === 'company' && !data.companyId) {
return {code: -1, msg: '请选择指定公司'}
}
if (![36, 37, 38].includes(adKey) && data.filterMode !== 'category' && data.type === 'goods' && !data.goodsId) {
return {code: -1, msg: '请选择指定商品'}
}
await vk.baseDao.add({
dbName: 'jjx-ad',
dataJson: data
});
// 业务逻辑结束-----------------------------------------------------------
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-ad',
id: data._id
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,60 @@
'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, pageIndex, pageSize, sortRule} = data;
let res = {code: 0, msg: ""};
// 业务逻辑开始-----------------------------------------------------------
const whereJson = {}
if (!vk.pubfn.isNull(data.formData) && !vk.pubfn.isNull(data.formData.adKey))
whereJson.adKey = data.formData.adKey
res = await vk.baseDao.selects({
dbName: 'jjx-ad',
pageIndex,
pageSize,
whereJson,
getCount: true,
sortArr: sortRule && sortRule.length ? sortRule : [
{name: "_add_time", type: "desc"},
],
});
for (let i = 0; i < res.rows.length; i++) {
if (res.rows[i].companyId) {
res.rows[i].company = await vk.baseDao.findByWhereJson({
dbName: 'uni-id-users',
whereJson: {
_id: res.rows[i].companyId
},
});
}
if (res.rows[i].goodsId) {
res.rows[i].goods = await vk.baseDao.findByWhereJson({
dbName: 'jjx-goods',
whereJson: {
_id: res.rows[i].goodsId
},
});
}
if (res.rows[i].spotGoodsId) {
res.rows[i].spotGoods = await vk.baseDao.findByWhereJson({
dbName: 'jjx-spot-goods',
whereJson: {
_id: res.rows[i].spotGoodsId
},
});
}
}
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,44 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url admin/article/category/sys/update 前端调用的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 adKey = parseInt(data.adKey)
const categoryFilterAdKeys = [9, 10, 11, 12, 13, 14, 112, 122]
if ([36, 37, 38].includes(adKey) && !data.spotGoodsId) {
return {code: -1, msg: '请选择现货'}
}
if (categoryFilterAdKeys.includes(adKey) && data.filterMode === 'category' && !(Array.isArray(data.categoryIds) ? data.categoryIds.length : (data.categoryId || data.categoryName))) {
return {code: -1, msg: '请选择分类'}
}
if (categoryFilterAdKeys.includes(adKey) && data.filterMode === 'category' && !(data.region && data.region.province && data.region.province.code)) {
return {code: -1, msg: '请选择区域'}
}
if (![36, 37, 38].includes(adKey) && data.filterMode !== 'category' && data.type === 'company' && !data.companyId) {
return {code: -1, msg: '请选择指定公司'}
}
if (![36, 37, 38].includes(adKey) && data.filterMode !== 'category' && data.type === 'goods' && !data.goodsId) {
return {code: -1, msg: '请选择指定商品'}
}
await vk.baseDao.updateById({
dbName: 'jjx-ad',
dataJson: data,
id: data._id
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,84 @@
'use strict';
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 = {
[data.field]: data.value
}
if (data.field === 'paidConfirm') {
dataJson.status = 1
const certificate = await vk.baseDao.findById({
dbName: "jjx-certificate",
id: data.id
});
const contract = await vk.baseDao.findById({
dbName: "jjx-contract",
id: certificate.contractId
});
const canDownloadUidList = []
if (!contract.canDownloadUidList) {
canDownloadUidList.push(certificate.uid)
} else {
canDownloadUidList.push(...contract.canDownloadUidList, certificate.uid)
}
await vk.baseDao.updateById({
dbName: "jjx-contract",
id: certificate.contractId,
dataJson: {
canDownloadUidList
}
});
const amount = certificate.amount
const orderId = await vk.baseDao.add({
dbName: "jjx-order",
dataJson: {
orderNo: vk.pubfn.createOrderNo("39XU", 20),
uid: certificate.uid,
orderStatus: 4,
type: 12,
amount,
offAmount: amount,
saveAmount: amount,
offRate: 100,
isInvoice: 1,
name: certificate.invoice.companyName,
code: certificate.invoice.taxNumber,
phone: certificate.invoice.phone,
bankAccount: certificate.invoice.bankAccount,
bankName: certificate.invoice.bankName,
}
})
await vk.baseDao.add({
dbName: "jjx-order-goods",
dataJson: {
orderId,
goodsId: certificate.contractId,
num: 1,
goodsName: `合同:${contract.transactionId}司法调证`,
goodsPrice: amount,
goodsCover: null,
}
})
}
await vk.baseDao.updateById({
dbName: "jjx-certificate",
id: data.id,
dataJson
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,60 @@
'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 = {}
res = await vk.baseDao.selects({
dbName: "jjx-certificate",
getCount: true,
pageIndex,
pageSize,
whereJson,
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-contract",
localKey: "contractId",
foreignKey: "_id",
as: "contract",
limit: 1, // limit=1则以对象形式返
},
]
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,34 @@
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 {
name,
field,
isOn,
} = data;
// 这里需要把 params1 params2 params3 改成你数据库里允许用户添加的字段
let dbName = "jjx-contract-template";
res.id = await vk.baseDao.add({
dbName,
dataJson: {
name,
field,
isOn,
}
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,39 @@
'use strict';
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: ""};
// 业务逻辑开始-----------------------------------------------------------
await vk.baseDao.updateById({
dbName: "jjx-contract-template",
id: data.id,
dataJson: {
[data.field]: data.value
}
});
if (data.field === "isOn" && data.value) {
await vk.baseDao.update({
dbName: "jjx-contract-template",
whereJson: {
_id: _.neq(data.id),
},
dataJson: {
"isOn": 0
}
});
}
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,30 @@
module.exports = {
/**
* 数据删除
* @url admin/kong/sys/delete 前端调用的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 } = data;
if(vk.pubfn.isNull(_id)){
return { code : -1, msg : 'id不能为空' };
}
let dbName = "jjx-contract-template";
await vk.baseDao.deleteById({
dbName: dbName,
id:_id
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,29 @@
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-contract-template";
res = await vk.baseDao.getTableData({
dbName,
data
});
return res;
}
}
@@ -0,0 +1,40 @@
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,
field,
isOn,
} = data;
// 这里需要把 params1 params2 params3 改成你数据库里允许用户添加的字段
if (vk.pubfn.isNullOne(_id)) {
return {code: -1, msg: '参数错误'};
}
let dbName = "jjx-contract-template";
await vk.baseDao.updateById({
dbName,
id: _id,
dataJson: {
name,
field,
isOn,
}
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,31 @@
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, sheetId} = data;
let res = {code: 0, msg: ''};
// 业务逻辑开始-----------------------------------------------------------
let dbName = "jjx-enquiry-quote";
res = await vk.baseDao.selects({
dbName,
whereJson: {
sheetId
}
});
return res;
}
}
@@ -0,0 +1,28 @@
'use strict';
module.exports = {
/**
* 认证审核
* @url admin/system/user/sys/changeStatus 前端调用的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 {id, field, value} = data
const dataJson = {}
dataJson[field] = value
const factoryData = await vk.baseDao.updateAndReturn({
dbName: 'jjx-factory',
whereJson: {
_id: id
},
dataJson
})
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,28 @@
'use strict';
module.exports = {
/**
* 认证审核
* @url admin/system/user/sys/changeStatus 前端调用的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 {id, field, value} = data
const dataJson = {}
dataJson[field] = value
await vk.baseDao.updateAndReturn({
dbName: 'jjx-goods',
whereJson: {
_id: id
},
dataJson
})
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,61 @@
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 {
name,
icon,
sort,
remark,
parent_id,
level
} = data;
let dbName = "jjx-industry";
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,29 @@
module.exports = {
/**
* 数据删除
* @url admin/kong/sys/delete 前端调用的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 } = data;
if(vk.pubfn.isNull(_id)){
return { code : -1, msg : 'id不能为空' };
}
let dbName = "jjx-industry";
await vk.baseDao.deleteById({
dbName,
id:_id
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,27 @@
'use strict';
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, sortRule } = data;
let res = { code: 0, msg: "" };
// 业务逻辑开始-----------------------------------------------------------
res = await vk.baseDao.selects({
dbName: "jjx-industry",
pageIndex,
pageSize,
getCount: true,
sortArr: sortRule && sortRule.length ? sortRule : [{"name": "sort", "type":"asc" }, {"name": "_add_time", "type":"desc" }],
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,67 @@
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-industry";
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,25 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url admin/article/category/sys/add 前端调用的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.add({
dbName: 'jjx-old-category',
dataJson: data
});
// 业务逻辑结束-----------------------------------------------------------
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-old-category',
id: data._id
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,69 @@
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, type, level, formData} = data;
let res = {code: 0, msg: ''};
// 业务逻辑开始-----------------------------------------------------------
const whereJson = {
parent_id: _.in([null, ""]),
_id: _.exists(true),
type
}
if (vk.pubfn.isNotNull(level) && level === 0) whereJson.parent_id = _.exists(false)
if (vk.pubfn.isNotNull(formData) && vk.pubfn.isNotNull(formData.type)) whereJson.type = formData.type
let dbName = "jjx-old-category";
res = await vk.baseDao.selects({
dbName,
pageIndex: 1,
pageSize: 500,
whereJson,
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: {
// }
// }
});
if (vk.pubfn.isNull(level)) {
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,32 @@
'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, formData } = data;
let res = { code: 0, msg: "" };
// 业务逻辑开始-----------------------------------------------------------
const whereJson = {}
if (vk.pubfn.isNotNull(formData.type)) whereJson.type = formData.type
res = await vk.baseDao.getTableData({
dbName: 'jjx-old-category',
whereJson,
sortArr: [
{ name: "sort", type: "asc" },
{ name: "_id", type: "desc" },
],
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,26 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url admin/article/category/sys/update 前端调用的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.updateById({
dbName: 'jjx-old-category',
dataJson: data,
id: data._id
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,53 @@
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, sheetId} = data;
let res = {code: 0, msg: ''};
// 业务逻辑开始-----------------------------------------------------------
let dbName = "jjx-old-quote";
res = await vk.baseDao.selects({
dbName,
whereJson: {
sheetId
},
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,
},
}
]
});
return res;
}
}
@@ -0,0 +1,71 @@
'use strict';
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: ""};
// 业务逻辑开始-----------------------------------------------------------
let offAmount = parseFloat(data.amount)
let saveAmount = 0, offRate = 100
const order = await vk.baseDao.findByWhereJson({
dbName: "jjx-order",
whereJson: {
_id: data._id
}
})
const user = await vk.baseDao.findByWhereJson({
dbName: "uni-id-users",
whereJson: {
uid: order.uid
}
})
if (user.userLevel > 0) {
const userLevel = await vk.baseDao.findByWhereJson({
dbName: "jjx-user-level",
whereJson: {
level: user.userLevel
}
})
if (userLevel) {
offRate = parseInt(userLevel.valueAddRate)
offAmount = (data.amount * (parseInt(userLevel.valueAddRate) / 100)).toFixed(2)
saveAmount = (data.amount - offAmount).toFixed(2)
}
}
await vk.baseDao.updateById({
dbName: "jjx-order",
id: data._id,
dataJson: {
amount: parseFloat(data.amount),
orderStatus: 0,
saveAmount,
offAmount,
offRate,
}
});
await vk.baseDao.update({
dbName: "jjx-order-goods",
whereJson:{
orderId: data._id
},
dataJson: {
goodsPrice: parseFloat(data.amount),
}
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,59 @@
'use strict';
/**
* 表单验证
*/
class Util {
constructor() {
}
/**
* 添加
*/
async add(event) {
let { data = {}, userInfo, util } = event;
let { vk } = util;
let res = { code: 0, msg: '' };
// 验证规则开始 -----------------------------------------------------------
let rules = {
name: [
// 必填
{ required: true, message: "名称不能为空", trigger: ['blur','change'] },
]
};
// 验证规则结束 -----------------------------------------------------------
// 开始进行验证
res = vk.pubfn.formValidate({
data: data,
rules: rules
});
// 返回验证结果
return res;
}
/**
* 修改
*/
async update(event) {
let { data = {}, userInfo, util } = event;
let { vk } = util;
let res = { code: 0, msg: '' };
// 验证规则开始 -----------------------------------------------------------
let rules = {
_id: [
{ required: true, message: 'id不能为空', trigger: 'blur' },
],
};
// 验证规则结束 -----------------------------------------------------------
// 开始进行验证
res = vk.pubfn.formValidate({
data: data,
rules: rules
});
// 返回验证结果
return res;
}
}
module.exports = new Util
@@ -0,0 +1,53 @@
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, sheetId} = data;
let res = {code: 0, msg: ''};
// 业务逻辑开始-----------------------------------------------------------
let dbName = "jjx-process-quote";
res = await vk.baseDao.selects({
dbName,
whereJson: {
sheetId
},
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,
},
}
]
});
return res;
}
}
@@ -0,0 +1,27 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url admin/article/category/sys/add 前端调用的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.add({
dbName: 'jjx-quote-num-config',
dataJson: {
...data
}
});
// 业务逻辑结束-----------------------------------------------------------
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-quote-num-config',
id: data._id
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,27 @@
'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, pageIndex, pageSize} = data;
let res = {code: 0, msg: ""};
// 业务逻辑开始-----------------------------------------------------------
res = await vk.baseDao.getTableData({
dbName: 'jjx-quote-num-config',
pageIndex,
pageSize,
sortArr: [{"name": "sort", "type": "asc"}],
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,26 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url admin/article/category/sys/update 前端调用的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.updateById({
dbName: 'jjx-quote-num-config',
dataJson: data,
id: data._id
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,27 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url admin/article/category/sys/add 前端调用的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.add({
dbName: 'jjx-qyb',
dataJson: {
...data
}
});
// 业务逻辑结束-----------------------------------------------------------
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-qyb',
id: data._id
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,27 @@
'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, pageIndex, pageSize} = data;
let res = {code: 0, msg: ""};
// 业务逻辑开始-----------------------------------------------------------
res = await vk.baseDao.getTableData({
dbName: 'jjx-qyb',
pageIndex,
pageSize,
sortArr: [{"name": "sort", "type": "asc"}],
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,26 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url admin/article/category/sys/update 前端调用的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.updateById({
dbName: 'jjx-qyb',
dataJson: data,
id: data._id
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,130 @@
'use strict';
const dayjs = require("dayjs");
var isBetween = require('dayjs/plugin/isBetween')
dayjs.extend(isBetween)
module.exports = {
/**
* XXXnameXXX
* @url admin/selfProduct/quote/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 {uid, quoteId, sheetId} = data;
let res = {code: 0, msg: ""};
// 业务逻辑开始-----------------------------------------------------------
const quote = await vk.baseDao.updateAndReturn({
dbName: "jjx-self-support-quote-list",
whereJson: {
_id: quoteId
},
dataJson: {
status: 1
},
})
const sheet = await vk.baseDao.updateAndReturn({
dbName: "jjx-self-support",
whereJson: {
_id: sheetId
},
dataJson: {
status: 2,
quoteUid: quote.uid
},
})
const fadadaContractId = vk.pubfn.createOrderNo("E", 20)
// 上传合同模板并填充
// 新增合同记录
const contractTransactionId = vk.pubfn.createOrderNo("C", 20)
const contractId = await vk.baseDao.add({
dbName: 'jjx-contract',
dataJson: {
fadadaContractId,
contractBase: '', // 原始合同
contractHistory: [], // 历史合同
contractFinal: '', // 归档合同
status: 0,
userId: sheet.uid,
type: 'self-support',
quoteId,
sheetId,
productList: null,
productTitle: `自营询价`,
tradeMethod: 1,
partyCount: 2,
signCount: 0,
contractType: null,
signMethod: 2,
sellerSupplement: null,
transactionId: contractTransactionId,
amount: quote.amount,
docTitle: '自营询价'
}
})
const checkMessage = await vk.baseDao.findByWhereJson({
dbName: "jjx-message-config",
whereJson: {
uid: sheet.uid
}
})
let send = true
if (checkMessage) {
// if (checkMessage.doNotDisturbRange && checkMessage.doNotDisturbRange[0]) {
// const date = dayjs().format("YYYY-MM-DD")
// const doNotDisturbRangeStart = dayjs(checkMessage.doNotDisturbRange[0]).format("HH:mm")
// const doNotDisturbRangeEnd = dayjs(checkMessage.doNotDisturbRange[1]).format("HH:mm")
// if (dayjs().isBetween(dayjs(`${date} ${doNotDisturbRangeStart}`), dayjs(`${date} ${doNotDisturbRangeEnd}`)))
// send = false
// }
const date = dayjs().format("YYYY-MM-DD")
if (checkMessage.doNotDisturbStart && checkMessage.doNotDisturbStart.length) {
const doNotDisturbRangeStart = dayjs(`${date} ${checkMessage.doNotDisturbStart[0]}:${checkMessage.doNotDisturbStart[1]}`).format("HH:mm")
const doNotDisturbRangeEnd = dayjs(`${date} ${checkMessage.doNotDisturbEnd[0]}:${checkMessage.doNotDisturbEnd[1]}`).format("HH:mm")
if (dayjs().isBetween(dayjs(`${date} ${doNotDisturbRangeStart}`), dayjs(`${date} ${doNotDisturbRangeEnd}`)))
send = false
}
}
if (send) {
await vk.baseDao.add({
dbName: "jjx-message",
dataJson: {
uid: sheet.uid,
title: `自营询价`,
content: `您的自营询价已选商,赶紧去看看吧`,
type: 'self-support-quote',
hasRead: false,
pk: sheetId
}
});
await pubFun.sendNotifySms(sheet.uid, 'SMS_474450034')
}
await vk.daoCenter.userContractDao.adds([
{
transactionId: vk.pubfn.createOrderNo("E", 20),
userId: quote.userId,
role: 'seller',
sign: false,
contractId
},
{
transactionId: vk.pubfn.createOrderNo("E", 20),
userId: sheet.uid,
role: 'buyer',
sign: false,
contractId
}
])
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,29 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url admin/selfProduct/quote/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 {uid, amount, files, remark} = data;
let res = {code: 0, msg: ""};
// 业务逻辑开始-----------------------------------------------------------
await vk.baseDao.update({
dbName: 'jjx-self-support-quote-list',
whereJson: {
_id: data._id
},
dataJson: {
amount, files, remark
}
})
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,49 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url admin/selfProduct/quote/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 {uid, pageIndex, pageSize, quoteId} = data;
let res = {code: 0, msg: ""};
// 业务逻辑开始-----------------------------------------------------------
res = await vk.baseDao.selects({
dbName: "jjx-self-support-quote-list",
pageSize: 999,
whereJson: {quoteId},
getCount: true,
sortArr: [{"name": "_add_time", "type": "desc"}],
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,
},
},
]
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,71 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url admin/selfProduct/quote/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 {uid, list, quoteId, desc} = data;
let res = {code: 0, msg: ""};
// 业务逻辑开始-----------------------------------------------------------
const dataJson = [], messageList = []
for (let i in list) {
dataJson.push({
status: 0,
userId: list[i],
amount: null,
files: null,
remark: null,
quoteId: quoteId
})
messageList.push({
uid: list[i],
title: `自营询价`,
content: `新的自营询价,赶紧去报价`,
type: 'self-support',
hasRead: false,
pk: quoteId
})
await pubFun.sendNotifySms(list[i], 'SMS_474160500')
}
await vk.baseDao.adds({
dbName: "jjx-self-support-quote-list",
dataJson
});
await vk.baseDao.updateById({
dbName: "jjx-self-support",
id: quoteId,
dataJson: {
status: 1,
desc: desc,
}
});
await vk.baseDao.update({
dbName: "jjx-self-support-quote-list",
whereJson: {
quoteId
},
dataJson: {
desc: desc,
}
});
if (messageList.length > 0) {
await vk.baseDao.adds({
dbName: "jjx-message",
dataJson: messageList
});
}
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,28 @@
'use strict';
module.exports = {
/**
* 查询商品分类列表
* @url client/product/category/pub/getAll 前端调用的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, whereJson } = data;
let res = { code: 0, msg: "" };
// 业务逻辑开始-----------------------------------------------------------
let dbName = "jjx-spot-category";
res.data = await vk.baseDao.selects({
dbName,
getMain: true,
whereJson,
pageSize: -1
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,28 @@
'use strict';
module.exports = {
/**
* 认证审核
* @url admin/system/user/sys/changeStatus 前端调用的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 {id, field, value} = data
const dataJson = {}
dataJson[field] = value
await vk.baseDao.updateAndReturn({
dbName: 'jjx-spot-goods',
whereJson: {
_id: id
},
dataJson
})
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,31 @@
'use strict';
module.exports = {
/**
* 认证审核
* @url admin/system/user/sys/changeStatus 前端调用的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 {id, permissionArea} = data
await vk.baseDao.updateAndReturn({
dbName: 'uni-id-users',
whereJson: {
_id: id
},
dataJson: {
permissionArea,
}
})
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,55 @@
'use strict';
module.exports = {
/**
* 认证审核
* @url admin/system/user/sys/changeCardStatus 前端调用的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 {id, status, refuseReason} = data
const user = await vk.baseDao.updateAndReturn({
dbName: 'uni-id-users',
whereJson:{
_id: id
},
dataJson: {
'businessCard.status': status,
'businessCard.refuseReason': refuseReason,
}
})
if (status === 1) {
const card = await vk.baseDao.findByWhereJson({
dbName: 'jjx-business-card',
whereJson:{
uid: id
}
})
await vk.baseDao.updateById({
dbName: 'uni-id-users',
id,
dataJson: {
businessCard: {
...card.businessCard,
status: 1
}
}
})
await vk.baseDao.del({
dbName: 'jjx-business-card',
whereJson:{
uid: id
}
})
}
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,29 @@
'use strict';
module.exports = {
/**
* 认证审核
* @url admin/system/user/sys/changeStatus 前端调用的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 {id, field, value} = data
let dataJson = {}
dataJson[field] = value
await vk.baseDao.updateAndReturn({
dbName: 'uni-id-users',
whereJson: {
_id: id
},
dataJson
})
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,33 @@
module.exports = {
/**
* 查询用户列表(可登录后台的)
* @url admin/system/user/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, userId} = data;
let res = {code: 0, msg: ''};
// 业务逻辑开始-----------------------------------------------------------
res = await vk.baseDao.select({
dbName: 'uni-id-users',
whereJson: {
inviter_uid: _.in([userId])
},
})
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,29 @@
'use strict';
module.exports = {
/**
* 认证审核
* @url admin/system/user/sys/changeStatus 前端调用的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 {id, } = data
res = await vk.baseDao.select({
dbName: 'jjx-company-manage-change-log',
whereJson: {
uid: data.userId,
},
sortArr: [{"name": "_add_time", "type": "desc"}],
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,32 @@
'use strict';
module.exports = {
/**
* 认证审核
* @url admin/system/user/sys/changeStatus 前端调用的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 {id, field, value} = data
for (let i = 0; i < data.list.length; i++) {
await vk.baseDao.update({
dbName: 'uni-id-users',
whereJson: {
_id: data.list[i]
},
dataJson: {
remainQuoteNum: _.inc(data.sendNum)
}
})
}
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,28 @@
'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, pageIndex, pageSize} = data;
let res = {code: 0, msg: ""};
// 业务逻辑开始-----------------------------------------------------------
await vk.baseDao.updateById({
dbName: 'jjx-user-article',
id: data.id,
dataJson: {
isShow: data.isShow
},
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,30 @@
'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, pageIndex, pageSize} = data;
let res = {code: 0, msg: ""};
// 业务逻辑开始-----------------------------------------------------------
res = await vk.baseDao.select({
dbName: 'jjx-user-article',
whereJson: {
uid: data.userId
},
pageIndex,
pageSize,
sortArr: [{"name": "_add_time", "type": "desc"}],
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,71 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url client/factory/kh/addUpdate 前端调用的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, _id, bankName, accountName, account, type, isDefault} = data;
let res = {code: 0, msg: ""};
// 业务逻辑开始-----------------------------------------------------------
if (isDefault) {
await vk.baseDao.update({
dbName: 'jjx-account',
whereJson: {
uid
},
dataJson: {
isDefault: false
}
})
}
if (vk.pubfn.isNotNull(_id)) {
await vk.baseDao.update({
dbName: 'jjx-account',
whereJson: {
_id,
uid
},
dataJson: {
bankName, accountName, account, type, isDefault
}
})
} else {
const check = await vk.baseDao.findByWhereJson({
dbName: 'jjx-account',
whereJson: {
uid,
account
}
})
if (check) {
res.code = -1;
res.msg = '账户已存在';
return res;
}
const count = await vk.baseDao.count({
dbName: 'jjx-account',
whereJson: {
uid
}
})
if (count === 0) isDefault = true
await vk.baseDao.add({
dbName: 'jjx-account',
dataJson: {
uid,
bankName, accountName, account, type, isDefault
}
})
}
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,49 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url client/factory/kh/addUpdate 前端调用的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, _id} = data;
let res = {code: 0, msg: ""};
// 业务逻辑开始-----------------------------------------------------------
const info = await vk.baseDao.findById({
dbName: "jjx-account",
id: _id
})
await vk.baseDao.del({
dbName: "jjx-account",
whereJson: {
uid, _id
}
});
if (info.isDefault) {
const firstOne = await vk.baseDao.findByWhereJson({
dbName: "jjx-account",
whereJson: {
uid
}
})
if (firstOne) {
await vk.baseDao.update({
dbName: "jjx-account",
whereJson:{
_id: firstOne._id
},
dataJson: {
isDefault: true
}
})
}
}
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,26 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url client/factory/kh/addUpdate 前端调用的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.selects({
dbName: "jjx-account",
whereJson: {
uid
}
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,26 @@
'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, adKey} = data;
let res = {code: 0, msg: "", data: null};
// 业务逻辑开始-----------------------------------------------------------
const ad = await vk.baseDao.findByWhereJson({
dbName: 'jjx-ad',
whereJson: {adKey},
});
if (ad) {
res.data = ad
}
// 业务逻辑结束-----------------------------------------------------------
// return res;
return res;
}
}
@@ -0,0 +1,129 @@
'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,
adKey,
region,
spotGoodsId,
categoryId,
categoryIds,
categoryName,
categoryNames,
} = data;
let res = {code: 0, msg: "", data: null};
// 业务逻辑开始-----------------------------------------------------------
const baseWhereJson = {adKey};
const categoryFilterAdKeys = [9, 10, 11, 12, 13, 14, 112, 122];
let whereJson = {adKey};
const emptyToNull = value => (value === '' || value === undefined || value === null) ? null : value
const appendRegionWhere = (target, provinceCode, cityCode, areaCode) => {
if (areaCode) {
target['region.area.code'] = areaCode;
} else if (cityCode) {
target['region.city.code'] = cityCode;
} else if (provinceCode) {
target['region.province.code'] = provinceCode;
}
return target
}
if (!vk.pubfn.isNull(spotGoodsId)) {
whereJson = {
...baseWhereJson,
spotGoodsId
};
} else {
let provinceCode = null
let cityCode = null
let areaCode = null
const categoryIdList = Array.isArray(categoryIds) ? categoryIds.filter(Boolean) : (vk.pubfn.isNotNull(categoryId) ? [categoryId] : [])
const categoryNameList = Array.isArray(categoryNames) ? categoryNames.filter(Boolean) : (vk.pubfn.isNotNull(categoryName) ? [categoryName] : [])
const categoryWhereList = []
if (!vk.pubfn.isNull(region)) {
if (typeof region === 'string' || typeof region === 'number') {
provinceCode = region
} else if (Array.isArray(region)) {
provinceCode = emptyToNull(region[0])
cityCode = emptyToNull(region[1])
areaCode = emptyToNull(region[2])
} else if (typeof region === 'object') {
provinceCode = emptyToNull(region.provinceCode || (region.province && region.province.code) || region.province)
cityCode = emptyToNull(region.cityCode || (region.city && region.city.code) || region.city)
areaCode = emptyToNull(region.areaCode || (region.area && region.area.code) || region.area)
}
}
const hasRegion = !!(provinceCode || cityCode || areaCode)
const hasCategoryFilter = categoryIdList.length > 0 || categoryNameList.length > 0
if (hasRegion && categoryIdList.length > 0) {
categoryWhereList.push(appendRegionWhere({
...baseWhereJson,
filterMode: 'category',
categoryId: _.in(categoryIdList)
}, provinceCode, cityCode, areaCode))
categoryWhereList.push(appendRegionWhere({
...baseWhereJson,
filterMode: 'category',
categoryIds: _.in(categoryIdList)
}, provinceCode, cityCode, areaCode))
}
if (hasRegion && categoryNameList.length > 0) {
categoryWhereList.push(appendRegionWhere({
...baseWhereJson,
filterMode: 'category',
categoryName: _.in(categoryNameList)
}, provinceCode, cityCode, areaCode))
categoryWhereList.push(appendRegionWhere({
...baseWhereJson,
filterMode: 'category',
categoryNames: _.in(categoryNameList)
}, provinceCode, cityCode, areaCode))
}
if (categoryFilterAdKeys.includes(parseInt(adKey)) && (hasRegion || categoryWhereList.length > 0)) {
const whereJsonList = []
if (hasRegion) {
const regionWhereJson = {
...baseWhereJson,
filterMode: _.or(_.eq('region'), _.exists(false))
}
appendRegionWhere(regionWhereJson, provinceCode, cityCode, areaCode)
whereJsonList.push(regionWhereJson)
}
whereJsonList.push(...categoryWhereList)
whereJson = whereJsonList.length === 1 ? whereJsonList[0] : _.or(whereJsonList)
} else if (hasRegion) {
whereJson = {...baseWhereJson}
appendRegionWhere(whereJson, provinceCode, cityCode, areaCode)
} else if (categoryFilterAdKeys.includes(parseInt(adKey)) && hasCategoryFilter) {
whereJson = {
...baseWhereJson,
filterMode: _.or(_.eq('region'), _.exists(false))
}
} else {
whereJson = baseWhereJson
}
}
console.log('whereJson', whereJson)
const ad = await vk.baseDao.select({
dbName: 'jjx-ad',
whereJson,
});
res.data = ad.rows
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,40 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url client/factory/kh/addUpdate 前端调用的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, _id, position, phone, name, email, idCard} = data;
let res = {code: 0, msg: ""};
// 业务逻辑开始-----------------------------------------------------------
if (vk.pubfn.isNotNull(_id)) {
await vk.baseDao.update({
dbName: 'jjx-business-contact',
whereJson: {
_id,
uid
},
dataJson: {
position, phone, name, email, idCard
}
})
}else {
await vk.baseDao.add({
dbName: 'jjx-business-contact',
dataJson: {
uid,
position, phone, name, email, idCard
}
})
}
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,26 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url client/factory/kh/addUpdate 前端调用的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, _id} = data;
let res = {code: 0, msg: ""};
// 业务逻辑开始-----------------------------------------------------------
await vk.baseDao.del({
dbName: "jjx-business-contact",
whereJson: {
uid, _id
}
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,26 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url client/factory/kh/addUpdate 前端调用的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.selects({
dbName: "jjx-business-contact",
whereJson: {
uid
}
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,27 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url client/cart/kh/getNum 前端调用的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.data = await vk.baseDao.count({
dbName: "jjx-cart",
getCount: true,
whereJson: {
uid
}
})
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,67 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url client/qyb/list/kh/buy 前端调用的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, contractId, contractNo, amount} = data;
let res = {code: 0, msg: ""};
// 业务逻辑开始-----------------------------------------------------------
const amountDict = await vk.baseDao.findById({
dbName: 'jjx-dict',
id: 'ded3e568662e5817000026633aad1e69'
})
let offAmount = amount
let saveAmount = 0, offRate = 100
if (userInfo.userLevel > 0) {
const userLevel = await vk.baseDao.findByWhereJson({
dbName: "jjx-user-level",
whereJson: {
level: userInfo.userLevel
}
})
if (userLevel) {
offRate = parseInt(userLevel.valueAddRate)
offAmount = (amount * (parseInt(userLevel.valueAddRate) / 100)).toFixed(2)
saveAmount = (amount - offAmount).toFixed(2)
}
}
const orderId = await vk.baseDao.add({
dbName: "jjx-order",
dataJson: {
orderNo: vk.pubfn.createOrderNo("39XU", 20),
uid,
orderStatus: 0,
type: 12,
amount,
offAmount,
saveAmount,
offRate,
}
})
await vk.baseDao.add({
dbName: "jjx-order-goods",
dataJson: {
orderId,
goodsId: contractId,
num: 1,
goodsName: `合同:${contractNo}司法调证`,
goodsPrice: amount,
goodsCover: null,
}
})
res.data = orderId
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,32 @@
'use strict';
const dbName = require('../../../../dao/config.js')
module.exports = {
/**
* 添加司法调证服务申请
* @url client/contract/certificate/add 前端调用的url参数地址
* data 请求参数
*/
main: async (event) => {
let { data = {}, userInfo, util, filterResponse, originalParam } = event;
let { customUtil, uniID, config, pubFun, vk, db, _ } = util;
let { uid } = userInfo;
let res = { code: 0, msg: "申请提交成功" };
// 业务逻辑开始-----------------------------------------------------------
// 生成交易编号
const orderNo = vk.pubfn.createOrderNo("C", 20);
// 添加司法调证服务记录
const certificateId = await vk.baseDao.add({
dbName: "jjx-certificate",
dataJson: {
userId: uid,
status: 0, // 0-待支付 1-已支付 2-处理中 3-已完成 4-已取消
...data
}
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,25 @@
'use strict';
const fs = require('fs');
const pdfParse = require('pdf-parse');
module.exports = {
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 fileUrl = data.fileUrl
const keywords = data.keywords
const dataBuffer = fs.readFileSync(fileUrl);
const { text } = await pdfParse(dataBuffer);
console.log('PDF全文:', text);
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,28 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url client/contract/kh/report 前端调用的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 {contract_id} = data;
let res = {code: 0, msg: ""};
// 业务逻辑开始-----------------------------------------------------------
await pubFun.fadada('contractFiling.api', {
contract_id
})
const result = await pubFun.fadada('downLoadContract.api', {
contract_id
})
console.log(result)
if (parseInt(result.code) === 1000) {
res.data = result
}
return res
// 业务逻辑结束-----------------------------------------------------------
}
}
@@ -0,0 +1,39 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url client/contract/kh/report 前端调用的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 {contract_id} = data;
let res = {code: 0, msg: ""};
// 业务逻辑开始-----------------------------------------------------------
// const fileContent = await pubFun.fadada('downLoadContract.api', {
// contract_id
// })
// const {fileID} = await uniCloud.uploadFile({
// cloudPath: md5(contract_id) + '.pdf',
// fileContent
// })
// const {fileList} = await uniCloud.getTempFileURL({
// fileList: [fileID]
// })
// res.data = fileList[0].tempFileURL
const timestamp = vk.pubfn.timeFormat(new Date(), "yyyyMMddhhmmss");
return {
code: 0,
msg: "",
data: {
msg_digest: pubFun.getFadadaSign('downLoadContract.api', {contract_id}, timestamp),
timestamp,
app_id: 502704
}
}
// 业务逻辑结束-----------------------------------------------------------
}
}
@@ -0,0 +1,39 @@
'use strict';
module.exports = {
/**
* 获取用户发布的询价单
* @url client/enquiry/sheet/pub/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 {uid, pageIndex, pageSize, keyword, categoryIds, provinceCodes, formData, status, isSeller} = data;
let res = {code: 0, msg: ""};
// 业务逻辑开始-----------------------------------------------------------
let dbName = "jjx-enquiry-quote";
let whereJson = {userId: uid};
res = await vk.baseDao.selects({
dbName,
pageIndex,
pageSize,
getCount: true,
whereJson,
sortArr: [{name: "_add_time", type: "desc"}],
foreignDB: [
{
dbName: "jjx-enquiry-sheet",
localKey: "sheetId",
foreignKey: "_id",
as: "sheet",
limit: 1,
},
]
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,26 @@
'use strict';
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 } = data;
let res = { code: 0, msg: "" };
// 业务逻辑开始-----------------------------------------------------------
res = await vk.baseDao.selects({
dbName: "jjx-ensure-config",
pageIndex,
pageSize,
sortArr: [{"name": "sort", "type":"asc" }, {"name": "_add_time", "type":"desc" }],
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,83 @@
'use strict';
const dbName = require("../../../../dao/config");
module.exports = {
/**
* XXXnameXXX
* @url client/factory/kh/addUpdate 前端调用的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 {pageSize, pageIndex, area} = data;
let res = {code: 0, msg: ""};
// 业务逻辑开始-----------------------------------------------------------
let companyList = []
if (!vk.pubfn.isNull(data.keyword)) {
companyList = await vk.baseDao.select({
dbName: dbName.user,
pageSize: 9999,
pageIndex: 1,
getMain: true,
whereJson: {
// accountType: 2,
"company.companyName": new RegExp(data.keyword)
}
})
}
const whereJson = {
status: 1,
isShow: true
}
if (companyList && companyList.length > 0) {
whereJson['uid'] = _.in(companyList.map(v => v.uid))
}
if (vk.pubfn.isNotNull(data.mainSpotCategory)) {
whereJson['mainSpotCategory'] = _.in([data.mainSpotCategory])
}
if (vk.pubfn.isNotNull(area)) {
if (area.length === 3) whereJson['addressRegion.area.code'] = area[2]
if (area.length === 2) whereJson['addressRegion.city.code'] = area[1]
if (area.length === 1) whereJson['addressRegion.province.code'] = area[0]
} else if (vk.pubfn.isNotNull(data.province)) {
whereJson['addressRegion.province.code'] = data.province
}
console.log('factory whereJson', whereJson)
const resData = await vk.baseDao.selects({
dbName: "jjx-factory",
whereJson,
pageSize,
pageIndex,
getCount: true,
foreignDB: [
{
dbName: "uni-id-users",
localKey: "uid",
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,
},
}
]
});
res.data = resData
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,29 @@
'use strict';
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 res = {code: 0, msg: ""};
// 业务逻辑开始-----------------------------------------------------------
res = await vk.baseDao.selects({
dbName: "jjx-industry",
pageIndex: 1,
pageSize: 500,
getCount: true,
sortArr: [
{"name": "sort", "type": "asc"},
{"name": "_add_time", "type": "desc"},
],
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,42 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url client/old/kh/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 {uid, pageIndex, pageSize = -1} = data;
let res = {code: 0, msg: ""};
// 业务逻辑开始-----------------------------------------------------------
let dbName = "jjx-old-quote";
let whereJson = {userId: uid};
res = await vk.baseDao.selects({
dbName,
pageIndex,
pageSize,
getCount: true,
whereJson,
sortArr: [{name: "_add_time", type: "desc"}],
foreignDB: [
{
dbName: "jjx-old",
localKey: "sheetId",
foreignKey: "_id",
as: "sheet",
limit: 1,
},
]
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,65 @@
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, type, level, formData} = data;
let res = {code: 0, msg: ''};
// 业务逻辑开始-----------------------------------------------------------
const whereJson = {
parent_id: _.in([null, ""]),
_id: _.exists(true),
type
}
let dbName = "jjx-old-category";
res = await vk.baseDao.selects({
dbName,
pageIndex: 1,
pageSize: 500,
whereJson,
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,67 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url client/order/kh/add 前端调用的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 amountItem = await vk.baseDao.findById({
dbName: 'jjx-dict',
id: '97843aa265d085bc0196c7801ce92114'
})
const amount = amountItem.content
let offAmount = amount
let saveAmount = 0, offRate = 100
if (userInfo.userLevel > 0) {
const userLevel = await vk.baseDao.findByWhereJson({
dbName: "jjx-user-level",
whereJson: {
level: userInfo.userLevel
}
})
if (userLevel) {
offRate = parseInt(userLevel.valueAddRate)
offAmount = (amount * (parseInt(userLevel.valueAddRate) / 100)).toFixed(2)
saveAmount = (amount - offAmount).toFixed(2)
}
}
const orderId = await vk.baseDao.add({
dbName: "jjx-order",
dataJson: {
orderNo: vk.pubfn.createOrderNo("39XU", 20),
uid,
orderStatus: 0,
type: 11,
amount,
offAmount,
saveAmount,
offRate,
}
})
await vk.baseDao.add({
dbName: "jjx-order-goods",
dataJson: {
orderId,
goodsId: '97843aa265d085bc0196c7801ce92114',
num: 1,
goodsName: '金久信学堂下载次数购买',
goodsPrice: amount,
goodsCover: null,
}
})
res.data = orderId
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,26 @@
'use strict';
const dayjs = require("dayjs");
module.exports = {
/**
* XXXnameXXX
* @url client/order/kh/changeOrderStatus 前端调用的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, orderStatus, sendMethod, resultFiles } = data;
let res = { code: 0, msg: "" };
// 业务逻辑开始-----------------------------------------------------------
data.isOpen = 0
await vk.baseDao.updateById({
dbName: "jjx-order",
id: data.id,
dataJson: data
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,29 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url client/order/kh/refund 前端调用的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, refundRefuseReason, orderStatus} = data;
let res = {code: 0, msg: ""};
// 业务逻辑开始-----------------------------------------------------------
await vk.baseDao.updateById({
dbName: "jjx-order",
id: data.id,
dataJson: {
refundRefuseReason,
orderStatus,
refundResponseAt: vk.pubfn.timeFormat(new Date(), "yyyy-MM-dd hh:mm:ss")
}
})
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,37 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url client/order/kh/resetOrderNo 前端调用的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 payRecord = await vk.baseDao.findById({
dbName: "jjx-order-pay-list",
id: data.id
});
if (payRecord && payRecord.hasPaid) {
res.data = payRecord.orderNo;
res.msg = "支付单已支付,无需重置订单号";
return res;
}
const orderNo = vk.pubfn.createOrderNo("39XU", 20)
await vk.baseDao.updateById({
dbName: "jjx-order-pay-list",
id: data.id,
dataJson: {
orderNo,
}
});
res.data = orderNo
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,26 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url client/otherArticle/list/pub/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 {uid} = data;
let res = {code: 0, msg: ""};
// 业务逻辑开始-----------------------------------------------------------
await vk.baseDao.updateById({
dbName: 'jjx-other-article',
dataJson: {
viewNum: _.inc(1)
},
id: data._id
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,41 @@
'use strict';
module.exports = {
/**
* 获取加工单
* @url client/process/pub/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 {uid, pageIndex, pageSize} = data;
let res = {code: 0, msg: ""};
// 业务逻辑开始-----------------------------------------------------------
let dbName = "jjx-process-quote";
let whereJson = {userId: uid};
res = await vk.baseDao.selects({
dbName,
pageIndex,
pageSize,
getCount: true,
whereJson,
sortArr: [{name: "_add_time", type: "desc"}],
foreignDB: [
{
dbName: "jjx-process-sheet",
localKey: "sheetId",
foreignKey: "_id",
as: "sheet",
limit: 1,
},
]
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,27 @@
'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, pageIndex, pageSize} = data;
let res = {code: 0, msg: ""};
// 业务逻辑开始-----------------------------------------------------------
res = await vk.baseDao.getTableData({
dbName: 'jjx-quote-num-config',
pageIndex,
pageSize,
sortArr: [{"name": "sort", "type": "asc"}],
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,56 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url client/qyb/list/kh/buy 前端调用的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, qybId} = data;
let res = {code: 0, msg: ""};
// 业务逻辑开始-----------------------------------------------------------
const {pageIndex, pageSize} = data
res = await vk.baseDao.selects({
dbName: 'jjx-sign-pay_list',
pageIndex,
pageSize,
whereJson: {
userId: uid
},
sortArr: [{"name": "_add_time", "type": "desc"}],
foreignDB: [
{
dbName: 'jjx-contract',
localKey: "contractId", // 主表外键字段名
foreignKey: "_id", // 副表外键字段名
as: "contract",
limit: 1, // 当limit = 1时,以对象形式返回,否则以数组形式返回
},
{
dbName: 'jjx-user-contract',
localKey: "contractId", // 主表外键字段名
foreignKey: "contractId", // 副表外键字段名
as: "userContract"
}
],
});
res.rows.map(item => {
if (item.userContract) {
let mineContract = null
item.userContract.map(c => {
c.isMine = c.userId === uid
if (c.isMine) mineContract = c
return c
})
item.mineContract = mineContract
}
return item
})
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,29 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url client/article/list/pub/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 {uid} = data;
let res = {code: 0, msg: ""};
// 业务逻辑开始-----------------------------------------------------------
const {pageIndex, pageSize} = data
res = await vk.baseDao.select({
dbName: 'jjx-qyb',
pageIndex,
pageSize,
sortArr: [
{name: "sort", type: "asc"}
],
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,33 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url client/selfSupport/kh/add 前端调用的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, quoteId, files, amount, remark} = data;
let res = {code: 0, msg: ""};
// 业务逻辑开始-----------------------------------------------------------
await vk.baseDao.update({
dbName: "jjx-self-support-quote-list",
whereJson: {
quoteId,
userId: uid
},
dataJson: {
files,
amount,
remark
}
})
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,27 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url client/selfSupport/kh/add 前端调用的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, _id} = data;
let res = {code: 0, msg: ""};
// 业务逻辑开始-----------------------------------------------------------
res = await vk.baseDao.findByWhereJson({
dbName: "jjx-self-support",
whereJson: {
_id
}
})
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,36 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url admin/selfProduct/order/sys/getDetail 前端调用的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, orderId} = data;
let res = { code: 0, msg: "" };
// 业务逻辑开始-----------------------------------------------------------
res.data = await vk.baseDao.findByWhereJson({
dbName: "jjx-order-selfProduct",
whereJson: {
orderId
}
})
if (res.data.companyId) {
res.data.company = await vk.baseDao.findByWhereJson({
dbName: "uni-id-users",
whereJson: {
_id: res.data.companyId
}
})
}
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,52 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url client/selfSupport/kh/add 前端调用的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, _id} = data;
let res = {code: 0, msg: ""};
// 业务逻辑开始-----------------------------------------------------------
res = await vk.baseDao.selects({
dbName: "jjx-self-support-quote-list",
getOne: true,
whereJson: {
quoteId: _id,
status: 1
},
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,
manager: {
personName: true
},
},
},
]
})
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,81 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url client/selfSupport/kh/add 前端调用的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, pageIndex, pageSize} = data;
let res = {code: 0, msg: ""};
// 业务逻辑开始-----------------------------------------------------------
const whereJson = {
userId: uid
}
if (vk.pubfn.isNotNull(data.status)) {
whereJson.status = parseInt(data.status)
}
res = await vk.baseDao.select({
dbName: "jjx-self-support-quote-list",
whereJson,
pageIndex,
pageSize,
sortArr: [
{name: "_add_time", type: "desc"},
],
})
for (let i in res.rows) {
const row = res.rows[i]
res.rows[i].sheet = await vk.baseDao.findByWhereJson({
dbName: 'jjx-self-support',
whereJson: {
_id: row.quoteId,
}
})
if (res.rows[i].sheet) {
res.rows[i].otherUser = await vk.baseDao.findById({
dbName: "uni-id-users",
id: res.rows[i].sheet.uid,
fieldJson: {
_id: true,
company: true,
person: true,
businessCard: true,
accountType: true,
}
})
res.rows[i].user = await vk.baseDao.findById({
dbName: "uni-id-users",
id: row.userId,
fieldJson: {
_id: true,
company: true,
person: true,
businessCard: true,
accountType: true,
}
})
res.rows[i].uid = res.rows[i].userId
if (row.status === 1) {
res.rows[i].contract = await vk.baseDao.findByWhereJson({
dbName: 'jjx-contract',
whereJson: {
sheetId: row.quoteId,
type: 'self-support',
},
})
}
} else delete res.rows[i]
}
res.rows = res.rows.filter(item => item)
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,60 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url client/timedTask/pub/task 前端调用的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: ""};
// 业务逻辑开始-----------------------------------------------------------
if (data.key !== 'lsgjoksdjf') return {code: 1, msg: '非法请求'}
// 自动确认收货
const autoConfirm = await vk.baseDao.findById({
dbName: 'jjx-dict',
id: "a72823ff65a4ea8e0730de3d2a14ba3f"
})
const checkRes = await vk.baseDao.select({
dbName: "jjx-order",
whereJson: {
orderStatus: _.in([2, 3]),
expressTime: _.lte(
vk.pubfn.getOffsetTime(new Date(), {
day: parseInt(autoConfirm.content),
mode: "before",
}))
}
})
console.log('checkRes', checkRes)
console.log('checkResDate', vk.pubfn.getOffsetTime(new Date(), {
day: parseInt(autoConfirm.content),
mode: "before",
}))
await vk.baseDao.update({
dbName: "jjx-order",
whereJson: {
orderStatus: _.in([2, 3]),
expressTime: _.lte(
vk.pubfn.getOffsetTime(new Date(), {
day: parseInt(autoConfirm.content),
mode: "before",
}))
},
dataJson: {
orderStatus: 4
}
})
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,90 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url client/timedTask/pub/task 前端调用的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: ""};
// 业务逻辑开始-----------------------------------------------------------
if (data.key !== 'lsgjoksdjf') return {code: 1, msg: '非法请求'}
const certificateList = await vk.baseDao.select({
dbName: "jjx-certificate",
whereJson: {
hasReport: false,
paidConfirm: true
}
});
// console.log('certificateList', certificateList)
const url = 'https://tczapi.fadada.com/czapi/api/compliance-contract-report'
// const url = 'https://czapi-test.fadada.com/evidence-api/api/compliance-contract-report'
for (let i = 0; i < certificateList.rows.length; i++) {
const certificate = certificateList.rows[i];
const contract = await vk.baseDao.findById({
dbName: "jjx-contract",
id: certificate.contractId
});
// console.log('contract', contract)
// console.log('deliveryMethods', certificate.deliveryMethods)
if (certificate.deliveryMethods.paper) {
const result = await pubFun.fadada(url, {
contractNum: contract.transactionId,
// contractNum: 'C2510141800348945357 ',
evidenceType: 0,
'reportExpressInfo.name': certificate.paperDelivery.receiver,
'reportExpressInfo.mobile': certificate.paperDelivery.phone,
'reportExpressInfo.address': certificate.paperDelivery.address,
}, true)
console.log('certificate', {
contractNum: contract.transactionId,
evidenceType: 0,
'reportExpressInfo.name': certificate.paperDelivery.receiver,
'reportExpressInfo.mobile': certificate.paperDelivery.phone,
'reportExpressInfo.address': certificate.paperDelivery.address,
})
if (parseInt(result.code) === 1000) {
await vk.baseDao.update({
dbName: "jjx-certificate",
whereJson: {
contractId: certificate.contractId
},
dataJson: {
hasReport: true,
reportData: result.data
}
});
}
} else {
const result = await pubFun.fadada(url, {
contractNum: contract.transactionId,
evidenceType: 2
}, true)
// console.log('compliance-contract-report', result)
if (parseInt(result.code) === 1000) {
await vk.baseDao.update({
dbName: "jjx-certificate",
whereJson: {
contractId: certificate.contractId
},
dataJson: {
hasReport: true,
downloadUrl: result.data.downloadUrl,
reportData: result.data
}
});
}
}
}
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,26 @@
'use strict';
module.exports = {
/**
* 手动认证
* @url client/user/kh/addAuth 前端调用的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.updateById({
dbName: 'uni-id-users',
id: uid,
dataJson: {
fadadaUrl: data.url
}
})
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,26 @@
'use strict';
module.exports = {
/**
* 手动认证
* @url client/user/kh/addAuth 前端调用的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.updateById({
dbName: 'uni-id-users',
id: uid,
dataJson: {
userType: data.userType
}
})
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,110 @@
'use strict';
module.exports = {
/**
* 手动认证
* @url client/user/kh/updateLoginInfo 前端调用的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 inviter_uid = []
if (vk.pubfn.isNotNull(data.inviteCode)) {
const userByInviteCode = await vk.baseDao.findByWhereJson({
dbName: 'uni-id-users',
whereJson: {
my_invite_code: data.inviteCode
}
})
if (userByInviteCode) inviter_uid.push(userByInviteCode._id)
}
await vk.baseDao.updateById({
dbName: 'uni-id-users',
id: uid,
dataJson: {
accountType: data.accountType,
nickname: data.nickname,
inviter_uid
}
})
const fadadaRes = await pubFun.fadada('account_register.api', {
open_id: uid + 'fdd',
account_type: data.accountType.toString()
})
if (parseInt(fadadaRes.code) === 1) {
const oldNum = await vk.baseDao.findById({
dbName: 'jjx-dict',
id: '6587dd3ca09a9be7534ea88b'
})
await vk.baseDao.update({
dbName: "uni-id-users",
whereJson: {
_id: uid
},
dataJson: {
fadadaCustomerId: fadadaRes.data,
quoteTimes: 0,
person: {
personName: '',
addressRegion: {
province: {},
city: {},
area: {},
}
},
company: {
companyName: '',
addressRegion: {
province: {},
city: {},
area: {},
}
},
accountType: parseInt(data.accountType),
authStatus: -1,
userLevel: -1,
userGrade: 0,
paidEnsure: 0,
// 累计交易
transactionAmount: 0,
// 剩余询价次数
remainQuoteNum: 0,
// 剩余学堂下载次数
remainArticleDownloadNum: 3,
quoteExpiredAt: null,
inviteNum: 0,
// 签约宝次数
qybNum: 0,
fadadaConfirm: false,
mobile: '',
remainOldNum: oldNum.content,
topExpiredAt: null,
factoryStatus: -1,
}
});
await vk.baseDao.add({
dbName: "jjx-message",
dataJson: {
uid: uid,
title: '恭喜!您已注册成功!',
content: '尊敬的用户,恭喜您已经注册金久信钢铁交易平台,感谢您的支持!',
type: 'reg',
hasRead: false
}
});
}
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,30 @@
'use strict';
const dbName = require("../../../../dao/config");
module.exports = {
/**
* 企业用户列表
* @url client/user/pub/getCompany 前端调用的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, pageSize = 500, pageIndex = 1} = data;
let res = {code: 0, msg: ""};
const whereJson = {
factoryStatus: 1
}
// 业务逻辑开始-----------------------------------------------------------
res = await vk.baseDao.select({
dbName: dbName.user,
whereJson,
pageSize,
pageIndex,
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,45 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url client/factory/kh/addUpdate 前端调用的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, _id, title, content} = data;
let res = {code: 0, msg: ""};
// 业务逻辑开始-----------------------------------------------------------
if (vk.pubfn.isNotNull(_id)) {
await vk.baseDao.update({
dbName: 'jjx-user-article',
whereJson: {
_id,
uid
},
dataJson: {
uid,
title,
content,
isShow: 1
}
})
}else {
const addRes = await vk.baseDao.add({
dbName: 'jjx-user-article',
dataJson: {
uid,
title,
content,
isShow: 1
}
})
console.log(addRes)
}
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,27 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url client/factory/kh/addUpdate 前端调用的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, _id} = data;
let res = {code: 0, msg: ""};
// 业务逻辑开始-----------------------------------------------------------
await vk.baseDao.del({
dbName: "jjx-user-article",
whereJson: {
uid, _id
}
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,26 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url client/factory/kh/addUpdate 前端调用的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.selects({
dbName: "jjx-user-article",
whereJson: {
uid
}
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,32 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url client/factory/kh/addUpdate 前端调用的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, userId} = data;
let res = {code: 0, msg: ""};
// 业务逻辑开始-----------------------------------------------------------
res = await vk.baseDao.select({
dbName: "jjx-user-article",
pageIndex: 1, // 当前第几页
pageSize: 10,
whereJson: {
uid: userId,
isShow: 1
},
sortArr: [
{ name: "_id", type: "desc" }
],
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,171 @@
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
const CryptoJS = require("crypto-js");
const request = require("request");
var AuthorizationType;
(function (AuthorizationType) {
AuthorizationType[AuthorizationType["OPEN-FORM-PARAM"] = 0] = "OPEN-FORM-PARAM";
AuthorizationType[AuthorizationType["OPEN-BODY-SIG"] = 1] = "OPEN-BODY-SIG";
AuthorizationType[AuthorizationType["OPEN-ACCESS-TOKEN"] = 2] = "OPEN-ACCESS-TOKEN";
})(AuthorizationType || (AuthorizationType = {}));
/**
* Open SDK for Node.JS
*/
class OpenSdk {
/**
* @class
* @param {OpenSdkConfig} config 初始化 SDK 配置
*/
constructor(config) {
if (!config.appId) {
throw Error('config.appId is required');
}
if (!config.appKey) {
throw Error('config.appKey is required');
}
this.config = config;
}
/**
* 生成请求字符串
* @param {QueryParams} params 请求参数
* @return {string} 请求字符串
*/
generateSignature(params) {
if (!AuthorizationType[params.authorization]) {
params.authorization = AuthorizationType['OPEN-BODY-SIG'];
}
let content = JSON.stringify(params.content);
if (params.authorization === AuthorizationType['OPEN-FORM-PARAM']) {
let contentHash = CryptoJS.SHA256(content).toString();
let signStr = this.config.appId + params.timestamp + params.nonce + contentHash;
let signature = CryptoJS.HmacSHA256(signStr, this.config.appKey);
let signatureStr = CryptoJS.enc.Base64.stringify(signature);
let signatureEncode = encodeURIComponent(signatureStr);
let str = `?authorization=${params.authorization}&appId=${this.config.appId}&timestamp=${params.timestamp}&nonce=${params.nonce}&content=${content}&signature=${signatureEncode}`;
return str;
}
if (params.authorization === AuthorizationType['OPEN-BODY-SIG']) {
let contentHash = CryptoJS.SHA256(content).toString();
let signStr = this.config.appId + params.timestamp + params.nonce + contentHash;
let signature = CryptoJS.HmacSHA256(signStr, this.config.appKey);
let signatureStr = CryptoJS.enc.Base64.stringify(signature);
return signatureStr;
}
if (params.authorization === AuthorizationType['OPEN-ACCESS-TOKEN']) {
let signStr = this.config.appId + params.timestamp + params.nonce + this.config.appKey;
let signatureStr = CryptoJS.SHA256(signStr).toString();
return signatureStr;
}
}
/**
* 发送请求
* @param {QueryParams} params 请求参数
* @return {Promise<OpenSdkCommonResult | string>} 请求执行结果
*/
exec(params) {
return __awaiter(this, void 0, void 0, function* () {
if (!params.queryUrl) {
throw Error('params.queryUrl is required');
}
if (!params.nonce) {
throw Error('params.nonce is required');
}
if (!params.timestamp) {
throw Error('params.timestamp is required');
}
const str = this.generateSignature(params);
const config = this.config;
if (params.authorization === AuthorizationType['OPEN-FORM-PARAM']) {
const Url = params.queryUrl + encodeURIComponent(str);
return new Promise((resolve, reject) => {
request(Url, (error, _response, body) => {
if (!error) {
if (typeof (body) === 'object') {
resolve(JSON.parse(body));
}
else {
resolve(body);
}
}
reject(error);
});
});
}
if (params.authorization === AuthorizationType['OPEN-BODY-SIG']) {
const Url = params.queryUrl;
return new Promise((resolve, reject) => {
request({
url: Url,
method: "POST",
headers: {
"Authorization": `OPEN-BODY-SIG AppId="${config.appId}", Timestamp="${params.timestamp}", Nonce="${params.nonce}", Signature="${str}"`,
},
body: JSON.stringify(params.content),
}, (error, _response, body) => {
if (!error) {
if (typeof (body) === 'object') {
resolve(JSON.parse(body));
}
else {
resolve(body);
}
}
reject(error);
});
});
}
if (params.authorization === AuthorizationType['OPEN-ACCESS-TOKEN']) {
const Url = params.queryUrl;
const token = yield new Promise((resolve, reject) => {
request({
url: 'https://test-api-open.chinaums.com/v1/token/access',
method: "POST",
body: JSON.stringify({
appId: config.appId,
timestamp: params.timestamp,
nonce: params.nonce,
signMethod: 'SHA256',
Signature: str
})
}, (error, _response, body) => {
if (!error) {
resolve(JSON.parse(body).accessToken);
}
reject(error);
});
});
return new Promise((resolve, reject) => {
request({
url: Url,
method: "POST",
headers: {
"Authorization": `OPEN-ACCESS-TOKEN AccessToken="${token}"`,
},
body: JSON.stringify(params.content),
}, (error, _response, body) => {
if (!error) {
if (typeof (body) === 'object') {
resolve(JSON.parse(body));
}
else {
resolve(body);
}
}
reject(error);
});
});
}
});
}
}
exports.default = OpenSdk;
//# sourceMappingURL=base.js.map