1
zj
2026-01-13 3e960a11feaa7e2cd22261a1a15781d93659b270
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
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());
        }
    }
 
}