Sfoglia il codice sorgente

通知消息问题,图片pdf查看token失效问题.

sugb 10 mesi fa
parent
commit
be7591b322

+ 13 - 13
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/config/GuavaRateLimiter/RateLimiterInterceptor.java

@@ -19,19 +19,19 @@ public class RateLimiterInterceptor implements HandlerInterceptor {
     @Override
     public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
             throws Exception {
-        //解析注解
-        RateLimiter rateLimiter = ((HandlerMethod) handler).getMethodAnnotation(RateLimiter.class);
-        if (Objects.nonNull(rateLimiter)) {
-            GuavaRateLimiterUtils instance = GuavaRateLimiterUtils.getInstance();
-            //限流
-            instance.setPermits(request.getRequestURI(), rateLimiter.permitRate());
-            //限流拦截
-            if (!instance.tryAcquire(request.getRequestURI(), rateLimiter.timeout(), rateLimiter.timeUnit())) {
-                response.setContentType("application/json;charset=UTF-8");
-                response.getWriter().append(JSONObject.toJSONString("接口限流"));
-                return false;
-            }
-        }
+        //接口限流,如果打开则pdf无法显示,提示授权失败
+//        RateLimiter rateLimiter = ((HandlerMethod) handler).getMethodAnnotation(RateLimiter.class);
+//        if (Objects.nonNull(rateLimiter)) {
+//            GuavaRateLimiterUtils instance = GuavaRateLimiterUtils.getInstance();
+//            //限流
+//            instance.setPermits(request.getRequestURI(), rateLimiter.permitRate());
+//            //限流拦截
+//            if (!instance.tryAcquire(request.getRequestURI(), rateLimiter.timeout(), rateLimiter.timeUnit())) {
+//                response.setContentType("application/json;charset=UTF-8");
+//                response.getWriter().append(JSONObject.toJSONString("接口限流"));
+//                return false;
+//            }
+//        }
         return true;
     }
 }

+ 1 - 1
jeecg-boot-base/jeecg-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroRealm.java

@@ -1,5 +1,6 @@
 package org.jeecg.config.shiro;
 
+import com.alibaba.fastjson.JSONObject;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.shiro.authc.AuthenticationException;
 import org.apache.shiro.authc.AuthenticationInfo;
@@ -66,7 +67,6 @@ public class ShiroRealm extends AuthorizingRealm {
             username = sysUser.getUsername();
         }
         SimpleAuthorizationInfo info = new SimpleAuthorizationInfo();
-
         // 设置用户拥有的角色集合,比如“admin,test”
         Set<String> roleSet = commonApi.queryUserRoles(username);
         System.out.println(roleSet.toString());

+ 9 - 6
jeecg-boot-module-gis/src/main/java/org/jeecg/modules/resManager/catalog/controller/RescatalogController.java

@@ -63,11 +63,10 @@ public class RescatalogController extends JeecgController<Rescatalog, IRescatalo
     @Autowired
     private ITopicsConfigService topicsConfigService;
 
-//	 @Autowired
-//	 private ILayercategoriesService layercategoriesService;
-//
-//	 @Autowired
-//	 private ILayerfieldsService layerfieldsService;
+    //	 @Autowired
+    //	 private ILayercategoriesService layercategoriesService;
+    //	 @Autowired
+    //	 private ILayerfieldsService layerfieldsService;
 
     @AutoLog(value = "资源目录-用户资源目录查询")
     @ApiOperation(value = "资源目录-用户资源目录查询", notes = "资源目录-用户资源目录查询")
@@ -85,10 +84,14 @@ public class RescatalogController extends JeecgController<Rescatalog, IRescatalo
         List<JSONObject> resList = new ArrayList<>();
         LambdaQueryWrapper<Rescatalog> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(Rescatalog::getPid, pid).orderByAsc(Rescatalog::getDisplayorder);
+        //查询pid=0的一级内容
         List<Rescatalog> resCatalogs = rescatalogService.list(queryWrapper);
