FleetLineTemplateServiceImpl.java
4.41 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
package com.ruoyi.template.service.impl;
import com.alibaba.fastjson2.JSON;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.template.domain.FleetLineTemplate;
import com.ruoyi.template.mapper.FleetLineTemplateMapper;
import com.ruoyi.template.service.IFleetLineTemplateService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 车队与线路对应模板Service业务层处理
*
* @author guzijian
* @date 2023-12-04
*/
@Slf4j
@Service
public class FleetLineTemplateServiceImpl implements IFleetLineTemplateService {
@Autowired
private FleetLineTemplateMapper fleetLineTemplateMapper;
@Autowired
private RedisCache redisCache;
private static final String CONFIG_LINE = "config:fleet:line:template";
/**
* 查询车队与线路对应模板
*
* @param id 车队与线路对应模板主键
* @return 车队与线路对应模板
*/
@Override
public FleetLineTemplate selectFleetLineTemplateById(String id) {
return fleetLineTemplateMapper.selectFleetLineTemplateById(id);
}
/**
* 查询车队与线路对应模板列表
*
* @param fleetLineTemplate 车队与线路对应模板
* @return 车队与线路对应模板
*/
@Override
public List<FleetLineTemplate> selectFleetLineTemplateList(FleetLineTemplate fleetLineTemplate) {
return fleetLineTemplateMapper.selectFleetLineTemplateList(fleetLineTemplate);
}
@Override
public List<FleetLineTemplate> selectFleetLineTemplateList() {
List<FleetLineTemplate> fleetLineTemplates = getFleetLineTemplateOfRedis();
if (CollectionUtils.isEmpty(fleetLineTemplates)) {
fleetLineTemplates = selectFleetLineTemplateList(new FleetLineTemplate());
if (CollectionUtils.isNotEmpty(fleetLineTemplates)) {
redisCache.setCacheObject(CONFIG_LINE, JSON.toJSONString(fleetLineTemplates));
}
}
return fleetLineTemplates;
}
/**
* 新增车队与线路对应模板
*
* @param fleetLineTemplate 车队与线路对应模板
* @return 结果
*/
@Override
public int insertFleetLineTemplate(FleetLineTemplate fleetLineTemplate) {
fleetLineTemplate.setCreateTime(DateUtils.getNowDate());
fleetLineTemplate.setCreateBy(SecurityUtils.getUsername());
return fleetLineTemplateMapper.insertFleetLineTemplate(fleetLineTemplate);
}
/**
* 修改车队与线路对应模板
*
* @param fleetLineTemplate 车队与线路对应模板
* @return 结果
*/
@Override
public int updateFleetLineTemplate(FleetLineTemplate fleetLineTemplate) {
fleetLineTemplate.setUpdateTime(DateUtils.getNowDate());
fleetLineTemplate.setUpdateBy(SecurityUtils.getUsername());
return fleetLineTemplateMapper.updateFleetLineTemplate(fleetLineTemplate);
}
/**
* 批量删除车队与线路对应模板
*
* @param ids 需要删除的车队与线路对应模板主键
* @return 结果
*/
@Override
public int deleteFleetLineTemplateByIds(String[] ids) {
return fleetLineTemplateMapper.deleteFleetLineTemplateByIds(ids);
}
/**
* 删除车队与线路对应模板信息
*
* @param id 车队与线路对应模板主键
* @return 结果
*/
@Override
public int deleteFleetLineTemplateById(String id) {
return fleetLineTemplateMapper.deleteFleetLineTemplateById(id);
}
@Override
public void deleteAllTemplate() {
fleetLineTemplateMapper.deleteAllTemplate();
}
@Override
public void insertBatch(List<FleetLineTemplate> templateList) {
fleetLineTemplateMapper.insertBatch(templateList);
}
private List<FleetLineTemplate> getFleetLineTemplateOfRedis() {
try {
String json = redisCache.getCacheObject(CONFIG_LINE);
if (StringUtils.isNotEmpty(json)) {
return JSON.parseArray(json, FleetLineTemplate.class);
}
} catch (Exception e) {
log.error("从redis中获取数据异常[{}]", CONFIG_LINE, e);
}
return null;
}
}