From 34981c30a78e8bbd7791131059a9210f9928b62c Mon Sep 17 00:00:00 2001
From: 刘光辉 <347230014@qq.com>
Date: 星期四, 17 九月 2026 09:24:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master

---
 jnpf-lims/jnpf-lims-biz/src/main/java/jnpf/mapper/EmailReceiveMapper.java |   93 ++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 93 insertions(+), 0 deletions(-)

diff --git a/jnpf-lims/jnpf-lims-biz/src/main/java/jnpf/mapper/EmailReceiveMapper.java b/jnpf-lims/jnpf-lims-biz/src/main/java/jnpf/mapper/EmailReceiveMapper.java
new file mode 100644
index 0000000..1d3738f
--- /dev/null
+++ b/jnpf-lims/jnpf-lims-biz/src/main/java/jnpf/mapper/EmailReceiveMapper.java
@@ -0,0 +1,93 @@
+package jnpf.mapper;
+
+
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import jnpf.base.PaginationTime;
+import jnpf.base.mapper.SuperMapper;
+import jnpf.entity.EmailReceiveEntity;
+import jnpf.util.UserProvider;
+import org.apache.commons.lang3.StringUtils;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 閭欢鎺ユ敹
+ *
+ * @author JNPF寮�鍙戝钩鍙扮粍
+ * @version V3.1.0
+ * @copyright 寮曡繄淇℃伅鎶�鏈湁闄愬叕鍙�
+ * @date 2019骞�9鏈�26鏃� 涓婂崍9:18
+ */
+public interface EmailReceiveMapper extends SuperMapper<EmailReceiveEntity> {
+
+    default List<EmailReceiveEntity> getReceiveList(PaginationTime paginationTime) {
+        String userId = UserProvider.getUser().getUserId();
+        QueryWrapper<EmailReceiveEntity> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(EmailReceiveEntity::getCreatorUserId, userId);
+        //鏃ユ湡鑼冨洿锛堣繎7澶┿�佽繎1鏈堛�佽繎3鏈堛�佽嚜瀹氫箟锛�
+        if (ObjectUtil.isNotEmpty(paginationTime.getStartTime()) && ObjectUtil.isNotEmpty(paginationTime.getEndTime())) {
+            queryWrapper.lambda().between(EmailReceiveEntity::getFdate, new Date(paginationTime.getStartTime()), new Date(paginationTime.getEndTime()));
+        }
+        //鍏抽敭瀛楋紙鐢ㄦ埛銆両P鍦板潃銆佸姛鑳藉悕绉帮級
+        String keyWord = paginationTime.getKeyword() != null ? paginationTime.getKeyword() : null;
+        //鍏抽敭瀛楋紙鍙戜欢浜恒�佷富棰橈級
+        if (!StringUtils.isEmpty(keyWord)) {
+            queryWrapper.lambda().and(
+                    t -> t.like(EmailReceiveEntity::getSender, keyWord)
+                            .or().like(EmailReceiveEntity::getSubject, keyWord)
+            );
+        }
+        //鎺掑簭
+        if (StringUtils.isEmpty(paginationTime.getSidx())) {
+            queryWrapper.lambda().orderByDesc(EmailReceiveEntity::getFdate);
+        } else {
+            queryWrapper = "ASC".equalsIgnoreCase(paginationTime.getSort()) ? queryWrapper.orderByAsc(paginationTime.getSidx()) : queryWrapper.orderByDesc(paginationTime.getSidx());
+        }
+        Page<EmailReceiveEntity> page = new Page<>(paginationTime.getCurrentPage(), paginationTime.getPageSize());
+        IPage<EmailReceiveEntity> userIPage = this.selectPage(page, queryWrapper);
+        return paginationTime.setData(userIPage.getRecords(), page.getTotal());
+    }
+
+    default List<EmailReceiveEntity> getDashboardReceiveList() {
+        String userId = UserProvider.getUser().getUserId();
+        QueryWrapper<EmailReceiveEntity> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(EmailReceiveEntity::getCreatorUserId, userId).eq(EmailReceiveEntity::getIsRead, 0).orderByDesc(EmailReceiveEntity::getCreatorTime);
+        Page<EmailReceiveEntity> page = new Page<>(1, 20);
+        IPage<EmailReceiveEntity> iPage = this.selectPage(page, queryWrapper);
+        return iPage.getRecords();
+    }
+
+    default List<EmailReceiveEntity> getStarredList(PaginationTime paginationTime) {
+        String userId = UserProvider.getUser().getUserId();
+        QueryWrapper<EmailReceiveEntity> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(EmailReceiveEntity::getCreatorUserId, userId).eq(EmailReceiveEntity::getStarred, 1);
+        //鏃ユ湡鑼冨洿锛堣繎7澶┿�佽繎1鏈堛�佽繎3鏈堛�佽嚜瀹氫箟锛�
+        if (ObjectUtil.isNotEmpty(paginationTime.getStartTime()) && ObjectUtil.isNotEmpty(paginationTime.getEndTime())) {
+            queryWrapper.lambda().between(EmailReceiveEntity::getCreatorTime, new Date(paginationTime.getStartTime()), new Date(paginationTime.getEndTime()));
+        }
+        //鍏抽敭瀛楋紙鐢ㄦ埛銆両P鍦板潃銆佸姛鑳藉悕绉帮級
+        String keyWord = paginationTime.getKeyword() != null ? paginationTime.getKeyword() : null;
+        //鍏抽敭瀛楋紙鍙戜欢浜恒�佷富棰橈級
+        if (!StringUtils.isEmpty(keyWord)) {
+            queryWrapper.lambda().and(
+                    t -> t.like(EmailReceiveEntity::getSender, keyWord)
+                            .or().like(EmailReceiveEntity::getSubject, keyWord)
+            );
+        }
+        //鎺掑簭
+        if (StringUtils.isEmpty(paginationTime.getSidx())) {
+            queryWrapper.lambda().orderByDesc(EmailReceiveEntity::getCreatorTime);
+        } else {
+            queryWrapper = "ASC".equalsIgnoreCase(paginationTime.getSort()) ? queryWrapper.orderByAsc(paginationTime.getSidx()) : queryWrapper.orderByDesc(paginationTime.getSidx());
+        }
+        Page<EmailReceiveEntity> page = new Page<>(paginationTime.getCurrentPage(), paginationTime.getPageSize());
+        IPage<EmailReceiveEntity> userIPage = this.selectPage(page, queryWrapper);
+        return paginationTime.setData(userIPage.getRecords(), page.getTotal());
+    }
+
+
+}

--
Gitblit v1.8.0