Commit d6a8df9b by java-lixy

消息中心 小红圈

parent 185f311c
...@@ -8,6 +8,8 @@ import java.util.Map; ...@@ -8,6 +8,8 @@ import java.util.Map;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.ejweb.modules.sys.entity.User;
import com.ejweb.modules.workbench.service.NoticeService;
import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
...@@ -38,6 +40,8 @@ public class MenuController extends BaseController { ...@@ -38,6 +40,8 @@ public class MenuController extends BaseController {
@Autowired @Autowired
private SystemService systemService; private SystemService systemService;
@Autowired
private NoticeService noticeService;
@ModelAttribute("menu") @ModelAttribute("menu")
public Menu get(@RequestParam(required=false) String id) { public Menu get(@RequestParam(required=false) String id) {
...@@ -115,7 +119,14 @@ public class MenuController extends BaseController { ...@@ -115,7 +119,14 @@ public class MenuController extends BaseController {
@RequiresPermissions("user") @RequiresPermissions("user")
@RequestMapping(value = "tree") @RequestMapping(value = "tree")
public String tree() { public String tree(Model model) {
User user = UserUtils.getUser();
Integer count = noticeService.getMessageCount(user.getId());
String result = "";
if (count != 0){
result = count.toString();
}
model.addAttribute("result", result);
return "modules/sys/menuTree"; return "modules/sys/menuTree";
} }
...@@ -148,7 +159,7 @@ public class MenuController extends BaseController { ...@@ -148,7 +159,7 @@ public class MenuController extends BaseController {
/** /**
* isShowHide是否显示隐藏菜单 * isShowHide是否显示隐藏菜单
* @param extId * @param extId
* @param isShowHidden * @param isShowHide
* @param response * @param response
* @return * @return
*/ */
......
...@@ -25,4 +25,6 @@ public interface ReportNoticeMapper extends CrudDao<ReportNotice> { ...@@ -25,4 +25,6 @@ public interface ReportNoticeMapper extends CrudDao<ReportNotice> {
* 获取列表 * 获取列表
*/ */
List<ReportNotice> selectBySendToId(@Param("sendToId") String sendToId) throws Exception; List<ReportNotice> selectBySendToId(@Param("sendToId") String sendToId) throws Exception;
int getMessageCount(String id);
} }
\ No newline at end of file
...@@ -37,4 +37,8 @@ public class NoticeService{ ...@@ -37,4 +37,8 @@ public class NoticeService{
record.setStatus("1"); record.setStatus("1");
noticeMapper.updateByPrimaryKeySelective(record); noticeMapper.updateByPrimaryKeySelective(record);
} }
public int getMessageCount(String id) {
return noticeMapper.getMessageCount(id);
}
} }
...@@ -16,6 +16,8 @@ import org.springframework.web.bind.annotation.RequestMapping; ...@@ -16,6 +16,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
/** /**
* Created by mengxy on 2017/9/15. * Created by mengxy on 2017/9/15.
...@@ -97,4 +99,18 @@ public class NoticeController extends BaseController { ...@@ -97,4 +99,18 @@ public class NoticeController extends BaseController {
} }
return "redirect:" + adminPath + "/notice/list"; return "redirect:" + adminPath + "/notice/list";
} }
@RequestMapping("prompt")
public void getMessageCount(HttpServletResponse response) throws IOException {
User user = UserUtils.getUser();
Integer count = noticeService.getMessageCount(user.getId());
String result = "";
if (count != 0){
result = count.toString();
}
PrintWriter out = response.getWriter();
response.setContentType("application/json;charset=utf-8");
out.write(result);
out.close();
}
} }
...@@ -15,8 +15,8 @@ ...@@ -15,8 +15,8 @@
<result column="update_date" property="updateDate" jdbcType="TIMESTAMP" /> <result column="update_date" property="updateDate" jdbcType="TIMESTAMP" />
</resultMap> </resultMap>
<sql id="Base_Column_List" > <sql id="Base_Column_List" >
id, report_id, title, send_time, send_from_id, send_to_id, status, create_by, DATE_FORMAT(create_date,'%Y-%m-%d %H:%i:%s'), update_by, id, report_id, title, send_time, send_from_id, send_to_id, status, create_by, create_date, update_by,
DATE_FORMAT(update_date,'%Y-%m-%d %H:%i:%s') update_date
</sql> </sql>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.String" > <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.String" >
select select
...@@ -158,4 +158,14 @@ ...@@ -158,4 +158,14 @@
WHERE send_to_id = #{sendToId,jdbcType=VARCHAR} WHERE send_to_id = #{sendToId,jdbcType=VARCHAR}
order by create_date desc order by create_date desc
</select> </select>
<select id="getMessageCount" resultType="Integer">
SELECT
count(*)
FROM
CT_BBTC_REPORT_NOTICE n
WHERE
n.SEND_TO_ID = #{sendToId,jdbcType=VARCHAR}
AND n.STATUS = '0'
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -27,6 +27,14 @@ ...@@ -27,6 +27,14 @@
</script> </script>
</head> </head>
<body> --%> <body> --%>
<script type="text/javascript">
function showMessage() {
var result = "${result}";
if (result == "") {
$("#messageDiv").hide();
}
}
</script>
<div class="accordion" id="menu-${param.parentId}"> <div class="accordion" id="menu-${param.parentId}">
<c:set var="menuList" value="${fns:getMenuList()}"/><c:set var="firstMenu" value="true"/> <c:set var="menuList" value="${fns:getMenuList()}"/><c:set var="firstMenu" value="true"/>
<c:forEach items="${menuList}" var="menu" varStatus="idxStatus"> <c:forEach items="${menuList}" var="menu" varStatus="idxStatus">
...@@ -35,8 +43,14 @@ ...@@ -35,8 +43,14 @@
<c:if test="${(fns:getUser().admin && menu.id ne '81687207761300463255') || (!fns:getUser().admin)}"> <c:if test="${(fns:getUser().admin && menu.id ne '81687207761300463255') || (!fns:getUser().admin)}">
<!-- --> <!-- -->
<div class="accordion-group"> <div class="accordion-group">
<div class="accordion-heading"> <div class="accordion-heading" style="position:relative;"><div>
<a class="accordion-toggle" data-toggle="collapse" data-parent="#menu-${param.parentId}" data-href="#collapse-${menu.id}" href="#collapse-${menu.id}" title="${menu.remarks}"><i class="icon-chevron-${not empty firstMenu && firstMenu ? 'down' : 'right'}"></i>&nbsp;${menu.name}</a> <a class="accordion-toggle" data-toggle="collapse" data-parent="#menu-${param.parentId}" data-href="#collapse-${menu.id}" href="#collapse-${menu.id}" title="${menu.remarks}">
<i class="icon-chevron-${not empty firstMenu && firstMenu ? 'down' : 'right'}"></i>&nbsp;${menu.name}</a></div>
<c:if test="${menu.name eq '消息中心'}">
<div id="messageDiv" style="position:absolute;right:20px;top:10px;width:15px; height:15px; background-color:#F00; border-radius:25px;">
<span id="promptMessage" style="height:15px; line-height:15px; display:block; color:#FFF; text-align:center">${result}</span>
</div>
</c:if>
</div> </div>
<div id="collapse-${menu.id}" class="accordion-body collapse ${not empty firstMenu && firstMenu ? 'in' : ''}"> <div id="collapse-${menu.id}" class="accordion-body collapse ${not empty firstMenu && firstMenu ? 'in' : ''}">
<div class="accordion-inner"> <div class="accordion-inner">
...@@ -61,6 +75,8 @@ ...@@ -61,6 +75,8 @@
</div> </div>
</c:if> </c:if>
</c:if> </c:if>
</c:forEach></div><%-- </c:forEach></div>
<img hidden src="about:blank" onerror="showMessage();">
<%--
</body> </body>
</html> --%> </html> --%>
\ No newline at end of file
...@@ -125,6 +125,22 @@ ...@@ -125,6 +125,22 @@
$(this).click(); $(this).click();
} }
}); });
$.ajax({
url: "${ctx}/notice/prompt",
dataType: "text",
traditional: true,//这里设置为true
cache: false,
success: function(result) { //登录成功后返回的数据
if (result != "") {
$("#prompt").text(result);
}else {
$("#message").hide();
}
},
error:function(){
alert("系统错误!");
}
});
}); });
// <c:if test="${tabmode eq '1'}"> 添加一个页签 // <c:if test="${tabmode eq '1'}"> 添加一个页签
function addTab($this, refresh){ function addTab($this, refresh){
...@@ -183,7 +199,12 @@ ...@@ -183,7 +199,12 @@
<c:if test="${menu.parent.id eq '1'&&menu.isShow eq '1'}"> <c:if test="${menu.parent.id eq '1'&&menu.isShow eq '1'}">
<li class="menu ${not empty firstMenu && firstMenu ? ' active' : ''}"> <li class="menu ${not empty firstMenu && firstMenu ? ' active' : ''}">
<c:if test="${empty menu.href}"> <c:if test="${empty menu.href}">
<a class="menu" href="javascript:" data-href="${ctx}/sys/menu/tree?parentId=${menu.id}" data-id="${menu.id}"><span>${menu.name}</span></a> <a class="menu" href="javascript:" data-href="${ctx}/sys/menu/tree?parentId=${menu.id}" data-id="${menu.id}"><div style="position:relative;"><div><span>${menu.name}</span></div>
<c:if test="${menu.name eq '工作台'}">
<div id="message" style="position:absolute;right:-10px;top:-10px;width:15px; height:15px; background-color:#F00; border-radius:25px;">
<span id="prompt" style="height:15px; line-height:15px; display:block; color:#FFF; text-align:center"></span>
</div>
</c:if></div></a>
</c:if> </c:if>
<c:if test="${not empty menu.href}"> <c:if test="${not empty menu.href}">
<a class="menu" href="${fn:indexOf(menu.href, '://') eq -1 ? ctx : ''}${menu.href}" data-id="${menu.id}" target="mainFrame"><span>${menu.name}</span></a> <a class="menu" href="${fn:indexOf(menu.href, '://') eq -1 ? ctx : ''}${menu.href}" data-id="${menu.id}" target="mainFrame"><span>${menu.name}</span></a>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment