Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
朱继来
/
后台订单管理
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
d12b41c0
authored
Apr 02, 2018
by
朱继来
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
订单excel导出(暂存)
parent
1b04165b
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
142 additions
and
45 deletions
app/Http/Controllers/OrderController.php
app/Http/Function.php
app/Http/Controllers/OrderController.php
View file @
d12b41c0
...
@@ -394,30 +394,10 @@ Class OrderController extends Controller
...
@@ -394,30 +394,10 @@ Class OrderController extends Controller
$map
[
'test_order'
]
=
$request
->
input
(
'test_order'
,
''
);
$map
[
'test_order'
]
=
$request
->
input
(
'test_order'
,
''
);
$map
[
'order_pay_type'
]
=
$request
->
input
(
'order_pay_type'
,
''
);
$map
[
'order_pay_type'
]
=
$request
->
input
(
'order_pay_type'
,
''
);
$map
[
'order_type_a'
]
=
$request
->
input
(
'order_type_a'
,
''
);
$map
[
'order_type_a'
]
=
$request
->
input
(
'order_type_a'
,
''
);
// $map['order_pay_status'] = $request->input('order_pay_status', '');
$map
[
'order_source_pf'
]
=
$request
->
input
(
'order_source_pf'
,
''
);
$map
[
'order_source_pf'
]
=
$request
->
input
(
'order_source_pf'
,
''
);
$map
[
'order_source_adtag'
]
=
$request
->
input
(
'order_source_adtag'
,
''
);
$map
[
'order_source_adtag'
]
=
$request
->
input
(
'order_source_adtag'
,
''
);
}
}
// 订单查看权限
// switch ($info['role']) {
// case 2:
// // 经理:若没有'查看线下订单'权限,则仅查看线上订单
// if (!in_array('check_offline_order', $info['userPerms'])) {
// $map['online_order'] = 1;
// }
// break;
// case 3:
// // 交易员: 若没有'查看线下订单'权限,则仅查看线上订单
// if (!in_array('check_offline_order', $info['userPerms'])) {
// $map['online_order'] = 1;
// }
// // 筛选自己的订单
// $data['sale_id'] = $request->user->userId;
// break;
// }
// 若没有'查看线下订单'权限,则仅查看线上订单
// 若没有'查看线下订单'权限,则仅查看线上订单
if
(
!
in_array
(
'check_offline_order'
,
$info
[
'userPerms'
]))
{
if
(
!
in_array
(
'check_offline_order'
,
$info
[
'userPerms'
]))
{
$map
[
'online_order'
]
=
1
;
$map
[
'online_order'
]
=
1
;
...
@@ -429,7 +409,7 @@ Class OrderController extends Controller
...
@@ -429,7 +409,7 @@ Class OrderController extends Controller
// 订单查看权限---交易员
// 订单查看权限---交易员
if
(
$info
[
'role'
]
==
3
)
{
if
(
$info
[
'role'
]
==
3
)
{
// 筛选自己的订单
// 筛选自己的订单
$
data
[
'sale_id'
]
=
$request
->
user
->
userId
;
$
map
[
'sale_id'
]
=
$request
->
user
->
userId
;
}
}
// 格式
// 格式
...
@@ -458,18 +438,113 @@ Class OrderController extends Controller
...
@@ -458,18 +438,113 @@ Class OrderController extends Controller
// $map['is_fake'] = 0;
// $map['is_fake'] = 0;
// }
// }
//获取订单列表
$orderIds
=
array
();
$url
=
Config
(
'website.api_domain'
)
.
'order/getAllOrder'
;
// 型号名称
if
(
$map
[
'order_type'
]
==
2
)
{
$goods
=
DB
::
connection
(
'order'
)
->
table
(
'lie_order_items'
)
->
where
(
'goods_name'
,
'='
,
$map
[
'order_contain'
])
->
select
(
'order_id'
)
->
get
();
$data
[
'k1'
]
=
time
();
if
(
$goods
)
{
$data
[
'k2'
]
=
md5
(
md5
(
$data
[
'k1'
])
.
'fh6y5t4rr351d2c3bryi'
);
foreach
(
$goods
as
$v
)
{
$data
[
'map'
]
=
$map
;
$orderIds
[]
=
$v
->
order_id
;
$data
[
'export'
]
=
1
;
// 导出数据
}
}
}
$list
=
DB
::
connection
(
'order'
)
->
table
(
'lie_order as o'
)
->
leftJoin
(
'lie_user_main as u'
,
'o.user_id'
,
'='
,
'u.user_id'
)
->
where
(
function
(
$query
)
use
(
$map
,
$orderIds
)
{
// 查询类型
if
(
!
empty
(
$map
[
'order_contain'
]))
{
if
(
$map
[
'order_type'
]
==
1
)
{
// 订单编号
$query
->
where
(
'o.order_sn'
,
'='
,
$map
[
'order_contain'
]);
}
else
if
(
$map
[
'order_type'
]
==
2
)
{
// 型号名称
$query
->
whereIn
(
'o.order_id'
,
$orderIds
);
}
else
{
// 会员账号
if
(
preg_match
(
'/@/'
,
$map
[
'order_contain'
]))
{
$query
->
where
(
'u.email'
,
'='
,
$map
[
'order_contain'
]);
}
else
{
$query
->
where
(
'u.mobile'
,
'='
,
$map
[
'order_contain'
]);
}
}
}
})
->
where
(
function
(
$query
)
use
(
$map
)
{
// 创建时间
if
(
!
empty
(
$map
[
'time_start'
])
&&
!
empty
(
$map
[
'time_end'
]))
{
$query
->
whereBetween
(
'o.create_time'
,
[
$map
[
'time_start'
],
$map
[
'time_end'
]]);
}
else
if
(
!
empty
(
$map
[
'time_start'
]))
{
$query
->
where
(
'o.create_time'
,
'>'
,
$map
[
'time_start'
]);
}
else
if
(
!
empty
(
$map
[
'time_end'
]))
{
$query
->
where
(
'o.create_time'
,
'<'
,
$map
[
'time_end'
]);
}
})
->
where
(
function
(
$query
)
use
(
$map
)
{
// 订单状态
if
(
!
empty
(
$map
[
'order_status'
]))
{
$query
->
where
(
'o.status'
,
'='
,
$map
[
'order_status'
]);
}
})
->
where
(
function
(
$query
)
use
(
$map
)
{
// 配送方式
if
(
!
empty
(
$map
[
'shipping_name'
]))
{
$query
->
where
(
'o.order_shipping_type'
,
'='
,
$map
[
'shipping_name'
]);
}
})
->
where
(
function
(
$query
)
use
(
$map
)
{
// 订单推送业务员
if
(
!
empty
(
$map
[
'order_send'
]))
{
$query
->
where
(
'o.sale_id'
,
'='
,
$map
[
'order_send'
]);
}
})
->
where
(
function
(
$query
)
use
(
$map
)
{
// 订单类型
if
(
!
empty
(
$map
[
'order_pay_type'
]))
{
$query
->
where
(
'o.order_pay_type'
,
'='
,
$map
[
'order_pay_type'
]);
}
})
->
where
(
function
(
$query
)
use
(
$map
)
{
// 测试订单
if
(
empty
(
$map
[
'test_order'
]))
{
$query
->
whereNotIn
(
'o.user_id'
,
$this
->
testMobile
());
}
})
->
where
(
function
(
$query
)
use
(
$map
)
{
// 订单来源
if
(
!
empty
(
$map
[
'order_source_pf'
]))
{
if
(
$map
[
'order_source_pf'
]
==
1
)
{
$query
->
whereRaw
(
"FIND_IN_SET('pf=1', o.order_source)"
);
}
else
{
$query
->
whereRaw
(
"FIND_IN_SET('pf=2', o.order_source)"
);
}
}
})
->
where
(
function
(
$query
)
use
(
$map
)
{
// adtags来源
if
(
!
empty
(
$map
[
'order_source_adtag'
]))
{
$query
->
whereRaw
(
'FIND_IN_SET("adtag='
.
$map
[
'order_source_adtag'
]
.
'", o.order_source)'
);
}
})
->
where
(
function
(
$query
)
use
(
$map
)
{
// 线上订单
if
(
isset
(
$map
[
'online_order'
]))
{
$query
->
where
(
'o.order_type'
,
'='
,
$map
[
'online_order'
]);
}
})
->
where
(
function
(
$query
)
use
(
$map
)
{
// 竞调数据
if
(
isset
(
$map
[
'is_fake'
]))
{
$query
->
where
(
'o.is_type'
,
'='
,
$map
[
'is_fake'
]);
}
})
->
select
(
'o.order_id'
,
'o.order_sn'
,
'o.order_pay_type'
,
'o.create_time'
,
'o.status'
,
'o.currency'
,
'o.sale_id'
,
'u.user_id'
,
'u.mobile'
,
'u.email'
)
->
orderBy
(
'o.create_time'
,
'DESC'
)
->
get
();
$response
=
json_decode
(
curlApi
(
$url
,
$data
),
true
);
// 订单数据处理
// 订单数据处理
$export
=
$this
->
exportList
(
$
response
[
'data'
]
);
$export
=
$this
->
exportList
(
$
list
);
if
(
$export
){
if
(
$export
){
$xlsName
=
'订单数据导出'
;
$xlsName
=
'订单数据导出'
;
...
@@ -480,6 +555,20 @@ Class OrderController extends Controller
...
@@ -480,6 +555,20 @@ Class OrderController extends Controller
}
}
}
}
// 测试帐号
public
function
testMobile
()
{
$testId
=
array
();
$user
=
DB
::
connection
(
'order'
)
->
table
(
'lie_user_main'
)
->
select
(
'user_id'
)
->
where
([
'is_test'
=>
1
])
->
get
();
foreach
(
$user
as
$k
=>
$v
)
{
$testId
[
$k
]
=
$v
->
user_id
;
}
return
$testId
;
}
/**
/**
* 导出到Excel
* 导出到Excel
* @param [type] $order [查询出的订单数据]
* @param [type] $order [查询出的订单数据]
...
@@ -527,55 +616,55 @@ Class OrderController extends Controller
...
@@ -527,55 +616,55 @@ Class OrderController extends Controller
// 收货人
// 收货人
$address
=
DB
::
connection
(
'order'
)
$address
=
DB
::
connection
(
'order'
)
->
table
(
'lie_order_address'
)
->
table
(
'lie_order_address'
)
->
where
([
'order_id'
=>
$val
[
'order_id'
]
,
'address_type'
=>
1
])
->
where
([
'order_id'
=>
$val
->
order_id
,
'address_type'
=>
1
])
->
first
();
->
first
();
// 商品信息
// 商品信息
$goods
=
DB
::
connection
(
'order'
)
$goods
=
DB
::
connection
(
'order'
)
->
table
(
'lie_order_items'
)
->
table
(
'lie_order_items'
)
->
where
(
'order_id'
,
'='
,
$val
[
'order_id'
]
)
->
where
(
'order_id'
,
'='
,
$val
->
order_id
)
->
where
(
'status'
,
'<>'
,
-
1
)
->
where
(
'status'
,
'<>'
,
-
1
)
->
get
();
->
get
();
// 推送人
//
//
推送人
$sales
=
DB
::
table
(
'user_info'
)
->
where
([
'userId'
=>
$val
[
'sale_id'
]
])
->
select
(
'name'
)
->
first
();
$sales
=
DB
::
table
(
'user_info'
)
->
where
([
'userId'
=>
$val
->
sale_id
])
->
select
(
'name'
)
->
first
();
// 公司信息
// 公司信息
$company
=
DB
::
connection
(
'order'
)
$company
=
DB
::
connection
(
'order'
)
->
table
(
'lie_user_company'
)
->
table
(
'lie_user_company'
)
->
where
([
'user_id'
=>
$val
[
'user_id'
]
])
->
where
([
'user_id'
=>
$val
->
user_id
])
->
select
(
'com_name'
)
->
select
(
'com_name'
)
->
first
();
->
first
();
// 订单物流信息
// 订单物流信息
$shipping
=
DB
::
connection
(
'order'
)
$shipping
=
DB
::
connection
(
'order'
)
->
table
(
'lie_order_shipping'
)
->
table
(
'lie_order_shipping'
)
->
where
([
'order_id'
=>
$val
[
'order_id'
]
,
'shipping_type'
=>
1
])
->
where
([
'order_id'
=>
$val
->
order_id
,
'shipping_type'
=>
1
])
->
select
(
'status'
)
->
select
(
'status'
)
->
first
();
->
first
();
// 订单发票信息
// 订单发票信息
$invoice
=
DB
::
connection
(
'order'
)
$invoice
=
DB
::
connection
(
'order'
)
->
table
(
'lie_order_invoice'
)
->
table
(
'lie_order_invoice'
)
->
where
([
'order_id'
=>
$val
[
'order_id'
]
])
->
where
([
'order_id'
=>
$val
->
order_id
])
->
select
(
'invoice_status'
)
->
select
(
'invoice_status'
)
->
first
();
->
first
();
if
(
$goods
)
{
if
(
$goods
)
{
foreach
(
$goods
as
$item
)
{
foreach
(
$goods
as
$item
)
{
$tmp
[
$i
][
'order_id'
]
=
$val
[
'order_id'
]
;
$tmp
[
$i
][
'order_id'
]
=
$val
->
order_id
;
$tmp
[
$i
][
'order_sn'
]
=
$val
[
'order_sn'
]
;
$tmp
[
$i
][
'order_sn'
]
=
$val
->
order_sn
;
$tmp
[
$i
][
'user_account'
]
=
$val
[
'mobile'
]
?
$val
[
'mobile'
]
:
$val
[
'email'
]
;
$tmp
[
$i
][
'user_account'
]
=
$val
->
mobile
?
$val
->
mobile
:
$val
->
email
;
$tmp
[
$i
][
'consignee'
]
=
$address
?
$address
->
consignee
:
''
;
$tmp
[
$i
][
'consignee'
]
=
isset
(
$address
)
?
$address
->
consignee
:
''
;
$tmp
[
$i
][
'create_time'
]
=
date
(
'Y-m-d H:i:s'
,
$val
[
'create_time'
]
);
$tmp
[
$i
][
'create_time'
]
=
date
(
'Y-m-d H:i:s'
,
$val
->
create_time
);
$tmp
[
$i
][
'com_name'
]
=
$company
?
$company
->
com_name
:
''
;
$tmp
[
$i
][
'com_name'
]
=
isset
(
$company
)
?
$company
->
com_name
:
''
;
$tmp
[
$i
][
'goods_name'
]
=
$item
->
goods_name
;
$tmp
[
$i
][
'goods_name'
]
=
$item
->
goods_name
;
$tmp
[
$i
][
'goods_number'
]
=
$item
->
goods_number
;
$tmp
[
$i
][
'goods_number'
]
=
$item
->
goods_number
;
$tmp
[
$i
][
'goods_price'
]
=
$item
->
goods_price
;
$tmp
[
$i
][
'goods_price'
]
=
$item
->
goods_price
;
$tmp
[
$i
][
'order_amount'
]
=
$item
->
goods_number
*
$item
->
goods_price
;
$tmp
[
$i
][
'order_amount'
]
=
$item
->
goods_number
*
$item
->
goods_price
;
$tmp
[
$i
][
'currency'
]
=
$val
[
'currency'
]
==
1
?
'RMB'
:
'USD'
;
$tmp
[
$i
][
'currency'
]
=
$val
->
currency
==
1
?
'RMB'
:
'USD'
;
$tmp
[
$i
][
'order_type'
]
=
$order_type
[
$val
[
'order_pay_type'
]
];
$tmp
[
$i
][
'order_type'
]
=
$order_type
[
$val
->
order_pay_type
];
$tmp
[
$i
][
'order_status'
]
=
$order_status
[
$val
[
'status'
]
];
$tmp
[
$i
][
'order_status'
]
=
$order_status
[
$val
->
status
];
// 发货状态
// 发货状态
$tmp
[
$i
][
'shipping_status'
]
=
!
empty
(
$shipping
)
?
$shipping_status
[
$shipping
->
status
]
:
'无发货信息'
;
$tmp
[
$i
][
'shipping_status'
]
=
!
empty
(
$shipping
)
?
$shipping_status
[
$shipping
->
status
]
:
'无发货信息'
;
$tmp
[
$i
][
'invoice_status'
]
=
!
empty
(
$invoice
)
?
$invoice_status
[
$invoice
->
invoice_status
]
:
'无发票信息'
;
// 发票状态
$tmp
[
$i
][
'invoice_status'
]
=
!
empty
(
$invoice
)
?
$invoice_status
[
$invoice
->
invoice_status
]
:
'无发票信息'
;
// 发票状态
...
...
app/Http/Function.php
View file @
d12b41c0
...
@@ -14,6 +14,14 @@
...
@@ -14,6 +14,14 @@
$objPHPExcel
=
new
PHPExcel
();
$objPHPExcel
=
new
PHPExcel
();
include_once
(
__DIR__
.
"/../../vendor/PHPExcel/PHPExcel/IOFactory.php"
);
include_once
(
__DIR__
.
"/../../vendor/PHPExcel/PHPExcel/IOFactory.php"
);
set_time_limit
(
0
);
//不对php(主要是写数据)执行时间做限制
ini_set
(
"memory_limit"
,
"1024M"
);
//设置内存(防爆内存)
$cacheMethod
=
\PHPExcel_CachedObjectStorageFactory
::
cache_in_memory_serialized
;
//设置缓存策略(减少内存占用)
//判断缓存策略是否可用
if
(
!
\PHPExcel_Settings
::
setCacheStorageMethod
(
$cacheMethod
))
{
die
(
$cacheMethod
.
" 缓存方法不可用"
.
EOL
);
}
$cellName
=
array
(
'A'
,
'B'
,
'C'
,
'D'
,
'E'
,
'F'
,
'G'
,
'H'
,
'I'
,
'J'
,
'K'
,
'L'
,
'M'
,
'N'
,
'O'
,
'P'
,
'Q'
,
'R'
,
'S'
,
'T'
,
'U'
,
'V'
,
'W'
,
'X'
,
'Y'
,
'Z'
,
'AA'
,
'AB'
,
'AC'
,
'AD'
,
'AE'
,
'AF'
,
'AG'
,
'AH'
,
'AI'
,
'AJ'
,
'AK'
,
'AL'
,
'AM'
,
'AN'
,
'AO'
,
'AP'
,
'AQ'
,
'AR'
,
'AS'
,
'AT'
,
'AU'
,
'AV'
,
'AW'
,
'AX'
,
'AY'
,
'AZ'
);
$cellName
=
array
(
'A'
,
'B'
,
'C'
,
'D'
,
'E'
,
'F'
,
'G'
,
'H'
,
'I'
,
'J'
,
'K'
,
'L'
,
'M'
,
'N'
,
'O'
,
'P'
,
'Q'
,
'R'
,
'S'
,
'T'
,
'U'
,
'V'
,
'W'
,
'X'
,
'Y'
,
'Z'
,
'AA'
,
'AB'
,
'AC'
,
'AD'
,
'AE'
,
'AF'
,
'AG'
,
'AH'
,
'AI'
,
'AJ'
,
'AK'
,
'AL'
,
'AM'
,
'AN'
,
'AO'
,
'AP'
,
'AQ'
,
'AR'
,
'AS'
,
'AT'
,
'AU'
,
'AV'
,
'AW'
,
'AX'
,
'AY'
,
'AZ'
);
//显示导出名称和导出时间
//显示导出名称和导出时间
// $objPHPExcel->getActiveSheet(0)->mergeCells('A1:'.$cellName[$cellNum-1].'1');//合并单元格
// $objPHPExcel->getActiveSheet(0)->mergeCells('A1:'.$cellName[$cellNum-1].'1');//合并单元格
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment