checkToken(); if ($token['code'] < 0) return $this->response($token); $model = new Fenxiao(); $fenxiao_info = $model->getFenxiaoInfo([['member_id', '=', $this->member_id]], 'fenxiao_id'); if (empty($fenxiao_info['data'])) return $this->response($this->error('', 'MEMBER_NOT_IS_FENXIAO')); $fenxiao_order_id = isset($this->params['fenxiao_order_id']) ? $this->params['fenxiao_order_id'] : 0; if (empty($fenxiao_order_id)) { return $this->response($this->error('', 'REQUEST_FENXIAO_ORDER_ID')); } $order_model = new FenxiaoOrderModel(); $condition = [ ['one_fenxiao_id|two_fenxiao_id|three_fenxiao_id', '=', $fenxiao_info['data']['fenxiao_id']], ['fenxiao_order_id', '=', $fenxiao_order_id] ]; $res = $order_model->getFenxiaoOrderInfo($condition); if (!empty($res['data'])) { if ($res['data']['one_fenxiao_id'] == $fenxiao_info['data']['fenxiao_id']) { $res['data']['commission'] = $res['data']['one_commission']; $res['data']['commission_rate'] = $res['data']['one_rate']; $res['data']['commission_level'] = 1; } elseif ($res['data']['two_fenxiao_id'] == $fenxiao_info['data']['fenxiao_id']) { $res['data']['commission'] = $res['data']['two_commission']; $res['data']['commission_rate'] = $res['data']['two_rate']; $res['data']['commission_level'] = 2; } elseif ($res['data']['three_fenxiao_id'] == $fenxiao_info['data']['fenxiao_id']) { $res['data']['commission'] = $res['data']['three_commission']; $res['data']['commission_rate'] = $res['data']['three_rate']; $res['data']['commission_level'] = 3; } $res['data'] = array_diff_key($res['data'], ['member_id' => '', 'member_name' => '', 'member_mobile' => '', 'full_address' => '', 'one_fenxiao_id' => '', 'one_rate' => '', 'one_commission' => '', 'one_fenxiao_name' => '', 'two_fenxiao_id' => '', 'two_rate' => '', 'two_commission' => '', 'two_fenxiao_name' => '', 'three_fenxiao_id' => '', 'three_rate' => '', 'three_commission' => '', 'three_fenxiao_name' => '']); } return $this->response($res); } /** * 列表 */ public function page() { $token = $this->checkToken(); if ($token['code'] < 0) return $this->response($token); $model = new Fenxiao(); $fenxiao_info = $model->getFenxiaoInfo([['member_id', '=', $this->member_id]], 'fenxiao_id'); if (empty($fenxiao_info['data'])) return $this->response($this->error('', 'MEMBER_NOT_IS_FENXIAO')); $page = isset($this->params['page']) ? $this->params['page'] : 1; $page_size = isset($this->params['page_size']) ? $this->params['page_size'] : PAGE_LIST_ROWS; $is_settlement = isset($this->params['is_settlement']) ? $this->params['is_settlement'] : 0;// 结算状态 0 全部 1 待结算 2 已结算 3 已退款 $condition = [ ['fo.one_fenxiao_id|fo.two_fenxiao_id|fo.three_fenxiao_id', '=', $fenxiao_info['data']['fenxiao_id']] ]; $OR = [[ 'fo.wholesale_fenxiao_id', 'like', ['%'.$fenxiao_info['data']['fenxiao_id'].'%']],[ 'fo.founder_fenxiao_id', 'like', ['%'.$fenxiao_info['data']['fenxiao_id'].'%']]]; // $OR = []; if (!empty($is_settlement)) { if ($is_settlement == 3) { $condition[] = ['fo.is_refund', '=', 1]; } if (in_array($is_settlement, [1, 2])) { $condition[] = ['fo.is_settlement', '=', $is_settlement - 1]; $condition[] = ['fo.is_refund', '=', 0]; } } $order_model = new FenxiaoOrderModel(); $list = $order_model->getFenxiaoOrderPageList($condition, $page, $page_size, 'fo.fenxiao_order_id desc',$OR); if (!empty($list['data']['list'])) { foreach ($list['data']['list'] as $k => $item) { if ($item['one_fenxiao_id'] == $fenxiao_info['data']['fenxiao_id']) { $list['data']['list'][$k]['one_commission'] = $item['one_commission']; $list['data']['list'][$k]['commission_level'] = 1; unset($list['data']['list'][$k]['two_commission']); } elseif ($item['two_fenxiao_id'] == $fenxiao_info['data']['fenxiao_id']) { $list['data']['list'][$k]['two_commission'] = $item['two_commission']; $list['data']['list'][$k]['commission_level'] = 2; unset($list['data']['list'][$k]['one_commission']); }else{ unset($list['data']['list'][$k]['one_commission']); unset($list['data']['list'][$k]['two_commission']); } $ids = json_decode($item['wholesale_fenxiao_id'],true); $detail = json_decode($item['wholesale_fenxiao_detail'],true); $search = array_search($fenxiao_info['data']['fenxiao_id'],$ids); if($search !== false){ $list['data']['list'][$k]['wholesale_point'] = $detail[$search]['commission']; } $ids = json_decode($item['founder_fenxiao_id'],true); $detail = json_decode($item['founder_fenxiao_detail'],true); $search = array_search($fenxiao_info['data']['fenxiao_id'],$ids); if($search !== false){ $list['data']['list'][$k]['founder_point'] = $detail[$search]['commission']; } // if($item['fenxiao_order_id'] == 150){ // dump($list['data']['list'][$k]); // } } } return $this->response($list); } }