Merge pull request 'feat(store_order): 优化订单列表和退款订单列表' (#357) from dev into main
Reviewed-on: #357
This commit is contained in:
commit
5729948282
@ -18,7 +18,7 @@ use app\common\lists\ListsExcelInterface;
|
||||
* Class StoreOrderLists
|
||||
* @package app\admin\listsstore_order
|
||||
*/
|
||||
class StoreOrderLists extends BaseAdminDataLists implements ListsSearchInterface,ListsExcelInterface
|
||||
class StoreOrderLists extends BaseAdminDataLists implements ListsSearchInterface, ListsExcelInterface
|
||||
{
|
||||
|
||||
|
||||
@ -31,7 +31,7 @@ class StoreOrderLists extends BaseAdminDataLists implements ListsSearchInterface
|
||||
public function setSearch(): array
|
||||
{
|
||||
return [
|
||||
'=' => ['order_id','store_id', 'pay_type', 'staff_id', 'shipping_type', 'delivery_id','paid', 'status', 'is_writeoff','is_merge','uid','source'],
|
||||
'=' => ['order_id', 'store_id', 'pay_type', 'staff_id', 'shipping_type', 'delivery_id', 'paid', 'status', 'is_writeoff', 'is_merge', 'uid', 'source'],
|
||||
'between_time' => 'create_time'
|
||||
];
|
||||
}
|
||||
@ -48,10 +48,10 @@ class StoreOrderLists extends BaseAdminDataLists implements ListsSearchInterface
|
||||
*/
|
||||
public function lists(): array
|
||||
{
|
||||
if($this->request->get('is_delivery')>=1){
|
||||
$this->searchWhere[]=['delivery_uid','>',0];
|
||||
if ($this->request->get('is_delivery') >= 1) {
|
||||
$this->searchWhere[] = ['delivery_uid', '>', 0];
|
||||
}
|
||||
return StoreOrder::with(['staff','store'])->where($this->searchWhere)
|
||||
return StoreOrder::with(['staff', 'store'])->where($this->searchWhere)
|
||||
->when(!empty($this->request->adminInfo['store_id']), function ($query) {
|
||||
$query->where('store_id', $this->request->adminInfo['store_id']);
|
||||
})
|
||||
@ -63,40 +63,62 @@ class StoreOrderLists extends BaseAdminDataLists implements ListsSearchInterface
|
||||
$query->whereIn('status', $status);
|
||||
}
|
||||
})
|
||||
->field(['id', 'store_id', 'staff_id', 'order_id', 'paid','source', 'pay_price','total_price', 'pay_time', 'pay_type', 'status', 'uid','refund_status','create_time','delivery_name','delivery_id','refund_price'])
|
||||
->field(['id', 'store_id', 'staff_id', 'order_id', 'paid', 'source', 'pay_price', 'total_price', 'pay_time', 'pay_type', 'status', 'uid', 'refund_status', 'create_time', 'delivery_name', 'delivery_id', 'refund_price'])
|
||||
->limit($this->limitOffset, $this->limitLength)
|
||||
->order(['id' => 'desc'])
|
||||
->select()->each(function ($item) {
|
||||
$item['pay_time'] = $item['pay_time'] > 0 ? date('Y-m-d H:i:s', $item['pay_time']) : '';
|
||||
if($item['status']==-1){
|
||||
if ($item['status'] == -1) {
|
||||
$item['status_name'] = OrderEnum::refundStatus($item['refund_status']) ?? '';
|
||||
}else{
|
||||
} else {
|
||||
$item['status_name'] = OrderEnum::getOrderType($item['status']) ?? '';
|
||||
}
|
||||
if ($item['uid'] <= 0) {
|
||||
$item['nickname'] = '游客';
|
||||
} else {
|
||||
$id = $item['uid'];
|
||||
$user=User::where('id', $item['uid'])->field('real_name,nickname')->find();
|
||||
if($user){
|
||||
$item['nickname'] =$user['real_name']!=''?$user['real_name'].'|'.$id:$user['nickname'].'|'.$id;
|
||||
$user = User::where('id', $item['uid'])->field('real_name,nickname')->find();
|
||||
if ($user) {
|
||||
$item['nickname'] = $user['real_name'] != '' ? $user['real_name'] . '|' . $id : $user['nickname'] . '|' . $id;
|
||||
}
|
||||
}
|
||||
if ($item['paid'] == 0) {
|
||||
$item['status_name'] = '待支付';
|
||||
}
|
||||
if($item['source']==4){
|
||||
if ($item['source'] == 4) {
|
||||
$item['source_name'] = '批发订单';
|
||||
}else{
|
||||
} else {
|
||||
$item['source_name'] = '普通订单';
|
||||
}
|
||||
$product = StoreOrderCartInfo::where('oid', $item['id'])->field(['id', 'oid', 'product_id', 'cart_info'])
|
||||
->limit(3)->select();
|
||||
foreach ($product as &$items) {
|
||||
$items['store_name'] = $items['cart_info']['name']??'';
|
||||
$items['image'] = $items['cart_info']['image']??'';
|
||||
}
|
||||
foreach ($product as &$items) {
|
||||
$items['store_name'] = $items['cart_info']['name'] ?? '';
|
||||
$items['image'] = $items['cart_info']['image'] ?? '';
|
||||
}
|
||||
$item['product'] = $product;
|
||||
$pay_type_name = '';
|
||||
switch ($item['pay_type']) {
|
||||
case 3:
|
||||
$pay_type_name = '余额支付';
|
||||
break;
|
||||
case 7:
|
||||
$pay_type_name = '微信支付';
|
||||
break;
|
||||
case 9:
|
||||
$pay_type_name = '微信条码';
|
||||
break;
|
||||
case 13:
|
||||
$pay_type_name = '支付宝条码';
|
||||
break;
|
||||
case 17:
|
||||
$pay_type_name = '现金支付';
|
||||
break;
|
||||
case 18:
|
||||
$pay_type_name = '采购款支付';
|
||||
break;
|
||||
}
|
||||
$item['pay_type_name'] = $pay_type_name;
|
||||
return $item;
|
||||
})
|
||||
->toArray();
|
||||
@ -126,7 +148,7 @@ class StoreOrderLists extends BaseAdminDataLists implements ListsSearchInterface
|
||||
->count();
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
* @notes 导出文件名
|
||||
* @return string
|
||||
* @author 乔峰
|
||||
@ -148,8 +170,8 @@ class StoreOrderLists extends BaseAdminDataLists implements ListsSearchInterface
|
||||
{
|
||||
$data = [
|
||||
'id' => 'ID',
|
||||
'order_id'=>'订单号',
|
||||
'store_name'=>'门店',
|
||||
'order_id' => '订单号',
|
||||
'store_name' => '门店',
|
||||
'nickname' => '用户',
|
||||
'total_price' => '总金额',
|
||||
'pay_price' => '实际支付',
|
||||
|
@ -6,6 +6,7 @@ use app\admin\lists\BaseAdminDataLists;
|
||||
use app\common\enum\OrderEnum;
|
||||
use app\common\lists\ListsSearchInterface;
|
||||
use app\common\model\store_order\StoreOrder;
|
||||
use app\common\model\store_order_cart_info\StoreOrderCartInfo;
|
||||
use app\common\model\user\User;
|
||||
|
||||
class StoreRefundOrderLists extends BaseAdminDataLists implements ListsSearchInterface
|
||||
@ -38,7 +39,7 @@ class StoreRefundOrderLists extends BaseAdminDataLists implements ListsSearchInt
|
||||
*/
|
||||
public function lists(): array
|
||||
{
|
||||
$this->searchWhere[] = ['refund_status','>', 0];
|
||||
$this->searchWhere[] = ['refund_status', '>', 0];
|
||||
return StoreOrder::with(['staff', 'product' => function ($query) {
|
||||
$query->field(['id', 'oid', 'product_id', 'cart_info']);
|
||||
}])
|
||||
@ -51,11 +52,18 @@ class StoreRefundOrderLists extends BaseAdminDataLists implements ListsSearchInt
|
||||
$item['nickname'] = '游客';
|
||||
} else {
|
||||
$id = $item['uid'];
|
||||
$user=User::where('id', $item['uid'])->field('real_name,nickname')->find();
|
||||
if($user){
|
||||
$item['nickname'] =$user['real_name']!=''?$user['real_name'].'|'.$id:$user['nickname'].'|'.$id;
|
||||
$user = User::where('id', $item['uid'])->field('real_name,nickname')->find();
|
||||
if ($user) {
|
||||
$item['nickname'] = $user['real_name'] != '' ? $user['real_name'] . '|' . $id : $user['nickname'] . '|' . $id;
|
||||
}
|
||||
}
|
||||
$product = StoreOrderCartInfo::where('oid', $item['id'])->field(['id', 'oid', 'product_id', 'cart_info'])
|
||||
->limit(3)->select();
|
||||
foreach ($product as &$items) {
|
||||
$items['store_name'] = $items['cart_info']['name'] ?? '';
|
||||
$items['image'] = $items['cart_info']['image'] ?? '';
|
||||
}
|
||||
$item['product'] = $product;
|
||||
$item['pay_time'] = $item['pay_time'] > 0 ? date('Y-m-d H:i:s', $item['pay_time']) : '';
|
||||
$item['refund_status_name'] = OrderEnum::refundStatus($item['refund_status']) ?? '';
|
||||
$item['refund_type_name'] = OrderEnum::refundType($item['refund_type']) ?? '';
|
||||
|
Loading…
x
Reference in New Issue
Block a user