李云瑞 hai 1 ano
pai
achega
b5759a3b4b
Modificáronse 15 ficheiros con 327 adicións e 0 borrados
  1. 59 0
      jeecg-boot-base-core/src/main/java/org/jeecg/common/util/IpUtils.java
  2. BIN=BIN
      jeecg-boot-base-core/target/classes/org/jeecg/common/util/IpUtils.class
  3. 26 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/message/handle/ISendMsgHandle.java
  4. 29 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/oss/service/IOssFileService.java
  5. 67 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/quartz/service/IQuartzJobService.java
  6. 41 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/ISysAnnouncementSendService.java
  7. 65 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/ISysAnnouncementService.java
  8. 13 0
      jeecg-module-system/jeecg-system-biz/src/main/resources/jeecg/code-template-online/common/init/initValueSub.ftl
  9. 13 0
      jeecg-module-system/jeecg-system-biz/target/classes/jeecg/code-template-online/common/init/initValueSub.ftl
  10. BIN=BIN
      jeecg-module-system/jeecg-system-biz/target/classes/org/jeecg/modules/message/handle/ISendMsgHandle.class
  11. BIN=BIN
      jeecg-module-system/jeecg-system-biz/target/classes/org/jeecg/modules/oss/service/IOssFileService.class
  12. BIN=BIN
      jeecg-module-system/jeecg-system-biz/target/classes/org/jeecg/modules/quartz/service/IQuartzJobService.class
  13. BIN=BIN
      jeecg-module-system/jeecg-system-biz/target/classes/org/jeecg/modules/system/service/ISysAnnouncementSendService.class
  14. BIN=BIN
      jeecg-module-system/jeecg-system-biz/target/classes/org/jeecg/modules/system/service/ISysAnnouncementService.class
  15. 14 0
      jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/java/org/jeecg/modules/test/sharding/service/IShardingSysLogService.java

+ 59 - 0
jeecg-boot-base-core/src/main/java/org/jeecg/common/util/IpUtils.java

@@ -0,0 +1,59 @@
+package org.jeecg.common.util;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.apache.commons.lang3.StringUtils;
+import org.jeecg.common.constant.CommonConstant;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * IP地址
+ * 
+ * @Author scott
+ * @email jeecgos@163.com
+ * @Date 2019年01月14日
+ */
+public class IpUtils {
+	private static Logger logger = LoggerFactory.getLogger(IpUtils.class);
+
+	/**
+	 * 获取IP地址
+	 * 
+	 * 使用Nginx等反向代理软件, 则不能通过request.getRemoteAddr()获取IP地址
+	 * 如果使用了多级反向代理的话,X-Forwarded-For的值并不止一个,而是一串IP地址,X-Forwarded-For中第一个非unknown的有效IP字符串,则为真实IP地址
+	 */
+	public static String getIpAddr(HttpServletRequest request) {
+    	String ip = null;
+        try {
+            ip = request.getHeader("x-forwarded-for");
+            if (StringUtils.isEmpty(ip) || CommonConstant.UNKNOWN.equalsIgnoreCase(ip)) {
+                ip = request.getHeader("Proxy-Client-IP");
+            }
+            if (StringUtils.isEmpty(ip) || ip.length() == 0 ||CommonConstant.UNKNOWN.equalsIgnoreCase(ip)) {
+                ip = request.getHeader("WL-Proxy-Client-IP");
+            }
+            if (StringUtils.isEmpty(ip) || CommonConstant.UNKNOWN.equalsIgnoreCase(ip)) {
+                ip = request.getHeader("HTTP_CLIENT_IP");
+            }
+            if (StringUtils.isEmpty(ip) || CommonConstant.UNKNOWN.equalsIgnoreCase(ip)) {
+                ip = request.getHeader("HTTP_X_FORWARDED_FOR");
+            }
+            if (StringUtils.isEmpty(ip) || CommonConstant.UNKNOWN.equalsIgnoreCase(ip)) {
+                ip = request.getRemoteAddr();
+            }
+        } catch (Exception e) {
+        	logger.error("IPUtils ERROR ", e);
+        }
+        
+//        //使用代理,则获取第一个IP地址
+//        if(StringUtils.isEmpty(ip) && ip.length() > 15) {
+//			if(ip.indexOf(",") > 0) {
+//				ip = ip.substring(0, ip.indexOf(","));
+//			}
+//		}
+        
+        return ip;
+    }
+	
+}

BIN=BIN
jeecg-boot-base-core/target/classes/org/jeecg/common/util/IpUtils.class


