|
@@ -80,6 +80,14 @@ class WholeController extends Curd
|
|
|
if ($request->get('return')){
|
|
|
$where['order_return.order_return_status'] = $request->get('return');
|
|
|
}
|
|
|
+ if ($request->get('goods_classify')){
|
|
|
+ $goodsIds = Goods::where('goods_classify',$request->get('goods_classify'))->pluck('goods_id')->toArray();
|
|
|
+ $where['order_sheet.join_sheet_goods_id'] = ['in',implode(',',$goodsIds)];
|
|
|
+ }
|
|
|
+ if ($request->get('goods_name')){
|
|
|
+ $goodsIds = Goods::where('goods_name','like','%'.$request->get('goods_name').'%')->pluck('goods_id')->toArray();
|
|
|
+ $where['order_sheet.join_sheet_goods_id'] = ['in',implode(',',$goodsIds)];
|
|
|
+ }
|
|
|
|
|
|
$query = $this->doSelect($where, $field, $order);
|
|
|
return $this->doFormat($query, $format, $limit);
|
|
@@ -89,7 +97,7 @@ class WholeController extends Curd
|
|
|
{
|
|
|
$model = $this->model->with([
|
|
|
'sheets' => function ($query) {
|
|
|
- $query->select('join_sheet_order_id', 'order_sheet_id', 'join_sheet_goods_id', 'order_sheet_num');
|
|
|
+ $query->select('join_sheet_order_id', 'order_sheet_id', 'join_sheet_goods_id', 'order_sheet_num','order_sheet_price');
|
|
|
},
|
|
|
'member' => function ($query) {
|
|
|
$query->select('member_id', 'member_mobile');
|
|
@@ -107,7 +115,8 @@ class WholeController extends Curd
|
|
|
'express' => function ($query) {
|
|
|
$query->select('join_express_order_id', 'order_express_type');
|
|
|
}
|
|
|
- ])->leftJoin('order_return','order_return.join_return_order_id','=','order.order_id');
|
|
|
+ ])->leftJoin('order_return','order_return.join_return_order_id','=','order.order_id')
|
|
|
+ ->leftJoin('order_sheet','join_sheet_order_id','=','order.order_id');
|
|
|
foreach ($where as $column => $value) {
|
|
|
if (is_array($value)) {
|
|
|
if ($value[0] === 'like' || $value[0] === 'not like') {
|
|
@@ -1090,10 +1099,18 @@ class WholeController extends Curd
|
|
|
|
|
|
public function myOrder(Request $request)
|
|
|
{
|
|
|
+ $page = $request->get('page',1);
|
|
|
+ $pageSize = $request->get('pageSize',1);
|
|
|
+ $datetime = $request->get('order_addtimes',[]);
|
|
|
+ $goodsName = $request->get('goods_name','');
|
|
|
$memberId = $request->get('member_id', '');
|
|
|
if (!$memberId) {
|
|
|
return json_fail('查询错误');
|
|
|
}
|
|
|
+ $goodsIds = [];
|
|
|
+ if (!empty($goodsName)){
|
|
|
+ $goodsIds = Goods::where('goods_name','like','%'.$goodsName.'%')->pluck('goods_id')->toArray();
|
|
|
+ }
|
|
|
|
|
|
$sheet = OrderSheet::with([
|
|
|
'goods' => function ($query) {
|
|
@@ -1106,46 +1123,28 @@ class WholeController extends Curd
|
|
|
$query->select('join_return_order_id', 'orders_return_id', 'order_return_status');
|
|
|
},
|
|
|
])->where('join_sheet_member_id', $memberId)
|
|
|
+ ->when(!empty($datetime), function($query) use ($datetime){
|
|
|
+ $datetime[0] = strtotime($datetime[0]);
|
|
|
+ $datetime[1] = strtotime($datetime[1]);
|
|
|
+ $query->whereBetween('order_sheet_addtimes',$datetime);
|
|
|
+ })
|
|
|
+ ->when(!empty($goodsIds),function($query) use ($goodsIds){
|
|
|
+ $query->whereIn('join_sheet_goods_id',$goodsIds);
|
|
|
+ });
|
|
|
+
|
|
|
+ $total = $sheet->count();
|
|
|
+ $rows = $sheet
|
|
|
->orderBy('order_sheet_addtimes', 'desc')
|
|
|
+ ->forPage($page,$pageSize)
|
|
|
->get()
|
|
|
->toArray();
|
|
|
- foreach ($sheet as &$item) {
|
|
|
+ foreach ($rows as &$item) {
|
|
|
if (!empty($item->goods->goods_cover)) {
|
|
|
$item->goods->goods_cover = getenv('STORAGE_DOMAIN') . $item->goods->goods_cover;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- // 预约单
|
|
|
- $appointments = Db::table('appointment')
|
|
|
-// ->leftJoin('member', 'member.member_id', '=', 'appointment.join_appointment_member_id')
|
|
|
-// ->leftJoin('member_cert', 'member_cert.join_cert_member_id', '=', 'appointment.join_appointment_member_id')
|
|
|
-// ->leftJoin('member_info', 'member_info.join_info_member_id', '=', 'appointment.join_appointment_member_id')
|
|
|
- ->leftJoin('goods', 'goods.goods_id', '=', 'appointment.join_appointment_goods_id')
|
|
|
-// ->leftJoin('order', 'order.order_id', '=', 'appointment.join_appointment_order_id')
|
|
|
- ->leftJoin('member_benefit', 'member_benefit.member_benefit_id', '=', 'appointment.join_appointment_member_benefit_id')
|
|
|
-// ->leftJoin('goods_sku', 'goods_sku.goods_sku_id', '=', 'appointment.join_appointment_goods_sku_id')
|
|
|
- ->where('join_appointment_member_id', $memberId)
|
|
|
- ->whereIn('appointment_status', ['WAITING', 'PENDING', 'DOING', 'DONE', 'CANCEL', 'REVOKE'])
|
|
|
- ->select('appointment.*',
|
|
|
-// 'member.member_mobile',
|
|
|
-// 'member_cert.member_cert_name',
|
|
|
-// 'member_info.member_info_nickname',
|
|
|
- 'goods.goods_name', 'goods.goods_sales_price',
|
|
|
-// 'order.order_name', 'goods_sku.goods_sku_specs_json', 'order.order_amount_total', 'order.order_amount_pay',
|
|
|
-// 'order.order_category', 'order.order_status_system', 'order.order_status_payment', 'order.order_status_storage',
|
|
|
-// 'order.order_addtimes',
|
|
|
- 'member_benefit.member_benefit_name'
|
|
|
- )
|
|
|
- ->orderBy('appointment.appointment_addtimes', 'desc')
|
|
|
- ->get();
|
|
|
- foreach ($appointments as &$row) {
|
|
|
- if ($row->appointment_category == 'NOFEE') {
|
|
|
- $row->member_benefit_name = "后付费预约";
|
|
|
- }
|
|
|
- $row->appointment_addtimes = date('Y-m-d H:i:s', $row->appointment_addtimes);
|
|
|
- }
|
|
|
-
|
|
|
- return json_success('', ['order' => $sheet, 'appointment' => $appointments]);
|
|
|
+ return json_success('', compact('rows', 'page', 'pageSize', 'total'));
|
|
|
}
|
|
|
|
|
|
public function saveExpress($params)
|