Commit 62fc7de1 by zhaoxiqing

gsb

parent 350d0abe
...@@ -9,6 +9,7 @@ module.exports = (db, DataTypes) => { ...@@ -9,6 +9,7 @@ module.exports = (db, DataTypes) => {
mainId: DataTypes.STRING, mainId: DataTypes.STRING,
secret: DataTypes.STRING, secret: DataTypes.STRING,
ecid: DataTypes.INTEGER, ecid: DataTypes.INTEGER,
params : DataTypes.TEXT,
entcontract_id: DataTypes.INTEGER, entcontract_id: DataTypes.INTEGER,
}, { }, {
paranoid: true, //假的删除 paranoid: true, //假的删除
...@@ -53,4 +54,4 @@ module.exports = (db, DataTypes) => { ...@@ -53,4 +54,4 @@ module.exports = (db, DataTypes) => {
// } // }
] ]
}); });
} }
\ No newline at end of file
...@@ -506,10 +506,11 @@ class DKcontractService extends ServiceBase { ...@@ -506,10 +506,11 @@ class DKcontractService extends ServiceBase {
}); });
} }
if (isNeedCreate) { if (isNeedCreate) {
var uidStr = await this.getUidStr(8, 36); var uidStr = await this.getUidStr(8, 36);
var thirdId = etemplate.id + "_" + eaccount.id + uidStr; var thirdId = etemplate.id + "_" + eaccount.id + uidStr;
//2.创建e签宝account 5.2.1 , 创建后save() //创建e签宝account 5.2.1 , 创建后save()
var params = { var params = {
thirdId: thirdId, thirdId: thirdId,
name: eaccount.userName, name: eaccount.userName,
...@@ -524,21 +525,34 @@ class DKcontractService extends ServiceBase { ...@@ -524,21 +525,34 @@ class DKcontractService extends ServiceBase {
} else { } else {
return this.returnjson(-1, "账户创建失败"); return this.returnjson(-1, "账户创建失败");
} }
}
// TODO 静默前授权 // 设置静默签署授权 5.2.5
if (!eaccount.isGrantAuto) {
var paramsGrant = {
grantAccountId: eaccount.eaccountid
};
var grantAuto = await this.utilesignbaoSve.grantAuthorization(paramsGrant, "econtractSve");
if (grantAuto.code != 1) {
return this.returnjson(-1, "静默签署设置失败");
}
eaccount.isGrantAuto = true;
await eaccount.save();
} }
dkecontract = { dkecontract = {
name: dkcompany.name, name: dkcompany.name,
dktemplate_id: ecid, dktemplate_id: ecid,
user_id: user.id, user_id: user.id,
usereaccount_id: eaccount.id, usereaccount_id: eaccount.id,
dkcompany_id: dkcompany.dkcompany, dkcompany_id: dkcompany.id,
edocid: "", edocid: "",
eflowid: "", eflowid: "",
esignUrl: "", esignUrl: "",
eflowstatus: "1", eflowstatus: "1",
} }
dkecontract = await this.create(dkecontract); dkecontract = await this.create(dkecontract);
var dkaggreement = await this.dkaggreementDao.findById(etemplate.dkaggreement_id); var dkaggreement = await this.dkaggreementDao.findById(etemplate.dkaggreement_id);
var params = { var params = {
templateId: dkaggreement.templateid, //模板id,由创建模板接口调用返回的templateId 必填 templateId: dkaggreement.templateid, //模板id,由创建模板接口调用返回的templateId 必填
...@@ -565,27 +579,7 @@ class DKcontractService extends ServiceBase { ...@@ -565,27 +579,7 @@ class DKcontractService extends ServiceBase {
var eBaoRedirectBossUrl = ""; var eBaoRedirectBossUrl = "";
var sealId = dkcompany.sealId; var sealId = dkcompany.sealId;
let tt = await this.utilesignbaoSve.userSignContractNoTemplate2(params, ebaoAccountId, thirdOrderNo, eBaoRedirectBossUrl, "econtractSve", sealId); let tt = await this.utilesignbaoSve.userAutoSignContractNoTemplate(params, ebaoAccountId, thirdOrderNo, eBaoRedirectBossUrl, "econtractSve", sealId);
// TODO 静默签代码
// var autoUserSignTaskParams = {
// flowId: tFlowId, //流程id-- 必填
// accountId: ebaoAccountId, //签署人账户id-- 必填
// thirdOrderNo: tThirdOrderNo, //第三方流水号,通知回调使用
// sealType: "0", //印章类型, 指定签署印章类型,0:手绘印章;1:模板印章-- 必填 ?????????????????????????????
// posList: [{
// signType: 1, //盖章位置定位方式,1关键字定位-- 必填
// key: "sealB" //-- 必填
// }]
// };
//
// //4.发起用户自动签署 5.5.3
// var autoUserSignTaskResult = await self.autoUserSignTask(autoUserSignTaskParams, opName, result);
// if (autoUserSignTaskResult.code != 1) {
// return result;
// }
// // 打开这行注释
// await this.archiveProcess({flowId: tFlowId}, opName);
console.log("-============= result ===========================", tt); console.log("-============= result ===========================", tt);
if (tt && tt.data && tt.code == 1) { if (tt && tt.data && tt.code == 1) {
dkecontract.eflowid = tt.data.flowId; dkecontract.eflowid = tt.data.flowId;
......
...@@ -24,7 +24,7 @@ class EntcontractService extends ServiceBase { ...@@ -24,7 +24,7 @@ class EntcontractService extends ServiceBase {
this.ecompanyDao = system.getObject("db.ecompanyDao"); this.ecompanyDao = system.getObject("db.ecompanyDao");
this.econtractDao = system.getObject("db.econtractDao"); this.econtractDao = system.getObject("db.econtractDao");
this.etemplatebusiDao = system.getObject("db.etemplatebusiDao"); this.etemplatebusiDao = system.getObject("db.etemplatebusiDao");
this.bankthreelogDao = system.getObject("db.bankthreelogDao"); this.bankthreelogDao = system.getObject("db.bankthreelogDao");
...@@ -232,7 +232,7 @@ class EntcontractService extends ServiceBase { ...@@ -232,7 +232,7 @@ class EntcontractService extends ServiceBase {
// mchtId: "1202848945651318786", // mchtId: "1202848945651318786",
appId: params.toAppId, appId: params.toAppId,
mchtId: params.toMcthid, mchtId: params.toMcthid,
ageFlag:0, ageFlag: 0,
type: "0",// 类型 0 一般纳税人 1 小规模纳税人 type: "0",// 类型 0 一般纳税人 1 小规模纳税人
companyName: params.merchantName,//商户名称 companyName: params.merchantName,//商户名称
mobile: params.mobile,//手机号 mobile: params.mobile,//手机号
...@@ -353,9 +353,9 @@ class EntcontractService extends ServiceBase { ...@@ -353,9 +353,9 @@ class EntcontractService extends ServiceBase {
await erchants.save(); await erchants.save();
} }
var etemplatebusi = await this.etemplatebusiDao.findOne({ var etemplatebusi = await this.etemplatebusiDao.findOne({
template_id:erchants.ecid, template_id: erchants.ecid,
busi_id:erchants.mchtId, busi_id: erchants.mchtId,
}); });
if (!etemplatebusi) { if (!etemplatebusi) {
this.etemplatebusiDao.create({ this.etemplatebusiDao.create({
...@@ -399,8 +399,7 @@ class EntcontractService extends ServiceBase { ...@@ -399,8 +399,7 @@ class EntcontractService extends ServiceBase {
} }
async yzMerchantAutoSigns(params, enttemplate) {
async yzMerchantAutoSigns(params,enttemplate){
//判断商户是否签约 //判断商户是否签约
var ecid = params.ecid; var ecid = params.ecid;
var unionId = params.appId + "_" + params.merchantId + "_" + params.idNo; var unionId = params.appId + "_" + params.merchantId + "_" + params.idNo;
...@@ -444,27 +443,34 @@ class EntcontractService extends ServiceBase { ...@@ -444,27 +443,34 @@ class EntcontractService extends ServiceBase {
} }
let res = { let res = {
code: 0, code: 0,
msg: "签约成功", msg: "执行成功",
data: { data: {
entcontract:entcontract.id, ecid: merchantSign.ecid,
appId: merchantSign.appId,
mchtId: merchantSign.mchtId,
mainId: merchantSign.mainId,
secret: merchantSign.secret,
}, },
}; }
return res; return res;
} }
var reso = await this.createYzMerchant_1(params,enttemplate); var reso = await this.createYzMerchant_1(params, enttemplate);
if(reso.code == -1){
if (reso.code == -1) {
return this.returnjson(-1, "签约失败"); return this.returnjson(-1, "签约失败");
} }
this.toSignUp(params,eaccount,user,entcontract,reso.erchants); this.toSignUp(params, eaccount, user, entcontract, reso.erchants);
return this.returnjson(0, "签约成功"); delete reso.erchants;
return reso;
} }
async createYzMerchant_1(params,enttemplate){ async createYzMerchant_1(params, enttemplate) {
var data = { var data = {
appId: enttemplate.appid, appId: enttemplate.appid,
mchtId: enttemplate.mcthid, mchtId: enttemplate.mcthid,
ageFlag:0, ageFlag: 0,
type: "0",// 类型 0 一般纳税人 1 小规模纳税人 type: "0",// 类型 0 一般纳税人 1 小规模纳税人
companyName: params.merchantName,//商户名称 companyName: params.merchantName,//商户名称
mobile: params.mobile,//手机号 mobile: params.mobile,//手机号
...@@ -514,6 +520,25 @@ class EntcontractService extends ServiceBase { ...@@ -514,6 +520,25 @@ class EntcontractService extends ServiceBase {
} }
]; ];
try { try {
var erchants = await this.yzmerchantsignedDao.findOne({
companyName: params.merchantName,
});
if (erchants) {
return {
code: 0,
msg: "执行成功",
data: {
ecid: erchants.ecid,
appId: erchants.appId,
mchtId: erchants.mchtId,
mainId: erchants.mainId,
secret: erchants.secret,
},
erchants: erchants
}
}
let url = settings.apiconfig.settleApiConfig().createMerchantApi; let url = settings.apiconfig.settleApiConfig().createMerchantApi;
console.log("有赞商户创建url:", url); console.log("有赞商户创建url:", url);
let rs = await axios({ let rs = await axios({
...@@ -522,34 +547,30 @@ class EntcontractService extends ServiceBase { ...@@ -522,34 +547,30 @@ class EntcontractService extends ServiceBase {
data: data, data: data,
}); });
var reso = rs.data; var reso = rs.data;
if(reso.code == -1){ if (reso.code == -1) {
console.log("有赞创建商户错误===========", reso) console.log("有赞创建商户错误===========", reso)
return reso; return reso;
} }
var erchants = await this.yzmerchantsignedDao.findOne({
erchants = {
companyName: params.merchantName, companyName: params.merchantName,
}); appId: reso.data.appId,
if (!erchants) { mchtId: reso.data.mchtId,
erchants = { mainId: reso.data.mainId,
companyName: params.merchantName, secret: reso.data.secret,
appId: reso.data.appId, params: JSON.stringify(params),
mchtId: reso.data.mchtId, ecid: 10287
mainId: reso.data.mainId, };
secret: reso.data.secret, try {
params: JSON.stringify(params), erchants = await this.yzmerchantsignedDao.create(erchants);
ecid: 10287 } catch (e) {
}; console.log("c_yzmerchant_signed插入失败", erchants);
try { console.log(e.stack);
erchants = await this.yzmerchantsignedDao.create(erchants);
} catch (e) {
console.log("c_yzmerchant_signed插入失败", erchants);
console.log(e.stack);
}
} }
var etemplatebusi = await this.etemplatebusiDao.findOne({ var etemplatebusi = await this.etemplatebusiDao.findOne({
template_id:erchants.ecid, template_id: erchants.ecid,
busi_id:erchants.mchtId, busi_id: erchants.mchtId,
}); });
if (!etemplatebusi) { if (!etemplatebusi) {
this.etemplatebusiDao.create({ this.etemplatebusiDao.create({
...@@ -563,12 +584,12 @@ class EntcontractService extends ServiceBase { ...@@ -563,12 +584,12 @@ class EntcontractService extends ServiceBase {
return reso; return reso;
} catch (e) { } catch (e) {
console.log(e.stack); console.log(e.stack);
return {code : -1,message:"操作异常"}; return {code: -1, message: "操作异常"};
} }
} }
async toSignUp(params,eaccount,user,entcontract,erchants){ async toSignUp(params, eaccount, user, entcontract, erchants) {
var ecid = params.ecid; var ecid = params.ecid;
var unionId = params.appId + "_" + params.merchantId + "_" + params.idNo; var unionId = params.appId + "_" + params.merchantId + "_" + params.idNo;
// enttemplate 模板查询 // enttemplate 模板查询
...@@ -682,9 +703,10 @@ class EntcontractService extends ServiceBase { ...@@ -682,9 +703,10 @@ class EntcontractService extends ServiceBase {
params.key = enttemplate.key; params.key = enttemplate.key;
// 合同下载任务 // 合同下载任务
this.redisClient.rpushBCD({id: entcontract.id, sve: "ent"}); this.redisClient.rpushBCD({id: entcontract.id, sve: "ent"});
console.log("===============有赞商户签约异步签约成功===============", new Date()) console.log("===============有赞商户签约异步签约成功===============", new Date())
} else {
console.log(new Date(), "===============有赞商户签约异步签约失败===============", tt)
} }
console.log(new Date(),"===============有赞商户签约异步签约失败===============",tt)
} }
...@@ -1089,7 +1111,7 @@ class EntcontractService extends ServiceBase { ...@@ -1089,7 +1111,7 @@ class EntcontractService extends ServiceBase {
try { try {
let contract = await this.dao.findById(id); let contract = await this.dao.findById(id);
if (!contract || contract.eflowstatus != "2" || contract.fileurl) { if (!contract || contract.eflowstatus != "2" || contract.fileurl) {
return ; return;
} }
//await this.syncYzSign(2134); //await this.syncYzSign(2134);
...@@ -1165,11 +1187,11 @@ class EntcontractService extends ServiceBase { ...@@ -1165,11 +1187,11 @@ class EntcontractService extends ServiceBase {
console.log(JSON.stringify(param)); console.log(JSON.stringify(param));
var rs = ""; var rs = "";
try { try {
rs = await axios({ rs = await axios({
method: 'post', method: 'post',
url: this.YZHDURL, url: this.YZHDURL,
data: param, data: param,
headers: {'X-Service-Chain': {"name":"prj0015875"}}, headers: {'X-Service-Chain': {"name": "prj0015875"}},
}); });
} catch (error) { } catch (error) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment