Commit 15b50124 by wkliang

v0.8.0

parent bbba3126
......@@ -41,5 +41,9 @@ class TrademarkcaseCtl extends CtlBase {
return system.getResultFail(error.message)
}
}
async pushQfTest(pobj, qobj, req) {
return await this.service.pushQf(pobj.id)
}
}
module.exports = TrademarkcaseCtl;
......@@ -20,6 +20,10 @@ class TrademarkcaseDao extends Dao {
break
case '/myaskfor/pendingservice':
qw.tradeStatus = '待完善材料'
break
case '/rejaskmanage/officalManager':
qw.offical = { [this.db.Op.ne]: null }
break
}
qc.raw = true;
return qw;
......
const system = require("../../../system");
const ServiceBase = require("../../sve.base");
const settings = require('../../../../config/settings')
class TrademarkcaseService extends ServiceBase {
constructor() {
super("rejreex", ServiceBase.getDaoName(TrademarkcaseService))
this.agentDao = system.getObject("db.rejreex.agentDao")
this.applicantDao = system.getObject('db.rejreex.applicantDao')
this.restClient = system.getObject("util.restClient")
this.tkurl = settings.qftkurl()
this.qfurl = settings.qifuurl()
}
async createOrUpdate (params) {
console.log(params)
let isOrder = undefined
if (params.orderId) {
isOrder = await this.dao.findOne({ orderId: params.orderId })
}
if (isOrder) {
params.id = isOrder.id
// this.pushQf(params.id)
return await this.dao.update(params)
} else {
params.recDate = new Date()
if (params.id) {
let statusArr = ["待完善材料", "待审核", "申请递交中"]
let dt = await this.dao.findOne({id: params.id})
if(statusArr.indexOf(dt.tradeStatus) != -1) {
let dt = await this.dao.findOne({ id: params.id })
if (statusArr.indexOf(dt.tradeStatus) != -1) {
params.rejStatus = '待提报'
}
if (params.askforData && params.askforData.rmLicense) {
if (params.askForData && params.askForData.rmLicense) {
if (statusArr.indexOf(dt.tradeStatus) != -1) {
params.caStatus = "待提报"
}
......@@ -31,17 +37,20 @@ class TrademarkcaseService extends ServiceBase {
if (params.usccode && params.applicant && params.applicant.applicantName) {
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};`
// this.pushQf(params.id)
return await this.dao.customExecAddOrPutSql(sql);
} else {
// this.pushQf(params.id)
return await this.dao.update(params)
}
} else {
if (params.askforData && params.askforData.rmLicense) {
if (params.askForData && params.askForData.rmLicense) {
params.caStatus = "待提报"
}
if (!params.caseId) {
params.caseId = `CS${new Date().getTime()}ae${Math.floor(Math.random() * 100)}`
}
// this.pushQf(params.orderId, 'od')
return await this.dao.create(params)
}
}
......@@ -62,5 +71,63 @@ class TrademarkcaseService extends ServiceBase {
return await this.dao.findAndCountAll(params)
// 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;
......@@ -2,157 +2,201 @@ var childproc = require('child_process');
const util = require('util');
const exec = util.promisify(require('child_process').exec);
const querystring = require('querystring');
var settings=require("../../config/settings");
class RestClient{
constructor(){
this.cmdGetPattern = "curl {-G} -k -d '{data}' {url}";
this.cmdPostPattern="curl -k -H 'Content-type: application/json' -d '{data}' {url}";
this.cmdDownLoadFilePattern="curl -G -o {fileName} {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.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}";
var settings = require("../../config/settings");
const axios = require('axios')
class RestClient {
constructor() {
this.cmdGetPattern = "curl {-G} -k -d '{data}' {url}";
this.cmdPostPattern = "curl -k -H 'Content-type: application/json' -d '{data}' {url}";
this.cmdDownLoadFilePattern = "curl -G -o {fileName} {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.cmdPostPatternWithToken = "curl -k -H 'Content-type: application/json' -H 'token:{token}' -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.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
this.cmdPostPattern5="curl -k --data '{data}' {url}";
// form-data形式post data参数类型 md5=2&data=1
this.cmdPostPattern5 = "curl -k --data '{data}' {url}";
}
FetchGetCmd(subData, url) {
var cmd = this.cmdGetPattern.replace(/\{\-G\}/g, "-G").replace(
/\{data\}/g, subData).replace(/\{url\}/g, url);
return cmd;
}
FetchPostCmd(subData, url) {
var data=JSON.stringify(subData);
var cmd= this.cmdPostPattern.replace(/\{data\}/g,
data).replace(/\{url\}/g, url);
return cmd;
}
FetchPostCmdWithAK(subData, url,acck) {
var data=JSON.stringify(subData);
var cmd= this.cmdPostPatternWithAK.replace(/\{data\}/g,
data).replace(/\{url\}/g, url).replace(/\{ak\}/g,acck);
return cmd;
}
FetchPostCmd2(subData, url) {
var data=subData;
var cmd= this.cmdPostPattern2.replace(/\{data\}/g,
data).replace(/\{url\}/g, url);
return cmd;
}
FetchPostCmd3(subData, url) {
var data=subData;
var cmd= this.cmdPostPattern3.replace(/\{data\}/g,
data).replace(/\{url\}/g, url);
return cmd;
}
FetchGetCmd3(url) {
var cmd = this.cmdGetPattern3.replace(/\{\-G\}/g, "-G").replace(/\{url\}/g, url);
return cmd;
}
FetchPostCmd4(subData, url) {
var data=subData;
var cmd= this.cmdPostPattern4.replace(/\{data\}/g,
data).replace(/\{url\}/g, url);
return cmd;
}
FetchPostCmd5(subData, url) {
var data=subData;
var cmd= this.cmdPostPattern5.replace(/\{data\}/g,
data).replace(/\{url\}/g, url);
return cmd;
}
FetchDownLoadCmd(outfname,url) {
// console.log(this.cmdPattern);
var cmd = this.cmdDownLoadFilePattern.replace(/\{fileName\}/g, outfname).replace(
/\{url\}/g, url);
return cmd;
}
async exec(cmd) {
//await后面表达式返回的promise对象,是then的语法糖,await返回then函数的返回值
//异常需要try/catch自己捕获或外部catch捕获
const { stdout, stderr } = await exec(cmd);
return { stdout, stderr };
}
async execDownload(url,outfname){
let cmd=this.FetchDownLoadCmd(outfname,url);
var result=await this.exec(cmd);
return result;
}
async execGet(subData, url){
let cmd=this.FetchGetCmd(subData,url);
var result=await this.exec(cmd);
return result;
}
async execGet2(subData, url){
var data=querystring.stringify(subData);
let cmd=this.FetchGetCmd(data,url);
var result=await this.exec(cmd);
return result;
}
async execPost(subData, url){
let cmd=this.FetchPostCmd(subData,url);
var result=await this.exec(cmd,{
maxBuffer: 4096 * 1024
});
return result;
}
async execPostWithAK(subData, url,ak){
let cmd=this.FetchPostCmdWithAK(subData,url,ak);
var result=await this.exec(cmd,{
maxBuffer:1024*1024*15
}
FetchGetCmd (subData, url) {
var cmd = this.cmdGetPattern.replace(/\{\-G\}/g, "-G").replace(
/\{data\}/g, subData).replace(/\{url\}/g, url);
return cmd;
}
FetchPostCmd (subData, url) {
var data = JSON.stringify(subData);
var cmd = this.cmdPostPattern.replace(/\{data\}/g,
data).replace(/\{url\}/g, url);
return cmd;
}
FetchPostCmdWithAK (subData, url, acck) {
var data = JSON.stringify(subData);
var cmd = this.cmdPostPatternWithAK.replace(/\{data\}/g,
data).replace(/\{url\}/g, url).replace(/\{ak\}/g, acck);
return cmd;
}
FetchPostCmdWithToken (subData, url, acck) {
var data = JSON.stringify(subData);
var cmd = this.cmdPostPatternWithToken.replace(/\{data\}/g,
data).replace(/\{url\}/g, url).replace(/\{token\}/g, acck);
return cmd;
}
FetchPostCmd2 (subData, url) {
var data = subData;
var cmd = this.cmdPostPattern2.replace(/\{data\}/g,
data).replace(/\{url\}/g, url);
return cmd;
}
FetchPostCmd3 (subData, url) {
var data = subData;
var cmd = this.cmdPostPattern3.replace(/\{data\}/g,
data).replace(/\{url\}/g, url);
return cmd;
}
FetchGetCmd3 (url) {
var cmd = this.cmdGetPattern3.replace(/\{\-G\}/g, "-G").replace(/\{url\}/g, url);
return cmd;
}
FetchPostCmd4 (subData, url) {
var data = subData;
var cmd = this.cmdPostPattern4.replace(/\{data\}/g,
data).replace(/\{url\}/g, url);
return cmd;
}
FetchPostCmd5 (subData, url) {
var data = subData;
var cmd = this.cmdPostPattern5.replace(/\{data\}/g,
data).replace(/\{url\}/g, url);
return cmd;
}
FetchDownLoadCmd (outfname, url) {
// console.log(this.cmdPattern);
var cmd = this.cmdDownLoadFilePattern.replace(/\{fileName\}/g, outfname).replace(
/\{url\}/g, url);
return cmd;
}
async exec (cmd) {
//await后面表达式返回的promise对象,是then的语法糖,await返回then函数的返回值
//异常需要try/catch自己捕获或外部catch捕获
const { stdout, stderr } = await exec(cmd);
return { stdout, stderr };
}
async execDownload (url, outfname) {
let cmd = this.FetchDownLoadCmd(outfname, url);
var result = await this.exec(cmd);
return result;
}
async execGet (subData, url) {
let cmd = this.FetchGetCmd(subData, url);
var result = await this.exec(cmd);
return result;
}
async execGet2 (subData, url) {
var data = querystring.stringify(subData);
let cmd = this.FetchGetCmd(data, url);
var result = await this.exec(cmd);
return result;
}
async execPost (subData, url) {
if (settings.env == 'dev') {
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;
if(rtn){
return JSON.parse(rtn);
}else{
return null;
const ret = {
stdout: JSON.stringify(rs.data)
}
}
async execPost2(subData, url){
let cmd=this.FetchPostCmd2(subData,url);
console.log(cmd);
var result=await this.exec(cmd);
return result;
}
async execPost3(subData, url){
let cmd=this.FetchPostCmd3(subData,url);
console.log(cmd);
var result=await this.exec(cmd);
return result;
}
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");
}
console.log('end --')
return ret;
}
let cmd = this.FetchPostCmdWithToken(subData, url, token)
var result = await this.exec(cmd, {
maxBuffer: 1024 * 1024 * 15
});
var rtn = result.stdout;
if (rtn) {
return JSON.parse(rtn);
} else {
return null;
}
}
async execPostWithAK (subData, url, ak) {
let cmd = this.FetchPostCmdWithAK(subData, url, ak);
var result = await this.exec(cmd, {
maxBuffer: 1024 * 1024 * 15
});
var rtn = result.stdout;
if (rtn) {
return JSON.parse(rtn);
} else {
return null;
}
}
async execPost2 (subData, url) {
let cmd = this.FetchPostCmd2(subData, url);
console.log(cmd);
var result = await this.exec(cmd);
return result;
}
async execPost3 (subData, url) {
let cmd = this.FetchPostCmd3(subData, url);
console.log(cmd);
var result = await this.exec(cmd);
return result;
}
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();
// x.execGet("","http://www.163.com").then(function(r){
// console.log(r.stdout);
......
......@@ -25,6 +25,20 @@ var settings = {
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 () {
if (this.env == "dev") {
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