protected function handleMessage()
 {
     $messageTypes = array("success" => "Success", "info" => "Info", "warning" => "Warning", "danger" => "Error");
     foreach ($messageTypes as $type => $header) {
         $messageCode = $this->registry->request->getParam($type);
         if (isset($messageCode) && $messageCode > 0) {
             $messageDao = new MessageDao();
             $message = $messageDao->getMessage($messageCode);
             $alert = new stdClass();
             $alert->class = $type;
             $alert->header = $header;
             $alert->message = $message;
             $this->registry->template->alert = $alert;
             return;
         }
     }
 }
<?php

require '../dao/GetDao.php';
require '../dao/MessageDao.php';
$achieveId = $_REQUEST['achieveId'];
$userId = $_REQUEST['userId'];
$requestType = strtolower($_REQUEST['requestType']);
/**
 *	@Note: 获得成就的完成列表
 */
if ($requestType == 'get') {
    $getDao = new GetDao();
    echo json_encode(array('resultArray' => $getDao->getCompleteList($achieveId, $userId)));
} else {
    if ($requestType == 'message') {
        $messageDao = new MessageDao();
        echo $messageDao->achieveMessageList($achieveId);
    }
}
exit;
<?php

require '../dao/MessageDao.php';
$userId = $_REQUEST['userId'];
$mesgAchieve = $_REQUEST['mesgAchieve'];
$mesgContent = $_REQUEST['mesgContent'];
$isAnonymity = (int) $_REQUEST['isAnonymity'];
//boolean
$messageDao = new MessageDao();
if (($obj = $messageDao->setMessage($userId, $mesgAchieve, $mesgContent, $isAnonymity, 0)) != null) {
    echo json_encode(array('mesg' => 'success', 'result' => true, 'data' => json_decode($obj)->resultArray[0]));
} else {
    echo json_encode(array('mesg' => 'fail', 'result' => false, 'data' => null));
}
<?php

require '../dao/TopicDao.php';
require '../dao/GetDao.php';
require '../dao/MessageDao.php';
$topicName = $_REQUEST['topicName'];
$userId = $_REQUEST['userId'];
//是否精确查询,否则采取模糊匹配
$isExact = (bool) $_REQUEST['isExact'];
$topicDao = new TopicDao();
$getDao = new GetDao();
$messageDao = new MessageDao();
$topicDao = new TopicDao();
$topic = (object) array();
$topic->postTopic = json_decode($topicDao->searchPostTopic($userId, $topicName, $isExact))->resultArray;
$topic->achieveTopic = json_decode($topicDao->searchAchieveTopic($userId, $topicName, $isExact))->resultArray;
foreach ($topic->achieveTopic as $index => $achieve) {
    $achieveId = $achieve->achieveId;
    $achieve->getCount = (int) $getDao->achieveGetCount($achieveId);
    $achieve->mesgCount = (int) $messageDao->achieveMessageCount($achieveId);
}
echo json_encode($topic);
<?php

require '../dao/PostDao.php';
require '../dao/MessageDao.php';
require 'ImageUpload.php';
$imageUpload = new ImageUpload();
$postUser = $_REQUEST['postUser'];
$postImage = $imageUpload->getImageUrl();
$postTopic = $_REQUEST['postTopic'];
$postContent = $_REQUEST['postContent'];
$postTag = $_REQUEST['postTag'];
$isAnonymity = (int) $_REQUEST['isAnonymity'];
//boolean
$achieveId = 0;
if (!empty($_REQUEST['achieveId'])) {
    $achieveId = $_REQUEST['achieveId'];
}
$postDao = new PostDao();
$id = $postDao->postWrite($postUser, $postImage, $postTopic, $postContent, $postTag, $isAnonymity);
if ($id == null || $id == 0) {
    echo json_encode(array('mesg' => 'fail', 'result' => false));
} else {
    if ($achieveId != 0) {
        $messageDao = new MessageDao();
        $messageDao->setMessage($postUser, $achieveId, null, $isAnonymity, $id);
    }
    echo json_encode(array('mesg' => 'success', 'result' => true));
}
 /**
  *	获得成就列表中每条成就的详尽信息,包括吐槽数、完成数
  *	@Param $userId
  *	@Param $sq
  *	@Param $orderField( default '') 排序字段
  *	@Param $achieveType( default '')
  *	@Return
  */
 private function achieve($userId, $sql, $orderField = '', $achieveType = '')
 {
     if ($userId != null) {
         $sql = "select p.* , g.isGet from ({$sql}) p left outer join tb_get g on g.getUser = '******' and g.getAchieve = p.achieveId ";
         if (!empty($orderField)) {
             $sql .= "order by p.{$orderField} desc";
         }
     }
     $achieveList = json_decode($this->query($sql))->resultArray;
     $messageDao = new MessageDao();
     $getDao = new GetDao();
     $result = (object) array();
     if (!empty($achieveType)) {
         $result->userGetCount = $this->userGetCount($userId, $achieveType);
         $result->totalAchieveCount = $this->totalAchieveCount($achieveType);
     }
     foreach ($achieveList as $index => $achieve) {
         $achieveId = $achieve->achieveId;
         $achieve->getCount = $getDao->achieveGetCount($achieveId);
         $achieve->mesgCount = $messageDao->achieveMessageCount($achieveId);
     }
     $result->achieveList = $achieveList;
     return json_encode($result);
 }