handleMap($param); $UuModel = new UuModel(); if ($param['page'] && $param['limit']) { $list = $UuModel->getSelect($where, '', 'id desc', "{$param['page']}, {$param['limit']}"); } else { $list = $UuModel->getSelect($where, '', 'id desc'); } if ($list) { $RetailStoreModel = new RetailStoreModel(); $count = $UuModel->getCount($where); $storeIdArr = []; $storeInfoArr = []; foreach ($list as $key => &$val) { $val['index'] = $key + 1; // 减少门店名称重复查询 if (in_array($val['storeid'], $storeIdArr)) { $val['store_name'] = $storeInfoArr[$val['storeid']]['name']; } else { $val['store_name'] = $RetailStoreModel->getFindField(['id' => $val['storeid']], 'storetag'); $storeIdArr[] = $val['storeid']; $storeInfoArr[$val['storeid']]['name'] = $val['store_name']; } switch ($val['state']) { case 0: $val['order_status'] = '未下单UU'; break; case 1: $val['order_status'] = '下单成功'; break; case 3: $val['order_status'] = '跑男抢单'; break; case 4: $val['order_status'] = '骑手已达到'; break; case 5: $val['order_status'] = '已取件'; break; case 6: $val['order_status'] = '骑手到达目的地'; break; case 10: $val['order_status'] = '收件人已收货'; break; case -1: $val['order_status'] = '已取消配送'; break; } switch ($val['order_genre']) { case 1: $val['order_type'] = '商城订单'; break; case 2: $val['order_type'] = '拼团订单'; break; case 3: $val['order_type'] = '秒杀订单'; break; } if (!empty($val['addtime'])) { $val['add_time'] = date('Y-m-d H:i:s', $val['addtime']); unset($val['addtime']); } } return callBack(statusCode()['success'],'数据获取成功',[ 'list' => $list, 'count' => $count, ]); } else { return callBack(statusCode()['success'],'暂无数据',[ 'list' => [], 'count' => 0, ]); } } /** * UU订单统计 */ public function getUuDeliveryTotal($param) { $where = $this->handleMap($param); $UuModel = new UuModel(); $order_count = $UuModel->getCount($where); if (empty($param['status']) || $param['status'] == 2) { $where['state'] = 10; $complete = $UuModel->getCount($where); if (empty($param['status'])) { $where['state'] = ['not in', '0,-1']; } $cost_total = $UuModel->getSum($where, 'need_paymoney'); $cost_total = $cost_total ? $cost_total : 0; $coupon_money = $UuModel->getSum($where, 'total_priceoff'); $coupon_money = $coupon_money ? $coupon_money : 0; } else { $complete = 0; $cost_total = 0; $coupon_money = 0; } return callBack(statusCode()['success'],'数据获取成功',[ 'order_count' => $order_count, 'complete' => $complete, 'cost_total' => $cost_total, 'coupon_money' => $coupon_money, ]); } /** * 条件处理 */ public function handleMap($param) { $where['merchantid'] = $param['merchant_id']; if (!empty($param['order_id'])) { $where['order_id'] = ['like', '%' . $param['order_id'] . '%']; } if (!empty($param['store_id'])) { $where['storeid'] = $param['store_id']; } if (!empty($param['status'])) { switch ($param['status']) { case 1: $where['state'] = ['neq', 10]; break; case 2: $where['state'] = 10; break; } } if (!empty($param['order_type'])) { $where['order_genre'] = $param['order_type']; } $time = $param['time']; if (!empty($time)) { if(!is_array($time)){ $time = explode(',',$time); } $start_time = strtotime($time[0]); $end_time = strtotime($time[1]); $where['addtime'] = ['between', [$start_time, $end_time]]; }else if ($param['is_export']){ //默认导出当日记录 $where['addtime'] = ['between', [strtotime(date('Y-m-d 00:00:00')), time()]]; } return $where; } }