Merge remote-tracking branch 'origin/master'

pull/3/head
chenjinlong 2021-02-03 21:16:11 +08:00
commit 6969a070e3
24 changed files with 365 additions and 250 deletions

View File

@ -17,6 +17,13 @@
<dependencies> <dependencies>
<!--校验模块的api-->
<dependency>
<groupId>cn.stylefeng.roses</groupId>
<artifactId>validator-api</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies> </dependencies>

View File

@ -1,5 +1,6 @@
package cn.stylefeng.roses.kernel.dsctn.api.exception; package cn.stylefeng.roses.kernel.dsctn.api.exception;
import cn.hutool.core.util.StrUtil;
import cn.stylefeng.roses.kernel.dsctn.api.constants.DatasourceContainerConstants; import cn.stylefeng.roses.kernel.dsctn.api.constants.DatasourceContainerConstants;
import cn.stylefeng.roses.kernel.rule.abstracts.AbstractExceptionEnum; import cn.stylefeng.roses.kernel.rule.abstracts.AbstractExceptionEnum;
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException; import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
@ -12,12 +13,12 @@ import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
*/ */
public class DatasourceContainerException extends ServiceException { public class DatasourceContainerException extends ServiceException {
public DatasourceContainerException(AbstractExceptionEnum exception, Object... params) {
super(DatasourceContainerConstants.DS_CTN_MODULE_NAME, exception.getErrorCode(), StrUtil.format(exception.getUserTip(), params));
}
public DatasourceContainerException(AbstractExceptionEnum exception) { public DatasourceContainerException(AbstractExceptionEnum exception) {
super(DatasourceContainerConstants.DS_CTN_MODULE_NAME, exception); super(DatasourceContainerConstants.DS_CTN_MODULE_NAME, exception);
} }
public DatasourceContainerException(AbstractExceptionEnum exception, String userTip) {
super(DatasourceContainerConstants.DS_CTN_MODULE_NAME, exception.getErrorCode(), userTip);
}
} }

View File

