From c9744211d9fecf184cd04c156a95d103b5e2f6d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=96=9B=E5=AE=8F=E7=A5=A5?= <14281818+xue-hongxiang@user.noreply.gitee.com> Date: Tue, 10 Dec 2024 11:46:06 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E6=B6=88=E6=81=AF=E6=8F=90=E9=86=92?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../contraller/MessageController.java | 86 +++++++++++++ .../business/mapper/MessageMapper.java | 9 ++ .../modules/business/pojo/entity/Message.java | 40 +++++++ .../modules/business/pojo/vo/MessageVO.java | 22 ++++ .../business/service/IMessageService.java | 22 ++++ .../service/impl/MessageServiceImpl.java | 113 ++++++++++++++++++ 6 files changed, 292 insertions(+) create mode 100644 src/main/java/org/springblade/modules/business/contraller/MessageController.java create mode 100644 src/main/java/org/springblade/modules/business/mapper/MessageMapper.java create mode 100644 src/main/java/org/springblade/modules/business/pojo/entity/Message.java create mode 100644 src/main/java/org/springblade/modules/business/pojo/vo/MessageVO.java create mode 100644 src/main/java/org/springblade/modules/business/service/IMessageService.java create mode 100644 src/main/java/org/springblade/modules/business/service/impl/MessageServiceImpl.java diff --git a/src/main/java/org/springblade/modules/business/contraller/MessageController.java b/src/main/java/org/springblade/modules/business/contraller/MessageController.java new file mode 100644 index 0000000..988392a --- /dev/null +++ b/src/main/java/org/springblade/modules/business/contraller/MessageController.java @@ -0,0 +1,86 @@ +package org.springblade.modules.business.contraller; + +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.AllArgsConstructor; +import org.springblade.core.boot.ctrl.BladeController; +import org.springblade.core.tool.api.R; +import org.springblade.modules.business.pojo.entity.Message; +import org.springblade.modules.business.pojo.vo.MessageVO; +import org.springblade.modules.business.service.IMessageService; +import org.springframework.web.bind.annotation.*; + +import javax.swing.plaf.SeparatorUI; +import java.time.LocalDateTime; +import java.util.List; + +@RestController +@AllArgsConstructor +@RequestMapping("/messeage") +@Tag(name = "消息处理", description = "消息处理") +public class MessageController extends BladeController { + + private final IMessageService messageService; + + + /** + * 获取消息列表接口 + * + * @param current + * @param size + * @param start + * @param end + * @param status + * @return + */ + @PostMapping("/list") + @Operation(summary = "消息列表获取", description = "消息列表获取") + public R getMessageList(Integer current, Integer size, LocalDateTime start, LocalDateTime end, Integer status) { + List messageList = messageService.getMessageList(current, size, start, end, status); + return R.data(messageList); + } + + /** + * 获取消息总数接口 + * @return + */ + @PostMapping("/total") + @Operation(summary = "获取消息总数",description = "获取消息总数") + public R getMessageTotal(){ + Long messageTotal = messageService.getMessageTotal(); + return R.data(messageTotal); + } + + /** + * 更新已读接口 + * @param id + * @param status + * @return + */ + @PostMapping("/updateStatus") + @Operation(summary = "更新已读",description = "更新已读") + public void updateMessageStatus(Integer id, Integer status) { + messageService.updateMessageStatus(id, status); + } + + /** + * 一键已读全部接口 + */ + @PostMapping("/updateStatusAll") + @Operation(summary = "一键全部已读",description = "一键全部已读") + public void updateMessageStatusAll(){ + messageService.updateMessageStatusAll(); + } + + @PostMapping("/saveMessage") + public void saveMessage(@RequestBody Message message) { + String content = message.getContent(); + String title = message.getTitle(); + String systemType = message.getSystemType(); + Long messageUser = message.getMessageUser(); + Integer messageType = message.getMessageType(); + + messageService.saveMessage(systemType,title,content,messageUser,messageType); + } + +} diff --git a/src/main/java/org/springblade/modules/business/mapper/MessageMapper.java b/src/main/java/org/springblade/modules/business/mapper/MessageMapper.java new file mode 100644 index 0000000..9021a49 --- /dev/null +++ b/src/main/java/org/springblade/modules/business/mapper/MessageMapper.java @@ -0,0 +1,9 @@ +package org.springblade.modules.business.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springblade.modules.business.pojo.entity.Message; + +public interface MessageMapper extends BaseMapper { + + +} diff --git a/src/main/java/org/springblade/modules/business/pojo/entity/Message.java b/src/main/java/org/springblade/modules/business/pojo/entity/Message.java new file mode 100644 index 0000000..67a57b0 --- /dev/null +++ b/src/main/java/org/springblade/modules/business/pojo/entity/Message.java @@ -0,0 +1,40 @@ +package org.springblade.modules.business.pojo.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springblade.core.mp.base.BaseEntity; + +import java.util.Date; + +@Data +@TableName("blade_message") +@EqualsAndHashCode(callSuper = true) +public class Message extends BaseEntity { + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + private String systemType; + + private String tenantId; + + private Long createUser; + + private String title; + + private String content; + + private Integer level; + + private Integer method; + + private Integer isRead; + + private Integer messageType; + + private Long messageUser; + +} diff --git a/src/main/java/org/springblade/modules/business/pojo/vo/MessageVO.java b/src/main/java/org/springblade/modules/business/pojo/vo/MessageVO.java new file mode 100644 index 0000000..ca21cc2 --- /dev/null +++ b/src/main/java/org/springblade/modules/business/pojo/vo/MessageVO.java @@ -0,0 +1,22 @@ +package org.springblade.modules.business.pojo.vo; + +import lombok.Data; + +import java.time.LocalDateTime; +import java.util.Date; + +@Data +public class MessageVO { + + private Long id; + + private String content; + + private Date createTime; + + private Integer status; + + private Integer messageType; + + +} diff --git a/src/main/java/org/springblade/modules/business/service/IMessageService.java b/src/main/java/org/springblade/modules/business/service/IMessageService.java new file mode 100644 index 0000000..bf77df4 --- /dev/null +++ b/src/main/java/org/springblade/modules/business/service/IMessageService.java @@ -0,0 +1,22 @@ +package org.springblade.modules.business.service; + +import org.springblade.core.mp.base.BaseService; +import org.springblade.modules.business.pojo.entity.Message; +import org.springblade.modules.business.pojo.vo.MessageVO; + +import java.time.LocalDateTime; +import java.util.List; + +public interface IMessageService extends BaseService { + + void saveMessage(String systemType, String title, String content, Long messageUser, Integer messageType); + + + List getMessageList(Integer current, Integer size, LocalDateTime start, LocalDateTime end, Integer status); + + Long getMessageTotal(); + + void updateMessageStatus(Integer id, Integer status); + + void updateMessageStatusAll(); +} diff --git a/src/main/java/org/springblade/modules/business/service/impl/MessageServiceImpl.java b/src/main/java/org/springblade/modules/business/service/impl/MessageServiceImpl.java new file mode 100644 index 0000000..1536957 --- /dev/null +++ b/src/main/java/org/springblade/modules/business/service/impl/MessageServiceImpl.java @@ -0,0 +1,113 @@ +package org.springblade.modules.business.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.springblade.core.mp.base.BaseServiceImpl; +import org.springblade.core.secure.utils.AuthUtil; +import org.springblade.modules.business.mapper.MessageMapper; +import org.springblade.modules.business.pojo.entity.Message; +import org.springblade.modules.business.pojo.vo.MessageVO; +import org.springblade.modules.business.service.IMessageService; +import org.springframework.stereotype.Service; + +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; + +@Service +public class MessageServiceImpl extends BaseServiceImpl implements IMessageService { + + /** + * 保存消息 + * + * @param systemType + * @param title + * @param content + * @param messageUser + * @param messageType + */ + @Override + public void saveMessage(String systemType, String title, String content, Long messageUser, Integer messageType) { + Message saveInformation = new Message(); + saveInformation.setSystemType(systemType); + saveInformation.setTitle(title); + saveInformation.setContent(content); + saveInformation.setMessageUser(messageUser); + saveInformation.setTenantId(AuthUtil.getTenantId()); + saveInformation.setCreateUser(AuthUtil.getUserId()); + saveInformation.setLevel(1); + saveInformation.setMethod(2); + saveInformation.setIsRead(0); + saveInformation.setMessageType(messageType); + this.save(saveInformation); + } + + /** + * 消息列表获取 + * + * @param current + * @param size + * @param start + * @param end + * @param status + * @return + */ + @Override + public List getMessageList(Integer current, Integer size, LocalDateTime start, LocalDateTime end, Integer status) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + if (start != null && end != null) { + queryWrapper.between("create_time", start, end); + } + if (status != null) { + queryWrapper.eq("is_read", status); + } + Page page = new Page<>(current, size); + Page messagePage = baseMapper.selectPage(page, queryWrapper); + List records = messagePage.getRecords(); + MessageVO messageVO = new MessageVO(); + List messageVOList = new ArrayList<>(); + for (Message record : records) { + messageVO.setId(record.getId()); + messageVO.setContent(record.getContent()); + messageVO.setMessageType(record.getMessageType()); + messageVO.setStatus(record.getStatus()); + messageVO.setCreateTime(record.getCreateTime()); + messageVOList.add(messageVO); + } + return messageVOList; + } + + /** + * 获取消息总数 + * + * @return + */ + @Override + public Long getMessageTotal() { + return baseMapper.selectCount(null); + } + + /** + * 更新消息为已读状态 + * + * @param id + * @param status + */ + @Override + public void updateMessageStatus(Integer id, Integer status) { + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("id", id).set("is_read", status); + baseMapper.update(updateWrapper); + } + + /** + * 一键已读全部 + */ + @Override + public void updateMessageStatusAll() { + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("is_read", 0).set("is_read", 1); + baseMapper.update(updateWrapper); + } +} From 7bfc49c60d772a7236958e0891348592536feae6 Mon Sep 17 00:00:00 2001 From: litao Date: Tue, 10 Dec 2024 14:54:57 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E7=94=A8=E6=88=B7=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=EF=BC=9A=E6=98=AF=E5=90=A6=E7=BB=B4=E4=BF=9D?= =?UTF-8?q?=E5=AE=A2=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/springblade/modules/system/pojo/entity/User.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/java/org/springblade/modules/system/pojo/entity/User.java b/src/main/java/org/springblade/modules/system/pojo/entity/User.java index 746c0b0..5c3aeef 100644 --- a/src/main/java/org/springblade/modules/system/pojo/entity/User.java +++ b/src/main/java/org/springblade/modules/system/pojo/entity/User.java @@ -122,5 +122,9 @@ public class User extends TenantEntity { * 详细地址纬度 */ private String addressLat; + /** + * 是否维保客户 + */ + private Integer isMaintenanceClient; } From 9d611ac0924ac013197c6aa57b3f587fc7d1171a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=96=9B=E5=AE=8F=E7=A5=A5?= <14281818+xue-hongxiang@user.noreply.gitee.com> Date: Tue, 10 Dec 2024 17:53:16 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E6=B6=88=E6=81=AF=E6=8F=90=E9=86=92?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../contraller/MessageController.java | 26 +++++++++---------- .../modules/business/pojo/vo/MessageVO.java | 2 -- .../modules/business/pojo/vo/PageVO.java | 15 +++++++++++ .../business/service/IMessageService.java | 3 ++- .../service/impl/MessageServiceImpl.java | 9 +++++-- 5 files changed, 37 insertions(+), 18 deletions(-) create mode 100644 src/main/java/org/springblade/modules/business/pojo/vo/PageVO.java diff --git a/src/main/java/org/springblade/modules/business/contraller/MessageController.java b/src/main/java/org/springblade/modules/business/contraller/MessageController.java index 988392a..59c062f 100644 --- a/src/main/java/org/springblade/modules/business/contraller/MessageController.java +++ b/src/main/java/org/springblade/modules/business/contraller/MessageController.java @@ -10,7 +10,6 @@ import org.springblade.modules.business.pojo.vo.MessageVO; import org.springblade.modules.business.service.IMessageService; import org.springframework.web.bind.annotation.*; -import javax.swing.plaf.SeparatorUI; import java.time.LocalDateTime; import java.util.List; @@ -33,32 +32,33 @@ public class MessageController extends BladeController { * @param status * @return */ - @PostMapping("/list") + @GetMapping("/list") @Operation(summary = "消息列表获取", description = "消息列表获取") public R getMessageList(Integer current, Integer size, LocalDateTime start, LocalDateTime end, Integer status) { - List messageList = messageService.getMessageList(current, size, start, end, status); - return R.data(messageList); + return R.data(messageService.getMessageList(current, size, start, end, status)); } /** * 获取消息总数接口 + * * @return */ - @PostMapping("/total") - @Operation(summary = "获取消息总数",description = "获取消息总数") - public R getMessageTotal(){ + @GetMapping("/total") + @Operation(summary = "获取消息总数", description = "获取消息总数") + public R getMessageTotal() { Long messageTotal = messageService.getMessageTotal(); return R.data(messageTotal); } /** * 更新已读接口 + * * @param id * @param status * @return */ - @PostMapping("/updateStatus") - @Operation(summary = "更新已读",description = "更新已读") + @PutMapping("/updateStatus") + @Operation(summary = "更新已读", description = "更新已读") public void updateMessageStatus(Integer id, Integer status) { messageService.updateMessageStatus(id, status); } @@ -66,9 +66,9 @@ public class MessageController extends BladeController { /** * 一键已读全部接口 */ - @PostMapping("/updateStatusAll") - @Operation(summary = "一键全部已读",description = "一键全部已读") - public void updateMessageStatusAll(){ + @PutMapping("/updateStatusAll") + @Operation(summary = "一键全部已读", description = "一键全部已读") + public void updateMessageStatusAll() { messageService.updateMessageStatusAll(); } @@ -80,7 +80,7 @@ public class MessageController extends BladeController { Long messageUser = message.getMessageUser(); Integer messageType = message.getMessageType(); - messageService.saveMessage(systemType,title,content,messageUser,messageType); + messageService.saveMessage(systemType, title, content, messageUser, messageType); } } diff --git a/src/main/java/org/springblade/modules/business/pojo/vo/MessageVO.java b/src/main/java/org/springblade/modules/business/pojo/vo/MessageVO.java index ca21cc2..42198d3 100644 --- a/src/main/java/org/springblade/modules/business/pojo/vo/MessageVO.java +++ b/src/main/java/org/springblade/modules/business/pojo/vo/MessageVO.java @@ -17,6 +17,4 @@ public class MessageVO { private Integer status; private Integer messageType; - - } diff --git a/src/main/java/org/springblade/modules/business/pojo/vo/PageVO.java b/src/main/java/org/springblade/modules/business/pojo/vo/PageVO.java new file mode 100644 index 0000000..ebb6aec --- /dev/null +++ b/src/main/java/org/springblade/modules/business/pojo/vo/PageVO.java @@ -0,0 +1,15 @@ +package org.springblade.modules.business.pojo.vo; + +import io.lettuce.core.protocol.CommandHandler; +import lombok.Data; + +import java.util.List; + + +@Data +public class PageVO { + + private List list; + + private Long total; +} diff --git a/src/main/java/org/springblade/modules/business/service/IMessageService.java b/src/main/java/org/springblade/modules/business/service/IMessageService.java index bf77df4..d392c59 100644 --- a/src/main/java/org/springblade/modules/business/service/IMessageService.java +++ b/src/main/java/org/springblade/modules/business/service/IMessageService.java @@ -3,6 +3,7 @@ package org.springblade.modules.business.service; import org.springblade.core.mp.base.BaseService; import org.springblade.modules.business.pojo.entity.Message; import org.springblade.modules.business.pojo.vo.MessageVO; +import org.springblade.modules.business.pojo.vo.PageVO; import java.time.LocalDateTime; import java.util.List; @@ -12,7 +13,7 @@ public interface IMessageService extends BaseService { void saveMessage(String systemType, String title, String content, Long messageUser, Integer messageType); - List getMessageList(Integer current, Integer size, LocalDateTime start, LocalDateTime end, Integer status); + PageVO getMessageList(Integer current, Integer size, LocalDateTime start, LocalDateTime end, Integer status); Long getMessageTotal(); diff --git a/src/main/java/org/springblade/modules/business/service/impl/MessageServiceImpl.java b/src/main/java/org/springblade/modules/business/service/impl/MessageServiceImpl.java index 1536957..043e923 100644 --- a/src/main/java/org/springblade/modules/business/service/impl/MessageServiceImpl.java +++ b/src/main/java/org/springblade/modules/business/service/impl/MessageServiceImpl.java @@ -8,6 +8,7 @@ import org.springblade.core.secure.utils.AuthUtil; import org.springblade.modules.business.mapper.MessageMapper; import org.springblade.modules.business.pojo.entity.Message; import org.springblade.modules.business.pojo.vo.MessageVO; +import org.springblade.modules.business.pojo.vo.PageVO; import org.springblade.modules.business.service.IMessageService; import org.springframework.stereotype.Service; @@ -54,7 +55,7 @@ public class MessageServiceImpl extends BaseServiceImpl * @return */ @Override - public List getMessageList(Integer current, Integer size, LocalDateTime start, LocalDateTime end, Integer status) { + public PageVO getMessageList(Integer current, Integer size, LocalDateTime start, LocalDateTime end, Integer status) { QueryWrapper queryWrapper = new QueryWrapper<>(); if (start != null && end != null) { queryWrapper.between("create_time", start, end); @@ -65,6 +66,7 @@ public class MessageServiceImpl extends BaseServiceImpl Page page = new Page<>(current, size); Page messagePage = baseMapper.selectPage(page, queryWrapper); List records = messagePage.getRecords(); + Long total = messagePage.getTotal(); MessageVO messageVO = new MessageVO(); List messageVOList = new ArrayList<>(); for (Message record : records) { @@ -75,7 +77,10 @@ public class MessageServiceImpl extends BaseServiceImpl messageVO.setCreateTime(record.getCreateTime()); messageVOList.add(messageVO); } - return messageVOList; + PageVO pageVO = new PageVO(); + pageVO.setList(messageVOList); + pageVO.setTotal(total); + return pageVO; } /** From 33b5c9d1c5feabf539144fa8d21ea258c44a5de6 Mon Sep 17 00:00:00 2001 From: litao Date: Tue, 10 Dec 2024 20:01:08 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E5=B7=A1=E6=A3=80=E8=AE=A1=E5=88=92?= =?UTF-8?q?=E8=AE=BE=E5=A4=87=E5=B7=A1=E6=A3=80=E4=BF=A1=E6=81=AF=E8=BF=94?= =?UTF-8?q?=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../business/contraller/DeviceController.java | 8 ++----- .../business/service/IDeviceService.java | 1 + .../service/impl/DeviceServiceImpl.java | 24 +++++++++++++++++++ 3 files changed, 27 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/springblade/modules/business/contraller/DeviceController.java b/src/main/java/org/springblade/modules/business/contraller/DeviceController.java index b5a611c..360292b 100644 --- a/src/main/java/org/springblade/modules/business/contraller/DeviceController.java +++ b/src/main/java/org/springblade/modules/business/contraller/DeviceController.java @@ -101,16 +101,12 @@ public class DeviceController extends BladeController { * 设备表 巡检计划设备列表,按照实验室、楼层、房间匹配 */ @GetMapping("/limsList") - public R> limsList(Device device) { + public R> limsList(Device device) { // 参数校验 if (device.getLimsId() == null || device.getFloorId() == null || device.getRoomId() == null) { return R.success("参数为空!"); } - LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(Device.class) - .eq(Device::getLimsId, device.getLimsId()) - .eq(Device::getFloorId, device.getFloorId()) - .eq(Device::getRoomId, device.getRoomId()); - return R.data(deviceService.list(wrapper)); + return R.data(deviceService.limsList(device)); } private String sanitizeInput(String input) { diff --git a/src/main/java/org/springblade/modules/business/service/IDeviceService.java b/src/main/java/org/springblade/modules/business/service/IDeviceService.java index 49abef4..c78a874 100644 --- a/src/main/java/org/springblade/modules/business/service/IDeviceService.java +++ b/src/main/java/org/springblade/modules/business/service/IDeviceService.java @@ -48,4 +48,5 @@ public interface IDeviceService extends BaseService { void importGoods(List data, Boolean isCovered); + List limsList(Device device); } diff --git a/src/main/java/org/springblade/modules/business/service/impl/DeviceServiceImpl.java b/src/main/java/org/springblade/modules/business/service/impl/DeviceServiceImpl.java index 2479e59..b1ecbd0 100644 --- a/src/main/java/org/springblade/modules/business/service/impl/DeviceServiceImpl.java +++ b/src/main/java/org/springblade/modules/business/service/impl/DeviceServiceImpl.java @@ -3,6 +3,7 @@ package org.springblade.modules.business.service.impl; import com.aliyun.oss.ServiceException; import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -198,8 +199,31 @@ public class DeviceServiceImpl extends BaseServiceImpl imp } } + @Override + public List limsList(Device device) { + List deviceVOList = new ArrayList<>(); + // 按照实验室、楼层、房间匹配巡检计划设备列表 + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(Device.class) + .eq(Device::getLimsId, device.getLimsId()) + .eq(Device::getFloorId, device.getFloorId()) + .eq(Device::getRoomId, device.getRoomId()); + List devices = this.list(wrapper); + // 查询关联的设备巡检数据 + List maintenances = maintenanceService.list(Wrappers.lambdaQuery(DeviceMaintenance.class).in(DeviceMaintenance::getDeviceId, devices.stream().map(Device::getId).toList())); + // 组装视图返回 + devices.forEach(devic -> { + DeviceVO deviceVO = BeanUtil.copyProperties(devic, DeviceVO.class); + if (deviceVO != null) { + deviceVO.setMaintenances(maintenances.stream().filter(maintenance -> maintenance.getDeviceId().equals(devic.getId())).toList()); + deviceVOList.add(deviceVO); + } + }); + return deviceVOList; + } + /** * 获取两个list相同数据 + * * @param list1 * @param list2 * @return From b467d1a41423c1536a246dffe663883e4727f58c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=96=9B=E5=AE=8F=E7=A5=A5?= <14281818+xue-hongxiang@user.noreply.gitee.com> Date: Wed, 11 Dec 2024 18:01:52 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E6=B6=88=E6=81=AF=E6=8F=90=E9=86=92?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../contraller/MessageController.java | 26 ++++++++------- .../business/pojo/dto/MessageUpdateDTO.java | 11 +++++++ .../business/service/IMessageService.java | 5 +-- .../service/impl/MessageServiceImpl.java | 33 +++++++++++++------ 4 files changed, 52 insertions(+), 23 deletions(-) create mode 100644 src/main/java/org/springblade/modules/business/pojo/dto/MessageUpdateDTO.java diff --git a/src/main/java/org/springblade/modules/business/contraller/MessageController.java b/src/main/java/org/springblade/modules/business/contraller/MessageController.java index 59c062f..1f0ad8f 100644 --- a/src/main/java/org/springblade/modules/business/contraller/MessageController.java +++ b/src/main/java/org/springblade/modules/business/contraller/MessageController.java @@ -5,11 +5,13 @@ import io.swagger.v3.oas.annotations.tags.Tag; import lombok.AllArgsConstructor; import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.tool.api.R; +import org.springblade.modules.business.pojo.dto.MessageUpdateDTO; import org.springblade.modules.business.pojo.entity.Message; import org.springblade.modules.business.pojo.vo.MessageVO; import org.springblade.modules.business.service.IMessageService; import org.springframework.web.bind.annotation.*; +import java.time.LocalDate; import java.time.LocalDateTime; import java.util.List; @@ -27,15 +29,15 @@ public class MessageController extends BladeController { * * @param current * @param size - * @param start - * @param end + * @param startTime + * @param endTime * @param status * @return */ @GetMapping("/list") @Operation(summary = "消息列表获取", description = "消息列表获取") - public R getMessageList(Integer current, Integer size, LocalDateTime start, LocalDateTime end, Integer status) { - return R.data(messageService.getMessageList(current, size, start, end, status)); + public R getMessageList(Integer current, Integer size, LocalDate startTime, LocalDate endTime, Integer status) { + return R.data(messageService.getMessageList(current, size, startTime, endTime, status)); } /** @@ -53,23 +55,26 @@ public class MessageController extends BladeController { /** * 更新已读接口 * - * @param id - * @param status + * @param messageUpdateDTO * @return */ - @PutMapping("/updateStatus") + @PostMapping("/updateStatus") @Operation(summary = "更新已读", description = "更新已读") - public void updateMessageStatus(Integer id, Integer status) { + public R updateMessageStatus(@RequestBody MessageUpdateDTO messageUpdateDTO) { + Integer status = messageUpdateDTO.getStatus(); + Long id = messageUpdateDTO.getId(); messageService.updateMessageStatus(id, status); + return R.success(); } /** * 一键已读全部接口 */ - @PutMapping("/updateStatusAll") + @PostMapping("/updateStatusAll") @Operation(summary = "一键全部已读", description = "一键全部已读") - public void updateMessageStatusAll() { + public R updateMessageStatusAll() { messageService.updateMessageStatusAll(); + return R.success(); } @PostMapping("/saveMessage") @@ -79,7 +84,6 @@ public class MessageController extends BladeController { String systemType = message.getSystemType(); Long messageUser = message.getMessageUser(); Integer messageType = message.getMessageType(); - messageService.saveMessage(systemType, title, content, messageUser, messageType); } diff --git a/src/main/java/org/springblade/modules/business/pojo/dto/MessageUpdateDTO.java b/src/main/java/org/springblade/modules/business/pojo/dto/MessageUpdateDTO.java new file mode 100644 index 0000000..62e4d42 --- /dev/null +++ b/src/main/java/org/springblade/modules/business/pojo/dto/MessageUpdateDTO.java @@ -0,0 +1,11 @@ +package org.springblade.modules.business.pojo.dto; + +import lombok.Data; + +@Data +public class MessageUpdateDTO { + + private Long id; + + private Integer status; +} diff --git a/src/main/java/org/springblade/modules/business/service/IMessageService.java b/src/main/java/org/springblade/modules/business/service/IMessageService.java index d392c59..2437229 100644 --- a/src/main/java/org/springblade/modules/business/service/IMessageService.java +++ b/src/main/java/org/springblade/modules/business/service/IMessageService.java @@ -5,6 +5,7 @@ import org.springblade.modules.business.pojo.entity.Message; import org.springblade.modules.business.pojo.vo.MessageVO; import org.springblade.modules.business.pojo.vo.PageVO; +import java.time.LocalDate; import java.time.LocalDateTime; import java.util.List; @@ -13,11 +14,11 @@ public interface IMessageService extends BaseService { void saveMessage(String systemType, String title, String content, Long messageUser, Integer messageType); - PageVO getMessageList(Integer current, Integer size, LocalDateTime start, LocalDateTime end, Integer status); + PageVO getMessageList(Integer current, Integer size, LocalDate start, LocalDate end, Integer status); Long getMessageTotal(); - void updateMessageStatus(Integer id, Integer status); + void updateMessageStatus(Long id, Integer status); void updateMessageStatusAll(); } diff --git a/src/main/java/org/springblade/modules/business/service/impl/MessageServiceImpl.java b/src/main/java/org/springblade/modules/business/service/impl/MessageServiceImpl.java index 043e923..798f589 100644 --- a/src/main/java/org/springblade/modules/business/service/impl/MessageServiceImpl.java +++ b/src/main/java/org/springblade/modules/business/service/impl/MessageServiceImpl.java @@ -12,7 +12,7 @@ import org.springblade.modules.business.pojo.vo.PageVO; import org.springblade.modules.business.service.IMessageService; import org.springframework.stereotype.Service; -import java.time.LocalDateTime; +import java.time.LocalDate; import java.util.ArrayList; import java.util.List; @@ -49,31 +49,37 @@ public class MessageServiceImpl extends BaseServiceImpl * * @param current * @param size - * @param start - * @param end + * @param startTime + * @param endTime * @param status * @return */ @Override - public PageVO getMessageList(Integer current, Integer size, LocalDateTime start, LocalDateTime end, Integer status) { + public PageVO getMessageList(Integer current, Integer size, LocalDate startTime, LocalDate endTime, Integer status) { QueryWrapper queryWrapper = new QueryWrapper<>(); - if (start != null && end != null) { - queryWrapper.between("create_time", start, end); + if (startTime != null && endTime != null) { + queryWrapper.between("create_time", startTime, endTime); } if (status != null) { queryWrapper.eq("is_read", status); } + //筛选专属该用户的信息 + queryWrapper.eq("message_user", AuthUtil.getUserId()); + //使未读在已读之上 + queryWrapper.orderByAsc("is_read"); + //在未读在已读之上的基础上 再按时间进行排序 + queryWrapper.orderByDesc("create_time"); Page page = new Page<>(current, size); Page messagePage = baseMapper.selectPage(page, queryWrapper); List records = messagePage.getRecords(); Long total = messagePage.getTotal(); - MessageVO messageVO = new MessageVO(); List messageVOList = new ArrayList<>(); for (Message record : records) { + MessageVO messageVO = new MessageVO(); messageVO.setId(record.getId()); messageVO.setContent(record.getContent()); messageVO.setMessageType(record.getMessageType()); - messageVO.setStatus(record.getStatus()); + messageVO.setStatus(record.getIsRead()); messageVO.setCreateTime(record.getCreateTime()); messageVOList.add(messageVO); } @@ -90,7 +96,12 @@ public class MessageServiceImpl extends BaseServiceImpl */ @Override public Long getMessageTotal() { - return baseMapper.selectCount(null); + QueryWrapper queryWrapper = new QueryWrapper<>(); + //筛选该用户的专属消息 + queryWrapper.eq("message_user", AuthUtil.getUserId()); + //只查询未读的消息 + queryWrapper.eq("is_read", 0); + return baseMapper.selectCount(queryWrapper); } /** @@ -100,7 +111,7 @@ public class MessageServiceImpl extends BaseServiceImpl * @param status */ @Override - public void updateMessageStatus(Integer id, Integer status) { + public void updateMessageStatus(Long id, Integer status) { UpdateWrapper updateWrapper = new UpdateWrapper<>(); updateWrapper.eq("id", id).set("is_read", status); baseMapper.update(updateWrapper); @@ -112,6 +123,8 @@ public class MessageServiceImpl extends BaseServiceImpl @Override public void updateMessageStatusAll() { UpdateWrapper updateWrapper = new UpdateWrapper<>(); + //筛选该用户的专属消息 + updateWrapper.eq("message_user", AuthUtil.getUserId()); updateWrapper.eq("is_read", 0).set("is_read", 1); baseMapper.update(updateWrapper); }