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
e980c7a9
Commit
e980c7a9
authored
Sep 30, 2018
by
liuyuzhen
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master_dev' of git.shenbd.com:qm-develop/shenbd into lyz
parents
71cc8654
8594183a
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
67 additions
and
33 deletions
+67
-33
MessageService.php
application/models/Business/Message/MessageService.php
+42
-28
MemberService.php
application/models/Business/User/MemberService.php
+1
-0
Abstract.php
application/models/DAO/Abstract.php
+1
-1
Abstract.php
application/models/Redis/Abstract.php
+6
-0
MemberRedis.php
application/models/Redis/Db0/MemberRedis.php
+8
-0
index.php
public/index.php
+1
-1
getSet.php
public/test/message/getSet.php
+2
-2
getUnreadCount.php
public/test/message/getUnreadCount.php
+1
-1
news_server.php
scripts/crontab/push/news_server.php
+5
-0
No files found.
application/models/Business/Message/MessageService.php
View file @
e980c7a9
...
@@ -39,7 +39,7 @@ class MessageServiceModel extends \Business\AbstractModel
...
@@ -39,7 +39,7 @@ class MessageServiceModel extends \Business\AbstractModel
*/
*/
private
static
$_instance
=
null
;
private
static
$_instance
=
null
;
/**
/**
update
* 单例模式获取类实例
* 单例模式获取类实例
*
*
* @ccw
* @ccw
...
@@ -92,9 +92,15 @@ class MessageServiceModel extends \Business\AbstractModel
...
@@ -92,9 +92,15 @@ class MessageServiceModel extends \Business\AbstractModel
public
function
getUnreadCountByMemberIdAndType
(
$toId
)
public
function
getUnreadCountByMemberIdAndType
(
$toId
)
{
{
$messageHistoryDao
=
\DAO\MessageHistoryModel
::
getInstance
();
$memberDb0Redis
=
\Redis\Db0\MemberRedisModel
::
getInstance
();
$count
=
$messageHistoryDao
->
getUnreadCountByToIdAndToType
(
$toId
);
$unredMessageCount
=
$memberDb0Redis
->
tableHGet
(
$toId
,
'unread_message_count'
);
return
$count
;
if
(
$unredMessageCount
===
false
){
$messageHistoryDao
=
\DAO\MessageHistoryModel
::
getInstance
();
$unredMessageCount
=
$messageHistoryDao
->
getUnreadCountByToIdAndToType
(
$toId
);
$memberDb0Redis
->
tableHset
(
$toId
,
'unread_message_count'
,
$unredMessageCount
);
}
return
$unredMessageCount
;
}
}
/**
/**
...
@@ -151,29 +157,29 @@ class MessageServiceModel extends \Business\AbstractModel
...
@@ -151,29 +157,29 @@ class MessageServiceModel extends \Business\AbstractModel
return
$avatar
;
return
$avatar
;
}
}
public
function
__destruct
()
//
public function __destruct()
{
//
{
$store
=
\DAO\StoreModel
::
getInstance
();
//
$store = \DAO\StoreModel::getInstance();
$member
=
\DAO\MemberModel
::
getInstance
();
//
$member = \DAO\MemberModel::getInstance();
$messageHistoryDao
=
\DAO\MessageHistoryModel
::
getInstance
();
//
$messageHistoryDao = \DAO\MessageHistoryModel::getInstance();
$mesageOneDao
=
\DAO\MessageOneModel
::
getInstance
();
//
$mesageOneDao = \DAO\MessageOneModel::getInstance();
$store
->
unsetDb
();
//
$store->unsetDb();
$member
->
unsetDb
();
//
$member->unsetDb();
$messageHistoryDao
->
unsetDb
();
//
$messageHistoryDao->unsetDb();
$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();
$mesageOneDao
=
\DAO\MessageOneModel
::
getInstance
();
//
$mesageOneDao = \DAO\MessageOneModel::getInstance();
$store
->
unsetDb
();
//
$store->unsetDb();
$member
->
unsetDb
();
//
$member->unsetDb();
$messageHistoryDao
->
unsetDb
();
//
$messageHistoryDao->unsetDb();
$mesageOneDao
->
unsetDb
();
//
$mesageOneDao->unsetDb();
}
//
}
/**
/**
* 获得全部类型消息,每种消息一条数据,以及每种消息的未读条数
* 获得全部类型消息,每种消息一条数据,以及每种消息的未读条数
...
@@ -327,6 +333,12 @@ class MessageServiceModel extends \Business\AbstractModel
...
@@ -327,6 +333,12 @@ class MessageServiceModel extends \Business\AbstractModel
$messageOneDao
->
setDb
(
DbNameConst
::
masterDBConnectName
);
$messageOneDao
->
setDb
(
DbNameConst
::
masterDBConnectName
);
$messageOneDao
->
updateUnreadField
(
$fromId
,
$fromType
,
$toId
,
$toType
);
$messageOneDao
->
updateUnreadField
(
$fromId
,
$fromType
,
$toId
,
$toType
);
$isSuccess
=
$messageHistoryDao
->
updateByFromIdAndSelfTypeAndToIdAndToType
(
$fromId
,
$fromType
,
$toId
,
$toType
);
$isSuccess
=
$messageHistoryDao
->
updateByFromIdAndSelfTypeAndToIdAndToType
(
$fromId
,
$fromType
,
$toId
,
$toType
);
$memberDb0Redis
=
\Redis\Db0\MemberRedisModel
::
getInstance
();
if
(
$isSuccess
){
$isSuccess
=-
1
*
$isSuccess
;
$memberDb0Redis
->
tableHIncrBy
(
$fromId
,
'unread_message_count'
,
$isSuccess
);
}
return
$isSuccess
;
return
$isSuccess
;
}
}
...
@@ -341,7 +353,8 @@ class MessageServiceModel extends \Business\AbstractModel
...
@@ -341,7 +353,8 @@ class MessageServiceModel extends \Business\AbstractModel
}
}
}
}
private
$messageHistoryDao
;
private
$mesageOneDao
;
public
function
addMessage
(
$fromId
,
$selfId
,
$fromName
,
$fromType
,
$message
,
$toId
,
$toUserId
,
$toName
,
$toType
,
$messageId
=
false
)
public
function
addMessage
(
$fromId
,
$selfId
,
$fromName
,
$fromType
,
$message
,
$toId
,
$toUserId
,
$toName
,
$toType
,
$messageId
=
false
)
{
{
$messageHistoryDao
=
\DAO\MessageHistoryModel
::
getInstance
();
$messageHistoryDao
=
\DAO\MessageHistoryModel
::
getInstance
();
...
@@ -389,6 +402,7 @@ class MessageServiceModel extends \Business\AbstractModel
...
@@ -389,6 +402,7 @@ class MessageServiceModel extends \Business\AbstractModel
$messageHistoryDao
->
db
->
doCommit
();
$messageHistoryDao
->
db
->
doCommit
();
unset
(
$messageHistoryDao
->
db
);
unset
(
$messageHistoryDao
->
db
);
unset
(
$messageHistoryDao
);
unset
(
$messageHistoryDao
);
unset
(
$mesageOneDao
->
db
);
unset
(
$mesageOneDao
);
unset
(
$mesageOneDao
);
//$messageHistoryDao->sendMessage($mesageHistory,$toId);
//$messageHistoryDao->sendMessage($mesageHistory,$toId);
...
...
application/models/Business/User/MemberService.php
View file @
e980c7a9
...
@@ -55,6 +55,7 @@ class MemberServiceModel extends \Business\AbstractModel
...
@@ -55,6 +55,7 @@ class MemberServiceModel extends \Business\AbstractModel
}
}
$member
[
'sendTime'
]
=
TIMESTAMP
;
$member
[
'sendTime'
]
=
TIMESTAMP
;
$this
->
memberDb0Redis
->
tableHMSet
(
trim
(
$member
[
'member_id'
]),
$member
,
ApiConst
::
tenDaySecond
);
$this
->
memberDb0Redis
->
tableHMSet
(
trim
(
$member
[
'member_id'
]),
$member
,
ApiConst
::
tenDaySecond
);
$this
->
memberDb0Redis
->
tableHDel
(
trim
(
$member
[
'member_id'
]),
'unread_message_count'
);
}
}
...
...
application/models/DAO/Abstract.php
View file @
e980c7a9
...
@@ -30,7 +30,7 @@ abstract class AbstractModel {
...
@@ -30,7 +30,7 @@ abstract class AbstractModel {
}
}
public
function
unsetDb
(){
public
function
unsetDb
(){
unset
(
$this
->
db
);
unset
(
$this
->
db
);
LinkMySQLModel
::
unsetDbConecet
();
//
LinkMySQLModel::unsetDbConecet();
}
}
/**
/**
* 捕获dao中没有的方法,直接访问mysql中相应的类的方法
* 捕获dao中没有的方法,直接访问mysql中相应的类的方法
...
...
application/models/Redis/Abstract.php
View file @
e980c7a9
...
@@ -34,6 +34,12 @@ class AbstractModel {
...
@@ -34,6 +34,12 @@ class AbstractModel {
*/
*/
static
$redis
;
static
$redis
;
public
function
__destruct
(){
if
(
!
empty
(
self
::
$redis
)){
self
::
$redis
->
close
();
}
}
/**
/**
* 获取redis连接
* 获取redis连接
*
*
...
...
application/models/Redis/Db0/MemberRedis.php
View file @
e980c7a9
...
@@ -85,6 +85,14 @@ class MemberRedisModel extends \Redis\Db0\AbstractModel {
...
@@ -85,6 +85,14 @@ class MemberRedisModel extends \Redis\Db0\AbstractModel {
return
$res
;
return
$res
;
}
}
public
function
tableHIncrBy
(
$h
,
$key
,
$keysvalue
){
return
$this
->
hIncrBy
(
$this
->
calcKey
(
$h
),
$key
,
$keysvalue
);
}
public
function
tableHDel
(
$mid
,
$key
){
$res
=
$this
->
hDel
(
$this
->
calcKey
(
$mid
),
$key
);
return
$res
;
}
/**
/**
* 类实例
* 类实例
...
...
public/index.php
View file @
e980c7a9
...
@@ -7,7 +7,7 @@ define("APP_ENV",ini_get('yaf.environ'));
...
@@ -7,7 +7,7 @@ define("APP_ENV",ini_get('yaf.environ'));
if
(
APP_ENV
==
'develop'
){
if
(
APP_ENV
==
'develop'
){
error_reporting
(
E_ALL
);
error_reporting
(
E_ALL
);
}
}
if
(
APP_ENV
==
'test'
||
APP_ENV
==
'pre'
||
APP_ENV
==
'ccwdevelop'
){
if
(
APP_ENV
==
'test'
||
APP_ENV
==
'pre'
||
APP_ENV
==
'ccwdevelop'
||
APP_ENV
==
'product'
||
APP_ENV
==
'productone'
){
if
(
isset
(
$_POST
[
'data'
][
'debug'
])
&&!
empty
(
$_POST
[
'data'
][
'debug'
])){
if
(
isset
(
$_POST
[
'data'
][
'debug'
])
&&!
empty
(
$_POST
[
'data'
][
'debug'
])){
// define("DEBUG",1);
// define("DEBUG",1);
error_reporting
(
E_ALL
);
error_reporting
(
E_ALL
);
...
...
public/test/message/getSet.php
View file @
e980c7a9
...
@@ -9,8 +9,8 @@
...
@@ -9,8 +9,8 @@
</head>
</head>
<body>
<body>
<form
action=
"/message/getSet"
method=
"post"
>
<form
action=
"/message/getSet"
method=
"post"
>
用户登录状态key:
<input
name=
"data[key]"
value=
"
ca44044c38f5a6d06ddd7304e1c7666
c"
/><br
/>
用户登录状态key:
<input
name=
"data[key]"
value=
"
687688f35b1fe2fbef39a85537aafd9
c"
/><br
/>
debug:
<input
name=
"data[debug]"
value=
"1"
/><br
/>
<input
type=
"submit"
value=
"提交"
>
<input
type=
"submit"
value=
"提交"
>
</form>
</form>
...
...
public/test/message/getUnreadCount.php
View file @
e980c7a9
...
@@ -10,7 +10,7 @@
...
@@ -10,7 +10,7 @@
<body>
<body>
<form
action=
"/message/getUnreadCount"
method=
"post"
>
<form
action=
"/message/getUnreadCount"
method=
"post"
>
用户登录状态key:
<input
name=
"data[key]"
value=
"fd4b739c4815297044191451eabf0eb5"
/><br
/>
用户登录状态key:
<input
name=
"data[key]"
value=
"fd4b739c4815297044191451eabf0eb5"
/><br
/>
<input
name=
"data[debug]"
value=
"1"
/><br
/>
<input
type=
"submit"
value=
"提交"
>
<input
type=
"submit"
value=
"提交"
>
</form>
</form>
...
...
scripts/crontab/push/news_server.php
View file @
e980c7a9
...
@@ -117,11 +117,14 @@ $serv->on('Message', function($server, $frame) use($conf){
...
@@ -117,11 +117,14 @@ $serv->on('Message', function($server, $frame) use($conf){
$messageService
->
addMessage
(
$sendMessage
[
'fromId'
],
$sendMessage
[
'fromUserId'
],
$sendMessage
[
'fromUserName'
],
$sendMessage
[
'fromType'
],
$sendMessage
[
'message'
],
$sendMessage
[
'toId'
],
$sendMessage
[
'toUserId'
],
$sendMessage
[
'toUserName'
],
$sendMessage
[
'toType'
],
$sendMessage
[
'id'
]);
$messageService
->
addMessage
(
$sendMessage
[
'fromId'
],
$sendMessage
[
'fromUserId'
],
$sendMessage
[
'fromUserName'
],
$sendMessage
[
'fromType'
],
$sendMessage
[
'message'
],
$sendMessage
[
'toId'
],
$sendMessage
[
'toUserId'
],
$sendMessage
[
'toUserName'
],
$sendMessage
[
'toType'
],
$sendMessage
[
'id'
]);
$sendMessage
[
'message'
]
=
serialize
(
$sendMessage
[
'message'
]);
$sendMessage
[
'message'
]
=
serialize
(
$sendMessage
[
'message'
]);
$redis
->
rPush
(
'push_center'
,
serialize
(
$sendMessage
));
$redis
->
rPush
(
'push_center'
,
serialize
(
$sendMessage
));
$redis
->
hIncrBy
(
KEY_PRE
.
$rev_data
[
'toId'
],
'unread_message_count'
,
\Our\ApiConst
::
one
);
}
}
$redis
->
close
();
$redis
->
close
();
unset
(
$redis
);
unset
(
$redis
);
unset
(
$memberDb0Redis
);
// $messageService->unsetDb();
// $messageService->unsetDb();
unset
(
$messageService
);
unset
(
$messageService
);
\Mysql\LinkMySQLModel
::
unsetDbConecet
();
}
else
{
}
else
{
$realKey
=
KEY_REDIS_PRE
.
$key
;
$realKey
=
KEY_REDIS_PRE
.
$key
;
$sessData
=
$redis
->
get
(
$realKey
);
$sessData
=
$redis
->
get
(
$realKey
);
...
@@ -229,6 +232,7 @@ $tcp_server->on('receive', function($serv, $fd, $from_id, $data) use($conf) {
...
@@ -229,6 +232,7 @@ $tcp_server->on('receive', function($serv, $fd, $from_id, $data) use($conf) {
if
(
$async_data
){
if
(
$async_data
){
$value
[
'message'
]
=
unserialize
(
$value
[
'message'
]);
$value
[
'message'
]
=
unserialize
(
$value
[
'message'
]);
$sendFd
=
$redis
->
hGet
(
KEY_PRE
.
$value
[
'toId'
],
'fd'
);
$sendFd
=
$redis
->
hGet
(
KEY_PRE
.
$value
[
'toId'
],
'fd'
);
$redis
->
hIncrBy
(
KEY_PRE
.
$value
[
'toId'
],
'unread_message_count'
,
\Our\ApiConst
::
one
);
if
(
!
empty
(
$sendFd
)){
if
(
!
empty
(
$sendFd
)){
$serv
->
push
(
$sendFd
,
responseJson
(
1
,
"fromMsg"
,
"success"
,
$value
));
$serv
->
push
(
$sendFd
,
responseJson
(
1
,
"fromMsg"
,
"success"
,
$value
));
$redis
->
hSet
(
KEY_PRE
.
$value
[
'fromId'
],
'sendTime'
,
time
());
$redis
->
hSet
(
KEY_PRE
.
$value
[
'fromId'
],
'sendTime'
,
time
());
...
@@ -242,6 +246,7 @@ $tcp_server->on('receive', function($serv, $fd, $from_id, $data) use($conf) {
...
@@ -242,6 +246,7 @@ $tcp_server->on('receive', function($serv, $fd, $from_id, $data) use($conf) {
if
(
$async_data
){
if
(
$async_data
){
$sendFd
=
$redis
->
hGet
(
KEY_PRE
.
$data
[
'data'
][
'toId'
],
'fd'
);
$sendFd
=
$redis
->
hGet
(
KEY_PRE
.
$data
[
'data'
][
'toId'
],
'fd'
);
$data
[
'data'
][
'message'
]
=
unserialize
(
$data
[
'data'
][
'message'
]);
$data
[
'data'
][
'message'
]
=
unserialize
(
$data
[
'data'
][
'message'
]);
$redis
->
hIncrBy
(
KEY_PRE
.
$data
[
'data'
][
'toId'
],
'unread_message_count'
,
\Our\ApiConst
::
one
);
if
(
!
empty
(
$sendFd
)){
if
(
!
empty
(
$sendFd
)){
$serv
->
push
(
$sendFd
,
responseJson
(
$sendFd
,
"fromMsg"
,
"success"
,
$data
[
'data'
]));
$serv
->
push
(
$sendFd
,
responseJson
(
$sendFd
,
"fromMsg"
,
"success"
,
$data
[
'data'
]));
$redis
->
hSet
(
KEY_PRE
.
$data
[
'data'
][
'fromId'
],
'sendTime'
,
time
());
$redis
->
hSet
(
KEY_PRE
.
$data
[
'data'
][
'fromId'
],
'sendTime'
,
time
());
...
...
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