20261008
This commit is contained in:
@@ -0,0 +1,178 @@
|
||||
'use strict';
|
||||
const dayjs = require("dayjs");
|
||||
var isBetween = require('dayjs/plugin/isBetween')
|
||||
dayjs.extend(isBetween)
|
||||
|
||||
module.exports = {
|
||||
/**
|
||||
* 新增报价
|
||||
* @url client/enquiry/quote/kh/addQuote 前端调用的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, totalPrice} = data;
|
||||
let {company, manager, person, accountType} = userInfo
|
||||
let res = {code: 0, msg: ""};
|
||||
// 业务逻辑开始-----------------------------------------------------------
|
||||
|
||||
let noQuoteNo = false
|
||||
if (parseInt(userInfo.userLevel) < 3) {
|
||||
if (parseInt(userInfo.remainQuoteNum) === 0 || !userInfo.remainQuoteNum) {
|
||||
const checkSheetQuoteNum = await vk.baseDao.findById({
|
||||
dbName: "jjx-enquiry-sheet",
|
||||
id: data.sheetId
|
||||
})
|
||||
if (checkSheetQuoteNum.quoteAmount) {
|
||||
const checkQuoteNum = await vk.baseDao.findByWhereJson({
|
||||
dbName: "jjx-user-quote-num",
|
||||
whereJson: {
|
||||
uid,
|
||||
type: 'enquiry',
|
||||
sheetId: data.sheetId,
|
||||
}
|
||||
});
|
||||
if (!checkQuoteNum || checkQuoteNum.num === 0) noQuoteNo = true
|
||||
} else noQuoteNo = true
|
||||
}
|
||||
noQuoteNo = !!(userInfo.quoteExpiredAt && dayjs(userInfo.quoteExpiredAt).isBefore(dayjs()));
|
||||
}
|
||||
if (noQuoteNo) {
|
||||
return {
|
||||
code: 1,
|
||||
msg: "您的报价次数已过期/用完"
|
||||
}
|
||||
}
|
||||
if (userInfo.remainQuoteNum && userInfo.remainQuoteNum > 0) {
|
||||
await vk.baseDao.update({
|
||||
dbName: "uni-id-users",
|
||||
whereJson: {
|
||||
uid
|
||||
},
|
||||
dataJson: {
|
||||
remainQuoteNum: _.inc(-1)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
let subjectName = ''
|
||||
let subjectMobile = ''
|
||||
let managerName = ''
|
||||
let managerMobile = ''
|
||||
|
||||
const checkSheet = await vk.baseDao.findById({
|
||||
dbName: "jjx-enquiry-sheet",
|
||||
id: data.sheetId
|
||||
})
|
||||
|
||||
if (checkSheet.status > 0) return {
|
||||
code: -1,
|
||||
msg: "此询价单采购商已确认合作方,请您及时查看平台信息发布,及时报价,以免错过商机。"
|
||||
}
|
||||
|
||||
if (checkSheet.earnestMoney && checkSheet.earnestMoney > 0 && checkSheet.earnestMoney > userInfo.paidEnsure) {
|
||||
return {
|
||||
code: 12,
|
||||
msg: "您的保证金不足,请先缴纳保证金"
|
||||
}
|
||||
}
|
||||
|
||||
if (accountType === 1 && person.personName && person.mobile) {
|
||||
subjectName = person.personName
|
||||
subjectMobile = person.mobile
|
||||
} else {
|
||||
subjectName = company.companyName
|
||||
subjectMobile = company.mobile
|
||||
if (manager && manager.mobile && manager.personName) {
|
||||
managerName = manager.personName
|
||||
managerMobile = manager.mobile
|
||||
}
|
||||
}
|
||||
|
||||
// 添加报价单
|
||||
res.data = await vk.baseDao.add({
|
||||
dbName: "jjx-enquiry-quote",// 表名
|
||||
dataJson: { // 需要新增的数据 json格式
|
||||
...data,
|
||||
...{
|
||||
userId: data.uid,
|
||||
status: 0,
|
||||
subjectName,
|
||||
subjectMobile,
|
||||
managerName,
|
||||
managerMobile,
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
const sheet = await vk.baseDao.updateAndReturn({
|
||||
dbName: "jjx-enquiry-sheet",// 表名
|
||||
whereJson: {
|
||||
_id: data.sheetId,
|
||||
},
|
||||
dataJson: {
|
||||
quoteNum: _.inc(1)
|
||||
}
|
||||
})
|
||||
|
||||
await vk.baseDao.updateById({
|
||||
dbName: "uni-id-users",// 表名
|
||||
id: data.uid,
|
||||
dataJson: {
|
||||
quoteTimes: _.inc(1)
|
||||
}
|
||||
})
|
||||
|
||||
const checkMessage = await vk.baseDao.findByWhereJson({
|
||||
dbName: "jjx-message-config",
|
||||
whereJson: {
|
||||
enquiry: true,
|
||||
uid: sheet.userId
|
||||
}
|
||||
})
|
||||
|
||||
if (checkMessage) {
|
||||
let send = true
|
||||
// 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 (checkMessage.tradeAmount && checkMessage.tradeAmount[0]) {
|
||||
if (sheet.totalPrice < checkMessage.tradeAmount[0] || sheet.totalPrice > checkMessage.tradeAmount[1])
|
||||
send = false
|
||||
}
|
||||
if (send) {
|
||||
await vk.baseDao.add({
|
||||
dbName: "jjx-message",
|
||||
dataJson: {
|
||||
uid: sheet.userId,
|
||||
title: `找供应:${sheet.title}报价`,
|
||||
content: `您的找供应信息有新的报价,赶紧去看看吧`,
|
||||
type: 'enquiry',
|
||||
hasRead: false,
|
||||
pk: data.sheetId
|
||||
}
|
||||
});
|
||||
await pubFun.sendNotifySms(sheet.userId, 'SMS_493290524')
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// 业务逻辑结束-----------------------------------------------------------
|
||||
return res;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user