package com.nq.service.impl;
|
|
import com.github.pagehelper.Page;
|
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageInfo;
|
import com.nq.common.ServerResponse;
|
import com.nq.dao.SiteMessageMapper;
|
import com.nq.dao.UserMapper;
|
import com.nq.pojo.SiteMessage;
|
import com.nq.pojo.User;
|
import com.nq.service.ISiteMessageService;
|
import com.nq.service.IUserService;
|
import com.nq.utils.DateTimeUtil;
|
import com.nq.vo.agent.AgentAgencyFeeVO;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import javax.annotation.Resource;
|
import javax.servlet.http.HttpServletRequest;
|
import java.util.List;
|
|
/**
|
* site_message
|
* @author lr
|
* @date 2020/07/16
|
*/
|
@Service("ISiteMessageService")
|
public class SiteMessageServiceImpl implements ISiteMessageService {
|
|
@Resource
|
private SiteMessageMapper siteMessageMapper;
|
|
@Autowired
|
IUserService iUserService;
|
|
@Autowired
|
UserMapper userMapper;
|
|
@Override
|
public int insert(SiteMessage siteMessage) {
|
int ret = 0;
|
if (siteMessage == null) {
|
return 0;
|
}
|
|
ret = siteMessageMapper.insert(siteMessage);
|
return ret;
|
}
|
|
@Override
|
public int update(SiteMessage siteMessage) {
|
int ret = siteMessageMapper.update(siteMessage);
|
return ret>0 ? ret: 0;
|
}
|
|
@Override
|
public int delete(int id) {
|
int ret = siteMessageMapper.delete(id);
|
return ret>0 ? ret: 0;
|
}
|
|
/*查询用户站内消息列表
|
* */
|
@Override
|
public ServerResponse<PageInfo> getSiteMessageByUserIdList(int pageNum, int pageSize, int userId, HttpServletRequest request) {
|
Page<AgentAgencyFeeVO> page = PageHelper.startPage(pageNum, pageSize);
|
int uid = 0;
|
//总后台查所有,其他人走登录信息userid
|
if(userId != 999){
|
User user = this.iUserService.getCurrentRefreshUser(request);
|
if (user == null){
|
return ServerResponse.createBySuccessMsg("請先登錄");
|
}
|
uid = user.getId();
|
}
|
User user = this.iUserService.getCurrentRefreshUser(request);
|
List<SiteMessage> siteMessageList = this.siteMessageMapper.getSiteMessageByUserIdList(uid);
|
PageInfo pageInfo = new PageInfo(page);
|
pageInfo.setList(siteMessageList);
|
return ServerResponse.createBySuccess(pageInfo);
|
}
|
|
@Override
|
public int getIsDayCount(Integer userId, String typeName) {
|
int ret = siteMessageMapper.getIsDayCount(userId, typeName);
|
return ret>0 ? ret: 0;
|
}
|
|
@Override
|
public int updateMessageStatus(HttpServletRequest request) {
|
User user = this.iUserService.getCurrentRefreshUser(request);
|
if (user == null){
|
return 0;
|
}
|
int ret = siteMessageMapper.updateMessageStatus(user.getId());
|
return ret>0 ? ret: 0;
|
}
|
|
@Override
|
public int getUnreadCount(HttpServletRequest request) {
|
User user = this.iUserService.getCurrentRefreshUser(request);
|
if (user == null){
|
return 0;
|
}
|
int ret = siteMessageMapper.getUnreadCount(user.getId());
|
return ret>0 ? ret: 0;
|
}
|
|
public ServerResponse del(Integer id, HttpServletRequest request) {
|
if (id == null) {
|
return ServerResponse.createByErrorMsg("id不能为空");
|
}
|
|
int updateCount = this.siteMessageMapper.delete(id);
|
if (updateCount > 0) {
|
return ServerResponse.createBySuccessMsg("删除成功");
|
}
|
return ServerResponse.createByErrorMsg("删除失败");
|
}
|
|
@Override
|
public ServerResponse sendMessage(Integer userId, String content, String typeName) {
|
int ret = 0;
|
if (content == null || content.trim().isEmpty()) {
|
return ServerResponse.createByErrorMsg("消息内容不能为空");
|
}
|
|
try {
|
// userId为0或null表示发送给所有用户
|
if (userId == null || userId == 0) {
|
List<User> users = this.userMapper.listByAdmin(null, null, null, null);
|
for (User user : users) {
|
SiteMessage siteMessage = new SiteMessage();
|
siteMessage.setUserId(user.getId());
|
siteMessage.setUserName(user.getRealName() != null ? user.getRealName() : user.getPhone());
|
siteMessage.setTypeName(typeName != null ? typeName : "站内消息");
|
siteMessage.setStatus(1); // 1表示未读
|
siteMessage.setContent(content);
|
siteMessage.setAddTime(DateTimeUtil.getCurrentDate());
|
ret = siteMessageMapper.insert(siteMessage);
|
}
|
} else {
|
// 发送给指定用户
|
User user = userMapper.selectByPrimaryKey(userId);
|
if (user == null) {
|
return ServerResponse.createByErrorMsg("用户不存在");
|
}
|
SiteMessage siteMessage = new SiteMessage();
|
siteMessage.setUserId(user.getId());
|
siteMessage.setUserName(user.getRealName() != null ? user.getRealName() : user.getPhone());
|
siteMessage.setTypeName(typeName != null ? typeName : "站内消息");
|
siteMessage.setStatus(1); // 1表示未读
|
siteMessage.setContent(content);
|
siteMessage.setAddTime(DateTimeUtil.getCurrentDate());
|
ret = siteMessageMapper.insert(siteMessage);
|
}
|
|
if (ret > 0) {
|
return ServerResponse.createBySuccessMsg("发送成功");
|
}
|
return ServerResponse.createByErrorMsg("发送失败");
|
} catch (Exception e) {
|
return ServerResponse.createByErrorMsg("发送失败:" + e.getMessage());
|
}
|
}
|
|
}
|