Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
J
jyzb_platformV2
概览
Overview
Details
Activity
Cycle Analytics
版本库
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
问题
0
Issues
0
列表
Board
标记
里程碑
合并请求
0
Merge Requests
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
Snippets
成员
Members
Collapse sidebar
Close sidebar
活动
图像
聊天
创建新问题
作业
提交
Issue Boards
Open sidebar
赵剑炜
jyzb_platformV2
Commits
a4a66b23
Commit
a4a66b23
authored
Sep 26, 2023
by
李小惠
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改条件查询
parent
0f86cf06
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
12 个修改的文件
包含
145 行增加
和
111 行删除
+145
-111
.gitignore
.gitignore
+3
-0
compiler.xml
.idea/compiler.xml
+1
-1
OrderDetailDto.java
jyzb-api/src/main/java/com/junmp/jyzb/api/bean/dto/OrderDetailDto.java
+2
-0
DetailListReq.java
jyzb-api/src/main/java/com/junmp/jyzb/api/bean/req/DetailListReq.java
+2
-0
UpdateOrderReq.java
jyzb-api/src/main/java/com/junmp/jyzb/api/bean/req/UpdateOrderReq.java
+1
-1
UpdatePolicemanReq.java
jyzb-api/src/main/java/com/junmp/jyzb/api/bean/req/UpdatePolicemanReq.java
+14
-6
pom.xml
jyzb-biz/pom.xml
+6
-0
PoliceController.java
jyzb-biz/src/main/java/com/junmp/jyzb/controller/PoliceController.java
+1
-1
OrderDetail.java
jyzb-biz/src/main/java/com/junmp/jyzb/entity/OrderDetail.java
+4
-0
Policeman.java
jyzb-biz/src/main/java/com/junmp/jyzb/entity/Policeman.java
+15
-10
OrderMainServiceImpl.java
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/OrderMainServiceImpl.java
+36
-9
PolicemanServiceImpl.java
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/PolicemanServiceImpl.java
+60
-83
没有找到文件。
.gitignore
View file @
a4a66b23
...
@@ -109,3 +109,6 @@ Thumbs.db
...
@@ -109,3 +109,6 @@ Thumbs.db
/jyzb-boot/src/main/resources/application-local.yml
/jyzb-boot/src/main/resources/application-local.yml
/pom.xml
/pom.xml
/pom.xml
/pom.xml
/jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/OrderMainServiceImpl.java.orig
/jyzb-biz/pom.xml
/.idea/compiler.xml
.idea/compiler.xml
View file @
a4a66b23
...
@@ -9,9 +9,9 @@
...
@@ -9,9 +9,9 @@
<outputRelativeToContentRoot
value=
"true"
/>
<outputRelativeToContentRoot
value=
"true"
/>
<module
name=
"jyzb-common"
/>
<module
name=
"jyzb-common"
/>
<module
name=
"jyzb-process"
/>
<module
name=
"jyzb-process"
/>
<module
name=
"jyzb-api"
/>
<module
name=
"jyzb-biz"
/>
<module
name=
"jyzb-biz"
/>
<module
name=
"jyzb-boot"
/>
<module
name=
"jyzb-boot"
/>
<module
name=
"jyzb-api"
/>
</profile>
</profile>
</annotationProcessing>
</annotationProcessing>
<bytecodeTargetLevel
target=
"9"
>
<bytecodeTargetLevel
target=
"9"
>
...
...
jyzb-api/src/main/java/com/junmp/jyzb/api/bean/dto/OrderDetailDto.java
View file @
a4a66b23
...
@@ -25,6 +25,8 @@ public class OrderDetailDto implements Serializable {
...
@@ -25,6 +25,8 @@ public class OrderDetailDto implements Serializable {
private
String
supplierName
;
private
String
supplierName
;
private
String
warehouseId
;
/**
/**
* 计划数量
* 计划数量
*/
*/
...
...
jyzb-api/src/main/java/com/junmp/jyzb/api/bean/req/DetailListReq.java
View file @
a4a66b23
...
@@ -38,4 +38,6 @@ public class DetailListReq implements Serializable {
...
@@ -38,4 +38,6 @@ public class DetailListReq implements Serializable {
private
BigDecimal
price
;
private
BigDecimal
price
;
private
String
warehouseId
;
}
}
jyzb-api/src/main/java/com/junmp/jyzb/api/bean/req/UpdateOrderReq.java
View file @
a4a66b23
...
@@ -44,7 +44,7 @@ public class UpdateOrderReq extends BaseRequest implements Serializable {
...
@@ -44,7 +44,7 @@ public class UpdateOrderReq extends BaseRequest implements Serializable {
/**
/**
* 发物单位
* 发物单位
*/
*/
@IsNumber
(
message
=
"startOrgId必须是数字"
,
groups
=
{
add
.
class
})
//
@IsNumber(message = "startOrgId必须是数字",groups = {add.class})
private
String
startOrgId
;
private
String
startOrgId
;
/**
/**
* 发物单位名称
* 发物单位名称
...
...
jyzb-api/src/main/java/com/junmp/jyzb/api/bean/req/UpdatePolicemanReq.java
View file @
a4a66b23
...
@@ -7,6 +7,7 @@ import lombok.EqualsAndHashCode;
...
@@ -7,6 +7,7 @@ import lombok.EqualsAndHashCode;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
javax.validation.constraints.NotNull
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
@Data
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@EqualsAndHashCode
(
callSuper
=
true
)
...
@@ -28,24 +29,23 @@ public class UpdatePolicemanReq extends BaseRequest {
...
@@ -28,24 +29,23 @@ public class UpdatePolicemanReq extends BaseRequest {
@NotBlank
(
message
=
"警员编号不能为空"
,
groups
=
{
add
.
class
,
edit
.
class
})
@NotBlank
(
message
=
"警员编号不能为空"
,
groups
=
{
add
.
class
,
edit
.
class
})
private
String
policeCode
;
private
String
policeCode
;
@NotBlank
(
message
=
"性别不能为空"
,
groups
=
{
add
.
class
,
edit
.
class
})
private
String
sex
;
@NotBlank
(
message
=
"人脸信息不能为空"
,
groups
=
{
detail
.
class
})
@NotBlank
(
message
=
"人脸信息不能为空"
,
groups
=
{
detail
.
class
})
private
String
faceInfo
;
private
String
faceInfo
;
//是否同步生成账号 1已生成,0未生成
private
Integer
isCreatedAccount
;
private
String
doorCode
;
private
String
doorCode
;
private
String
account
;
private
String
password
;
private
String
password
;
private
String
photo
;
private
String
photo
;
@NotBlank
(
message
=
"电话不能为空"
,
groups
=
{
add
.
class
,
edit
.
class
})
private
String
phone
;
private
String
phone
;
private
String
tel
;
private
Date
createTime
;
private
Date
createTime
;
private
Date
updateTime
;
private
Date
updateTime
;
...
@@ -58,7 +58,14 @@ public class UpdatePolicemanReq extends BaseRequest {
...
@@ -58,7 +58,14 @@ public class UpdatePolicemanReq extends BaseRequest {
@NotNull
(
message
=
"状态不能为空"
,
groups
=
{
updateStatus
.
class
})
@NotNull
(
message
=
"状态不能为空"
,
groups
=
{
updateStatus
.
class
})
private
Integer
state
;
private
Integer
state
;
private
String
fileContent
;
/**
* 0警员,1辅警
*/
private
Integer
identity
;
/**
* 角色id列表
*/
private
List
<
Long
>
rolesList
;
private
static
final
long
serialVersionUID
=
1L
;
private
static
final
long
serialVersionUID
=
1L
;
}
}
\ No newline at end of file
jyzb-biz/pom.xml
View file @
a4a66b23
...
@@ -122,5 +122,11 @@
...
@@ -122,5 +122,11 @@
<groupId>
com.junmp.jyzb
</groupId>
<groupId>
com.junmp.jyzb
</groupId>
<artifactId>
jyzb-process
</artifactId>
<artifactId>
jyzb-process
</artifactId>
</dependency>
</dependency>
<dependency>
<groupId>
com.baomidou
</groupId>
<artifactId>
mybatis-plus-core
</artifactId>
<version>
3.5.2
</version>
<scope>
compile
</scope>
</dependency>
</dependencies>
</dependencies>
</project>
</project>
jyzb-biz/src/main/java/com/junmp/jyzb/controller/PoliceController.java
View file @
a4a66b23
...
@@ -203,7 +203,7 @@ public class PoliceController {
...
@@ -203,7 +203,7 @@ public class PoliceController {
}
}
//将警员和user一一对应并且关系表也一一对应
//将警员和user一一对应并且关系表也一一对应
@PostMapping
(
"UpdatePoliceUser"
)
@PostMapping
(
"
/
UpdatePoliceUser"
)
@ApiOperation
(
"将警员关系一一对应"
)
@ApiOperation
(
"将警员关系一一对应"
)
public
ApiRes
<
Boolean
>
UpdatePoliceUser
(){
public
ApiRes
<
Boolean
>
UpdatePoliceUser
(){
return
ApiRes
.
success
(
policemanService
.
UpdatePoliceUser
());
return
ApiRes
.
success
(
policemanService
.
UpdatePoliceUser
());
...
...
jyzb-biz/src/main/java/com/junmp/jyzb/entity/OrderDetail.java
View file @
a4a66b23
...
@@ -43,6 +43,9 @@ import java.util.Date;
...
@@ -43,6 +43,9 @@ import java.util.Date;
@TableField
(
"equipment_supplier_name"
)
@TableField
(
"equipment_supplier_name"
)
private
String
supplierName
;
private
String
supplierName
;
@TableField
(
"warehouse_id"
)
private
String
warehouseId
;
@TableField
(
"plan_num"
)
@TableField
(
"plan_num"
)
private
Integer
planNum
;
private
Integer
planNum
;
...
@@ -73,4 +76,5 @@ import java.util.Date;
...
@@ -73,4 +76,5 @@ import java.util.Date;
private
String
updateUser
;
private
String
updateUser
;
}
}
jyzb-biz/src/main/java/com/junmp/jyzb/entity/Policeman.java
View file @
a4a66b23
...
@@ -2,6 +2,7 @@ package com.junmp.jyzb.entity;
...
@@ -2,6 +2,7 @@ package com.junmp.jyzb.entity;
import
com.baomidou.mybatisplus.annotation.*
;
import
com.baomidou.mybatisplus.annotation.*
;
import
com.junmp.jyzb.entity.Cabinet
;
import
com.junmp.jyzb.entity.Cabinet
;
import
com.junmp.v2.sys.user.entity.SysUser
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
java.io.Serializable
;
import
java.io.Serializable
;
...
@@ -38,15 +39,9 @@ public class Policeman implements Serializable {
...
@@ -38,15 +39,9 @@ public class Policeman implements Serializable {
@TableField
(
value
=
"police_code"
)
@TableField
(
value
=
"police_code"
)
private
String
policeCode
;
private
String
policeCode
;
@TableField
(
value
=
"sex"
)
private
String
sex
;
@TableField
(
value
=
"face_info"
,
updateStrategy
=
FieldStrategy
.
IGNORED
)
@TableField
(
value
=
"face_info"
,
updateStrategy
=
FieldStrategy
.
IGNORED
)
private
String
faceInfo
;
private
String
faceInfo
;
@TableField
(
value
=
"isCreatedAccount"
)
private
Integer
isCreatedAccount
;
@TableField
(
value
=
"door_code"
)
@TableField
(
value
=
"door_code"
)
private
String
doorCode
;
private
String
doorCode
;
...
@@ -59,6 +54,12 @@ public class Policeman implements Serializable {
...
@@ -59,6 +54,12 @@ public class Policeman implements Serializable {
@TableField
(
value
=
"phone"
,
updateStrategy
=
FieldStrategy
.
IGNORED
)
@TableField
(
value
=
"phone"
,
updateStrategy
=
FieldStrategy
.
IGNORED
)
private
String
phone
;
private
String
phone
;
@TableField
(
value
=
"tel"
,
updateStrategy
=
FieldStrategy
.
IGNORED
)
private
String
tel
;
// private SysUser uesrList;
@TableField
(
fill
=
FieldFill
.
INSERT
,
value
=
"create_time"
)
@TableField
(
fill
=
FieldFill
.
INSERT
,
value
=
"create_time"
)
private
Date
createTime
;
private
Date
createTime
;
...
@@ -68,8 +69,8 @@ public class Policeman implements Serializable {
...
@@ -68,8 +69,8 @@ public class Policeman implements Serializable {
@TableField
(
value
=
"id_card"
)
@TableField
(
value
=
"id_card"
)
private
String
idCard
;
private
String
idCard
;
@TableField
(
value
=
"update_user"
)
//
@TableField(value = "update_user")
private
String
updateUser
;
//
private String updateUser;
@TableField
(
value
=
"state"
)
@TableField
(
value
=
"state"
)
private
Integer
state
;
private
Integer
state
;
...
@@ -77,8 +78,11 @@ public class Policeman implements Serializable {
...
@@ -77,8 +78,11 @@ public class Policeman implements Serializable {
@TableField
(
value
=
"user_id"
,
updateStrategy
=
FieldStrategy
.
IGNORED
)
@TableField
(
value
=
"user_id"
,
updateStrategy
=
FieldStrategy
.
IGNORED
)
private
Long
UserId
;
private
Long
UserId
;
@TableField
(
value
=
"file_content"
)
/**
private
String
fileContent
;
* 0表示警员,1表示辅警
*/
@TableField
(
value
=
"identity"
)
private
Integer
identity
;
private
static
final
long
serialVersionUID
=
1L
;
private
static
final
long
serialVersionUID
=
1L
;
}
}
\ No newline at end of file
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/OrderMainServiceImpl.java
View file @
a4a66b23
...
@@ -3,6 +3,7 @@ package com.junmp.jyzb.service.impl;
...
@@ -3,6 +3,7 @@ package com.junmp.jyzb.service.impl;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.OrderItem
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.junmp.junmpProcess.dto.StartProcessInstanceDTO
;
import
com.junmp.junmpProcess.dto.StartProcessInstanceDTO
;
...
@@ -33,6 +34,7 @@ import com.junmp.v2.dict.entity.SysDictItem;
...
@@ -33,6 +34,7 @@ import com.junmp.v2.dict.entity.SysDictItem;
import
com.junmp.v2.dict.service.SysDictItemService
;
import
com.junmp.v2.dict.service.SysDictItemService
;
import
com.junmp.v2.office.api.OfficeExcelApi
;
import
com.junmp.v2.office.api.OfficeExcelApi
;
import
com.junmp.v2.office.api.bean.ExcelExportParam
;
import
com.junmp.v2.office.api.bean.ExcelExportParam
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.amqp.core.Queue
;
import
org.springframework.amqp.core.Queue
;
import
org.springframework.amqp.rabbit.core.RabbitAdmin
;
import
org.springframework.amqp.rabbit.core.RabbitAdmin
;
import
org.springframework.amqp.rabbit.core.RabbitTemplate
;
import
org.springframework.amqp.rabbit.core.RabbitTemplate
;
...
@@ -90,7 +92,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
...
@@ -90,7 +92,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
List
<
String
>
list
=
new
ArrayList
<>();
List
<
String
>
list
=
new
ArrayList
<>();
OrderMain
order
=
new
OrderMain
();
OrderMain
order
=
new
OrderMain
();
BeanPlusUtil
.
copyProperties
(
req
,
order
);
BeanPlusUtil
.
copyProperties
(
req
,
order
);
//设置单据单号
(订单号)
//设置单据单号
OrderNum
orderNum
=
setOrderCode
(
req
);
OrderNum
orderNum
=
setOrderCode
(
req
);
String
codeValue
=
String
.
format
(
"%04d"
,
orderNum
.
getNum
());
String
codeValue
=
String
.
format
(
"%04d"
,
orderNum
.
getNum
());
order
.
setOrderCode
(
orderNum
.
getBussinessType
()+
"-"
+
orderNum
.
getYear
()+
"-"
+
orderNum
.
getMonth
()+
"-"
+
orderNum
.
getDay
()+
"-"
+
codeValue
);
order
.
setOrderCode
(
orderNum
.
getBussinessType
()+
"-"
+
orderNum
.
getYear
()+
"-"
+
orderNum
.
getMonth
()+
"-"
+
orderNum
.
getDay
()+
"-"
+
codeValue
);
...
@@ -312,12 +314,9 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
...
@@ -312,12 +314,9 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
public
PageResult
<
OrderMainDto
>
getOrderPage
(
OrderMainReq
req
)
{
public
PageResult
<
OrderMainDto
>
getOrderPage
(
OrderMainReq
req
)
{
Page
<
OrderMain
>
page
=
new
Page
<>();
Page
<
OrderMain
>
page
=
new
Page
<>();
//排序字段处理,将驼峰改成和数据库同步的字段名
//排序字段处理,将驼峰改成和数据库同步的字段名
String
column
=
req
.
getColumn
();
Map
<
String
,
String
>
orderSort
=
getOrderSort
(
req
.
getColumn
(),
req
.
getOrder
());
String
order
=
req
.
getOrder
();
req
.
setColumn
(
orderSort
.
get
(
"column"
));
if
(
ObjectUtil
.
isNotNull
(
column
)
&&
!
column
.
trim
().
isEmpty
()
req
.
setOrder
(
orderSort
.
get
(
"order"
));
&&
ObjectUtil
.
isNotNull
(
order
)
&&
!
order
.
trim
().
isEmpty
()){
req
.
setColumn
(
column
.
replaceAll
(
"[A-Z]"
,
"_$0"
).
toLowerCase
());
}
//根据查询条件得到单据
//根据查询条件得到单据
IPage
<
OrderMain
>
outOrderPage
=
orderMainMapper
.
getOrderPage
(
PageFactory
.
getDefaultPage
(
req
.
getPageNo
(),
req
.
getPageSize
()),
req
);
IPage
<
OrderMain
>
outOrderPage
=
orderMainMapper
.
getOrderPage
(
PageFactory
.
getDefaultPage
(
req
.
getPageNo
(),
req
.
getPageSize
()),
req
);
page
.
setRecords
(
outOrderPage
.
getRecords
());
page
.
setRecords
(
outOrderPage
.
getRecords
());
...
@@ -343,10 +342,23 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
...
@@ -343,10 +342,23 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
OrderMain
orderMain
=
orderMainExist
(
req
.
getId
());
OrderMain
orderMain
=
orderMainExist
(
req
.
getId
());
OrderDto
orderDto
=
new
OrderDto
();
OrderDto
orderDto
=
new
OrderDto
();
BeanPlusUtil
.
copyProperties
(
orderMain
,
orderDto
);
BeanPlusUtil
.
copyProperties
(
orderMain
,
orderDto
);
List
<
OrderDetail
>
list
=
new
ArrayList
<>();
//排序字段处理,将驼峰改成和数据库同步的字段名
//将详细信息存入列表属性中
//将详细信息存入列表属性中
//通过任务单id查询对应的详细信息
//通过任务单id查询对应的详细信息
List
<
OrderDetail
>
list
=
orderDetailService
.
list
(
new
LambdaQueryWrapper
<
OrderDetail
>()
if
(
ObjectUtil
.
isEmpty
(
req
.
getColumn
())
&&
ObjectUtil
.
isEmpty
(
req
.
getOrder
()))
{
.
eq
(
OrderDetail:
:
getOrderId
,
req
.
getId
()));
list
=
orderDetailService
.
list
(
new
LambdaQueryWrapper
<
OrderDetail
>()
.
eq
(
OrderDetail:
:
getOrderId
,
req
.
getId
())
.
orderByDesc
(
OrderDetail:
:
getCreateTime
));
}
else
{
Map
<
String
,
String
>
orderSort
=
getOrderSort
(
req
.
getColumn
(),
req
.
getOrder
());
req
.
setColumn
(
orderSort
.
get
(
"column"
));
req
.
setOrder
(
orderSort
.
get
(
"order"
));
// list=orderDetailService.list(new LambdaQueryWrapper<OrderDetail>()
// .eq(OrderDetail::getOrderId, req.getId())
// .orderBy(true, StringUtils.isNotEmpty(req.getColumn()),
// OrderItem.desc(req.getColumn()).withOrder("desc".equalsIgnoreCase(req.getOrder()) ? OrderItem.desc() : OrderItem.asc())));
}
List
<
OrderDetailDto
>
orderDetailDtoList
=
new
ArrayList
<>();
List
<
OrderDetailDto
>
orderDetailDtoList
=
new
ArrayList
<>();
for
(
OrderDetail
orderDetail:
list
)
{
for
(
OrderDetail
orderDetail:
list
)
{
OrderDetailDto
orderDetailDto
=
new
OrderDetailDto
();
OrderDetailDto
orderDetailDto
=
new
OrderDetailDto
();
...
@@ -602,4 +614,19 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
...
@@ -602,4 +614,19 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
}
}
//排序字段处理,将驼峰改成和数据库同步的字段名
public
Map
<
String
,
String
>
getOrderSort
(
String
column
,
String
order
){
Map
<
String
,
String
>
map
=
new
HashMap
<>();
//排序字段处理,将驼峰改成和数据库同步的字段名
if
(
ObjectUtil
.
isNotNull
(
column
)
&&
!
column
.
trim
().
isEmpty
()
&&
(
order
.
equalsIgnoreCase
(
"asc"
)||
order
.
equalsIgnoreCase
(
"desc"
))
&&
!
order
.
trim
().
isEmpty
()){
//修改字段,和数据库字段进行统一
column
=
column
.
replaceAll
(
"[A-Z]"
,
"_$0"
).
toLowerCase
();
order
=
order
.
toLowerCase
();
}
map
.
put
(
"column"
,
column
);
map
.
put
(
"order"
,
order
);
return
map
;
}
}
}
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/PolicemanServiceImpl.java
View file @
a4a66b23
差异被折叠。
点击展开。
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论