/**
  * Creates a new dtb_raise_project_basic
  */
 public function createAction()
 {
     if (!$this->request->isPost()) {
         return $this->dispatcher->forward(array("controller" => "UserRaiseBasic", "action" => "index"));
     }
     $dtb_raise_project_basic = new DtbRaiseProjectBasic();
     $dtb_raise_project_basic->setUserId($this->request->getPost("user_id"));
     $dtb_raise_project_basic->setProjectName($this->request->getPost("project_name"));
     $dtb_raise_project_basic->setProjectDesc($this->request->getPost("project_desc"));
     $dtb_raise_project_basic->setProjectGrowUp($this->request->getPost("project_grow_up"));
     $dtb_raise_project_basic->setCompanyLogo($this->request->getPost("company_logo"));
     $dtb_raise_project_basic->setAimMoney($this->request->getPost("aim_money"));
     $dtb_raise_project_basic->setProjectType($this->request->getPost("project_type"));
     //图片上传
     $img_list = array();
     $project_log = array();
     list($img_list, $project_log) = $this->_upload_img();
     $company_logo = isset($img_list['company_logo']) ? $img_list['company_logo'] : '';
     var_dump($company_logo);
     if (!empty($company_logo)) {
         $dtb_raise_project_basic->setCompanyLogo($company_logo);
     }
     // $dtb_raise_project_basic->setAimEquityOffered($this->request->getPost("aim_equity_offered"));
     // $dtb_raise_project_basic->setAlreadyEquityOffered($this->request->getPost("already_equity_offered"));
     //$dtb_raise_project_basic->setAlreadyMoney($this->request->getPost("already_money"));
     //$dtb_raise_project_basic->setValuation($this->request->getPost("valuation"));
     //$dtb_raise_project_basic->setRateOfReturn($this->request->getPost("rate_of_return"));
     //$dtb_raise_project_basic->setVideoUrl($this->request->getPost("video_url"));
     //$dtb_raise_project_basic->setAddress1($this->request->getPost("address1"));
     //$dtb_raise_project_basic->setAddress2($this->request->getPost("address2"));
     //$dtb_raise_project_basic->setCountry($this->request->getPost("country"));
     //$dtb_raise_project_basic->setProvince($this->request->getPost("province"));
     //$dtb_raise_project_basic->setDist($this->request->getPost("dist"));
     //$dtb_raise_project_basic->setCity($this->request->getPost("city"));
     //$dtb_raise_project_basic->setPostCard($this->request->getPost("post_card"));
     //$dtb_raise_project_basic->setCompany($this->request->getPost("company"));
     $dtb_raise_project_basic->setWebstate($this->request->getPost("webstate"));
     $dtb_raise_project_basic->setCreateTs(time());
     $dtb_raise_project_basic->setPublicTs(time() + 10 * 24 * 3600);
     //默认10天
     $dtb_raise_project_basic->setEndTs(time() + 180 * 24 * 3600);
     //默认3个月
     //$dtb_raise_project_basic->setInvestedNum($this->request->getPost("invested_num"));
     $dtb_raise_project_basic->setCurrency($this->request->getPost("currency"));
     //$dtb_raise_project_basic->setNextTwoYTotalWage($this->request->getPost("next_two_y_total_wage"));
     $dtb_raise_project_basic->setNextDiscount($this->request->getPost("next_discount"));
     //$dtb_raise_project_basic->setComment($this->request->getPost("comment"));
     //$dtb_raise_project_basic->setStatus($this->request->getPost("status"));
     //$dtb_raise_project_basic->setResult($this->request->getPost("result"));
     $dtb_wheel = new DtbRaiseProjectWheel();
     $flag = false;
     try {
         $this->di['db']->begin();
         $res = $dtb_raise_project_basic->save();
         $raise_id = $dtb_raise_project_basic->getRaiseId();
         $dtb_wheel->setRaiseId($raise_id);
         $dtb_wheel->setAimMoney($this->request->getPost("aim_money"));
         $dtb_wheel->setAlreadymoney(0);
         $dtb_wheel->setCreateTs(time());
         $dtb_wheel->setEndTs(time() + 180 * 24 * 3600);
         //默认3个月
         $res1 = $dtb_wheel->save();
         $wheel_id = $dtb_wheel->getWheelId();
         $dtb_raise_project_basic->setNowWheelId($wheel_id);
         $res3 = $dtb_raise_project_basic->save();
         if ($res && $res1 && $res3) {
             $this->di['db']->commit();
             $flag = true;
         } else {
             $this->di['db']->rollback();
             foreach ($dtb_raise_project_basic->getMessages() as $message) {
                 $this->flash->error($message);
             }
             foreach ($dtb_wheel->getMessages() as $message) {
                 $this->flash->error($message);
             }
         }
     } catch (exception $ex) {
         $this->di['db']->rollback();
     }
     if ($flag) {
         $this->flash->success("dtb_raise_project_basic was created successfully");
         return $this->dispatcher->forward(array("controller" => "user_raise_basic", "action" => "newcompany", "params" => array($dtb_raise_project_basic->raise_id, $dtb_raise_project_basic->project_type)));
     }
 }
Пример #2
0
 public function payCallbackAction($order_id)
 {
     $is_pay = true;
     if ($is_pay) {
         //TODO PAY CALLBACK
         //modify order_id
         $invest_order = DtbProjectInvestOrder::findFirstByorder_id($order_id);
         $raise_id = $invest_order->getRaiseId();
         $wheel_id = $invest_order->getWheelId();
         $project_wheel_info = DtbRaiseProjectWheel::findFirstBywheel_id($wheel_id);
         if ($project_wheel_info->getRaiseId() != $raise_id) {
             die('project error');
         }
         $invest_money = $invest_order->getInvestMoney();
         $aim_money = $project_wheel_info->getAimMoney();
         $already_money = $project_wheel_info->getAlreadyMoney();
         $result = $project_wheel_info->getResult();
         $is_update_status = false;
         if ($invest_money + $already_money >= $aim_money * self::project_success_value && intval($result) == 0) {
             $is_update_status = true;
         }
         $wheel_invested_num = $project_wheel_info->getWheelInvestedNum();
         try {
             $this->di['db']->begin();
             $invest_order_new = new DtbProjectInvestOrder();
             $params = array('result' => result_success, 'status' => 0, 'update_ts' => time());
             $res1 = $invest_order_new->updateOrderId($order_id, $params);
             $project_wheel_info->setAlreadyMoney($invest_money + $already_money);
             $project_wheel_info->setAlreadyMoney(intval($invest_money + $already_money));
             $project_wheel_info->setWheelInvestedNum($wheel_invested_num + 1);
             if ($is_update_status) {
                 $project_wheel_info->setResult(result_success);
             }
             $res2 = $project_wheel_info->save();
             if ($res1 && $res2) {
                 $this->di['db']->commit();
                 $this->flash->success('成功');
                 return $this->response->redirect('/invest/payFinish/' . $order_id);
             } else {
                 $this->di['db']->rollback();
             }
         } catch (Exception $ex) {
             $this->di['db']->rollback();
         }
     }
 }