package com.mossle.msg.rs; import javax.annotation.Resource; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import com.mossle.core.auth.CurrentUserHolder; import com.mossle.core.mapper.JsonMapper; import com.mossle.core.util.BaseDTO; import com.mossle.msg.persistence.manager.MsgInfoManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; @Component @Path("msg") public class MsgResource { private static Logger logger = LoggerFactory.getLogger(MsgResource.class); private MsgInfoManager msgInfoManager; private JsonMapper jsonMapper = new JsonMapper(); private CurrentUserHolder currentUserHolder; private boolean enable = true; @GET @Path("unreadCount") @Produces(MediaType.APPLICATION_JSON) public BaseDTO unreadCount() { if (!enable) { return new BaseDTO(); } String userId = currentUserHolder.getUserId(); Integer count = msgInfoManager.getCount( "select count(*) from MsgInfo where receiverId=? and status=0", userId); BaseDTO result = new BaseDTO(); result.setData(count); return result; } // ~ ====================================================================== @Resource public void setMsgInfoManager(MsgInfoManager msgInfoManager) { this.msgInfoManager = msgInfoManager; } @Resource public void setCurrentUserHolder(CurrentUserHolder currentUserHolder) { this.currentUserHolder = currentUserHolder; } @Value("${msg.enable}") public void setEnable(boolean enable) { this.enable = enable; } }