_model = $this->getModel("Mangboard\\UserModel"); } // final public function setPoint($params) { if (count($params) != 3) { return "사용법: php app.php Mangboard\UserController setPoint 아이디 포인트 +|-\n" . var_export($params); } $id = $params[0]; $point = intval($params[1]); if (!is_int($point)) { return "{$params[1]}은 숫자형식이 아닙니다."; } $point = intval($params[1]); switch ($params[2]) { case '+': case '-': $sign = $params[2]; break; default: return "형식오류 +/- 가 아닙니다"; // break; } $this->_model->where("user_id", $id); $entity = $this->_model->getEntity(); if (!$entity) { return "[{$id}]에 해당하는 회원은 없습니다"; } $old_point = $entity->getPoint(); if (is_int($point)) { $entity = $this->_model->setPoint($entity, $point, $sign); } return "[{$entity}] 회원님의 포인트는 {$old_point}->{$entity->getPoint()} 입니다."; } // final public function getPoint($params) { if (count($params) == 1) { $id = $params[0]; if ($id) { $this->_model->where("user_id", $id); $entity = $this->_model->getEntity(); if (!$entity) { return "[{$id}]에 해당하는 회원은 없습니다"; } } } $msgs = []; foreach ($this->_model->getEntitys() as $entity) { $msgs[] = "[{$entity}] 회원님의 포인트는 {$entity->getPoint()} 입니다."; } return implode("\n", $msgs); } // private function setLevel(UserEntity $entity, int $level) { $old_level = $entity->getLevel(); $entity = $this->_model->setLevel($entity, $level); return "[{$entity}] 회원님의 레벨 {$old_level} -> {$entity->getLevel()}로 변경되었습니다."; } final public function checkLevel($id = false) { $entitys = []; if ($id) { $this->_model->where("user_id", $id); $entity = $this->_model->getEntity(); if (!$entity) { return "[{$id}]에 해당하는 회원은 없습니다"; } $entitys[] = $entity; } else { $entitys = $this->_model->getEntitys(); } $msgs = []; foreach ($entitys as $entity) { $level = intval($entity->getPoint() / MANGBOARD_POINT_UNIT * MANGBOARD_POINT_UNIT / MANGBOARD_POINT_UNIT); if ($entity->getLevel() != $level) { $msgs[] = $this->setLevel($entity, $level); } } return PHP_EOL . "------" . date('Y/m/d-H:m') . "---------" . PHP_EOL . implode(PHP_EOL, $msgs) . PHP_EOL . "------------------------------" . PHP_EOL; } // }