Files
2026-10-08 18:18:21 +08:00

96 lines
3.3 KiB
JavaScript

'use strict';
const dbName = require("../../../../dao/config.js")
const dayjs = require("dayjs");
module.exports = {
/**
* 签署合同
* @url client/enquiry/quote/kh/extSign 前端调用的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 } = data;
let res = { code: 0, msg: "" };
// 业务逻辑开始-----------------------------------------------------------
// 获取用户ID
const {fadadaCustomerId, fadadaSealId} = userInfo
// if(!fadadaSealId) {
// return {
// code: -1,
// msg: '请在个人中心上传印章'
// }
// }
const contract = await vk.baseDao.findByWhereJson({
dbName: dbName.contract,
whereJson: {
_id: contractId,
}
})
// 时间判断
if (contract.signEndDate && dayjs(contract.signEndDate).isBefore(dayjs())) {
return {
code: -1,
msg: '合同已过期'
}
}
// 获取合同信息
const userContract = await vk.baseDao.selects({
dbName: dbName.userContract,
getMain: true,
getOne: true,
whereJson: {
contractId: contractId,
userId: uid
},
foreignDB:[
{
dbName: dbName.contract,
localKey:"contractId", // 主表外键字段名
foreignKey: "_id", // 副表外键字段名
as: "contract",
limit: 1, // 当limit = 1时,以对象形式返回,否则以数组形式返回
}
],
})
console.log('userContract: ',userContract);
let sign_keyword = '';
if(userContract.role === 'buyer') {
sign_keyword = userContract.contract.buyerSignKeyword
}else if(userContract.role === 'seller') {
sign_keyword = userContract.contract.sellerSignKeyword
}else if(userContract.role === 'third') {
sign_keyword = userContract.keyword
}
let return_url = 'https://www.jinjiuxinzg.cn/#/pages/contract/index?tab=1'
if (!data.isSignOnly) {
if (!!data.isWap) return_url = 'https://m.jinjiuxinzg.cn/#/pages/public/contract?tab=1'
}else {
if (!!data.isWap) return_url = 'https://m.jinjiuxinzg.cn/signOnly/#/pages/public/contract?tab=1'
else return_url = 'https://www.jinjiuxinzg.cn/signOnly/#/pages/contract/index?tab=1'
}
res.data = await pubFun.fadadaUrl('extsign.api', {
transaction_id: userContract.transactionId,
contract_id: contract.transactionId,
customer_id: fadadaCustomerId,
acrosspage_customer_id: fadadaCustomerId,
doc_title: userContract.contract.docTitle,
sign_keyword,
// notify_url: 'https://fc-mp-0737e52b-fffa-4223-bcdf-d4ad3d9968a5.next.bspapp.com/fadada_contract_notify',
// return_url: 'https://static-mp-0737e52b-fffa-4223-bcdf-d4ad3d9968a5.next.bspapp.com/#/pages/contract/index?tab=1'
notify_url: 'https://tcb-n44byxi8bmrfrki-d4bn1c4a206d.service.tcloudbase.com/fadada_contract_notify',
// return_url: 'https://tcb-nnexmh3j3i5hwh5-7caw62c422be-1252168680.tcloudbaseapp.com/#/pages/contract/index?tab=1'
return_url
})
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}