Пример #1
0
 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;
 }
Пример #2
0
 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');
     }
 }
Пример #3
0
 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');
     }
 }