Commit 777fd955ddcf41f48e3a40fed5bbc7afcf2e316a

Authored by guzijian
1 parent e086a990

fix: save driver scheduling

ruoyi-admin/src/main/java/com/ruoyi/driver/controller/DriverController.java
... ... @@ -3,6 +3,7 @@ package com.ruoyi.driver.controller;
3 3 import java.util.List;
4 4 import javax.servlet.http.HttpServletResponse;
5 5  
  6 +import com.ruoyi.pojo.response.ResponseScheduling;
6 7 import io.swagger.annotations.Api;
7 8 import io.swagger.annotations.ApiOperation;
8 9 import io.swagger.annotations.ApiParam;
... ... @@ -27,26 +28,33 @@ import com.ruoyi.common.core.page.TableDataInfo;
27 28  
28 29 /**
29 30 * 驾驶员信息Controller
30   - *
  31 + *
31 32 * @author 古自健
32 33 * @date 2023-07-04
33 34 */
34 35 @RestController
35 36 @RequestMapping("/driver/driver")
36 37 @Api(tags = "驾驶员管理接口")
37   -public class DriverController extends BaseController
38   -{
  38 +public class DriverController extends BaseController {
39 39 @Autowired
40 40 private IDriverService driverService;
41 41  
42 42 /**
  43 + * 获取驾驶员排班信息
  44 + */
  45 + @GetMapping("/{date}/{jobCode}")
  46 + @ApiOperation("获取驾驶员排班信息")
  47 + public AjaxResult getDriverSchedulingInfo(@PathVariable("date") String date, @PathVariable("jobCode") String jobCode) {
  48 + return driverService.getDriverSchedulingInfo(date,jobCode);
  49 + }
  50 +
  51 + /**
43 52 * 查询驾驶员信息列表
44 53 */
45 54 // @PreAuthorize("@ss.hasPermi('driver:driver:list')")
46 55 @GetMapping("/list")
47   - @ApiOperation(value = "查询驾驶员信息列表",notes = "查询驾驶员信息列表")
48   - public TableDataInfo list(Driver driver)
49   - {
  56 + @ApiOperation(value = "查询驾驶员信息列表", notes = "查询驾驶员信息列表")
  57 + public TableDataInfo list(Driver driver) {
50 58 startPage();
51 59 List<Driver> list = driverService.selectDriverList(driver);
52 60 return getDataTable(list);
... ... @@ -59,8 +67,7 @@ public class DriverController extends BaseController
59 67 @Log(title = "驾驶员信息", businessType = BusinessType.EXPORT)
60 68 @PostMapping("/export")
61 69 @ApiOperation("导出驾驶员信息列表")
62   - public void export(HttpServletResponse response, Driver driver)
63   - {
  70 + public void export(HttpServletResponse response, Driver driver) {
64 71 List<Driver> list = driverService.selectDriverList(driver);
65 72 ExcelUtil<Driver> util = new ExcelUtil<Driver>(Driver.class);
66 73 util.exportExcel(response, list, "驾驶员信息数据");
... ... @@ -72,8 +79,7 @@ public class DriverController extends BaseController
72 79 // @PreAuthorize("@ss.hasPermi('driver:driver:query')")
73 80 @GetMapping(value = "/{id}")
74 81 @ApiOperation("获取驾驶员信息详细信息")
75   - public AjaxResult getInfo(@ApiParam(value = "id",required = true) @PathVariable("id") Long id)
76   - {
  82 + public AjaxResult getInfo(@ApiParam(value = "id", required = true) @PathVariable("id") Long id) {
77 83 return success(driverService.selectDriverById(id));
78 84 }
79 85  
... ... @@ -84,8 +90,7 @@ public class DriverController extends BaseController
84 90 @Log(title = "驾驶员信息", businessType = BusinessType.INSERT)
85 91 @PostMapping
86 92 @ApiOperation("新增驾驶员信息")
87   - public AjaxResult add(@ApiParam("driver") @RequestBody Driver driver)
88   - {
  93 + public AjaxResult add(@ApiParam("driver") @RequestBody Driver driver) {
89 94 return toAjax(driverService.insertDriver(driver));
90 95 }
91 96  
... ... @@ -96,8 +101,7 @@ public class DriverController extends BaseController
96 101 @Log(title = "驾驶员信息", businessType = BusinessType.UPDATE)
97 102 @PutMapping
98 103 @ApiOperation("修改驾驶员信息")
99   - public AjaxResult edit(@ApiParam("driver") @RequestBody Driver driver)
100   - {
  104 + public AjaxResult edit(@ApiParam("driver") @RequestBody Driver driver) {
101 105 return toAjax(driverService.updateDriver(driver));
102 106 }
103 107  
... ... @@ -106,10 +110,9 @@ public class DriverController extends BaseController
106 110 */
107 111 // @PreAuthorize("@ss.hasPermi('driver:driver:remove')")
108 112 @Log(title = "驾驶员信息", businessType = BusinessType.DELETE)
109   - @DeleteMapping("/{ids}")
  113 + @DeleteMapping("/{ids}")
110 114 @ApiOperation("删除驾驶员信息")
111   - public AjaxResult remove(@ApiParam @PathVariable Long[] ids)
112   - {
  115 + public AjaxResult remove(@ApiParam @PathVariable Long[] ids) {
113 116 return toAjax(driverService.deleteDriverByIds(ids));
114 117 }
115 118 }
... ...
ruoyi-admin/src/main/java/com/ruoyi/driver/mapper/DriverMapper.java
... ... @@ -2,6 +2,7 @@ package com.ruoyi.driver.mapper;
2 2  
3 3 import java.util.List;
4 4 import com.ruoyi.driver.domain.Driver;
  5 +import com.ruoyi.pojo.response.ResponseScheduling;
5 6 import org.apache.ibatis.annotations.Param;
6 7  
7 8 /**
... ... @@ -65,4 +66,6 @@ public interface DriverMapper
65 66 * @param driverList
66 67 */
67 68 void saveDrivers(@Param("drivers") List<Driver> driverList);
  69 +
  70 + void saveDriverScheduling(@Param("responseSchedulings") List<ResponseScheduling> responseSchedulings);
68 71 }
... ...
ruoyi-admin/src/main/java/com/ruoyi/driver/service/IDriverService.java
1 1 package com.ruoyi.driver.service;
2 2  
3 3 import java.util.List;
  4 +import java.util.Map;
  5 +
  6 +import com.ruoyi.common.core.domain.AjaxResult;
4 7 import com.ruoyi.driver.domain.Driver;
  8 +import com.ruoyi.pojo.response.ResponseScheduling;
5 9  
6 10 /**
7 11 * 驾驶员信息Service接口
... ... @@ -64,4 +68,8 @@ public interface IDriverService
64 68 * @param driverList
65 69 */
66 70 void insertDrivers(List<Driver> driverList);
  71 +
  72 + AjaxResult getDriverSchedulingInfo(String date,String jobCode);
  73 +
  74 + void saveDriverScheduling(Map<String, List<ResponseScheduling>> driverSchedulingMap);
67 75 }
... ...
ruoyi-admin/src/main/java/com/ruoyi/driver/service/impl/DriverServiceImpl.java
1 1 package com.ruoyi.driver.service.impl;
2 2  
  3 +import java.util.ArrayList;
  4 +import java.util.Collection;
3 5 import java.util.List;
  6 +import java.util.Map;
  7 +
  8 +import com.ruoyi.common.core.domain.AjaxResult;
  9 +import com.ruoyi.common.core.redis.RedisCache;
4 10 import com.ruoyi.common.utils.SecurityUtils;
  11 +import com.ruoyi.pojo.response.ResponseScheduling;
5 12 import org.springframework.beans.factory.annotation.Autowired;
6 13 import org.springframework.stereotype.Service;
7 14 import com.ruoyi.driver.mapper.DriverMapper;
8 15 import com.ruoyi.driver.domain.Driver;
9 16 import com.ruoyi.driver.service.IDriverService;
10 17  
  18 +import static com.ruoyi.redispre.GlobalRedisPreName.DRIVER_SCHEDULING_PRE;
  19 +
11 20 /**
12 21 * 驾驶员信息Service业务层处理
13   - *
  22 + *
14 23 * @author 古自健
15 24 * @date 2023-07-04
16 25 */
17 26 @Service
18   -public class DriverServiceImpl implements IDriverService
19   -{
  27 +public class DriverServiceImpl implements IDriverService {
20 28 @Autowired
21 29 private DriverMapper driverMapper;
22 30  
  31 + @Autowired
  32 + private RedisCache redisCache;
  33 +
23 34 /**
24 35 * 查询驾驶员信息
25   - *
  36 + *
26 37 * @param id 驾驶员信息主键
27 38 * @return 驾驶员信息
28 39 */
29 40 @Override
30   - public Driver selectDriverById(Long id)
31   - {
  41 + public Driver selectDriverById(Long id) {
32 42 return driverMapper.selectDriverById(id);
33 43 }
34 44  
35 45 /**
36 46 * 查询驾驶员信息列表
37   - *
  47 + *
38 48 * @param driver 驾驶员信息
39 49 * @return 驾驶员信息
40 50 */
41 51 @Override
42   - public List<Driver> selectDriverList(Driver driver)
43   - {
  52 + public List<Driver> selectDriverList(Driver driver) {
44 53 return driverMapper.selectDriverList(driver);
45 54 }
46 55  
47 56 /**
48 57 * 新增驾驶员信息
49   - *
  58 + *
50 59 * @param driver 驾驶员信息
51 60 * @return 结果
52 61 */
53 62 @Override
54   - public int insertDriver(Driver driver)
55   - {
  63 + public int insertDriver(Driver driver) {
56 64 return driverMapper.insertDriver(driver);
57 65 }
58 66  
59 67 /**
60 68 * 修改驾驶员信息
61   - *
  69 + *
62 70 * @param driver 驾驶员信息
63 71 * @return 结果
64 72 */
65 73 @Override
66   - public int updateDriver(Driver driver)
67   - {
  74 + public int updateDriver(Driver driver) {
68 75 return driverMapper.updateDriver(driver);
69 76 }
70 77  
71 78 /**
72 79 * 批量删除驾驶员信息
73   - *
  80 + *
74 81 * @param ids 需要删除的驾驶员信息主键
75 82 * @return 结果
76 83 */
77 84 @Override
78   - public int deleteDriverByIds(Long[] ids)
79   - {
  85 + public int deleteDriverByIds(Long[] ids) {
80 86 return driverMapper.deleteDriverByIds(ids);
81 87 }
82 88  
83 89 /**
84 90 * 删除驾驶员信息信息
85   - *
  91 + *
86 92 * @param id 驾驶员信息主键
87 93 * @return 结果
88 94 */
89 95 @Override
90   - public int deleteDriverById(Long id)
91   - {
  96 + public int deleteDriverById(Long id) {
92 97 return driverMapper.deleteDriverById(id);
93 98 }
94 99  
... ... @@ -96,4 +101,20 @@ public class DriverServiceImpl implements IDriverService
96 101 public void insertDrivers(List<Driver> driverList) {
97 102 driverMapper.saveDrivers(driverList);
98 103 }
  104 +
  105 + @Override
  106 + public AjaxResult getDriverSchedulingInfo(String date, String jobCode) {
  107 + List<ResponseScheduling> cacheMapValue = redisCache.getCacheMapValue(DRIVER_SCHEDULING_PRE + date, jobCode);
  108 + Boolean aBoolean = redisCache.redisTemplate.opsForHash().hasKey(DRIVER_SCHEDULING_PRE + date, jobCode);
  109 + return AjaxResult.success(redisCache.getCacheMapValue(DRIVER_SCHEDULING_PRE + date, jobCode));
  110 + }
  111 +
  112 + @Override
  113 + public void saveDriverScheduling(Map<String, List<ResponseScheduling>> driverSchedulingMap) {
  114 + Collection<List<ResponseScheduling>> listCollection = driverSchedulingMap.values();
  115 + for (List<ResponseScheduling> responseSchedulings : listCollection) {
  116 + driverMapper.saveDriverScheduling(responseSchedulings);
  117 + }
  118 +
  119 + }
99 120 }
... ...
ruoyi-admin/src/main/java/com/ruoyi/eexception/controller/EquipmentExceptionController.java
... ... @@ -2,6 +2,9 @@ package com.ruoyi.eexception.controller;
2 2  
3 3 import java.util.List;
4 4 import javax.servlet.http.HttpServletResponse;
  5 +
  6 +import io.swagger.annotations.Api;
  7 +import io.swagger.annotations.ApiOperation;
5 8 import org.springframework.security.access.prepost.PreAuthorize;
6 9 import org.springframework.beans.factory.annotation.Autowired;
7 10 import org.springframework.web.bind.annotation.GetMapping;
... ... @@ -29,6 +32,7 @@ import com.ruoyi.common.core.page.TableDataInfo;
29 32 */
30 33 @RestController
31 34 @RequestMapping("/eexception/eexception")
  35 +@Api(tags = "设备异常接口")
32 36 public class EquipmentExceptionController extends BaseController
33 37 {
34 38 @Autowired
... ... @@ -39,6 +43,7 @@ public class EquipmentExceptionController extends BaseController
39 43 */
40 44 @PreAuthorize("@ss.hasPermi('eexception:eexception:list')")
41 45 @GetMapping("/list")
  46 + @ApiOperation("查询设备异常记录列表")
42 47 public TableDataInfo list(EquipmentException equipmentException)
43 48 {
44 49 startPage();
... ... @@ -52,6 +57,7 @@ public class EquipmentExceptionController extends BaseController
52 57 @PreAuthorize("@ss.hasPermi('eexception:eexception:export')")
53 58 @Log(title = "设备异常记录", businessType = BusinessType.EXPORT)
54 59 @PostMapping("/export")
  60 + @ApiOperation("导出设备异常记录列表")
55 61 public void export(HttpServletResponse response, EquipmentException equipmentException)
56 62 {
57 63 List<EquipmentException> list = equipmentExceptionService.selectEquipmentExceptionList(equipmentException);
... ... @@ -64,6 +70,7 @@ public class EquipmentExceptionController extends BaseController
64 70 */
65 71 @PreAuthorize("@ss.hasPermi('eexception:eexception:query')")
66 72 @GetMapping(value = "/{id}")
  73 + @ApiOperation("获取设备异常记录详细信息")
67 74 public AjaxResult getInfo(@PathVariable("id") Long id)
68 75 {
69 76 return success(equipmentExceptionService.selectEquipmentExceptionById(id));
... ... @@ -75,6 +82,7 @@ public class EquipmentExceptionController extends BaseController
75 82 @PreAuthorize("@ss.hasPermi('eexception:eexception:add')")
76 83 @Log(title = "设备异常记录", businessType = BusinessType.INSERT)
77 84 @PostMapping
  85 + @ApiOperation("新增设备异常记录")
78 86 public AjaxResult add(@RequestBody EquipmentException equipmentException)
79 87 {
80 88 return toAjax(equipmentExceptionService.insertEquipmentException(equipmentException));
... ... @@ -86,6 +94,7 @@ public class EquipmentExceptionController extends BaseController
86 94 @PreAuthorize("@ss.hasPermi('eexception:eexception:edit')")
87 95 @Log(title = "设备异常记录", businessType = BusinessType.UPDATE)
88 96 @PutMapping
  97 + @ApiOperation("修改设备异常记录")
89 98 public AjaxResult edit(@RequestBody EquipmentException equipmentException)
90 99 {
91 100 return toAjax(equipmentExceptionService.updateEquipmentException(equipmentException));
... ... @@ -97,6 +106,7 @@ public class EquipmentExceptionController extends BaseController
97 106 @PreAuthorize("@ss.hasPermi('eexception:eexception:remove')")
98 107 @Log(title = "设备异常记录", businessType = BusinessType.DELETE)
99 108 @DeleteMapping("/{ids}")
  109 + @ApiOperation("删除设备异常记录")
100 110 public AjaxResult remove(@PathVariable Long[] ids)
101 111 {
102 112 return toAjax(equipmentExceptionService.deleteEquipmentExceptionByIds(ids));
... ...
ruoyi-admin/src/main/java/com/ruoyi/job/DriverJob.java
1 1 package com.ruoyi.job;
2 2  
  3 +import com.ruoyi.common.core.redis.RedisCache;
3 4 import com.ruoyi.common.utils.DateUtils;
4 5 import com.ruoyi.driver.domain.Driver;
5 6 import com.ruoyi.driver.service.IDriverService;
  7 +import com.ruoyi.pojo.response.ResponseScheduling;
6 8 import com.ruoyi.utils.ListUtils;
  9 +import org.apache.commons.math3.distribution.RealDistribution;
7 10 import org.springframework.beans.factory.InitializingBean;
8 11 import org.springframework.beans.factory.annotation.Autowired;
9 12 import org.springframework.beans.factory.annotation.Value;
... ... @@ -14,10 +17,10 @@ import org.springframework.web.client.RestTemplate;
14 17  
15 18 import javax.annotation.Resource;
16 19 import java.security.MessageDigest;
17   -import java.util.Arrays;
18   -import java.util.HashMap;
19   -import java.util.List;
20   -import java.util.Map;
  20 +import java.util.*;
  21 +import java.util.concurrent.TimeUnit;
  22 +
  23 +import static com.ruoyi.redispre.GlobalRedisPreName.DRIVER_SCHEDULING_PRE;
21 24  
22 25 /**
23 26 * 该定时任务用户获取驾驶员信息
... ... @@ -27,6 +30,9 @@ import java.util.Map;
27 30 @Component("driverJob")
28 31 public class DriverJob implements InitializingBean {
29 32  
  33 + @Autowired
  34 + private RedisCache redisCache;
  35 +
30 36 @Resource
31 37 private RestTemplate restTemplate;
32 38  
... ... @@ -36,7 +42,7 @@ public class DriverJob implements InitializingBean {
36 42 @Value("${api.url.getDriverInfo}")
37 43 private String getDriverInfoUrl;
38 44  
39   - @Value("api.url.getSchedulingInfo")
  45 + @Value("${api.url.getSchedulingInfo}")
40 46 private String getSchedulingInfoUrl;
41 47  
42 48 @Value("${api.config.password}")
... ... @@ -46,6 +52,7 @@ public class DriverJob implements InitializingBean {
46 52 private String nonce;
47 53  
48 54 private static IDriverService DRIVER_SERVICE;
  55 + private static RedisCache REDIS_CACHE;
49 56 private static RestTemplate RESTTEMPLATE;
50 57  
51 58  
... ... @@ -62,14 +69,12 @@ public class DriverJob implements InitializingBean {
62 69 try {
63 70 String getDriverInfoUrl = String.format(GET_DRIVER_INFO_URL, params);
64 71 long timestamp = System.currentTimeMillis();
65   -
66 72 // 获取驾驶员信息
67 73 List<Driver> drivers = getDrivers(getDriverInfoUrl, String.valueOf(timestamp));
68   -
69   - // http://114.80.178.12:9089/webservice/rest/schedule_real/sch_jk/%s/%s?timestamp=%d&nonce=%s&password=%s&sign=%s
70   -// String getSchedulingInfoUrl = String.format(GET_SCHEDULING_INFO_URL, "99", DateUtils.getDate("yyyyMMdd"), String.valueOf(timestamp), NONCE, PASSWORD, getSHA1(getStringStringMap(String.valueOf(timestamp))));
  74 + // 格式化请求
  75 + String getSchedulingInfoUrl = String.format(GET_SCHEDULING_INFO_URL, "99", DateUtils.getDate("yyyyMMdd"), timestamp, NONCE, PASSWORD, getSHA1(getStringStringMap(String.valueOf(timestamp))));
71 76 // 获取排班信息并存入redis
72   -// saveSchedulingToRedis(getSchedulingInfoUrl,drivers);
  77 + saveSchedulingToRedis(getSchedulingInfoUrl, drivers);
73 78 // 分片插入
74 79 List<List<Driver>> splitList = ListUtils.splitList(drivers, 1000);
75 80 System.out.println("开始更新数据-----");
... ... @@ -83,15 +88,33 @@ public class DriverJob implements InitializingBean {
83 88 System.out.println("执行结束");
84 89 }
85 90  
86   - private void saveSchedulingToRedis(String getSchedulingInfoUrl, List<Driver> drivers) {
87   -// ESTTEMPLATE.exchange(
88   -// url,
89   -// HttpMethod.GET,
90   -// null,
91   -// new ParameterizedTypeReference<List<Driver>>() {
92   -// }).getBody();
93   -// Object forObject = restTemplate.getForObject(getSchedulingInfoUrl, Object.class);
  91 + private static void saveSchedulingToRedis(String getSchedulingInfoUrl, List<Driver> drivers) {
  92 + List<ResponseScheduling> originSchedulingList = RESTTEMPLATE.exchange(
  93 + getSchedulingInfoUrl,
  94 + HttpMethod.GET,
  95 + null,
  96 + new ParameterizedTypeReference<List<ResponseScheduling>>() {
  97 + }).getBody();
94 98  
  99 + Map<String, List<ResponseScheduling>> driverSchedulingMap = new HashMap<>();
  100 + // 按照员工工号来获取排班信息
  101 + originSchedulingList.stream().forEach(item -> {
  102 + // 员工号为key
  103 + String jobCode = item.getJsy().split("/")[0];
  104 + item.setJobCode(jobCode);
  105 + if (Objects.isNull(driverSchedulingMap.get(jobCode))) {
  106 + List<ResponseScheduling> oneDriverSchedulings = new ArrayList<>();
  107 + oneDriverSchedulings.add(item);
  108 + driverSchedulingMap.put(jobCode, oneDriverSchedulings);
  109 + } else {
  110 + driverSchedulingMap.get(jobCode).add(item);
  111 + }
  112 + });
  113 + originSchedulingList.clear();
  114 + // 存入数据库
  115 + DRIVER_SERVICE.saveDriverScheduling(driverSchedulingMap);
  116 + // 存入redis
  117 + REDIS_CACHE.setCacheMap(DRIVER_SCHEDULING_PRE + DateUtils.getDate("yyyyMMdd"), driverSchedulingMap, 1, TimeUnit.DAYS);
95 118 }
96 119  
97 120 private static List<Driver> getDrivers(String format, String timestamp) throws Exception {
... ... @@ -160,25 +183,25 @@ public class DriverJob implements InitializingBean {
160 183  
161 184 }
162 185  
163   - public static void main(String[] args) throws Exception {
164   - RestTemplate restTemplate1 = new RestTemplate();
165   -// String url = "http://101.95.136.206:9089/webservice/rest/person/company/%s";
166   - String url = "http://101.95.136.206:9089/webservice/rest/schedule_real/sch_jk/%s/%s?timestamp=%d&nonce=%s&password=%s&sign=%s";
167   -
168   - long timestamp = System.currentTimeMillis();
169   - Map<String, String> configMap = new HashMap<>(5);
170   - configMap.put("timestamp", String.valueOf(timestamp));
171   - configMap.put("nonce", "NONCE");
172   - configMap.put("password", "c4dd3d8cb9a82f6d6a625818618b28ca7bebb464");
173   - String format = String.format(url, "99", DateUtils.getDate("yyyyMMdd"), timestamp, "NONCE", "c4dd3d8cb9a82f6d6a625818618b28ca7bebb464", getSHA1(configMap));
174   -// String sign = getSHA1(configMap);
175   -// String httpUrl = format
176   -// + "?timestamp=" + timestamp
177   -// + "&nonce=" + "NONCE"
178   -// + "&password=" + "c4dd3d8cb9a82f6d6a625818618b28ca7bebb464"
179   -// + "&sign=" + sign;
180   - Object forObject = restTemplate1.getForObject(format, Object.class);
181   - }
  186 +// public static void main(String[] args) throws Exception {
  187 +// RestTemplate restTemplate1 = new RestTemplate();
  188 +//// String url = "http://101.95.136.206:9089/webservice/rest/person/company/%s";
  189 +// String url = "http://101.95.136.206:9089/webservice/rest/schedule_real/sch_jk/%s/%s?timestamp=%d&nonce=%s&password=%s&sign=%s";
  190 +//
  191 +// long timestamp = System.currentTimeMillis();
  192 +// Map<String, String> configMap = new HashMap<>(5);
  193 +// configMap.put("timestamp", String.valueOf(timestamp));
  194 +// configMap.put("nonce", "NONCE");
  195 +// configMap.put("password", "c4dd3d8cb9a82f6d6a625818618b28ca7bebb464");
  196 +// String format = String.format(url, "99", DateUtils.getDate("yyyyMMdd"), timestamp, "NONCE", "c4dd3d8cb9a82f6d6a625818618b28ca7bebb464", getSHA1(configMap));
  197 +//// String sign = getSHA1(configMap);
  198 +//// String httpUrl = format
  199 +//// + "?timestamp=" + timestamp
  200 +//// + "&nonce=" + "NONCE"
  201 +//// + "&password=" + "c4dd3d8cb9a82f6d6a625818618b28ca7bebb464"
  202 +//// + "&sign=" + sign;
  203 +// Object forObject = restTemplate1.getForObject(format, Object.class);
  204 +// }
182 205  
183 206 @Override
184 207 public void afterPropertiesSet() throws Exception {
... ... @@ -187,6 +210,8 @@ public class DriverJob implements InitializingBean {
187 210 PASSWORD = password;
188 211 RESTTEMPLATE = restTemplate;
189 212 DRIVER_SERVICE = driverService;
  213 + REDIS_CACHE = redisCache;
190 214 GET_SCHEDULING_INFO_URL = getSchedulingInfoUrl;
  215 +
191 216 }
192 217 }
... ...
ruoyi-admin/src/main/java/com/ruoyi/pojo/response/ResponseScheduling.java
... ... @@ -14,10 +14,11 @@ import java.util.List;
14 14 @Data
15 15 public class ResponseScheduling {
16 16  
17   - private long id;
  17 + private Long id;
18 18 private Date scheduleDate;
19 19 private String lineName;
20 20 private String lineCode;
  21 + private String jobCode;
21 22 private String lpName;
22 23 private String nbbm;
23 24 private String jsy;
... ... @@ -27,18 +28,18 @@ public class ResponseScheduling {
27 28 private String qdzName;
28 29 private String zdzCode;
29 30 private String zdzName;
30   - private long fcsjT;
31   - private long dfsjT;
32   - private long zdsjT;
33   - private long fcsjActualTime;
34   - private long zdsjActualTime;
35   - private double jhlc;
36   - private double jhlcOrig;
37   - private int bcsj;
  31 + private Long fcsjT;
  32 + private Long dfsjT;
  33 + private Long zdsjT;
  34 + private Long fcsjActualTime;
  35 + private Long zdsjActualTime;
  36 + private Double jhlc;
  37 + private Double jhlcOrig;
  38 + private Integer bcsj;
38 39 private String bcType;
39   - private int status;
  40 + private Integer status;
40 41 private String adjustExps;
41   - private boolean sflj;
  42 + private Boolean sflj;
42 43 private String remarks;
43   - private List<CTasks> cTasks;
  44 +// private List<CTasks> cTasks;
44 45 }
45 46 \ No newline at end of file
... ...
ruoyi-admin/src/main/java/com/ruoyi/redispre/GlobalRedisPreName.java 0 → 100644
  1 +package com.ruoyi.redispre;
  2 +
  3 +/**
  4 + * @author 20412
  5 + */
  6 +public interface GlobalRedisPreName {
  7 + String DRIVER_SCHEDULING_PRE = "driver:scheduling:";
  8 +}
... ...
ruoyi-admin/src/main/resources/application-druid-uat.yml
... ... @@ -75,7 +75,8 @@ spring:
75 75 # redis 配置
76 76 redis:
77 77 # 地址
78   - host: 1.14.107.94
  78 +# host: 1.14.107.94
  79 + host: 121.41.83.61
79 80 database: 0
80 81 password: "guzijian"
81 82 port: 6379
... ... @@ -150,6 +151,7 @@ api:
150 151 # 获取排班信息
151 152 getSchedulingInfo: http://101.95.136.206:9089/webservice/rest/schedule_real/sch_jk/%s/%s?timestamp=%d&nonce=%s&password=%s&sign=%s
152 153 config:
  154 + # 固定密码
153 155 password: c4dd3d8cb9a82f6d6a625818618b28ca7bebb464
154 156 # 随机字符串
155 157 nonce: adfsad
156 158 \ No newline at end of file
... ...
ruoyi-admin/src/main/resources/application.yml
... ... @@ -146,5 +146,4 @@ api:
146 146 config:
147 147 password: c4dd3d8cb9a82f6d6a625818618b28ca7bebb464
148 148 # 随机字符串
149   - nonce: adfsad
150   -
  149 + nonce: adfsad
151 150 \ No newline at end of file
... ...
ruoyi-admin/src/main/resources/mapper/driver/DriverMapper.xml
1 1 <?xml version="1.0" encoding="UTF-8" ?>
2 2 <!DOCTYPE mapper
3   -PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
4   -"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3 + PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4 + "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
5 5 <mapper namespace="com.ruoyi.driver.mapper.DriverMapper">
6   -
  6 +
7 7 <resultMap type="Driver" id="DriverResult">
8   - <result property="id" column="id" />
9   - <result property="jobCode" column="job_code" />
10   - <result property="companyCode" column="company_code" />
11   - <result property="brancheCompanyCode" column="branche_company_code" />
12   - <result property="personnelName" column="personnel_name" />
13   - <result property="papersCode" column="papers_code" />
14   - <result property="icCardCode" column="ic_card_code" />
15   - <result property="personnelType" column="personnel_type" />
16   - <result property="posts" column="posts" />
17   - <result property="card" column="card" />
18   - <result property="telphone" column="telphone" />
19   - <result property="icRfid" column="ic_rfid" />
20   - <result property="idRfid" column="id_rfid" />
21   - <result property="tagRfid" column="tag_rfid" />
22   - <result property="remark" column="remark" />
23   - <result property="lineName" column="line_name" />
24   - <result property="lineCode" column="line_code" />
  8 + <result property="id" column="id"/>
  9 + <result property="jobCode" column="job_code"/>
  10 + <result property="companyCode" column="company_code"/>
  11 + <result property="brancheCompanyCode" column="branche_company_code"/>
  12 + <result property="personnelName" column="personnel_name"/>
  13 + <result property="papersCode" column="papers_code"/>
  14 + <result property="icCardCode" column="ic_card_code"/>
  15 + <result property="personnelType" column="personnel_type"/>
  16 + <result property="posts" column="posts"/>
  17 + <result property="card" column="card"/>
  18 + <result property="telphone" column="telphone"/>
  19 + <result property="icRfid" column="ic_rfid"/>
  20 + <result property="idRfid" column="id_rfid"/>
  21 + <result property="tagRfid" column="tag_rfid"/>
  22 + <result property="remark" column="remark"/>
  23 + <result property="lineName" column="line_name"/>
  24 + <result property="lineCode" column="line_code"/>
25 25 </resultMap>
26 26  
27 27 <sql id="selectDriverVo">
28   - select id, job_code, company_code, branche_company_code, personnel_name, papers_code, ic_card_code, personnel_type, posts, card, telphone, ic_rfid, id_rfid, tag_rfid, remark, line_name, line_code from driver
  28 + select id,
  29 + job_code,
  30 + company_code,
  31 + branche_company_code,
  32 + personnel_name,
  33 + papers_code,
  34 + ic_card_code,
  35 + personnel_type,
  36 + posts,
  37 + card,
  38 + telphone,
  39 + ic_rfid,
  40 + id_rfid,
  41 + tag_rfid,
  42 + remark,
  43 + line_name,
  44 + line_code
  45 + from driver
29 46 </sql>
30 47 <sql id="insertDriverVo">
31   - job_code, company_code, branche_company_code, personnel_name, papers_code, ic_card_code, personnel_type, posts, card, telphone, ic_rfid, id_rfid, tag_rfid, remark, line_name, line_code
  48 + job_code
  49 + , company_code, branche_company_code, personnel_name, papers_code, ic_card_code, personnel_type, posts, card, telphone, ic_rfid, id_rfid, tag_rfid, remark, line_name, line_code
32 50 </sql>
33 51  
34 52 <select id="selectDriverList" parameterType="Driver" resultMap="DriverResult">
35 53 <include refid="selectDriverVo"/>
36   - <where>
37   - <if test="jobCode != null and jobCode != ''"> and job_code = #{jobCode}</if>
38   - <if test="companyCode != null and companyCode != ''"> and company_code = #{companyCode}</if>
39   - <if test="brancheCompanyCode != null and brancheCompanyCode != ''"> and branche_company_code = #{brancheCompanyCode}</if>
40   - <if test="personnelName != null and personnelName != ''"> and personnel_name like concat('%', #{personnelName}, '%')</if>
41   - <if test="papersCode != null and papersCode != ''"> and papers_code = #{papersCode}</if>
42   - <if test="icCardCode != null and icCardCode != ''"> and ic_card_code = #{icCardCode}</if>
43   - <if test="personnelType != null and personnelType != ''"> and personnel_type = #{personnelType}</if>
44   - <if test="posts != null and posts != ''"> and posts = #{posts}</if>
45   - <if test="card != null and card != ''"> and card = #{card}</if>
46   - <if test="telphone != null and telphone != ''"> and telphone = #{telphone}</if>
47   - <if test="icRfid != null and icRfid != ''"> and ic_rfid = #{icRfid}</if>
48   - <if test="idRfid != null and idRfid != ''"> and id_rfid = #{idRfid}</if>
49   - <if test="tagRfid != null and tagRfid != ''"> and tag_rfid = #{tagRfid}</if>
50   - <if test="lineName != null and lineName != ''"> and line_name like concat('%', #{lineName}, '%')</if>
51   - <if test="lineCode != null and lineCode != ''"> and line_code = #{lineCode}</if>
  54 + <where>
  55 + <if test="jobCode != null and jobCode != ''">and job_code = #{jobCode}</if>
  56 + <if test="companyCode != null and companyCode != ''">and company_code = #{companyCode}</if>
  57 + <if test="brancheCompanyCode != null and brancheCompanyCode != ''">and branche_company_code =
  58 + #{brancheCompanyCode}
  59 + </if>
  60 + <if test="personnelName != null and personnelName != ''">and personnel_name like concat('%',
  61 + #{personnelName}, '%')
  62 + </if>
  63 + <if test="papersCode != null and papersCode != ''">and papers_code = #{papersCode}</if>
  64 + <if test="icCardCode != null and icCardCode != ''">and ic_card_code = #{icCardCode}</if>
  65 + <if test="personnelType != null and personnelType != ''">and personnel_type = #{personnelType}</if>
  66 + <if test="posts != null and posts != ''">and posts = #{posts}</if>
  67 + <if test="card != null and card != ''">and card = #{card}</if>
  68 + <if test="telphone != null and telphone != ''">and telphone = #{telphone}</if>
  69 + <if test="icRfid != null and icRfid != ''">and ic_rfid = #{icRfid}</if>
  70 + <if test="idRfid != null and idRfid != ''">and id_rfid = #{idRfid}</if>
  71 + <if test="tagRfid != null and tagRfid != ''">and tag_rfid = #{tagRfid}</if>
  72 + <if test="lineName != null and lineName != ''">and line_name like concat('%', #{lineName}, '%')</if>
  73 + <if test="lineCode != null and lineCode != ''">and line_code = #{lineCode}</if>
52 74 </where>
53 75 </select>
54   -
  76 +
55 77 <select id="selectDriverById" parameterType="Long" resultMap="DriverResult">
56 78 <include refid="selectDriverVo"/>
57 79 where id = #{id}
58 80 </select>
59   -
  81 +
60 82 <insert id="insertDriver" parameterType="Driver" useGeneratedKeys="true" keyProperty="id">
61 83 insert into driver
62 84 <trim prefix="(" suffix=")" suffixOverrides=",">
... ... @@ -76,7 +98,7 @@ PUBLIC &quot;-//mybatis.org//DTD Mapper 3.0//EN&quot;
76 98 <if test="remark != null">remark,</if>
77 99 <if test="lineName != null">line_name,</if>
78 100 <if test="lineCode != null">line_code,</if>
79   - </trim>
  101 + </trim>
80 102 <trim prefix="values (" suffix=")" suffixOverrides=",">
81 103 <if test="jobCode != null and jobCode != ''">#{jobCode},</if>
82 104 <if test="companyCode != null and companyCode != ''">#{companyCode},</if>
... ... @@ -94,7 +116,7 @@ PUBLIC &quot;-//mybatis.org//DTD Mapper 3.0//EN&quot;
94 116 <if test="remark != null">#{remark},</if>
95 117 <if test="lineName != null">#{lineName},</if>
96 118 <if test="lineCode != null">#{lineCode},</if>
97   - </trim>
  119 + </trim>
98 120 </insert>
99 121  
100 122 <update id="updateDriver" parameterType="Driver">
... ... @@ -119,13 +141,58 @@ PUBLIC &quot;-//mybatis.org//DTD Mapper 3.0//EN&quot;
119 141 </trim>
120 142 where id = #{id}
121 143 </update>
  144 + <insert id="saveDriverScheduling">
  145 + INSERT INTO driver_scheduling (
  146 + id, scheduleDate, lineName, lineCode, lpName,
  147 + nbbm, job_code,jsy, spy, upDown, qdzCode,
  148 + qdzName, zdzCode, zdzName, fcsjT, dfsjT,
  149 + zdsjT, fcsjActualTime, zdsjActualTime,
  150 + jhlc, jhlcOrig, bcsj, bcType, status, adjustExps,
  151 + sflj, remarks)
  152 + values
  153 + <foreach collection="responseSchedulings" item="item" index="index" separator=",">
  154 + (
  155 + #{item.id},
  156 + #{item.scheduleDate},
  157 + #{item.lineName,jdbcType=VARCHAR},
  158 + #{item.lineCode,jdbcType=VARCHAR},
  159 + #{item.lpName,jdbcType=VARCHAR},
  160 + #{item.nbbm,jdbcType=VARCHAR},
  161 + #{item.jobCode,jdbcType=VARCHAR},
  162 + #{item.jsy,jdbcType=VARCHAR},
  163 + #{item.spy,jdbcType=VARCHAR},
  164 + #{item.upDown,jdbcType=VARCHAR},
  165 + #{item.qdzCode,jdbcType=VARCHAR},
  166 + #{item.qdzName,jdbcType=VARCHAR},
  167 + #{item.zdzCode,jdbcType=VARCHAR},
  168 + #{item.zdzName,jdbcType=VARCHAR},
  169 + #{item.fcsjT},
  170 + #{item.dfsjT},
  171 + #{item.zdsjT},
  172 + #{item.fcsjActualTime},
  173 + #{item.zdsjActualTime},
  174 + #{item.jhlc,jdbcType=VARCHAR},
  175 + #{item.jhlcOrig,jdbcType=VARCHAR},
  176 + #{item.bcsj,jdbcType=VARCHAR},
  177 + #{item.bcType,jdbcType=VARCHAR},
  178 + #{item.status,jdbcType=VARCHAR},
  179 + #{item.adjustExps,jdbcType=VARCHAR},
  180 + #{item.sflj,jdbcType=VARCHAR},
  181 + #{item.remarks,jdbcType=VARCHAR}
  182 + )
  183 + </foreach>
  184 + on duplicate key update
  185 + job_code = values(job_code)
  186 + </insert>
122 187  
123 188 <delete id="deleteDriverById" parameterType="Long">
124   - delete from driver where id = #{id}
  189 + delete
  190 + from driver
  191 + where id = #{id}
125 192 </delete>
126 193  
127 194 <delete id="deleteDriverByIds" parameterType="String">
128   - delete from driver where id in
  195 + delete from driver where id in
129 196 <foreach item="id" collection="array" open="(" separator="," close=")">
130 197 #{id}
131 198 </foreach>
... ...
ruoyi-common/src/main/java/com/ruoyi/common/core/redis/RedisCache.java
... ... @@ -6,6 +6,7 @@ import java.util.List;
6 6 import java.util.Map;
7 7 import java.util.Set;
8 8 import java.util.concurrent.TimeUnit;
  9 +
9 10 import org.springframework.beans.factory.annotation.Autowired;
10 11 import org.springframework.data.redis.core.BoundSetOperations;
11 12 import org.springframework.data.redis.core.HashOperations;
... ... @@ -18,59 +19,54 @@ import org.springframework.stereotype.Component;
18 19 *
19 20 * @author ruoyi
20 21 **/
21   -@SuppressWarnings(value = { "unchecked", "rawtypes" })
  22 +@SuppressWarnings(value = {"unchecked", "rawtypes"})
22 23 @Component
23   -public class RedisCache
24   -{
  24 +public class RedisCache {
25 25 @Autowired
26 26 public RedisTemplate redisTemplate;
27 27  
28 28 /**
29 29 * 缓存基本的对象,Integer、String、实体类等
30 30 *
31   - * @param key 缓存的键值
  31 + * @param key 缓存的键值
32 32 * @param value 缓存的值
33 33 */
34   - public <T> void setCacheObject(final String key, final T value)
35   - {
  34 + public <T> void setCacheObject(final String key, final T value) {
36 35 redisTemplate.opsForValue().set(key, value);
37 36 }
38 37  
39 38 /**
40 39 * 缓存基本的对象,Integer、String、实体类等
41 40 *
42   - * @param key 缓存的键值
43   - * @param value 缓存的值
44   - * @param timeout 时间
  41 + * @param key 缓存的键值
  42 + * @param value 缓存的值
  43 + * @param timeout 时间
45 44 * @param timeUnit 时间颗粒度
46 45 */
47   - public <T> void setCacheObject(final String key, final T value, final Integer timeout, final TimeUnit timeUnit)
48   - {
  46 + public <T> void setCacheObject(final String key, final T value, final Integer timeout, final TimeUnit timeUnit) {
49 47 redisTemplate.opsForValue().set(key, value, timeout, timeUnit);
50 48 }
51 49  
52 50 /**
53 51 * 设置有效时间
54 52 *
55   - * @param key Redis键
  53 + * @param key Redis键
56 54 * @param timeout 超时时间
57 55 * @return true=设置成功;false=设置失败
58 56 */
59   - public boolean expire(final String key, final long timeout)
60   - {
  57 + public boolean expire(final String key, final long timeout) {
61 58 return expire(key, timeout, TimeUnit.SECONDS);
62 59 }
63 60  
64 61 /**
65 62 * 设置有效时间
66 63 *
67   - * @param key Redis键
  64 + * @param key Redis键
68 65 * @param timeout 超时时间
69   - * @param unit 时间单位
  66 + * @param unit 时间单位
70 67 * @return true=设置成功;false=设置失败
71 68 */
72   - public boolean expire(final String key, final long timeout, final TimeUnit unit)
73   - {
  69 + public boolean expire(final String key, final long timeout, final TimeUnit unit) {
74 70 return redisTemplate.expire(key, timeout, unit);
75 71 }
76 72  
... ... @@ -80,8 +76,7 @@ public class RedisCache
80 76 * @param key Redis键
81 77 * @return 有效时间
82 78 */
83   - public long getExpire(final String key)
84   - {
  79 + public long getExpire(final String key) {
85 80 return redisTemplate.getExpire(key);
86 81 }
87 82  
... ... @@ -91,8 +86,7 @@ public class RedisCache
91 86 * @param key 键
92 87 * @return true 存在 false不存在
93 88 */
94   - public Boolean hasKey(String key)
95   - {
  89 + public Boolean hasKey(String key) {
96 90 return redisTemplate.hasKey(key);
97 91 }
98 92  
... ... @@ -102,8 +96,7 @@ public class RedisCache
102 96 * @param key 缓存键值
103 97 * @return 缓存键值对应的数据
104 98 */
105   - public <T> T getCacheObject(final String key)
106   - {
  99 + public <T> T getCacheObject(final String key) {
107 100 ValueOperations<String, T> operation = redisTemplate.opsForValue();
108 101 return operation.get(key);
109 102 }
... ... @@ -113,8 +106,7 @@ public class RedisCache
113 106 *
114 107 * @param key
115 108 */
116   - public boolean deleteObject(final String key)
117   - {
  109 + public boolean deleteObject(final String key) {
118 110 return redisTemplate.delete(key);
119 111 }
120 112  
... ... @@ -124,20 +116,18 @@ public class RedisCache
124 116 * @param collection 多个对象
125 117 * @return
126 118 */
127   - public boolean deleteObject(final Collection collection)
128   - {
  119 + public boolean deleteObject(final Collection collection) {
129 120 return redisTemplate.delete(collection) > 0;
130 121 }
131 122  
132 123 /**
133 124 * 缓存List数据
134 125 *
135   - * @param key 缓存的键值
  126 + * @param key 缓存的键值
136 127 * @param dataList 待缓存的List数据
137 128 * @return 缓存的对象
138 129 */
139   - public <T> long setCacheList(final String key, final List<T> dataList)
140   - {
  130 + public <T> long setCacheList(final String key, final List<T> dataList) {
141 131 Long count = redisTemplate.opsForList().rightPushAll(key, dataList);
142 132 return count == null ? 0 : count;
143 133 }
... ... @@ -148,24 +138,21 @@ public class RedisCache
148 138 * @param key 缓存的键值
149 139 * @return 缓存键值对应的数据
150 140 */
151   - public <T> List<T> getCacheList(final String key)
152   - {
  141 + public <T> List<T> getCacheList(final String key) {
153 142 return redisTemplate.opsForList().range(key, 0, -1);
154 143 }
155 144  
156 145 /**
157 146 * 缓存Set
158 147 *
159   - * @param key 缓存键值
  148 + * @param key 缓存键值
160 149 * @param dataSet 缓存的数据
161 150 * @return 缓存数据的对象
162 151 */
163   - public <T> BoundSetOperations<String, T> setCacheSet(final String key, final Set<T> dataSet)
164   - {
  152 + public <T> BoundSetOperations<String, T> setCacheSet(final String key, final Set<T> dataSet) {
165 153 BoundSetOperations<String, T> setOperation = redisTemplate.boundSetOps(key);
166 154 Iterator<T> it = dataSet.iterator();
167   - while (it.hasNext())
168   - {
  155 + while (it.hasNext()) {
169 156 setOperation.add(it.next());
170 157 }
171 158 return setOperation;
... ... @@ -177,8 +164,7 @@ public class RedisCache
177 164 * @param key
178 165 * @return
179 166 */
180   - public <T> Set<T> getCacheSet(final String key)
181   - {
  167 + public <T> Set<T> getCacheSet(final String key) {
182 168 return redisTemplate.opsForSet().members(key);
183 169 }
184 170  
... ... @@ -188,10 +174,25 @@ public class RedisCache
188 174 * @param key
189 175 * @param dataMap
190 176 */
191   - public <T> void setCacheMap(final String key, final Map<String, T> dataMap)
192   - {
  177 + public <T> void setCacheMap(final String key, final Map<String, T> dataMap) {
  178 + if (dataMap != null) {
  179 + redisTemplate.opsForHash().putAll(key, dataMap);
  180 + }
  181 + }
  182 +
  183 + /**
  184 + * 缓存map并设置key
  185 + *
  186 + * @param key
  187 + * @param dataMap
  188 + * @param timeOut
  189 + * @param timeUnit
  190 + * @param <T>
  191 + */
  192 + public <T> void setCacheMap(final String key, final Map<String, T> dataMap, long timeOut, TimeUnit timeUnit) {
193 193 if (dataMap != null) {
194 194 redisTemplate.opsForHash().putAll(key, dataMap);
  195 + redisTemplate.expire(key, timeOut, timeUnit);
195 196 }
196 197 }
197 198  
... ... @@ -201,32 +202,41 @@ public class RedisCache
201 202 * @param key
202 203 * @return
203 204 */
204   - public <T> Map<String, T> getCacheMap(final String key)
205   - {
  205 + public <T> Map<String, T> getCacheMap(final String key) {
206 206 return redisTemplate.opsForHash().entries(key);
207 207 }
208 208  
209 209 /**
210 210 * 往Hash中存入数据
211 211 *
212   - * @param key Redis键
213   - * @param hKey Hash键
  212 + * @param key Redis键
  213 + * @param hKey Hash键
214 214 * @param value 值
215 215 */
216   - public <T> void setCacheMapValue(final String key, final String hKey, final T value)
217   - {
  216 + public <T> void setCacheMapValue(final String key, final String hKey, final T value) {
218 217 redisTemplate.opsForHash().put(key, hKey, value);
219 218 }
220 219  
221 220 /**
  221 + * 往Hash中存入数据 并设置过期时间
  222 + *
  223 + * @param key Redis键
  224 + * @param hKey Hash键
  225 + * @param value 值
  226 + */
  227 + public <T> void setCacheMapValue(final String key, final String hKey, final T value, long timeOut, TimeUnit timeUnit) {
  228 + redisTemplate.opsForHash().put(key, hKey, value);
  229 + redisTemplate.expire(key,timeOut,timeUnit);
  230 + }
  231 +
  232 + /**
222 233 * 获取Hash中的数据
223 234 *
224   - * @param key Redis键
  235 + * @param key Redis键
225 236 * @param hKey Hash键
226 237 * @return Hash中的对象
227 238 */
228   - public <T> T getCacheMapValue(final String key, final String hKey)
229   - {
  239 + public <T> T getCacheMapValue(final String key, final String hKey) {
230 240 HashOperations<String, String, T> opsForHash = redisTemplate.opsForHash();
231 241 return opsForHash.get(key, hKey);
232 242 }
... ... @@ -234,24 +244,22 @@ public class RedisCache
234 244 /**
235 245 * 获取多个Hash中的数据
236 246 *
237   - * @param key Redis键
  247 + * @param key Redis键
238 248 * @param hKeys Hash键集合
239 249 * @return Hash对象集合
240 250 */
241   - public <T> List<T> getMultiCacheMapValue(final String key, final Collection<Object> hKeys)
242   - {
  251 + public <T> List<T> getMultiCacheMapValue(final String key, final Collection<Object> hKeys) {
243 252 return redisTemplate.opsForHash().multiGet(key, hKeys);
244 253 }
245 254  
246 255 /**
247 256 * 删除Hash中的某条数据
248 257 *
249   - * @param key Redis键
  258 + * @param key Redis键
250 259 * @param hKey Hash键
251 260 * @return 是否成功
252 261 */
253   - public boolean deleteCacheMapValue(final String key, final String hKey)
254   - {
  262 + public boolean deleteCacheMapValue(final String key, final String hKey) {
255 263 return redisTemplate.opsForHash().delete(key, hKey) > 0;
256 264 }
257 265  
... ... @@ -261,8 +269,7 @@ public class RedisCache
261 269 * @param pattern 字符串前缀
262 270 * @return 对象列表
263 271 */
264   - public Collection<String> keys(final String pattern)
265   - {
  272 + public Collection<String> keys(final String pattern) {
266 273 return redisTemplate.keys(pattern);
267 274 }
268 275 }
... ...