Commit e49b0251 authored by wwccw0591's avatar wwccw0591

pc

parent a6e64a9a
......@@ -21,7 +21,12 @@ class MessageController extends \Our\Controller_AbstractApi {
$pageIndex=isset($this->req['data']['pageIndex'])?$this->req['data']['pageIndex']:0;
$pageSize=isset($this->req['data']['pageSize'])?$this->req['data']['pageSize']:20;
if(!empty($this->req['data']['toType'])){
$returnMessage=$this->messageService->getMemberList($this->memberId,$this->req['data']['fromType'],$this->req['data']['toId'],$this->req['data']['toType'],'*',$pageIndex,$pageSize);
if(!empty($this->req['data']['otherId'])){
$otherId=$this->req['data']['otherId'];
}else{
$otherId=\Our\ApiConst::zero;
}
$returnMessage=$this->messageService->getMemberList($this->memberId,$this->req['data']['fromType'],$this->req['data']['toId'],$otherId,$this->req['data']['toType'],'*',$pageIndex,$pageSize);
// $returnMessage=\Our\RedisHelper::cachedFunction(\Redis\Db15\MessageRedisModel::getInstance(),array(&$this->messageService, 'getMemberList'),array($this->memberId,$this->req['data']['fromType'],$this->req['data']['toId'],$this->req['data']['toType'],'*',$pageIndex,$pageSize),\Our\ApiConst::oneHour,array($this->memberId));
}else{
$returnMessage=$this->messageService->getList($this->memberId,$pageIndex,$pageSize);
......
......@@ -25,6 +25,7 @@ class MessageServiceModel extends \Business\AbstractModel
public $memberId;
private $memberMessageField = 'message_id,message_title,message_body,message_type,tpl_type,record_id';
private $baseRedis;
public function init()
{
......@@ -88,11 +89,14 @@ class MessageServiceModel extends \Business\AbstractModel
}
public function getUnreadCountByMemberIdAndType($toId){
$messageHistoryDao=\DAO\MessageHistoryModel::getInstance();
$count=$messageHistoryDao->getUnreadCountByToIdAndToType($toId);
public function getUnreadCountByMemberIdAndType($toId)
{
$messageHistoryDao = \DAO\MessageHistoryModel::getInstance();
$count = $messageHistoryDao->getUnreadCountByToIdAndToType($toId);
return $count;
}
/**
* 根据消息类型获得一条消息,已经未读消息数量
*
......@@ -133,19 +137,20 @@ class MessageServiceModel extends \Business\AbstractModel
}
if ($type == ApiConst::storeMessageType) {
$store = \DAO\StoreModel::getInstance();
$storeData=\Our\RedisHelper::cachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$store, 'getInfoById'), array($userid, $store->detailField), \Our\ApiConst::oneDaySecond);
$avatar=$storeData['storeLabel'];
// $avatar = $store->getInfoById($userid, 'store_label', 'store_label');
$storeData = \Our\RedisHelper::cachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$store, 'getInfoById'), array($userid, $store->detailField), \Our\ApiConst::oneDaySecond);
$avatar = $storeData['storeLabel'];
// $avatar = $store->getInfoById($userid, 'store_label', 'store_label');
$avatar = Common::getStaticFile($avatar, ImageConst::storeLabel, ImageConst::imageDomain);
}
if ($type == ApiConst::memberMessageType || $type==ApiConst::serviceMessageType) {
if ($type == ApiConst::memberMessageType || $type == ApiConst::serviceMessageType) {
$member = \DAO\MemberModel::getInstance();
$memerAvatar = $member->getInfo($userid, 'member_avatar');
$avatar = $member->getMemberAvatarUrl($userid, $memerAvatar);
}
return $avatar;
}
public function __destruct()
{
$store = \DAO\StoreModel::getInstance();
......@@ -158,7 +163,8 @@ class MessageServiceModel extends \Business\AbstractModel
$mesageOneDao->unsetDb();
}
public function unsetDb(){
public function unsetDb()
{
$store = \DAO\StoreModel::getInstance();
$member = \DAO\MemberModel::getInstance();
$messageHistoryDao = \DAO\MessageHistoryModel::getInstance();
......@@ -177,13 +183,13 @@ class MessageServiceModel extends \Business\AbstractModel
public function getList($memberId, $pageIndex = ApiConst::pageIndex, $pageSize = ApiConst::pageSize)
{
$messageOneDao = \DAO\MessageOneModel::getInstance();
$messageHistoryDao=\DAO\MessageHistoryModel::getInstance();
$messageHistoryDao = \DAO\MessageHistoryModel::getInstance();
$messageOneList = $messageOneDao->getListByMemberId($memberId, '*', $pageIndex, $pageSize);
foreach ($messageOneList['list'] as &$val) {
$self = $this->getUserByMemberIdAndSelfType($val['fromId'], $val['fromType']);
$toMember = $this->getUserByMemberIdAndSelfType($val['toId'], $val['toType']);
$val['toAvatar'] = $toMember['avatar'];
$val['message'] =$messageHistoryDao->convertMessage($val['message']);
$val['message'] = $messageHistoryDao->convertMessage($val['message']);
$val['fromAvatar'] = $self['avatar'];
// $val['toAvatar']=$this->getAvatar($val['toType'],$val['toId']);
// $val['fromAvatar']=$this->getAvatar($val['fromType'],$val['fromId']);
......@@ -204,7 +210,7 @@ class MessageServiceModel extends \Business\AbstractModel
$member['uid'] = $store['store_id'];
$member['name'] = $store['store_name'];
}
if ($type == ApiConst::memberMessageType || $type==ApiConst::serviceMessageType) {
if ($type == ApiConst::memberMessageType || $type == ApiConst::serviceMessageType) {
$memberDao = \DAO\MemberModel::getInstance();
$member = $memberDao->getOneByMemberId($memberId, 'member_id,member_name');
$member['uid'] = $member['member_id'];
......@@ -215,16 +221,30 @@ class MessageServiceModel extends \Business\AbstractModel
return $member;
}
public function getMemberIdByOtherIdAndType($otherId, $type)
{
if($type==ApiConst::storeMessageType){
$storeDao=\DAO\StoreModel::getInstance();
$condition['store_id'] = $otherId;
$store = \Our\RedisHelper::cachedFunction(\Redis\Db6\StoreRedisModel::getInstance(), array(&$storeDao, 'getInfo'), array($condition), ApiConst::oneDaySecond, array($otherId));
return $store['member_id'];
}
ErrorModel::throwException(CodeConfigModel::paramsError);
}
/**
* 根据用户的消息类型获得消息列表
*
* @ccw
*/
public function getMemberList($memberId, $selfType, $toId, $toType = ApiConst::systemMessageType, $field = '*', $pageIndex = ApiConst::pageIndex, $pageSize = ApiConst::pageSize)
public function getMemberList($memberId, $selfType, $toId, $otherId, $toType = ApiConst::systemMessageType, $field = '*', $pageIndex = ApiConst::pageIndex, $pageSize = ApiConst::pageSize)
{
$messageHistory = \DAO\MessageHistoryModel::getInstance();
$self = $this->getUserByMemberIdAndSelfType($memberId, $selfType);
$toMember = $this->getUserByMemberIdAndSelfType($toId, $toType);
if (empty($toId)) {
$toId =$this->getMemberIdByOtherIdAndType($otherId,$toType);
}
$returnMemeber['toId'] = (int)$toId;
$returnMemeber['toUserId'] = (int)$toMember['uid'];
$returnMemeber['toUserName'] = $toMember['name'];
......@@ -238,7 +258,6 @@ class MessageServiceModel extends \Business\AbstractModel
$memberMessages = $messageHistory->getListByMemberIdAndToIdAndToType($memberId, $selfType, $toId, $toType, $field, $pageIndex, $pageSize);
foreach ($memberMessages['list'] as &$val) {
$val['message'] = $messageHistory->convertMessage($val['message']);
}
$memberMessages['list'] = array_reverse($memberMessages['list']);
$returnMemeber['messages'] = $memberMessages;
......@@ -330,7 +349,7 @@ class MessageServiceModel extends \Business\AbstractModel
$message['gmtCreate'] = TIMESTAMP;
$message['isRead'] = ApiConst::unread;
$message['type'] = (int)$message['type'];
$message['content']=base64_encode($message['content']);
$message['content'] = base64_encode($message['content']);
$serializeMessage = serialize($message);
//将消息添加到表messageHistory
$mesageHistory['fromId'] = $fromId;
......@@ -389,7 +408,7 @@ class MessageServiceModel extends \Business\AbstractModel
$this->baseRedis->auth($conf['password']);
}
while ($center = $this->baseRedis->lPop('message_center')) {
$this->baseRedis->rPush('push_center',$center);
$this->baseRedis->rPush('push_center', $center);
$addData = unserialize($center);
$addData['message'] = unserialize($addData['message']);
$this->addMessage($addData['fromId'], $addData['fromUserId'], $addData['fromUserName'], $addData['fromType'], $addData['message'], $addData['toId'], $addData['toUserId'], $addData['toUserName'], $addData['toType'], $addData['id']);
......@@ -452,9 +471,11 @@ class MessageServiceModel extends \Business\AbstractModel
return false;
}
}
public function set($memberId,$pushData){
$memberDao=\DAO\MemberModel::getInstance(DbNameConst::masterDBConnectName);
if($memberDao->setIsWxsend($memberId,$pushData)!==false){
public function set($memberId, $pushData)
{
$memberDao = \DAO\MemberModel::getInstance(DbNameConst::masterDBConnectName);
if ($memberDao->setIsWxsend($memberId, $pushData) !== false) {
return true;
}
return false;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment