예제 #1
0
 /**
  * getInstanceメソッド
  *
  * このクラスのオブジェクトを生成する。
  * 既に生成されていたら、前回と同じものを返す。
  *
  * @return object $instance
  */
 public static function getInstance()
 {
     if (!self::$_instance) {
         self::$_instance = new self();
     }
     return self::$_instance;
 }
예제 #2
0
파일: User.php 프로젝트: noriotakei/suraimu
 /**
  *
  * ポイント更新処理
  *
  * @param  array $userData   ユーザーデータ
  * @param  integer $point ポイント
  * @param  integer $pointType ポイントタイプ
  * @param  integer $orderingId 注文ID
  * @param  integer $infoStatusId 情報表示条件ID
  *
  * @return boolean
  */
 public function updatePoint($userData, $point, $orderingId = 0, $infoStatusId = 0)
 {
     if (!$userData or !is_numeric($point)) {
         return FALSE;
     }
     // ユーザーポイントがマイナスになるなら処理をしない
     if ($userData["point"] + $point < 0) {
         return FALSE;
     }
     $updateArray = array();
     $updateArray["point"] = "point + (" . $point . ")";
     $updateArray["update_datetime"] = "'" . date("YmdHis") . "'";
     $whereArray[] = "user_id = " . $userData["user_id"];
     if ($point < 0) {
         // ポイントがマイナスなら消費ポイントに加える
         $updateArray["total_use_point"] = "total_use_point - (" . $point . ")";
     } else {
         // ポイントがプラスなら付加ポイントに加える
         $updateArray["total_addition_point"] = "total_addition_point + " . $point;
     }
     if (!$this->updateProfileData($updateArray, $whereArray, FALSE)) {
         return FALSE;
     }
     //ログを残します
     $insertArray = array();
     $insertArray["ordering_id"] = $orderingId;
     $insertArray["information_status_id"] = $infoStatusId;
     $insertArray["user_id"] = $userData["user_id"];
     $insertArray["point"] = $point;
     $insertArray["create_datetime"] = date("YmdHis");
     $pointLogOBJ = PointLog::getInstance();
     if (!$pointLogOBJ->insertPointLog($insertArray)) {
         return FALSE;
     }
     return TRUE;
 }