Commit 89219d82 by 庄冰

collect logo

parent fc1ebeca
......@@ -5,6 +5,7 @@ class LogoOrderAPI extends APIBase {
constructor() {
super();
this.orderinfoSve = system.getObject("service.dbcorder.orderinfoSve");
this.logoOrderSve = system.getObject("service.dbcorder.logoOrderSve");
}
/**
* 接口跳转-POST请求
......@@ -25,11 +26,14 @@ class LogoOrderAPI extends APIBase {
case "getPaidLogoListByUser"://获取已购买的logo
opResult = this.orderinfoSve.getPaidLogoListByUser(pobj);
break;
case "getLogoMaterial"://下载logo素材
opResult = this.logoOrderSve.getLogoMaterial(pobj);
break;
case "getCollectibleLogoListByUser"://获取收藏的logo
opResult = system.getResultSuccess(null, "测试成功");
opResult = this.logoOrderSve.getCollectibleLogoListByUser(pobj);
break;
case "collectLogo"://收藏logo
opResult = system.getResultSuccess(null, "测试成功");
opResult = this.logoOrderSve.collectLogo(pobj);
break;
default:
opResult = system.getResult(null, "action_type参数错误");
......
......@@ -4,29 +4,7 @@ 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"},
};
this.execClient = system.getObject("util.execClient");
}
//获取已购买logo
async getPaidLogoListByUser(pobj){
......@@ -46,23 +24,82 @@ class LogoOrderService {
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 ";
"( SELECT id,orderNo FROM `c_order_info` WHERE uapp_id="+appInfo.uapp_id+" and (orderStatus='2' or orderStatus='4' or orderStatus='8' ) and ownerUserId='"+userInfo.channel_userid+"') AS o "+
"LEFT JOIN ( SELECT sourceOrderNo , itemCode FROM c_order_product where itemCode='znlogosjcp' 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 "+
" where itemCode is not null";
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 ";
"( SELECT id,orderNo FROM `c_order_info` WHERE uapp_id="+appInfo.uapp_id+" and (orderStatus='2' or orderStatus='4' or orderStatus='8' ) and ownerUserId='"+userInfo.channel_userid+"') AS o "+
"LEFT JOIN ( SELECT sourceOrderNo , itemCode FROM c_order_product where itemCode='znlogosjcp' 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 "+
" where itemCode is not null";
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) {//修改交付信息
//下载logo素材
async getLogoMaterial(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,"未知用户");
}
if(!ab || !ab.orderNo){
return system.getResultFail(-103,"订单号参数错误");
}
var orderinfo = await this.orderinfoDao.model.findOne({
where:{orderNo:ab.orderNo,ownerUserId:userInfo.channel_userid},
raw:true
});
if(!orderinfo || !orderinfo.id){
return system.getResultFail(-104,"未知订单");
}
// "order_status": { 1: "待付款", 2: "已付款", 4: "服务中", 8: "已完成", 16: "已退款", 32: "已作废" },
if(!orderinfo.orderStatus || (orderinfo.orderStatus!="2" && orderinfo.orderStatus!="4" && orderinfo.orderStatus!="8")){
return system.getResultFail(-105,"订单状态错误");
}
var orderdeliveryRes = await this.getOrderDelivery(ab.orderNo);
if(!orderdeliveryRes || orderdeliveryRes.length<1){
return system.getResultFail(-106,"未知交付信息");
}
var orderdelivery = orderdeliveryRes[0];
var deliveryContent = orderdelivery.deliveryContent;
if(!deliveryContent){
return system.getResultFail(-107,"交付信息不存在");
}
if(deliveryContent.down_url){
return system.getResultSuccess(deliveryContent.down_url);
}else{//从接口返回
var logodownRes = await this.getLogoDownUrl({
"id": deliveryContent.logo_id,
"title": deliveryContent.title,
"subtitle": deliveryContent.subtitle
});
if(logodownRes && logodownRes.status==0 && logodownRes.data && logodownRes.data.down_url){
deliveryContent.down_url = logodownRes.data.down_url;
this.putOrderDelivery(deliveryContent,ab.orderNo);
return system.getResultSuccess(logodownRes.data.down_url);
}else{
return system.getResultFail(-109,"获取logo材料失败");
}
}
return system.getResultFail(-110,"获取logo材料失败。");
}
async getLogoDownUrl(obj){
var url = "api/transfer/tradeApi/closeOrder";
var rtn = await this.execlient.execPost(obj, url);
var a = JSON.parse(rtn.stdout)
return a;
}
putOrderDelivery(data, orderNo) {//修改交付信息
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) {//新增交付信息
......@@ -70,10 +107,80 @@ class LogoOrderService {
orderNo + "','" + JSON.stringify(data) + "')";
this.orderinfoDao.customQuery(sql);
}
async getOrderDelivery(orderNo,channelOrderNo) {//查询交付信息
async getOrderDelivery(orderNo) {//查询交付信息
var sql = "select * from `c_order_delivery` where sourceOrderNo='" + orderNo + "'";
sql = sql + " and deliveryContent->'$.serviceNo' = '"+channelOrderNo+"'";
return await this.orderinfoDao.customQuery(sql);
}
//收藏logo
async collectLogo(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,"未知用户");
}
if(!ab){
return system.getResultFail(-103,"参数错误");
}
if(!ab.logo_id){
return system.getResultFail(-104,"logo编号不能为空");
}
if(!ab.title){
return system.getResultFail(-105,"品牌名称不能为空");
}
if(!ab.subtitle){
return system.getResultFail(-106,"品牌标语不能为空");
}
if(!ab.profession){
return system.getResultFail(-107,"行业名称不能为空");
}
if (!ab.description) {
return system.getResultFail(-108, "描述信息不能为空");
}
if (!ab.pic_url) {
return system.getResultFail(-109, "图标链接不能为空");
}
if (!ab.itemCode) {
return system.getResultFail(-110, "产品编码不能为空");
}
this.addCollectInfo(appInfo.uapp_id,userInfo.channel_userid,ab);
return system.getResultSuccess();
}
addCollectInfo(uapp_id,channelUserId,data) {//新增收藏信息
var sql = "INSERT INTO `c_collect_info` (`uapp_id`,`channelUserId`,`collectContent`) VALUE("+uapp_id+",'" +
channelUserId + "','" + JSON.stringify(data) + "')";
console.log(sql,"1111111111111111111111111111");
this.orderinfoDao.customQuery(sql);
}
async getCollectibleLogoListByUser(pobj) {//查询logo收藏信息
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(ab.pageSize || 20);
if (pageSize > 100) {
pageSize = 100;
}
var pageIndex = Number(ab.pageIndex || 1);
var from = pageIndex == 1 ? 0 : Number((pageIndex - 1) * pageSize);
var sql = "select * from `c_collect_info` where uapp_id="+appInfo.uapp_id+" and channelUserId='"+userInfo.channel_userid+"'";
sql = sql+" and collectContent->'$.itemCode' = 'znlogosjcp'";
sql += " order by id desc LIMIT " + pageSize + " OFFSET " + from;
var sqlcount = "select count(1) as dataCount from `c_collect_info` where uapp_id="+appInfo.uapp_id+" and channelUserId='"+userInfo.channel_userid+"'";
sqlcount = sqlcount+" and collectContent->'$.itemCode' = 'znlogosjcp'";
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;
}
}
module.exports = InternalCallsNotifyService;
\ No newline at end of file
module.exports = LogoOrderService;
\ No newline at end of file
......@@ -324,11 +324,6 @@ class OrderInfoService extends ServiceBase {
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");
......
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