Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
cust-api
Project
Project
Details
Activity
Releases
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
李伟
cust-api
Commits
e691ed50
Commit
e691ed50
authored
Feb 11, 2025
by
liwei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改了留言相关接口
parent
1d5d289f
Changes
14
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
488 additions
and
147 deletions
+488
-147
AppMemInfoController.java
...isoft/app/appMemInfo/controller/AppMemInfoController.java
+0
-42
AppMemLeaveMessageController.java
...LeaveMessage/controller/AppMemLeaveMessageController.java
+76
-0
MemInfoRepository.java
...a/org/rcisoft/business/memInfo/dao/MemInfoRepository.java
+0
-15
MemInfo.java
...ain/java/org/rcisoft/business/memInfo/entity/MemInfo.java
+0
-19
UserLeaveMessageDTO.java
.../rcisoft/business/memInfo/entity/UserLeaveMessageDTO.java
+0
-16
MemInfoService.java
.../org/rcisoft/business/memInfo/service/MemInfoService.java
+0
-17
MemInfoServiceImpl.java
...oft/business/memInfo/service/impl/MemInfoServiceImpl.java
+0
-37
MemLeaveMessageController.java
...memLeaveMessage/controller/MemLeaveMessageController.java
+76
-0
MemLeaveMessageRepository.java
...siness/memLeaveMessage/dao/MemLeaveMessageRepository.java
+43
-0
MemLeaveMessage.java
...soft/business/memLeaveMessage/entity/MemLeaveMessage.java
+85
-0
MemLeaveMessageService.java
...iness/memLeaveMessage/service/MemLeaveMessageService.java
+30
-0
MemLeaveMessageServiceImpl.java
...LeaveMessage/service/impl/MemLeaveMessageServiceImpl.java
+107
-0
MemInfoMapper.xml
...esources/mapper/business/memInfo/mapper/MemInfoMapper.xml
+1
-1
MemLeaveMessageMapper.xml
...business/memLeaveMessage/mapper/MemLeaveMessageMapper.xml
+70
-0
No files found.
src/main/java/org/rcisoft/app/appMemInfo/controller/AppMemInfoController.java
View file @
e691ed50
...
...
@@ -358,46 +358,4 @@ public class AppMemInfoController extends CyPaginationController<MemInfo> {
}
return
getGridModelResponse
();
}
/**
* 用户详情/我的-留言
*/
@PreAuthorize
(
"@cyPerm.hasPerm('app:mem:leaveMessage')"
)
@CyOpeLogAnno
(
title
=
"system-会员表管理-留言"
,
businessType
=
CyLogTypeEnum
.
INSERT
)
@Operation
(
summary
=
"留言"
,
description
=
"留言"
)
@PostMapping
(
value
=
"/memInfo/leaveMessage"
)
public
CyResult
leaveMessage
(
@Valid
@RequestBody
UserLeaveMessageDTO
dto
,
BindingResult
bindingResult
)
{
CyPersistModel
data
=
memInfoServiceImpl
.
leaveMessage
(
dto
);
return
CyResultGenUtil
.
builder
(
data
,
CyMessCons
.
MESSAGE_ALERT_SUCCESS
,
CyMessCons
.
MESSAGE_ALERT_ERROR
,
dto
);
}
/**
* 分页查询留言列表
*/
@PreAuthorize
(
"@cyPerm.hasPerm('app:mem:query')"
)
@CyOpeLogAnno
(
title
=
"system-会员表管理-查询留言表"
,
businessType
=
CyLogTypeEnum
.
QUERY
)
@Operation
(
summary
=
"分页查询留言列表"
,
description
=
"分页查询留言列表"
)
@GetMapping
(
value
=
"/memInfo/leaveMessageList"
)
// @CyEncryptSm4Anno
public
CyGridModel
leaveMessageByPagination
(
UserLeaveMessageDTO
dto
)
{
IPage
<
MemInfo
>
userLeaveMessage
=
memInfoServiceImpl
.
leaveMessageByPagination
(
getPaginationUtility
(),
dto
);
return
getGridModelResponse
();
}
/**
* 查询留言列表详情 1对1的
*/
@PreAuthorize
(
"@cyPerm.hasPerm('app:mem:query')"
)
@CyOpeLogAnno
(
title
=
"system-会员表管理-查询留言详情列表"
,
businessType
=
CyLogTypeEnum
.
QUERY
)
@Operation
(
summary
=
"分页查询留言详情列表"
,
description
=
"分页查询留言详情列表"
)
@GetMapping
(
value
=
"/memInfo/leaveMessageDetailList"
)
// @CyEncryptSm4Anno
public
CyGridModel
leaveMessageDetailList
(
UserLeaveMessageDTO
dto
)
{
IPage
<
MemInfo
>
userLeaveMessage
=
memInfoServiceImpl
.
leaveMessageDetailByPagination
(
getPaginationUtility
(),
dto
);
return
getGridModelResponse
();
}
}
src/main/java/org/rcisoft/app/appMemLeaveMessage/controller/AppMemLeaveMessageController.java
0 → 100644
View file @
e691ed50
package
org
.
rcisoft
.
app
.
appMemLeaveMessage
.
controller
;
/*固定导入*/
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
io.swagger.v3.oas.annotations.Operation
;
import
org.rcisoft.business.memLeaveMessage.entity.MemLeaveMessage
;
import
org.rcisoft.business.memLeaveMessage.service.impl.MemLeaveMessageServiceImpl
;
import
org.rcisoft.core.anno.CyOpeLogAnno
;
import
org.rcisoft.core.constant.CyMessCons
;
import
org.rcisoft.core.controller.CyPaginationController
;
import
org.rcisoft.core.model.CyGridModel
;
import
org.rcisoft.core.model.CyPersistModel
;
import
org.rcisoft.core.operlog.enums.CyLogTypeEnum
;
import
org.rcisoft.core.result.CyResult
;
import
org.rcisoft.core.util.CyResultGenUtil
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.validation.BindingResult
;
import
org.springframework.web.bind.annotation.*
;
import
javax.validation.Valid
;
/**
* Created by cy on 2024年12月20日 下午3:35:34.
*/
@RestController
@RequestMapping
(
"/app"
)
public
class
AppMemLeaveMessageController
extends
CyPaginationController
<
MemLeaveMessage
>
{
@Autowired
private
MemLeaveMessageServiceImpl
memLeaveMessageServiceImpl
;
/**
* 用户详情/我的-留言
*/
@PreAuthorize
(
"@cyPerm.hasPerm('app:mem:leaveMessage')"
)
@CyOpeLogAnno
(
title
=
"system-会员表管理-留言"
,
businessType
=
CyLogTypeEnum
.
INSERT
)
@Operation
(
summary
=
"留言"
,
description
=
"留言"
)
@PostMapping
(
value
=
"/memLeaveMessage/leaveMessage"
)
public
CyResult
leaveMessage
(
@Valid
@RequestBody
MemLeaveMessage
memLeaveMessage
,
BindingResult
bindingResult
)
{
CyPersistModel
data
=
memLeaveMessageServiceImpl
.
leaveMessage
(
memLeaveMessage
);
return
CyResultGenUtil
.
builder
(
data
,
CyMessCons
.
MESSAGE_ALERT_SUCCESS
,
CyMessCons
.
MESSAGE_ALERT_ERROR
,
memLeaveMessage
);
}
/**
* 分页查询留言列表
*/
@PreAuthorize
(
"@cyPerm.hasPerm('app:mem:query')"
)
@CyOpeLogAnno
(
title
=
"system-会员表管理-查询对话表"
,
businessType
=
CyLogTypeEnum
.
QUERY
)
@Operation
(
summary
=
"分页查询对话列表"
,
description
=
"分页查询对话列表"
)
@GetMapping
(
value
=
"/memLeaveMessage/talkList"
)
public
CyGridModel
queryTalkByPagination
(
MemLeaveMessage
memLeaveMessage
)
{
IPage
<
MemLeaveMessage
>
memUserTalkIPage
=
memLeaveMessageServiceImpl
.
queryTalkByPagination
(
getPaginationUtility
(),
memLeaveMessage
);
return
getGridModelResponse
();
}
/**
* 查询留言列表详情 1对1的
*/
@PreAuthorize
(
"@cyPerm.hasPerm('app:mem:query')"
)
@CyOpeLogAnno
(
title
=
"system-会员表管理-查询留言详情列表"
,
businessType
=
CyLogTypeEnum
.
QUERY
)
@Operation
(
summary
=
"分页查询留言详情列表"
,
description
=
"分页查询留言详情列表"
)
@GetMapping
(
value
=
"/memLeaveMessage/leaveMessageDetailList"
)
public
CyGridModel
leaveMessageDetailList
(
MemLeaveMessage
memLeaveMessage
)
{
IPage
<
MemLeaveMessage
>
userLeaveMessage
=
memLeaveMessageServiceImpl
.
leaveMessageDetailByPagination
(
getPaginationUtility
(),
memLeaveMessage
);
return
getGridModelResponse
();
}
}
src/main/java/org/rcisoft/business/memInfo/dao/MemInfoRepository.java
View file @
e691ed50
...
...
@@ -162,20 +162,5 @@ public interface MemInfoRepository extends CyBaseMapper<MemInfo> {
* 查询我喜欢的 喜欢我的 互相喜欢的数量
*/
MemInfo
selectUserFollowCount
(
Integer
userId
);
/**
* 留言
*/
int
leaveMessage
(
UserLeaveMessageDTO
dto
);
/**
* 分页查询留言
*/
IPage
<
MemInfo
>
leaveMessageByPagination
(
CyPageInfo
cyPageInfo
,
@Param
(
"entity"
)
UserLeaveMessageDTO
dto
);
/**
* 查询留言详情列表
*/
IPage
<
MemInfo
>
leaveMessageDetailList
(
CyPageInfo
cyPageInfo
,
@Param
(
"entity"
)
UserLeaveMessageDTO
dto
);
}
src/main/java/org/rcisoft/business/memInfo/entity/MemInfo.java
View file @
e691ed50
...
...
@@ -574,24 +574,5 @@ public class MemInfo extends CyIdIncreEntity<MemInfo> {
*/
@TableField
(
exist
=
false
)
private
String
queryType
;
/**
* 目标id
*/
@TableField
(
exist
=
false
)
private
Integer
targetId
;
/**
* 留言内容
*/
@TableField
(
exist
=
false
)
private
String
leaveMessageContent
;
/**
* 留言删除状态
* 0未删除,1本人已删除,2对方已删除,3双方都删除了
*/
@TableField
(
exist
=
false
)
private
String
delStatus
;
}
src/main/java/org/rcisoft/business/memInfo/entity/UserLeaveMessageDTO.java
deleted
100644 → 0
View file @
1d5d289f
package
org
.
rcisoft
.
business
.
memInfo
.
entity
;
import
lombok.Data
;
@Data
public
class
UserLeaveMessageDTO
{
//目标id
private
Integer
targetId
;
//用户id
private
Integer
userId
;
//留言内容
private
String
content
;
//删除类型 0未删除,1本人已删除,2对方已删除,3双方都删除了
private
String
delStatus
;
}
src/main/java/org/rcisoft/business/memInfo/service/MemInfoService.java
View file @
e691ed50
...
...
@@ -108,21 +108,4 @@ public interface MemInfoService {
CyPersistModel
addLike
(
MemLikeDTO
likeDTO
);
IPage
<
MemInfo
>
findRankByPagination
(
CyPageInfo
<
MemInfo
>
paginationUtility
,
MemInfo
memInfo
);
/**
* 留言
* @param dto
* @return
*/
CyPersistModel
leaveMessage
(
UserLeaveMessageDTO
dto
);
/**
* 分页查询留言列表
*/
IPage
<
MemInfo
>
leaveMessageByPagination
(
CyPageInfo
<
MemInfo
>
paginationUtility
,
UserLeaveMessageDTO
dto
);
/**
* 查询留言列表详情 1对1的
*/
IPage
<
MemInfo
>
leaveMessageDetailByPagination
(
CyPageInfo
<
MemInfo
>
paginationUtility
,
UserLeaveMessageDTO
dto
);
}
src/main/java/org/rcisoft/business/memInfo/service/impl/MemInfoServiceImpl.java
View file @
e691ed50
...
...
@@ -705,41 +705,4 @@ public class MemInfoServiceImpl extends ServiceImpl<MemInfoRepository,MemInfo>
log
.
info
(
"用户点赞数据定时任务执行中..."
);
}
/**
* 留言
* @param dto
* @return
*/
@Override
public
CyPersistModel
leaveMessage
(
UserLeaveMessageDTO
dto
)
{
dto
.
setUserId
(
Integer
.
valueOf
(
CyUserUtil
.
getAuthenBusinessId
()));
int
line
=
memInfoRepository
.
leaveMessage
(
dto
);
return
new
CyPersistModel
(
line
);
}
/**
* 分页查询留言列表
*
* @param paginationUtility
* @param dto
*/
@Override
public
IPage
<
MemInfo
>
leaveMessageByPagination
(
CyPageInfo
<
MemInfo
>
paginationUtility
,
UserLeaveMessageDTO
dto
)
{
dto
.
setUserId
(
Integer
.
valueOf
(
CyUserUtil
.
getAuthenBusinessId
()));
IPage
<
MemInfo
>
userLeaveMessageIPage
=
memInfoRepository
.
leaveMessageByPagination
(
paginationUtility
,
dto
);
return
userLeaveMessageIPage
;
}
/**
* 查询留言列表详情 1对1的
* @param paginationUtility
* @param dto
*/
@Override
public
IPage
<
MemInfo
>
leaveMessageDetailByPagination
(
CyPageInfo
<
MemInfo
>
paginationUtility
,
UserLeaveMessageDTO
dto
)
{
dto
.
setUserId
(
Integer
.
valueOf
(
CyUserUtil
.
getAuthenBusinessId
()));
IPage
<
MemInfo
>
userLeaveMessageIPage
=
memInfoRepository
.
leaveMessageDetailList
(
paginationUtility
,
dto
);
return
userLeaveMessageIPage
;
}
}
src/main/java/org/rcisoft/business/memLeaveMessage/controller/MemLeaveMessageController.java
0 → 100644
View file @
e691ed50
package
org
.
rcisoft
.
business
.
memLeaveMessage
.
controller
;
/*固定导入*/
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
io.swagger.v3.oas.annotations.Operation
;
import
org.rcisoft.business.memLeaveMessage.entity.MemLeaveMessage
;
import
org.rcisoft.business.memLeaveMessage.service.MemLeaveMessageService
;
import
org.rcisoft.core.anno.CyOpeLogAnno
;
import
org.rcisoft.core.constant.CyMessCons
;
import
org.rcisoft.core.controller.CyPaginationController
;
import
org.rcisoft.core.model.CyGridModel
;
import
org.rcisoft.core.model.CyPersistModel
;
import
org.rcisoft.core.operlog.enums.CyLogTypeEnum
;
import
org.rcisoft.core.result.CyResult
;
import
org.rcisoft.core.util.CyResultGenUtil
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.validation.BindingResult
;
import
org.springframework.web.bind.annotation.*
;
import
javax.validation.Valid
;
/**
* Created by cy on 2024年12月20日 下午3:35:34.
*/
@RestController
@RequestMapping
(
"/memLeaveMessage"
)
public
class
MemLeaveMessageController
extends
CyPaginationController
<
MemLeaveMessage
>
{
@Autowired
private
MemLeaveMessageService
memLeaveMessageServiceImpl
;
/**
* 用户详情/我的-留言
*/
@PreAuthorize
(
"@cyPerm.hasPerm('app:mem:leaveMessage')"
)
@CyOpeLogAnno
(
title
=
"system-会员表管理-留言"
,
businessType
=
CyLogTypeEnum
.
INSERT
)
@Operation
(
summary
=
"留言"
,
description
=
"留言"
)
@PostMapping
(
value
=
"/leaveMessage"
)
public
CyResult
leaveMessage
(
@Valid
@RequestBody
MemLeaveMessage
memLeaveMessage
,
BindingResult
bindingResult
)
{
CyPersistModel
data
=
memLeaveMessageServiceImpl
.
leaveMessage
(
memLeaveMessage
);
return
CyResultGenUtil
.
builder
(
data
,
CyMessCons
.
MESSAGE_ALERT_SUCCESS
,
CyMessCons
.
MESSAGE_ALERT_ERROR
,
memLeaveMessage
);
}
/**
* 分页查询对话列表
*/
@PreAuthorize
(
"@cyPerm.hasPerm('app:mem:query')"
)
@CyOpeLogAnno
(
title
=
"system-会员表管理-查询对话表"
,
businessType
=
CyLogTypeEnum
.
QUERY
)
@Operation
(
summary
=
"分页查询对话列表"
,
description
=
"分页查询对话列表"
)
@GetMapping
(
value
=
"/talkList"
)
public
CyGridModel
queryUserTalkByPagination
(
MemLeaveMessage
memLeaveMessage
)
{
IPage
<
MemLeaveMessage
>
memUserTalkIPage
=
memLeaveMessageServiceImpl
.
queryTalkByPagination
(
getPaginationUtility
(),
memLeaveMessage
);
return
getGridModelResponse
();
}
/**
* 查询留言列表详情 1对1的
*/
@PreAuthorize
(
"@cyPerm.hasPerm('app:mem:query')"
)
@CyOpeLogAnno
(
title
=
"system-会员表管理-查询留言详情列表"
,
businessType
=
CyLogTypeEnum
.
QUERY
)
@Operation
(
summary
=
"分页查询留言详情列表"
,
description
=
"分页查询留言详情列表"
)
@GetMapping
(
value
=
"/leaveMessageDetailList"
)
public
CyGridModel
leaveMessageDetailList
(
MemLeaveMessage
memLeaveMessage
)
{
IPage
<
MemLeaveMessage
>
userLeaveMessage
=
memLeaveMessageServiceImpl
.
leaveMessageDetailByPagination
(
getPaginationUtility
(),
memLeaveMessage
);
return
getGridModelResponse
();
}
}
src/main/java/org/rcisoft/business/memLeaveMessage/dao/MemLeaveMessageRepository.java
0 → 100644
View file @
e691ed50
package
org
.
rcisoft
.
business
.
memLeaveMessage
.
dao
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
org.apache.ibatis.annotations.Param
;
import
org.rcisoft.business.memLeaveMessage.entity.*
;
import
org.rcisoft.core.mapper.CyBaseMapper
;
import
org.rcisoft.core.model.CyPageInfo
;
import
java.util.List
;
/**
* Created with cy on 2024年12月20日 下午3:35:34.
*/
public
interface
MemLeaveMessageRepository
extends
CyBaseMapper
<
MemLeaveMessage
>
{
/**
* 分页查询对话
*/
IPage
<
MemLeaveMessage
>
queryTalkByPagination
(
CyPageInfo
cyPageInfo
,
@Param
(
"entity"
)
MemLeaveMessage
memLeaveMessage
);
/**
* 查询留言详情列表
*/
IPage
<
MemLeaveMessage
>
leaveMessageDetailList
(
CyPageInfo
cyPageInfo
,
@Param
(
"entity"
)
MemLeaveMessage
memLeaveMessage
);
/**
* 查询是否存在该对话
*/
MemLeaveMessage
queryUserTalk
(
@Param
(
"userId"
)
Integer
userId
,
@Param
(
"targetId"
)
Integer
targetId
);
/**
* 插入对话
*/
int
insertUserTalk
(
MemLeaveMessage
memLeaveMessage
);
/**
* 修改对话
*/
int
updateUserTalk
(
MemLeaveMessage
memLeaveMessage
);
}
src/main/java/org/rcisoft/business/memLeaveMessage/entity/MemLeaveMessage.java
0 → 100644
View file @
e691ed50
package
org
.
rcisoft
.
business
.
memLeaveMessage
.
entity
;
import
cn.afterturn.easypoi.excel.annotation.Excel
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.annotation.JsonIgnore
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
org.rcisoft.core.entity.CyIdIncreEntity
;
import
org.rcisoft.core.entity.CyIdIncreNotDataEntity
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
java.math.BigDecimal
;
import
java.util.Date
;
/**
* Created with cy on 2024年12月20日 下午3:35:34.
*/
@Data
@TableName
(
"mem_user_leave_message"
)
public
class
MemLeaveMessage
extends
CyIdIncreNotDataEntity
<
MemLeaveMessage
>
{
/**
* 创建人
*/
private
Integer
createBy
;
/**
* 修改人
*/
private
Integer
updateBy
;
/**
* @desc 创建时间
* @column create_date
* @default
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
createDate
;
/**
* @desc 创建时间
* @column update_date
* @default
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
updateDate
;
/**
* 目标id
*/
private
Integer
targetId
;
/**
* 留言内容
*/
private
String
content
;
/**
* 目标头像id
*/
@TableField
(
exist
=
false
)
private
Integer
avatar
;
/**
* 目标会员昵称
*/
@TableField
(
exist
=
false
)
private
String
memNickName
;
/**
* 留言删除状态
* 0未删除,1本人已删除,2对方已删除,3双方都删除了
*/
@TableField
(
exist
=
false
)
private
String
delStatus
;
}
src/main/java/org/rcisoft/business/memLeaveMessage/service/MemLeaveMessageService.java
0 → 100644
View file @
e691ed50
package
org
.
rcisoft
.
business
.
memLeaveMessage
.
service
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
org.rcisoft.business.memLeaveMessage.entity.*
;
import
org.rcisoft.core.model.CyPageInfo
;
import
org.rcisoft.core.model.CyPersistModel
;
/**
* Created by cy on 2024年12月20日 下午3:35:34.
*/
public
interface
MemLeaveMessageService
{
/**
* 留言
* @param memLeaveMessage
* @return
*/
CyPersistModel
leaveMessage
(
MemLeaveMessage
memLeaveMessage
);
/**
* 分页查询对话列表
*/
IPage
<
MemLeaveMessage
>
queryTalkByPagination
(
CyPageInfo
<
MemLeaveMessage
>
paginationUtility
,
MemLeaveMessage
memLeaveMessage
);
/**
* 查询留言列表详情 1对1的
*/
IPage
<
MemLeaveMessage
>
leaveMessageDetailByPagination
(
CyPageInfo
<
MemLeaveMessage
>
paginationUtility
,
MemLeaveMessage
memLeaveMessage
);
}
src/main/java/org/rcisoft/business/memLeaveMessage/service/impl/MemLeaveMessageServiceImpl.java
0 → 100644
View file @
e691ed50
package
org
.
rcisoft
.
business
.
memLeaveMessage
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
lombok.extern.slf4j.Slf4j
;
import
org.rcisoft.business.memLeaveMessage.dao.MemLeaveMessageRepository
;
import
org.rcisoft.business.memLeaveMessage.entity.*
;
import
org.rcisoft.business.memLeaveMessage.service.MemLeaveMessageService
;
import
org.rcisoft.core.model.CyPageInfo
;
import
org.rcisoft.core.model.CyPersistModel
;
import
org.rcisoft.core.util.CyIdGenUtil
;
import
org.rcisoft.core.util.CyUserUtil
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Isolation
;
import
org.springframework.transaction.annotation.Propagation
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.*
;
/**
* Created by cy on 2024年12月20日 下午3:35:34.
*/
@Service
@Transactional
(
readOnly
=
true
,
propagation
=
Propagation
.
NOT_SUPPORTED
)
@Slf4j
public
class
MemLeaveMessageServiceImpl
extends
ServiceImpl
<
MemLeaveMessageRepository
,
MemLeaveMessage
>
implements
MemLeaveMessageService
{
@Autowired
CyIdGenUtil
cyIdGenUtil
;
@Autowired
private
MemLeaveMessageRepository
memLeaveMessageRepository
;
/**
* 留言
* @param memLeaveMessage
* @return
*/
@Override
@Transactional
(
propagation
=
Propagation
.
REQUIRED
,
isolation
=
Isolation
.
DEFAULT
)
public
CyPersistModel
leaveMessage
(
MemLeaveMessage
memLeaveMessage
)
{
//先插入到留言表
memLeaveMessage
.
setCreateBy
(
Integer
.
valueOf
(
CyUserUtil
.
getAuthenBusinessId
()));
memLeaveMessage
.
setUpdateBy
(
Integer
.
valueOf
(
CyUserUtil
.
getAuthenBusinessId
()));
memLeaveMessage
.
setCreateDate
(
new
Date
());
memLeaveMessage
.
setUpdateDate
(
new
Date
());
int
line
=
memLeaveMessageRepository
.
insert
(
memLeaveMessage
);
//修改对话表
//查询是否已存在对话
MemLeaveMessage
memUserTalks
=
memLeaveMessageRepository
.
queryUserTalk
(
Integer
.
valueOf
(
CyUserUtil
.
getAuthenBusinessId
()),
memLeaveMessage
.
getTargetId
());
if
(
memUserTalks
!=
null
){
//如果已经存在该对话,则只更新信息
MemLeaveMessage
memUserTalk
=
new
MemLeaveMessage
();
memUserTalk
.
setBusinessId
(
memUserTalks
.
getBusinessId
());
memUserTalk
.
setCreateBy
(
Integer
.
valueOf
(
CyUserUtil
.
getAuthenBusinessId
()));
memUserTalk
.
setUpdateBy
(
Integer
.
valueOf
(
CyUserUtil
.
getAuthenBusinessId
()));
memUserTalk
.
setTargetId
(
memLeaveMessage
.
getTargetId
());
memUserTalk
.
setContent
(
memLeaveMessage
.
getContent
());
memUserTalk
.
setCreateDate
(
new
Date
());
memUserTalk
.
setUpdateDate
(
new
Date
());
memUserTalk
.
setDelStatus
(
"0"
);
int
line1
=
memLeaveMessageRepository
.
updateUserTalk
(
memUserTalk
);
}
else
{
MemLeaveMessage
memUserTalk
=
new
MemLeaveMessage
();
memUserTalk
.
setCreateBy
(
Integer
.
valueOf
(
CyUserUtil
.
getAuthenBusinessId
()));
memUserTalk
.
setUpdateBy
(
Integer
.
valueOf
(
CyUserUtil
.
getAuthenBusinessId
()));
memUserTalk
.
setCreateDate
(
new
Date
());
memUserTalk
.
setUpdateDate
(
new
Date
());
memUserTalk
.
setTargetId
(
memLeaveMessage
.
getTargetId
());
memUserTalk
.
setContent
(
memLeaveMessage
.
getContent
());
memUserTalk
.
setDelStatus
(
"0"
);
int
line1
=
memLeaveMessageRepository
.
insertUserTalk
(
memUserTalk
);
}
return
new
CyPersistModel
(
line
);
}
/**
* 分页查询对话列表
*
* @param paginationUtility
* @param memLeaveMessage
*/
@Override
public
IPage
<
MemLeaveMessage
>
queryTalkByPagination
(
CyPageInfo
<
MemLeaveMessage
>
paginationUtility
,
MemLeaveMessage
memLeaveMessage
)
{
memLeaveMessage
.
setCreateBy
(
Integer
.
valueOf
(
CyUserUtil
.
getAuthenBusinessId
()));
IPage
<
MemLeaveMessage
>
userLeaveMessageIPage
=
memLeaveMessageRepository
.
queryTalkByPagination
(
paginationUtility
,
memLeaveMessage
);
return
userLeaveMessageIPage
;
}
/**
* 查询留言列表详情 1对1的
* @param paginationUtility
* @param memLeaveMessage
*/
@Override
public
IPage
<
MemLeaveMessage
>
leaveMessageDetailByPagination
(
CyPageInfo
<
MemLeaveMessage
>
paginationUtility
,
MemLeaveMessage
memLeaveMessage
)
{
memLeaveMessage
.
setCreateBy
(
Integer
.
valueOf
(
CyUserUtil
.
getAuthenBusinessId
()));
//先按倒序取最新的十条
IPage
<
MemLeaveMessage
>
userLeaveMessageIPage
=
memLeaveMessageRepository
.
leaveMessageDetailList
(
paginationUtility
,
memLeaveMessage
);
//再对这最新的10条正序排序
userLeaveMessageIPage
.
getRecords
().
sort
(
Comparator
.
comparing
(
MemLeaveMessage:
:
getCreateDate
));
return
userLeaveMessageIPage
;
}
}
src/main/resources/mapper/business/memInfo/mapper/MemInfoMapper.xml
View file @
e691ed50
...
...
@@ -649,6 +649,6 @@
WHERE
(oulm.create_by = #{entity.userId} and oulm.target_id = #{entity.targetId})
OR (oulm.create_by = #{entity.targetId} and oulm.target_id = #{entity.userId})
ORDER BY create_date
a
sc
ORDER BY create_date
de
sc
</select>
</mapper>
src/main/resources/mapper/business/memLeaveMessage/mapper/MemLeaveMessageMapper.xml
0 → 100644
View file @
e691ed50
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"org.rcisoft.business.memLeaveMessage.dao.MemLeaveMessageRepository"
>
<insert
id=
"insertUserTalk"
>
insert into mem_user_talk (target_id,create_by,create_date,update_by,update_date,content,del_status)
values(#{targetId},#{createBy},#{createDate},#{createBy},#{updateDate},#{content})
</insert>
<update
id=
"updateUserTalk"
>
update mem_user_talk
set target_id = #{targetId},
create_by = #{createBy},
create_date = #{createDate},
update_by = #{createBy},
update_date = #{updateDate},
content = #{content},
del_status = #{delStatus}
where business_id = #{businessId}
</update>
<select
id=
"queryTalkByPagination"
resultType=
"org.rcisoft.business.memLeaveMessage.entity.MemLeaveMessage"
>
SELECT
mut.business_id,
mut.content,
mut.create_date,
mut.create_by,
mut.target_id,
mi.avatar,
mi.mem_nick_name
FROM mem_user_talk mut
LEFT JOIN mem_info mi ON mi.user_id = mut.target_id
WHERE mut.create_by = #{entity.createBy}
UNION ALL(
SELECT
mut.business_id,
mut.content,
mut.create_date,
mut.create_by,
mut.target_id,
mi.avatar,
mi.mem_nick_name
FROM mem_user_talk mut
LEFT JOIN mem_info mi ON mi.user_id = mut.create_by
WHERE mut.target_id = #{entity.createBy}
)
ORDER BY create_date DESC
</select>
<select
id=
"leaveMessageDetailList"
resultType=
"org.rcisoft.business.memLeaveMessage.entity.MemLeaveMessage"
>
select
oulm.business_id,
oulm.content,
oulm.create_date,
oulm.create_by,
oulm.target_id,
mi.avatar,
mi.mem_nick_name
from mem_user_leave_message oulm
LEFT JOIN mem_info mi ON mi.user_id = oulm.create_by
WHERE
(oulm.create_by = #{entity.createBy} and oulm.target_id = #{entity.targetId})
OR (oulm.create_by = #{entity.targetId} and oulm.target_id = #{entity.createBy})
ORDER BY create_date desc
</select>
<select
id=
"queryUserTalk"
resultType=
"org.rcisoft.business.memLeaveMessage.entity.MemLeaveMessage"
>
select mut.*
from mem_user_talk mut
WHERE
(mut.create_by = #{userId} and mut.target_id = #{targetId})
OR (mut.create_by = #{targetId} and mut.target_id = #{userId})
</select>
</mapper>
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