+ 26 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/message/handle/ISendMsgHandle.java

@@ -0,0 +1,26 @@
+package org.jeecg.modules.message.handle;
+
+import org.jeecg.common.api.dto.message.MessageDTO;
+
+/**
+ * @Description: 发送信息接口
+ * @author: jeecg-boot
+ */
+public interface ISendMsgHandle {
+
+    /**
+     * 发送信息
+     * @param esReceiver 接受人
+     * @param esTitle 标题
+     * @param esContent 内容
+     */
+	void sendMsg(String esReceiver, String esTitle, String esContent);
+
+    /**
+     * 发送信息
+     * @param messageDTO
+     */
+	default void sendMessage(MessageDTO messageDTO){
+
+    }
+}

+ 29 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/oss/service/IOssFileService.java

@@ -0,0 +1,29 @@
+package org.jeecg.modules.oss.service;
+
+import java.io.IOException;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.oss.entity.OssFile;
+import org.springframework.web.multipart.MultipartFile;
+
+/**
+ * @Description: OOS云存储service接口
+ * @author: jeecg-boot
+ */
+public interface IOssFileService extends IService<OssFile> {
+
+    /**
+     * oss文件上传
+     * @param multipartFile
+     * @throws IOException
+     */
+	void upload(MultipartFile multipartFile) throws Exception;
+
+    /**
+     * oss文件删除
+     * @param ossFile OSSFile对象
+     * @return
+     */
+	boolean delete(OssFile ossFile);
+
+}

+ 67 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/quartz/service/IQuartzJobService.java

@@ -0,0 +1,67 @@
+package org.jeecg.modules.quartz.service;
+
+import java.util.List;
+
+import org.jeecg.modules.quartz.entity.QuartzJob;
+import org.quartz.SchedulerException;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 定时任务在线管理
+ * @Author: jeecg-boot
+ * @Date: 2019-04-28
+ * @Version: V1.1
+ */
+public interface IQuartzJobService extends IService<QuartzJob> {
+
+    /**
+     * 通过类名寻找定时任务
+     * @param jobClassName 类名
+     * @return List<QuartzJob>
+     */
+	List<QuartzJob> findByJobClassName(String jobClassName);
+
+    /**
+     * 保存定时任务
+     * @param quartzJob
+     * @return boolean
+     */
+	boolean saveAndScheduleJob(QuartzJob quartzJob);
+
+    /**
+     * 编辑定时任务
+     * @param quartzJob
+     * @return boolean
+     * @throws SchedulerException
+     */
+	boolean editAndScheduleJob(QuartzJob quartzJob) throws SchedulerException;
+
+    /**
+     * 删除定时任务
+     * @param quartzJob
+     * @return boolean
+     */
+	boolean deleteAndStopJob(QuartzJob quartzJob);
+
+    /**
+     * 恢复定时任务
+     * @param quartzJob
+     * @return
+     */
+	boolean resumeJob(QuartzJob quartzJob);
+
+	/**
+	 * 执行定时任务
+	 * @param quartzJob
+     * @throws Exception
+	 */
+	void execute(QuartzJob quartzJob) throws Exception;
+
+	/**
+	 * 暂停任务
+	 * @param quartzJob
+	 * @throws SchedulerException
+	 */
+	void pause(QuartzJob quartzJob);
+}

+ 41 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/ISysAnnouncementSendService.java

@@ -0,0 +1,41 @@
+package org.jeecg.modules.system.service;
+
+import java.util.List;
+
+import org.jeecg.modules.system.entity.SysAnnouncementSend;
+import org.jeecg.modules.system.model.AnnouncementSendModel;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 用户通告阅读标记表
+ * @Author: jeecg-boot
+ * @Date:  2019-02-21
+ * @Version: V1.0
+ */
+public interface ISysAnnouncementSendService extends IService<SysAnnouncementSend> {
+
+    /**
+     * 通过用户id查询用户通告阅读标记
+     * @param userId 用户id
+     * @return
+     */
+	public List<String> queryByUserId(String userId);
+	
+	/**
+	 * 获取我的消息
+	 * @param announcementSendModel
+     * @param page 当前页数
+	 * @return
+	 */
+	public Page<AnnouncementSendModel> getMyAnnouncementSendPage(Page<AnnouncementSendModel> page,AnnouncementSendModel announcementSendModel);
+
+	/**
+	 * 根据消息发送记录ID获取消息内容
+	 * @return
+	 */
+	AnnouncementSendModel getOne(String sendId);
+	
+
+}

+ 65 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/ISysAnnouncementService.java

@@ -0,0 +1,65 @@
+package org.jeecg.modules.system.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.system.entity.SysAnnouncement;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Description: 系统通告表
+ * @Author: jeecg-boot
+ * @Date:  2019-01-02
+ * @Version: V1.0
+ */
+public interface ISysAnnouncementService extends IService<SysAnnouncement> {
+
+    /**
+     * 保存系统通告
+     * @param sysAnnouncement
+     */
+	public void saveAnnouncement(SysAnnouncement sysAnnouncement);
+
+    /**
+     * 修改系统通告
+     * @param sysAnnouncement
+     * @return
+     */
+	public boolean upDateAnnouncement(SysAnnouncement sysAnnouncement);
+
+    /**
+     * 保存系统通告
+     * @param title 标题
+     * @param msgContent 信息内容
+     */
+	public void saveSysAnnouncement(String title, String msgContent);
+
+    /**
+     * 分页查询系统通告
+     * @param page 当前页数
+     * @param userId 用户id
+     * @param msgCategory 消息类型
+     * @return Page<SysAnnouncement>
+     */
+	public Page<SysAnnouncement> querySysCementPageByUserId(Page<SysAnnouncement> page, String userId, String msgCategory);
+
+
+    /**
+     *  补全当前登录用户的消息阅读记录 
+     */
+	void completeAnnouncementSendInfo();
+
+
+    /**
+     * 分页查询当前登录用户的消息, 并且标记哪些是未读消息
+     */
+    List<SysAnnouncement> querySysMessageList(int pageSize, int pageNo, String fromUser, String starFlag, Date beginDate, Date endDate);
+
+    /**
+     * 修改为已读消息
+     */
+    void updateReaded(List<String> annoceIdList);
+
+
+}

+ 13 - 0
jeecg-module-system/jeecg-system-biz/src/main/resources/jeecg/code-template-online/common/init/initValueSub.ftl

@@ -0,0 +1,13 @@
+<#list sub.colums as po>
+    <#if po.isShow == 'Y'>
+        <#if po.fieldName != 'id'>
+            <#if po.defaultVal??>
+                <#if po.fieldDbType=="BigDecimal" || po.fieldDbType=="double" || po.fieldDbType=="int">
+            ${po.fieldName}:${po.defaultVal},
+                <#else>
+            ${po.fieldName}:"${po.defaultVal}",
+                </#if>
+            </#if>
+        </#if>
+    </#if>
+</#list>

+ 13 - 0
jeecg-module-system/jeecg-system-biz/target/classes/jeecg/code-template-online/common/init/initValueSub.ftl

@@ -0,0 +1,13 @@
+<#list sub.colums as po>
+    <#if po.isShow == 'Y'>
+        <#if po.fieldName != 'id'>
+            <#if po.defaultVal??>
+                <#if po.fieldDbType=="BigDecimal" || po.fieldDbType=="double" || po.fieldDbType=="int">
+            ${po.fieldName}:${po.defaultVal},
+                <#else>
+            ${po.fieldName}:"${po.defaultVal}",
+                </#if>
+            </#if>
+        </#if>
+    </#if>
+</#list>

BIN=BIN
jeecg-module-system/jeecg-system-biz/target/classes/org/jeecg/modules/message/handle/ISendMsgHandle.class


BIN=BIN
jeecg-module-system/jeecg-system-biz/target/classes/org/jeecg/modules/oss/service/IOssFileService.class


BIN=BIN
jeecg-module-system/jeecg-system-biz/target/classes/org/jeecg/modules/quartz/service/IQuartzJobService.class


BIN=BIN
jeecg-module-system/jeecg-system-biz/target/classes/org/jeecg/modules/system/service/ISysAnnouncementSendService.class


BIN=BIN
jeecg-module-system/jeecg-system-biz/target/classes/org/jeecg/modules/system/service/ISysAnnouncementService.class


+ 14 - 0
jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/java/org/jeecg/modules/test/sharding/service/IShardingSysLogService.java

@@ -0,0 +1,14 @@
+package org.jeecg.modules.test.sharding.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.test.sharding.entity.ShardingSysLog;
+
+/**
+ * @Description:  系统日志表 服务类
+ * @author: zyf
+ * @date: 2022/01/24
+ * @version: V1.0
+ */
+public interface IShardingSysLogService extends IService<ShardingSysLog> {
+
+}