Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
yangxiujun
/
paidan_demo
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit 43c2dae6
authored
Oct 26, 2023
by
Ren Ping
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:消息模块开发
1 parent
d424af68
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
159 additions
and
140 deletions
project-order/src/main/java/com/dituhui/pea/order/controller/MsgController.java
project-order/src/main/java/com/dituhui/pea/order/dao/MsgDao.java
project-order/src/main/java/com/dituhui/pea/order/dto/IdDTO.java
project-order/src/main/java/com/dituhui/pea/order/dto/IdsDTO.java
project-order/src/main/java/com/dituhui/pea/order/dto/MsgDTO.java
project-order/src/main/java/com/dituhui/pea/order/dto/MsgQuery.java
project-order/src/main/java/com/dituhui/pea/order/service/MsgService.java
project-order/src/main/java/com/dituhui/pea/order/service/impl/MsgServiceImpl.java
project-order/src/main/java/com/dituhui/pea/order/controller/MsgController.java
View file @
43c2dae
...
@@ -3,9 +3,7 @@ package com.dituhui.pea.order.controller;
...
@@ -3,9 +3,7 @@ package com.dituhui.pea.order.controller;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.core.util.StrUtil
;
import
com.dituhui.pea.common.PageResult
;
import
com.dituhui.pea.common.PageResult
;
import
com.dituhui.pea.common.Result
;
import
com.dituhui.pea.common.Result
;
import
com.dituhui.pea.order.dto.MsgDTO
;
import
com.dituhui.pea.order.dto.*
;
import
com.dituhui.pea.order.dto.MsgGroupResp
;
import
com.dituhui.pea.order.dto.MsgResp
;
import
com.dituhui.pea.order.service.MsgService
;
import
com.dituhui.pea.order.service.MsgService
;
import
com.dituhui.pea.order.utils.AssertUtil
;
import
com.dituhui.pea.order.utils.AssertUtil
;
import
com.dituhui.pea.order.utils.CommonUtil
;
import
com.dituhui.pea.order.utils.CommonUtil
;
...
@@ -39,7 +37,7 @@ public class MsgController {
...
@@ -39,7 +37,7 @@ public class MsgController {
*/
*/
@GetMapping
(
"/msg/list"
)
@GetMapping
(
"/msg/list"
)
public
Result
<
PageResult
<
MsgGroupResp
>>
list
(
@RequestHeader
(
name
=
"userId"
,
required
=
true
)
String
userId
,
public
Result
<
PageResult
<
MsgGroupResp
>>
list
(
@RequestHeader
(
name
=
"userId"
,
required
=
true
)
String
userId
,
Msg
DTO
.
Request
request
)
{
Msg
Query
request
)
{
CommonUtil
.
setNullValue
(
request
);
CommonUtil
.
setNullValue
(
request
);
request
.
setUserId
(
userId
);
request
.
setUserId
(
userId
);
if
(!
"is_read"
.
equalsIgnoreCase
(
request
.
getSort
()))
{
if
(!
"is_read"
.
equalsIgnoreCase
(
request
.
getSort
()))
{
...
@@ -65,8 +63,9 @@ public class MsgController {
...
@@ -65,8 +63,9 @@ public class MsgController {
* @date 2023/10/24
* @date 2023/10/24
*/
*/
@PostMapping
(
"/msg/delete"
)
@PostMapping
(
"/msg/delete"
)
public
Result
<
Boolean
>
delete
(
@RequestHeader
(
name
=
"userId"
,
required
=
true
)
String
userId
,
@RequestBody
@Valid
MsgDTO
.
DeleteDto
dto
)
{
public
Result
<
Boolean
>
delete
(
@RequestHeader
(
name
=
"userId"
,
required
=
true
)
String
userId
,
@RequestBody
@Valid
IdDTO
dto
)
{
AssertUtil
.
isNotEmpty
(
userId
,
"用户ID不能为空"
);
AssertUtil
.
isNotEmpty
(
userId
,
"用户ID不能为空"
);
AssertUtil
.
isNotNull
(
dto
.
getId
(),
"消息ID不能为空"
);
msgService
.
delete
(
dto
.
getId
(),
userId
);
msgService
.
delete
(
dto
.
getId
(),
userId
);
return
Result
.
success
(
true
);
return
Result
.
success
(
true
);
}
}
...
@@ -81,7 +80,7 @@ public class MsgController {
...
@@ -81,7 +80,7 @@ public class MsgController {
* @date 2023/10/24
* @date 2023/10/24
*/
*/
@PostMapping
(
"/msg/read"
)
@PostMapping
(
"/msg/read"
)
public
Result
<
Boolean
>
read
(
@RequestHeader
(
name
=
"userId"
,
required
=
true
)
String
userId
,
@RequestBody
@Valid
MsgDTO
.
ReadDto
dto
)
{
public
Result
<
Boolean
>
read
(
@RequestHeader
(
name
=
"userId"
,
required
=
true
)
String
userId
,
@RequestBody
@Valid
IdsDTO
dto
)
{
AssertUtil
.
isNotEmpty
(
userId
,
"用户ID不能为空"
);
AssertUtil
.
isNotEmpty
(
userId
,
"用户ID不能为空"
);
msgService
.
readMsg
(
dto
.
getIds
(),
userId
);
msgService
.
readMsg
(
dto
.
getIds
(),
userId
);
return
Result
.
success
(
true
);
return
Result
.
success
(
true
);
...
@@ -96,7 +95,7 @@ public class MsgController {
...
@@ -96,7 +95,7 @@ public class MsgController {
* @date 2023/10/25
* @date 2023/10/25
*/
*/
@PostMapping
(
"/msg/add"
)
@PostMapping
(
"/msg/add"
)
public
Result
<
Boolean
>
add
(
@RequestBody
@Valid
MsgDTO
.
addDto
dto
)
{
public
Result
<
Boolean
>
add
(
@RequestBody
@Valid
MsgDTO
dto
)
{
CommonUtil
.
setNullValue
(
dto
);
CommonUtil
.
setNullValue
(
dto
);
AssertUtil
.
checkArgument
(
StrUtil
.
isNotEmpty
(
dto
.
getClusterId
())
AssertUtil
.
checkArgument
(
StrUtil
.
isNotEmpty
(
dto
.
getClusterId
())
||
StrUtil
.
isNotEmpty
(
dto
.
getBranchId
())
||
StrUtil
.
isNotEmpty
(
dto
.
getBranchId
())
...
...
project-order/src/main/java/com/dituhui/pea/order/dao/MsgDao.java
View file @
43c2dae
package
com
.
dituhui
.
pea
.
order
.
dao
;
package
com
.
dituhui
.
pea
.
order
.
dao
;
import
com.dituhui.pea.order.dto.MsgDTO
;
import
com.dituhui.pea.order.dto.MsgGroupResp
;
import
com.dituhui.pea.order.dto.MsgGroupResp
;
import
com.dituhui.pea.order.dto.Msg
Resp
;
import
com.dituhui.pea.order.dto.Msg
Query
;
import
com.dituhui.pea.order.entity.MsgEntity
;
import
com.dituhui.pea.order.entity.MsgEntity
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.data.domain.Sort
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.Query
;
import
org.springframework.data.jpa.repository.Query
;
import
org.springframework.data.repository.query.Param
;
import
org.springframework.data.repository.query.Param
;
...
@@ -38,7 +36,7 @@ public interface MsgDao extends JpaRepository<MsgEntity, Integer> {
...
@@ -38,7 +36,7 @@ public interface MsgDao extends JpaRepository<MsgEntity, Integer> {
") t"
") t"
,
nativeQuery
=
true
// 开启原生sql
,
nativeQuery
=
true
// 开启原生sql
)
)
Page
<
Map
<
String
,
Objects
>>
getGroupList
(
@Param
(
"req"
)
Msg
DTO
.
Request
req
,
Pageable
pageable
);
Page
<
Map
<
String
,
Objects
>>
getGroupList
(
@Param
(
"req"
)
Msg
Query
req
,
Pageable
pageable
);
@Query
(
value
=
"select t.* from (select tt.*,r.is_read,"
+
@Query
(
value
=
"select t.* from (select tt.*,r.is_read,"
+
...
@@ -53,7 +51,7 @@ public interface MsgDao extends JpaRepository<MsgEntity, Integer> {
...
@@ -53,7 +51,7 @@ public interface MsgDao extends JpaRepository<MsgEntity, Integer> {
") t"
") t"
,
nativeQuery
=
true
// 开启原生sql
,
nativeQuery
=
true
// 开启原生sql
)
)
List
<
Map
<
String
,
Objects
>>
getList
(
@Param
(
"req"
)
Msg
DTO
.
Request
req
List
<
Map
<
String
,
Objects
>>
getList
(
@Param
(
"req"
)
Msg
Query
req
,
@Param
(
"msgGroupResp"
)
MsgGroupResp
msgGroupResp
,
Pageable
pageable
);
,
@Param
(
"msgGroupResp"
)
MsgGroupResp
msgGroupResp
,
Pageable
pageable
);
/**
/**
...
...
project-order/src/main/java/com/dituhui/pea/order/dto/IdDTO.java
0 → 100644
View file @
43c2dae
package
com
.
dituhui
.
pea
.
order
.
dto
;
import
lombok.Data
;
import
javax.validation.constraints.NotNull
;
/**
* 公共 id类
*
* @author RenPing
* @date 2023/10/26
*/
@Data
public
class
IdDTO
{
@NotNull
(
message
=
"ID不能为空"
)
private
Integer
id
;
}
project-order/src/main/java/com/dituhui/pea/order/dto/IdsDTO.java
0 → 100644
View file @
43c2dae
package
com
.
dituhui
.
pea
.
order
.
dto
;
import
lombok.Data
;
import
javax.validation.constraints.NotEmpty
;
import
java.util.List
;
/**
* 公共 id集合类,用于批量操作
*
* @author RenPing
* @date 2023/10/26
*/
@Data
public
class
IdsDTO
{
@NotEmpty
(
message
=
"Id集合不能为空"
)
private
List
<
Integer
>
ids
;
}
project-order/src/main/java/com/dituhui/pea/order/dto/MsgDTO.java
View file @
43c2dae
package
com
.
dituhui
.
pea
.
order
.
dto
;
package
com
.
dituhui
.
pea
.
order
.
dto
;
import
com.dituhui.pea.pojo.PageRequest
;
import
lombok.Data
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
javax.validation.constraints.Max
;
import
javax.validation.constraints.Max
;
import
javax.validation.constraints.Min
;
import
javax.validation.constraints.Min
;
import
javax.validation.constraints.NotEmpty
;
import
javax.validation.constraints.NotNull
;
import
javax.validation.constraints.NotNull
;
import
java.time.LocalDate
;
@Data
import
java.util.Date
;
import
java.util.List
;
import
static
com
.
dituhui
.
pea
.
order
.
config
.
OrderConfig
.
DEFAULT_PAGE_SIZE
;
public
class
MsgDTO
{
public
class
MsgDTO
{
/**
@lombok
.
Data
* 大区ID(大区Id、分部Id、分组Id只需传一个)
public
static
class
Request
{
*/
/**
private
String
clusterId
;
* 每页大小
*/
/**
private
Integer
size
=
DEFAULT_PAGE_SIZE
;
* 分部ID
*/
/**
private
String
branchId
;
* 页码
*/
/**
private
Integer
page
=
1
;
* 小组ID
*/
private
String
groupId
;
/**
* 当前用户Id,前端将userId放在header中
/**
*/
* 消息类型,0:派工类,1:服务类,2:容量类
private
String
userId
;
*/
@NotNull
(
message
=
"消息类型不能为空"
)
/**
@Min
(
value
=
0
,
message
=
"消息类型格式不对"
)
* 排序字段:create_time、is_read
@Max
(
value
=
2
,
message
=
"消息类型格式不对"
)
*/
private
Integer
type
;
private
String
sort
;
/**
/**
* 消息内容
* 排序类型:asc、desc
*/
*/
@NotNull
(
message
=
"消息内容不能为空"
)
private
String
sortType
;
private
String
content
;
/**
/**
* 开始日期
* 单号集合,以“、”连接
*/
*/
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
private
String
orderIds
;
private
Date
startDate
;
/**
/**
* 标签类型,0:紧急,1:正常
* 结束日期
*/
*/
@NotNull
(
message
=
"标签类型不能为空"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@Min
(
value
=
0
,
message
=
"标签类型格式不对"
)
private
Date
endDate
;
@Max
(
value
=
1
,
message
=
"标签类型格式不对"
)
private
Integer
tag
;
/**
* 关键词模糊查询
*/
private
String
keyWord
;
/**
* 大区ID、部门ID、小组ID
*/
private
String
orgTreeValue
;
}
@lombok
.
Data
public
static
class
DeleteDto
{
@NotNull
(
message
=
"消息ID不能为空"
)
private
Integer
id
;
}
@lombok
.
Data
public
static
class
ReadDto
{
/**
* 消息Id集合
*/
@NotEmpty
(
message
=
"消息Id集合不能为空"
)
private
List
<
Integer
>
ids
;
}
@lombok
.
Data
public
static
class
addDto
{
/**
* 大区ID(大区Id、分部Id、分组Id只需传一个)
*/
private
String
clusterId
;
/**
* 分部ID
*/
private
String
branchId
;
/**
* 小组ID
*/
private
String
groupId
;
/**
* 消息类型,0:派工类,1:服务类,2:容量类
*/
@NotNull
(
message
=
"消息类型不能为空"
)
@Min
(
value
=
0
,
message
=
"消息类型格式不对"
)
@Max
(
value
=
2
,
message
=
"消息类型格式不对"
)
private
Integer
type
;
/**
* 消息内容
*/
@NotNull
(
message
=
"消息内容不能为空"
)
private
String
content
;
/**
* 单号集合,以“、”连接
*/
private
String
orderIds
;
/**
* 标签类型,0:紧急,1:正常
*/
@NotNull
(
message
=
"标签类型不能为空"
)
@Min
(
value
=
0
,
message
=
"标签类型格式不对"
)
@Max
(
value
=
1
,
message
=
"标签类型格式不对"
)
private
Integer
tag
;
}
}
}
\ No newline at end of file
project-order/src/main/java/com/dituhui/pea/order/dto/MsgQuery.java
0 → 100644
View file @
43c2dae
package
com
.
dituhui
.
pea
.
order
.
dto
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
javax.validation.constraints.Max
;
import
javax.validation.constraints.Min
;
import
javax.validation.constraints.NotNull
;
import
java.util.Date
;
import
static
com
.
dituhui
.
pea
.
order
.
config
.
OrderConfig
.
DEFAULT_PAGE_SIZE
;
@lombok
.
Data
public
class
MsgQuery
{
/**
* 每页大小
*/
private
Integer
size
=
DEFAULT_PAGE_SIZE
;
/**
* 页码
*/
private
Integer
page
=
1
;
/**
* 当前用户Id,前端将userId放在header中
*/
private
String
userId
;
/**
* 排序字段:create_time、is_read
*/
private
String
sort
;
/**
* 排序类型:asc、desc
*/
private
String
sortType
;
/**
* 开始日期
*/
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
startDate
;
/**
* 结束日期
*/
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
endDate
;
/**
* 关键词模糊查询
*/
private
String
keyWord
;
/**
* 大区ID、部门ID、小组ID
*/
private
String
orgTreeValue
;
}
\ No newline at end of file
project-order/src/main/java/com/dituhui/pea/order/service/MsgService.java
View file @
43c2dae
...
@@ -3,6 +3,7 @@ package com.dituhui.pea.order.service;
...
@@ -3,6 +3,7 @@ package com.dituhui.pea.order.service;
import
com.dituhui.pea.common.PageResult
;
import
com.dituhui.pea.common.PageResult
;
import
com.dituhui.pea.order.dto.MsgDTO
;
import
com.dituhui.pea.order.dto.MsgDTO
;
import
com.dituhui.pea.order.dto.MsgGroupResp
;
import
com.dituhui.pea.order.dto.MsgGroupResp
;
import
com.dituhui.pea.order.dto.MsgQuery
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.List
;
import
java.util.List
;
...
@@ -17,7 +18,7 @@ public interface MsgService {
...
@@ -17,7 +18,7 @@ public interface MsgService {
* @author RenPing
* @author RenPing
* @date 2023/10/23
* @date 2023/10/23
*/
*/
PageResult
<
MsgGroupResp
>
list
(
Msg
DTO
.
Request
request
);
PageResult
<
MsgGroupResp
>
list
(
Msg
Query
request
);
/**
/**
* 删除
* 删除
...
@@ -47,5 +48,5 @@ public interface MsgService {
...
@@ -47,5 +48,5 @@ public interface MsgService {
* @author RenPing
* @author RenPing
* @date 2023/10/25
* @date 2023/10/25
*/
*/
void
add
(
MsgDTO
.
addDto
dto
);
void
add
(
MsgDTO
dto
);
}
}
project-order/src/main/java/com/dituhui/pea/order/service/impl/MsgServiceImpl.java
View file @
43c2dae
...
@@ -7,6 +7,7 @@ import com.dituhui.pea.common.PageResult;
...
@@ -7,6 +7,7 @@ import com.dituhui.pea.common.PageResult;
import
com.dituhui.pea.order.dao.*
;
import
com.dituhui.pea.order.dao.*
;
import
com.dituhui.pea.order.dto.MsgDTO
;
import
com.dituhui.pea.order.dto.MsgDTO
;
import
com.dituhui.pea.order.dto.MsgGroupResp
;
import
com.dituhui.pea.order.dto.MsgGroupResp
;
import
com.dituhui.pea.order.dto.MsgQuery
;
import
com.dituhui.pea.order.dto.MsgResp
;
import
com.dituhui.pea.order.dto.MsgResp
;
import
com.dituhui.pea.order.entity.MsgEntity
;
import
com.dituhui.pea.order.entity.MsgEntity
;
import
com.dituhui.pea.order.entity.MsgReceiverEntity
;
import
com.dituhui.pea.order.entity.MsgReceiverEntity
;
...
@@ -47,7 +48,7 @@ public class MsgServiceImpl implements MsgService {
...
@@ -47,7 +48,7 @@ public class MsgServiceImpl implements MsgService {
private
OrgGroupDao
groupDao
;
private
OrgGroupDao
groupDao
;
@Override
@Override
public
PageResult
<
MsgGroupResp
>
list
(
Msg
DTO
.
Request
request
)
{
public
PageResult
<
MsgGroupResp
>
list
(
Msg
Query
request
)
{
Sort
sort
=
Sort
.
by
(
"asc"
.
equalsIgnoreCase
(
request
.
getSortType
())
?
Sort
.
Direction
.
ASC
:
Sort
.
Direction
.
DESC
,
request
.
getSort
());
Sort
sort
=
Sort
.
by
(
"asc"
.
equalsIgnoreCase
(
request
.
getSortType
())
?
Sort
.
Direction
.
ASC
:
Sort
.
Direction
.
DESC
,
request
.
getSort
());
Pageable
pageable
=
PageRequest
.
of
(
request
.
getPage
()
-
1
,
request
.
getSize
(),
sort
);
Pageable
pageable
=
PageRequest
.
of
(
request
.
getPage
()
-
1
,
request
.
getSize
(),
sort
);
Page
<
Map
<
String
,
Objects
>>
page
=
msgDao
.
getGroupList
(
request
,
pageable
);
Page
<
Map
<
String
,
Objects
>>
page
=
msgDao
.
getGroupList
(
request
,
pageable
);
...
@@ -100,7 +101,7 @@ public class MsgServiceImpl implements MsgService {
...
@@ -100,7 +101,7 @@ public class MsgServiceImpl implements MsgService {
@Override
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
add
(
MsgDTO
.
addDto
dto
)
{
public
void
add
(
MsgDTO
dto
)
{
if
(
Objects
.
nonNull
(
dto
.
getGroupId
()))
{
if
(
Objects
.
nonNull
(
dto
.
getGroupId
()))
{
OrgGroupEntity
group
=
groupDao
.
getByGroupId
(
dto
.
getGroupId
());
OrgGroupEntity
group
=
groupDao
.
getByGroupId
(
dto
.
getGroupId
());
dto
.
setBranchId
(
group
.
getBranchId
());
dto
.
setBranchId
(
group
.
getBranchId
());
...
...
Write
Preview
Markdown
is supported
Attach a file
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 post a comment