diff --git a/.gitignore b/.gitignore index 967cb75..f40caec 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ .idea/ **/target/** +**/classes/** logs/ casic-web/src/test *.iml \ No newline at end of file diff --git a/.gitignore b/.gitignore index 967cb75..f40caec 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ .idea/ **/target/** +**/classes/** logs/ casic-web/src/test *.iml \ No newline at end of file diff --git a/casic-web/pom.xml b/casic-web/pom.xml index cf72e7c..d3d992d 100644 --- a/casic-web/pom.xml +++ b/casic-web/pom.xml @@ -86,6 +86,11 @@ com.casic + casic-http + ${extension.version} + + + com.casic casic-admin-area ${admin.version} @@ -96,6 +101,12 @@ casic-push-starter ${extension.version} + + + com.casic + casic-push-mail + ${extension.version} + com.casic casic-push-gt diff --git a/.gitignore b/.gitignore index 967cb75..f40caec 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ .idea/ **/target/** +**/classes/** logs/ casic-web/src/test *.iml \ No newline at end of file diff --git a/casic-web/pom.xml b/casic-web/pom.xml index cf72e7c..d3d992d 100644 --- a/casic-web/pom.xml +++ b/casic-web/pom.xml @@ -86,6 +86,11 @@ com.casic + casic-http + ${extension.version} + + + com.casic casic-admin-area ${admin.version} @@ -96,6 +101,12 @@ casic-push-starter ${extension.version} + + + com.casic + casic-push-mail + ${extension.version} + com.casic casic-push-gt diff --git a/casic-web/src/main/java/com/casic/missiles/CasicApplication.java b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java index ece5308..88d8d56 100644 --- a/casic-web/src/main/java/com/casic/missiles/CasicApplication.java +++ b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java @@ -8,8 +8,6 @@ import org.springframework.cache.annotation.EnableCaching; import org.springframework.transaction.annotation.EnableTransactionManagement; -import java.io.FileNotFoundException; - /** * SpringBoot方式启动类 * @@ -27,7 +25,5 @@ public static void main(String[] args){ SpringApplication.run(CasicApplication.class, args); logger.info("GunsApplication is success!"); - } - } diff --git a/.gitignore b/.gitignore index 967cb75..f40caec 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ .idea/ **/target/** +**/classes/** logs/ casic-web/src/test *.iml \ No newline at end of file diff --git a/casic-web/pom.xml b/casic-web/pom.xml index cf72e7c..d3d992d 100644 --- a/casic-web/pom.xml +++ b/casic-web/pom.xml @@ -86,6 +86,11 @@ com.casic + casic-http + ${extension.version} + + + com.casic casic-admin-area ${admin.version} @@ -96,6 +101,12 @@ casic-push-starter ${extension.version} + + + com.casic + casic-push-mail + ${extension.version} + com.casic casic-push-gt diff --git a/casic-web/src/main/java/com/casic/missiles/CasicApplication.java b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java index ece5308..88d8d56 100644 --- a/casic-web/src/main/java/com/casic/missiles/CasicApplication.java +++ b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java @@ -8,8 +8,6 @@ import org.springframework.cache.annotation.EnableCaching; import org.springframework.transaction.annotation.EnableTransactionManagement; -import java.io.FileNotFoundException; - /** * SpringBoot方式启动类 * @@ -27,7 +25,5 @@ public static void main(String[] args){ SpringApplication.run(CasicApplication.class, args); logger.info("GunsApplication is success!"); - } - } diff --git a/casic-web/src/main/java/com/casic/missiles/controller/MockController.java b/casic-web/src/main/java/com/casic/missiles/controller/MockController.java index 17f93e8..a0439d6 100644 --- a/casic-web/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-web/src/main/java/com/casic/missiles/controller/MockController.java @@ -1,9 +1,13 @@ package com.casic.missiles.controller; +import com.baomidou.mybatisplus.toolkit.IdWorker; +import com.casic.missiles.core.MessageBody; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.SuccessResponseData; +import com.casic.missiles.core.enums.PushMessageType; import com.casic.missiles.core.log.LogManager; import com.casic.missiles.core.log.factory.LogTaskFactory; +import com.casic.missiles.core.service.ICommonPushService; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.shiro.ShiroUser; import com.casic.missiles.core.util.RSAUtils; @@ -14,6 +18,7 @@ import org.apache.shiro.subject.Subject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -21,6 +26,8 @@ import javax.servlet.http.HttpServletRequest; import java.security.NoSuchAlgorithmException; +import java.util.ArrayList; +import java.util.List; import java.util.Map; import static com.casic.missiles.core.support.HttpKit.getIp; @@ -32,13 +39,23 @@ @RequestMapping("/route") public class MockController extends BaseController { private static final Logger logger = LoggerFactory.getLogger(MockController.class); - + @Autowired + private ICommonPushService commonPushService; /** * 获取mockToken */ @GetMapping("/mockToken") @ResponseBody public Object subdepts(HttpServletRequest request, String username, String password) { + List userIds= new ArrayList<>(); + userIds.add(1177050541084160013L); + MessageBody msg = new MessageBody(); + msg.setId(IdWorker.getId()); + msg.setType(PushMessageType.NORMAL); + msg.setContent("您有一个工单超时,请快速处理1"); + msg.setTitle("工单超时提醒"); + msg.setData("1344179797586866178"); + commonPushService.pushMsgByUsers(userIds,msg); ShiroKit.getSession().setAttribute(PermissionContant.IS_APP, false); SuccessResponseData resultData = new SuccessResponseData(); if (ToolUtil.isOneEmpty(username, password)) { diff --git a/.gitignore b/.gitignore index 967cb75..f40caec 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ .idea/ **/target/** +**/classes/** logs/ casic-web/src/test *.iml \ No newline at end of file diff --git a/casic-web/pom.xml b/casic-web/pom.xml index cf72e7c..d3d992d 100644 --- a/casic-web/pom.xml +++ b/casic-web/pom.xml @@ -86,6 +86,11 @@ com.casic + casic-http + ${extension.version} + + + com.casic casic-admin-area ${admin.version} @@ -96,6 +101,12 @@ casic-push-starter ${extension.version} + + + com.casic + casic-push-mail + ${extension.version} + com.casic casic-push-gt diff --git a/casic-web/src/main/java/com/casic/missiles/CasicApplication.java b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java index ece5308..88d8d56 100644 --- a/casic-web/src/main/java/com/casic/missiles/CasicApplication.java +++ b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java @@ -8,8 +8,6 @@ import org.springframework.cache.annotation.EnableCaching; import org.springframework.transaction.annotation.EnableTransactionManagement; -import java.io.FileNotFoundException; - /** * SpringBoot方式启动类 * @@ -27,7 +25,5 @@ public static void main(String[] args){ SpringApplication.run(CasicApplication.class, args); logger.info("GunsApplication is success!"); - } - } diff --git a/casic-web/src/main/java/com/casic/missiles/controller/MockController.java b/casic-web/src/main/java/com/casic/missiles/controller/MockController.java index 17f93e8..a0439d6 100644 --- a/casic-web/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-web/src/main/java/com/casic/missiles/controller/MockController.java @@ -1,9 +1,13 @@ package com.casic.missiles.controller; +import com.baomidou.mybatisplus.toolkit.IdWorker; +import com.casic.missiles.core.MessageBody; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.SuccessResponseData; +import com.casic.missiles.core.enums.PushMessageType; import com.casic.missiles.core.log.LogManager; import com.casic.missiles.core.log.factory.LogTaskFactory; +import com.casic.missiles.core.service.ICommonPushService; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.shiro.ShiroUser; import com.casic.missiles.core.util.RSAUtils; @@ -14,6 +18,7 @@ import org.apache.shiro.subject.Subject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -21,6 +26,8 @@ import javax.servlet.http.HttpServletRequest; import java.security.NoSuchAlgorithmException; +import java.util.ArrayList; +import java.util.List; import java.util.Map; import static com.casic.missiles.core.support.HttpKit.getIp; @@ -32,13 +39,23 @@ @RequestMapping("/route") public class MockController extends BaseController { private static final Logger logger = LoggerFactory.getLogger(MockController.class); - + @Autowired + private ICommonPushService commonPushService; /** * 获取mockToken */ @GetMapping("/mockToken") @ResponseBody public Object subdepts(HttpServletRequest request, String username, String password) { + List userIds= new ArrayList<>(); + userIds.add(1177050541084160013L); + MessageBody msg = new MessageBody(); + msg.setId(IdWorker.getId()); + msg.setType(PushMessageType.NORMAL); + msg.setContent("您有一个工单超时,请快速处理1"); + msg.setTitle("工单超时提醒"); + msg.setData("1344179797586866178"); + commonPushService.pushMsgByUsers(userIds,msg); ShiroKit.getSession().setAttribute(PermissionContant.IS_APP, false); SuccessResponseData resultData = new SuccessResponseData(); if (ToolUtil.isOneEmpty(username, password)) { diff --git a/casic-web/src/main/java/com/casic/missiles/handler/LoginCheckHandler.java b/casic-web/src/main/java/com/casic/missiles/handler/LoginCheckHandler.java index aafda55..2b927ae 100644 --- a/casic-web/src/main/java/com/casic/missiles/handler/LoginCheckHandler.java +++ b/casic-web/src/main/java/com/casic/missiles/handler/LoginCheckHandler.java @@ -3,7 +3,10 @@ import com.alibaba.fastjson.JSON; import com.casic.missiles.core.common.service.ICommonPermissionService; import com.casic.missiles.core.handler.BizCheckLoginHandler; +import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.shiro.ShiroUser; +import com.casic.missiles.modular.system.handler.DefaultHttpHeaderHandler; +import com.casic.missiles.modular.system.utils.HttpUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -13,6 +16,7 @@ import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Component; +import java.util.HashMap; import java.util.List; import java.util.concurrent.TimeUnit; @@ -22,6 +26,8 @@ private static final Logger logger = LoggerFactory.getLogger(LoginCheckHandler.class); @Value("${casic.session-invalidate-time:86400}") private Long sessionTime; + @Value("${casic.log.attendUrl:86400}") + private String attendLogUrl; @Lazy @Autowired private ICommonPermissionService service; @@ -34,8 +40,14 @@ //设置登录用户所属服务器组别 List pids = service.getParentDeptIds(shiroUser.getDeptId()); pids.add(shiroUser.getDeptId()); - redisTemplate.opsForValue().set("token:HOST_"+service.getShiroSession().getId(), JSON.toJSONString("654321"),sessionTime, TimeUnit.MILLISECONDS); + redisTemplate.opsForValue().set("token:HOST_" + service.getShiroSession().getId(), JSON.toJSONString("654321"), sessionTime, TimeUnit.MILLISECONDS); + + //进行登录回调 + try { + String token = String.valueOf(ShiroKit.getSession().getId()); + HttpUtils.sendPost(attendLogUrl, new HashMap<>(0), token, new DefaultHttpHeaderHandler()); + } catch (Exception e) { + logger.error("登录回调考勤日志报错:", e); + } } - - } diff --git a/.gitignore b/.gitignore index 967cb75..f40caec 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ .idea/ **/target/** +**/classes/** logs/ casic-web/src/test *.iml \ No newline at end of file diff --git a/casic-web/pom.xml b/casic-web/pom.xml index cf72e7c..d3d992d 100644 --- a/casic-web/pom.xml +++ b/casic-web/pom.xml @@ -86,6 +86,11 @@ com.casic + casic-http + ${extension.version} + + + com.casic casic-admin-area ${admin.version} @@ -96,6 +101,12 @@ casic-push-starter ${extension.version} + + + com.casic + casic-push-mail + ${extension.version} + com.casic casic-push-gt diff --git a/casic-web/src/main/java/com/casic/missiles/CasicApplication.java b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java index ece5308..88d8d56 100644 --- a/casic-web/src/main/java/com/casic/missiles/CasicApplication.java +++ b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java @@ -8,8 +8,6 @@ import org.springframework.cache.annotation.EnableCaching; import org.springframework.transaction.annotation.EnableTransactionManagement; -import java.io.FileNotFoundException; - /** * SpringBoot方式启动类 * @@ -27,7 +25,5 @@ public static void main(String[] args){ SpringApplication.run(CasicApplication.class, args); logger.info("GunsApplication is success!"); - } - } diff --git a/casic-web/src/main/java/com/casic/missiles/controller/MockController.java b/casic-web/src/main/java/com/casic/missiles/controller/MockController.java index 17f93e8..a0439d6 100644 --- a/casic-web/src/main/java/com/casic/missiles/controller/MockController.java +++ b/casic-web/src/main/java/com/casic/missiles/controller/MockController.java @@ -1,9 +1,13 @@ package com.casic.missiles.controller; +import com.baomidou.mybatisplus.toolkit.IdWorker; +import com.casic.missiles.core.MessageBody; import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.core.base.response.SuccessResponseData; +import com.casic.missiles.core.enums.PushMessageType; import com.casic.missiles.core.log.LogManager; import com.casic.missiles.core.log.factory.LogTaskFactory; +import com.casic.missiles.core.service.ICommonPushService; import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.shiro.ShiroUser; import com.casic.missiles.core.util.RSAUtils; @@ -14,6 +18,7 @@ import org.apache.shiro.subject.Subject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -21,6 +26,8 @@ import javax.servlet.http.HttpServletRequest; import java.security.NoSuchAlgorithmException; +import java.util.ArrayList; +import java.util.List; import java.util.Map; import static com.casic.missiles.core.support.HttpKit.getIp; @@ -32,13 +39,23 @@ @RequestMapping("/route") public class MockController extends BaseController { private static final Logger logger = LoggerFactory.getLogger(MockController.class); - + @Autowired + private ICommonPushService commonPushService; /** * 获取mockToken */ @GetMapping("/mockToken") @ResponseBody public Object subdepts(HttpServletRequest request, String username, String password) { + List userIds= new ArrayList<>(); + userIds.add(1177050541084160013L); + MessageBody msg = new MessageBody(); + msg.setId(IdWorker.getId()); + msg.setType(PushMessageType.NORMAL); + msg.setContent("您有一个工单超时,请快速处理1"); + msg.setTitle("工单超时提醒"); + msg.setData("1344179797586866178"); + commonPushService.pushMsgByUsers(userIds,msg); ShiroKit.getSession().setAttribute(PermissionContant.IS_APP, false); SuccessResponseData resultData = new SuccessResponseData(); if (ToolUtil.isOneEmpty(username, password)) { diff --git a/casic-web/src/main/java/com/casic/missiles/handler/LoginCheckHandler.java b/casic-web/src/main/java/com/casic/missiles/handler/LoginCheckHandler.java index aafda55..2b927ae 100644 --- a/casic-web/src/main/java/com/casic/missiles/handler/LoginCheckHandler.java +++ b/casic-web/src/main/java/com/casic/missiles/handler/LoginCheckHandler.java @@ -3,7 +3,10 @@ import com.alibaba.fastjson.JSON; import com.casic.missiles.core.common.service.ICommonPermissionService; import com.casic.missiles.core.handler.BizCheckLoginHandler; +import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.core.shiro.ShiroUser; +import com.casic.missiles.modular.system.handler.DefaultHttpHeaderHandler; +import com.casic.missiles.modular.system.utils.HttpUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -13,6 +16,7 @@ import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Component; +import java.util.HashMap; import java.util.List; import java.util.concurrent.TimeUnit; @@ -22,6 +26,8 @@ private static final Logger logger = LoggerFactory.getLogger(LoginCheckHandler.class); @Value("${casic.session-invalidate-time:86400}") private Long sessionTime; + @Value("${casic.log.attendUrl:86400}") + private String attendLogUrl; @Lazy @Autowired private ICommonPermissionService service; @@ -34,8 +40,14 @@ //设置登录用户所属服务器组别 List pids = service.getParentDeptIds(shiroUser.getDeptId()); pids.add(shiroUser.getDeptId()); - redisTemplate.opsForValue().set("token:HOST_"+service.getShiroSession().getId(), JSON.toJSONString("654321"),sessionTime, TimeUnit.MILLISECONDS); + redisTemplate.opsForValue().set("token:HOST_" + service.getShiroSession().getId(), JSON.toJSONString("654321"), sessionTime, TimeUnit.MILLISECONDS); + + //进行登录回调 + try { + String token = String.valueOf(ShiroKit.getSession().getId()); + HttpUtils.sendPost(attendLogUrl, new HashMap<>(0), token, new DefaultHttpHeaderHandler()); + } catch (Exception e) { + logger.error("登录回调考勤日志报错:", e); + } } - - } diff --git a/casic-web/src/main/resources/config/application.yml b/casic-web/src/main/resources/config/application.yml index ea7ca3d..041e804 100644 --- a/casic-web/src/main/resources/config/application.yml +++ b/casic-web/src/main/resources/config/application.yml @@ -37,4 +37,9 @@ master-secret: trtDQd7cJuAAsMnOkwY2cA host: http://sdk.open.api.igexin.com/apiex.htm #推送服务地址 title: 您收到一个新案卷"%s",请尽快处理 - is-log: true \ No newline at end of file + is-log: true + smtp-host: smtp.qq.com + smtp-port: 587 + mail-from: 472853529@qq.com + mail-user: 472853529@qq.com + mail-pwd: xchccbkkjuakcbdf \ No newline at end of file