feat: 补齐客户端/管理端服务模块与数据库 schema,完善登录短信、法大大签署及公共函数
This commit is contained in:
@@ -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,51 @@
|
||||
'use strict';
|
||||
module.exports = {
|
||||
/**
|
||||
* XXXnameXXX
|
||||
* @url admin/selfProduct/order/sys/setCompany 前端调用的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, companyId } = data;
|
||||
let res = { code: 0, msg: "" };
|
||||
// 业务逻辑开始-----------------------------------------------------------
|
||||
|
||||
|
||||
await vk.baseDao.update({
|
||||
dbName: 'jjx-order-selfProduct',
|
||||
whereJson:{
|
||||
orderId
|
||||
},
|
||||
dataJson:{
|
||||
companyId,
|
||||
}
|
||||
})
|
||||
|
||||
await vk.baseDao.updateById({
|
||||
dbName: 'jjx-order',
|
||||
id: orderId,
|
||||
dataJson: {
|
||||
sellerUid: companyId,
|
||||
orderStatus: 11
|
||||
}
|
||||
})
|
||||
|
||||
await vk.baseDao.add({
|
||||
dbName: "jjx-message",
|
||||
dataJson: {
|
||||
uid: companyId,
|
||||
title: `您有新的自营增值服务派单`,
|
||||
content: `您有新的自营增值服务派单,赶紧去完成订单吧`,
|
||||
type: 'self-product',
|
||||
hasRead: false,
|
||||
}
|
||||
});
|
||||
await pubFun.sendNotifySms(companyId, 'SMS_474125515')
|
||||
|
||||
// 业务逻辑结束-----------------------------------------------------------
|
||||
return res;
|
||||
}
|
||||
}
|
||||
+130
@@ -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,90 @@
|
||||
'use strict';
|
||||
const normalizeSortRule = require('../../../utils/sortRule.js');
|
||||
|
||||
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, formData, sortRule} = data;
|
||||
let res = {code: 0, msg: ""};
|
||||
// 业务逻辑开始-----------------------------------------------------------
|
||||
|
||||
const whereJson = {};
|
||||
if (vk.pubfn.isNotNull(formData)) {
|
||||
if (vk.pubfn.isNotNull(formData.address)) whereJson['city.code'] = formData.address.city.code;
|
||||
}
|
||||
|
||||
// 区域限制
|
||||
if (userInfo.allowArea && userInfo.allowArea.length > 0) {
|
||||
whereJson['city.code'] = _.in(userInfo.allowArea.map(item => item.area.city.code));
|
||||
}
|
||||
|
||||
res = await vk.baseDao.selects({
|
||||
dbName: "jjx-self-support",
|
||||
pageIndex,
|
||||
pageSize,
|
||||
whereJson,
|
||||
getCount: true,
|
||||
sortArr: normalizeSortRule(sortRule, [{"name": "_add_time", "type": "desc"}], ["_add_time"]),
|
||||
foreignDB: [
|
||||
{
|
||||
dbName: "uni-id-users",
|
||||
localKey: "uid",
|
||||
foreignKey: "_id",
|
||||
as: "user",
|
||||
limit: 1, // limit=1则以对象形式返回
|
||||
fieldJson: {
|
||||
_id: true,
|
||||
company: {
|
||||
companyName: true
|
||||
},
|
||||
person: {
|
||||
personName: true
|
||||
},
|
||||
businessCard: true,
|
||||
accountType: true,
|
||||
},
|
||||
},
|
||||
]
|
||||
});
|
||||
|
||||
for (let i = 0; i < res.rows.length; i++) {
|
||||
const order = await vk.baseDao.findByWhereJson({
|
||||
dbName: 'jjx-order',
|
||||
whereJson: {
|
||||
sheetId: res.rows[i]._id
|
||||
}
|
||||
})
|
||||
if (order) {
|
||||
res.rows[i].order = order
|
||||
const payList = await vk.baseDao.select({
|
||||
dbName: 'jjx-order-pay-list',
|
||||
whereJson: {
|
||||
orderId: order._id
|
||||
}
|
||||
})
|
||||
res.rows[i].payList = null
|
||||
if (payList) {
|
||||
res.rows[i].payList = payList.rows
|
||||
}
|
||||
}
|
||||
res.rows[i].quote = await vk.baseDao.findByWhereJson({
|
||||
dbName: 'jjx-self-support-quote-list',
|
||||
whereJson: {
|
||||
quoteId: res.rows[i]._id,
|
||||
status: 1
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
// 业务逻辑结束-----------------------------------------------------------
|
||||
return res;
|
||||
}
|
||||
}
|
||||
+49
@@ -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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user