Commit fc1ebeca by 庄冰

logo

parent 47a96597
var APIBase = require("../../api.base");
var system = require("../../../system");
var settings = require("../../../../config/settings");
class LogoOrderAPI extends APIBase {
constructor() {
super();
this.orderinfoSve = system.getObject("service.dbcorder.orderinfoSve");
}
/**
* 接口跳转-POST请求
* action_process 执行的流程
* action_type 执行的类型
* action_body 执行的参数
*/
async springBoard(pobj, qobj, req) {
if (!pobj.actionType) {
return system.getResult(null, "actionType参数不能为空");
}
var result = await this.opActionProcess(pobj, pobj.actionType, req);
return result;
}
async opActionProcess(pobj, action_type, req) {
var opResult = null;
switch (action_type) {
case "getPaidLogoListByUser"://获取已购买的logo
opResult = this.orderinfoSve.getPaidLogoListByUser(pobj);
break;
case "getCollectibleLogoListByUser"://获取收藏的logo
opResult = system.getResultSuccess(null, "测试成功");
break;
case "collectLogo"://收藏logo
opResult = system.getResultSuccess(null, "测试成功");
break;
default:
opResult = system.getResult(null, "action_type参数错误");
break;
}
return opResult;
}
}
module.exports = LogoOrderAPI;
\ No newline at end of file
const system = require("../../../system");
const uuidv4 = require('uuid/v4');
//内部通知调用
class LogoOrderService {
constructor() {
this.orderinfoDao = system.getObject("db.dbcorder.orderinfoDao");
this.delivery_status={
"dqrfa": "待确认方案",
"fabtg": "方案不通过",
"dfwsfw": "待服务",
"dsccl": "待上传材料",
"dsh": "待审核",
"ddj": "待递交",
"ydj": "已递交",
"ywc": "已完成"
};
this.statusContrast={
"WAITCONFIRM":{name:"待确认方案",value:"dqrfa"},
"CONFIRMFAIL":{name:"方案不通过",value:"fabtg"},
"READY":{name:"待上传材料",value:"dsccl"},
"WAITCOMMIT":{name:"待递交",value:"ddj"},
"WAITARTIFICIALEXAMINE":{name:"待审核",value:"dsh"},
"DOCFINISH": {name:"待审核",value:"dsh"},
"AWAITCHECK": {name:"待审核",value:"dsh"},
"COMMITED": {name:"已递交",value:"ydj"},
"ROBOT": {name:"已递交",value:"ydj"},
"ROBOTPAY": {name:"已递交",value:"ydj"},
"RECVCOMMIT": {name:"已递交",value:"ydj"},
};
}
//获取已购买logo
async getPaidLogoListByUser(pobj){
var ab = pobj.actionBody;
var appInfo = pobj.appInfo;
var userInfo = pobj.userInfo;
if(!appInfo || !appInfo.uapp_id){
return system.getResultFail(-101,"未知应用");
}
if(!userInfo || !userInfo.id){
return system.getResultFail(-102,"未知用户");
}
var pageSize = Number(actionBody.pageSize || 100);
if (pageSize > 100) {
pageSize = 100;
}
var pageIndex = Number(actionBody.pageIndex || 1);
var from = pageIndex == 1 ? 0 : Number((pageIndex - 1) * pageSize);
var sql = "SELECT o.* ,d.*,p.itemCode FROM "+
"( SELECT id,orderNo FROM `c_order_info` WHERE uapp_id="+appInfo.uapp_id+" and ownerUserId='"+userInfo.mobile+"') AS o "+
"LEFT JOIN ( SELECT sourceOrderNo , itemCode FROM c_order_product where itemCode='szhgszc' and uapp_id="+appInfo.uapp_id+" ) AS p ON o.orderNo = p.sourceOrderNo "+
"LEFT JOIN ( SELECT sourceOrderNo, deliveryContent FROM c_order_delivery ) AS d ON o.orderNo = d.sourceOrderNo ";
sql += " order by id desc LIMIT " + pageSize + " OFFSET " + from;
var sqlCount = "SELECT count(1) FROM "+
"( SELECT id,orderNo FROM `c_order_info` WHERE uapp_id="+appInfo.uapp_id+" and ownerUserId='"+userInfo.mobile+"') AS o "+
"LEFT JOIN ( SELECT sourceOrderNo , itemCode FROM c_order_product where itemCode='szhgszc' and uapp_id="+appInfo.uapp_id+" ) AS p ON o.orderNo = p.sourceOrderNo "+
"LEFT JOIN ( SELECT sourceOrderNo, deliveryContent FROM c_order_delivery ) AS d ON o.orderNo = d.sourceOrderNo ";
var list = await this.orderinfoDao.customQuery(sql);
var result = system.getResultSuccess(list);
var tmpResultCount = await this.orderinfoDao.customQuery(sqlCount);
result.dataCount = tmpResultCount && tmpResultCount.length > 0 ? tmpResultCount[0].dataCount : 0;
return result;
}
putOrderDelivery(data, orderNo, channelOrderNo) {//修改交付信息
var sql = "UPDATE `c_order_delivery` SET deliveryContent ='" + JSON.stringify(data) + "' where sourceOrderNo='" + orderNo + "'";
sql = sql + " and deliveryContent->'$.serviceNo' = '"+channelOrderNo+"'";
this.orderinfoDao.customUpdate(sql);
}
addOrderDelivery(data, orderNo) {//新增交付信息
var sql = "INSERT INTO `c_order_delivery` (`sourceOrderNo`,`deliveryContent`) VALUE('" +
orderNo + "','" + JSON.stringify(data) + "')";
this.orderinfoDao.customQuery(sql);
}
async getOrderDelivery(orderNo,channelOrderNo) {//查询交付信息
var sql = "select * from `c_order_delivery` where sourceOrderNo='" + orderNo + "'";
sql = sql + " and deliveryContent->'$.serviceNo' = '"+channelOrderNo+"'";
return await this.orderinfoDao.customQuery(sql);
}
}
module.exports = InternalCallsNotifyService;
\ No newline at end of file
......@@ -319,7 +319,46 @@ class OrderInfoService extends ServiceBase {
});
});
}
async packagingLogoDeliveryData(pobj, actionBody) {//重新组装Logo交付信息
if (!actionBody.deliveryData || Object.keys(actionBody.deliveryData).length == 0) {
return system.getResult(null, "交付数据不能为空,20135");
}
// {
// "id": 1138, //id:后续用了购买的标识,购买时需要回传
// "description": "淡蓝色象征着清新,淡雅", //描述
// "pic_url": "https://gsb-zc.oss-cn-beijing.aliyuncs.com/generator_202004270135297459.png" //图像url
// },
var deliveryData = actionBody.deliveryData;
if (!deliveryData.logo_id) {
return system.getResult(null, "logo_Id不能为空,20150");
}
if (!deliveryData.description) {
return system.getResult(null, "描述信息不能为空,20180");
}
if (!deliveryData.pic_url) {
return system.getResult(null, "图标链接不能为空,20183");
}
return system.getResultSuccess(deliveryData);
}
async createLogoOrder(pobj) {
var packagingTmResult = await this.packagingLogoDeliveryData(pobj, pobj.actionBody);
if (packagingTmResult.status != 0) {
return packagingTmResult;
}
var self = this;
return await self.db.transaction(async function (t) {
var orderNo = await self.getBusUid("logo" + pobj.appInfo.uapp_id);
var item = await self.createOrder(pobj, orderNo, t);
self.addOrderDelivery(pobj.actionBody.deliveryData, orderNo);
return system.getResultSuccess({
orderNo: orderNo,
channelServiceNo: pobj.actionBody.channelOrder.channelServiceNo || orderNo,
channelOrderNo: pobj.actionBody.channelOrder.channelOrderNo || orderNo,
channelParams: pobj.actionBody.channelOrder.channelParams || ""
});
});
}
/**
* 创建其他订单
* @param {*} pobj
......
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