+        System.out.println("##################################################################################################");
+        System.out.println(resCatalogs);
         if (resCatalogs.size() > 0) {
             String displayers = "";
             String analysistypes = "";
+            //topicId is null
             if (!"null".equals(topicId) && !topicId.isEmpty()) {
                 LambdaQueryWrapper<TopicsConfig> topicsConfigLambdaQueryWrapper = new LambdaQueryWrapper<>();
                 topicsConfigLambdaQueryWrapper.eq(TopicsConfig::getTopicid, topicId);
@@ -105,13 +108,13 @@ public class RescatalogController extends JeecgController<Rescatalog, IRescatalo
                     continue;
                 }
                 String has_child = rescatalog.getHasChild();
+                //一级
                 if (("1").equals(has_child)) {
                     //一级路径
                     jsonObject.put("id", rescatalog.getId());
                     jsonObject.put("name", rescatalog.getAlias());
                     jsonObject.put("displayorder", rescatalog.getDisplayorder());
                     jsonObject.put("layers", getResListByUser(rescatalog.getId(), username, topicId));
-
                 } else {
                     //二级路径
                     jsonObject.put("id", rescatalog.getId());

+ 3 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/CommonController.java

@@ -108,6 +108,7 @@ public class CommonController {
         }else{
             //update-begin-author:taoyan date:20200814 for:文件上传改造
             savePath = CommonUtils.upload(file, bizPath, uploadType);
+            System.out.println(savePath);
             //update-end-author:taoyan date:20200814 for:文件上传改造
         }
         if(oConvertUtils.isNotEmpty(savePath)){
@@ -271,6 +272,7 @@ public class CommonController {
      */
     @GetMapping(value = "/statics/**")
     public void view2(HttpServletRequest request, HttpServletResponse response) {
+
         // ISO-8859-1 ==> UTF-8 进行编码转换
         String imgPath = extractPathFromPattern(request);
         if(oConvertUtils.isEmpty(imgPath) || imgPath=="null"){
@@ -413,6 +415,7 @@ public class CommonController {
      */
     @RequestMapping("/transitRESTful")
     public Result transitRESTful(@RequestParam("url") String url, HttpServletRequest request) {
+        System.out.println("请求跨域4:");
         try {
             ServletServerHttpRequest httpRequest = new ServletServerHttpRequest(request);
             // 中转请求method、body

+ 3 - 7
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementController.java

@@ -236,11 +236,12 @@ public class SysAnnouncementController {
 	@RequestMapping(value = "/doReleaseData", method = RequestMethod.GET)
 	public Result<SysAnnouncement> doReleaseData(@RequestParam(name="id",required=true) String id, HttpServletRequest request) {
 		Result<SysAnnouncement> result = new Result<SysAnnouncement>();
+		//查询对应的消息
 		SysAnnouncement sysAnnouncement = sysAnnouncementService.getById(id);
 		if(sysAnnouncement==null) {
 			result.error500("未找到对应实体");
 		}else {
-            //发布中
+            //发布中 1-已发布
 			sysAnnouncement.setSendStatus(CommonSendStatus.PUBLISHED_STATUS_1);
 			sysAnnouncement.setSendTime(new Date());
 			String currentUserName = JwtUtil.getUserNameByToken(request);
@@ -253,25 +254,21 @@ public class SysAnnouncementController {
 			    	obj.put(WebsocketConst.MSG_CMD, WebsocketConst.CMD_TOPIC);
 					obj.put(WebsocketConst.MSG_ID, sysAnnouncement.getId());
 					obj.put(WebsocketConst.MSG_TXT, sysAnnouncement.getTitile());
-					System.out.println(obj.toJSONString());
 			    	webSocket.sendMessage(obj.toJSONString());
 				}else {
 					// 2.插入用户通告阅读标记表记录
 					String userId = sysAnnouncement.getUserIds();
 					String[] userIds = userId.substring(0, (userId.length()-1)).split(",");
-					Date refDate = new Date();
 					JSONObject obj = new JSONObject();
 			    	obj.put(WebsocketConst.MSG_CMD, WebsocketConst.CMD_USER);
 					obj.put(WebsocketConst.MSG_ID, sysAnnouncement.getId());
 					obj.put(WebsocketConst.MSG_TXT, sysAnnouncement.getTitile());
-					System.out.println(obj.toJSONString());
 			    	webSocket.sendMessage(userIds, obj.toJSONString());
 				}
 				try {
 					// 同步企业微信、钉钉的消息通知
 					Response<String> dtResponse = dingtalkService.sendActionCardMessage(sysAnnouncement, true);
 					wechatEnterpriseService.sendTextCardMessage(sysAnnouncement, true);
-
 					if (dtResponse != null && dtResponse.isSuccess()) {
 						String taskId = dtResponse.getResult();
 						sysAnnouncement.setDtTaskId(taskId);
@@ -282,12 +279,11 @@ public class SysAnnouncementController {
 				}
 			}
 		}
-
 		return result;
 	}
 
 	/**
-	 *	 更新撤销操作
+	 * 更新撤销操作
 	 * @param id
 	 * @return
 	 */

+ 3 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementSendController.java

@@ -224,6 +224,8 @@ public class SysAnnouncementSendController {
 		Result<IPage<AnnouncementSendModel>> result = new Result<IPage<AnnouncementSendModel>>();
 		LoginUser sysUser = (LoginUser)SecurityUtils.getSubject().getPrincipal();
 		String userId = sysUser.getId();
+		//用户名称,确保自己发布的可以看,用户ID确保id进行关联
+		announcementSendModel.setSender(sysUser.getUsername());
 		announcementSendModel.setUserId(userId);
 		announcementSendModel.setPageNo((pageNo-1)*pageSize);
 		announcementSendModel.setPageSize(pageSize);
@@ -244,6 +246,7 @@ public class SysAnnouncementSendController {
 		LoginUser sysUser = (LoginUser)SecurityUtils.getSubject().getPrincipal();
 		String userId = sysUser.getId();
 		LambdaUpdateWrapper<SysAnnouncementSend> updateWrapper = new UpdateWrapper().lambda();
+		//已读 已读时间 userid是登录账号
 		updateWrapper.set(SysAnnouncementSend::getReadFlag, CommonConstant.HAS_READ_FLAG);
 		updateWrapper.set(SysAnnouncementSend::getReadTime, new Date());
 		updateWrapper.last("where user_id ='"+userId+"'");

+ 4 - 3
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/xml/SysAnnouncementSendMapper.xml

@@ -43,12 +43,13 @@
 	   left join sys_announcement_send sas ON sas.annt_id = sa.id
 	   where sa.send_status = '1'
 	   and sa.del_flag = '0'
+	   and (sa.user_ids is null or sas.user_id=#{announcementSendModel.userId} or sa.sender=#{announcementSendModel.sender} )
 	   <if test="announcementSendModel.titile !=null and announcementSendModel.titile != ''">
 	   		and sa.titile LIKE concat(concat('%',#{announcementSendModel.titile}),'%')
 	   </if>
-	   <if test="announcementSendModel.sender !=null and announcementSendModel.sender != ''">
-	   		and sa.sender LIKE concat(concat('%',#{announcementSendModel.sender}),'%')
-	   </if>
+<!--	   <if test="announcementSendModel.sender !=null and announcementSendModel.sender != ''">-->
+<!--	   		and sa.sender LIKE concat(concat('%',#{announcementSendModel.sender}),'%')-->
+<!--	   </if>-->
 	   <if test="announcementSendModel.readFlag !=null and announcementSendModel.readFlag != ''">
 	   		and sas.read_flag = #{announcementSendModel.readFlag}
 	   </if>

+ 0 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/model/AnnouncementSendModel.java

@@ -68,12 +68,10 @@ public class AnnouncementSendModel implements Serializable {
 	 * 业务类型查询(0.非bpm业务)
 	 */
 	private String bizSource;
-
 	/**
 	 * 摘要
 	 */
 	private String msgAbstract;
 	/*文件上传*/
 	private String wjsc;
-
 }

+ 17 - 14
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysAnnouncementSendServiceImpl.java

@@ -4,6 +4,7 @@ import java.util.List;
 
 import javax.annotation.Resource;
 
+import com.alibaba.fastjson.JSONObject;
 import org.jeecg.modules.system.entity.SysAnnouncementSend;
 import org.jeecg.modules.system.mapper.SysAnnouncementSendMapper;
 import org.jeecg.modules.system.model.AnnouncementSendModel;
@@ -16,24 +17,26 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 /**
  * @Description: 用户通告阅读标记表
  * @Author: jeecg-boot
- * @Date:  2019-02-21
+ * @Date: 2019-02-21
  * @Version: V1.0
  */
 @Service
 public class SysAnnouncementSendServiceImpl extends ServiceImpl<SysAnnouncementSendMapper, SysAnnouncementSend> implements ISysAnnouncementSendService {
 
-	@Resource
-	private SysAnnouncementSendMapper sysAnnouncementSendMapper;
-	
-	@Override
-	public List<String> queryByUserId(String userId) {
-		return sysAnnouncementSendMapper.queryByUserId(userId);
-	}
-
-	@Override
-	public Page<AnnouncementSendModel> getMyAnnouncementSendPage(Page<AnnouncementSendModel> page,
-			AnnouncementSendModel announcementSendModel) {
-		 return page.setRecords(sysAnnouncementSendMapper.getMyAnnouncementSendList(page, announcementSendModel));
-	}
+    @Resource
+    private SysAnnouncementSendMapper sysAnnouncementSendMapper;
+
+    @Override
+    public List<String> queryByUserId(String userId) {
+        return sysAnnouncementSendMapper.queryByUserId(userId);
+    }
+
+    @Override
+    public Page<AnnouncementSendModel> getMyAnnouncementSendPage(Page<AnnouncementSendModel> page,
+                                                                 AnnouncementSendModel announcementSendModel) {
+        //查询条件 1. 本账号发布的 2.全部的ids=null 3.接收人是自己的
+
+        return page.setRecords(sysAnnouncementSendMapper.getMyAnnouncementSendList(page, announcementSendModel));
+    }
 
 }

+ 5 - 5
jeecg-boot-module-system/src/main/resources/application-dev.yml

@@ -180,11 +180,11 @@ mybatis-plus:
       id-type: ASSIGN_ID
       # 默认数据库表下划线命名
       table-underline: true
-  configuration:
-    # 这个配置会将执行的sql打印出来,在开发或测试的时候可以用
-    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
-    # 返回类型为Map,显示null对应的字段
-    call-setters-on-nulls: true
+#  configuration:
+#    # 这个配置会将执行的sql打印出来,在开发或测试的时候可以用
+#    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+#    # 返回类型为Map,显示null对应的字段
+#    call-setters-on-nulls: true
 #jeecg专用配置
 minidao:
   base-package: org.jeecg.modules.jmreport.*

+ 3 - 1
jeecg-boot-module-system/src/main/resources/application-prod.yml

@@ -200,7 +200,9 @@ jeecg:
   uploadType: local
   path:
     #文件上传根目录 设置
-    upload: D:/upload
+    # /usr/local/webserver/nginx/html/tdzcxx
+    # upload: D:/upload
+    upload: /opt/tdzcxx/data
     #webapp文件路径
     webapp: /opt/jeecg-boot/webapp
   shiro:

+ 1 - 0
jeecg-boot-module-zrzyqc/src/main/java/org/jeecg/modules/zrzyqc/qyxx/mapper/xml/QcQyxxMapper.xml

@@ -85,6 +85,7 @@
         where create_by = #{username}
           and sfsb in (1)
     </select>
+    <!--sfsb 是否上报-->
     <select id="wshslAdmin" resultType="String" parameterType="String">
         select count(1) sbdk
         from qc_ssgqzysytdqk