From 45a130a8b2b9aac54023e3bb638a6a3f0447cc8a Mon Sep 17 00:00:00 2001 From: erdanergou Date: Wed, 12 Apr 2023 13:44:56 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=85=AC=E5=91=8A=E7=A7=BB?= =?UTF-8?q?=E5=8A=A8=E7=AB=AF=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../depository_manage/config/QyWxConfig.java | 2 +- .../controller/NoticeController.java | 11 +- .../controller/PageController.java | 11 + .../depository_manage/entity/Notice.java | 5 + .../mapper/NoticeMapper.java | 18 ++ .../depository_manage/mapper/NoticeMapper.xml | 81 +++++++ .../depository_manage/pojo/NoticeP.java | 6 + .../service/NoticeService.java | 25 +++ .../service/impl/CompanyServiceImpl.java | 2 +- .../service/impl/NoticeServiceImpl.java | 139 ++++++++++-- .../pages/notice/notice-out_mobile.html | 199 ++++++++++++++++++ .../pages/notice/notice-out_user_mobile.html | 197 +++++++++++++++++ .../templates/pages/other/welcome_mobile.html | 33 ++- .../depository_manage/mapper/NoticeMapper.xml | 81 +++++++ .../templates/pages/other/welcome_mobile.html | 33 ++- 15 files changed, 821 insertions(+), 22 deletions(-) create mode 100644 src/main/resources/templates/pages/notice/notice-out_mobile.html create mode 100644 src/main/resources/templates/pages/notice/notice-out_user_mobile.html diff --git a/src/main/java/com/dreamchaser/depository_manage/config/QyWxConfig.java b/src/main/java/com/dreamchaser/depository_manage/config/QyWxConfig.java index 2c21b201..cb561daa 100644 --- a/src/main/java/com/dreamchaser/depository_manage/config/QyWxConfig.java +++ b/src/main/java/com/dreamchaser/depository_manage/config/QyWxConfig.java @@ -251,7 +251,7 @@ public class QyWxConfig { public static List getQyWxDepartmentUserList(String UserAgent, Integer id) { String tempToken = GetQYWXToken(UserAgent); - String url = String.format("https://qyapi.weixin.qq.com/cgi-bin/user/simplelist?access_token=%s&department_id=%s", tempToken, id); + String url = String.format("https://qyapi.weixin.qq.com/cgi-bin/user/simplelist?access_token=%s&department_id=%s&fetch_child=1", tempToken, id); String get = HttpUtils.doGet(url); JSONObject jsonObject = JSONObject.parseObject(get); Integer errcode = jsonObject.getInteger("errcode"); diff --git a/src/main/java/com/dreamchaser/depository_manage/controller/NoticeController.java b/src/main/java/com/dreamchaser/depository_manage/controller/NoticeController.java index f8854aeb..2bbaa7de 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/NoticeController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/NoticeController.java @@ -73,7 +73,7 @@ public class NoticeController { String header = request.getHeader("user-agent"); String crypt = Md5.crypt(header); map.put("userAgent", crypt); - List noticeByCondition = noticeService.findNoticeByCondition(map, userToken); + List noticeByCondition = noticeService.findAllNoticeForUser(map, userToken); return new RestResponse(noticeByCondition); } @@ -92,6 +92,15 @@ public class NoticeController { } } + @PostMapping("/readNoticeForUser") + public void readNoticeForUser(@RequestBody Map map,HttpServletRequest request){ + if(map.containsKey("id")){ + noticeService.readNoticeForUser(map); + }else{ + throw new MyException("缺少必要参数"); + } + } + // 用于修改公告信息 @PostMapping("/noticeEdit") diff --git a/src/main/java/com/dreamchaser/depository_manage/controller/PageController.java b/src/main/java/com/dreamchaser/depository_manage/controller/PageController.java index 72104685..c2e3dec4 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/PageController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/PageController.java @@ -188,6 +188,8 @@ public class PageController { List list = getUserSimpleTaskP(userToken); mv.addObject("myTaskList", list); if (b) { + List noticeByUnRead = noticeService.findNoticeByUnRead(userToken); + mv.addObject("notices", noticeByUnRead); mv.setViewName("pages/other/welcome_mobile"); } else { mv.setViewName("pages/other/welcome"); @@ -3075,6 +3077,12 @@ public class PageController { public ModelAndView noticeAll(HttpServletRequest request) { ModelAndView mv = new ModelAndView(); mv.setViewName("pages/notice/notice-out_user"); + String userAgent = request.getHeader("user-agent"); + // 判断当前使用的设备为移动端还是pc端 + boolean b = DeviceUtil.checkAgentIsMobile(userAgent); + if (b) { + mv.setViewName("pages/notice/notice-out_user_mobile"); + } String token = request.getHeader("user-token"); if (token == null) { token = (String) request.getSession().getAttribute("userToken"); @@ -3087,6 +3095,9 @@ public class PageController { } if (role == 4) { mv.setViewName("pages/notice/notice-out"); + if (b) { + mv.setViewName("pages/notice/notice-out_mobile"); + } } return mv; } diff --git a/src/main/java/com/dreamchaser/depository_manage/entity/Notice.java b/src/main/java/com/dreamchaser/depository_manage/entity/Notice.java index f9764a2e..b1289fe1 100644 --- a/src/main/java/com/dreamchaser/depository_manage/entity/Notice.java +++ b/src/main/java/com/dreamchaser/depository_manage/entity/Notice.java @@ -33,6 +33,11 @@ public class Notice implements java.io.Serializable { */ private Integer userId; + /** + * 读取公告id + */ + private Integer readId; + /** * 公告状态 */ diff --git a/src/main/java/com/dreamchaser/depository_manage/mapper/NoticeMapper.java b/src/main/java/com/dreamchaser/depository_manage/mapper/NoticeMapper.java index 3b490864..ec11c783 100644 --- a/src/main/java/com/dreamchaser/depository_manage/mapper/NoticeMapper.java +++ b/src/main/java/com/dreamchaser/depository_manage/mapper/NoticeMapper.java @@ -1,6 +1,8 @@ package com.dreamchaser.depository_manage.mapper; import com.dreamchaser.depository_manage.entity.Notice; +import com.dreamchaser.depository_manage.entity.UserByPort; +import com.dreamchaser.depository_manage.pojo.NoticeP; import org.apache.ibatis.annotations.Mapper; import org.aspectj.weaver.ast.Not; import org.springframework.stereotype.Repository; @@ -59,6 +61,22 @@ public interface NoticeMapper { List findNoticeByCondition(Map map); + + /** + * 根据条件查询符合条件的公告信息 + * @param map 参数map + * @return 符合条件的公告列表 + */ + List findNoticeByUser(Map map); + + /** + * 将该公告设置为已读状态 + * @param map 待修改数据 + * @return + */ + Integer readNoticeForUser(Map map); + + /** * 根据主键删除公告 * @param id 待删除公告id diff --git a/src/main/java/com/dreamchaser/depository_manage/mapper/NoticeMapper.xml b/src/main/java/com/dreamchaser/depository_manage/mapper/NoticeMapper.xml index d04c4687..20d1b81b 100644 --- a/src/main/java/com/dreamchaser/depository_manage/mapper/NoticeMapper.xml +++ b/src/main/java/com/dreamchaser/depository_manage/mapper/NoticeMapper.xml @@ -13,6 +13,7 @@ + @@ -20,6 +21,10 @@ n.id, n.title, n.content, n.time,n.state,n.userId,n.viewRangeId + + id,title,content,time,userId,state,viewRangeId,uid,readState,readTime,readId + + + + + + + + +
+ +
+ +
+
-
+
+ +
+
+
+ +
+ +
+
+
+ +
+ + + + + + + +
    + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/templates/pages/notice/notice-out_user_mobile.html b/src/main/resources/templates/pages/notice/notice-out_user_mobile.html new file mode 100644 index 00000000..d5ff5e0c --- /dev/null +++ b/src/main/resources/templates/pages/notice/notice-out_user_mobile.html @@ -0,0 +1,197 @@ + + + + + layui + + + + + + + + + +
    +
    + + +
    +
    +

    搜索

    +
    +
    +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    -
    +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    + +
      + +
      +
      + + + + + \ No newline at end of file diff --git a/src/main/resources/templates/pages/other/welcome_mobile.html b/src/main/resources/templates/pages/other/welcome_mobile.html index 88eace75..e7d387ad 100644 --- a/src/main/resources/templates/pages/other/welcome_mobile.html +++ b/src/main/resources/templates/pages/other/welcome_mobile.html @@ -170,6 +170,27 @@ + +
      + +
      +
      + 系统公告 + +
      +
      +
      + + +
      修改选项卡样式
      +
      2019-07-11 23:06
      +
      +
      +
      +
      +
      +
      +
      @@ -352,12 +373,19 @@ area: '300px;', shade: 0.8, id: 'layuimini-notice', - btn: ['查看', '取消'], + btn: ['详情', '取消'], btnAlign: 'c', moveType: 1, content: html, success: function (layero) { var btn = layero.find('.layui-layer-btn'); + $.ajax({ + url:"/notice/readNoticeForUser", + type:"post", + dataType: 'json', + contentType: "application/json;charset=utf-8", + data:JSON.stringify({"id":$("#readId").val()}) + }); btn.find('.layui-layer-btn0').click(function () { layer.open({ type: 2, @@ -373,6 +401,9 @@ } ); + }, + end:function() { + location.reload() } }); }); diff --git a/target/classes/com/dreamchaser/depository_manage/mapper/NoticeMapper.xml b/target/classes/com/dreamchaser/depository_manage/mapper/NoticeMapper.xml index d04c4687..20d1b81b 100644 --- a/target/classes/com/dreamchaser/depository_manage/mapper/NoticeMapper.xml +++ b/target/classes/com/dreamchaser/depository_manage/mapper/NoticeMapper.xml @@ -13,6 +13,7 @@ + @@ -20,6 +21,10 @@ n.id, n.title, n.content, n.time,n.state,n.userId,n.viewRangeId + + id,title,content,time,userId,state,viewRangeId,uid,readState,readTime,readId + + + + + + + +
      修改选项卡样式
      +
      2019-07-11 23:06
      +
      +
      +
      +
      + + +
      @@ -352,12 +373,19 @@ area: '300px;', shade: 0.8, id: 'layuimini-notice', - btn: ['查看', '取消'], + btn: ['详情', '取消'], btnAlign: 'c', moveType: 1, content: html, success: function (layero) { var btn = layero.find('.layui-layer-btn'); + $.ajax({ + url:"/notice/readNoticeForUser", + type:"post", + dataType: 'json', + contentType: "application/json;charset=utf-8", + data:JSON.stringify({"id":$("#readId").val()}) + }); btn.find('.layui-layer-btn0').click(function () { layer.open({ type: 2, @@ -373,6 +401,9 @@ } ); + }, + end:function() { + location.reload() } }); });