diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java
index 1bb8875..691aebd 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java
@@ -263,4 +263,14 @@
});
return noticeService.deleteNotice(idDTO.getId());
}
+
+ @ApiOperation("通知公告标记已读")
+ @PostMapping("/notice/read")
+ @ResponseBody
+ public ReturnDTO noticeRead(@RequestBody @Valid NoticeReadRequest noticeReadRequest, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return noticeService.noticeRead(noticeReadRequest);
+ }
}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java
index 1bb8875..691aebd 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java
@@ -263,4 +263,14 @@
});
return noticeService.deleteNotice(idDTO.getId());
}
+
+ @ApiOperation("通知公告标记已读")
+ @PostMapping("/notice/read")
+ @ResponseBody
+ public ReturnDTO noticeRead(@RequestBody @Valid NoticeReadRequest noticeReadRequest, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return noticeService.noticeRead(noticeReadRequest);
+ }
}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java
index fa6e8f9..1372bfc 100644
--- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java
@@ -1,7 +1,10 @@
package com.casic.missiles.mapper.system;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.dto.system.NoticeListRequest;
import com.casic.missiles.model.system.SystemNotice;
+import org.apache.ibatis.annotations.Param;
/**
*
@@ -13,4 +16,6 @@
*/
public interface SystemNoticeMapper extends BaseMapper {
Long selectMaxNoticeNo();
+
+ Page selectListPage(Page page, @Param("request") NoticeListRequest request);
}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java
index 1bb8875..691aebd 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java
@@ -263,4 +263,14 @@
});
return noticeService.deleteNotice(idDTO.getId());
}
+
+ @ApiOperation("通知公告标记已读")
+ @PostMapping("/notice/read")
+ @ResponseBody
+ public ReturnDTO noticeRead(@RequestBody @Valid NoticeReadRequest noticeReadRequest, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return noticeService.noticeRead(noticeReadRequest);
+ }
}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java
index fa6e8f9..1372bfc 100644
--- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java
@@ -1,7 +1,10 @@
package com.casic.missiles.mapper.system;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.dto.system.NoticeListRequest;
import com.casic.missiles.model.system.SystemNotice;
+import org.apache.ibatis.annotations.Param;
/**
*
@@ -13,4 +16,6 @@
*/
public interface SystemNoticeMapper extends BaseMapper {
Long selectMaxNoticeNo();
+
+ Page selectListPage(Page page, @Param("request") NoticeListRequest request);
}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeUserRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeUserRelationMapper.java
new file mode 100644
index 0000000..bb54311
--- /dev/null
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeUserRelationMapper.java
@@ -0,0 +1,16 @@
+package com.casic.missiles.mapper.system;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.model.system.SystemNoticeUserRelation;
+
+/**
+ *
+ * 通知公告与用户关联表(记录已读) Mapper 接口
+ *
+ *
+ * @author wangpeng
+ * @since 2023-03-07
+ */
+public interface SystemNoticeUserRelationMapper extends BaseMapper {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java
index 1bb8875..691aebd 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java
@@ -263,4 +263,14 @@
});
return noticeService.deleteNotice(idDTO.getId());
}
+
+ @ApiOperation("通知公告标记已读")
+ @PostMapping("/notice/read")
+ @ResponseBody
+ public ReturnDTO noticeRead(@RequestBody @Valid NoticeReadRequest noticeReadRequest, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return noticeService.noticeRead(noticeReadRequest);
+ }
}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java
index fa6e8f9..1372bfc 100644
--- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java
@@ -1,7 +1,10 @@
package com.casic.missiles.mapper.system;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.dto.system.NoticeListRequest;
import com.casic.missiles.model.system.SystemNotice;
+import org.apache.ibatis.annotations.Param;
/**
*
@@ -13,4 +16,6 @@
*/
public interface SystemNoticeMapper extends BaseMapper {
Long selectMaxNoticeNo();
+
+ Page selectListPage(Page page, @Param("request") NoticeListRequest request);
}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeUserRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeUserRelationMapper.java
new file mode 100644
index 0000000..bb54311
--- /dev/null
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeUserRelationMapper.java
@@ -0,0 +1,16 @@
+package com.casic.missiles.mapper.system;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.model.system.SystemNoticeUserRelation;
+
+/**
+ *
+ * 通知公告与用户关联表(记录已读) Mapper 接口
+ *
+ *
+ * @author wangpeng
+ * @since 2023-03-07
+ */
+public interface SystemNoticeUserRelationMapper extends BaseMapper {
+
+}
diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml
index a4ecac7..6430f52 100644
--- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml
@@ -48,10 +48,10 @@
AND bo.customer_no LIKE concat('%',#{request.customerNo},'%')
- AND bo.require_over_time <= #{request.startTime}
+ AND bo.require_over_time >= #{request.startTime}
- AND bo.require_over_time > #{request.endTime}
+ AND bo.require_over_time < #{request.endTime}
AND bo.is_urgent = #{request.isUrgent}
@@ -125,10 +125,10 @@
AND bo.customer_name LIKE concat('%',#{request.customerName},'%')
- AND bo.require_over_time <= #{request.startTime}
+ AND bo.require_over_time >= #{request.startTime}
- AND bo.require_over_time > #{request.endTime}
+ AND bo.require_over_time < #{request.endTime}
AND bo.is_urgent = #{request.isUrgent}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java
index 1bb8875..691aebd 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java
@@ -263,4 +263,14 @@
});
return noticeService.deleteNotice(idDTO.getId());
}
+
+ @ApiOperation("通知公告标记已读")
+ @PostMapping("/notice/read")
+ @ResponseBody
+ public ReturnDTO noticeRead(@RequestBody @Valid NoticeReadRequest noticeReadRequest, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return noticeService.noticeRead(noticeReadRequest);
+ }
}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java
index fa6e8f9..1372bfc 100644
--- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java
@@ -1,7 +1,10 @@
package com.casic.missiles.mapper.system;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.dto.system.NoticeListRequest;
import com.casic.missiles.model.system.SystemNotice;
+import org.apache.ibatis.annotations.Param;
/**
*
@@ -13,4 +16,6 @@
*/
public interface SystemNoticeMapper extends BaseMapper {
Long selectMaxNoticeNo();
+
+ Page selectListPage(Page page, @Param("request") NoticeListRequest request);
}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeUserRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeUserRelationMapper.java
new file mode 100644
index 0000000..bb54311
--- /dev/null
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeUserRelationMapper.java
@@ -0,0 +1,16 @@
+package com.casic.missiles.mapper.system;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.model.system.SystemNoticeUserRelation;
+
+/**
+ *
+ * 通知公告与用户关联表(记录已读) Mapper 接口
+ *
+ *
+ * @author wangpeng
+ * @since 2023-03-07
+ */
+public interface SystemNoticeUserRelationMapper extends BaseMapper {
+
+}
diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml
index a4ecac7..6430f52 100644
--- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml
@@ -48,10 +48,10 @@
AND bo.customer_no LIKE concat('%',#{request.customerNo},'%')
- AND bo.require_over_time <= #{request.startTime}
+ AND bo.require_over_time >= #{request.startTime}
- AND bo.require_over_time > #{request.endTime}
+ AND bo.require_over_time < #{request.endTime}
AND bo.is_urgent = #{request.isUrgent}
@@ -125,10 +125,10 @@
AND bo.customer_name LIKE concat('%',#{request.customerName},'%')
- AND bo.require_over_time <= #{request.startTime}
+ AND bo.require_over_time >= #{request.startTime}
- AND bo.require_over_time > #{request.endTime}
+ AND bo.require_over_time < #{request.endTime}
AND bo.is_urgent = #{request.isUrgent}
diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeMapper.xml
index 59119f8..6925c7f 100644
--- a/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeMapper.xml
@@ -16,6 +16,7 @@
+
@@ -26,4 +27,27 @@
+
+
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java
index 1bb8875..691aebd 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java
@@ -263,4 +263,14 @@
});
return noticeService.deleteNotice(idDTO.getId());
}
+
+ @ApiOperation("通知公告标记已读")
+ @PostMapping("/notice/read")
+ @ResponseBody
+ public ReturnDTO noticeRead(@RequestBody @Valid NoticeReadRequest noticeReadRequest, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return noticeService.noticeRead(noticeReadRequest);
+ }
}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java
index fa6e8f9..1372bfc 100644
--- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java
@@ -1,7 +1,10 @@
package com.casic.missiles.mapper.system;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.dto.system.NoticeListRequest;
import com.casic.missiles.model.system.SystemNotice;
+import org.apache.ibatis.annotations.Param;
/**
*
@@ -13,4 +16,6 @@
*/
public interface SystemNoticeMapper extends BaseMapper {
Long selectMaxNoticeNo();
+
+ Page selectListPage(Page page, @Param("request") NoticeListRequest request);
}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeUserRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeUserRelationMapper.java
new file mode 100644
index 0000000..bb54311
--- /dev/null
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeUserRelationMapper.java
@@ -0,0 +1,16 @@
+package com.casic.missiles.mapper.system;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.model.system.SystemNoticeUserRelation;
+
+/**
+ *
+ * 通知公告与用户关联表(记录已读) Mapper 接口
+ *
+ *
+ * @author wangpeng
+ * @since 2023-03-07
+ */
+public interface SystemNoticeUserRelationMapper extends BaseMapper {
+
+}
diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml
index a4ecac7..6430f52 100644
--- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml
@@ -48,10 +48,10 @@
AND bo.customer_no LIKE concat('%',#{request.customerNo},'%')
- AND bo.require_over_time <= #{request.startTime}
+ AND bo.require_over_time >= #{request.startTime}
- AND bo.require_over_time > #{request.endTime}
+ AND bo.require_over_time < #{request.endTime}
AND bo.is_urgent = #{request.isUrgent}
@@ -125,10 +125,10 @@
AND bo.customer_name LIKE concat('%',#{request.customerName},'%')
- AND bo.require_over_time <= #{request.startTime}
+ AND bo.require_over_time >= #{request.startTime}
- AND bo.require_over_time > #{request.endTime}
+ AND bo.require_over_time < #{request.endTime}
AND bo.is_urgent = #{request.isUrgent}
diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeMapper.xml
index 59119f8..6925c7f 100644
--- a/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeMapper.xml
@@ -16,6 +16,7 @@
+
@@ -26,4 +27,27 @@
+
+
diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeUserRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeUserRelationMapper.xml
new file mode 100644
index 0000000..430a93d
--- /dev/null
+++ b/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeUserRelationMapper.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ id, notice_id, user_id, create_time, update_time
+
+
+
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java
index 1bb8875..691aebd 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java
@@ -263,4 +263,14 @@
});
return noticeService.deleteNotice(idDTO.getId());
}
+
+ @ApiOperation("通知公告标记已读")
+ @PostMapping("/notice/read")
+ @ResponseBody
+ public ReturnDTO noticeRead(@RequestBody @Valid NoticeReadRequest noticeReadRequest, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return noticeService.noticeRead(noticeReadRequest);
+ }
}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java
index fa6e8f9..1372bfc 100644
--- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java
@@ -1,7 +1,10 @@
package com.casic.missiles.mapper.system;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.dto.system.NoticeListRequest;
import com.casic.missiles.model.system.SystemNotice;
+import org.apache.ibatis.annotations.Param;
/**
*
@@ -13,4 +16,6 @@
*/
public interface SystemNoticeMapper extends BaseMapper {
Long selectMaxNoticeNo();
+
+ Page selectListPage(Page page, @Param("request") NoticeListRequest request);
}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeUserRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeUserRelationMapper.java
new file mode 100644
index 0000000..bb54311
--- /dev/null
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeUserRelationMapper.java
@@ -0,0 +1,16 @@
+package com.casic.missiles.mapper.system;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.model.system.SystemNoticeUserRelation;
+
+/**
+ *
+ * 通知公告与用户关联表(记录已读) Mapper 接口
+ *
+ *
+ * @author wangpeng
+ * @since 2023-03-07
+ */
+public interface SystemNoticeUserRelationMapper extends BaseMapper {
+
+}
diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml
index a4ecac7..6430f52 100644
--- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml
@@ -48,10 +48,10 @@
AND bo.customer_no LIKE concat('%',#{request.customerNo},'%')
- AND bo.require_over_time <= #{request.startTime}
+ AND bo.require_over_time >= #{request.startTime}
- AND bo.require_over_time > #{request.endTime}
+ AND bo.require_over_time < #{request.endTime}
AND bo.is_urgent = #{request.isUrgent}
@@ -125,10 +125,10 @@
AND bo.customer_name LIKE concat('%',#{request.customerName},'%')
- AND bo.require_over_time <= #{request.startTime}
+ AND bo.require_over_time >= #{request.startTime}
- AND bo.require_over_time > #{request.endTime}
+ AND bo.require_over_time < #{request.endTime}
AND bo.is_urgent = #{request.isUrgent}
diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeMapper.xml
index 59119f8..6925c7f 100644
--- a/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeMapper.xml
@@ -16,6 +16,7 @@
+
@@ -26,4 +27,27 @@
+
+
diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeUserRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeUserRelationMapper.xml
new file mode 100644
index 0000000..430a93d
--- /dev/null
+++ b/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeUserRelationMapper.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ id, notice_id, user_id, create_time, update_time
+
+
+
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeListRequest.java
index 4a1685f..a71e776 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeListRequest.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeListRequest.java
@@ -37,4 +37,7 @@
private String noticeStartTime;
@ApiModelProperty(value = "发布时间(结束)", dataType = "String")
private String noticeEndTime;
+
+ @ApiModelProperty(hidden = true)
+ private Long userId;
}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java
index 1bb8875..691aebd 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java
@@ -263,4 +263,14 @@
});
return noticeService.deleteNotice(idDTO.getId());
}
+
+ @ApiOperation("通知公告标记已读")
+ @PostMapping("/notice/read")
+ @ResponseBody
+ public ReturnDTO noticeRead(@RequestBody @Valid NoticeReadRequest noticeReadRequest, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return noticeService.noticeRead(noticeReadRequest);
+ }
}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java
index fa6e8f9..1372bfc 100644
--- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java
@@ -1,7 +1,10 @@
package com.casic.missiles.mapper.system;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.dto.system.NoticeListRequest;
import com.casic.missiles.model.system.SystemNotice;
+import org.apache.ibatis.annotations.Param;
/**
*
@@ -13,4 +16,6 @@
*/
public interface SystemNoticeMapper extends BaseMapper {
Long selectMaxNoticeNo();
+
+ Page selectListPage(Page page, @Param("request") NoticeListRequest request);
}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeUserRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeUserRelationMapper.java
new file mode 100644
index 0000000..bb54311
--- /dev/null
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeUserRelationMapper.java
@@ -0,0 +1,16 @@
+package com.casic.missiles.mapper.system;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.model.system.SystemNoticeUserRelation;
+
+/**
+ *
+ * 通知公告与用户关联表(记录已读) Mapper 接口
+ *
+ *
+ * @author wangpeng
+ * @since 2023-03-07
+ */
+public interface SystemNoticeUserRelationMapper extends BaseMapper {
+
+}
diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml
index a4ecac7..6430f52 100644
--- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml
@@ -48,10 +48,10 @@
AND bo.customer_no LIKE concat('%',#{request.customerNo},'%')
- AND bo.require_over_time <= #{request.startTime}
+ AND bo.require_over_time >= #{request.startTime}
- AND bo.require_over_time > #{request.endTime}
+ AND bo.require_over_time < #{request.endTime}
AND bo.is_urgent = #{request.isUrgent}
@@ -125,10 +125,10 @@
AND bo.customer_name LIKE concat('%',#{request.customerName},'%')
- AND bo.require_over_time <= #{request.startTime}
+ AND bo.require_over_time >= #{request.startTime}
- AND bo.require_over_time > #{request.endTime}
+ AND bo.require_over_time < #{request.endTime}
AND bo.is_urgent = #{request.isUrgent}
diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeMapper.xml
index 59119f8..6925c7f 100644
--- a/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeMapper.xml
@@ -16,6 +16,7 @@
+
@@ -26,4 +27,27 @@
+
+
diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeUserRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeUserRelationMapper.xml
new file mode 100644
index 0000000..430a93d
--- /dev/null
+++ b/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeUserRelationMapper.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ id, notice_id, user_id, create_time, update_time
+
+
+
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeListRequest.java
index 4a1685f..a71e776 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeListRequest.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeListRequest.java
@@ -37,4 +37,7 @@
private String noticeStartTime;
@ApiModelProperty(value = "发布时间(结束)", dataType = "String")
private String noticeEndTime;
+
+ @ApiModelProperty(hidden = true)
+ private Long userId;
}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeReadRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeReadRequest.java
new file mode 100644
index 0000000..628782c
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeReadRequest.java
@@ -0,0 +1,28 @@
+package com.casic.missiles.dto.system;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+ * @Description: 通知公告已读请求实体
+ * @Author: wangpeng
+ * @Date: 2023/3/7 14:32
+ */
+@ApiModel
+@Data
+public class NoticeReadRequest {
+
+ @NotNull(message = "登录用户id不能为空")
+ @ApiModelProperty(value = "登录用户id", dataType = "Long")
+ private Long userId;
+
+ @NotEmpty(message = "主键id列表不能为空")
+ @ApiModelProperty(value = "主键id列表", dataType = "List")
+ private List ids;
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java
index 1bb8875..691aebd 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java
@@ -263,4 +263,14 @@
});
return noticeService.deleteNotice(idDTO.getId());
}
+
+ @ApiOperation("通知公告标记已读")
+ @PostMapping("/notice/read")
+ @ResponseBody
+ public ReturnDTO noticeRead(@RequestBody @Valid NoticeReadRequest noticeReadRequest, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return noticeService.noticeRead(noticeReadRequest);
+ }
}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java
index fa6e8f9..1372bfc 100644
--- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java
@@ -1,7 +1,10 @@
package com.casic.missiles.mapper.system;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.dto.system.NoticeListRequest;
import com.casic.missiles.model.system.SystemNotice;
+import org.apache.ibatis.annotations.Param;
/**
*
@@ -13,4 +16,6 @@
*/
public interface SystemNoticeMapper extends BaseMapper {
Long selectMaxNoticeNo();
+
+ Page selectListPage(Page page, @Param("request") NoticeListRequest request);
}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeUserRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeUserRelationMapper.java
new file mode 100644
index 0000000..bb54311
--- /dev/null
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeUserRelationMapper.java
@@ -0,0 +1,16 @@
+package com.casic.missiles.mapper.system;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.model.system.SystemNoticeUserRelation;
+
+/**
+ *
+ * 通知公告与用户关联表(记录已读) Mapper 接口
+ *
+ *
+ * @author wangpeng
+ * @since 2023-03-07
+ */
+public interface SystemNoticeUserRelationMapper extends BaseMapper {
+
+}
diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml
index a4ecac7..6430f52 100644
--- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml
@@ -48,10 +48,10 @@
AND bo.customer_no LIKE concat('%',#{request.customerNo},'%')
- AND bo.require_over_time <= #{request.startTime}
+ AND bo.require_over_time >= #{request.startTime}
- AND bo.require_over_time > #{request.endTime}
+ AND bo.require_over_time < #{request.endTime}
AND bo.is_urgent = #{request.isUrgent}
@@ -125,10 +125,10 @@
AND bo.customer_name LIKE concat('%',#{request.customerName},'%')
- AND bo.require_over_time <= #{request.startTime}
+ AND bo.require_over_time >= #{request.startTime}
- AND bo.require_over_time > #{request.endTime}
+ AND bo.require_over_time < #{request.endTime}
AND bo.is_urgent = #{request.isUrgent}
diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeMapper.xml
index 59119f8..6925c7f 100644
--- a/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeMapper.xml
@@ -16,6 +16,7 @@
+
@@ -26,4 +27,27 @@
+
+
diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeUserRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeUserRelationMapper.xml
new file mode 100644
index 0000000..430a93d
--- /dev/null
+++ b/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeUserRelationMapper.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ id, notice_id, user_id, create_time, update_time
+
+
+
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeListRequest.java
index 4a1685f..a71e776 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeListRequest.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeListRequest.java
@@ -37,4 +37,7 @@
private String noticeStartTime;
@ApiModelProperty(value = "发布时间(结束)", dataType = "String")
private String noticeEndTime;
+
+ @ApiModelProperty(hidden = true)
+ private Long userId;
}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeReadRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeReadRequest.java
new file mode 100644
index 0000000..628782c
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeReadRequest.java
@@ -0,0 +1,28 @@
+package com.casic.missiles.dto.system;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+ * @Description: 通知公告已读请求实体
+ * @Author: wangpeng
+ * @Date: 2023/3/7 14:32
+ */
+@ApiModel
+@Data
+public class NoticeReadRequest {
+
+ @NotNull(message = "登录用户id不能为空")
+ @ApiModelProperty(value = "登录用户id", dataType = "Long")
+ private Long userId;
+
+ @NotEmpty(message = "主键id列表不能为空")
+ @ApiModelProperty(value = "主键id列表", dataType = "List")
+ private List ids;
+
+}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemNotice.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemNotice.java
index 560fdb2..48c839e 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemNotice.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemNotice.java
@@ -112,4 +112,11 @@
@TableField("update_time")
private String updateTime;
+ /**
+ * 用户id
+ */
+ @ApiModelProperty(hidden = true)
+ @TableField(exist = false)
+ private Long read;
+
}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java
index 1bb8875..691aebd 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java
@@ -263,4 +263,14 @@
});
return noticeService.deleteNotice(idDTO.getId());
}
+
+ @ApiOperation("通知公告标记已读")
+ @PostMapping("/notice/read")
+ @ResponseBody
+ public ReturnDTO noticeRead(@RequestBody @Valid NoticeReadRequest noticeReadRequest, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return noticeService.noticeRead(noticeReadRequest);
+ }
}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java
index fa6e8f9..1372bfc 100644
--- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java
@@ -1,7 +1,10 @@
package com.casic.missiles.mapper.system;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.dto.system.NoticeListRequest;
import com.casic.missiles.model.system.SystemNotice;
+import org.apache.ibatis.annotations.Param;
/**
*
@@ -13,4 +16,6 @@
*/
public interface SystemNoticeMapper extends BaseMapper {
Long selectMaxNoticeNo();
+
+ Page selectListPage(Page page, @Param("request") NoticeListRequest request);
}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeUserRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeUserRelationMapper.java
new file mode 100644
index 0000000..bb54311
--- /dev/null
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeUserRelationMapper.java
@@ -0,0 +1,16 @@
+package com.casic.missiles.mapper.system;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.model.system.SystemNoticeUserRelation;
+
+/**
+ *
+ * 通知公告与用户关联表(记录已读) Mapper 接口
+ *
+ *
+ * @author wangpeng
+ * @since 2023-03-07
+ */
+public interface SystemNoticeUserRelationMapper extends BaseMapper {
+
+}
diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml
index a4ecac7..6430f52 100644
--- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml
@@ -48,10 +48,10 @@
AND bo.customer_no LIKE concat('%',#{request.customerNo},'%')
- AND bo.require_over_time <= #{request.startTime}
+ AND bo.require_over_time >= #{request.startTime}
- AND bo.require_over_time > #{request.endTime}
+ AND bo.require_over_time < #{request.endTime}
AND bo.is_urgent = #{request.isUrgent}
@@ -125,10 +125,10 @@
AND bo.customer_name LIKE concat('%',#{request.customerName},'%')
- AND bo.require_over_time <= #{request.startTime}
+ AND bo.require_over_time >= #{request.startTime}
- AND bo.require_over_time > #{request.endTime}
+ AND bo.require_over_time < #{request.endTime}
AND bo.is_urgent = #{request.isUrgent}
diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeMapper.xml
index 59119f8..6925c7f 100644
--- a/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeMapper.xml
@@ -16,6 +16,7 @@
+
@@ -26,4 +27,27 @@
+
+
diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeUserRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeUserRelationMapper.xml
new file mode 100644
index 0000000..430a93d
--- /dev/null
+++ b/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeUserRelationMapper.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ id, notice_id, user_id, create_time, update_time
+
+
+
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeListRequest.java
index 4a1685f..a71e776 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeListRequest.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeListRequest.java
@@ -37,4 +37,7 @@
private String noticeStartTime;
@ApiModelProperty(value = "发布时间(结束)", dataType = "String")
private String noticeEndTime;
+
+ @ApiModelProperty(hidden = true)
+ private Long userId;
}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeReadRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeReadRequest.java
new file mode 100644
index 0000000..628782c
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeReadRequest.java
@@ -0,0 +1,28 @@
+package com.casic.missiles.dto.system;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+ * @Description: 通知公告已读请求实体
+ * @Author: wangpeng
+ * @Date: 2023/3/7 14:32
+ */
+@ApiModel
+@Data
+public class NoticeReadRequest {
+
+ @NotNull(message = "登录用户id不能为空")
+ @ApiModelProperty(value = "登录用户id", dataType = "Long")
+ private Long userId;
+
+ @NotEmpty(message = "主键id列表不能为空")
+ @ApiModelProperty(value = "主键id列表", dataType = "List")
+ private List ids;
+
+}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemNotice.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemNotice.java
index 560fdb2..48c839e 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemNotice.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemNotice.java
@@ -112,4 +112,11 @@
@TableField("update_time")
private String updateTime;
+ /**
+ * 用户id
+ */
+ @ApiModelProperty(hidden = true)
+ @TableField(exist = false)
+ private Long read;
+
}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemNoticeUserRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemNoticeUserRelation.java
new file mode 100644
index 0000000..afe084c
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemNoticeUserRelation.java
@@ -0,0 +1,45 @@
+package com.casic.missiles.model.system;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ *
+ * 通知公告与用户关联表(记录已读)
+ *
+ *
+ * @author wangpeng
+ * @since 2023-03-07
+ */
+@Data
+@TableName("system_notice_user_relation")
+public class SystemNoticeUserRelation implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId("id")
+ private Long id;
+
+ /**
+ * 通知公告主键
+ */
+ @TableField("notice_id")
+ private Long noticeId;
+
+ /**
+ * 用户主键
+ */
+ @TableField("user_id")
+ private Long userId;
+
+ @TableField("create_time")
+ private String createTime;
+
+ @TableField("update_time")
+ private String updateTime;
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java
index 1bb8875..691aebd 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java
@@ -263,4 +263,14 @@
});
return noticeService.deleteNotice(idDTO.getId());
}
+
+ @ApiOperation("通知公告标记已读")
+ @PostMapping("/notice/read")
+ @ResponseBody
+ public ReturnDTO noticeRead(@RequestBody @Valid NoticeReadRequest noticeReadRequest, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return noticeService.noticeRead(noticeReadRequest);
+ }
}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java
index fa6e8f9..1372bfc 100644
--- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java
@@ -1,7 +1,10 @@
package com.casic.missiles.mapper.system;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.dto.system.NoticeListRequest;
import com.casic.missiles.model.system.SystemNotice;
+import org.apache.ibatis.annotations.Param;
/**
*
@@ -13,4 +16,6 @@
*/
public interface SystemNoticeMapper extends BaseMapper {
Long selectMaxNoticeNo();
+
+ Page selectListPage(Page page, @Param("request") NoticeListRequest request);
}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeUserRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeUserRelationMapper.java
new file mode 100644
index 0000000..bb54311
--- /dev/null
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeUserRelationMapper.java
@@ -0,0 +1,16 @@
+package com.casic.missiles.mapper.system;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.model.system.SystemNoticeUserRelation;
+
+/**
+ *
+ * 通知公告与用户关联表(记录已读) Mapper 接口
+ *
+ *
+ * @author wangpeng
+ * @since 2023-03-07
+ */
+public interface SystemNoticeUserRelationMapper extends BaseMapper {
+
+}
diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml
index a4ecac7..6430f52 100644
--- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml
@@ -48,10 +48,10 @@
AND bo.customer_no LIKE concat('%',#{request.customerNo},'%')
- AND bo.require_over_time <= #{request.startTime}
+ AND bo.require_over_time >= #{request.startTime}
- AND bo.require_over_time > #{request.endTime}
+ AND bo.require_over_time < #{request.endTime}
AND bo.is_urgent = #{request.isUrgent}
@@ -125,10 +125,10 @@
AND bo.customer_name LIKE concat('%',#{request.customerName},'%')
- AND bo.require_over_time <= #{request.startTime}
+ AND bo.require_over_time >= #{request.startTime}
- AND bo.require_over_time > #{request.endTime}
+ AND bo.require_over_time < #{request.endTime}
AND bo.is_urgent = #{request.isUrgent}
diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeMapper.xml
index 59119f8..6925c7f 100644
--- a/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeMapper.xml
@@ -16,6 +16,7 @@
+
@@ -26,4 +27,27 @@
+
+
diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeUserRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeUserRelationMapper.xml
new file mode 100644
index 0000000..430a93d
--- /dev/null
+++ b/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeUserRelationMapper.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ id, notice_id, user_id, create_time, update_time
+
+
+
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeListRequest.java
index 4a1685f..a71e776 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeListRequest.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeListRequest.java
@@ -37,4 +37,7 @@
private String noticeStartTime;
@ApiModelProperty(value = "发布时间(结束)", dataType = "String")
private String noticeEndTime;
+
+ @ApiModelProperty(hidden = true)
+ private Long userId;
}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeReadRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeReadRequest.java
new file mode 100644
index 0000000..628782c
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeReadRequest.java
@@ -0,0 +1,28 @@
+package com.casic.missiles.dto.system;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+ * @Description: 通知公告已读请求实体
+ * @Author: wangpeng
+ * @Date: 2023/3/7 14:32
+ */
+@ApiModel
+@Data
+public class NoticeReadRequest {
+
+ @NotNull(message = "登录用户id不能为空")
+ @ApiModelProperty(value = "登录用户id", dataType = "Long")
+ private Long userId;
+
+ @NotEmpty(message = "主键id列表不能为空")
+ @ApiModelProperty(value = "主键id列表", dataType = "List")
+ private List ids;
+
+}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemNotice.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemNotice.java
index 560fdb2..48c839e 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemNotice.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemNotice.java
@@ -112,4 +112,11 @@
@TableField("update_time")
private String updateTime;
+ /**
+ * 用户id
+ */
+ @ApiModelProperty(hidden = true)
+ @TableField(exist = false)
+ private Long read;
+
}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemNoticeUserRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemNoticeUserRelation.java
new file mode 100644
index 0000000..afe084c
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemNoticeUserRelation.java
@@ -0,0 +1,45 @@
+package com.casic.missiles.model.system;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ *
+ * 通知公告与用户关联表(记录已读)
+ *
+ *
+ * @author wangpeng
+ * @since 2023-03-07
+ */
+@Data
+@TableName("system_notice_user_relation")
+public class SystemNoticeUserRelation implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId("id")
+ private Long id;
+
+ /**
+ * 通知公告主键
+ */
+ @TableField("notice_id")
+ private Long noticeId;
+
+ /**
+ * 用户主键
+ */
+ @TableField("user_id")
+ private Long userId;
+
+ @TableField("create_time")
+ private String createTime;
+
+ @TableField("update_time")
+ private String updateTime;
+
+}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeServiceImpl.java
index 08b23c8..3e50989 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeServiceImpl.java
@@ -3,19 +3,28 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.shiro.ShiroKit;
import com.casic.missiles.dto.ReturnDTO;
import com.casic.missiles.dto.ReturnUtil;
import com.casic.missiles.dto.system.NoticeAddRequest;
import com.casic.missiles.dto.system.NoticeListRequest;
+import com.casic.missiles.dto.system.NoticeReadRequest;
import com.casic.missiles.mapper.system.SystemNoticeMapper;
+import com.casic.missiles.mapper.system.SystemNoticeUserRelationMapper;
import com.casic.missiles.model.system.SystemNotice;
+import com.casic.missiles.model.system.SystemNoticeUserRelation;
import com.casic.missiles.service.system.ISystemNoticeService;
+import com.casic.missiles.service.system.ISystemNoticeUserRelationService;
import com.casic.missiles.utils.ConvertUtils;
import com.casic.missiles.utils.NumberGeneratorUtil;
-import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+
/**
*
* 系统管理-通知公告表 服务实现类
@@ -28,21 +37,19 @@
public class SystemNoticeServiceImpl extends ServiceImpl implements ISystemNoticeService {
@Autowired
private SystemNoticeMapper noticeMapper;
+ @Autowired
+ private ISystemNoticeUserRelationService noticeUserRelationService;
+ @Autowired
+ private SystemNoticeUserRelationMapper noticeUserRelationMapper;
@Override
public Page listPage(Page page, NoticeListRequest request) {
- QueryWrapper wrapper = new QueryWrapper<>();
- wrapper.like(StringUtils.isNotBlank(request.getNoticeNo()), "notice_no", request.getNoticeNo());
- wrapper.like(StringUtils.isNotBlank(request.getNoticeTitle()), "notice_title", request.getNoticeTitle());
- wrapper.like(StringUtils.isNotBlank(request.getNoticePublisher()), "notice_publisher", request.getNoticePublisher());
- wrapper.apply(StringUtils.isNotBlank(request.getNoticeStartTime()),
- "{0} <= DATE_FORMAT(notice_time,'%Y-%m-%d')", request.getNoticeStartTime().split(" ")[0]);
- wrapper.apply(StringUtils.isNotBlank(request.getNoticeEndTime()),
- "{0} >= DATE_FORMAT(notice_time,'%Y-%m-%d')", request.getNoticeEndTime().split(" ")[0]);
- wrapper.eq("is_del", 0);
- wrapper.orderByDesc("notice_time");
- Page trainPlanPage = noticeMapper.selectPage(page, wrapper);
- return trainPlanPage;
+ AuthUser user = ShiroKit.getUser();
+ if(!Objects.isNull(user)){
+ request.setUserId(user.getId());
+ }
+ Page noticePage = noticeMapper.selectListPage(page, request);
+ return noticePage;
}
@Override
@@ -71,8 +78,28 @@
@Override
public ReturnDTO deleteNotice(Long id) {
if(noticeMapper.deleteById(id) > 0){
+ QueryWrapper wrapper = new QueryWrapper<>();
+ wrapper.eq("notice_id", id);
+ noticeUserRelationMapper.delete(wrapper);
return ReturnUtil.success();
}
return ReturnUtil.failed("刪除失败");
}
+
+ @Override
+ public ReturnDTO noticeRead(NoticeReadRequest noticeReadRequest) {
+ Long userId = noticeReadRequest.getUserId();
+ List ids = noticeReadRequest.getIds();
+ List list = new ArrayList<>();
+ ids.forEach(id -> {
+ SystemNoticeUserRelation noticeUserRelation = new SystemNoticeUserRelation();
+ noticeUserRelation.setUserId(userId);
+ noticeUserRelation.setId(id);
+ list.add(noticeUserRelation);
+ });
+ if(noticeUserRelationService.saveBatch(list)){
+ return ReturnUtil.success();
+ }
+ return ReturnUtil.failed();
+ }
}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java
index 1bb8875..691aebd 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java
@@ -263,4 +263,14 @@
});
return noticeService.deleteNotice(idDTO.getId());
}
+
+ @ApiOperation("通知公告标记已读")
+ @PostMapping("/notice/read")
+ @ResponseBody
+ public ReturnDTO noticeRead(@RequestBody @Valid NoticeReadRequest noticeReadRequest, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return noticeService.noticeRead(noticeReadRequest);
+ }
}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java
index fa6e8f9..1372bfc 100644
--- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java
@@ -1,7 +1,10 @@
package com.casic.missiles.mapper.system;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.dto.system.NoticeListRequest;
import com.casic.missiles.model.system.SystemNotice;
+import org.apache.ibatis.annotations.Param;
/**
*
@@ -13,4 +16,6 @@
*/
public interface SystemNoticeMapper extends BaseMapper {
Long selectMaxNoticeNo();
+
+ Page selectListPage(Page page, @Param("request") NoticeListRequest request);
}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeUserRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeUserRelationMapper.java
new file mode 100644
index 0000000..bb54311
--- /dev/null
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeUserRelationMapper.java
@@ -0,0 +1,16 @@
+package com.casic.missiles.mapper.system;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.model.system.SystemNoticeUserRelation;
+
+/**
+ *
+ * 通知公告与用户关联表(记录已读) Mapper 接口
+ *
+ *
+ * @author wangpeng
+ * @since 2023-03-07
+ */
+public interface SystemNoticeUserRelationMapper extends BaseMapper {
+
+}
diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml
index a4ecac7..6430f52 100644
--- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml
@@ -48,10 +48,10 @@
AND bo.customer_no LIKE concat('%',#{request.customerNo},'%')
- AND bo.require_over_time <= #{request.startTime}
+ AND bo.require_over_time >= #{request.startTime}
- AND bo.require_over_time > #{request.endTime}
+ AND bo.require_over_time < #{request.endTime}
AND bo.is_urgent = #{request.isUrgent}
@@ -125,10 +125,10 @@
AND bo.customer_name LIKE concat('%',#{request.customerName},'%')
- AND bo.require_over_time <= #{request.startTime}
+ AND bo.require_over_time >= #{request.startTime}
- AND bo.require_over_time > #{request.endTime}
+ AND bo.require_over_time < #{request.endTime}
AND bo.is_urgent = #{request.isUrgent}
diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeMapper.xml
index 59119f8..6925c7f 100644
--- a/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeMapper.xml
@@ -16,6 +16,7 @@
+
@@ -26,4 +27,27 @@
+
+
diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeUserRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeUserRelationMapper.xml
new file mode 100644
index 0000000..430a93d
--- /dev/null
+++ b/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeUserRelationMapper.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ id, notice_id, user_id, create_time, update_time
+
+
+
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeListRequest.java
index 4a1685f..a71e776 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeListRequest.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeListRequest.java
@@ -37,4 +37,7 @@
private String noticeStartTime;
@ApiModelProperty(value = "发布时间(结束)", dataType = "String")
private String noticeEndTime;
+
+ @ApiModelProperty(hidden = true)
+ private Long userId;
}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeReadRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeReadRequest.java
new file mode 100644
index 0000000..628782c
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeReadRequest.java
@@ -0,0 +1,28 @@
+package com.casic.missiles.dto.system;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+ * @Description: 通知公告已读请求实体
+ * @Author: wangpeng
+ * @Date: 2023/3/7 14:32
+ */
+@ApiModel
+@Data
+public class NoticeReadRequest {
+
+ @NotNull(message = "登录用户id不能为空")
+ @ApiModelProperty(value = "登录用户id", dataType = "Long")
+ private Long userId;
+
+ @NotEmpty(message = "主键id列表不能为空")
+ @ApiModelProperty(value = "主键id列表", dataType = "List")
+ private List ids;
+
+}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemNotice.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemNotice.java
index 560fdb2..48c839e 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemNotice.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemNotice.java
@@ -112,4 +112,11 @@
@TableField("update_time")
private String updateTime;
+ /**
+ * 用户id
+ */
+ @ApiModelProperty(hidden = true)
+ @TableField(exist = false)
+ private Long read;
+
}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemNoticeUserRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemNoticeUserRelation.java
new file mode 100644
index 0000000..afe084c
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemNoticeUserRelation.java
@@ -0,0 +1,45 @@
+package com.casic.missiles.model.system;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ *
+ * 通知公告与用户关联表(记录已读)
+ *
+ *
+ * @author wangpeng
+ * @since 2023-03-07
+ */
+@Data
+@TableName("system_notice_user_relation")
+public class SystemNoticeUserRelation implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId("id")
+ private Long id;
+
+ /**
+ * 通知公告主键
+ */
+ @TableField("notice_id")
+ private Long noticeId;
+
+ /**
+ * 用户主键
+ */
+ @TableField("user_id")
+ private Long userId;
+
+ @TableField("create_time")
+ private String createTime;
+
+ @TableField("update_time")
+ private String updateTime;
+
+}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeServiceImpl.java
index 08b23c8..3e50989 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeServiceImpl.java
@@ -3,19 +3,28 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.shiro.ShiroKit;
import com.casic.missiles.dto.ReturnDTO;
import com.casic.missiles.dto.ReturnUtil;
import com.casic.missiles.dto.system.NoticeAddRequest;
import com.casic.missiles.dto.system.NoticeListRequest;
+import com.casic.missiles.dto.system.NoticeReadRequest;
import com.casic.missiles.mapper.system.SystemNoticeMapper;
+import com.casic.missiles.mapper.system.SystemNoticeUserRelationMapper;
import com.casic.missiles.model.system.SystemNotice;
+import com.casic.missiles.model.system.SystemNoticeUserRelation;
import com.casic.missiles.service.system.ISystemNoticeService;
+import com.casic.missiles.service.system.ISystemNoticeUserRelationService;
import com.casic.missiles.utils.ConvertUtils;
import com.casic.missiles.utils.NumberGeneratorUtil;
-import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+
/**
*
* 系统管理-通知公告表 服务实现类
@@ -28,21 +37,19 @@
public class SystemNoticeServiceImpl extends ServiceImpl implements ISystemNoticeService {
@Autowired
private SystemNoticeMapper noticeMapper;
+ @Autowired
+ private ISystemNoticeUserRelationService noticeUserRelationService;
+ @Autowired
+ private SystemNoticeUserRelationMapper noticeUserRelationMapper;
@Override
public Page listPage(Page page, NoticeListRequest request) {
- QueryWrapper wrapper = new QueryWrapper<>();
- wrapper.like(StringUtils.isNotBlank(request.getNoticeNo()), "notice_no", request.getNoticeNo());
- wrapper.like(StringUtils.isNotBlank(request.getNoticeTitle()), "notice_title", request.getNoticeTitle());
- wrapper.like(StringUtils.isNotBlank(request.getNoticePublisher()), "notice_publisher", request.getNoticePublisher());
- wrapper.apply(StringUtils.isNotBlank(request.getNoticeStartTime()),
- "{0} <= DATE_FORMAT(notice_time,'%Y-%m-%d')", request.getNoticeStartTime().split(" ")[0]);
- wrapper.apply(StringUtils.isNotBlank(request.getNoticeEndTime()),
- "{0} >= DATE_FORMAT(notice_time,'%Y-%m-%d')", request.getNoticeEndTime().split(" ")[0]);
- wrapper.eq("is_del", 0);
- wrapper.orderByDesc("notice_time");
- Page trainPlanPage = noticeMapper.selectPage(page, wrapper);
- return trainPlanPage;
+ AuthUser user = ShiroKit.getUser();
+ if(!Objects.isNull(user)){
+ request.setUserId(user.getId());
+ }
+ Page noticePage = noticeMapper.selectListPage(page, request);
+ return noticePage;
}
@Override
@@ -71,8 +78,28 @@
@Override
public ReturnDTO deleteNotice(Long id) {
if(noticeMapper.deleteById(id) > 0){
+ QueryWrapper wrapper = new QueryWrapper<>();
+ wrapper.eq("notice_id", id);
+ noticeUserRelationMapper.delete(wrapper);
return ReturnUtil.success();
}
return ReturnUtil.failed("刪除失败");
}
+
+ @Override
+ public ReturnDTO noticeRead(NoticeReadRequest noticeReadRequest) {
+ Long userId = noticeReadRequest.getUserId();
+ List ids = noticeReadRequest.getIds();
+ List list = new ArrayList<>();
+ ids.forEach(id -> {
+ SystemNoticeUserRelation noticeUserRelation = new SystemNoticeUserRelation();
+ noticeUserRelation.setUserId(userId);
+ noticeUserRelation.setId(id);
+ list.add(noticeUserRelation);
+ });
+ if(noticeUserRelationService.saveBatch(list)){
+ return ReturnUtil.success();
+ }
+ return ReturnUtil.failed();
+ }
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeUserRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeUserRelationServiceImpl.java
new file mode 100644
index 0000000..d6eec71
--- /dev/null
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeUserRelationServiceImpl.java
@@ -0,0 +1,20 @@
+package com.casic.missiles.service.Impl.system;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.casic.missiles.mapper.system.SystemNoticeUserRelationMapper;
+import com.casic.missiles.model.system.SystemNoticeUserRelation;
+import com.casic.missiles.service.system.ISystemNoticeUserRelationService;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ * 通知公告与用户关联表(记录已读) 服务实现类
+ *
+ *
+ * @author wangpeng
+ * @since 2023-03-07
+ */
+@Service
+public class SystemNoticeUserRelationServiceImpl extends ServiceImpl implements ISystemNoticeUserRelationService {
+
+}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java
index 1bb8875..691aebd 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java
@@ -263,4 +263,14 @@
});
return noticeService.deleteNotice(idDTO.getId());
}
+
+ @ApiOperation("通知公告标记已读")
+ @PostMapping("/notice/read")
+ @ResponseBody
+ public ReturnDTO noticeRead(@RequestBody @Valid NoticeReadRequest noticeReadRequest, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return noticeService.noticeRead(noticeReadRequest);
+ }
}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java
index fa6e8f9..1372bfc 100644
--- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java
@@ -1,7 +1,10 @@
package com.casic.missiles.mapper.system;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.dto.system.NoticeListRequest;
import com.casic.missiles.model.system.SystemNotice;
+import org.apache.ibatis.annotations.Param;
/**
*
@@ -13,4 +16,6 @@
*/
public interface SystemNoticeMapper extends BaseMapper {
Long selectMaxNoticeNo();
+
+ Page selectListPage(Page page, @Param("request") NoticeListRequest request);
}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeUserRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeUserRelationMapper.java
new file mode 100644
index 0000000..bb54311
--- /dev/null
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeUserRelationMapper.java
@@ -0,0 +1,16 @@
+package com.casic.missiles.mapper.system;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.model.system.SystemNoticeUserRelation;
+
+/**
+ *
+ * 通知公告与用户关联表(记录已读) Mapper 接口
+ *
+ *
+ * @author wangpeng
+ * @since 2023-03-07
+ */
+public interface SystemNoticeUserRelationMapper extends BaseMapper {
+
+}
diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml
index a4ecac7..6430f52 100644
--- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml
@@ -48,10 +48,10 @@
AND bo.customer_no LIKE concat('%',#{request.customerNo},'%')
- AND bo.require_over_time <= #{request.startTime}
+ AND bo.require_over_time >= #{request.startTime}
- AND bo.require_over_time > #{request.endTime}
+ AND bo.require_over_time < #{request.endTime}
AND bo.is_urgent = #{request.isUrgent}
@@ -125,10 +125,10 @@
AND bo.customer_name LIKE concat('%',#{request.customerName},'%')
- AND bo.require_over_time <= #{request.startTime}
+ AND bo.require_over_time >= #{request.startTime}
- AND bo.require_over_time > #{request.endTime}
+ AND bo.require_over_time < #{request.endTime}
AND bo.is_urgent = #{request.isUrgent}
diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeMapper.xml
index 59119f8..6925c7f 100644
--- a/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeMapper.xml
@@ -16,6 +16,7 @@
+
@@ -26,4 +27,27 @@
+
+
diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeUserRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeUserRelationMapper.xml
new file mode 100644
index 0000000..430a93d
--- /dev/null
+++ b/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeUserRelationMapper.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ id, notice_id, user_id, create_time, update_time
+
+
+
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeListRequest.java
index 4a1685f..a71e776 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeListRequest.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeListRequest.java
@@ -37,4 +37,7 @@
private String noticeStartTime;
@ApiModelProperty(value = "发布时间(结束)", dataType = "String")
private String noticeEndTime;
+
+ @ApiModelProperty(hidden = true)
+ private Long userId;
}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeReadRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeReadRequest.java
new file mode 100644
index 0000000..628782c
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeReadRequest.java
@@ -0,0 +1,28 @@
+package com.casic.missiles.dto.system;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+ * @Description: 通知公告已读请求实体
+ * @Author: wangpeng
+ * @Date: 2023/3/7 14:32
+ */
+@ApiModel
+@Data
+public class NoticeReadRequest {
+
+ @NotNull(message = "登录用户id不能为空")
+ @ApiModelProperty(value = "登录用户id", dataType = "Long")
+ private Long userId;
+
+ @NotEmpty(message = "主键id列表不能为空")
+ @ApiModelProperty(value = "主键id列表", dataType = "List")
+ private List ids;
+
+}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemNotice.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemNotice.java
index 560fdb2..48c839e 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemNotice.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemNotice.java
@@ -112,4 +112,11 @@
@TableField("update_time")
private String updateTime;
+ /**
+ * 用户id
+ */
+ @ApiModelProperty(hidden = true)
+ @TableField(exist = false)
+ private Long read;
+
}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemNoticeUserRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemNoticeUserRelation.java
new file mode 100644
index 0000000..afe084c
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemNoticeUserRelation.java
@@ -0,0 +1,45 @@
+package com.casic.missiles.model.system;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ *
+ * 通知公告与用户关联表(记录已读)
+ *
+ *
+ * @author wangpeng
+ * @since 2023-03-07
+ */
+@Data
+@TableName("system_notice_user_relation")
+public class SystemNoticeUserRelation implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId("id")
+ private Long id;
+
+ /**
+ * 通知公告主键
+ */
+ @TableField("notice_id")
+ private Long noticeId;
+
+ /**
+ * 用户主键
+ */
+ @TableField("user_id")
+ private Long userId;
+
+ @TableField("create_time")
+ private String createTime;
+
+ @TableField("update_time")
+ private String updateTime;
+
+}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeServiceImpl.java
index 08b23c8..3e50989 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeServiceImpl.java
@@ -3,19 +3,28 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.shiro.ShiroKit;
import com.casic.missiles.dto.ReturnDTO;
import com.casic.missiles.dto.ReturnUtil;
import com.casic.missiles.dto.system.NoticeAddRequest;
import com.casic.missiles.dto.system.NoticeListRequest;
+import com.casic.missiles.dto.system.NoticeReadRequest;
import com.casic.missiles.mapper.system.SystemNoticeMapper;
+import com.casic.missiles.mapper.system.SystemNoticeUserRelationMapper;
import com.casic.missiles.model.system.SystemNotice;
+import com.casic.missiles.model.system.SystemNoticeUserRelation;
import com.casic.missiles.service.system.ISystemNoticeService;
+import com.casic.missiles.service.system.ISystemNoticeUserRelationService;
import com.casic.missiles.utils.ConvertUtils;
import com.casic.missiles.utils.NumberGeneratorUtil;
-import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+
/**
*
* 系统管理-通知公告表 服务实现类
@@ -28,21 +37,19 @@
public class SystemNoticeServiceImpl extends ServiceImpl implements ISystemNoticeService {
@Autowired
private SystemNoticeMapper noticeMapper;
+ @Autowired
+ private ISystemNoticeUserRelationService noticeUserRelationService;
+ @Autowired
+ private SystemNoticeUserRelationMapper noticeUserRelationMapper;
@Override
public Page listPage(Page page, NoticeListRequest request) {
- QueryWrapper wrapper = new QueryWrapper<>();
- wrapper.like(StringUtils.isNotBlank(request.getNoticeNo()), "notice_no", request.getNoticeNo());
- wrapper.like(StringUtils.isNotBlank(request.getNoticeTitle()), "notice_title", request.getNoticeTitle());
- wrapper.like(StringUtils.isNotBlank(request.getNoticePublisher()), "notice_publisher", request.getNoticePublisher());
- wrapper.apply(StringUtils.isNotBlank(request.getNoticeStartTime()),
- "{0} <= DATE_FORMAT(notice_time,'%Y-%m-%d')", request.getNoticeStartTime().split(" ")[0]);
- wrapper.apply(StringUtils.isNotBlank(request.getNoticeEndTime()),
- "{0} >= DATE_FORMAT(notice_time,'%Y-%m-%d')", request.getNoticeEndTime().split(" ")[0]);
- wrapper.eq("is_del", 0);
- wrapper.orderByDesc("notice_time");
- Page trainPlanPage = noticeMapper.selectPage(page, wrapper);
- return trainPlanPage;
+ AuthUser user = ShiroKit.getUser();
+ if(!Objects.isNull(user)){
+ request.setUserId(user.getId());
+ }
+ Page noticePage = noticeMapper.selectListPage(page, request);
+ return noticePage;
}
@Override
@@ -71,8 +78,28 @@
@Override
public ReturnDTO deleteNotice(Long id) {
if(noticeMapper.deleteById(id) > 0){
+ QueryWrapper wrapper = new QueryWrapper<>();
+ wrapper.eq("notice_id", id);
+ noticeUserRelationMapper.delete(wrapper);
return ReturnUtil.success();
}
return ReturnUtil.failed("刪除失败");
}
+
+ @Override
+ public ReturnDTO noticeRead(NoticeReadRequest noticeReadRequest) {
+ Long userId = noticeReadRequest.getUserId();
+ List ids = noticeReadRequest.getIds();
+ List list = new ArrayList<>();
+ ids.forEach(id -> {
+ SystemNoticeUserRelation noticeUserRelation = new SystemNoticeUserRelation();
+ noticeUserRelation.setUserId(userId);
+ noticeUserRelation.setId(id);
+ list.add(noticeUserRelation);
+ });
+ if(noticeUserRelationService.saveBatch(list)){
+ return ReturnUtil.success();
+ }
+ return ReturnUtil.failed();
+ }
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeUserRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeUserRelationServiceImpl.java
new file mode 100644
index 0000000..d6eec71
--- /dev/null
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeUserRelationServiceImpl.java
@@ -0,0 +1,20 @@
+package com.casic.missiles.service.Impl.system;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.casic.missiles.mapper.system.SystemNoticeUserRelationMapper;
+import com.casic.missiles.model.system.SystemNoticeUserRelation;
+import com.casic.missiles.service.system.ISystemNoticeUserRelationService;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ * 通知公告与用户关联表(记录已读) 服务实现类
+ *
+ *
+ * @author wangpeng
+ * @since 2023-03-07
+ */
+@Service
+public class SystemNoticeUserRelationServiceImpl extends ServiceImpl implements ISystemNoticeUserRelationService {
+
+}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/system/ISystemNoticeService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/system/ISystemNoticeService.java
index e9db086..f1b2fed 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/system/ISystemNoticeService.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/system/ISystemNoticeService.java
@@ -5,6 +5,7 @@
import com.casic.missiles.dto.ReturnDTO;
import com.casic.missiles.dto.system.NoticeAddRequest;
import com.casic.missiles.dto.system.NoticeListRequest;
+import com.casic.missiles.dto.system.NoticeReadRequest;
import com.casic.missiles.model.system.SystemNotice;
/**
@@ -25,4 +26,5 @@
ReturnDTO deleteNotice(Long id);
+ ReturnDTO noticeRead(NoticeReadRequest noticeReadRequest);
}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java
index 1bb8875..691aebd 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/system/SystemController.java
@@ -263,4 +263,14 @@
});
return noticeService.deleteNotice(idDTO.getId());
}
+
+ @ApiOperation("通知公告标记已读")
+ @PostMapping("/notice/read")
+ @ResponseBody
+ public ReturnDTO noticeRead(@RequestBody @Valid NoticeReadRequest noticeReadRequest, BindingResult bindingResult) {
+ if(bindingResult.hasErrors()){
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return noticeService.noticeRead(noticeReadRequest);
+ }
}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java
index fa6e8f9..1372bfc 100644
--- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeMapper.java
@@ -1,7 +1,10 @@
package com.casic.missiles.mapper.system;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.dto.system.NoticeListRequest;
import com.casic.missiles.model.system.SystemNotice;
+import org.apache.ibatis.annotations.Param;
/**
*
@@ -13,4 +16,6 @@
*/
public interface SystemNoticeMapper extends BaseMapper {
Long selectMaxNoticeNo();
+
+ Page selectListPage(Page page, @Param("request") NoticeListRequest request);
}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeUserRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeUserRelationMapper.java
new file mode 100644
index 0000000..bb54311
--- /dev/null
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/system/SystemNoticeUserRelationMapper.java
@@ -0,0 +1,16 @@
+package com.casic.missiles.mapper.system;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.model.system.SystemNoticeUserRelation;
+
+/**
+ *
+ * 通知公告与用户关联表(记录已读) Mapper 接口
+ *
+ *
+ * @author wangpeng
+ * @since 2023-03-07
+ */
+public interface SystemNoticeUserRelationMapper extends BaseMapper {
+
+}
diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml
index a4ecac7..6430f52 100644
--- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml
@@ -48,10 +48,10 @@
AND bo.customer_no LIKE concat('%',#{request.customerNo},'%')
- AND bo.require_over_time <= #{request.startTime}
+ AND bo.require_over_time >= #{request.startTime}
- AND bo.require_over_time > #{request.endTime}
+ AND bo.require_over_time < #{request.endTime}
AND bo.is_urgent = #{request.isUrgent}
@@ -125,10 +125,10 @@
AND bo.customer_name LIKE concat('%',#{request.customerName},'%')
- AND bo.require_over_time <= #{request.startTime}
+ AND bo.require_over_time >= #{request.startTime}
- AND bo.require_over_time > #{request.endTime}
+ AND bo.require_over_time < #{request.endTime}
AND bo.is_urgent = #{request.isUrgent}
diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeMapper.xml
index 59119f8..6925c7f 100644
--- a/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeMapper.xml
@@ -16,6 +16,7 @@
+
@@ -26,4 +27,27 @@
+
+
diff --git a/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeUserRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeUserRelationMapper.xml
new file mode 100644
index 0000000..430a93d
--- /dev/null
+++ b/casic-metering-dao/src/main/resources/mapper/system/SystemNoticeUserRelationMapper.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ id, notice_id, user_id, create_time, update_time
+
+
+
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeListRequest.java
index 4a1685f..a71e776 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeListRequest.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeListRequest.java
@@ -37,4 +37,7 @@
private String noticeStartTime;
@ApiModelProperty(value = "发布时间(结束)", dataType = "String")
private String noticeEndTime;
+
+ @ApiModelProperty(hidden = true)
+ private Long userId;
}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeReadRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeReadRequest.java
new file mode 100644
index 0000000..628782c
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/system/NoticeReadRequest.java
@@ -0,0 +1,28 @@
+package com.casic.missiles.dto.system;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+ * @Description: 通知公告已读请求实体
+ * @Author: wangpeng
+ * @Date: 2023/3/7 14:32
+ */
+@ApiModel
+@Data
+public class NoticeReadRequest {
+
+ @NotNull(message = "登录用户id不能为空")
+ @ApiModelProperty(value = "登录用户id", dataType = "Long")
+ private Long userId;
+
+ @NotEmpty(message = "主键id列表不能为空")
+ @ApiModelProperty(value = "主键id列表", dataType = "List")
+ private List ids;
+
+}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemNotice.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemNotice.java
index 560fdb2..48c839e 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemNotice.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemNotice.java
@@ -112,4 +112,11 @@
@TableField("update_time")
private String updateTime;
+ /**
+ * 用户id
+ */
+ @ApiModelProperty(hidden = true)
+ @TableField(exist = false)
+ private Long read;
+
}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemNoticeUserRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemNoticeUserRelation.java
new file mode 100644
index 0000000..afe084c
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/model/system/SystemNoticeUserRelation.java
@@ -0,0 +1,45 @@
+package com.casic.missiles.model.system;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ *
+ * 通知公告与用户关联表(记录已读)
+ *
+ *
+ * @author wangpeng
+ * @since 2023-03-07
+ */
+@Data
+@TableName("system_notice_user_relation")
+public class SystemNoticeUserRelation implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId("id")
+ private Long id;
+
+ /**
+ * 通知公告主键
+ */
+ @TableField("notice_id")
+ private Long noticeId;
+
+ /**
+ * 用户主键
+ */
+ @TableField("user_id")
+ private Long userId;
+
+ @TableField("create_time")
+ private String createTime;
+
+ @TableField("update_time")
+ private String updateTime;
+
+}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeServiceImpl.java
index 08b23c8..3e50989 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeServiceImpl.java
@@ -3,19 +3,28 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.casic.missiles.core.model.auth.AuthUser;
+import com.casic.missiles.core.shiro.ShiroKit;
import com.casic.missiles.dto.ReturnDTO;
import com.casic.missiles.dto.ReturnUtil;
import com.casic.missiles.dto.system.NoticeAddRequest;
import com.casic.missiles.dto.system.NoticeListRequest;
+import com.casic.missiles.dto.system.NoticeReadRequest;
import com.casic.missiles.mapper.system.SystemNoticeMapper;
+import com.casic.missiles.mapper.system.SystemNoticeUserRelationMapper;
import com.casic.missiles.model.system.SystemNotice;
+import com.casic.missiles.model.system.SystemNoticeUserRelation;
import com.casic.missiles.service.system.ISystemNoticeService;
+import com.casic.missiles.service.system.ISystemNoticeUserRelationService;
import com.casic.missiles.utils.ConvertUtils;
import com.casic.missiles.utils.NumberGeneratorUtil;
-import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+
/**
*
* 系统管理-通知公告表 服务实现类
@@ -28,21 +37,19 @@
public class SystemNoticeServiceImpl extends ServiceImpl implements ISystemNoticeService {
@Autowired
private SystemNoticeMapper noticeMapper;
+ @Autowired
+ private ISystemNoticeUserRelationService noticeUserRelationService;
+ @Autowired
+ private SystemNoticeUserRelationMapper noticeUserRelationMapper;
@Override
public Page listPage(Page page, NoticeListRequest request) {
- QueryWrapper wrapper = new QueryWrapper<>();
- wrapper.like(StringUtils.isNotBlank(request.getNoticeNo()), "notice_no", request.getNoticeNo());
- wrapper.like(StringUtils.isNotBlank(request.getNoticeTitle()), "notice_title", request.getNoticeTitle());
- wrapper.like(StringUtils.isNotBlank(request.getNoticePublisher()), "notice_publisher", request.getNoticePublisher());
- wrapper.apply(StringUtils.isNotBlank(request.getNoticeStartTime()),
- "{0} <= DATE_FORMAT(notice_time,'%Y-%m-%d')", request.getNoticeStartTime().split(" ")[0]);
- wrapper.apply(StringUtils.isNotBlank(request.getNoticeEndTime()),
- "{0} >= DATE_FORMAT(notice_time,'%Y-%m-%d')", request.getNoticeEndTime().split(" ")[0]);
- wrapper.eq("is_del", 0);
- wrapper.orderByDesc("notice_time");
- Page trainPlanPage = noticeMapper.selectPage(page, wrapper);
- return trainPlanPage;
+ AuthUser user = ShiroKit.getUser();
+ if(!Objects.isNull(user)){
+ request.setUserId(user.getId());
+ }
+ Page noticePage = noticeMapper.selectListPage(page, request);
+ return noticePage;
}
@Override
@@ -71,8 +78,28 @@
@Override
public ReturnDTO deleteNotice(Long id) {
if(noticeMapper.deleteById(id) > 0){
+ QueryWrapper wrapper = new QueryWrapper<>();
+ wrapper.eq("notice_id", id);
+ noticeUserRelationMapper.delete(wrapper);
return ReturnUtil.success();
}
return ReturnUtil.failed("刪除失败");
}
+
+ @Override
+ public ReturnDTO noticeRead(NoticeReadRequest noticeReadRequest) {
+ Long userId = noticeReadRequest.getUserId();
+ List ids = noticeReadRequest.getIds();
+ List list = new ArrayList<>();
+ ids.forEach(id -> {
+ SystemNoticeUserRelation noticeUserRelation = new SystemNoticeUserRelation();
+ noticeUserRelation.setUserId(userId);
+ noticeUserRelation.setId(id);
+ list.add(noticeUserRelation);
+ });
+ if(noticeUserRelationService.saveBatch(list)){
+ return ReturnUtil.success();
+ }
+ return ReturnUtil.failed();
+ }
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeUserRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeUserRelationServiceImpl.java
new file mode 100644
index 0000000..d6eec71
--- /dev/null
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/system/SystemNoticeUserRelationServiceImpl.java
@@ -0,0 +1,20 @@
+package com.casic.missiles.service.Impl.system;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.casic.missiles.mapper.system.SystemNoticeUserRelationMapper;
+import com.casic.missiles.model.system.SystemNoticeUserRelation;
+import com.casic.missiles.service.system.ISystemNoticeUserRelationService;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ * 通知公告与用户关联表(记录已读) 服务实现类
+ *
+ *
+ * @author wangpeng
+ * @since 2023-03-07
+ */
+@Service
+public class SystemNoticeUserRelationServiceImpl extends ServiceImpl implements ISystemNoticeUserRelationService {
+
+}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/system/ISystemNoticeService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/system/ISystemNoticeService.java
index e9db086..f1b2fed 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/system/ISystemNoticeService.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/system/ISystemNoticeService.java
@@ -5,6 +5,7 @@
import com.casic.missiles.dto.ReturnDTO;
import com.casic.missiles.dto.system.NoticeAddRequest;
import com.casic.missiles.dto.system.NoticeListRequest;
+import com.casic.missiles.dto.system.NoticeReadRequest;
import com.casic.missiles.model.system.SystemNotice;
/**
@@ -25,4 +26,5 @@
ReturnDTO deleteNotice(Long id);
+ ReturnDTO noticeRead(NoticeReadRequest noticeReadRequest);
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/system/ISystemNoticeUserRelationService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/system/ISystemNoticeUserRelationService.java
new file mode 100644
index 0000000..bdf3f2a
--- /dev/null
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/system/ISystemNoticeUserRelationService.java
@@ -0,0 +1,16 @@
+package com.casic.missiles.service.system;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.casic.missiles.model.system.SystemNoticeUserRelation;
+
+/**
+ *
+ * 通知公告与用户关联表(记录已读) 服务类
+ *
+ *
+ * @author wangpeng
+ * @since 2023-03-07
+ */
+public interface ISystemNoticeUserRelationService extends IService {
+
+}