Commit e49b0251 authored by wwccw0591's avatar wwccw0591

pc

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