TdCPushMsgDaoImpl.java
5.93 KB
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
package com.zteits.pay.dao.impl;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import com.alipay.api.domain.DataEnumValue;
import com.zteits.clouds.api.apibase.constants.DataStatusEnum;
import com.zteits.clouds.api.dto.owner.param.QueryMessageRequest;
import com.zteits.clouds.api.dto.pay.JPushMessageDTO;
import com.zteits.clouds.api.dto.pay.JPushMsgQueryRequest;
import com.zteits.clouds.api.dto.pay.NewMessagePushDTO;
import com.zteits.pay.biz.ParkCardServiceImpl;
import com.zteits.pay.domain.TdCPushMsgExample;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.zteits.clouds.api.dto.pay.TdCCustInvoiceHisDTO;
import com.zteits.clouds.api.dto.pay.param.JPushMessageRequest;
import com.zteits.pay.dao.TdCPushMsgDao;
import com.zteits.pay.domain.JPushMessageDO;
import com.zteits.pay.domain.TdCPushMsg;
import com.zteits.pay.mapper.TdCPushMsgMapper;
import com.zteits.pay.mapper.smapper.TdCPushMsgSMapper;
@Component
public class TdCPushMsgDaoImpl implements TdCPushMsgDao {
/**
* self-defined
*/
private static final Logger logger = LoggerFactory.getLogger(TdCPushMsgDaoImpl.class);
@Autowired
private TdCPushMsgSMapper tdCPushMsgSMapper;
@Autowired
private TdCPushMsgMapper tdCPushMsgMapper;
@Override
public int insertSelective(TdCPushMsg record) {
return tdCPushMsgMapper.insert(record);
}
@Override
public Boolean isExistsByOutMsgNo(Integer msgType, String outMsgNo) {
TdCPushMsgExample example = new TdCPushMsgExample();
example.createCriteria().andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value())
.andMsgTypeEqualTo(msgType)
.andOutMsgNoEqualTo(outMsgNo);
long count = tdCPushMsgMapper.countByExample(example);
return count>0?true:false;
}
@Override
public PageInfo<TdCPushMsg> queryPageJPushMsgByCondition(JPushMsgQueryRequest request) {
PageHelper.startPage(request.getBaseRequest().getPageNum(), request.getBaseRequest().getPageSize());
List<TdCPushMsg> resultList = tdCPushMsgSMapper.queryParkOrderByCondition(request);
PageInfo<TdCPushMsg> pageInfo = new PageInfo<>(resultList);
if(pageInfo.getPages()<request.getBaseRequest().getPageNum()){
if(!CollectionUtils.isEmpty(resultList)){
resultList.removeAll(resultList);
}
}
return new PageInfo<>(resultList);
}
@Override
public PageInfo<TdCPushMsg> selectMessageByMessageType(QueryMessageRequest req) {
PageHelper.startPage(req.getBaseRequest().getPageNum(), req.getBaseRequest().getPageSize());
TdCPushMsgExample example = new TdCPushMsgExample();
TdCPushMsgExample.Criteria criteria = example.createCriteria();
criteria.andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value());
criteria.andCustIdEqualTo(req.getCustId());
Integer[] arr = {2,3,4,5,7};
/**根据消息类型查询*/
switch (req.getMessageType()){
case "1" : criteria.andMsgTypeEqualTo(1);
break;
case "2" : criteria.andMsgTypeEqualTo(6);
break;
case "3" : criteria.andMsgTypeIn(Arrays.asList(arr));
break;
case "4" : criteria.andMsgTypeEqualTo(9);
break;
}
example.setOrderByClause("create_date desc");
List<TdCPushMsg> tdCPushMsgs = tdCPushMsgMapper.selectByExample(example);
PageInfo<TdCPushMsg> pageInfo = new PageInfo<>(tdCPushMsgs);
logger.info("返回数据:"+JSONObject.toJSONString(tdCPushMsgs)+"分页数据:"+JSONObject.toJSONString(pageInfo)+"入参:"+JSONObject.toJSONString(req));
if(pageInfo.getPages()<req.getBaseRequest().getPageNum()){
if(!CollectionUtils.isEmpty(tdCPushMsgs)){
tdCPushMsgs.removeAll(tdCPushMsgs);
}
}
return new PageInfo<>(tdCPushMsgs);
}
@Override
public NewMessagePushDTO countUnreadMessage(QueryMessageRequest req) {
return tdCPushMsgSMapper.countUnreadMessage(req);
}
@Override
public int updateUnreadMessage(QueryMessageRequest messageRequest) {
return tdCPushMsgSMapper.updateUnreadMessage(messageRequest);
}
@Override
public Long countUnreadTotal(QueryMessageRequest messageRequest) {
TdCPushMsgExample example = new TdCPushMsgExample();
TdCPushMsgExample.Criteria criteria = example.createCriteria();
criteria.andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value());
criteria.andCustIdEqualTo(messageRequest.getCustId());
criteria.andReadTypeEqualTo(0);
return tdCPushMsgMapper.countByExample(example);
}
/**
* 消息中心首页,查询各消息类型的最新一条
*/
@Override
public List<JPushMessageDO> getLatestPushedMessages(JPushMessageRequest request) {
return tdCPushMsgSMapper.getLatestPushedMessages(request);
}
/**
* 消息中心-消息详情,查询某一消息的详情
*/
@Override
public List<JPushMessageDO> getPushedMessageDetails(JPushMessageRequest request) {
PageHelper.startPage(request.getBaseRequest().getPageNum(), request.getBaseRequest().getPageSize());
List<JPushMessageDO> dtos =tdCPushMsgSMapper.getPushedMessageDetails(request);
PageInfo<JPushMessageDO> pageInfo = new PageInfo<>(dtos);
if(pageInfo.getPages()<request.getBaseRequest().getPageNum()){
if(!CollectionUtils.isEmpty(dtos)){
dtos.removeAll(dtos);
}
}
return dtos;
}
/**
* 消息中心-删除消息,删除某一指定类型消息的详情
* @param request
*/
@Override
public void deletePushedMessageDetails(JPushMessageRequest request) {
tdCPushMsgSMapper.deletePushedMessageDetails(request);
}
@Override
public PageInfo<JPushMessageDO> getPushedMessageDetailsForPage(JPushMessageRequest request) {
PageHelper.startPage(request.getBaseRequest().getPageNum(), request.getBaseRequest().getPageSize());
List<JPushMessageDO> dtos =tdCPushMsgSMapper.getPushedMessageDetails(request);
return new PageInfo<>(dtos);// TODO Auto-generated method stub
}
}