Commit a9e15624 by 王昆

gsb

parent e90742db
...@@ -11,6 +11,11 @@ class OrderService extends ServiceBase { ...@@ -11,6 +11,11 @@ class OrderService extends ServiceBase {
return rs; return rs;
} }
async orderInfo(params) {
let rs = await this.callms("order", "saasOrderInfo", params);
return rs;
}
async info(params) { async info(params) {
let rs = await this.callms("order", "saasOrderMerchantOrderInfo", params); let rs = await this.callms("order", "saasOrderMerchantOrderInfo", params);
return rs; return rs;
......
...@@ -9,9 +9,10 @@ const moment = require("moment"); ...@@ -9,9 +9,10 @@ const moment = require("moment");
class MerchantApplet extends AppletBase { class MerchantApplet extends AppletBase {
constructor() { constructor() {
super(); super();
this.uploadCtl=system.getObject("web.common.uploadCtl"); this.uploadCtl = system.getObject("web.common.uploadCtl");
this.idcardClient = system.getObject("util.idcardClient"); this.idcardClient = system.getObject("util.idcardClient");
this.merchantappletuserSve = system.getObject("service.uc.merchantappletuserSve"); this.merchantappletuserSve = system.getObject("service.uc.merchantappletuserSve");
this.orderSve = system.getObject("service.saas.orderSve");
this.merchantId = 1; this.merchantId = 1;
} }
...@@ -19,7 +20,7 @@ class MerchantApplet extends AppletBase { ...@@ -19,7 +20,7 @@ class MerchantApplet extends AppletBase {
return {code: 0, data: 1}; return {code: 0, data: 1};
} }
async uploadConfig(gobj, pobj, req, loginUser){ async uploadConfig(gobj, pobj, req, loginUser) {
try { try {
// if(!loginUser){ // if(!loginUser){
// return {code: 0}; // return {code: 0};
...@@ -56,7 +57,7 @@ class MerchantApplet extends AppletBase { ...@@ -56,7 +57,7 @@ class MerchantApplet extends AppletBase {
avatarUrl: avatarUrl, avatarUrl: avatarUrl,
}; };
let res = await this.merchantappletuserSve.login(params); let res = await this.merchantappletuserSve.login(params);
if(res.status === 0) { if (res.status === 0) {
return this.returnSuccess(res.data); return this.returnSuccess(res.data);
} else { } else {
return this.returnFail(res.msg, res.data); return this.returnFail(res.msg, res.data);
...@@ -74,109 +75,153 @@ class MerchantApplet extends AppletBase { ...@@ -74,109 +75,153 @@ class MerchantApplet extends AppletBase {
// 保存订单信息 // 保存订单信息
async saveOrder(gobj, pobj, req, loginUser) { async saveOrder(gobj, pobj, req, loginUser) {
try { try {
let merchant = await this.getMerchant(merchant_id); let rs = await this.buildOrder(pobj);
if (rs.code === 0) {
let rs = await this.buildOrder(pobj, merchant);
if(rs.code === 0) {
return rs; return rs;
} }
let merchant = await this.getMerchant(pobj.merchant_id);
let loginUser = await this.getLoginUser(pobj.merchant_id, pobj.openid);
let order = {
saas_id: merchant.saas_id,
merchant_id: merchant.id,
product_id: "10010000",
merchant_app_user_id: loginUser.id,
price: system.y2f(merchant.sign.bm_reg_price) || 0,
bminfo: rs.data
}
var info = await this.bmorderSve.saveOrderBiz(rs.data); let res = await this.orderSve.microAdd(order);
var result = {code : 1}; if (res.status === 0) {
return result; return this.returnSuccess(res.data);
} else {
return this.returnFail(res.msg || "保存订单失败");
}
} catch (e) { } catch (e) {
console.log(e.stack); console.log(e.stack);
//日志记录
logCtl.error({
optitle: "查询商户信息错误, params [id = " + pobj.id + " ]",
op: "wxapplet/impl/xggApplet/merchantInfo",
content: e.stack,
clientIp: req.clientIp
});
if(e.name == 'SequelizeUniqueConstraintError') {
return {code: 2, msg:"您的信息已经提交成功,请到我的订单中查看"};
}
return { return {
code: -200, code: -200,
msg: "error", msg: "error",
data: {}, data: {},
stack : e.stack stack: e.stack
}; };
} }
} }
async buildOrder(obj) { async buildOrder(obj) {
if(!obj.idcard_front) { if (!obj.idcard_front) {
return this.returnFail("请上传身份证人像面"); return this.returnFail("请上传身份证人像面");
} }
if(!obj.idcard_back) { if (!obj.idcard_back) {
return this.returnFail("请上传身份证国徽图"); return this.returnFail("请上传身份证国徽图");
} }
if(!obj.legal_name) { if (!obj.legal_name) {
return this.returnFail("请填写法人姓名"); return this.returnFail("请填写法人姓名");
} }
if(!obj.legal_mobile) { if (!obj.legal_mobile) {
return this.returnFail("请填写联系手机"); return this.returnFail("请填写联系手机");
} }
if (!/^1\d{10}$/.test(obj.legal_mobile)) { if (!/^1\d{10}$/.test(obj.legal_mobile)) {
return this.returnFail("联系手机格式错误"); return this.returnFail("联系手机格式错误");
} }
if(!obj.legal_idno) { if (!obj.legal_idno) {
return this.returnFail("请填写身份证号码"); return this.returnFail("请填写身份证号码");
} }
if(!await this.idcardClient.checkIDCard(obj.legal_idno)) { if (!await this.idcardClient.checkIDCard(obj.legal_idno)) {
return this.returnFail("身份证号码错误,请检查后重新输入"); return this.returnFail("身份证号码错误,请检查后重新输入");
} }
if(!obj.company_names) { if (!obj.company_names) {
return this.returnFail("请填写公司名称"); return this.returnFail("请填写公司名称");
} }
if(!obj.bank_front) { if (!obj.bank_front) {
return this.returnFail("请上传银行卡正面"); return this.returnFail("请上传银行卡正面");
} }
if(!obj.bank_back) { if (!obj.bank_back) {
return this.returnFail("请上传银行卡反面"); return this.returnFail("请上传银行卡反面");
} }
if (!obj.bank_name) {
if(!obj.bank_mobile) { return this.returnFail("请填写银行预留手机号");
}
if (!obj.bank_no) {
return this.returnFail("请填写银行预留手机号");
}
if (!obj.bank_mobile) {
return this.returnFail("请填写银行预留手机号"); return this.returnFail("请填写银行预留手机号");
} }
var order = { let bminfo = {
merchantId : obj.merchantId || this.merchantId,
companyId : obj.companyId,
orderNo : orderNo,
userId : loginUser.id,
ownerId: 0,
status: 0,
auditStatus:0
};
var userbiz = {
merchantId : obj.merchantId || this.merchantId,
companyId : obj.companyId,
orderNo: orderNo,
user_id: loginUser.id,
idcard_front: obj.idcard_front, idcard_front: obj.idcard_front,
idcard_back: obj.idcard_back, idcard_back: obj.idcard_back,
idcard: obj.idcard,
legal_name: obj.legal_name, legal_name: obj.legal_name,
legal_mobile: obj.legal_mobile, legal_mobile: obj.legal_mobile,
person_img: obj.person_img || "", legal_idno: obj.legal_idno,
companyNames: obj.companyNames, company_names: obj.company_names,
bank_front: obj.bank_front, bank_front: obj.bank_front,
bank_back: obj.bank_back, bank_back: obj.bank_back,
bank: obj.bank, bank_name: obj.bank_name,
bankno: obj.bankno, bank_no: obj.bank_no,
bankMobile: obj.bankMobile || "", bank_mobile: obj.bank_mobile,
}; };
rs.code = 1; return this.returnSuccess(bminfo);
rs.data = { }
order : order,
userbiz: userbiz, async myOrders(gobj, pobj, req) {
let loginUser = await this.getLoginUser(pobj.merchant_id, pobj.openid);
if (!loginUser) {
return this.returnSuccess({count: 0, rows: []});
}
try {
let params = {
pageSize: Number(pobj.pageSize || 10),
currentPage: Number(pobj.currentPage || 1),
merchant_app_user_id: loginUser.id,
merchant_id: loginUser.merchant_id,
}
let page = await this.orderSve.page(params);
if (page.status === 0) {
return this.returnSuccess(page.data);
} else {
return this.returnFail(page.msg);
}
} catch (e) {
console.log(e.stack);
//日志记录
return {
code: -200,
msg: "error",
data: {},
stack: e.stack
}; };
return rs; }
console.log(decryptData);
}
/**
* 查询订单明细
* @param {*} gobj
* @param {*} pobj
* @param {*} req
* @param {*} loginUser
*/
async orderInfo(gobj, pobj, req) {
let loginUser = await this.getLoginUser(pobj.merchant_id, pobj.openid);
if (!loginUser) {
return this.returnSuccess({});
}
try {
let rs = await this.orderSve.orderInfo(pobj);
if (rs.status === 0) {
return this.returnSuccess(rs.data);
} else {
return this.returnFail(page.msg);
}
} catch (error) {
console.log(error);
return system.getResult(null, error);
}
} }
// //
...@@ -192,198 +237,25 @@ class MerchantApplet extends AppletBase { ...@@ -192,198 +237,25 @@ class MerchantApplet extends AppletBase {
// } // }
// //
// //
// // 保存订单信息
// async saveOrder(gobj, pobj, req, loginUser) { async idNoValid(gobj, pobj, req, loginUser){
// try { try {
// var rs = await this.buildOrder(pobj, loginUser); let idno = (pobj.idno || "").trim();
// if(rs.code === 0) { if(!idno) {
// return rs; return {code: 0, msg: "请填写身份证号码"};
// } }
//
// var info = await this.bmorderSve.saveOrderBiz(rs.data); let success = await this.idcardClient.checkIDCard(idno);
// var result = {code : 1}; if(success) {
// return result; return this.returnSuccess(1);
// } catch (e) { }
// console.log(e.stack); return this.returnFail("身份证号码格式错误");
// //日志记录 } catch (error) {
// logCtl.error({ console.log(error);
// optitle: "查询商户信息错误, params [id = " + pobj.id + " ]", return {code: 500, msg: "服务忙,请稍后重试"};
// op: "wxapplet/impl/xggApplet/merchantInfo", }
// content: e.stack, }
// clientIp: req.clientIp
// });
// if(e.name == 'SequelizeUniqueConstraintError') {
// return {code: 2, msg:"您的信息已经提交成功,请到我的订单中查看"};
// }
// return {
// code: -200,
// msg: "error",
// data: {},
// stack : e.stack
// };
// }
// }
//
// async buildOrder(obj, loginUser) {
// var rs = {code: 0};
// if(!loginUser) {
// rs.msg = "登录超时,请重新登录";
// return rs;
// }
//
// if(!obj.idcard_front) {
// rs.msg = "请上传身份证正面图";
// return rs;
// }
// if(!obj.idcard_back) {
// rs.msg = "请上传身份证反面图";
// return rs;
// }
// if(!obj.idcard) {
// rs.msg = "请填写身份证号码";
// return rs;
// }
// if(!await this.idcardClient.checkIDCard(obj.idcard)) {
//
// }
// if(!obj.legal_name) {
// rs.msg = "请填写法人姓名";
// return rs;
// }
// if(!obj.legal_mobile) {
// rs.msg = "请填写手机号码";
// return rs;
// }
//
// if(!obj.companyNames) {
// rs.msg = "请填写公司名称";
// return rs;
// }
//
// if(!obj.bank_front) {
// rs.msg = "请上传银行卡正面图";
// return rs;
// }
// if(!obj.bank_back) {
// rs.msg = "请上传银行卡反面图";
// return rs;
// }
//
// if(!obj.bankMobile) {
// rs.msg = "请填写银行预留手机号";
// return rs;
// }
//
// var orderNo = loginUser.id + "" + moment().format("YYYYMMDDHHmmss");
// var order = {
// merchantId : obj.merchantId || this.merchantId,
// companyId : obj.companyId,
// orderNo : orderNo,
// userId : loginUser.id,
// ownerId: 0,
// status: 0,
// auditStatus:0
// };
//
// var userbiz = {
// merchantId : obj.merchantId || this.merchantId,
// companyId : obj.companyId,
// orderNo: orderNo,
// user_id: loginUser.id,
// idcard_front: obj.idcard_front,
// idcard_back: obj.idcard_back,
// idcard: obj.idcard,
// legal_name: obj.legal_name,
// legal_mobile: obj.legal_mobile,
// person_img: obj.person_img || "",
// companyNames: obj.companyNames,
// bank_front: obj.bank_front,
// bank_back: obj.bank_back,
// bank: obj.bank,
// bankno: obj.bankno,
// bankMobile: obj.bankMobile || "",
// };
//
// rs.code = 1;
// rs.data = {
// order : order,
// userbiz: userbiz,
// };
// return rs;
// }
//
//
// async myOrders(gobj, pobj, req, loginUser) {
// if(!loginUser) {
// return {code: 1, data:{count:0, rows:[]}};
// }
// try {
// var params = {
// pageSize: pobj.pageSize || 10,
// currentPage: pobj.currentPage || 1,
// userId: loginUser.id,
// }
//
// var page = await this.bmorderSve.pageByCondition(params);
// var result = {code : 1, data: page};
// return result;
// } catch (e) {
// console.log(e.stack);
// //日志记录
// logCtl.error({
// optitle: "绑定手机, params [" + JSON.stringify(params) + " ]",
// op: "wxapplet/impl/xggApplet/myReqList",
// content: e.stack,
// clientIp: req.clientIp
// });
// return {
// code: -200,
// msg: "error",
// data: {},
// stack : e.stack
// };
// }
//
// console.log(decryptData);
// }
//
//
// /**
// * 查询订单明细
// * @param {*} gobj
// * @param {*} pobj
// * @param {*} req
// * @param {*} loginUser
// */
// async queryOrderInfo(gobj, pobj, req, loginUser){
// if(!loginUser){
// return system.getResult(null, `请先登陆`);
// }
// try {
// return await this.bmorderSve.queryOrderInfo(pobj);
// } catch (error) {
// console.log(error);
// return system.getResult(null,error);
// }
// }
//
// async idcardValid(gobj, pobj, req, loginUser){
// try {
// var idcard = (pobj.idcard || "").trim();
// if(!idcard) {
// return {code: 0, msg: "请填写身份证号码"};
// }
//
// var isIdcard = await this.idcardClient.checkIDCard(idcard);
// if(isIdcard) {
// return {code: 1};
// }
// return {code: 0, msg: "身份证号码错误"};
// } catch (error) {
// console.log(error);
// return {code: 500, msg: "服务忙,请稍后重试"};
// }
// }
// //
} }
module.exports = MerchantApplet; module.exports = MerchantApplet;
\ No newline at end of file
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
## **<a name="login"> 登录</a>** ## **<a name="login"> 登录</a>**
[返回到目录](#menu) [返回到目录](#menu)
##### URL ##### URL
[/web/uc/userCtl/login] [/applet/merchantApplet/login]
#### 参数格式 `JSON` #### 参数格式 `JSON`
#### HTTP请求方式 `POST` #### HTTP请求方式 `POST`
```javascript ```javascript
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
## **<a name="currentUser"> 当前用户信息查询</a>** ## **<a name="currentUser"> 当前用户信息查询</a>**
[返回到目录](#menu) [返回到目录](#menu)
##### URL ##### URL
[/web/uc/userCtl/currentUser] [/applet/merchantApplet/loginUser]
#### 参数格式 `JSON` #### 参数格式 `JSON`
#### HTTP请求方式 `POST` #### HTTP请求方式 `POST`
``` javascript ``` javascript
......
<a name="menu">目录</a>
1. [身份证校验](#idNoValid)
1. [保存订单](#saveOrder)
1. [我的订单](#myOrders)
1. [订单详情](#orderInfo)
## **<a name="idNoValid"> 身份证校验</a>**
[返回到目录](#menu)
##### URL
[/applet/merchantApplet/idNoValid]
#### 参数格式 `JSON`
#### HTTP请求方式 `POST`
```javascript
{
"openid": "od1Y85FIQbVye0WzZnAKnTh5YC6k", // openId
"merchant_id": "11247613260000707", // 商户id
"idno": "210124198911021227", // 身份证
}
```
#### 返回结果
```javascript
{
"code": 0,
"msg": "身份证号码错误"
}
```
## **<a name="saveOrder"> 保存订单</a>**
[返回到目录](#menu)
##### URL
[/applet/merchantApplet/saveOrder]
#### 参数格式 `JSON`
#### HTTP请求方式 `POST`
```javascript
{
"openid": "od1Y85FIQbVye0WzZnAKnTh5YC6k", // openId
"merchant_id": "11247613260000707", // 商户id
"idcard_front": "222222222", // 身份证人像面
"idcard_back": "222222222222", // 身份证国徽面
"legal_name": "2222222222", // 法人姓名
"legal_mobile": "18600440811", // 联系电话
"legal_idno": "210124198911021227", // 法人身份证
"company_names": "2222222", // 公司名称,英文逗号(,)分隔
"bank_front": "22222222222222", // 银行卡正面
"bank_back": "2222222222", // 银行卡反面
"bank_name": "2222222222", // 开户行
"bank_no": "222222222222", // 银行卡号
"bank_mobile": "2222222222222" // 手机号(银行卡预留手机号)
}
```
#### 返回结果
```javascript
{
"code": 1,
"msg": "success",
"data": null
}
```
## **<a name="myOrders"> 我的订单</a>**
[返回到目录](#menu)
##### URL
[/applet/merchantApplet/myOrders]
#### 参数格式 `JSON`
#### HTTP请求方式 `POST`
``` javascript
{
"currentPage": "1",
"pageSize": "10",
}
```
#### 返回结果
```javascript
{
"status": 0,
"msg": "success",
"data": {
"count": 0,
"rows": [
{
"id": "1726724188001516", // 订单编号
"price": 1500, // 订单价格
"pay_voucher_img": "0", // 付款凭证
"audit_remark": "", // 审核凭证
"deliver_man": "", // 交付联系人
"deliver_mobile": "", // 交付联系电话
"deliver_addr": "", // 邮寄地址
"created_at": "2020-03-21 07:45:18", // 创建时间
"status": "3030", // 订单状态
"status_name": "已交付" // 订单状态名称
// 订单信息
"bminfo": {
"idcard_front": "11111", // 身份证正面
"idcard_back": "11111", // 身份证反面
"legal_name": "11111", // 法人名称
"legal_mobile": "11111", // 手机号
"legal_idno": "11111", // 身份证号码
"company_names": "11111", // 个体户名称
"bank_front": "11111", // 银行卡正面图
"bank_back": "11111", // 银行卡反面图
"bank_name": "11111", // 开户行
"bank_no": "11111", // 银行卡号
"bank_mobile": "11111", // 预留手机号
"domicile_id": "", // 注册地id
"domicile_name": "", // 注册地
"business_scope_id": "", // 经营范围id
"business_type": "", // 经营范围类型
"business_scope": "", // 经营范围详情
}
}
],
"total": 1
},
"requestid": "00521a0a0f094c8d982bf4375fbe91b1"
}
```
## **<a name="orderInfo"> 订单详情</a>**
[返回到目录](#menu)
##### URL
[/applet/merchantApplet/orderInfo]
#### 参数格式 `JSON`
#### HTTP请求方式 `POST`
``` javascript
{
"id": "1",
}
```
#### 返回结果
```javascript
{
"status": 0,
"msg": "success",
"data": {
"id": "1726724188001516", // 订单编号
"price": 1500, // 订单价格
"pay_voucher_img": "0", // 付款凭证
"audit_remark": "", // 审核凭证
"deliver_man": "", // 交付联系人
"deliver_mobile": "", // 交付联系电话
"deliver_addr": "", // 邮寄地址
"created_at": "2020-03-21 07:45:18", // 创建时间
"status": "3030", // 订单状态
"status_name": "已交付" // 订单状态名称
// 订单信息
"bminfo": {
"idcard_front": "11111", // 身份证正面
"idcard_back": "11111", // 身份证反面
"legal_name": "11111", // 法人名称
"legal_mobile": "11111", // 手机号
"legal_idno": "11111", // 身份证号码
"company_names": "11111", // 个体户名称
"bank_front": "11111", // 银行卡正面图
"bank_back": "11111", // 银行卡反面图
"bank_name": "11111", // 开户行
"bank_no": "11111", // 银行卡号
"bank_mobile": "11111", // 预留手机号
"domicile_id": "", // 注册地id
"domicile_name": "", // 注册地
"business_scope_id": "", // 经营范围id
"business_type": "", // 经营范围类型
"business_scope": "", // 经营范围详情
}
},
"requestid": "00521a0a0f094c8d982bf4375fbe91b1"
}
```
\ 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