TdCPresentRuleDaoImpl.java
8.37 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
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
package com.zteits.pay.dao.impl;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.apache.commons.collections4.CollectionUtils;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.xiaoleilu.hutool.date.DateUtil;
import com.zteits.clouds.api.apibase.constants.DataStatusEnum;
import com.zteits.clouds.api.dto.pay.param.TdCPresentRuleRequest;
import com.zteits.pay.dao.TdCPresentRuleDao;
import com.zteits.pay.domain.TdCPresentRule;
import com.zteits.pay.domain.TdCPresentRuleExample;
import com.zteits.pay.domain.TdCPresentRuleExample.Criteria;
import com.zteits.pay.mapper.TdCPresentRuleMapper;
@Component
public class TdCPresentRuleDaoImpl implements TdCPresentRuleDao {
@Autowired
private TdCPresentRuleMapper tdCPresentRuleMapper;
@Override
public int deleteTdCPresentRuleByPrimaryKey(Long id, String opId, String opName) {
TdCPresentRule record = new TdCPresentRule();
record.setId(id);
record.setModfiyEmpid(opId);
record.setModfiyDate(new Date());
record.setDataState(DataStatusEnum.DATA_STATUS_NO_VALID.value());
return tdCPresentRuleMapper.updateByPrimaryKeySelective(record);
}
@Override
public int saveTdCPresentRule(TdCPresentRule tdCPresentRule) {
if(tdCPresentRule.getCreateDate()==null){
tdCPresentRule.setCreateDate(new Date());
}
// if(tdCPresentRule.getModfiyDate()==null){
// tdCPresentRule.setModfiyDate(new Date());
// }
return tdCPresentRuleMapper.insertSelective(tdCPresentRule);
}
@Override
public int updateByExampleSelective(TdCPresentRule record, TdCPresentRuleExample example) {
return tdCPresentRuleMapper.updateByExampleSelective(record,example);
}
@Override
public int updateByPrimaryKeySelective(TdCPresentRule record) {
return tdCPresentRuleMapper.updateByPrimaryKeySelective(record);
}
@Override
public List<TdCPresentRule> selectByExample(TdCPresentRuleExample example) {
return tdCPresentRuleMapper.selectByExample(example);
}
@Override
public TdCPresentRule queryByPrimaryKey(Long id) {
return tdCPresentRuleMapper.selectByPrimaryKey(id);
}
@Override
public List<TdCPresentRule> queryTdCPresentRule(TdCPresentRuleRequest request) {
TdCPresentRuleExample example = new TdCPresentRuleExample();
Criteria sql = example.createCriteria();
Criteria sql2 = example.createCriteria();
if(request.getOrgId() != null){
sql.andOrgIdEqualTo(request.getOrgId());
sql2.andOrgIdEqualTo(request.getOrgId());
}
if(request.getRuleName() != null){
sql.andRuleNameLike("%"+request.getRuleName()+"%");
sql2.andRuleNameLike("%"+request.getRuleName()+"%");
}
if(CollectionUtils.isNotEmpty(request.getPresentSourceDetailTypes())){
sql.andPresentSourceDetailTypeIn(request.getPresentSourceDetailTypes());
sql2.andPresentSourceDetailTypeIn(request.getPresentSourceDetailTypes());
}
if(CollectionUtils.isNotEmpty(request.getPresentTypes())){
sql.andPresentTypeIn(request.getPresentTypes());
sql2.andPresentTypeIn(request.getPresentTypes());
}
if(request.getState() != null){
if(request.getState() == 1){//生效中
sql.andBeginTimeLessThanOrEqualTo(new Date()).andEndTimeGreaterThanOrEqualTo(new Date());
sql.andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value());
sql2.andBeginTimeLessThanOrEqualTo(new Date()).andEndTimeGreaterThanOrEqualTo(new Date());
sql2.andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value());
}
if(request.getState() == 0){//已失效
sql.andEndTimeLessThan(new Date());
sql2.andDataStateEqualTo(DataStatusEnum.DATA_STATUS_NO_VALID.value());
}
if(request.getState() == 2){//未生效
sql.andBeginTimeGreaterThan(new Date());
sql.andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value());
sql2.andBeginTimeGreaterThan(new Date());
sql2.andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value());
}
}
// sql.andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value());
example.or(sql2);
return tdCPresentRuleMapper.selectByExample(example);
}
@Override
public int batchDeleteTdCPresentRuleByPrimaryKey(List<Long> ids, String opId, String opName) {
TdCPresentRule record = new TdCPresentRule();
record.setModfiyEmpid(opId);
record.setModfiyDate(new Date());
record.setDataState(DataStatusEnum.DATA_STATUS_NO_VALID.value());
//where条件
TdCPresentRuleExample example = new TdCPresentRuleExample();
example.createCriteria().andIdIn(ids);
return tdCPresentRuleMapper.updateByExampleSelective(record,example);
}
@Override
public PageInfo<TdCPresentRule> queryTdCPresentRuleForPage(TdCPresentRuleRequest request) {
PageHelper.startPage(request.getBaseRequest().getPageNum(), request.getBaseRequest().getPageSize());
TdCPresentRuleExample example = new TdCPresentRuleExample();
Criteria sql = example.createCriteria();
Criteria sql2 = example.createCriteria();
if(request.getOrgId() != null){
sql.andOrgIdEqualTo(request.getOrgId());
sql2.andOrgIdEqualTo(request.getOrgId());
}
if(request.getRuleName() != null){
sql.andRuleNameLike("%"+request.getRuleName()+"%");
sql2.andRuleNameLike("%"+request.getRuleName()+"%");
}
if(CollectionUtils.isNotEmpty(request.getPresentSourceDetailTypes())){
sql.andPresentSourceDetailTypeIn(request.getPresentSourceDetailTypes());
sql2.andPresentSourceDetailTypeIn(request.getPresentSourceDetailTypes());
}
if(CollectionUtils.isNotEmpty(request.getPresentTypes())){
sql.andPresentTypeIn(request.getPresentTypes());
sql2.andPresentTypeIn(request.getPresentTypes());
}
if(request.getState() != null){
if(request.getState() == 1){//生效中
sql.andBeginTimeLessThanOrEqualTo(new Date()).andEndTimeGreaterThanOrEqualTo(new Date());
sql.andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value());
sql2.andBeginTimeLessThanOrEqualTo(new Date()).andEndTimeGreaterThanOrEqualTo(new Date());
sql2.andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value());
}
if(request.getState() == 0){//已失效
sql.andEndTimeLessThan(new Date());
sql2.andDataStateEqualTo(DataStatusEnum.DATA_STATUS_NO_VALID.value());
}
if(request.getState() == 2){//未生效
sql.andBeginTimeGreaterThan(new Date());
sql.andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value());
sql2.andBeginTimeGreaterThan(new Date());
sql2.andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value());
}
}
// sql.andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value());
if(request.getEndDate() != null){
sql.andEndTimeBetween(DateUtil.beginOfDay(request.getEndDate()), DateUtil.endOfDay(request.getEndDate()));
sql2.andEndTimeBetween(DateUtil.beginOfDay(request.getEndDate()), DateUtil.endOfDay(request.getEndDate()));
}
example.or(sql2);
example.setOrderByClause("id desc");
List<TdCPresentRule> list = tdCPresentRuleMapper.selectByExample(example);
if (CollectionUtils.isNotEmpty(list)) {
return new PageInfo<TdCPresentRule>(list);
}
return new PageInfo<TdCPresentRule>(new ArrayList<TdCPresentRule>());
}
/**
* 获取同等充值金额的补充数据ID
* @param fullCutValue
* @param presentSourceDetailType
* @return
*/
@Override
public TdCPresentRule queryTdCPresentRuleInfoAsInfo(Integer fullCutValue, Integer presentSourceDetailType,Date d,Long id) {
return tdCPresentRuleMapper.queryTdCPresentRuleInfoAsInfo(fullCutValue,presentSourceDetailType,d,id);
}
}