Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
M
my-yaf-project
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
chenchuanwen
my-yaf-project
Commits
e49b0251
Commit
e49b0251
authored
Sep 27, 2018
by
wwccw0591
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
pc
parent
a6e64a9a
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
45 additions
and
19 deletions
+45
-19
Message.php
application/controllers/Message.php
+6
-1
MessageService.php
application/models/Business/Message/MessageService.php
+39
-18
No files found.
application/controllers/Message.php
View file @
e49b0251
...
...
@@ -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
);
...
...
application/models/Business/Message/MessageService.php
View file @
e49b0251
...
...
@@ -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
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment