Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
cms-ci-test
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
test-ci
cms-ci-test
Commits
78b03133
提交
78b03133
authored
7月 04, 2023
作者:
zhenjie
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
单位管理、账号绑定单位
上级
abba2882
隐藏空白字符变更
内嵌
并排
正在显示
12 个修改的文件
包含
153 行增加
和
15 行删除
+153
-15
BUserAccountVO.java
.../main/java/com/mmc/iuav/user/model/vo/BUserAccountVO.java
+2
-1
ResultEnum.java
...-util/src/main/java/com/mmc/iuav/response/ResultEnum.java
+2
-0
PmsClient.java
...ser/src/main/java/com/mmc/iuav/user/client/PmsClient.java
+38
-0
CompanyController.java
.../java/com/mmc/iuav/user/controller/CompanyController.java
+2
-2
CompanyDao.java
...-user/src/main/java/com/mmc/iuav/user/dao/CompanyDao.java
+20
-0
CompanyService.java
...c/main/java/com/mmc/iuav/user/service/CompanyService.java
+15
-2
BackUserAccountServiceImpl.java
...mc/iuav/user/service/impl/BackUserAccountServiceImpl.java
+19
-0
CompanyServiceImpl.java
...va/com/mmc/iuav/user/service/impl/CompanyServiceImpl.java
+28
-4
application-dev.yml
...e/cms-service-user/src/main/resources/application-dev.yml
+4
-2
application-local.yml
...cms-service-user/src/main/resources/application-local.yml
+4
-2
application-prod.yml
.../cms-service-user/src/main/resources/application-prod.yml
+4
-2
CompanyDao.xml
...cms-service-user/src/main/resources/mapper/CompanyDao.xml
+15
-0
没有找到文件。
cms-common/cms-common-model/src/main/java/com/mmc/iuav/user/model/vo/BUserAccountVO.java
浏览文件 @
78b03133
...
@@ -66,7 +66,8 @@ public class BUserAccountVO implements Serializable {
...
@@ -66,7 +66,8 @@ public class BUserAccountVO implements Serializable {
@Email
@Email
private
String
email
;
private
String
email
;
@ApiModelProperty
(
value
=
"所属公司ID"
,
example
=
"1"
,
hidden
=
true
)
@ApiModelProperty
(
value
=
"所属公司ID"
,
example
=
"0"
)
@NotNull
(
message
=
"所属公司不能为空"
,
groups
=
{
Create
.
class
})
private
Integer
companyId
;
private
Integer
companyId
;
@ApiModelProperty
(
value
=
"账号类型:0合伙人 1员工"
,
example
=
"1"
,
hidden
=
true
)
@ApiModelProperty
(
value
=
"账号类型:0合伙人 1员工"
,
example
=
"1"
,
hidden
=
true
)
...
...
cms-common/cms-common-util/src/main/java/com/mmc/iuav/response/ResultEnum.java
浏览文件 @
78b03133
...
@@ -19,6 +19,8 @@ public enum ResultEnum implements BaseErrorInfoInterface{
...
@@ -19,6 +19,8 @@ public enum ResultEnum implements BaseErrorInfoInterface{
LOGIN_ACCOUNT_NOT_EXIT_ERROR
(
"5005"
,
"账号不存在"
),
LOGIN_ACCOUNT_NOT_EXIT_ERROR
(
"5005"
,
"账号不存在"
),
LOGIN_PASSWORD_ERROR
(
"5006"
,
"密码错误"
),
LOGIN_PASSWORD_ERROR
(
"5006"
,
"密码错误"
),
LOGIN_ACCOUNT_STATUS_ERROR
(
"5008"
,
"未登录"
),
LOGIN_ACCOUNT_STATUS_ERROR
(
"5008"
,
"未登录"
),
REMOVE_COMPANY_BINDING_ERROR
(
"5009"
,
"删除失败,该单位存在绑定的账号"
),
REMOVE_COMPANY_TASK_ERROR
(
"5010"
,
"删除失败,该单位存在绑定的服务"
),
//微信相关
//微信相关
PASSWORD_INCONSISTENT
(
"5026"
,
"新密码与确认密码不一致,请确认一致"
),
PASSWORD_INCONSISTENT
(
"5026"
,
"新密码与确认密码不一致,请确认一致"
),
...
...
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/client/PmsClient.java
0 → 100644
浏览文件 @
78b03133
package
com
.
mmc
.
iuav
.
user
.
client
;
import
com.mmc.iuav.response.ResultBody
;
import
com.mmc.iuav.response.ResultEnum
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.http.HttpEntity
;
import
org.springframework.http.HttpHeaders
;
import
org.springframework.http.HttpMethod
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.client.RestTemplate
;
/**
* @author: zj
* @Date: 2023/7/4 13:46
*/
@Component
public
class
PmsClient
{
@Value
(
"${iuav.pms.uri}"
)
private
String
pmsAppUri
;
@Autowired
private
RestTemplate
restTemplate
;
public
Integer
countCompanyTasks
(
Integer
id
,
String
token
)
{
HttpHeaders
headers
=
new
HttpHeaders
();
headers
.
add
(
"token"
,
token
);
HttpEntity
<
String
>
entity
=
new
HttpEntity
<>(
null
,
headers
);
ResponseEntity
<
ResultBody
>
responseEntity
=
restTemplate
.
exchange
(
pmsAppUri
+
"/pms/backstage/work/queryWorkServiceCount"
+
"?id="
+
id
,
HttpMethod
.
GET
,
entity
,
ResultBody
.
class
);
ResultBody
body
=
responseEntity
.
getBody
();
if
(
body
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
())){
Integer
count
=
(
Integer
)
body
.
getResult
();
return
count
;
}
return
null
;
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/controller/CompanyController.java
浏览文件 @
78b03133
...
@@ -32,8 +32,8 @@ public class CompanyController extends BaseController{
...
@@ -32,8 +32,8 @@ public class CompanyController extends BaseController{
@ApiOperation
(
value
=
"移除"
)
@ApiOperation
(
value
=
"移除"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)
})
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)
})
@GetMapping
(
"remove"
)
@GetMapping
(
"remove"
)
public
ResultBody
remove
(
@RequestParam
Integer
id
){
public
ResultBody
remove
(
@RequestParam
Integer
id
,
@RequestHeader
String
token
){
return
companyService
.
removeCompanyInfo
(
id
);
return
companyService
.
removeCompanyInfo
(
id
,
token
);
}
}
@ApiOperation
(
value
=
"修改"
)
@ApiOperation
(
value
=
"修改"
)
...
...
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/dao/CompanyDao.java
浏览文件 @
78b03133
package
com
.
mmc
.
iuav
.
user
.
dao
;
package
com
.
mmc
.
iuav
.
user
.
dao
;
import
com.mmc.iuav.user.entity.CompanyBackUserDO
;
import
com.mmc.iuav.user.entity.CompanyInfoDO
;
import
com.mmc.iuav.user.entity.CompanyInfoDO
;
import
com.mmc.iuav.user.model.qo.CompanyInfoQO
;
import
com.mmc.iuav.user.model.qo.CompanyInfoQO
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Mapper
;
...
@@ -57,4 +58,23 @@ public interface CompanyDao {
...
@@ -57,4 +58,23 @@ public interface CompanyDao {
* @return
* @return
*/
*/
CompanyInfoDO
getCompanyInfoByBackUserAccountId
(
Integer
backUserAccountId
);
CompanyInfoDO
getCompanyInfoByBackUserAccountId
(
Integer
backUserAccountId
);
/**
* 添加绑定关系
* @param companyBackUserDO
*/
void
addCompanyBackUser
(
CompanyBackUserDO
companyBackUserDO
);
/**
* 修改绑定关系
* @param companyBackUserDO
*/
void
updateCompanyBackUser
(
CompanyBackUserDO
companyBackUserDO
);
/**
* 查询单位绑定的账号数量
* @param id
* @return
*/
int
countCompanyBackUser
(
Integer
id
);
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/CompanyService.java
浏览文件 @
78b03133
package
com
.
mmc
.
iuav
.
user
.
service
;
package
com
.
mmc
.
iuav
.
user
.
service
;
import
com.mmc.iuav.response.ResultBody
;
import
com.mmc.iuav.response.ResultBody
;
import
com.mmc.iuav.user.entity.Company
Info
DO
;
import
com.mmc.iuav.user.entity.Company
BackUser
DO
;
import
com.mmc.iuav.user.model.qo.CompanyInfoQO
;
import
com.mmc.iuav.user.model.qo.CompanyInfoQO
;
import
com.mmc.iuav.user.model.vo.CompanyInfoVO
;
import
com.mmc.iuav.user.model.vo.CompanyInfoVO
;
...
@@ -20,9 +20,10 @@ public interface CompanyService {
...
@@ -20,9 +20,10 @@ public interface CompanyService {
/**
/**
* 移除
* 移除
* @param id
* @param id
* @param token
* @return
* @return
*/
*/
ResultBody
removeCompanyInfo
(
Integer
id
);
ResultBody
removeCompanyInfo
(
Integer
id
,
String
token
);
/**
/**
* 修改
* 修改
...
@@ -51,4 +52,16 @@ public interface CompanyService {
...
@@ -51,4 +52,16 @@ public interface CompanyService {
* @return
* @return
*/
*/
CompanyInfoVO
getCompanyInfoByBackUserAccountId
(
Integer
backUserAccountId
);
CompanyInfoVO
getCompanyInfoByBackUserAccountId
(
Integer
backUserAccountId
);
/**
* 添加绑定关系
* @param companyBackUserDO
*/
void
addCompanyBackUser
(
CompanyBackUserDO
companyBackUserDO
);
/**
* 修改绑定关系
* @param companyBackUserDO
*/
void
updateCompanyBackUser
(
CompanyBackUserDO
companyBackUserDO
);
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/impl/BackUserAccountServiceImpl.java
浏览文件 @
78b03133
...
@@ -7,10 +7,12 @@ import com.mmc.iuav.response.ResultEnum;
...
@@ -7,10 +7,12 @@ import com.mmc.iuav.response.ResultEnum;
import
com.mmc.iuav.user.auth.PwdUtil
;
import
com.mmc.iuav.user.auth.PwdUtil
;
import
com.mmc.iuav.user.dao.BackUserAccountDao
;
import
com.mmc.iuav.user.dao.BackUserAccountDao
;
import
com.mmc.iuav.user.entity.BackUserAccountDO
;
import
com.mmc.iuav.user.entity.BackUserAccountDO
;
import
com.mmc.iuav.user.entity.CompanyBackUserDO
;
import
com.mmc.iuav.user.model.qo.BUserAccountQO
;
import
com.mmc.iuav.user.model.qo.BUserAccountQO
;
import
com.mmc.iuav.user.model.vo.BUserAccountVO
;
import
com.mmc.iuav.user.model.vo.BUserAccountVO
;
import
com.mmc.iuav.user.model.vo.BackUserAccountVO
;
import
com.mmc.iuav.user.model.vo.BackUserAccountVO
;
import
com.mmc.iuav.user.service.BackUserAccountService
;
import
com.mmc.iuav.user.service.BackUserAccountService
;
import
com.mmc.iuav.user.service.CompanyService
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
...
@@ -28,6 +30,9 @@ public class BackUserAccountServiceImpl implements BackUserAccountService {
...
@@ -28,6 +30,9 @@ public class BackUserAccountServiceImpl implements BackUserAccountService {
@Autowired
@Autowired
private
BackUserAccountDao
backUserAccountDao
;
private
BackUserAccountDao
backUserAccountDao
;
@Autowired
private
CompanyService
companyService
;
@Override
@Override
public
ResultBody
insertBAccount
(
BUserAccountVO
bUserAccountVO
)
{
public
ResultBody
insertBAccount
(
BUserAccountVO
bUserAccountVO
)
{
if
(!
bUserAccountVO
.
getPassWord
().
equals
(
bUserAccountVO
.
getAlertPwd
()))
{
if
(!
bUserAccountVO
.
getPassWord
().
equals
(
bUserAccountVO
.
getAlertPwd
()))
{
...
@@ -46,6 +51,13 @@ public class BackUserAccountServiceImpl implements BackUserAccountService {
...
@@ -46,6 +51,13 @@ public class BackUserAccountServiceImpl implements BackUserAccountService {
return
ResultBody
.
error
(
ResultEnum
.
PWD_CREATE_ERROR
);
return
ResultBody
.
error
(
ResultEnum
.
PWD_CREATE_ERROR
);
}
}
backUserAccountDao
.
insertBackUserAccount
(
backUserAccountDO
);
backUserAccountDao
.
insertBackUserAccount
(
backUserAccountDO
);
// 添加单位信息
if
(
bUserAccountVO
.
getCompanyId
()
!=
null
){
CompanyBackUserDO
companyBackUserDO
=
new
CompanyBackUserDO
();
companyBackUserDO
.
setBackUserAccountId
(
backUserAccountDO
.
getId
());
companyBackUserDO
.
setCompanyInfoId
(
bUserAccountVO
.
getCompanyId
());
companyService
.
addCompanyBackUser
(
companyBackUserDO
);
}
return
ResultBody
.
success
();
return
ResultBody
.
success
();
}
}
...
@@ -61,6 +73,13 @@ public class BackUserAccountServiceImpl implements BackUserAccountService {
...
@@ -61,6 +73,13 @@ public class BackUserAccountServiceImpl implements BackUserAccountService {
}
}
BackUserAccountDO
userAccountDO
=
new
BackUserAccountDO
(
bUserAccountVO
);
BackUserAccountDO
userAccountDO
=
new
BackUserAccountDO
(
bUserAccountVO
);
backUserAccountDao
.
updateBackUserAccount
(
userAccountDO
);
backUserAccountDao
.
updateBackUserAccount
(
userAccountDO
);
// 修改单位信息
if
(
bUserAccountVO
.
getCompanyId
()
!=
null
){
CompanyBackUserDO
companyBackUserDO
=
new
CompanyBackUserDO
();
companyBackUserDO
.
setBackUserAccountId
(
userAccountDO
.
getId
());
companyBackUserDO
.
setCompanyInfoId
(
bUserAccountVO
.
getCompanyId
());
companyService
.
updateCompanyBackUser
(
companyBackUserDO
);
}
return
ResultBody
.
success
();
return
ResultBody
.
success
();
}
}
...
...
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/impl/CompanyServiceImpl.java
浏览文件 @
78b03133
...
@@ -2,9 +2,10 @@ package com.mmc.iuav.user.service.impl;
...
@@ -2,9 +2,10 @@ package com.mmc.iuav.user.service.impl;
import
com.mmc.iuav.page.PageResult
;
import
com.mmc.iuav.page.PageResult
;
import
com.mmc.iuav.response.ResultBody
;
import
com.mmc.iuav.response.ResultBody
;
import
com.mmc.iuav.user.dao.CompanyAuthDao
;
import
com.mmc.iuav.response.ResultEnum
;
import
com.mmc.iuav.user.client.PmsClient
;
import
com.mmc.iuav.user.dao.CompanyDao
;
import
com.mmc.iuav.user.dao.CompanyDao
;
import
com.mmc.iuav.user.entity.Company
Auth
DO
;
import
com.mmc.iuav.user.entity.Company
BackUser
DO
;
import
com.mmc.iuav.user.entity.CompanyInfoDO
;
import
com.mmc.iuav.user.entity.CompanyInfoDO
;
import
com.mmc.iuav.user.model.qo.CompanyInfoQO
;
import
com.mmc.iuav.user.model.qo.CompanyInfoQO
;
import
com.mmc.iuav.user.model.vo.CompanyInfoVO
;
import
com.mmc.iuav.user.model.vo.CompanyInfoVO
;
...
@@ -25,6 +26,9 @@ public class CompanyServiceImpl implements CompanyService {
...
@@ -25,6 +26,9 @@ public class CompanyServiceImpl implements CompanyService {
@Autowired
@Autowired
private
CompanyDao
companyDao
;
private
CompanyDao
companyDao
;
@Autowired
private
PmsClient
pmsClient
;
@Override
@Override
public
ResultBody
addCompanyInfo
(
CompanyInfoVO
companyInfo
)
{
public
ResultBody
addCompanyInfo
(
CompanyInfoVO
companyInfo
)
{
CompanyInfoDO
companyInfoDO
=
new
CompanyInfoDO
(
companyInfo
);
CompanyInfoDO
companyInfoDO
=
new
CompanyInfoDO
(
companyInfo
);
...
@@ -33,7 +37,17 @@ public class CompanyServiceImpl implements CompanyService {
...
@@ -33,7 +37,17 @@ public class CompanyServiceImpl implements CompanyService {
}
}
@Override
@Override
public
ResultBody
removeCompanyInfo
(
Integer
id
)
{
public
ResultBody
removeCompanyInfo
(
Integer
id
,
String
token
)
{
// 查询绑定账号数量是否大于0
int
backAccountCount
=
companyDao
.
countCompanyBackUser
(
id
);
if
(
backAccountCount
>
0
){
return
ResultBody
.
error
(
ResultEnum
.
APPLET_LOGIN_ERROR
);
}
// 查询绑定服务数量是否大于0
Integer
taskCount
=
pmsClient
.
countCompanyTasks
(
id
,
token
);
if
(
taskCount
==
null
||
taskCount
>
0
){
return
ResultBody
.
error
(
ResultEnum
.
REMOVE_COMPANY_TASK_ERROR
);
}
companyDao
.
removeCompanyInfo
(
id
);
companyDao
.
removeCompanyInfo
(
id
);
return
ResultBody
.
success
();
return
ResultBody
.
success
();
}
}
...
@@ -51,7 +65,7 @@ public class CompanyServiceImpl implements CompanyService {
...
@@ -51,7 +65,7 @@ public class CompanyServiceImpl implements CompanyService {
if
(
companyInfoDO
!=
null
){
if
(
companyInfoDO
!=
null
){
return
ResultBody
.
success
(
companyInfoDO
.
buildCompanyInfoVO
());
return
ResultBody
.
success
(
companyInfoDO
.
buildCompanyInfoVO
());
}
}
return
null
;
return
ResultBody
.
success
()
;
}
}
@Override
@Override
...
@@ -75,4 +89,14 @@ public class CompanyServiceImpl implements CompanyService {
...
@@ -75,4 +89,14 @@ public class CompanyServiceImpl implements CompanyService {
}
}
return
null
;
return
null
;
}
}
@Override
public
void
addCompanyBackUser
(
CompanyBackUserDO
companyBackUserDO
)
{
companyDao
.
addCompanyBackUser
(
companyBackUserDO
);
}
@Override
public
void
updateCompanyBackUser
(
CompanyBackUserDO
companyBackUserDO
)
{
companyDao
.
updateCompanyBackUser
(
companyBackUserDO
);
}
}
}
csm-service/cms-service-user/src/main/resources/application-dev.yml
浏览文件 @
78b03133
...
@@ -70,4 +70,6 @@ third-party:
...
@@ -70,4 +70,6 @@ third-party:
iuav
:
iuav
:
pay
:
pay
:
uri
:
http://payment-svc:8088
uri
:
http://payment-svc:8088
\ No newline at end of file
pms
:
uri
:
http://pms-svc:8099
\ No newline at end of file
csm-service/cms-service-user/src/main/resources/application-local.yml
浏览文件 @
78b03133
...
@@ -41,4 +41,6 @@ third-party:
...
@@ -41,4 +41,6 @@ third-party:
iuav
:
iuav
:
pay
:
pay
:
uri
:
http://127.0.0.1:8088
uri
:
http://127.0.0.1:8088
\ No newline at end of file
pms
:
uri
:
http://127.0.0.1:8099
\ No newline at end of file
csm-service/cms-service-user/src/main/resources/application-prod.yml
浏览文件 @
78b03133
...
@@ -70,4 +70,6 @@ third-party:
...
@@ -70,4 +70,6 @@ third-party:
iuav
:
iuav
:
pay
:
pay
:
uri
:
http://payment-svc:8088
uri
:
http://payment-svc:8088
\ No newline at end of file
pms
:
uri
:
http://pms-svc:8099
\ No newline at end of file
csm-service/cms-service-user/src/main/resources/mapper/CompanyDao.xml
浏览文件 @
78b03133
...
@@ -9,6 +9,11 @@
...
@@ -9,6 +9,11 @@
values (#{companyType}, #{companyName}, #{fullName}, #{province}, #{city}, #{district}, #{address}, #{companyUserName}, #{phoneNum}, #{remark}, NOW())
values (#{companyType}, #{companyName}, #{fullName}, #{province}, #{city}, #{district}, #{address}, #{companyUserName}, #{phoneNum}, #{remark}, NOW())
</insert>
</insert>
<insert
id=
"addCompanyBackUser"
parameterType=
"com.mmc.iuav.user.entity.CompanyBackUserDO"
keyProperty=
"id"
useGeneratedKeys=
"true"
>
insert into company_back_user(back_user_account_id, company_info_id, create_time)
values (#{backUserAccountId}, #{companyInfoId}, NOW())
</insert>
<update
id=
"removeCompanyInfo"
>
<update
id=
"removeCompanyInfo"
>
update company_info set is_deleted = 1 where id = #{id}
update company_info set is_deleted = 1 where id = #{id}
</update>
</update>
...
@@ -50,6 +55,10 @@
...
@@ -50,6 +55,10 @@
id = #{id}
id = #{id}
</update>
</update>
<update
id=
"updateCompanyBackUser"
>
update company_back_user set company_info_id = #{companyInfoId} where back_user_account_id = #{backUserAccountId}
</update>
<select
id=
"getCompanyInfoById"
resultType=
"com.mmc.iuav.user.entity.CompanyInfoDO"
>
<select
id=
"getCompanyInfoById"
resultType=
"com.mmc.iuav.user.entity.CompanyInfoDO"
>
select id, company_type, company_name, full_name, province, city, district, address, company_user_name, phone_num, remark, create_time
select id, company_type, company_name, full_name, province, city, district, address, company_user_name, phone_num, remark, create_time
from company_info
from company_info
...
@@ -81,4 +90,9 @@
...
@@ -81,4 +90,9 @@
FROM company_info ci INNER JOIN company_back_user cbu ON ci.id = cbu.company_info_id
FROM company_info ci INNER JOIN company_back_user cbu ON ci.id = cbu.company_info_id
WHERE cbu.back_user_account_id = #{backUserAccountId} and ci.is_deleted = 0
WHERE cbu.back_user_account_id = #{backUserAccountId} and ci.is_deleted = 0
</select>
</select>
<select
id=
"countCompanyBackUser"
resultType=
"java.lang.Integer"
>
select count(*) from company_info ci INNER JOIN company_back_user cbu ON ci.id = cbu.company_info_id
where ci.id = #{id} and ci.is_deleted = 0
</select>
</mapper>
</mapper>
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论