ParkingRuleConfigurationDaoImpl.java
6.69 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
package com.zteits.park.dao.impl;
import com.zteits.clouds.api.dto.park.dto.AllConfigDTO;
import com.zteits.clouds.api.dto.park.dto.ConfigDTO;
import com.zteits.clouds.api.dto.park.dto.ConfigPlNoDTO;
import com.zteits.clouds.api.dto.park.param.closecarpark.*;
import com.zteits.park.dao.ParkingRuleConfigurationDao;
import com.zteits.park.domain.EnclosedParkingLotConfig;
import com.zteits.park.domain.EnclosedParkingLotConfigExample;
import com.zteits.park.mapper.EnclosedParkingLotConfigMapper;
import com.zteits.park.mapper.smapper.EnclosedParkingLotConfigSMapper;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.math.NumberUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
@Component
public class ParkingRuleConfigurationDaoImpl implements ParkingRuleConfigurationDao {
private static final Logger logger = LoggerFactory.getLogger(ParkingRuleConfigurationDaoImpl.class);
@Autowired
private EnclosedParkingLotConfigMapper enclosedParkingLotConfigMapper;
@Autowired
private EnclosedParkingLotConfigSMapper enclosedParkingLotConfigSMapper;
/**
* 每一页大小.
*/
private static final Integer PAGE_SIZE = 500;
@Override
public int insertSelective(EnclosedParkingLotConfig record) {
if (record == null) {
return 0;
}
return enclosedParkingLotConfigMapper.insertSelective(record);
}
@Override
public int updateSelective(EnclosedParkingLotConfig record) {
if (record == null) {
return 0;
}
return enclosedParkingLotConfigMapper.updateByPrimaryKeySelective(record);
}
@Override
public List<EnclosedParkingLotConfig> viewSelective(EnclosedParkingLotConfig record) {
if (record == null) {
return new ArrayList<>();
}
EnclosedParkingLotConfigExample example = new EnclosedParkingLotConfigExample();
example.createCriteria().andPlNoEqualTo(record.getPlNo());
return enclosedParkingLotConfigMapper.selectByExample(example);
}
@Override
public List<EnclosedParkingLotConfig> queryOutparkDurationTime(EnclosedParkingLotConfig record) {
if (record == null) {
return new ArrayList<>();
}
EnclosedParkingLotConfigExample example = new EnclosedParkingLotConfigExample();
example.createCriteria().andPlNoEqualTo(record.getPlNo()).andConfigTypeEqualTo(record.getConfigType());
List<EnclosedParkingLotConfig> list = enclosedParkingLotConfigMapper.selectByExample(example);
return list;
}
@Override
public List<AllConfigDTO> queryAllRuleConfiguration(QueryAllRuleConfigurationRequest request) {
if (request == null) {
return new ArrayList<>();
}
List<AllConfigDTO> dtoList = enclosedParkingLotConfigSMapper.queryAllRuleConfiguration(request);
return dtoList;
}
@Override
public int updateAllRuleConfiguration(UpdateAllRuleConfigurationRequest request) {
if (request == null) {
return 0;
}
int flag = 0;
for (int i = 0;i<request.getAllConfigList().size();i++){
EnclosedParkingLotConfig record = new EnclosedParkingLotConfig();
BeanUtils.copyProperties(request.getAllConfigList().get(i),record);
EnclosedParkingLotConfigExample example = new EnclosedParkingLotConfigExample();
example.createCriteria().andConfigCodeEqualTo(record.getConfigCode()).andConfigTypeEqualTo(record.getConfigType());
flag = enclosedParkingLotConfigMapper.updateByExampleSelective(record,example);
}
return flag;
}
@Override
public List<ConfigDTO> queryParkRuleList(QueryParkRuleConfigurationRequest request) {
if (request == null) {
return new ArrayList<>();
}
List<ConfigDTO> dtoList = enclosedParkingLotConfigSMapper.queryParkRuleList(request);
return dtoList;
}
@Override
public List<ConfigPlNoDTO> queryPlNoRuleList(QueryParkRuleConfigurationRequest request) {
if (request == null) {
return new ArrayList<>();
}
List<ConfigPlNoDTO> dtoList = enclosedParkingLotConfigSMapper.queryPlNoRuleList(request);
return dtoList;
}
@Override
public int delParkRuleConfiguration(SaveParkRuleConfigurationRequest request) {
if (request == null) {
return 0;
}
EnclosedParkingLotConfigExample example = new EnclosedParkingLotConfigExample();
example.createCriteria().andPlNoEqualTo(request.getPlNo());
return enclosedParkingLotConfigMapper.deleteByExample(example);
}
@Override
public int saveParkRuleConfiguration(SaveParkRuleConfigurationRequest request) {
if (request == null) {
return 0;
}
int flag = 0;
for (int i = 0;i<request.getConfigParkList().size();i++){
EnclosedParkingLotConfig record = new EnclosedParkingLotConfig();
BeanUtils.copyProperties(request.getConfigParkList().get(i),record);
record.setPlNo(request.getPlNo());
flag = enclosedParkingLotConfigMapper.insertSelective(record);
}
return flag;
}
@Override
public int isStartSpecialCar(QueryIsStartSpecialRequest request) {
EnclosedParkingLotConfigExample example = new EnclosedParkingLotConfigExample();
EnclosedParkingLotConfigExample.Criteria sql = example.createCriteria();
if(!StringUtils.isEmpty(request.getPlNo())){
sql.andPlNoEqualTo(request.getPlNo());
}
if(!StringUtils.isEmpty(request.getConfigType())){
sql.andConfigTypeEqualTo(request.getConfigType());
}
sql.andConfigCodeEqualTo(request.getConfigCode());
List<EnclosedParkingLotConfig> list = enclosedParkingLotConfigMapper.selectByExample(example);
EnclosedParkingLotConfig config = list.size() > 0 ? list.get(0) : null;
String configValue = Optional.ofNullable(config).map(EnclosedParkingLotConfig::getConfigValue).orElse(null);
int flag = 0;
if(!StringUtils.isEmpty(configValue)){
// 特殊车辆是否自动入0 否 1是
flag = NumberUtils.toInt(configValue, 0);
}
/* if(!StringUtils.isEmpty(list.get(0).getConfigValue())){
flag = Integer.parseInt(list.get(0).getConfigValue());
}*/
logger.info("停车场{}, 特殊车是否自动放行{}, 获取的配置为{}",request, flag, list);
return flag;
}
}