public function edit($relationId) { role::check('distribution_system_manage'); $relationDao = Myrelation::instance(); // $agentDao = Myagent::instance(); $userDao = Myuser::instance(); $relation = $relationDao->get_by_id($relationId); if ($relation == null) { remind::set(Kohana::lang('o_agent.agent_not_exists'), request::referrer(), 'error'); } $agent = $userDao->get_by_id($relation['agentid']); $client = $userDao->get_by_id($relation['user_id']); if ($_POST) { $client_rate = $_POST['client_rate']; $client_rate_beidan = $_POST['client_rate_beidan']; if ($client_rate < 0 || $client_rate > 0.1) { remind::set('普通返点率超出范围。', request::referrer(), 'error'); } if ($client_rate_beidan < 0 || $client_rate_beidan > 0.1) { remind::set('北单返点率超出范围。', request::referrer(), 'error'); } $rtCttDao = MyRealtime_contract::instance(); $query_struct = array('where' => array('user_id' => $agent['id'], 'flag' => 2)); $cttList = $rtCttDao->lists($query_struct); if (count($cttList) != 2) { remind::set('代理的实时合约不完备。', request::referrer(), 'error'); return; } foreach ($cttList as $contract) { if ($contract['type'] == 0 && $contract['flag'] == 2 && $contract['rate'] < $client_rate) { remind::set('普通返点率超出代理返点率。', request::referrer(), 'error'); return; } else { if ($contract['type'] == 7 && $contract['flag'] == 2 && $contract['rate'] < $client_rate_beidan) { remind::set('北单返点率超出代理返点率。', request::referrer(), 'error'); return; } } } //标签过滤 tool::filter_strip_tags($_POST); if (Myrelation::instance($relationId)->edit($_POST)) { remind::set(Kohana::lang('o_global.update_success'), 'distribution/agent_client/index/' . $relation['agentid'], 'success'); } else { remind::set(Kohana::lang('o_global.update_error'), request::referrer(), 'error'); } } $this->template->content = new View("distribution/agent_client_edit"); $this->template->content->agent = $agent; $this->template->content->client = $client; $this->template->content->relation = $relation; }
public function template_use($userId, $templateId) { $agentDao = Myagent::instance(); $agent = $agentDao->get_by_user_id($userId); if ($agent == null) { remind::set(Kohana::lang('o_agent.agent_not_exists'), request::referrer(), 'error'); } $rtTemplateDao = MyRealtime_contract_template::instance(); $template = $rtTemplateDao->get_by_id($templateId); if ($template == null) { remind::set(Kohana::lang('o_contract.contract_not_exists'), request::referrer(), 'error'); } $contract = array(); $contract['relation_id'] = 0; $contract['agent_id'] = 0; $contract['user_id'] = $agent['user_id']; $contract['contract_type'] = 0; $contract['type'] = $template['type']; $contract['rate'] = $template['rate']; $contract['taxrate'] = 0; $contract['createtime'] = date("Y-m-d H:i:s", time()); $contract['starttime'] = date("Y-m-d H:i:s", time()); $contract['lastsettletime'] = date("Y-m-d H:i:s", time()); $contract['flag'] = 0; //新建的都是关闭状态 $contract['note'] = null; $rtContractDao = MyRealtime_contract::instance(); if ($rtContractDao->add($contract)) { remind::set(Kohana::lang('o_global.add_success'), 'distribution/realtime_contract/index/' . $userId, 'success'); } else { remind::set(Kohana::lang('o_global.add_error'), request::referrer(), 'error'); } }
public function open($agentId) { //权限验证 role::check('distribution_system_manage'); if (!$agentId) { remind::set(Kohana::lang('o_global.bad_request'), request::referrer(), 'error'); } $aAgent = $this->agentDao->get_by_id($agentId); if ($aAgent == null) { remind::set(Kohana::lang('o_agent.agent_not_exists'), request::referrer(), 'error'); } $realCttDao = MyRealtime_contract::instance(); $searchStruct = array(); //检查实时合约 (普通) $searchStruct['where'] = array('user_id' => $aAgent['user_id'], 'type' => 0, 'flag' => 2); $realCttList = $realCttDao->lists($searchStruct); if (count($realCttList) == 0) { remind::set(Kohana::lang('o_contract.normal_realtime_contract_missing'), request::referrer(), 'error'); } if (count($realCttList) > 1) { remind::set(Kohana::lang('o_contract.too_many_normal_realtime_contract'), request::referrer(), 'error'); } //检查实时合约 (北单) $searchStruct['where'] = array('user_id' => $aAgent['user_id'], 'type' => 7, 'flag' => 2); $realCttList = $realCttDao->lists($searchStruct); if (count($realCttList) == 0) { remind::set(Kohana::lang('o_contract.BEIDAN_realtime_contract_missing'), request::referrer(), 'error'); } if (count($realCttList) > 1) { remind::set(Kohana::lang('o_contract.too_many_BEIDAN_realtime_contract'), request::referrer(), 'error'); } $monthCttDao = MyMonth_contract::instance(); //检查月结合约 (普通) $searchStruct['where'] = array('user_id' => $aAgent['user_id'], 'type' => 0, 'flag' => 2); $monthCttList = $monthCttDao->lists($searchStruct); if (count($monthCttList) == 0) { remind::set(Kohana::lang('o_contract.normal_month_contract_missing'), request::referrer(), 'error'); } if (count($monthCttList) > 1) { remind::set(Kohana::lang('o_contract.too_many_normal_month_contract'), request::referrer(), 'error'); } //检查月结合约 (北单) $searchStruct['where'] = array('user_id' => $aAgent['user_id'], 'type' => 7, 'flag' => 2); $realCttList = $monthCttDao->lists($searchStruct); if (count($realCttList) == 0) { remind::set(Kohana::lang('o_contract.BEIDAN_month_contract_missing'), request::referrer(), 'error'); } if (count($realCttList) > 1) { remind::set(Kohana::lang('o_contract.too_many_BEIDAN_month_contract'), request::referrer(), 'error'); } //通过有效性检查,开启代理用户 $aAgent['flag'] = 2; if ($this->agentDao->edit($aAgent)) { remind::set(Kohana::lang('o_global.update_success'), request::referrer(), 'success'); } else { remind::set(Kohana::lang('o_global.update_fail'), request::referrer(), 'error'); } }