request->isAjax) { $params = Yii::$app->request->get(); $where[] = ['=', 'mall_id', $this->mall_id]; $where[] = ['in', 'status', [StatusEnum::DISABLED, StatusEnum::ENABLED]]; if (!empty($params['keyword'])) { $user_list = User::find()->where(['or', ['id' => $params['keyword']], // ['mobile' => $params['keyword']], ['nickname' => $params['keyword']]])->select('id')->asArray()->all(); $user_id_arr = array_column($user_list, 'id'); $where[] = ['user_id' => $user_id_arr]; } if (!empty($params['goods_name'])) { $goods_list = Goods::listPage(['where' => [['like', 'goods_name', $params['goods_name']]]]); if ($goods_list['list']) { $goods_id_arr = array_column($goods_list['list'], 'id'); $where[] = ['goods_id' => $goods_id_arr]; } } if (!empty($params['start'])) $where[] = ['>=', 'created_at', strtotime($params['start'] . ' 00:00:00')]; if (!empty($params['end'])) $where[] = ['<=', 'created_at', strtotime($params['end'] . '23:59:59')]; $params['order'] = 'id desc'; $params['with'] = ['user', 'order', 'orderDetail', 'goods']; if ($params['list_type'] == 'fill_order') { if (!empty($params['id'])) { $where[] = ['=', 'id', $params['id']]; } $params['where'] = $where; $params['with'] = ['user', 'goods']; $page_data = CloudStockTwoFillOrder::listPage($params, false); } else { if (!empty($params['id'])) { $where[] = ['=', 'order_id', $params['id']]; } $params['where'] = $where; $params['with'] = ['user', 'order', 'orderDetail', 'goods']; $page_data = CloudStockTwoBuyingOrder::listPage($params, false); } return $this->success('操作成功', $page_data); } return $this->render('index', []); } public function actionInvite() { if (\Yii::$app->request->isAjax) { $params = Yii::$app->request->get(); $where[] = ['=', 'mall_id', $this->mall_id]; $where[] = ['in', 'status', [StatusEnum::DISABLED, StatusEnum::ENABLED]]; if (!empty($params['keyword'])) { $user_list = User::find()->where(['or', ['id' => $params['keyword']], ['like', 'mobile', $params['keyword']], ['like', 'nickname', $params['keyword']]])->select('id')->asArray()->all(); $user_id_arr = array_column($user_list, 'id'); $where[] = ['user_id' => $user_id_arr]; } if ($params['status'] != '') { $where[] = ['=', 'send_status', $params['status']]; } $params['where'] = $where; $params['order'] = 'id desc'; $params['with'] = ['user', 'goods']; $page_data = CloudStockTwoAgentOrder::listPage($params, false); return $this->success('操作成功', $page_data); } return $this->render('invite', []); } public function actionExpressList() { $express_list = Express::getExpresses([], [], true, '*'); return $this->success('成功', $express_list); } public function actionDelivery() { if (\Yii::$app->request->isAjax) { $params = Yii::$app->request->post(); $params['send_status'] = CloudStockTwoEnum::SEND_STATUS_1; unset($params['_csrf']); CloudStockTwoAgentOrder::setData($this->mall_id, $params); return $this->success('发货成功'); } return $this->render('invite', []); } /** * 订单详情 * @Author bing * @DateTime 2021-09-06 14:09:56 * @copyright: Copyright (c) 2020 广东七件事集团 * @return void */ public function actionDetail() { if (\Yii::$app->request->isAjax) { $params = Yii::$app->request->get(); $order_type = $params['type']; $is_frozen = false; if($order_type == CloudStockEnum::STOCK_ORDER_TYPE_USER){ $order = CloudStockTwoBuyingOrder::findOne(['id'=>$params['id']]); $source_table = OrderDetail::tableName(); $source_table_id = $order['order_id']; $source_table = Order::findOne(['id'=>$source_table_id]); if($source_table['order_status']!=OrderStatusEnum::ACCOMPLISH)$is_frozen = true; }else{ $order = CloudStockTwoFillOrder::findOne(['id'=>$params['id']]); $source_table = CloudStockTwoFillOrder::tableName(); $source_table_id = $order['id']; } if(!$order){ return $this->error(); } $currency_level = 0; $agent = CloudStockTwoAgent::findOne(['mall_id'=>$order['mall_id'],'user_id'=>$order['user_id'],'status'=>StatusEnum::ENABLED]); if($agent){ $currency_level = $agent->level; } $step_arr = []; $parent_agent_list = CloudStockTwoAgent::getUserParentAgentList($order['user_id']); if($parent_agent_list){ //下单用户 $step_arr[] = [ 'agent_user_id' => $order['user_id'], 'agent_user_level' => $agent->level, 'agent_user_level_name' => '', 'agent_user_mobile' => '', 'agent_user_avatar_url' => '', 'is_step' => 1, ]; $reward_list = json_decode($order->reward_list,true); foreach($parent_agent_list as $key => $agent){ if(isset($reward_list[$agent->user_id][UserWalletEnum::DIFF])){ $step_arr[] = [ 'agent_user_id' => $agent->user_id, 'agent_user_level' => $agent->level, 'agent_user_level_name' => '', 'agent_user_mobile' => '', 'agent_user_avatar_url' => '', 'is_step' => 0, ]; } // if($agent->level > $currency_level){ // $step_arr[] = [ // 'agent_user_id' => $agent->user_id, // 'agent_user_level' => $agent->level, // 'agent_user_level_name' => '', // 'agent_user_mobile' => '', // 'agent_user_avatar_url' => '', // 'is_step' => 0, // ]; // } // $currency_level = $agent->level; } //平台 或 销售公司 $step_arr[] = [ 'agent_user_id' => 0, 'agent_user_level' => 0, 'agent_user_level_name' => '平台【总部】', 'agent_user_mobile' => '', 'agent_user_avatar_url' => '', 'is_step' => 0, ]; } $level_arr = array_column($step_arr,'agent_user_level'); $level_list = CloudStockTwoLevel::lists(['where' => [['mall_id' => $this->mall_id], ['level' => $level_arr],['status'=>[StatusEnum::DISABLED,StatusEnum::ENABLED]]], 'index' => 'level']); $user_id_arr = array_column($step_arr,'agent_user_id'); $user_arr = User::lists(['where'=>[['id'=>$user_id_arr]],'index'=>'id']); $detail_list = CloudStockTwoDeductionDetail::lists(['where' => [['mall_id' => $this->mall_id], ['order_id' => $params['id']],['order_type'=>$order_type],['status'=>[StatusEnum::DISABLED,StatusEnum::ENABLED]]], 'index' => 'user_id']); if(!empty($detail_list)){ foreach ($detail_list as &$item) { if (isset($user_arr[$item['user_id']])) { $item['agent_user_id'] = $user_arr[$item['user_id']]['id']; $item['agent_user_avatar_url'] = $user_arr[$item['user_id']]['avatar_url']; $item['agent_user_nickname'] = $user_arr[$item['user_id']]['nickname']; } else { $item['agent_user_id'] = $item['user_id']; $item['agent_user_avatar_url'] = ''; if($item['is_sales'] && $item['company_id']){ $salesCompany = SalesCompany::findOne(['id'=>$item['company_id']]); $item['agent_user_id'] = $salesCompany ? $salesCompany->user_id : 0; $item['agent_user_nickname'] = $salesCompany ? $salesCompany->name : ''; }else{ $item['agent_user_nickname'] = '平台'; } } } } $data['detail_list'] = $detail_list; foreach($step_arr as &$step){ if(isset($user_arr[$step['agent_user_id']])){ $step['agent_user_mobile'] = $user_arr[$step['agent_user_id']]['mobile']; $step['agent_user_avatar_url'] = $user_arr[$step['agent_user_id']]['avatar_url']; $step['agent_user_level_name'] = $user_arr[$step['agent_user_id']]['nickname']; } if(isset($level_list[$step['agent_user_level']])){ $step['agent_user_level_name'] .= '【'.$level_list[$step['agent_user_level']]['name'].'】'; } if(isset($detail_list[$step['agent_user_id']])){ $step['is_step'] = 1; } if($step['agent_user_id']==0 && isset($detail_list[0])){ if($detail_list[0]['is_sales']){ $salesCompany = SalesCompany::findOne(['id'=>$detail_list[0]['company_id']]); if($salesCompany){ $step['agent_user_level_name'] = $salesCompany->name.'【销售公司】'; } } } } $data['step_arr'] = $step_arr; $where['where'] = [ ['source_table' => $source_table], ['source_table_id' => $source_table_id], ['from_type' => AddonsEnum::ADDONS_NAME_CLOUD_STOCK_TWO], ]; $wallet_type = 'commission'; CapitalLog::$capitalType = 'commission'; if($is_frozen){ CapitalLog::$capitalType = "{$wallet_type}_frozen"; $where['where'][] = ['status' => CapitalLog::STATUS_WAIT_SEND]; } $commission_list = CapitalLog::lists($where); $commission_map = UserWalletEnum::getCommissionMap(); $capital_type_map = UserWalletEnum::getCapitalTypeMapByCommission(); if ($commission_list) { $user_id_arr = array_column($commission_list,'user_id'); $user_arr = User::lists([ 'where'=>[ ['id'=>$user_id_arr] ], 'index'=>'id', ]); foreach ($commission_list as &$lv) { $lv['source_text'] = ($commission_map[$lv['from_type']] ?? '') . ($capital_type_map[$lv['capital_type']] ? '-' . $capital_type_map[$lv['capital_type']] : ''); $lv['created_at'] = date('Y-m-d H:i:s', $lv['created_at']); $lv['nickname'] = ''; $lv['avatar_url'] = ''; $lv['mobile'] = ''; $lv['username'] = ''; if(isset($user_arr[$lv['user_id']])){ $lv['nickname'] = $user_arr[$lv['user_id']]['nickname']; $lv['avatar_url'] = $user_arr[$lv['user_id']]['avatar_url']; $lv['mobile'] = $user_arr[$lv['user_id']]['mobile']; $lv['username'] = $user_arr[$lv['user_id']]['username']; } } } $data['capital_log'] = $commission_list; return $this->success('请求成功',$data); } return $this->render($this->action->id); } }