handleMap($param); $DaDaModel = new DaDaModel(); if ($param['page'] && $param['limit']) { $list = $DaDaModel->getSelect($where, '', 'add_time desc', "{$param['page']}, {$param['limit']}"); } else { $list = $DaDaModel->getSelect($where, '', 'add_time desc'); } if ($list) { $RetailStoreModel = new RetailStoreModel(); $storeIdArr = []; $storeInfoArr = []; foreach ($list as $key => &$val) { $val['index'] = $key + 1; $val['add_time'] = date('Y-m-d H:i:s', $val['add_time']); $val['update_time'] = date('Y-m-d H:i:s', $val['update_time']); switch ($val['order_status']) { case 1: $val['order_status'] = '待接单'; break; case 2: $val['order_status'] = '待取货'; break; case 3: $val['order_status'] = '配送中'; break; case 4: $val['order_status'] = '已完成'; break; case 5: switch ($val['cancel_from']) { case 1: $val['order_status'] = '配送员取消'; break; case 2: $val['order_status'] = '商家取消'; break; case 3: $val['order_status'] = '系统或客服取消取消'; break; default: $val['order_status'] = '已取消'; break; } break; case 7: $val['order_status'] = '已过期'; break; case 8: $val['order_status'] = '指派单'; break; case 9: $val['order_status'] = '妥投异常之物品返回中'; break; case 10: $val['order_status'] = '妥投异常之物品返回完成'; break; case 1000: $val['order_status'] = '创建达达运单失败'; break; } if (in_array($val['store_id'], $storeIdArr)) { $val['store_name'] = $storeInfoArr[$val['store_id']]['name']; } else { $val['store_name'] = $RetailStoreModel->getFindField(['id' => $val['store_id']], 'storetag'); $storeIdArr[] = $val['store_id']; $storeInfoArr[$val['store_id']]['name'] = $val['store_name']; } switch ($val['order_genre']) { case 1: $val['order_type'] = '商城订单'; break; case 2: $val['order_type'] = '拼团订单'; break; case 3: $val['order_type'] = '秒杀订单'; break; } } $count = $DaDaModel->getCount($where); return callBack(statusCode()['success'], '数据获取成功', [ 'list' => $list, 'count' => $count, ]); } else { return callBack(statusCode()['success'], '暂无数据', [ 'list' => [], 'count' => 0, ]); } } /** * 达达获取统计 * @param $param * $param['order_type'] 订单类型 1普通 2拼团 3秒杀 4预售 * $param['order_id'] 门店订单ID * $param['merchant_id']商户ID * $param['store_id'] 筛选的门店ID * $param['status'] 订单状态 1未完成 2已完成 * $param['page'] 页码 * $param['limit'] 每页数量 * @return array */ public function getDdDeliveryTotal($param) { $where = $this->handleMap($param); $DaDaModel = new DaDaModel(); $order_count = $DaDaModel->getCount($where); if (empty($param['status']) || $param['status'] == 2) { $where['order_status'] = 4; $complete = $DaDaModel->getCount($where); //配送费 $cost_total = $DaDaModel->getSum($where, 'fee'); if ($param['status'] == 2) { $default_total = 0; } else { //违约金 $where['order_status'] = 5; $default_total = $DaDaModel->getSum($where, 'deduct_fee'); } } else { $complete = 0; $cost_total = 0; //违约金 $where['order_status'] = 5; $default_total = $DaDaModel->getSum($where, 'deduct_fee'); } return callBack(statusCode()['success'], '数据获取成功', [ 'order_count' => $order_count ? $order_count : 0, 'complete' => $complete ? $complete : 0, 'cost_total' => $cost_total ? $cost_total : 0.00, 'default_total' => $default_total ? $default_total : 0.00, ]); } /** * 处理条件 * @param $param * $param['order_type'] 订单类型 1普通 2拼团 3秒杀 4预售 * $param['order_id'] 门店订单ID * $param['merchant_id']商户ID * $param['store_id'] 筛选的门店ID * $param['status'] 订单状态 1未完成 2已完成 * $param['page'] 页码 * $param['limit'] 每页数量 * @return array */ public function handleMap($param) { $time = $param['time']; if (!empty($param['order_type'])) { $where['order_genre'] = $param['order_type']; } if (!empty($param['order_id'])) { $where['order_no'] = ['like', '%' . $param['order_id'] . '%']; } if (!empty($param['status'])) { $where['order_status'] = $param['status'] == 2 ? 4 : ['neq', 4]; } if (!empty($time)) { if (!is_array($time)) { $time = explode(',', $time); } $start_time = strtotime($time[0]); $end_time = strtotime($time[1]); $where['add_time'] = ['between', [$start_time, $end_time]]; } else if ($param['is_export']) { //默认导出当日记录 $where['add_time'] = ['between', [strtotime(date('Y-m-d 00:00:00')), time()]]; } if ($param['store_id']) { $where['store_id'] = $param['store_id']; } $where['merchant_id'] = $param['merchant_id']; return $where; } }