Commit cbcc40e8 by 王昆

gsb

parents 9624d732 44d903f0
...@@ -86,7 +86,7 @@ class BusinessmenDao extends Dao { ...@@ -86,7 +86,7 @@ class BusinessmenDao extends Dao {
async findBusinessmenByCreditCode(creditCode){ async findBusinessmenByCreditCode(creditCode){
try { try {
return await this.dao.model.findOne({creditCode:creditCode}); return await this.model.findOne({where:{creditCode:creditCode}}) || {};
} catch (error) { } catch (error) {
return system.getResult(null,`系统错误 错误信息 ${error}`); return system.getResult(null,`系统错误 错误信息 ${error}`);
} }
......
...@@ -18,6 +18,7 @@ module.exports = (db, DataTypes) => { ...@@ -18,6 +18,7 @@ module.exports = (db, DataTypes) => {
type: DataTypes.BOOLEAN, type: DataTypes.BOOLEAN,
defaultValue: false defaultValue: false
}, },
payType:DataTypes.INTEGER,field: 'pay_type',comment:'付款方式 10 按照次付费 20 按照年付费'
}, { }, {
paranoid: true, //假的删除 paranoid: true, //假的删除
underscored: true, underscored: true,
......
...@@ -63,7 +63,7 @@ class IborderbaseService extends ServiceBase { ...@@ -63,7 +63,7 @@ class IborderbaseService extends ServiceBase {
params.status = "1000"; // 待处理 params.status = "1000"; // 待处理
params.payStatus = "10"; // 支付状态 params.payStatus = "10"; // 支付状态
params.channelOrderNo = params.channelNo; params.channelOrderNo = params.channelNo;
params.payType = this.trim(params.payType);
let self = this; let self = this;
//1 保存基类的信息 //1 保存基类的信息
await this.db.transaction(async t => { await this.db.transaction(async t => {
...@@ -97,7 +97,7 @@ class IborderbaseService extends ServiceBase { ...@@ -97,7 +97,7 @@ class IborderbaseService extends ServiceBase {
*/ */
async apiCompletedOrder(params) { async apiCompletedOrder(params) {
try { try {
let childSve = this.getService(params.productType); let childSve = this.getService(this.trim(params.productType));
return await childSve.completedOrder(params); return await childSve.completedOrder(params);
} catch (error) { } catch (error) {
return system.getResult(null, `系统错误 错误信息 ${error}`); return system.getResult(null, `系统错误 错误信息 ${error}`);
...@@ -110,7 +110,7 @@ class IborderbaseService extends ServiceBase { ...@@ -110,7 +110,7 @@ class IborderbaseService extends ServiceBase {
*/ */
async apiHandling(params) { async apiHandling(params) {
try { try {
let childSve = this.getService(); let childSve = this.getService(params.productType);
return await childSve.handling(params); return await childSve.handling(params);
} catch (error) { } catch (error) {
return system.getResult(null, `系统错误 错误信息 ${error}`); return system.getResult(null, `系统错误 错误信息 ${error}`);
......
...@@ -21,18 +21,6 @@ class IborderdkService extends ServiceBase { ...@@ -21,18 +21,6 @@ class IborderdkService extends ServiceBase {
*/ */
async createOrder(params, t) { async createOrder(params, t) {
try { try {
if (!params.merchantId) {
return system.getResult(null, `参数错误 商户ID不能为空`);
}
if (!params.businessmentId) {
return system.getResult(null, `参数错误 个体户ID不能为空`);
}
if (!params.orderpayId) {
return system.getResult(null, `参数错误 支付ID不能为空`);
}
if (!Number(params.price) < 0) {
return system.getResult(null, `参数错误 订单金额格式错误`);
}
this.trimObject(params); this.trimObject(params);
let _ibOrderDk = await this.dao.create(params, t); let _ibOrderDk = await this.dao.create(params, t);
return system.getResult(_ibOrderDk); return system.getResult(_ibOrderDk);
...@@ -67,12 +55,15 @@ class IborderdkService extends ServiceBase { ...@@ -67,12 +55,15 @@ class IborderdkService extends ServiceBase {
* creditCode * creditCode
* isBank * isBank
* businessScope * businessScope
* orderId
*/ */
async completedOrder(params) { async completedOrder(params) {
try { try {
//1 检查个体户是否存在 (根据统一社会信用代码查个体工商户是否存在) //1 检查个体户是否存在 (根据统一社会信用代码查个体工商户是否存在)
this.trimObject(params); this.trimObject(params);
if (!params.id) { return system.getResult(null, `参数错误 ID 不能为空`); } if (!params.orderId) { return system.getResult(null, `参数错误 ID 不能为空`); }else{
params.order_id = this.trim(params.orderId);
}
if (!params.legalName) { return system.getResult(null, `参数错误 法人姓名不能为空`); } if (!params.legalName) { return system.getResult(null, `参数错误 法人姓名不能为空`); }
if (!params.legalMobile) { return system.getResult(null, `参数错误 法人电话不能为空`); } if (!params.legalMobile) { return system.getResult(null, `参数错误 法人电话不能为空`); }
if (!params.creditCode) { return system.getResult(null, `参数错误 法人统一社会信用代码不能为空`); } if (!params.creditCode) { return system.getResult(null, `参数错误 法人统一社会信用代码不能为空`); }
...@@ -86,19 +77,20 @@ class IborderdkService extends ServiceBase { ...@@ -86,19 +77,20 @@ class IborderdkService extends ServiceBase {
} }
if (_businessmenRes.id) { if (_businessmenRes.id) {
//如果用户存在id 直接更新 //如果用户存在id 直接更新
let _iborderbase = await this.iborderbaseDao.findById(this.trim(params.id)); let _iborderbase = await this.iborderbaseDao.findById(this.trim(params.orderId));
if (!_iborderbase) { if (!_iborderbase) {
return system.getResult(null, `参数错误 订单不存在`); return system.getResult(null, `参数错误 订单不存在`);
} }
let self = this; let self = this;
//向参数中添加 是否完善信息标识 //向参数中添加 是否完善信息标识
params.isInfoComplete=1;
await this.db.transaction(async t => { await this.db.transaction(async t => {
//更新主表 //更新主表
await self.iborderbaseDao.update({ businessmen_id: self.trim(_businessmenRes.id), await self.iborderbaseDao.update({ businessmen_id: self.trim(_businessmenRes.id),
id: self.trim(params.id),isInfoComplete:1 }, t); id: self.trim(params.order_id),isInfoComplete:1 }, t);
//更新子表 //更新子表
await this.dao.update(params, t); params.id=self.trim(params.order_id);
params.isInfoComplete=1;
await self.dao.update(params, t);
}); });
} else { } else {
let self = this; let self = this;
...@@ -106,10 +98,11 @@ class IborderdkService extends ServiceBase { ...@@ -106,10 +98,11 @@ class IborderdkService extends ServiceBase {
//如果不存在id 创建后更新 //如果不存在id 创建后更新
let _businessment = await this.businessmenDao.create(params, t); let _businessment = await this.businessmenDao.create(params, t);
//更新主表 //更新主表
await self.iborderbaseDao.update({ businessmen_id: self.trim(_businessment.id), id: self.trim(params.id), params.id= self.trim(params.orderId);
isInfoComplete:1 }, t); params.isInfoComplete=1;
await self.iborderbaseDao.update({ businessmen_id: self.trim(_businessment.id),isInfoComplete:1,id:params.id}, t);
//更新子表 //更新子表
await this.dao.update(params, t); await self.dao.update(params, t);
}); });
} }
return system.getResultSuccess(); return system.getResultSuccess();
...@@ -124,7 +117,7 @@ class IborderdkService extends ServiceBase { ...@@ -124,7 +117,7 @@ class IborderdkService extends ServiceBase {
* businessmenId 个体户ID * businessmenId 个体户ID
* id 订单ID * id 订单ID
*/ */
async handing(params) { async handling(params) {
try { try {
//1 检查个体户是否签约 //1 检查个体户是否签约
let _businessmen = await this.businessmenDao.findById(this.trim(params.businessmenId)); let _businessmen = await this.businessmenDao.findById(this.trim(params.businessmenId));
...@@ -142,25 +135,29 @@ class IborderdkService extends ServiceBase { ...@@ -142,25 +135,29 @@ class IborderdkService extends ServiceBase {
///**************************************************************** */ ///**************************************************************** */
if(1!=1){ if(_iborderbase.payType!=20){
//如果不是年付费 计算费用 //如果不是年付费 计算费用
let invoiceParams = await this.buildParamForCalInvoice(params); let invoiceParams = await this.buildParamForCalInvoice(params);
valueAddedTax=await calInvoice.calculationValueAddedTax(invoiceParams); valueAddedTax=await calInvoice.calculationValueAddedTax(invoiceParams);
//填充 增值税参数 //填充 增值税参数
invoiceParams.valueAddedTax = valueAddedTax; invoiceParams.valueAddedTax = valueAddedTax;
additionalTax = await calInvoice.calculationAdditionalTax(invoiceParams); additionalTax = await calInvoice.calculationAdditionalTax(invoiceParams);
//4 推送计算结果 let res = {valueAddedTax:valueAddedTax,additionalTax:additionalTax};
//4 推送计算结果 暂不推送
return system.getResult(res);
}else{ }else{
//5 如果是不是按照年付款 直接更新订单金额 //5 如果是不是按照年付款 直接更新订单金额
let _arguments = {}; // let _arguments = {};
_arguments.price=Number(valueAddedTax) + Number(additionalTax); // _arguments.price=Number(valueAddedTax) + Number(additionalTax);
let updatePriceRes =await this.updateOrder(_arguments); // let updatePriceRes =await this.updateOrder(_arguments);
//6 提交发票申请 //6 提交发票申请
let submitApplyInvoiceParams = await this.buildParamForApplyInvoice(params); let submitApplyInvoiceParams = await this.buildParamForApplyInvoice(params);
if(submitApplyInvoiceParams.hasOwnProperty("status")==0){
return system.getResultSuccess(null,`发票申请已提交`);
}else{
return system.getResult(null,`发票申请失败`);
}
} }
return system.getResultSuccess();
} catch (error) { } catch (error) {
return system.getResult(null, `系统错误 错误信息${error}`); return system.getResult(null, `系统错误 错误信息${error}`);
} }
......
...@@ -168,12 +168,13 @@ class System { ...@@ -168,12 +168,13 @@ class System {
static microsetting() { static microsetting() {
var path = "/api/op/action/springboard"; var path = "/api/op/action/springboard";
if (settings.env == "dev") { if (settings.env == "dev") {
var domain = "http://192.168.18.237"; // var domain = "http://192.168.18.237";
var domain = "http://192.168.18.105";
return { return {
common: domain + ":3102" + path, common: domain + ":3102" + path,
merchant: domain + ":3101" + path, merchant: domain + ":3101" + path,
order: domain + ":3103" + path, order: domain + ":3103" + path,
invoice: "" + path, invoice: domain + "3105" + path,
payment: "" + path, payment: "" + path,
} }
} else { } else {
......
<a name="menu">目录</a>
1. [新增订单](#createOrder)
1. [完善信息接口](#completedOrder)
1. [订单办理接口](#handling)
1. [企服通 推送支付信息接口](#updPriceOrStatus)
## **<a name="createOrder"> 新增订单</a>**
[返回到目录](#menu)
#### 参数格式 `JSON`
#### HTTP请求方式 `POST`
``` javascript
{
"action_process": "test",
"action_type": "createOrder",
"action_body": {
productType: 1, // 产品类型 1000注册订单 1010代开订单 1030代账订单 1040增值服务
productItems: [1050,1070,1100,1110], // 注册订单时填写产品项 1050注册 1070刻章 1100银行开户 1110税务报道
channelNo: "qifutong", // 渠道名称
thirdNo: "xxxxxxx", // 订单号 varchar(32)
price: 50000, // 订单价格(分) bigint 20
payType: 1 // 支付方式 1按次支付 2按年支付
notes: "", // 订单备注 随便写,200个字以内
legalName: "", // 联系人
legalMobile: "", // 联系电话
legalEmail: "", // 联系邮箱
invoiceType: "", // 代开订单时指定发票类型 10 普通发票 20 增值税专用发票 30 电子发票
}
}
```
#### 返回结果
```javascript
{
"status": 0,
"msg": "success",
"data": null,
"requestid": "c179a24ec402454aa0e74c4333cc6eab"
}
```
## **<a name="completedOrder"> 完善信息接口</a>**
[返回到目录](#menu)
#### 参数格式 `JSON`
#### HTTP请求方式 `POST`
``` javascript
{
"action_process": "test",
"action_type": "completedOrder",
"action_body": {
"orderId": "13699868075000706", //订单ID
"legalName": "president_nan", //法人名称
"legalMobile": "18833836395", //法人电话
"creditCode":"XXEIGIGKTI8989", //社会统一信用代码
"names":"driver baby", //个体户名称
"businessScope":"crateTanke", //经营范围
"productType":"1010" //商品类型 "1000" 注册订单 "1010" 代开订单 "1030" 代账订单 "1040" 增值服务
}
}
```
#### 返回结果
```javascript
{
"status": 0,
"msg": "success",
"data": null,
"requestid": "9e1980f84d7d451797d682821e4b438e"
}
```
## **<a name="allList"> 全部订单</a>**
[返回到目录](#menu)
#### 参数格式 `JSON`
#### HTTP请求方式 `POST`
``` javascript
{
"action_process": "test",
"action_type": "allOrderList",
"action_body": {
"currentPage": "1",
"pageSize": "5",
"merchantId": "", // 商户id
"orderId": "", // 订单id
"status": "", // 订单状态 1000未付款, 1010待处理, 1020执照办理中, 1030已出执照, 1040刻章办理中, 1050已刻章,
// 1060银行开户中, 1070银行已开户, 1080税务报道中, 1090已税务报道, 1100已完成
"createdBegin": "", // 创建时间开始
"createdEnd": "", // 创建时间结束
"assignBegin": "", // 分配时间开始
"assignEnd": "", // 分配时间结束
}
}
```
#### 返回结果
```javascript
{
"status": 0,
"msg": "success",
"data": {
"count": 12,
"rows": [
{
"id": "13180527789003380", // 订单号\订单号
"merchant_id": "11064622752480048", // 商户id
"channelOrderNo": "xxxxxxxxx111", // 渠道订单号
"price": 300000, // 订单价格(分)
"legalName": "杨庆菊", // 法人姓名
"legalMobile": "杨庆菊手机号", // 法人手机号
"legalImg": "法人照片", // 法人照片
"idcard": "123身份证", // 身份证号码
"idcardFront": "在正面", // 身份证正面图
"idcardBack": "反面", // 身份证反面图
"bankNo": "2222", // 银行卡号
"bank": "开户行", // 开户行
"bankImg": "这是银行卡照片", // 银行卡照片
"names": "名称1,名称2,名称3", // 2~3个注册名称,逗号分割
"domicile_id":"" // 注册地id
"domicileName":"" // 注册地名称
"businessScope_id": "12218127596000645", // 经营范围id
"businessType": "物流信息类", // 经营范围
"businessScope": "国内物流信息服务;装", // 经营范围详情
"capital": "到底是多少", // 注册资本
"statusName": "未付款", // 订单状态名称
"status": "1000", // 订单状态
"ostatusName": "待处理", // 业务进度状态名称
"ostatus": "1030", // 业务进度状态
"assignTime": null, // 分配时间
"assignUcname": "吴经理", // 分配人
"created_at": "2019-10-05 06:57:28", // 创建时间
"deliverType": "", // 交付类型
"deliverNo": "", //
"deliverImg": "", //
"deliver": { // 交付商
"statusName": "待处理" // 办理状态名称
"status": "1020", // 办理状态
"deliverName": "开封交付商", // 交付商名称
"deliverDivide": 3311, // 交付商分成比例
}
},
...
]
},
"requestid": "ae2a9c2e2ff6497e8cc9fd2c7fac9fe8"
}
```
## **<a name="info"> 订单信息</a>**
[返回到目录](#menu)
#### 参数格式 `JSON`
#### HTTP请求方式 `POST`
``` javascript
{
"action_process": "test",
"action_type": "orderInfo",
"action_body": {
"id": "13180527789003380"
}
}
```
#### 返回结果
```javascript
{
"status": 0,
"msg": "success",
"data": {
"id": "13180527789003380", // 订单号\订单号
"merchant_id": "11064622752480048", // 商户id
"channelOrderNo": "xxxxxxxxx111", // 渠道订单号
"price": 300000, // 订单价格(分)
"price_y": "3000", // 订单价格(元)
"legalName": "杨庆菊", // 法人姓名
"legalMobile": "杨庆菊手机号", // 法人手机号
"legalImg": "法人照片", // 法人照片
"idcard": "123身份证", // 身份证号码
"idcardFront": "在正面", // 身份证正面图
"idcardBack": "反面", // 身份证反面图
"bankNo": "2222", // 银行卡号
"bank": "开户行", // 开户行
"bankImg": "这是银行卡照片", // 银行卡照片
"names": "山驴比1,山驴比2,山驴比3", // 2~3个注册名称,逗号分割
"domicile_id":"" // 注册地id
"domicileName":"" // 注册地名称
"businessScope_id": "12218127596000645", // 经营范围id
"businessType": "太难了", // 经营范围
"businessScope": "太狠了", // 经营范围详情
"capital": "到底是多少", // 注册资本
"statusName": "未付款", // 订单状态名称
"status": "1000", // 订单状态
"assignTime": null, // 分配时间
"created_at": "2019-10-05 06:57:28", // 创建时间
},
"requestid": "721e93dbdfb54115a76bf32a4900cd6e"
}
```
## **<a name="edit"> 订单编辑</a>**
[返回到目录](#menu)
#### 接口说明 该接口只编辑商户id和订单价格,(商户id随时可编辑),(订单价格只有在 1000未付款状态时可编辑)
#### 参数格式 `JSON`
#### HTTP请求方式 `POST`
``` javascript
{
"action_process": "test",
"action_type": "orderAssign",
"action_body": {
"id": "13180532689003786",
"deliverId": "13120681466000118",
"deliverName": "杨庆菊交付商222",
"deliverDivide": 3311
}
}
```
#### 返回结果
```javascript
{
"status": 0,
"msg": "success",
"data": {
"id": "13180527789003380", // 订单号\订单号
"merchant_id": "11064622752480048", // 商户id
"channelOrderNo": "xxxxxxxxx111", // 渠道订单号
"price": 300000, // 订单价格(分)
"price_y": "3000", // 订单价格(元)
"legalName": "杨庆菊", // 法人姓名
"legalMobile": "杨庆菊手机号", // 法人手机号
"legalImg": "法人照片", // 法人照片
"idcard": "123身份证", // 身份证号码
"idcardFront": "在正面", // 身份证正面图
"idcardBack": "反面", // 身份证反面图
"bankNo": "2222", // 银行卡号
"bank": "开户行", // 开户行
"bankImg": "这是银行卡照片", // 银行卡照片
"names": "山驴比1,山驴比2,山驴比3", // 2~3个注册名称,逗号分割
"domicile_id":"" // 注册地id
"domicileName":"" // 注册地名称
"businessScope_id": "12218127596000645", // 经营范围id
"businessType": "太难了", // 经营范围
"businessScope": "太狠了", // 经营范围详情
"capital": "到底是多少", // 注册资本
"statusName": "未付款", // 订单状态名称
"status": "1000", // 订单状态
"assignTime": null, // 分配时间
"created_at": "2019-10-05 06:57:28", // 创建时间
},
"requestid": "721e93dbdfb54115a76bf32a4900cd6e"
}
```
## **<a name="pc-myorders"> 我的订单-pc</a>**
[返回到目录](#menu)
#### 参数格式 `JSON`
#### HTTP请求方式 `POST`
``` javascript
{
"action_process": "test",
"action_type": "myOrderPage",
"action_body": {
"currentPage": "1",
"pageSize": "5",
"userId": "", // 用户id
"createdBegin": "", // 创建时间开始
"createdEnd": "", // 创建时间结束
}
}
```
#### 返回结果
```javascript
{
"status": 0,
"msg": "success",
"data": {
"count": 12,
"rows": [
{
"id": "13180527789003380", // 订单号\订单号
"merchant_id": "11064622752480048", // 商户id
"channelOrderNo": "xxxxxxxxx111", // 渠道订单号
"price": 300000, // 订单价格(分)
"legalName": "杨庆菊", // 法人姓名
"legalMobile": "杨庆菊手机号", // 法人手机号
"legalImg": "法人照片", // 法人照片
"idcard": "123身份证", // 身份证号码
"idcardFront": "在正面", // 身份证正面图
"idcardBack": "反面", // 身份证反面图
"bankNo": "2222", // 银行卡号
"bank": "开户行", // 开户行
"bankImg": "这是银行卡照片", // 银行卡照片
"names": "山驴比1,山驴比2,山驴比3", // 2~3个注册名称,逗号分割
"domicile_id":"" // 注册地id
"domicileName":"" // 注册地名称
"domicile_id":"" // 注册地id
"domicileName":"" // 注册地名称
"businessScope_id": "12218127596000645", // 经营范围id
"businessType": "太难了", // 经营范围
"businessScope": "太狠了", // 经营范围详情
"capital": "到底是多少", // 注册资本
"statusName": "未付款", // 订单状态名称
"status": "1000", // 订单状态
"assignTime": null, // 分配时间
"created_at": "2019-10-05 06:57:28", // 创建时间
},
...domicile_id
]
},
"requestid": "ae2a9c2e2ff6497e8cc9fd2c7fac9fe8"
}
```
\ No newline at end of file
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