Commit 2d4e0f80 by 朱继来

调整订单导出

parent d270145d
......@@ -18,6 +18,7 @@ use App\Model\OrderActionLogModel;
use App\Model\OrderReturnModel;
use App\Model\OrderItemsTrackModel;
use Session;
use Hprose\Http\Client;
// 获取订单优惠券金额
function getCoupon($order_id)
......@@ -664,11 +665,49 @@ Class OrderController extends Controller
// 订单导出
public function export(Request $request)
{
$info = $this->_search($request, $request->input('order_goods_type'));
$order_goods_type = $request->input('order_goods_type', 1);
$info = $this->_search($request, $order_goods_type);
if ($order_goods_type == 1) {
$file_name = '联营订单导出';
$source_items_id = Config('website.export_joint_source_id');
$headerCell = ['订单ID', '订单编号', 'ERP单号', '京东订单号', '会员账号', '收货人', '下单日期', '下单时间', '客户名称', '平台来源', 'SKUID', '商品型号', '商品分类', '制造商', '供应商', '数量', '单价', '均摊后单价', '商品小计', '币种', '客服', '商品总额', '运费', '附加费', '优惠券', '订单总额', '人民币总额', '付款类型', '订单状态', '发货状态', '收货地址', '发票类型', '发票状态', '发票抬头', '公司注册地址', '公司电话', 'adtags来源', '新用户来源', '取消原因', '推送备注', '是否为测试订单', '是否为新订单'];
$return_url = '/list';
} else {
$file_name = '自营订单导出';
$source_items_id = Config('website.export_self_source_id');
$headerCell = ['订单ID', '订单编号', 'ERP单号', '京东订单号', '会员账号', '收货人', '下单日期', '下单时间', '客户名称', '平台来源', 'SKUID', '商品型号', '商品分类', '制造商', '供应商', '数量', '单价', '均摊后单价', '商品小计', '币种', '客服', '商品总额', '运费', '附加费', '优惠券', '订单总额', '付款类型', '订单状态', '发货状态', '收货地址', '发票类型', '发票状态', '发票抬头', '公司注册地址', '公司电话', 'adtags来源', '新用户来源', '取消原因', '推送备注', '是否为测试订单', '销售类型', '业务类型', '自采标记', '项目需求描述','收货联系电话'];
$return_url = '/self_order';
}
$info['map']['p'] = 1;
$params = [
"type" => 2, // 类型 1:模板调用 2: api回调 (必填)
"source_items_id" => $source_items_id, //设置来源明细id:http://data.ichunt.net/database/1199(必填)
"file_name" => $file_name,//导出后文件名称(必填)
"excel_suf" => "csv", //导出文件格式 csv,xls(必填)
"header" => $headerCell, //导出文件头部 (必填,不得用 ID 做头部,数据顺序必须一致)
"query_param" => $info['map'], //p 第几页,limit每页多少条 占位符,照抄不需要改 (必填)
"callbackurl" => "http://".$_SERVER['HTTP_HOST']."/hprose/service", //hrpose 数据提供网址(提供导出脚本分页回调获取数据,必填)
"callbackfuc" => "orderExport", //hrpose 回调函数(必填)
"create_uid" => $request->user->userId, #创建人id(必填)
];
// 调用导出系统
$url = Config('website.export_url');
$client = new \Hprose\Http\Client($url."/insertExport", false);
$res = $client->insertExport(json_encode($params));
// print_r($res);
$res = json_decode($res, true);
if ($res['err_code'] == 0) return ['err_code'=>0, 'err_msg'=>'推入到导出系统成功', 'data'=>$res['data']];
return ['err_code'=>1, 'err_msg'=>'推入到导出系统失败'];
$orderModel = new OrderModel();
// $orderModel = new OrderModel();
return $orderModel->orderExport($info['map']);
// return $orderModel->orderExport($info['map']);
}
// 下载合同
......
......@@ -153,5 +153,21 @@ Route::group(['middleware' => 'api'], function () {
Route::get ('/handle/paylog', 'SpecialController@handlePayLog'); // 处理支付记录
Route::get('/act/sendactmsg', 'CronController@sendActMsg'); // 推送活动短信
Route::get ('/handle/paytype', 'SpecialController@changeOrderPayType'); // 自营更改预付款支付方式
Route::post('/hprose/service', function (Request $request) {
$server = new \App\Services\ExportService();
$server->init(); //开启服务
});
Route::get('client', function () {
$server = new \App\Services\TestClient();
$server->index();
});
});
......@@ -23,6 +23,9 @@ class OrderModel extends Model
$userMainModel = new UserMainModel();
$map['testMobile'] = $userMainModel->testMobile();
$map['limit'] = isset($map['limit']) ? $map['limit'] : 100;
$map['p'] = isset($map['p']) ? $map['p'] : 1;
$list = $this->from('lie_order_items as it')
->leftJoin('lie_order as o', 'it.order_id', '=', 'o.order_id')
->leftJoin('lie_pay_log as p', 'it.order_id', '=', 'p.order_id')
......@@ -235,37 +238,44 @@ class OrderModel extends Model
->select('it.goods_id', 'it.goods_name', 'it.goods_number', 'it.goods_price', 'it.single_pre_price', 'it.brand_name', 'it.supplier_name', 'it.goods_class', 'it.self_supplier_type', 'o.order_id', 'o.order_sn', 'o.order_type', 'o.order_pay_type', 'o.order_goods_type', 'o.order_source', 'o.create_time', 'o.status', 'o.order_amount', 'o.sale_type', 'o.currency', 'o.sale_id', 'o.cancel_reason', 'i.tax_title', 'i.inv_type', 'i.invoice_status', 'i.tax_title', 'i.company_address', 'i.company_phone', 'i.tax_no', 'i.bank_name', 'i.bank_account', 'a.consignee', 'a.address', 's.status as shipping_status', 'u.user_id', 'u.mobile', 'u.email', 'u.client_source', 'u.is_new', 'u.is_test', 'c.com_name', 'oe.erp_sn', 'oe.send_remark', 'oe.is_new as is_new_order', 'oe.business_type', 'oe.jd_order_id', 'oe.exchange_rate', 'oe.sample_demand_desc','a.mobile as address_mobile','a.province','a.city','a.district')
->groupBy('it.rec_id')
->orderBy('o.create_time', 'DESC')
->get()
->toArray();
// ->get()
// ->toArray();
->paginate($map['limit'], ['*'], 'p', $map['p'])->toArray();
if (!empty($list['data'])) {
$list['data'] = $this->exportList($list['data']); // 订单数据处理
}
return $list;
// dump($list->getBindings());
// dump($list->toSql());
// $tmp = str_replace('?', '"'.'%s'.'"', $list->toSql());
// $tmp = vsprintf($tmp, $list->getBindings());
// echo $tmp;
// exit;
if (!empty($list)) {
// 订单数据处理
$cellData = $this->exportList($list);
// 标题
if ($map['order_goods_type'] == 1) {
$headerCell = ['订单ID', '订单编号', 'ERP单号', '京东订单号', '会员账号', '收货人', '下单日期', '下单时间', '客户名称', '平台来源', 'SKUID', '商品型号', '商品分类', '制造商', '供应商', '数量', '单价', '均摊后单价', '商品小计', '币种', '客服', '商品总额', '运费', '附加费', '优惠券', '订单总额', '人民币总额', '付款类型', '订单状态', '发货状态', '收货地址', '发票类型', '发票状态', '发票抬头', '公司注册地址', '公司电话', 'adtags来源', '新用户来源', '取消原因', '推送备注', '是否为测试订单', '是否为新订单'];
} else {
$headerCell = ['订单ID', '订单编号', 'ERP单号', '京东订单号', '会员账号', '收货人', '下单日期', '下单时间', '客户名称', '平台来源', 'SKUID', '商品型号', '商品分类', '制造商', '供应商', '数量', '单价', '均摊后单价', '商品小计', '币种', '客服', '商品总额', '运费', '附加费', '优惠券', '订单总额', '付款类型', '订单状态', '发货状态', '收货地址', '发票类型', '发票状态', '发票抬头', '公司注册地址', '公司电话', 'adtags来源', '新用户来源', '取消原因', '推送备注', '是否为测试订单', '销售类型', '业务类型', '自采标记', '项目需求描述','收货联系电话'];
}
array_unshift($cellData, $headerCell);
$fileName = $map['order_goods_type'] == 1 ? '联营订单导出'.date('_YmdHis') : '自营订单导出'.date('_YmdHis');
Excel::create($fileName, function($excel) use ($cellData){
$excel->sheet('订单导出', function($sheet) use ($cellData){
$sheet->rows($cellData);
});
})->export('xls');
} else {
return redirect('/prompt')->with(['message'=>"数据为空无法导出!",'url' =>$_SERVER['HTTP_REFERER'], 'jumpTime'=>3,'status'=>false]);
}
// if (!empty($list)) {
// // 订单数据处理
// $cellData = $this->exportList($list);
// // 标题
// if ($map['order_goods_type'] == 1) {
// $headerCell = ['订单ID', '订单编号', 'ERP单号', '京东订单号', '会员账号', '收货人', '下单日期', '下单时间', '客户名称', '平台来源', 'SKUID', '商品型号', '商品分类', '制造商', '供应商', '数量', '单价', '均摊后单价', '商品小计', '币种', '客服', '商品总额', '运费', '附加费', '优惠券', '订单总额', '人民币总额', '付款类型', '订单状态', '发货状态', '收货地址', '发票类型', '发票状态', '发票抬头', '公司注册地址', '公司电话', 'adtags来源', '新用户来源', '取消原因', '推送备注', '是否为测试订单', '是否为新订单'];
// } else {
// $headerCell = ['订单ID', '订单编号', 'ERP单号', '京东订单号', '会员账号', '收货人', '下单日期', '下单时间', '客户名称', '平台来源', 'SKUID', '商品型号', '商品分类', '制造商', '供应商', '数量', '单价', '均摊后单价', '商品小计', '币种', '客服', '商品总额', '运费', '附加费', '优惠券', '订单总额', '付款类型', '订单状态', '发货状态', '收货地址', '发票类型', '发票状态', '发票抬头', '公司注册地址', '公司电话', 'adtags来源', '新用户来源', '取消原因', '推送备注', '是否为测试订单', '销售类型', '业务类型', '自采标记', '项目需求描述','收货联系电话'];
// }
// array_unshift($cellData, $headerCell);
// $fileName = $map['order_goods_type'] == 1 ? '联营订单导出'.date('_YmdHis') : '自营订单导出'.date('_YmdHis');
// Excel::create($fileName, function($excel) use ($cellData){
// $excel->sheet('订单导出', function($sheet) use ($cellData){
// $sheet->rows($cellData);
// });
// })->export('xls');
// } else {
// return redirect('/prompt')->with(['message'=>"数据为空无法导出!",'url' =>$_SERVER['HTTP_REFERER'], 'jumpTime'=>3,'status'=>false]);
// }
}
/**
......
<?php
namespace App\Services;
use Hprose\Http\Server;
use App\Model\OrderModel;
class ExportService {
public function init()
{
$server = new Server();
$server->addMethod('test', $this);
$server->addMethod('orderExport', $this);
$server->handle();
}
public function test()
{
return 'hello';
}
// 订单导出
public function orderExport($map)
{
$map = json_decode($map, true);
if (!$map) return json_encode(['code'=>-10001, 'msg'=>'查询条件不能为空']);
$orderModel = new OrderModel();
$list = $orderModel->orderExport($map);
return json_encode(['code'=>0, 'msg'=>'成功', 'count'=>$list['total'], 'data'=>$list['data']]);
}
}
<?php
namespace App\Services;
use Hprose\Http\Client;
class TestClient
{
public function index()
{
//服务端路由在api路由中配置,则此处路由应加上api/test
//实例化可选参数 加上false 即创建创建一个同步的 HTTP 客户端
//不写false 为创建一个异步的 HTTP 客户端
$user =new Client('http://lorder.liexin.net/hprose/service', false);
// $res = $user->test();
$res=$user->orderExport(json_encode(['limit'=>10, 'p'=>1]));
print_r($res);
}
}
......@@ -12,7 +12,7 @@ return [
|
*/
'enabled' => env('APP_DEBUG', false),
'enabled' => env('APP_DEBUG_X', false),
/*
|--------------------------------------------------------------------------
......
......@@ -83,4 +83,9 @@ return [
// crm
'crm_domain' => 'http://lcrm.liexin.net',
// 导出系统
'export_url' => 'http://export.liexin.com',
'export_joint_source_id' => 16,
'export_self_source_id' => 17,
];
......@@ -224,27 +224,49 @@
listUrl += '&order_goods_type='+type;
}
location.href = listUrl;
return listUrl;
}
// 联营搜索
$('.searchOrder').click(function(){
orderListCommon('/list', 1);
})
var listUrl = orderListCommon('/list', 1);
// 联营导出订单
$('.exportExcel').click(function() {
orderListCommon('/export', 1);
location.href = listUrl;
})
// 自营搜索
$('.search_self_order').click(function(){
orderListCommon('/self_order', 2);
var listUrl = orderListCommon('/self_order', 2);
location.href = listUrl;
})
// 联营导出订单
$('.exportExcel').click(function() {
var listUrl = orderListCommon('/export', 1);
$.get(listUrl, function(resp) {
if (resp.err_code != 0) {
layer.msg(resp.err_msg);
return false;
}
window.open(resp.data, '_blank');
})
})
// 自营导出订单
$('.self_export').click(function() {
orderListCommon('/export', 2);
var listUrl = orderListCommon('/export', 2);
$.get(listUrl, function(resp) {
if (resp.err_code != 0) {
layer.msg(resp.err_msg);
return false;
}
window.open(resp.data, '_blank');
})
})
// 选择查看测试订单
......
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 sign in to comment