Files
jjx-web/uniCloud-tcb/cloudfunctions/router/service/client/process/quote/kh/confirmQuote.js
T
2026-10-08 18:18:21 +08:00

170 lines
5.1 KiB
JavaScript

'use strict';
const dbName = require('../../../../../dao/config.js')
module.exports = {
/**
* 同意合作
* @url client/enquiry/quote/kh/confirmQuote 前端调用的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
} = data;
let res = {
code: 0,
msg: ""
};
// 业务逻辑开始-----------------------------------------------------------
// 修改报价单状态
const quote = await vk.baseDao.updateAndReturn({
dbName: 'jjx-enquiry-quote',
whereJson: {
_id: quoteId,
status: 0
},
dataJson: {
status: 1
}
})
if (!quote) {
return {
code: -1,
msg: '请刷新页面'
}
}
// 获取乙方信息
const quoteUser = await vk.baseDao.select({
dbName: dbName.user,
getMain: true,
getOne: true,
whereJson: {
_id: quote.userId
}
})
// 获取询价单信息
const sheet = await vk.baseDao.selects({
dbName: dbName.enquirySheet,
whereJson: {_id: quote.sheetId},
getMain: true,
getOne: true
})
// 获取商品信息
const productTitle = sheet.productList.map(item => {
return item.goodsName
}).join("/")
if (sheet.signMethod !== 1) {
console.log('quote', quote)
console.log('sheet', sheet)
const fadadaContractId = vk.pubfn.createOrderNo("E", 20)
// 新增合同记录
const contractId = await vk.baseDao.add({
dbName: 'jjx-contract',
dataJson: {
fadadaContractId: fadadaContractId,
contractBase: '', // 原始合同
contractHistory: [], // 历史合同
contractFinal: '', // 归档合同
status: 0,
userId: uid,
type: 'enquiry',
quoteId: quoteId,
sheetId: quote.sheetId,
productList: quote.productList,
productTitle,
tradeMethod: quote.tradeMethod,
partyCount: 2,
signCount: 0,
contractType: sheet.contractType,
signMethod: sheet.signMethod,
sellerSupplement: sheet.sellerSupplement,
transactionId: vk.pubfn.createOrderNo("C", 20),
amount: quote.totalPrice,
docTitle: sheet.title,
}
})
await vk.baseDao.updateById({
dbName: 'jjx-enquiry-sheet',
id: quote.sheetId,
dataJson: {
status: 1
}
})
// await vk.baseDao.updateById({
// dbName: 'jjx-enquiry-quote',
// id: quoteId,
// dataJson: {
// status: 1
// }
// })
// 上传合同模板
//新增 用户与合同的关联记录
await vk.daoCenter.userContractDao.adds([
{
transactionId: vk.pubfn.createOrderNo("E", 20),
userId: uid,
role: 'buyer',
sign: false,
contractId
},
{
transactionId: vk.pubfn.createOrderNo("E", 20),
userId: quote.userId,
role: 'seller',
sign: false,
contractId
}
])
}else {
const orderId = await vk.baseDao.add({
dbName: "jjx-order",
dataJson: {
orderNo: vk.pubfn.createOrderNo("39XU", 20),
uid: uid,
sellerUid: quote.userId,
orderStatus: 0,
type: 4,
amount: quote.totalPrice,
sheetId: quote.sheetId,
}
})
await vk.baseDao.add({
dbName: "jjx-order-goods",
dataJson: {
orderId,
goodsId: null,
num: 1,
goodsName: '询价单',
goodsPrice: quote.totalPrice,
goodsCover: null,
}
})
}
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}