@ -1,4 +1,4 @@
package cn.stylefeng.roses.kernel.dsctn.modular.pojo; package cn.stylefeng.roses.kernel.dsctn.api.pojo.request;
import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest; import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest;
import cn.stylefeng.roses.kernel.validator.validators.unique.TableUniqueValue; import cn.stylefeng.roses.kernel.validator.validators.unique.TableUniqueValue;
@ -16,7 +16,7 @@ import javax.validation.constraints.NotNull;
*/ */
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@Data @Data
public class DatabaseInfoParam extends BaseRequest { public class DatabaseInfoRequest extends BaseRequest {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;

View File

@ -32,14 +32,6 @@
<version>1.0.0</version> <version>1.0.0</version>
</dependency> </dependency>
<!--参数校验模块-->
<!--用在控制器,参数校验-->
<dependency>
<groupId>cn.stylefeng.roses</groupId>
<artifactId>validator-api</artifactId>
<version>1.0.0</version>
</dependency>
<!--数据库sdk--> <!--数据库sdk-->
<!--数据库dao框架--> <!--数据库dao框架-->
<dependency> <dependency>

View File

@ -2,7 +2,7 @@ package cn.stylefeng.roses.kernel.dsctn.modular.controller;
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
import cn.stylefeng.roses.kernel.dsctn.modular.entity.DatabaseInfo; import cn.stylefeng.roses.kernel.dsctn.modular.entity.DatabaseInfo;
import cn.stylefeng.roses.kernel.dsctn.modular.pojo.DatabaseInfoParam; import cn.stylefeng.roses.kernel.dsctn.api.pojo.request.DatabaseInfoRequest;
import cn.stylefeng.roses.kernel.dsctn.modular.service.DatabaseInfoService; import cn.stylefeng.roses.kernel.dsctn.modular.service.DatabaseInfoService;
import cn.stylefeng.roses.kernel.resource.api.annotation.ApiResource; import cn.stylefeng.roses.kernel.resource.api.annotation.ApiResource;
import cn.stylefeng.roses.kernel.resource.api.annotation.GetResource; import cn.stylefeng.roses.kernel.resource.api.annotation.GetResource;
@ -37,8 +37,8 @@ public class DatabaseInfoController {
* @date 2020/11/1 22:16 * @date 2020/11/1 22:16
*/ */
@PostResource(name = "新增数据源", path = "/databaseInfo/add") @PostResource(name = "新增数据源", path = "/databaseInfo/add")
public ResponseData add(@RequestBody @Validated(BaseRequest.add.class) DatabaseInfoParam databaseInfoParam) { public ResponseData add(@RequestBody @Validated(BaseRequest.add.class) DatabaseInfoRequest databaseInfoRequest) {
databaseInfoService.add(databaseInfoParam); databaseInfoService.add(databaseInfoRequest);
return new SuccessResponseData(); return new SuccessResponseData();
} }
@ -49,8 +49,8 @@ public class DatabaseInfoController {
* @date 2020/11/1 22:16 * @date 2020/11/1 22:16
*/ */
@PostResource(name = "编辑数据源", path = "/databaseInfo/edit") @PostResource(name = "编辑数据源", path = "/databaseInfo/edit")
public ResponseData edit(@RequestBody @Validated(DatabaseInfoParam.edit.class) DatabaseInfoParam databaseInfoParam) { public ResponseData edit(@RequestBody @Validated(DatabaseInfoRequest.edit.class) DatabaseInfoRequest databaseInfoRequest) {
databaseInfoService.edit(databaseInfoParam); databaseInfoService.edit(databaseInfoRequest);
return new SuccessResponseData(); return new SuccessResponseData();
} }
@ -61,8 +61,8 @@ public class DatabaseInfoController {
* @date 2020/11/1 22:18 * @date 2020/11/1 22:18
*/ */
@PostResource(name = "删除数据源", path = "/databaseInfo/delete") @PostResource(name = "删除数据源", path = "/databaseInfo/delete")
public ResponseData delete(@RequestBody @Validated(DatabaseInfoParam.delete.class) DatabaseInfoParam databaseInfoParam) { public ResponseData del(@RequestBody @Validated(DatabaseInfoRequest.delete.class) DatabaseInfoRequest databaseInfoRequest) {
databaseInfoService.delete(databaseInfoParam); databaseInfoService.del(databaseInfoRequest);
return new SuccessResponseData(); return new SuccessResponseData();
} }
@ -73,8 +73,8 @@ public class DatabaseInfoController {
* @date 2020/11/1 22:18 * @date 2020/11/1 22:18
*/ */
@GetResource(name = "查询数据源列表(带分页)", path = "/databaseInfo/page") @GetResource(name = "查询数据源列表(带分页)", path = "/databaseInfo/page")
public ResponseData page(DatabaseInfoParam databaseInfoParam) { public ResponseData findPage(DatabaseInfoRequest databaseInfoRequest) {
PageResult<DatabaseInfo> pageResult = databaseInfoService.page(databaseInfoParam); PageResult<DatabaseInfo> pageResult = databaseInfoService.findPage(databaseInfoRequest);
return new SuccessResponseData(pageResult); return new SuccessResponseData(pageResult);
} }
@ -85,8 +85,8 @@ public class DatabaseInfoController {
* @date 2021/1/23 20:29 * @date 2021/1/23 20:29
*/ */
@GetResource(name = "查询数据源详情", path = "/databaseInfo/detail") @GetResource(name = "查询数据源详情", path = "/databaseInfo/detail")
public ResponseData detail(@Validated(BaseRequest.detail.class) DatabaseInfoParam databaseInfoParam) { public ResponseData detail(@Validated(BaseRequest.detail.class) DatabaseInfoRequest databaseInfoRequest) {
DatabaseInfo databaseInfo = databaseInfoService.detail(databaseInfoParam); DatabaseInfo databaseInfo = databaseInfoService.detail(databaseInfoRequest);
return new SuccessResponseData(databaseInfo); return new SuccessResponseData(databaseInfo);
} }

View File

@ -2,9 +2,11 @@ package cn.stylefeng.roses.kernel.dsctn.modular.service;
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
import cn.stylefeng.roses.kernel.dsctn.modular.entity.DatabaseInfo; import cn.stylefeng.roses.kernel.dsctn.modular.entity.DatabaseInfo;
import cn.stylefeng.roses.kernel.dsctn.modular.pojo.DatabaseInfoParam; import cn.stylefeng.roses.kernel.dsctn.api.pojo.request.DatabaseInfoRequest;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/** /**
* *
* *
@ -16,47 +18,58 @@ public interface DatabaseInfoService extends IService<DatabaseInfo> {
/** /**
* *
* *
* @param databaseInfoParam * @param databaseInfoRequest
* @author fengshuonan * @author fengshuonan
* @date 2020/11/1 21:47 * @date 2020/11/1 21:47
*/ */
void add(DatabaseInfoParam databaseInfoParam); void add(DatabaseInfoRequest databaseInfoRequest);
/** /**
* *
* *
* @param databaseInfoParam * @param databaseInfoRequest
* @author fengshuonan * @author fengshuonan
* @date 2020/11/1 21:47 * @date 2020/11/1 21:47
*/ */
void edit(DatabaseInfoParam databaseInfoParam); void edit(DatabaseInfoRequest databaseInfoRequest);
/** /**
* service * service
* *
* @param databaseInfoParam * @param databaseInfoRequest
* @author fengshuonan * @author fengshuonan
* @date 2020/11/1 21:47 * @date 2020/11/1 21:47
*/ */
void delete(DatabaseInfoParam databaseInfoParam); void del(DatabaseInfoRequest databaseInfoRequest);
/**
*
*
* @param databaseInfoParam
* @return
* @author fengshuonan
* @date 2020/11/1 21:47
*/
PageResult<DatabaseInfo> page(DatabaseInfoParam databaseInfoParam);
/** /**
* *
* *
* @param databaseInfoParam * @param databaseInfoRequest
* @author fengshuonan * @author fengshuonan
* @date 2021/1/23 20:30 * @date 2021/1/23 20:30
*/ */
DatabaseInfo detail(DatabaseInfoParam databaseInfoParam); DatabaseInfo detail(DatabaseInfoRequest databaseInfoRequest);
/**
*
*
* @param databaseInfoRequest
* @return
* @author fengshuonan
* @date 2020/11/1 21:47
*/
PageResult<DatabaseInfo> findPage(DatabaseInfoRequest databaseInfoRequest);
/**
*
*
* @param databaseInfoRequest
* @author liuhanqing
* @date 2021/2/2 21:21
*/
List<DatabaseInfo> findList(DatabaseInfoRequest databaseInfoRequest);
} }

View File

@ -13,7 +13,7 @@ import cn.stylefeng.roses.kernel.dsctn.context.DataSourceContext;
import cn.stylefeng.roses.kernel.dsctn.modular.entity.DatabaseInfo; import cn.stylefeng.roses.kernel.dsctn.modular.entity.DatabaseInfo;
import cn.stylefeng.roses.kernel.dsctn.modular.factory.DruidPropertiesFactory; import cn.stylefeng.roses.kernel.dsctn.modular.factory.DruidPropertiesFactory;
import cn.stylefeng.roses.kernel.dsctn.modular.mapper.DatabaseInfoMapper; import cn.stylefeng.roses.kernel.dsctn.modular.mapper.DatabaseInfoMapper;
import cn.stylefeng.roses.kernel.dsctn.modular.pojo.DatabaseInfoParam; import cn.stylefeng.roses.kernel.dsctn.api.pojo.request.DatabaseInfoRequest;
import cn.stylefeng.roses.kernel.dsctn.modular.service.DatabaseInfoService; import cn.stylefeng.roses.kernel.dsctn.modular.service.DatabaseInfoService;
import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum; import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum;
import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.pool.DruidDataSource;
@ -45,13 +45,13 @@ public class DatabaseInfoServiceImpl extends ServiceImpl<DatabaseInfoMapper, Dat
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void add(DatabaseInfoParam databaseInfoParam) { public void add(DatabaseInfoRequest databaseInfoRequest) {
// 判断数据库连接是否可用 // 判断数据库连接是否可用
validateConnection(databaseInfoParam); validateConnection(databaseInfoRequest);
// 数据库中插入记录 // 数据库中插入记录
DatabaseInfo entity = parseEntity(databaseInfoParam); DatabaseInfo entity = parseEntity(databaseInfoRequest);
this.save(entity); this.save(entity);
// 往数据源容器文中添加数据源 // 往数据源容器文中添加数据源
@ -60,25 +60,23 @@ public class DatabaseInfoServiceImpl extends ServiceImpl<DatabaseInfoMapper, Dat
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void edit(DatabaseInfoParam databaseInfoParam) { public void edit(DatabaseInfoRequest databaseInfoRequest) {
DatabaseInfo oldEntity = this.getById(databaseInfoParam.getDbId()); DatabaseInfo oldEntity = this.getById(databaseInfoRequest.getDbId());
if (oldEntity == null) { if (oldEntity == null) {
String userTip = StrUtil.format(EDIT_DATASOURCE_ERROR.getUserTip(), databaseInfoParam.getDbId()); throw new DatasourceContainerException(EDIT_DATASOURCE_ERROR, databaseInfoRequest.getDbId());
throw new DatasourceContainerException(EDIT_DATASOURCE_ERROR, userTip);
} }
// 不能修改数据源的名称 // 不能修改数据源的名称
if (!databaseInfoParam.getDbName().equals(oldEntity.getDbName())) { if (!databaseInfoRequest.getDbName().equals(oldEntity.getDbName())) {
String userTip = StrUtil.format(EDIT_DATASOURCE_NAME_ERROR.getUserTip(), oldEntity.getDbName()); throw new DatasourceContainerException(EDIT_DATASOURCE_NAME_ERROR, oldEntity.getDbName());
throw new DatasourceContainerException(EDIT_DATASOURCE_NAME_ERROR, userTip);
} }
// 判断数据库连接是否可用 // 判断数据库连接是否可用
validateConnection(databaseInfoParam); validateConnection(databaseInfoRequest);
// 更新库中的记录 // 更新库中的记录
BeanUtil.copyProperties(databaseInfoParam, oldEntity); BeanUtil.copyProperties(databaseInfoRequest, oldEntity);
this.updateById(oldEntity); this.updateById(oldEntity);
// 往数据源容器文中添加数据源 // 往数据源容器文中添加数据源
@ -87,11 +85,11 @@ public class DatabaseInfoServiceImpl extends ServiceImpl<DatabaseInfoMapper, Dat
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void delete(DatabaseInfoParam databaseInfoParam) { public void del(DatabaseInfoRequest databaseInfoRequest) {
DatabaseInfo databaseInfo = this.getById(databaseInfoParam.getDbId()); DatabaseInfo databaseInfo = this.getById(databaseInfoRequest.getDbId());
if (databaseInfo == null) { if (databaseInfo == null) {
String userTip = StrUtil.format(DELETE_DATASOURCE_NOT_EXISTED_ERROR.getUserTip(), databaseInfoParam.getDbId()); String userTip = StrUtil.format(DELETE_DATASOURCE_NOT_EXISTED_ERROR.getUserTip(), databaseInfoRequest.getDbId());
throw new DatasourceContainerException(DELETE_DATASOURCE_NOT_EXISTED_ERROR, userTip); throw new DatasourceContainerException(DELETE_DATASOURCE_NOT_EXISTED_ERROR, userTip);
} }
@ -108,7 +106,7 @@ public class DatabaseInfoServiceImpl extends ServiceImpl<DatabaseInfoMapper, Dat
// 删除库中的数据源记录 // 删除库中的数据源记录
LambdaUpdateWrapper<DatabaseInfo> updateWrapper = new LambdaUpdateWrapper<>(); LambdaUpdateWrapper<DatabaseInfo> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.set(DatabaseInfo::getDelFlag, YesOrNotEnum.Y.getCode()); updateWrapper.set(DatabaseInfo::getDelFlag, YesOrNotEnum.Y.getCode());
updateWrapper.eq(DatabaseInfo::getDbId, databaseInfoParam.getDbId()); updateWrapper.eq(DatabaseInfo::getDbId, databaseInfoRequest.getDbId());
this.update(updateWrapper); this.update(updateWrapper);
// 删除容器中的数据源记录 // 删除容器中的数据源记录
@ -116,16 +114,8 @@ public class DatabaseInfoServiceImpl extends ServiceImpl<DatabaseInfoMapper, Dat
} }
@Override @Override
public PageResult<DatabaseInfo> page(DatabaseInfoParam databaseInfoParam) { public PageResult<DatabaseInfo> findPage(DatabaseInfoRequest databaseInfoRequest) {
LambdaQueryWrapper<DatabaseInfo> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<DatabaseInfo> queryWrapper = createWrapper(databaseInfoRequest);
// 根据名称模糊查询
if (ObjectUtil.isNotNull(databaseInfoParam) && ObjectUtil.isNotEmpty(databaseInfoParam.getDbName())) {
queryWrapper.like(DatabaseInfo::getDbName, databaseInfoParam.getDbName());
}
// 查询没被删除的
queryWrapper.eq(DatabaseInfo::getDelFlag, YesOrNotEnum.N);
// 查询分页结果 // 查询分页结果
Page<DatabaseInfo> result = this.page(PageFactory.defaultPage(), queryWrapper); Page<DatabaseInfo> result = this.page(PageFactory.defaultPage(), queryWrapper);
@ -139,13 +129,20 @@ public class DatabaseInfoServiceImpl extends ServiceImpl<DatabaseInfoMapper, Dat
return PageResultFactory.createPageResult(result); return PageResultFactory.createPageResult(result);
} }
@Override
public DatabaseInfo detail(DatabaseInfoParam databaseInfoParam) {
DatabaseInfo oldEntity = this.getById(databaseInfoParam.getDbId()); @Override
public List<DatabaseInfo> findList(DatabaseInfoRequest databaseInfoRequest) {
LambdaQueryWrapper<DatabaseInfo> wrapper = createWrapper(databaseInfoRequest);
return this.list(wrapper);
}
@Override
public DatabaseInfo detail(DatabaseInfoRequest databaseInfoRequest) {
DatabaseInfo oldEntity = this.getById(databaseInfoRequest.getDbId());
if (oldEntity == null) { if (oldEntity == null) {
String userTip = StrUtil.format(EDIT_DATASOURCE_ERROR.getUserTip(), databaseInfoParam.getDbId()); throw new DatasourceContainerException(EDIT_DATASOURCE_ERROR, databaseInfoRequest.getDbId());
throw new DatasourceContainerException(EDIT_DATASOURCE_ERROR, userTip);
} }
oldEntity.setPassword("***"); oldEntity.setPassword("***");
@ -158,7 +155,7 @@ public class DatabaseInfoServiceImpl extends ServiceImpl<DatabaseInfoMapper, Dat
* @author fengshuonan * @author fengshuonan
* @date 2020/11/1 21:50 * @date 2020/11/1 21:50
*/ */
private void validateConnection(DatabaseInfoParam param) { private void validateConnection(DatabaseInfoRequest param) {
Connection conn = null; Connection conn = null;
try { try {
Class.forName(param.getJdbcDriver()); Class.forName(param.getJdbcDriver());
@ -183,7 +180,7 @@ public class DatabaseInfoServiceImpl extends ServiceImpl<DatabaseInfoMapper, Dat
* @author fengshuonan * @author fengshuonan
* @date 2020/11/1 21:50 * @date 2020/11/1 21:50
*/ */
private DatabaseInfo parseEntity(DatabaseInfoParam param) { private DatabaseInfo parseEntity(DatabaseInfoRequest param) {
DatabaseInfo entity = new DatabaseInfo(); DatabaseInfo entity = new DatabaseInfo();
BeanUtil.copyProperties(param, entity); BeanUtil.copyProperties(param, entity);
return entity; return entity;
@ -225,4 +222,27 @@ public class DatabaseInfoServiceImpl extends ServiceImpl<DatabaseInfoMapper, Dat
} }
} }
/**
* wrapper
*
* @author liuhanqing
* @date 2021/1/8 14:16
*/
private LambdaQueryWrapper<DatabaseInfo> createWrapper(DatabaseInfoRequest databaseInfoRequest) {
LambdaQueryWrapper<DatabaseInfo> queryWrapper = new LambdaQueryWrapper<>();
// 根据名称模糊查询
String dbName = databaseInfoRequest.getDbName();
// 拼接sql 条件
queryWrapper.like(ObjectUtil.isNotEmpty(dbName), DatabaseInfo::getDbName, dbName);
// 查询没被删除的
queryWrapper.eq(DatabaseInfo::getDelFlag, YesOrNotEnum.N);
return queryWrapper;
}
} }

View File

@ -2,9 +2,9 @@ package cn.stylefeng.roses.kernel.message.api;
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
import cn.stylefeng.roses.kernel.message.api.enums.MessageReadFlagEnum; import cn.stylefeng.roses.kernel.message.api.enums.MessageReadFlagEnum;
import cn.stylefeng.roses.kernel.message.api.pojo.MessageResponse; import cn.stylefeng.roses.kernel.message.api.pojo.response.MessageResponse;
import cn.stylefeng.roses.kernel.message.api.pojo.MessageSendParam; import cn.stylefeng.roses.kernel.message.api.pojo.request.MessageSendRequest;
import cn.stylefeng.roses.kernel.message.api.pojo.MessageParam; import cn.stylefeng.roses.kernel.message.api.pojo.request.MessageRequest;
import java.util.List; import java.util.List;
@ -22,20 +22,20 @@ public interface MessageApi {
/** /**
* *
* *
* @param messageSendParam * @param messageSendRequest
* @author liuhanqing * @author liuhanqing
* @date 2021/1/2 21:21 * @date 2021/1/2 21:21
*/ */
void sendMessage(MessageSendParam messageSendParam); void sendMessage(MessageSendRequest messageSendRequest);
/** /**
* *
* *
* @param messageParam * @param messageRequest
* @author liuhanqing * @author liuhanqing
* @date 2021/1/2 22:15 * @date 2021/1/2 22:15
*/ */
void updateReadFlag(MessageParam messageParam); void updateReadFlag(MessageRequest messageRequest);
/** /**
* *
@ -74,72 +74,72 @@ public interface MessageApi {
/** /**
* *
* *
* @param messageParam * @param messageRequest
* @return * @return
* @author liuhanqing * @author liuhanqing
* @date 2021/1/2 21:21 * @date 2021/1/2 21:21
*/ */
MessageResponse messageDetail(MessageParam messageParam); MessageResponse messageDetail(MessageRequest messageRequest);
/** /**
* *
* *
* @param messageParam * @param messageRequest
* @return * @return
* @author liuhanqing * @author liuhanqing
* @date 2021/1/2 21:21 * @date 2021/1/2 21:21
*/ */
PageResult<MessageResponse> queryPage(MessageParam messageParam); PageResult<MessageResponse> queryPage(MessageRequest messageRequest);
/** /**
* *
* *
* @param messageParam * @param messageRequest
* @return * @return
* @author liuhanqing * @author liuhanqing
* @date 2021/1/2 21:21 * @date 2021/1/2 21:21
*/ */
List<MessageResponse> queryList(MessageParam messageParam); List<MessageResponse> queryList(MessageRequest messageRequest);
/** /**
* *
* *
* @param messageParam * @param messageRequest
* @return * @return
* @author liuhanqing * @author liuhanqing
* @date 2021/1/2 21:21 * @date 2021/1/2 21:21
*/ */
PageResult<MessageResponse> queryPageCurrentUser(MessageParam messageParam); PageResult<MessageResponse> queryPageCurrentUser(MessageRequest messageRequest);
/** /**
* *
* *
* @param messageParam * @param messageRequest
* @return * @return
* @author liuhanqing * @author liuhanqing
* @date 2021/1/2 21:21 * @date 2021/1/2 21:21
*/ */
List<MessageResponse> queryListCurrentUser(MessageParam messageParam); List<MessageResponse> queryListCurrentUser(MessageRequest messageRequest);
/** /**
* *
* *
* @param messageParam * @param messageRequest
* @return * @return
* @author liuhanqing * @author liuhanqing
* @date 2021/1/11 21:21 * @date 2021/1/11 21:21
*/ */
Integer queryCount(MessageParam messageParam); Integer queryCount(MessageRequest messageRequest);
/** /**
* *
* *
* @param messageParam * @param messageRequest
* @return * @return
* @author liuhanqing * @author liuhanqing
* @date 2021/1/11 21:21 * @date 2021/1/11 21:21
*/ */
Integer queryCountCurrentUser(MessageParam messageParam); Integer queryCountCurrentUser(MessageRequest messageRequest);
} }

View File

@ -1,10 +1,6 @@
package cn.stylefeng.roses.kernel.message.api; package cn.stylefeng.roses.kernel.message.api;
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; import cn.stylefeng.roses.kernel.message.api.pojo.request.MessageSendRequest;
import cn.stylefeng.roses.kernel.message.api.enums.MessageReadFlagEnum;
import cn.stylefeng.roses.kernel.message.api.pojo.MessageParam;
import cn.stylefeng.roses.kernel.message.api.pojo.MessageResponse;
import cn.stylefeng.roses.kernel.message.api.pojo.MessageSendParam;
import java.util.List; import java.util.List;
@ -20,10 +16,10 @@ public interface WebsocketApi {
* websocket * websocket
* *
* @param userIdList userId * @param userIdList userId
* @param messageSendParam * @param messageSendRequest
* @author liuhanqing * @author liuhanqing
* @date 2021/1/26 18:17 * @date 2021/1/26 18:17
*/ */
void sendWebSocketMessage(List<Long> userIdList, MessageSendParam messageSendParam); void sendWebSocketMessage(List<Long> userIdList, MessageSendRequest messageSendRequest);
} }

View File

@ -1,5 +1,6 @@
package cn.stylefeng.roses.kernel.message.api.exception; package cn.stylefeng.roses.kernel.message.api.exception;
import cn.hutool.core.util.StrUtil;
import cn.stylefeng.roses.kernel.message.api.constants.MessageConstants; import cn.stylefeng.roses.kernel.message.api.constants.MessageConstants;
import cn.stylefeng.roses.kernel.rule.abstracts.AbstractExceptionEnum; import cn.stylefeng.roses.kernel.rule.abstracts.AbstractExceptionEnum;
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException; import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
@ -12,6 +13,10 @@ import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
*/ */
public class MessageException extends ServiceException { public class MessageException extends ServiceException {
public MessageException(AbstractExceptionEnum exception, Object... params) {
super(MessageConstants.MESSAGE_MODULE_NAME, exception.getErrorCode(), StrUtil.format(exception.getUserTip(), params));
}
public MessageException(AbstractExceptionEnum exception) { public MessageException(AbstractExceptionEnum exception) {
super(MessageConstants.MESSAGE_MODULE_NAME, exception); super(MessageConstants.MESSAGE_MODULE_NAME, exception);
} }

View File

@ -17,7 +17,12 @@ public enum MessageExceptionEnum implements AbstractExceptionEnum {
/** /**
* receiveUserIds * receiveUserIds
*/ */
ERROR_RECEIVE_USER_IDS(RuleConstants.BUSINESS_ERROR_TYPE_CODE + MessageConstants.MESSAGE_EXCEPTION_STEP_CODE + "01", "接收用户id字符串不合法"); ERROR_RECEIVE_USER_IDS(RuleConstants.BUSINESS_ERROR_TYPE_CODE + MessageConstants.MESSAGE_EXCEPTION_STEP_CODE + "01", "接收用户id字符串不合法"),
/**
*
*/
NOT_EXISTED(RuleConstants.BUSINESS_ERROR_TYPE_CODE + MessageConstants.MESSAGE_EXCEPTION_STEP_CODE + "01", "消息记录不存在id为{}");
/** /**
* *

View File

@ -1,4 +1,4 @@
package cn.stylefeng.roses.kernel.message.api.pojo; package cn.stylefeng.roses.kernel.message.api.pojo.request;
import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest; import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest;
import lombok.Data; import lombok.Data;
@ -17,7 +17,7 @@ import java.util.List;
*/ */
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@Data @Data
public class MessageParam extends BaseRequest { public class MessageRequest extends BaseRequest {
/** /**
* id * id

View File

@ -1,7 +1,6 @@
package cn.stylefeng.roses.kernel.message.api.pojo; package cn.stylefeng.roses.kernel.message.api.pojo.request;
import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest; import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
@ -17,7 +16,7 @@ import java.util.Date;
*/ */
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@Data @Data
public class MessageSendParam extends BaseRequest { public class MessageSendRequest extends BaseRequest {
/** /**
* id, * id,

View File

@ -1,4 +1,4 @@
package cn.stylefeng.roses.kernel.message.api.pojo; package cn.stylefeng.roses.kernel.message.api.pojo.response;
import cn.stylefeng.roses.kernel.message.api.enums.MessageBusinessTypeEnum; import cn.stylefeng.roses.kernel.message.api.enums.MessageBusinessTypeEnum;
import cn.stylefeng.roses.kernel.message.api.enums.MessagePriorityLevelEnum; import cn.stylefeng.roses.kernel.message.api.enums.MessagePriorityLevelEnum;

View File

@ -3,8 +3,8 @@ package cn.stylefeng.roses.kernel.message.modular.manage.controller;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.stylefeng.roses.kernel.message.api.MessageApi; import cn.stylefeng.roses.kernel.message.api.MessageApi;
import cn.stylefeng.roses.kernel.message.api.enums.MessageReadFlagEnum; import cn.stylefeng.roses.kernel.message.api.enums.MessageReadFlagEnum;
import cn.stylefeng.roses.kernel.message.api.pojo.MessageParam; import cn.stylefeng.roses.kernel.message.api.pojo.request.MessageRequest;
import cn.stylefeng.roses.kernel.message.api.pojo.MessageSendParam; import cn.stylefeng.roses.kernel.message.api.pojo.request.MessageSendRequest;
import cn.stylefeng.roses.kernel.resource.api.annotation.ApiResource; import cn.stylefeng.roses.kernel.resource.api.annotation.ApiResource;
import cn.stylefeng.roses.kernel.resource.api.annotation.GetResource; import cn.stylefeng.roses.kernel.resource.api.annotation.GetResource;
import cn.stylefeng.roses.kernel.resource.api.annotation.PostResource; import cn.stylefeng.roses.kernel.resource.api.annotation.PostResource;
@ -43,9 +43,9 @@ public class SysMessageController {
* @date 2021/1/8 13:50 * @date 2021/1/8 13:50
*/ */
@PostResource(name = "发送系统消息", path = "/sysMessage/sendMessage") @PostResource(name = "发送系统消息", path = "/sysMessage/sendMessage")
public ResponseData sendMessage(@RequestBody @Validated(MessageSendParam.add.class) MessageSendParam messageSendParam) { public ResponseData sendMessage(@RequestBody @Validated(MessageSendRequest.add.class) MessageSendRequest messageSendRequest) {
messageSendParam.setMessageSendTime(new Date()); messageSendRequest.setMessageSendTime(new Date());
messageApi.sendMessage(messageSendParam); messageApi.sendMessage(messageSendRequest);
return new SuccessResponseData(); return new SuccessResponseData();
} }
@ -56,8 +56,8 @@ public class SysMessageController {
* @date 2021/1/8 13:50 * @date 2021/1/8 13:50
*/ */
@PostResource(name = "批量更新系统消息状态", path = "/sysMessage/batchUpdateReadFlag") @PostResource(name = "批量更新系统消息状态", path = "/sysMessage/batchUpdateReadFlag")
public ResponseData batchUpdateReadFlag(@RequestBody @Validated(MessageParam.updateReadFlag.class) MessageParam messageParam) { public ResponseData batchUpdateReadFlag(@RequestBody @Validated(MessageRequest.updateReadFlag.class) MessageRequest messageRequest) {
List<Long> messageIdList = messageParam.getMessageIdList(); List<Long> messageIdList = messageRequest.getMessageIdList();
messageApi.batchReadFlagByMessageIds(StrUtil.join(",", messageIdList), MessageReadFlagEnum.READ); messageApi.batchReadFlagByMessageIds(StrUtil.join(",", messageIdList), MessageReadFlagEnum.READ);
return new SuccessResponseData(); return new SuccessResponseData();
} }
@ -81,8 +81,8 @@ public class SysMessageController {
* @date 2021/1/8 13:50 * @date 2021/1/8 13:50
*/ */
@PostResource(name = "删除系统消息", path = "/sysMessage/delete") @PostResource(name = "删除系统消息", path = "/sysMessage/delete")
public ResponseData delete(@RequestBody @Validated(MessageParam.delete.class) MessageParam messageParam) { public ResponseData delete(@RequestBody @Validated(MessageRequest.delete.class) MessageRequest messageRequest) {
messageApi.deleteByMessageId(messageParam.getMessageId()); messageApi.deleteByMessageId(messageRequest.getMessageId());
return new SuccessResponseData(); return new SuccessResponseData();
} }
@ -94,8 +94,8 @@ public class SysMessageController {
* @date 2021/1/8 13:50 * @date 2021/1/8 13:50
*/ */
@GetResource(name = "查看系统消息", path = "/sysMessage/detail") @GetResource(name = "查看系统消息", path = "/sysMessage/detail")
public ResponseData detail(@Validated(MessageParam.detail.class) MessageParam messageParam) { public ResponseData detail(@Validated(MessageRequest.detail.class) MessageRequest messageRequest) {
return new SuccessResponseData(messageApi.messageDetail(messageParam)); return new SuccessResponseData(messageApi.messageDetail(messageRequest));
} }
@ -106,8 +106,8 @@ public class SysMessageController {
* @date 2021/1/8 13:50 * @date 2021/1/8 13:50
*/ */
@GetResource(name = "分页查询系统消息列表", path = "/sysMessage/page") @GetResource(name = "分页查询系统消息列表", path = "/sysMessage/page")
public ResponseData page(MessageParam messageParam) { public ResponseData page(MessageRequest messageRequest) {
return new SuccessResponseData(messageApi.queryPageCurrentUser(messageParam)); return new SuccessResponseData(messageApi.queryPageCurrentUser(messageRequest));
} }
/** /**
@ -117,8 +117,8 @@ public class SysMessageController {
* @date 2021/1/8 13:50 * @date 2021/1/8 13:50
*/ */
@GetResource(name = "系统消息列表", path = "/sysMessage/list") @GetResource(name = "系统消息列表", path = "/sysMessage/list")
public ResponseData list(MessageParam messageParam) { public ResponseData list(MessageRequest messageRequest) {
return new SuccessResponseData(messageApi.queryListCurrentUser(messageParam)); return new SuccessResponseData(messageApi.queryListCurrentUser(messageRequest));
} }
@ -129,12 +129,12 @@ public class SysMessageController {
* @date 2021/1/11 19:50 * @date 2021/1/11 19:50
*/ */
@GetResource(name = "系统消息列表", path = "/sysMessage/unReadCount") @GetResource(name = "系统消息列表", path = "/sysMessage/unReadCount")
public ResponseData msgUnRead(MessageParam messageParam) { public ResponseData msgUnRead(MessageRequest messageRequest) {
messageParam.setReadFlag(MessageReadFlagEnum.UNREAD.getCode()); messageRequest.setReadFlag(MessageReadFlagEnum.UNREAD.getCode());
Integer messageCount = messageApi.queryCountCurrentUser(messageParam); Integer messageCount = messageApi.queryCountCurrentUser(messageRequest);
Map<String, Object> msgMap = new HashMap<>(1); Map<String, Object> msgMap = new HashMap<>(1);
msgMap.put("msgUnReadCount", messageCount); msgMap.put("msgUnReadCount", messageCount);
return new SuccessResponseData(messageApi.queryListCurrentUser(messageParam)); return new SuccessResponseData(messageApi.queryListCurrentUser(messageRequest));
} }
} }

View File

@ -13,9 +13,9 @@ import cn.stylefeng.roses.kernel.message.api.constants.MessageConstants;
import cn.stylefeng.roses.kernel.message.api.enums.MessageReadFlagEnum; import cn.stylefeng.roses.kernel.message.api.enums.MessageReadFlagEnum;
import cn.stylefeng.roses.kernel.message.api.exception.MessageException; import cn.stylefeng.roses.kernel.message.api.exception.MessageException;
import cn.stylefeng.roses.kernel.message.api.exception.enums.MessageExceptionEnum; import cn.stylefeng.roses.kernel.message.api.exception.enums.MessageExceptionEnum;
import cn.stylefeng.roses.kernel.message.api.pojo.MessageParam; import cn.stylefeng.roses.kernel.message.api.pojo.request.MessageRequest;
import cn.stylefeng.roses.kernel.message.api.pojo.MessageResponse; import cn.stylefeng.roses.kernel.message.api.pojo.response.MessageResponse;
import cn.stylefeng.roses.kernel.message.api.pojo.MessageSendParam; import cn.stylefeng.roses.kernel.message.api.pojo.request.MessageSendRequest;
import cn.stylefeng.roses.kernel.message.db.entity.SysMessage; import cn.stylefeng.roses.kernel.message.db.entity.SysMessage;
import cn.stylefeng.roses.kernel.message.db.service.SysMessageService; import cn.stylefeng.roses.kernel.message.db.service.SysMessageService;
import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum; import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum;
@ -51,8 +51,8 @@ public class MessageDbServiceImpl implements MessageApi {
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void sendMessage(MessageSendParam messageSendParam) { public void sendMessage(MessageSendRequest messageSendRequest) {
String receiveUserIds = messageSendParam.getReceiveUserIds(); String receiveUserIds = messageSendRequest.getReceiveUserIds();
// 获取当前登录人 // 获取当前登录人
LoginUser loginUser = LoginContext.me().getLoginUser(); LoginUser loginUser = LoginContext.me().getLoginUser();
List<SysMessage> sendMsgList = new ArrayList<>(); List<SysMessage> sendMsgList = new ArrayList<>();
@ -71,7 +71,7 @@ public class MessageDbServiceImpl implements MessageApi {
Set<Long> userIdSet = new HashSet<>(userIds); Set<Long> userIdSet = new HashSet<>(userIds);
SysMessage sysMessage = new SysMessage(); SysMessage sysMessage = new SysMessage();
BeanUtil.copyProperties(messageSendParam, sysMessage); BeanUtil.copyProperties(messageSendRequest, sysMessage);
// 初始化默认值 // 初始化默认值
sysMessage.setReadFlag(MessageReadFlagEnum.UNREAD.getCode()); sysMessage.setReadFlag(MessageReadFlagEnum.UNREAD.getCode());
sysMessage.setSendUserId(loginUser.getUserId()); sysMessage.setSendUserId(loginUser.getUserId());
@ -83,18 +83,18 @@ public class MessageDbServiceImpl implements MessageApi {
} }
}); });
websocketApi.sendWebSocketMessage(ListUtil.toList(userIdSet), messageSendParam); websocketApi.sendWebSocketMessage(ListUtil.toList(userIdSet), messageSendRequest);
sysMessageService.saveBatch(sendMsgList); sysMessageService.saveBatch(sendMsgList);
} }
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void updateReadFlag(MessageParam messageParam) { public void updateReadFlag(MessageRequest messageRequest) {
Long messageId = messageParam.getMessageId(); Long messageId = messageRequest.getMessageId();
SysMessage sysMessage = sysMessageService.getById(messageId); SysMessage sysMessage = sysMessageService.getById(messageId);
Optional.ofNullable(sysMessage).ifPresent(msg -> { Optional.ofNullable(sysMessage).ifPresent(msg -> {
msg.setReadFlag(messageParam.getReadFlag()); msg.setReadFlag(messageRequest.getReadFlag());
sysMessageService.updateById(msg); sysMessageService.updateById(msg);
}); });
@ -143,8 +143,8 @@ public class MessageDbServiceImpl implements MessageApi {
} }
@Override @Override
public MessageResponse messageDetail(MessageParam messageParam) { public MessageResponse messageDetail(MessageRequest messageRequest) {
SysMessage sysMessage = sysMessageService.getById(messageParam.getMessageId()); SysMessage sysMessage = sysMessageService.getById(messageRequest.getMessageId());
// 判断消息为未读状态更新为已读 // 判断消息为未读状态更新为已读
Optional.ofNullable(sysMessage).ifPresent(msg -> { Optional.ofNullable(sysMessage).ifPresent(msg -> {
if (MessageReadFlagEnum.UNREAD.getCode().equals(sysMessage.getReadFlag())) { if (MessageReadFlagEnum.UNREAD.getCode().equals(sysMessage.getReadFlag())) {
@ -158,8 +158,8 @@ public class MessageDbServiceImpl implements MessageApi {
} }
@Override @Override
public PageResult<MessageResponse> queryPage(MessageParam messageParam) { public PageResult<MessageResponse> queryPage(MessageRequest messageRequest) {
PageResult<SysMessage> pageResult = sysMessageService.page(messageParam); PageResult<SysMessage> pageResult = sysMessageService.findPage(messageRequest);
PageResult<MessageResponse> result = new PageResult<>(); PageResult<MessageResponse> result = new PageResult<>();
List<SysMessage> messageList = pageResult.getRows(); List<SysMessage> messageList = pageResult.getRows();
List<MessageResponse> resultList = messageList.stream().map(msg -> { List<MessageResponse> resultList = messageList.stream().map(msg -> {
@ -173,8 +173,8 @@ public class MessageDbServiceImpl implements MessageApi {
} }
@Override @Override
public List<MessageResponse> queryList(MessageParam messageParam) { public List<MessageResponse> queryList(MessageRequest messageRequest) {
List<SysMessage> messageList = sysMessageService.list(messageParam); List<SysMessage> messageList = sysMessageService.findList(messageRequest);
List<MessageResponse> resultList = messageList.stream().map(msg -> { List<MessageResponse> resultList = messageList.stream().map(msg -> {
MessageResponse response = new MessageResponse(); MessageResponse response = new MessageResponse();
BeanUtil.copyProperties(msg, response); BeanUtil.copyProperties(msg, response);
@ -184,41 +184,41 @@ public class MessageDbServiceImpl implements MessageApi {
} }
@Override @Override
public PageResult<MessageResponse> queryPageCurrentUser(MessageParam messageParam) { public PageResult<MessageResponse> queryPageCurrentUser(MessageRequest messageRequest) {
if (ObjectUtil.isEmpty(messageParam)) { if (ObjectUtil.isEmpty(messageRequest)) {
messageParam = new MessageParam(); messageRequest = new MessageRequest();
} }
// 获取当前登录人 // 获取当前登录人
LoginUser loginUser = LoginContext.me().getLoginUser(); LoginUser loginUser = LoginContext.me().getLoginUser();
messageParam.setReceiveUserId(loginUser.getUserId()); messageRequest.setReceiveUserId(loginUser.getUserId());
return this.queryPage(messageParam); return this.queryPage(messageRequest);
} }
@Override @Override
public List<MessageResponse> queryListCurrentUser(MessageParam messageParam) { public List<MessageResponse> queryListCurrentUser(MessageRequest messageRequest) {
if (ObjectUtil.isEmpty(messageParam)) { if (ObjectUtil.isEmpty(messageRequest)) {
messageParam = new MessageParam(); messageRequest = new MessageRequest();
} }
// 获取当前登录人 // 获取当前登录人
LoginUser loginUser = LoginContext.me().getLoginUser(); LoginUser loginUser = LoginContext.me().getLoginUser();
messageParam.setReceiveUserId(loginUser.getUserId()); messageRequest.setReceiveUserId(loginUser.getUserId());
return this.queryList(messageParam); return this.queryList(messageRequest);
} }
@Override @Override
public Integer queryCount(MessageParam messageParam) { public Integer queryCount(MessageRequest messageRequest) {
return sysMessageService.count(messageParam); return sysMessageService.findCount(messageRequest);
} }
@Override @Override
public Integer queryCountCurrentUser(MessageParam messageParam) { public Integer queryCountCurrentUser(MessageRequest messageRequest) {
if (ObjectUtil.isEmpty(messageParam)) { if (ObjectUtil.isEmpty(messageRequest)) {
messageParam = new MessageParam(); messageRequest = new MessageRequest();
} }
// 获取当前登录人 // 获取当前登录人
LoginUser loginUser = LoginContext.me().getLoginUser(); LoginUser loginUser = LoginContext.me().getLoginUser();
messageParam.setReceiveUserId(loginUser.getUserId()); messageRequest.setReceiveUserId(loginUser.getUserId());
return this.queryCount(messageParam); return this.queryCount(messageRequest);
} }
} }

View File

@ -1,7 +1,7 @@
package cn.stylefeng.roses.kernel.message.db.service; package cn.stylefeng.roses.kernel.message.db.service;
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
import cn.stylefeng.roses.kernel.message.api.pojo.MessageParam; import cn.stylefeng.roses.kernel.message.api.pojo.request.MessageRequest;
import cn.stylefeng.roses.kernel.message.db.entity.SysMessage; import cn.stylefeng.roses.kernel.message.db.entity.SysMessage;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
@ -14,30 +14,67 @@ import java.util.List;
* @date 2020/12/31 20:09 * @date 2020/12/31 20:09
*/ */
public interface SysMessageService extends IService<SysMessage> { public interface SysMessageService extends IService<SysMessage> {
/**
*
*
* @param messageRequest
* @author liuhanqing
* @date 2021/2/2 20:48
*/
void add(MessageRequest messageRequest);
/**
*
*
* @param messageRequest
* @author liuhanqing
* @date 2021/1/26 12:52
*/
void del(MessageRequest messageRequest);
/**
*
*
* @param messageRequest
* @author liuhanqing
* @date 2021/2/2 20:48
*/
void edit(MessageRequest messageRequest);
/**
* --id
*
* @param messageRequest
* @author liuhanqing
* @date 2021/2/2 20:48
*/
SysMessage detail(MessageRequest messageRequest);
/** /**
* *
* *
* @param messageParam * @param messageRequest
* @author liuhanqing * @author liuhanqing
* @date 2021/1/2 15:21 * @date 2021/2/2 20:48
*/ */
PageResult<SysMessage> page(MessageParam messageParam); PageResult<SysMessage> findPage(MessageRequest messageRequest);
/** /**
* *
* *
* @param messageParam * @param messageRequest
* @author liuhanqing * @author liuhanqing
* @date 2021/1/8 15:21 * @date 2021/1/8 15:21
*/ */
List<SysMessage> list(MessageParam messageParam); List<SysMessage> findList(MessageRequest messageRequest);
/** /**
* *
* *
* @param messageParam * @param messageRequest
* @author liuhanqing * @author liuhanqing
* @date 2021/1/11 19:21 * @date 2021/1/11 19:21
*/ */
Integer count(MessageParam messageParam); Integer findCount(MessageRequest messageRequest);
} }

View File

@ -1,10 +1,13 @@
package cn.stylefeng.roses.kernel.message.db.service.impl; package cn.stylefeng.roses.kernel.message.db.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.stylefeng.roses.kernel.db.api.factory.PageFactory; import cn.stylefeng.roses.kernel.db.api.factory.PageFactory;
import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory; import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory;
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
import cn.stylefeng.roses.kernel.message.api.pojo.MessageParam; import cn.stylefeng.roses.kernel.message.api.exception.MessageException;
import cn.stylefeng.roses.kernel.message.api.exception.enums.MessageExceptionEnum;
import cn.stylefeng.roses.kernel.message.api.pojo.request.MessageRequest;
import cn.stylefeng.roses.kernel.message.db.entity.SysMessage; import cn.stylefeng.roses.kernel.message.db.entity.SysMessage;
import cn.stylefeng.roses.kernel.message.db.mapper.SysMessageMapper; import cn.stylefeng.roses.kernel.message.db.mapper.SysMessageMapper;
import cn.stylefeng.roses.kernel.message.db.service.SysMessageService; import cn.stylefeng.roses.kernel.message.db.service.SysMessageService;
@ -25,56 +28,94 @@ import java.util.List;
@Service @Service
public class SysMessageServiceImpl extends ServiceImpl<SysMessageMapper, SysMessage> implements SysMessageService { public class SysMessageServiceImpl extends ServiceImpl<SysMessageMapper, SysMessage> implements SysMessageService {
@Override
public void add(MessageRequest messageRequest) {
SysMessage sysMessage = new SysMessage();
BeanUtil.copyProperties(messageRequest, sysMessage);
this.save(sysMessage);
}
@Override @Override
public PageResult<SysMessage> page(MessageParam messageParam) { public void del(MessageRequest messageRequest) {
LambdaQueryWrapper<SysMessage> wrapper = createWrapper(messageParam); SysMessage sysMessage = this.querySysMessageById(messageRequest);
// 逻辑删除
sysMessage.setDelFlag(YesOrNotEnum.Y.getCode());
this.updateById(sysMessage);
}
@Override
public void edit(MessageRequest messageRequest) {
SysMessage sysMessage = new SysMessage();
BeanUtil.copyProperties(messageRequest, sysMessage);
this.updateById(sysMessage);
}
@Override
public SysMessage detail(MessageRequest messageRequest) {
LambdaQueryWrapper<SysMessage> queryWrapper = this.createWrapper(messageRequest);
return this.getOne(queryWrapper, false);
}
@Override
public PageResult<SysMessage> findPage(MessageRequest messageRequest) {
LambdaQueryWrapper<SysMessage> wrapper = createWrapper(messageRequest);
Page<SysMessage> page = this.page(PageFactory.defaultPage(), wrapper); Page<SysMessage> page = this.page(PageFactory.defaultPage(), wrapper);
return PageResultFactory.createPageResult(page); return PageResultFactory.createPageResult(page);
} }
@Override @Override
public List<SysMessage> list(MessageParam messageParam) { public List<SysMessage> findList(MessageRequest messageRequest) {
LambdaQueryWrapper<SysMessage> wrapper = createWrapper(messageParam); LambdaQueryWrapper<SysMessage> wrapper = createWrapper(messageRequest);
return this.list(wrapper); return this.list(wrapper);
} }
@Override @Override
public Integer count(MessageParam messageParam) { public Integer findCount(MessageRequest messageRequest) {
LambdaQueryWrapper<SysMessage> wrapper = createWrapper(messageParam); LambdaQueryWrapper<SysMessage> wrapper = createWrapper(messageRequest);
return this.count(wrapper); return this.count(wrapper);
} }
/**
* id
*
* @author liuhanqing
* @date 2021/2/2 20:57
*/
private SysMessage querySysMessageById(MessageRequest messageRequest) {
SysMessage sysMessage = this.getById(messageRequest.getMessageId());
if (ObjectUtil.isEmpty(sysMessage)) {
throw new MessageException(MessageExceptionEnum.NOT_EXISTED, messageRequest.getMessageId());
}
return sysMessage;
}
/** /**
* wrapper * wrapper
* *
* @author liuhanqing * @author liuhanqing
* @date 2021/1/8 14:16 * @date 2021/1/8 14:16
*/ */
private LambdaQueryWrapper<SysMessage> createWrapper(MessageParam messageParam) { private LambdaQueryWrapper<SysMessage> createWrapper(MessageRequest messageRequest) {
LambdaQueryWrapper<SysMessage> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SysMessage> queryWrapper = new LambdaQueryWrapper<>();
if (ObjectUtil.isNotNull(messageParam)) { // 消息标题
String messageTitle = messageRequest.getMessageTitle();
// 拼接消息标题 // 接收人id
if (ObjectUtil.isNotEmpty(messageParam.getMessageTitle())) { Long receiveUserId = messageRequest.getReceiveUserId();
queryWrapper.like(SysMessage::getMessageTitle, messageParam.getMessageTitle());
}
// 拼接接收人id查询条件 // 消息类型
if (ObjectUtil.isNotEmpty(messageParam.getReceiveUserId())) { String messageType = messageRequest.getMessageType();
queryWrapper.eq(SysMessage::getReceiveUserId, messageParam.getReceiveUserId());
}
// 拼接消息类型 // 阅读状态
if (ObjectUtil.isNotEmpty(messageParam.getMessageType())) { Integer readFlag = messageRequest.getReadFlag();
queryWrapper.eq(SysMessage::getMessageType, messageParam.getMessageType());
} // 拼接sql 条件
queryWrapper.like(ObjectUtil.isNotEmpty(messageTitle), SysMessage::getMessageTitle, messageTitle);
queryWrapper.eq(ObjectUtil.isNotEmpty(receiveUserId), SysMessage::getReceiveUserId, receiveUserId);
queryWrapper.eq(ObjectUtil.isNotEmpty(messageType), SysMessage::getMessageType, messageType);
queryWrapper.eq(ObjectUtil.isNotEmpty(readFlag), SysMessage::getReadFlag, readFlag);
// 拼接阅读状态
if (ObjectUtil.isNotEmpty(messageParam.getReadFlag())) {
queryWrapper.eq(SysMessage::getReadFlag, messageParam.getReadFlag());
}
}
// 查询未删除的 // 查询未删除的
queryWrapper.ne(SysMessage::getDelFlag, YesOrNotEnum.Y.getCode()); queryWrapper.ne(SysMessage::getDelFlag, YesOrNotEnum.Y.getCode());

View File

@ -5,8 +5,8 @@ import cn.stylefeng.roses.kernel.auth.api.context.LoginContext;
import cn.stylefeng.roses.kernel.auth.api.pojo.login.LoginUser; import cn.stylefeng.roses.kernel.auth.api.pojo.login.LoginUser;
import cn.stylefeng.roses.kernel.message.api.WebsocketApi; import cn.stylefeng.roses.kernel.message.api.WebsocketApi;
import cn.stylefeng.roses.kernel.message.api.enums.MessageReadFlagEnum; import cn.stylefeng.roses.kernel.message.api.enums.MessageReadFlagEnum;
import cn.stylefeng.roses.kernel.message.api.pojo.MessageResponse; import cn.stylefeng.roses.kernel.message.api.pojo.response.MessageResponse;
import cn.stylefeng.roses.kernel.message.api.pojo.MessageSendParam; import cn.stylefeng.roses.kernel.message.api.pojo.request.MessageSendRequest;
import cn.stylefeng.roses.kernel.message.websocket.manager.WebSocketManager; import cn.stylefeng.roses.kernel.message.websocket.manager.WebSocketManager;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.JsonProcessingException;
@ -14,7 +14,6 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
@ -35,12 +34,12 @@ public class WebSocketServiceImpl implements WebsocketApi {
} }
@Override @Override
public void sendWebSocketMessage(List<Long> userIdList, MessageSendParam messageSendParam) { public void sendWebSocketMessage(List<Long> userIdList, MessageSendRequest messageSendRequest) {
// 获取当前登录人 // 获取当前登录人
LoginUser loginUser = LoginContext.me().getLoginUser(); LoginUser loginUser = LoginContext.me().getLoginUser();
try { try {
MessageResponse sysMessage = new MessageResponse(); MessageResponse sysMessage = new MessageResponse();
BeanUtil.copyProperties(messageSendParam, sysMessage); BeanUtil.copyProperties(messageSendRequest, sysMessage);
sysMessage.setReadFlag(MessageReadFlagEnum.UNREAD.getCode()); sysMessage.setReadFlag(MessageReadFlagEnum.UNREAD.getCode());
sysMessage.setSendUserId(loginUser.getUserId()); sysMessage.setSendUserId(loginUser.getUserId());
String msgInfo = MAPPER.writeValueAsString(sysMessage); String msgInfo = MAPPER.writeValueAsString(sysMessage);

View File

@ -41,7 +41,8 @@ public enum NoticeExceptionEnum implements AbstractExceptionEnum {
/** /**
* *
*/ */
NOTICE_NOT_EXIST(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + SystemConstants.SYSTEM_EXCEPTION_STEP_CODE + "91", "通知不存在"), NOTICE_NOT_EXIST(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + SystemConstants.SYSTEM_EXCEPTION_STEP_CODE + "91", "通知不存在id为{}"),
/** /**
* *
*/ */

View File

@ -20,10 +20,10 @@ import org.springframework.web.bind.annotation.RestController;
*/ */
@RestController @RestController
@ApiResource(name = "通知管理") @ApiResource(name = "通知管理")
public class NoticeController { public class SysNoticeController {
@Autowired @Autowired
private SysNoticeService sysResourceService; private SysNoticeService sysNoticeService;
/** /**
@ -34,7 +34,7 @@ public class NoticeController {
*/ */
@PostResource(name = "添加通知管理", path = "/sysNotice/add") @PostResource(name = "添加通知管理", path = "/sysNotice/add")
public ResponseData add(@RequestBody @Validated(SysNoticeRequest.add.class) SysNoticeRequest sysNoticeParam) { public ResponseData add(@RequestBody @Validated(SysNoticeRequest.add.class) SysNoticeRequest sysNoticeParam) {
sysResourceService.add(sysNoticeParam); sysNoticeService.add(sysNoticeParam);
return new SuccessResponseData(); return new SuccessResponseData();
} }
@ -46,7 +46,7 @@ public class NoticeController {
*/ */
@PostResource(name = "编辑通知管理", path = "/sysNotice/edit") @PostResource(name = "编辑通知管理", path = "/sysNotice/edit")
public ResponseData edit(@RequestBody @Validated(SysNoticeRequest.edit.class) SysNoticeRequest sysNoticeParam) { public ResponseData edit(@RequestBody @Validated(SysNoticeRequest.edit.class) SysNoticeRequest sysNoticeParam) {
sysResourceService.edit(sysNoticeParam); sysNoticeService.edit(sysNoticeParam);
return new SuccessResponseData(); return new SuccessResponseData();
} }
@ -59,7 +59,7 @@ public class NoticeController {
*/ */
@PostResource(name = "删除通知管理", path = "/sysNotice/delete") @PostResource(name = "删除通知管理", path = "/sysNotice/delete")
public ResponseData delete(@RequestBody @Validated(SysNoticeRequest.delete.class) SysNoticeRequest sysNoticeParam) { public ResponseData delete(@RequestBody @Validated(SysNoticeRequest.delete.class) SysNoticeRequest sysNoticeParam) {
sysResourceService.delete(sysNoticeParam); sysNoticeService.del(sysNoticeParam);
return new SuccessResponseData(); return new SuccessResponseData();
} }
@ -71,7 +71,7 @@ public class NoticeController {
*/ */
@GetResource(name = "查看通知管理", path = "/sysNotice/detail") @GetResource(name = "查看通知管理", path = "/sysNotice/detail")
public ResponseData detail(@Validated(SysNoticeRequest.detail.class) SysNoticeRequest sysNoticeParam) { public ResponseData detail(@Validated(SysNoticeRequest.detail.class) SysNoticeRequest sysNoticeParam) {
return new SuccessResponseData(sysResourceService.detail(sysNoticeParam)); return new SuccessResponseData(sysNoticeService.detail(sysNoticeParam));
} }
/** /**
@ -82,7 +82,7 @@ public class NoticeController {
*/ */
@GetResource(name = "查询通知管理", path = "/sysNotice/page") @GetResource(name = "查询通知管理", path = "/sysNotice/page")
public ResponseData page(SysNoticeRequest sysNoticeParam) { public ResponseData page(SysNoticeRequest sysNoticeParam) {
return new SuccessResponseData(sysResourceService.page(sysNoticeParam)); return new SuccessResponseData(sysNoticeService.findPage(sysNoticeParam));
} }
/** /**
@ -93,6 +93,6 @@ public class NoticeController {
*/ */
@GetResource(name = "通知管理列表", path = "/sysNotice/list") @GetResource(name = "通知管理列表", path = "/sysNotice/list")
public ResponseData list(SysNoticeRequest sysNoticeParam) { public ResponseData list(SysNoticeRequest sysNoticeParam) {
return new SuccessResponseData(sysResourceService.list(sysNoticeParam)); return new SuccessResponseData(sysNoticeService.findList(sysNoticeParam));
} }
} }

View File

@ -19,60 +19,60 @@ public interface SysNoticeService extends IService<SysNotice>, NoticeServiceApi
/** /**
* *
* *
* @param SysNoticeParam * @param sysNoticeRequest
* @author liuhanqing * @author liuhanqing
* @date 2021/1/9 14:57 * @date 2021/1/9 14:57
*/ */
void add(SysNoticeRequest SysNoticeParam); void add(SysNoticeRequest sysNoticeRequest);
/** /**
* *
* *
* @param SysNoticeParam * @param sysNoticeRequest
* @author liuhanqing * @author liuhanqing
* @date 2021/1/9 14:58 * @date 2021/1/9 14:58
*/ */
void edit(SysNoticeRequest SysNoticeParam); void edit(SysNoticeRequest sysNoticeRequest);
/** /**
* *
* *
* @param SysNoticeParam * @param sysNoticeRequest
* @author liuhanqing * @author liuhanqing
* @date 2021/1/9 14:57 * @date 2021/1/9 14:57
*/ */
void delete(SysNoticeRequest SysNoticeParam); void del(SysNoticeRequest sysNoticeRequest);
/** /**
* *
* *
* @param SysNoticeParam * @param sysNoticeRequest
* @return * @return
* @author liuhanqing * @author liuhanqing
* @date 2021/1/9 14:56 * @date 2021/1/9 14:56
*/ */
SysNotice detail(SysNoticeRequest SysNoticeParam); SysNotice detail(SysNoticeRequest sysNoticeRequest);
/** /**
* *
* *
* @param SysNoticeParam * @param sysNoticeRequest
* @return * @return
* @author liuhanqing * @author liuhanqing
* @date 2021/1/9 14:56 * @date 2021/1/9 14:56
*/ */
PageResult<SysNotice> page(SysNoticeRequest SysNoticeParam); PageResult<SysNotice> findPage(SysNoticeRequest sysNoticeRequest);
/** /**
* *
* *
* @param SysNoticeParam * @param sysNoticeRequest
* @return * @return
* @author liuhanqing * @author liuhanqing
* @date 2021/1/9 14:56 * @date 2021/1/9 14:56
*/ */
List<SysNotice> list(SysNoticeRequest SysNoticeParam); List<SysNotice> findList(SysNoticeRequest sysNoticeRequest);
} }

View File

@ -8,12 +8,12 @@ import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory;
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
import cn.stylefeng.roses.kernel.message.api.MessageApi; import cn.stylefeng.roses.kernel.message.api.MessageApi;
import cn.stylefeng.roses.kernel.message.api.enums.MessageBusinessTypeEnum; import cn.stylefeng.roses.kernel.message.api.enums.MessageBusinessTypeEnum;
import cn.stylefeng.roses.kernel.message.api.pojo.MessageSendParam; import cn.stylefeng.roses.kernel.message.api.pojo.request.MessageSendRequest;
import cn.stylefeng.roses.kernel.notice.modular.entity.SysNotice; import cn.stylefeng.roses.kernel.notice.modular.entity.SysNotice;
import cn.stylefeng.roses.kernel.notice.modular.mapper.SysNoticeMapper; import cn.stylefeng.roses.kernel.notice.modular.mapper.SysNoticeMapper;
import cn.stylefeng.roses.kernel.notice.modular.service.SysNoticeService; import cn.stylefeng.roses.kernel.notice.modular.service.SysNoticeService;
import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum; import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum;
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException; import cn.stylefeng.roses.kernel.system.exception.SystemModularException;
import cn.stylefeng.roses.kernel.system.exception.enums.NoticeExceptionEnum; import cn.stylefeng.roses.kernel.system.exception.enums.NoticeExceptionEnum;
import cn.stylefeng.roses.kernel.system.pojo.SysNoticeRequest; import cn.stylefeng.roses.kernel.system.pojo.SysNoticeRequest;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@ -45,7 +45,7 @@ public class SysNoticeServiceImpl extends ServiceImpl<SysNoticeMapper, SysNotice
private MessageApi messageApi; private MessageApi messageApi;
private void sendMessage(SysNotice sysNotice) { private void sendMessage(SysNotice sysNotice) {
MessageSendParam message = new MessageSendParam(); MessageSendRequest message = new MessageSendRequest();
// 消息标题 // 消息标题
message.setMessageTitle(sysNotice.getNoticeTitle()); message.setMessageTitle(sysNotice.getNoticeTitle());
// 消息内容 // 消息内容
@ -78,17 +78,17 @@ public class SysNoticeServiceImpl extends ServiceImpl<SysNoticeMapper, SysNotice
@Override @Override
public void edit(SysNoticeRequest sysNoticeRequest) { public void edit(SysNoticeRequest sysNoticeRequest) {
SysNotice sysNotice = this.querySysNotice(sysNoticeRequest); SysNotice sysNotice = this.querySysNoticeById(sysNoticeRequest);
String noticeScope = sysNotice.getNoticeScope(); String noticeScope = sysNotice.getNoticeScope();
if (StrUtil.isBlank(sysNoticeRequest.getNoticeScope())) { if (StrUtil.isBlank(sysNoticeRequest.getNoticeScope())) {
sysNoticeRequest.setNoticeScope(NOTICE_SCOPE_ALL); sysNoticeRequest.setNoticeScope(NOTICE_SCOPE_ALL);
} }
if (sysNoticeRequest.equals(sysNotice.getNoticeScope())) { // 通知范围不允许修改, 如果通知范围不同抛出异常
throw new ServiceException(NoticeExceptionEnum.NOTICE_SCOPE_NOT_EDIT); if (!sysNoticeRequest.getNoticeScope().equals(sysNotice.getNoticeScope())) {
throw new SystemModularException(NoticeExceptionEnum.NOTICE_SCOPE_NOT_EDIT);
} }
BeanUtil.copyProperties(sysNoticeRequest, sysNotice); BeanUtil.copyProperties(sysNoticeRequest, sysNotice);
// 通知范围不允许修改
sysNotice.setNoticeScope(noticeScope); sysNotice.setNoticeScope(noticeScope);
if (this.updateById(sysNotice)) { if (this.updateById(sysNotice)) {
@ -98,8 +98,8 @@ public class SysNoticeServiceImpl extends ServiceImpl<SysNoticeMapper, SysNotice
@Override @Override
public void delete(SysNoticeRequest sysNoticeRequest) { public void del(SysNoticeRequest sysNoticeRequest) {
SysNotice sysNotice = this.querySysNotice(sysNoticeRequest); SysNotice sysNotice = this.querySysNoticeById(sysNoticeRequest);
// 逻辑删除 // 逻辑删除
sysNotice.setDelFlag(YesOrNotEnum.Y.getCode()); sysNotice.setDelFlag(YesOrNotEnum.Y.getCode());
this.updateById(sysNotice); this.updateById(sysNotice);
@ -107,18 +107,19 @@ public class SysNoticeServiceImpl extends ServiceImpl<SysNoticeMapper, SysNotice
@Override @Override
public SysNotice detail(SysNoticeRequest sysNoticeRequest) { public SysNotice detail(SysNoticeRequest sysNoticeRequest) {
return this.querySysNotice(sysNoticeRequest); LambdaQueryWrapper<SysNotice> queryWrapper = this.createWrapper(sysNoticeRequest);
return this.getOne(queryWrapper, false);
} }
@Override @Override
public PageResult<SysNotice> page(SysNoticeRequest sysNoticeRequest) { public PageResult<SysNotice> findPage(SysNoticeRequest sysNoticeRequest) {
LambdaQueryWrapper<SysNotice> wrapper = createWrapper(sysNoticeRequest); LambdaQueryWrapper<SysNotice> wrapper = createWrapper(sysNoticeRequest);
Page<SysNotice> page = this.page(PageFactory.defaultPage(), wrapper); Page<SysNotice> page = this.page(PageFactory.defaultPage(), wrapper);
return PageResultFactory.createPageResult(page); return PageResultFactory.createPageResult(page);
} }
@Override @Override
public List<SysNotice> list(SysNoticeRequest sysNoticeRequest) { public List<SysNotice> findList(SysNoticeRequest sysNoticeRequest) {
LambdaQueryWrapper<SysNotice> wrapper = createWrapper(sysNoticeRequest); LambdaQueryWrapper<SysNotice> wrapper = createWrapper(sysNoticeRequest);
return this.list(wrapper); return this.list(wrapper);
} }
@ -130,10 +131,10 @@ public class SysNoticeServiceImpl extends ServiceImpl<SysNoticeMapper, SysNotice
* @author liuhanqing * @author liuhanqing
* @date 2021/1/9 16:56 * @date 2021/1/9 16:56
*/ */
private SysNotice querySysNotice(SysNoticeRequest sysNoticeRequest) { private SysNotice querySysNoticeById(SysNoticeRequest sysNoticeRequest) {
SysNotice sysNotice = this.getById(sysNoticeRequest.getNoticeId()); SysNotice sysNotice = this.getById(sysNoticeRequest.getNoticeId());
if (ObjectUtil.isNull(sysNotice)) { if (ObjectUtil.isNull(sysNotice)) {
throw new ServiceException(NoticeExceptionEnum.NOTICE_NOT_EXIST); throw new SystemModularException(NoticeExceptionEnum.NOTICE_NOT_EXIST, sysNoticeRequest.getNoticeId());
} }
return sysNotice; return sysNotice;
} }
@ -146,18 +147,16 @@ public class SysNoticeServiceImpl extends ServiceImpl<SysNoticeMapper, SysNotice
*/ */
private LambdaQueryWrapper<SysNotice> createWrapper(SysNoticeRequest sysNoticeRequest) { private LambdaQueryWrapper<SysNotice> createWrapper(SysNoticeRequest sysNoticeRequest) {
LambdaQueryWrapper<SysNotice> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SysNotice> queryWrapper = new LambdaQueryWrapper<>();
if (ObjectUtil.isNotNull(sysNoticeRequest)) {
// 根据id查询
if (ObjectUtil.isNotEmpty(sysNoticeRequest.getNoticeId())) {
queryWrapper.eq(SysNotice::getNoticeId, sysNoticeRequest.getNoticeId());
}
// 根据消息标题模糊查询 // 通知id
if (ObjectUtil.isNotEmpty(sysNoticeRequest.getNoticeTitle())) { Long noticeId = sysNoticeRequest.getNoticeId();
queryWrapper.like(SysNotice::getNoticeTitle, sysNoticeRequest.getNoticeTitle()).or().like(SysNotice::getNoticeSummary, sysNoticeRequest.getNoticeTitle()).or().like(SysNotice::getNoticeContent, sysNoticeRequest.getNoticeTitle());
}
} // 通知标题
String noticeTitle = sysNoticeRequest.getNoticeTitle();
// 拼接sql 条件
queryWrapper.like(ObjectUtil.isNotEmpty(noticeTitle), SysNotice::getNoticeTitle, noticeTitle);
queryWrapper.eq(ObjectUtil.isNotEmpty(noticeId), SysNotice::getNoticeId, noticeId);
// 查询未删除状态的 // 查询未删除状态的
queryWrapper.eq(SysNotice::getDelFlag, YesOrNotEnum.N.getCode()); queryWrapper.eq(SysNotice::getDelFlag, YesOrNotEnum.N.getCode());