Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
fenghuo12
zheng
提交
5d5b81e9
Z
zheng
项目概览
fenghuo12
/
zheng
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Z
zheng
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
5d5b81e9
编写于
2月 11, 2017
作者:
shuzheng5201314
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
BaseService#initMapper初始化移到zheng-common,并且只初始化@BaseService注解的bean
上级
7a289a28
变更
19
隐藏空白更改
内联
并排
Showing
19 changed file
with
41 addition
and
66 deletion
+41
-66
zheng-cms/zheng-cms-rpc-service/src/main/java/com/zheng/cms/rpc/service/impl/CmsArticleServiceImpl.java
...com/zheng/cms/rpc/service/impl/CmsArticleServiceImpl.java
+2
-0
zheng-cms/zheng-cms-rpc-service/src/main/java/com/zheng/cms/rpc/service/impl/CmsCategoryServiceImpl.java
...om/zheng/cms/rpc/service/impl/CmsCategoryServiceImpl.java
+2
-0
zheng-cms/zheng-cms-rpc-service/src/main/java/com/zheng/cms/rpc/service/impl/CmsCommentServiceImpl.java
...com/zheng/cms/rpc/service/impl/CmsCommentServiceImpl.java
+2
-0
zheng-cms/zheng-cms-rpc-service/src/main/java/com/zheng/cms/rpc/service/impl/CmsPageServiceImpl.java
...va/com/zheng/cms/rpc/service/impl/CmsPageServiceImpl.java
+2
-0
zheng-cms/zheng-cms-rpc-service/src/main/java/com/zheng/cms/rpc/service/impl/CmsSettingServiceImpl.java
...com/zheng/cms/rpc/service/impl/CmsSettingServiceImpl.java
+2
-0
zheng-cms/zheng-cms-rpc-service/src/main/java/com/zheng/cms/rpc/service/impl/CmsTagServiceImpl.java
...ava/com/zheng/cms/rpc/service/impl/CmsTagServiceImpl.java
+2
-0
zheng-cms/zheng-cms-rpc-service/src/main/java/com/zheng/cms/rpc/service/impl/UserServiceImpl.java
.../java/com/zheng/cms/rpc/service/impl/UserServiceImpl.java
+2
-0
zheng-cms/zheng-cms-rpc-service/src/main/java/com/zheng/cms/rpc/service/listener/ApplicationContextListener.java
.../cms/rpc/service/listener/ApplicationContextListener.java
+0
-42
zheng-common/src/main/java/com/zheng/common/annotation/BaseService.java
...rc/main/java/com/zheng/common/annotation/BaseService.java
+13
-0
zheng-common/src/main/java/com/zheng/common/base/BaseService.java
...mmon/src/main/java/com/zheng/common/base/BaseService.java
+0
-2
zheng-common/src/main/java/com/zheng/common/base/BaseServiceImpl.java
.../src/main/java/com/zheng/common/base/BaseServiceImpl.java
+0
-5
zheng-common/src/main/java/com/zheng/common/listener/ApplicationContextListener.java
...com/zheng/common/listener/ApplicationContextListener.java
+3
-5
zheng-common/src/main/resources/applicationContext-listener.xml
...common/src/main/resources/applicationContext-listener.xml
+1
-1
zheng-upms/zheng-upms-rpc-service/src/main/java/com/zheng/upms/rpc/service/impl/UpmsOrganizationServiceImpl.java
...ng/upms/rpc/service/impl/UpmsOrganizationServiceImpl.java
+2
-0
zheng-upms/zheng-upms-rpc-service/src/main/java/com/zheng/upms/rpc/service/impl/UpmsPermissionServiceImpl.java
...heng/upms/rpc/service/impl/UpmsPermissionServiceImpl.java
+2
-0
zheng-upms/zheng-upms-rpc-service/src/main/java/com/zheng/upms/rpc/service/impl/UpmsRoleServiceImpl.java
.../com/zheng/upms/rpc/service/impl/UpmsRoleServiceImpl.java
+2
-0
zheng-upms/zheng-upms-rpc-service/src/main/java/com/zheng/upms/rpc/service/impl/UpmsSystemServiceImpl.java
...om/zheng/upms/rpc/service/impl/UpmsSystemServiceImpl.java
+2
-0
zheng-upms/zheng-upms-rpc-service/src/main/java/com/zheng/upms/rpc/service/impl/UpmsUserServiceImpl.java
.../com/zheng/upms/rpc/service/impl/UpmsUserServiceImpl.java
+2
-0
zheng-upms/zheng-upms-rpc-service/src/main/resources/applicationContext-listener.xml
...ervice/src/main/resources/applicationContext-listener.xml
+0
-11
未找到文件。
zheng-cms/zheng-cms-rpc-service/src/main/java/com/zheng/cms/rpc/service/impl/CmsArticleServiceImpl.java
浏览文件 @
5d5b81e9
...
...
@@ -4,6 +4,7 @@ import com.zheng.cms.dao.mapper.CmsArticleMapper;
import
com.zheng.cms.dao.model.CmsArticle
;
import
com.zheng.cms.dao.model.CmsArticleExample
;
import
com.zheng.cms.rpc.api.CmsArticleService
;
import
com.zheng.common.annotation.BaseService
;
import
com.zheng.common.base.BaseServiceImpl
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
...
...
@@ -16,6 +17,7 @@ import org.springframework.transaction.annotation.Transactional;
*/
@Service
@Transactional
@BaseService
public
class
CmsArticleServiceImpl
extends
BaseServiceImpl
<
CmsArticleMapper
,
CmsArticle
,
CmsArticleExample
>
implements
CmsArticleService
{
private
static
Logger
_log
=
LoggerFactory
.
getLogger
(
CmsArticleServiceImpl
.
class
);
...
...
zheng-cms/zheng-cms-rpc-service/src/main/java/com/zheng/cms/rpc/service/impl/CmsCategoryServiceImpl.java
浏览文件 @
5d5b81e9
...
...
@@ -4,6 +4,7 @@ import com.zheng.cms.dao.mapper.CmsCategoryMapper;
import
com.zheng.cms.dao.model.CmsCategory
;
import
com.zheng.cms.dao.model.CmsCategoryExample
;
import
com.zheng.cms.rpc.api.CmsCategoryService
;
import
com.zheng.common.annotation.BaseService
;
import
com.zheng.common.base.BaseServiceImpl
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
...
...
@@ -16,6 +17,7 @@ import org.springframework.transaction.annotation.Transactional;
*/
@Service
@Transactional
@BaseService
public
class
CmsCategoryServiceImpl
extends
BaseServiceImpl
<
CmsCategoryMapper
,
CmsCategory
,
CmsCategoryExample
>
implements
CmsCategoryService
{
private
static
Logger
_log
=
LoggerFactory
.
getLogger
(
CmsCategoryServiceImpl
.
class
);
...
...
zheng-cms/zheng-cms-rpc-service/src/main/java/com/zheng/cms/rpc/service/impl/CmsCommentServiceImpl.java
浏览文件 @
5d5b81e9
...
...
@@ -4,6 +4,7 @@ import com.zheng.cms.dao.mapper.CmsCommentMapper;
import
com.zheng.cms.dao.model.CmsComment
;
import
com.zheng.cms.dao.model.CmsCommentExample
;
import
com.zheng.cms.rpc.api.CmsCommentService
;
import
com.zheng.common.annotation.BaseService
;
import
com.zheng.common.base.BaseServiceImpl
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
...
...
@@ -16,6 +17,7 @@ import org.springframework.transaction.annotation.Transactional;
*/
@Service
@Transactional
@BaseService
public
class
CmsCommentServiceImpl
extends
BaseServiceImpl
<
CmsCommentMapper
,
CmsComment
,
CmsCommentExample
>
implements
CmsCommentService
{
private
static
Logger
_log
=
LoggerFactory
.
getLogger
(
CmsCommentServiceImpl
.
class
);
...
...
zheng-cms/zheng-cms-rpc-service/src/main/java/com/zheng/cms/rpc/service/impl/CmsPageServiceImpl.java
浏览文件 @
5d5b81e9
...
...
@@ -4,6 +4,7 @@ import com.zheng.cms.dao.mapper.CmsPageMapper;
import
com.zheng.cms.dao.model.CmsPage
;
import
com.zheng.cms.dao.model.CmsPageExample
;
import
com.zheng.cms.rpc.api.CmsPageService
;
import
com.zheng.common.annotation.BaseService
;
import
com.zheng.common.base.BaseServiceImpl
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
...
...
@@ -16,6 +17,7 @@ import org.springframework.transaction.annotation.Transactional;
*/
@Service
@Transactional
@BaseService
public
class
CmsPageServiceImpl
extends
BaseServiceImpl
<
CmsPageMapper
,
CmsPage
,
CmsPageExample
>
implements
CmsPageService
{
private
static
Logger
_log
=
LoggerFactory
.
getLogger
(
CmsPageServiceImpl
.
class
);
...
...
zheng-cms/zheng-cms-rpc-service/src/main/java/com/zheng/cms/rpc/service/impl/CmsSettingServiceImpl.java
浏览文件 @
5d5b81e9
...
...
@@ -4,6 +4,7 @@ import com.zheng.cms.dao.mapper.CmsSettingMapper;
import
com.zheng.cms.dao.model.CmsSetting
;
import
com.zheng.cms.dao.model.CmsSettingExample
;
import
com.zheng.cms.rpc.api.CmsSettingService
;
import
com.zheng.common.annotation.BaseService
;
import
com.zheng.common.base.BaseServiceImpl
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
...
...
@@ -16,6 +17,7 @@ import org.springframework.transaction.annotation.Transactional;
*/
@Service
@Transactional
@BaseService
public
class
CmsSettingServiceImpl
extends
BaseServiceImpl
<
CmsSettingMapper
,
CmsSetting
,
CmsSettingExample
>
implements
CmsSettingService
{
private
static
Logger
_log
=
LoggerFactory
.
getLogger
(
CmsSettingServiceImpl
.
class
);
...
...
zheng-cms/zheng-cms-rpc-service/src/main/java/com/zheng/cms/rpc/service/impl/CmsTagServiceImpl.java
浏览文件 @
5d5b81e9
...
...
@@ -4,6 +4,7 @@ import com.zheng.cms.dao.mapper.CmsTagMapper;
import
com.zheng.cms.dao.model.CmsTag
;
import
com.zheng.cms.dao.model.CmsTagExample
;
import
com.zheng.cms.rpc.api.CmsTagService
;
import
com.zheng.common.annotation.BaseService
;
import
com.zheng.common.base.BaseServiceImpl
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
...
...
@@ -16,6 +17,7 @@ import org.springframework.transaction.annotation.Transactional;
*/
@Service
@Transactional
@BaseService
public
class
CmsTagServiceImpl
extends
BaseServiceImpl
<
CmsTagMapper
,
CmsTag
,
CmsTagExample
>
implements
CmsTagService
{
private
static
Logger
_log
=
LoggerFactory
.
getLogger
(
CmsTagServiceImpl
.
class
);
...
...
zheng-cms/zheng-cms-rpc-service/src/main/java/com/zheng/cms/rpc/service/impl/UserServiceImpl.java
浏览文件 @
5d5b81e9
...
...
@@ -6,6 +6,7 @@ import com.zheng.cms.dao.model.CmsUser;
import
com.zheng.cms.dao.model.CmsUserExample
;
import
com.zheng.cms.dao.model.UserVO
;
import
com.zheng.cms.rpc.api.UserService
;
import
com.zheng.common.annotation.BaseService
;
import
com.zheng.common.base.BaseServiceImpl
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
...
...
@@ -21,6 +22,7 @@ import org.springframework.transaction.annotation.Transactional;
*/
@Service
@Transactional
@BaseService
public
class
UserServiceImpl
extends
BaseServiceImpl
<
CmsUserMapper
,
CmsUser
,
CmsUserExample
>
implements
UserService
{
private
static
Logger
_log
=
LoggerFactory
.
getLogger
(
UserServiceImpl
.
class
);
...
...
zheng-cms/zheng-cms-rpc-service/src/main/java/com/zheng/cms/rpc/service/listener/ApplicationContextListener.java
已删除
100644 → 0
浏览文件 @
7a289a28
package
com.zheng.cms.rpc.service.listener
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.context.ApplicationListener
;
import
org.springframework.context.event.ContextRefreshedEvent
;
import
org.springframework.stereotype.Service
;
import
java.lang.reflect.Method
;
import
java.util.Map
;
/**
* spring容器初始化完成事件
* Created by shuzheng on 2017/1/7.
*/
public
class
ApplicationContextListener
implements
ApplicationListener
<
ContextRefreshedEvent
>
{
private
static
Logger
_log
=
LoggerFactory
.
getLogger
(
ApplicationContextListener
.
class
);
@Override
public
void
onApplicationEvent
(
ContextRefreshedEvent
contextRefreshedEvent
)
{
// root application context
if
(
null
==
contextRefreshedEvent
.
getApplicationContext
().
getParent
())
{
_log
.
info
(
">>>>> spring初始化完毕 <<<<<"
);
// spring初始化完毕后,通过反射调用所有service的initMapper方法
Map
<
String
,
Object
>
services
=
contextRefreshedEvent
.
getApplicationContext
().
getBeansWithAnnotation
(
Service
.
class
);
_log
.
info
(
"===== 开始初始化service的initMapper方法 ====="
);
for
(
Object
service
:
services
.
values
())
{
_log
.
info
(
">>>>> {}.initMapper()"
,
service
.
getClass
().
getName
());
try
{
Method
initMapper
=
service
.
getClass
().
getMethod
(
"initMapper"
);
initMapper
.
invoke
(
service
);
}
catch
(
Exception
e
)
{
_log
.
error
(
"初始化service的initMapper方法异常"
,
e
);
e
.
printStackTrace
();
}
}
_log
.
info
(
"===== 完成初始化service的initMapper方法 ====="
);
}
}
}
zheng-common/src/main/java/com/zheng/common/annotation/BaseService.java
0 → 100644
浏览文件 @
5d5b81e9
package
com.zheng.common.annotation
;
import
java.lang.annotation.*
;
/**
* 初始化继承BaseService的service
* Created by shuzheng on 2017/2/11.
*/
@Target
({
ElementType
.
TYPE
})
@Retention
(
RetentionPolicy
.
RUNTIME
)
@Documented
public
@interface
BaseService
{
}
zheng-common/src/main/java/com/zheng/common/base/BaseService.java
浏览文件 @
5d5b81e9
...
...
@@ -42,8 +42,6 @@ public interface BaseService<Record, Example> {
int
deleteByPrimaryKeys
(
String
ids
);
//void initMapper(Class clazz);
void
initMapper
();
}
\ No newline at end of file
zheng-common/src/main/java/com/zheng/common/base/BaseServiceImpl.java
浏览文件 @
5d5b81e9
...
...
@@ -240,11 +240,6 @@ public abstract class BaseServiceImpl<Mapper, Record, Example> implements BaseSe
return
0
;
}
// @Override
// public void initMapper(Class clazz) {
// this.mapper = (Mapper) SpringContextUtil.getBean(clazz);
// }
@Override
public
void
initMapper
()
{
this
.
mapper
=
SpringContextUtil
.
getBean
(
getMapperClass
());
...
...
zheng-
upms/zheng-upms-rpc-service/src/main/java/com/zheng/upms/rpc/service
/listener/ApplicationContextListener.java
→
zheng-
common/src/main/java/com/zheng/common
/listener/ApplicationContextListener.java
浏览文件 @
5d5b81e9
package
com.zheng.
upms.rpc.service
.listener
;
package
com.zheng.
common
.listener
;
import
com.zheng.common.annotation.BaseService
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.context.ApplicationListener
;
import
org.springframework.context.event.ContextRefreshedEvent
;
import
org.springframework.stereotype.Service
;
import
java.lang.reflect.Method
;
import
java.util.Map
;
...
...
@@ -23,8 +23,7 @@ public class ApplicationContextListener implements ApplicationListener<ContextRe
if
(
null
==
contextRefreshedEvent
.
getApplicationContext
().
getParent
())
{
_log
.
info
(
">>>>> spring初始化完毕 <<<<<"
);
// spring初始化完毕后,通过反射调用所有service的initMapper方法
Map
<
String
,
Object
>
services
=
contextRefreshedEvent
.
getApplicationContext
().
getBeansWithAnnotation
(
Service
.
class
);
_log
.
info
(
"===== 开始初始化service的initMapper方法 ====="
);
Map
<
String
,
Object
>
services
=
contextRefreshedEvent
.
getApplicationContext
().
getBeansWithAnnotation
(
BaseService
.
class
);
for
(
Object
service
:
services
.
values
())
{
_log
.
info
(
">>>>> {}.initMapper()"
,
service
.
getClass
().
getName
());
try
{
...
...
@@ -35,7 +34,6 @@ public class ApplicationContextListener implements ApplicationListener<ContextRe
e
.
printStackTrace
();
}
}
_log
.
info
(
"===== 完成初始化service的initMapper方法 ====="
);
}
}
...
...
zheng-c
ms/zheng-cms-rpc-service
/src/main/resources/applicationContext-listener.xml
→
zheng-c
ommon
/src/main/resources/applicationContext-listener.xml
浏览文件 @
5d5b81e9
...
...
@@ -6,6 +6,6 @@
http://www.springframework.org/schema/beans/spring-beans.xsd"
>
<!-- Spring容器初始化完成监听器 -->
<bean
class=
"com.zheng.c
ms.rpc.service
.listener.ApplicationContextListener"
></bean>
<bean
class=
"com.zheng.c
ommon
.listener.ApplicationContextListener"
></bean>
</beans>
\ No newline at end of file
zheng-upms/zheng-upms-rpc-service/src/main/java/com/zheng/upms/rpc/service/impl/UpmsOrganizationServiceImpl.java
浏览文件 @
5d5b81e9
package
com.zheng.upms.rpc.service.impl
;
import
com.zheng.common.annotation.BaseService
;
import
com.zheng.common.base.BaseServiceImpl
;
import
com.zheng.upms.dao.mapper.UpmsOrganizationMapper
;
import
com.zheng.upms.dao.model.UpmsOrganization
;
...
...
@@ -17,6 +18,7 @@ import org.springframework.transaction.annotation.Transactional;
*/
@Service
@Transactional
@BaseService
public
class
UpmsOrganizationServiceImpl
extends
BaseServiceImpl
<
UpmsOrganizationMapper
,
UpmsOrganization
,
UpmsOrganizationExample
>
implements
UpmsOrganizationService
{
private
static
Logger
_log
=
LoggerFactory
.
getLogger
(
UpmsOrganizationServiceImpl
.
class
);
...
...
zheng-upms/zheng-upms-rpc-service/src/main/java/com/zheng/upms/rpc/service/impl/UpmsPermissionServiceImpl.java
浏览文件 @
5d5b81e9
package
com.zheng.upms.rpc.service.impl
;
import
com.zheng.common.annotation.BaseService
;
import
com.zheng.common.base.BaseServiceImpl
;
import
com.zheng.upms.dao.mapper.UpmsPermissionMapper
;
import
com.zheng.upms.dao.model.UpmsPermission
;
...
...
@@ -17,6 +18,7 @@ import org.springframework.transaction.annotation.Transactional;
*/
@Service
@Transactional
@BaseService
public
class
UpmsPermissionServiceImpl
extends
BaseServiceImpl
<
UpmsPermissionMapper
,
UpmsPermission
,
UpmsPermissionExample
>
implements
UpmsPermissionService
{
private
static
Logger
_log
=
LoggerFactory
.
getLogger
(
UpmsPermissionServiceImpl
.
class
);
...
...
zheng-upms/zheng-upms-rpc-service/src/main/java/com/zheng/upms/rpc/service/impl/UpmsRoleServiceImpl.java
浏览文件 @
5d5b81e9
package
com.zheng.upms.rpc.service.impl
;
import
com.zheng.common.annotation.BaseService
;
import
com.zheng.common.base.BaseServiceImpl
;
import
com.zheng.upms.dao.mapper.UpmsRoleMapper
;
import
com.zheng.upms.dao.model.UpmsRole
;
...
...
@@ -17,6 +18,7 @@ import org.springframework.transaction.annotation.Transactional;
*/
@Service
@Transactional
@BaseService
public
class
UpmsRoleServiceImpl
extends
BaseServiceImpl
<
UpmsRoleMapper
,
UpmsRole
,
UpmsRoleExample
>
implements
UpmsRoleService
{
private
static
Logger
_log
=
LoggerFactory
.
getLogger
(
UpmsRoleServiceImpl
.
class
);
...
...
zheng-upms/zheng-upms-rpc-service/src/main/java/com/zheng/upms/rpc/service/impl/UpmsSystemServiceImpl.java
浏览文件 @
5d5b81e9
package
com.zheng.upms.rpc.service.impl
;
import
com.zheng.common.annotation.BaseService
;
import
com.zheng.common.base.BaseServiceImpl
;
import
com.zheng.upms.dao.mapper.UpmsSystemMapper
;
import
com.zheng.upms.dao.model.UpmsSystem
;
...
...
@@ -17,6 +18,7 @@ import org.springframework.transaction.annotation.Transactional;
*/
@Service
@Transactional
@BaseService
public
class
UpmsSystemServiceImpl
extends
BaseServiceImpl
<
UpmsSystemMapper
,
UpmsSystem
,
UpmsSystemExample
>
implements
UpmsSystemService
{
private
static
Logger
_log
=
LoggerFactory
.
getLogger
(
UpmsSystemServiceImpl
.
class
);
...
...
zheng-upms/zheng-upms-rpc-service/src/main/java/com/zheng/upms/rpc/service/impl/UpmsUserServiceImpl.java
浏览文件 @
5d5b81e9
package
com.zheng.upms.rpc.service.impl
;
import
com.zheng.common.annotation.BaseService
;
import
com.zheng.common.base.BaseServiceImpl
;
import
com.zheng.upms.dao.mapper.UpmsUserMapper
;
import
com.zheng.upms.dao.model.UpmsUser
;
...
...
@@ -17,6 +18,7 @@ import org.springframework.transaction.annotation.Transactional;
*/
@Service
@Transactional
@BaseService
public
class
UpmsUserServiceImpl
extends
BaseServiceImpl
<
UpmsUserMapper
,
UpmsUser
,
UpmsUserExample
>
implements
UpmsUserService
{
private
static
Logger
_log
=
LoggerFactory
.
getLogger
(
UpmsUserServiceImpl
.
class
);
...
...
zheng-upms/zheng-upms-rpc-service/src/main/resources/applicationContext-listener.xml
已删除
100644 → 0
浏览文件 @
7a289a28
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns=
"http://www.springframework.org/schema/beans"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd"
>
<!-- Spring容器初始化完成监听器 -->
<bean
class=
"com.zheng.upms.rpc.service.listener.ApplicationContextListener"
></bean>
</beans>
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录