Commit 15b50124 by wkliang

v0.8.0

parent bbba3126
...@@ -41,5 +41,9 @@ class TrademarkcaseCtl extends CtlBase { ...@@ -41,5 +41,9 @@ class TrademarkcaseCtl extends CtlBase {
return system.getResultFail(error.message) return system.getResultFail(error.message)
} }
} }
async pushQfTest(pobj, qobj, req) {
return await this.service.pushQf(pobj.id)
}
} }
module.exports = TrademarkcaseCtl; module.exports = TrademarkcaseCtl;
...@@ -20,6 +20,10 @@ class TrademarkcaseDao extends Dao { ...@@ -20,6 +20,10 @@ class TrademarkcaseDao extends Dao {
break break
case '/myaskfor/pendingservice': case '/myaskfor/pendingservice':
qw.tradeStatus = '待完善材料' qw.tradeStatus = '待完善材料'
break
case '/rejaskmanage/officalManager':
qw.offical = { [this.db.Op.ne]: null }
break
} }
qc.raw = true; qc.raw = true;
return qw; return qw;
......
const system = require("../../../system"); const system = require("../../../system");
const ServiceBase = require("../../sve.base"); const ServiceBase = require("../../sve.base");
const settings = require('../../../../config/settings')
class TrademarkcaseService extends ServiceBase { class TrademarkcaseService extends ServiceBase {
constructor() { constructor() {
super("rejreex", ServiceBase.getDaoName(TrademarkcaseService)) super("rejreex", ServiceBase.getDaoName(TrademarkcaseService))
this.agentDao = system.getObject("db.rejreex.agentDao") this.agentDao = system.getObject("db.rejreex.agentDao")
this.applicantDao = system.getObject('db.rejreex.applicantDao') this.applicantDao = system.getObject('db.rejreex.applicantDao')
this.restClient = system.getObject("util.restClient")
this.tkurl = settings.qftkurl()
this.qfurl = settings.qifuurl()
} }
async createOrUpdate (params) { async createOrUpdate (params) {
console.log(params)
let isOrder = undefined let isOrder = undefined
if (params.orderId) { if (params.orderId) {
isOrder = await this.dao.findOne({ orderId: params.orderId }) isOrder = await this.dao.findOne({ orderId: params.orderId })
} }
if (isOrder) { if (isOrder) {
params.id = isOrder.id params.id = isOrder.id
// this.pushQf(params.id)
return await this.dao.update(params) return await this.dao.update(params)
} else { } else {
params.recDate = new Date() params.recDate = new Date()
if (params.id) { if (params.id) {
let statusArr = ["待完善材料", "待审核", "申请递交中"] let statusArr = ["待完善材料", "待审核", "申请递交中"]
let dt = await this.dao.findOne({id: params.id}) let dt = await this.dao.findOne({ id: params.id })
if(statusArr.indexOf(dt.tradeStatus) != -1) { if (statusArr.indexOf(dt.tradeStatus) != -1) {
params.rejStatus = '待提报' params.rejStatus = '待提报'
} }
if (params.askforData && params.askforData.rmLicense) { if (params.askForData && params.askForData.rmLicense) {
if (statusArr.indexOf(dt.tradeStatus) != -1) { if (statusArr.indexOf(dt.tradeStatus) != -1) {
params.caStatus = "待提报" params.caStatus = "待提报"
} }
...@@ -31,17 +37,20 @@ class TrademarkcaseService extends ServiceBase { ...@@ -31,17 +37,20 @@ class TrademarkcaseService extends ServiceBase {
if (params.usccode && params.applicant && params.applicant.applicantName) { if (params.usccode && params.applicant && params.applicant.applicantName) {
let sql = "" let sql = ""
sql = `UPDATE trademarkcase SET applicant=json_set(applicant, '$.applicantName', "${params.applicant.applicantName}"), ${params.tradeType ? `tradeType=${params.tradeType}` : ""}, ${params.usccode ? `usccode="${params.usccode}"` : ""}, ${params.agentName ? `agentName="${params.agentName}"` : ""}, ${params.askforId ? `askforId="${params.askforId}"` : ""} WHERE id = ${params.id};` sql = `UPDATE trademarkcase SET applicant=json_set(applicant, '$.applicantName', "${params.applicant.applicantName}"), ${params.tradeType ? `tradeType=${params.tradeType}` : ""}, ${params.usccode ? `usccode="${params.usccode}"` : ""}, ${params.agentName ? `agentName="${params.agentName}"` : ""}, ${params.askforId ? `askforId="${params.askforId}"` : ""} WHERE id = ${params.id};`
// this.pushQf(params.id)
return await this.dao.customExecAddOrPutSql(sql); return await this.dao.customExecAddOrPutSql(sql);
} else { } else {
// this.pushQf(params.id)
return await this.dao.update(params) return await this.dao.update(params)
} }
} else { } else {
if (params.askforData && params.askforData.rmLicense) { if (params.askForData && params.askForData.rmLicense) {
params.caStatus = "待提报" params.caStatus = "待提报"
} }
if (!params.caseId) { if (!params.caseId) {
params.caseId = `CS${new Date().getTime()}ae${Math.floor(Math.random() * 100)}` params.caseId = `CS${new Date().getTime()}ae${Math.floor(Math.random() * 100)}`
} }
// this.pushQf(params.orderId, 'od')
return await this.dao.create(params) return await this.dao.create(params)
} }
} }
...@@ -62,5 +71,63 @@ class TrademarkcaseService extends ServiceBase { ...@@ -62,5 +71,63 @@ class TrademarkcaseService extends ServiceBase {
return await this.dao.findAndCountAll(params) return await this.dao.findAndCountAll(params)
// return await this.dao.model.findAndCountAll(query) // return await this.dao.model.findAndCountAll(query)
} }
async pushQf (id, tp) {
let tmpdata
if (tp == 'od') {
tmpdata = await this.dao.findOne({ orderId: id })
} else {
tmpdata = await this.dao.findOne({ id })
}
let reqdata = this.orgdata(tmpdata)
let req = {
actionType: "getAppTokenByHosts",
actionBody: {}
}
let tkurl = this.tkurl
let tokenData = await this.restClient.execPost(req, tkurl)
console.log(tokenData)
tokenData = JSON.parse(tokenData.stdout)
if (tokenData.status == 0) {
let token = tokenData.data.token
console.log(token)
let qfurl = this.qfurl
req.actionType = "receiveDeliveryData"
req.actionBody = reqdata
let res = await this.restClient.execPostWithToken(req, qfurl, token)
console.log(res)
return res
} else {
return "--"
}
}
orgdata (data) {
let datat = {}
datat.orderNo = data.orderId
let apply = {
askforId: data.askforId,
tradeImg: data.tradeImg,
tradeType: data.tradeType,
applicantName: data.v_applicantName,
usccode: data.usccode,
agentname: data.agentName
}
datat.apply = apply
datat.applyUser = data.applicant
datat.applyUser.usccode = data.usccode
datat.trademarkRejInfo = data.trademarkRejInfo
datat.askForData = data.askForData
datat.deliveryStatusName = data.tradeStatus
datat.supData = data.supData
datat.recDate = data.recDate
datat.askforDate = data.askforDate
return datat
}
} }
module.exports = TrademarkcaseService; module.exports = TrademarkcaseService;
...@@ -2,157 +2,201 @@ var childproc = require('child_process'); ...@@ -2,157 +2,201 @@ var childproc = require('child_process');
const util = require('util'); const util = require('util');
const exec = util.promisify(require('child_process').exec); const exec = util.promisify(require('child_process').exec);
const querystring = require('querystring'); const querystring = require('querystring');
var settings=require("../../config/settings"); var settings = require("../../config/settings");
class RestClient{ const axios = require('axios')
constructor(){ class RestClient {
this.cmdGetPattern = "curl {-G} -k -d '{data}' {url}"; constructor() {
this.cmdPostPattern="curl -k -H 'Content-type: application/json' -d '{data}' {url}"; this.cmdGetPattern = "curl {-G} -k -d '{data}' {url}";
this.cmdDownLoadFilePattern="curl -G -o {fileName} {url}"; this.cmdPostPattern = "curl -k -H 'Content-type: application/json' -d '{data}' {url}";
this.cmdPostPattern2="curl -k -H 'Content-type: application/x-www-form-urlencoded' -d '{data}' {url}"; this.cmdDownLoadFilePattern = "curl -G -o {fileName} {url}";
this.cmdPostPatternWithAK="curl -k -H 'Content-type: application/json' -H 'AccessKey:{ak}' -d '{data}' {url}"; this.cmdPostPattern2 = "curl -k -H 'Content-type: application/x-www-form-urlencoded' -d '{data}' {url}";
//云帐户 this.cmdPostPatternWithAK = "curl -k -H 'Content-type: application/json' -H 'AccessKey:{ak}' -d '{data}' {url}";
// this.cmdPostPattern3="curl -k -H 'Content-type: application/x-www-form-urlencoded' -H 'dealer-id:"+settings.apiconfig.yunzhanghuDealer_id()+"' -H 'request-id:"+parseInt(Date.now() / 1000)+"_gsb"+"' -d '{data}' {url}"; this.cmdPostPatternWithToken = "curl -k -H 'Content-type: application/json' -H 'token:{token}' -d '{data}' {url}";
// this.cmdGetPattern3 = "curl {-G} -k {url} --header 'dealer-id:"+settings.apiconfig.yunzhanghuDealer_id()+"'"; //云帐户
//e签宝 // this.cmdPostPattern3="curl -k -H 'Content-type: application/x-www-form-urlencoded' -H 'dealer-id:"+settings.apiconfig.yunzhanghuDealer_id()+"' -H 'request-id:"+parseInt(Date.now() / 1000)+"_gsb"+"' -d '{data}' {url}";
//this.cmdPostPattern4="curl -k -H 'Content-type: application/json' -H 'X-Tsign-Open-App-Id:"+settings.apiconfig.eSignBaoAppId()+"' -H 'X-Tsign-Open-App-Secret:"+settings.apiconfig.eSignBaoAppKey()+"' -d '{data}' {url}"; // this.cmdGetPattern3 = "curl {-G} -k {url} --header 'dealer-id:"+settings.apiconfig.yunzhanghuDealer_id()+"'";
//e签宝
//this.cmdPostPattern4="curl -k -H 'Content-type: application/json' -H 'X-Tsign-Open-App-Id:"+settings.apiconfig.eSignBaoAppId()+"' -H 'X-Tsign-Open-App-Secret:"+settings.apiconfig.eSignBaoAppKey()+"' -d '{data}' {url}";
// form-data形式post data参数类型 md5=2&data=1 // form-data形式post data参数类型 md5=2&data=1
this.cmdPostPattern5="curl -k --data '{data}' {url}"; this.cmdPostPattern5 = "curl -k --data '{data}' {url}";
} }
FetchGetCmd(subData, url) { FetchGetCmd (subData, url) {
var cmd = this.cmdGetPattern.replace(/\{\-G\}/g, "-G").replace( var cmd = this.cmdGetPattern.replace(/\{\-G\}/g, "-G").replace(
/\{data\}/g, subData).replace(/\{url\}/g, url); /\{data\}/g, subData).replace(/\{url\}/g, url);
return cmd; return cmd;
} }
FetchPostCmd(subData, url) { FetchPostCmd (subData, url) {
var data=JSON.stringify(subData); var data = JSON.stringify(subData);
var cmd= this.cmdPostPattern.replace(/\{data\}/g, var cmd = this.cmdPostPattern.replace(/\{data\}/g,
data).replace(/\{url\}/g, url); data).replace(/\{url\}/g, url);
return cmd; return cmd;
} }
FetchPostCmdWithAK(subData, url,acck) { FetchPostCmdWithAK (subData, url, acck) {
var data=JSON.stringify(subData); var data = JSON.stringify(subData);
var cmd= this.cmdPostPatternWithAK.replace(/\{data\}/g, var cmd = this.cmdPostPatternWithAK.replace(/\{data\}/g,
data).replace(/\{url\}/g, url).replace(/\{ak\}/g,acck); data).replace(/\{url\}/g, url).replace(/\{ak\}/g, acck);
return cmd; return cmd;
} }
FetchPostCmd2(subData, url) { FetchPostCmdWithToken (subData, url, acck) {
var data=subData; var data = JSON.stringify(subData);
var cmd= this.cmdPostPattern2.replace(/\{data\}/g, var cmd = this.cmdPostPatternWithToken.replace(/\{data\}/g,
data).replace(/\{url\}/g, url); data).replace(/\{url\}/g, url).replace(/\{token\}/g, acck);
return cmd; return cmd;
} }
FetchPostCmd3(subData, url) {
var data=subData;
var cmd= this.cmdPostPattern3.replace(/\{data\}/g, FetchPostCmd2 (subData, url) {
data).replace(/\{url\}/g, url); var data = subData;
return cmd; var cmd = this.cmdPostPattern2.replace(/\{data\}/g,
} data).replace(/\{url\}/g, url);
FetchGetCmd3(url) { return cmd;
var cmd = this.cmdGetPattern3.replace(/\{\-G\}/g, "-G").replace(/\{url\}/g, url); }
return cmd; FetchPostCmd3 (subData, url) {
} var data = subData;
FetchPostCmd4(subData, url) { var cmd = this.cmdPostPattern3.replace(/\{data\}/g,
var data=subData; data).replace(/\{url\}/g, url);
var cmd= this.cmdPostPattern4.replace(/\{data\}/g, return cmd;
data).replace(/\{url\}/g, url); }
return cmd; FetchGetCmd3 (url) {
} var cmd = this.cmdGetPattern3.replace(/\{\-G\}/g, "-G").replace(/\{url\}/g, url);
FetchPostCmd5(subData, url) { return cmd;
var data=subData; }
var cmd= this.cmdPostPattern5.replace(/\{data\}/g, FetchPostCmd4 (subData, url) {
data).replace(/\{url\}/g, url); var data = subData;
return cmd; var cmd = this.cmdPostPattern4.replace(/\{data\}/g,
} data).replace(/\{url\}/g, url);
FetchDownLoadCmd(outfname,url) { return cmd;
// console.log(this.cmdPattern); }
var cmd = this.cmdDownLoadFilePattern.replace(/\{fileName\}/g, outfname).replace( FetchPostCmd5 (subData, url) {
/\{url\}/g, url); var data = subData;
return cmd; var cmd = this.cmdPostPattern5.replace(/\{data\}/g,
} data).replace(/\{url\}/g, url);
async exec(cmd) { return cmd;
//await后面表达式返回的promise对象,是then的语法糖,await返回then函数的返回值 }
//异常需要try/catch自己捕获或外部catch捕获 FetchDownLoadCmd (outfname, url) {
const { stdout, stderr } = await exec(cmd); // console.log(this.cmdPattern);
return { stdout, stderr }; var cmd = this.cmdDownLoadFilePattern.replace(/\{fileName\}/g, outfname).replace(
} /\{url\}/g, url);
async execDownload(url,outfname){ return cmd;
let cmd=this.FetchDownLoadCmd(outfname,url); }
var result=await this.exec(cmd); async exec (cmd) {
return result; //await后面表达式返回的promise对象,是then的语法糖,await返回then函数的返回值
} //异常需要try/catch自己捕获或外部catch捕获
async execGet(subData, url){ const { stdout, stderr } = await exec(cmd);
let cmd=this.FetchGetCmd(subData,url); return { stdout, stderr };
var result=await this.exec(cmd); }
return result; async execDownload (url, outfname) {
} let cmd = this.FetchDownLoadCmd(outfname, url);
async execGet2(subData, url){ var result = await this.exec(cmd);
var data=querystring.stringify(subData); return result;
let cmd=this.FetchGetCmd(data,url); }
var result=await this.exec(cmd); async execGet (subData, url) {
return result; let cmd = this.FetchGetCmd(subData, url);
} var result = await this.exec(cmd);
async execPost(subData, url){ return result;
let cmd=this.FetchPostCmd(subData,url); }
var result=await this.exec(cmd,{ async execGet2 (subData, url) {
maxBuffer: 4096 * 1024 var data = querystring.stringify(subData);
}); let cmd = this.FetchGetCmd(data, url);
return result; var result = await this.exec(cmd);
} return result;
async execPostWithAK(subData, url,ak){ }
let cmd=this.FetchPostCmdWithAK(subData,url,ak); async execPost (subData, url) {
var result=await this.exec(cmd,{ if (settings.env == 'dev') {
maxBuffer:1024*1024*15 const rs = await axios.post(url, subData);
const ret = {
stdout: JSON.stringify(rs.data)
}
return ret;
}
let cmd = this.FetchPostCmd(subData, url);
var result = await this.exec(cmd, {
maxBuffer: 4096 * 1024
});
return result;
}
async execPostWithToken (subData, url, token) {
console.log('start --')
console.log(subData, url)
if (settings.env == 'dev') {
const rs = await axios.post(url, subData, {
headers: {
'token': token
}
}); });
var rtn=result.stdout; const ret = {
if(rtn){ stdout: JSON.stringify(rs.data)
return JSON.parse(rtn);
}else{
return null;
} }
} console.log('end --')
async execPost2(subData, url){ return ret;
let cmd=this.FetchPostCmd2(subData,url); }
console.log(cmd); let cmd = this.FetchPostCmdWithToken(subData, url, token)
var result=await this.exec(cmd); var result = await this.exec(cmd, {
return result; maxBuffer: 1024 * 1024 * 15
} });
async execPost3(subData, url){ var rtn = result.stdout;
let cmd=this.FetchPostCmd3(subData,url); if (rtn) {
console.log(cmd); return JSON.parse(rtn);
var result=await this.exec(cmd); } else {
return result; return null;
} }
async execGet3(url){ }
let cmd=this.FetchGetCmd3(url); async execPostWithAK (subData, url, ak) {
console.log("execGet3-----01"); let cmd = this.FetchPostCmdWithAK(subData, url, ak);
console.log(cmd); var result = await this.exec(cmd, {
var result=await this.exec(cmd); maxBuffer: 1024 * 1024 * 15
return result; });
} var rtn = result.stdout;
async execPostESignBao(subData, url){ if (rtn) {
let cmd=this.FetchPostCmd4(subData,url); return JSON.parse(rtn);
console.log(cmd); } else {
var result=await this.exec(cmd); return null;
return result; }
} }
async execPostForm(subData, url){ async execPost2 (subData, url) {
let cmd=this.FetchPostCmd5(subData,url); let cmd = this.FetchPostCmd2(subData, url);
console.log(cmd); console.log(cmd);
var result=await this.exec(cmd); var result = await this.exec(cmd);
return result; return result;
} }
async execCustomPostESignBao(cmd){ async execPost3 (subData, url) {
console.log(cmd); let cmd = this.FetchPostCmd3(subData, url);
var result=await this.exec(cmd); console.log(cmd);
return result; var result = await this.exec(cmd);
} return result;
test(){ }
console.log("hello"); async execGet3 (url) {
} let cmd = this.FetchGetCmd3(url);
console.log("execGet3-----01");
console.log(cmd);
var result = await this.exec(cmd);
return result;
}
async execPostESignBao (subData, url) {
let cmd = this.FetchPostCmd4(subData, url);
console.log(cmd);
var result = await this.exec(cmd);
return result;
}
async execPostForm (subData, url) {
let cmd = this.FetchPostCmd5(subData, url);
console.log(cmd);
var result = await this.exec(cmd);
return result;
}
async execCustomPostESignBao (cmd) {
console.log(cmd);
var result = await this.exec(cmd);
return result;
}
test () {
console.log("hello");
}
} }
module.exports=RestClient; module.exports = RestClient;
// var x=new RestClient(); // var x=new RestClient();
// x.execGet("","http://www.163.com").then(function(r){ // x.execGet("","http://www.163.com").then(function(r){
// console.log(r.stdout); // console.log(r.stdout);
......
...@@ -25,6 +25,20 @@ var settings = { ...@@ -25,6 +25,20 @@ var settings = {
return ENVINPUT.KONG_ADMIAN; return ENVINPUT.KONG_ADMIAN;
} }
}, },
qifuurl: function () {
if (this.env == 'dev') {
return 'http://gsbweb.qifu-dev.gongsibao.com:4012/web/opaction/tmReview/springBoard'
} else {
return 'http://gsbweb.qifu.gongsibao.com/web/opaction/tmReview/springBoard'
}
},
qftkurl: function () {
if (this.env == 'dev') {
return 'http://gsbweb.qifu-dev.gongsibao.com:4012/web/auth/accessAuth/getAppTokenByHosts'
} else {
return 'http://gsbweb.qifu.gongsibao.com/web/auth/accessAuth/getAppTokenByHosts'
}
},
receiveUrl: function () { receiveUrl: function () {
if (this.env == "dev") { if (this.env == "dev") {
return "http://192.168.1.140:4011/api/receive/entService/springBoard"; return "http://192.168.1.140:4011/api/receive/entService/springBoard";
......
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