Commit 7330037d7392cad00dea6bd3a237d0c274c3072f

Authored by guzijian
1 parent f23b8ae6

fix: 新增清除异常接口

ruoyi-admin/src/main/java/com/ruoyi/common/redispre/GlobalRedisPreName.java
@@ -19,8 +19,5 @@ public interface GlobalRedisPreName { @@ -19,8 +19,5 @@ public interface GlobalRedisPreName {
19 */ 19 */
20 String REDIS_PERSONNEL_DRIVER = "personnel:driver"; 20 String REDIS_PERSONNEL_DRIVER = "personnel:driver";
21 21
22 - /**  
23 - * 其他人员  
24 - */  
25 22
26 } 23 }
ruoyi-admin/src/main/java/com/ruoyi/driver/controller/DriverController.java
@@ -211,4 +211,14 @@ public class DriverController extends BaseController { @@ -211,4 +211,14 @@ public class DriverController extends BaseController {
211 return driverService.faceRegistrationFeedback(vo.getDeviceId(), vo.getJobCodes()); 211 return driverService.faceRegistrationFeedback(vo.getDeviceId(), vo.getJobCodes());
212 } 212 }
213 213
  214 + /**
  215 + * 清除指定工号异常记录
  216 + */
  217 + @ApiOperation("清除指定工号异常记录")
  218 + @DeleteMapping("/clear/{jobCode}")
  219 + public AjaxResult clearExceptionRecordByJobCode(@PathVariable("jobCode") String jobCode) {
  220 + driverService.clearExceptionRecordByJobCode(jobCode);
  221 + return AjaxResult.success("清除成功");
  222 + }
  223 +
214 } 224 }
ruoyi-admin/src/main/java/com/ruoyi/driver/service/IDriverService.java
@@ -100,4 +100,6 @@ public interface IDriverService @@ -100,4 +100,6 @@ public interface IDriverService
100 void saveDriverSignInfo(DriverSignInRequestVo vo); 100 void saveDriverSignInfo(DriverSignInRequestVo vo);
101 101
102 void updateDrivers(List<Driver> drivers); 102 void updateDrivers(List<Driver> drivers);
  103 +
  104 + void clearExceptionRecordByJobCode(String jobCode);
103 } 105 }
ruoyi-admin/src/main/java/com/ruoyi/driver/service/impl/DriverServiceImpl.java
@@ -47,6 +47,7 @@ import static com.ruoyi.common.ApiProperties.PERSONNEL_API_KEY; @@ -47,6 +47,7 @@ import static com.ruoyi.common.ApiProperties.PERSONNEL_API_KEY;
47 import static com.ruoyi.common.ConstSignInConstSignInProperties.SIGN_FACE_ACTIVE; 47 import static com.ruoyi.common.ConstSignInConstSignInProperties.SIGN_FACE_ACTIVE;
48 import static com.ruoyi.common.global.ResultCode.CODE_207; 48 import static com.ruoyi.common.global.ResultCode.CODE_207;
49 import static com.ruoyi.common.redispre.GlobalRedisPreName.DRIVER_SCHEDULING_PRE; 49 import static com.ruoyi.common.redispre.GlobalRedisPreName.DRIVER_SCHEDULING_PRE;
  50 +import static com.ruoyi.common.redispre.GlobalRedisPreName.REDIS_SIGN_IN_DRIVER_ALCOHOL_OVERFLOW;
50 51
51 /** 52 /**
52 * 驾驶员信息Service业务层处理 53 * 驾驶员信息Service业务层处理
@@ -374,6 +375,13 @@ public class DriverServiceImpl implements IDriverService { @@ -374,6 +375,13 @@ public class DriverServiceImpl implements IDriverService {
374 driverMapper.updateDriverInfoByJobCodes(drivers); 375 driverMapper.updateDriverInfoByJobCodes(drivers);
375 } 376 }
376 377
  378 + @Override
  379 + public void clearExceptionRecordByJobCode(String jobCode) {
  380 + String dateKey = REDIS_SIGN_IN_DRIVER_ALCOHOL_OVERFLOW + ConstDateUtil.formatDate(new Date());
  381 + log.info("在:{}时间工号:{}的异常记录被清除了",dateKey,jobCode);
  382 + redisCache.deleteCacheMapValue(dateKey,jobCode);
  383 + }
  384 +
377 /** 385 /**
378 * 获取新的imageUrl 386 * 获取新的imageUrl
379 * 387 *
ruoyi-admin/src/main/java/com/ruoyi/in/service/impl/SignInServiceImpl.java
@@ -180,10 +180,6 @@ public class SignInServiceImpl implements ISignInService { @@ -180,10 +180,6 @@ public class SignInServiceImpl implements ISignInService {
180 SignInResponseVo vo = getSignInResponseVo(signIn, equipment); 180 SignInResponseVo vo = getSignInResponseVo(signIn, equipment);
181 signIn.setCreateTime(new Date()); 181 signIn.setCreateTime(new Date());
182 signIn.setRemark(""); 182 signIn.setRemark("");
183 - // 测试用户特殊处理  
184 - if (signIn.getJobCode().equals("700002") || signIn.getJobCode().equals("700001")) {  
185 - return AjaxResult.success(SIGN_IN_SUCCESS_STRING, vo);  
186 - }  
187 // 签到检查 183 // 签到检查
188 if (checkSignIn(signIn, driver)) { 184 if (checkSignIn(signIn, driver)) {
189 signIn.setStatus(SIGN_IN_SUCCESS); 185 signIn.setStatus(SIGN_IN_SUCCESS);
@@ -195,6 +191,11 @@ public class SignInServiceImpl implements ISignInService { @@ -195,6 +191,11 @@ public class SignInServiceImpl implements ISignInService {
195 191
196 uploadImage(signIn); 192 uploadImage(signIn);
197 signInMapper.insertSignIn(signIn); 193 signInMapper.insertSignIn(signIn);
  194 +
  195 + // 测试用户特殊处理
  196 + if (signIn.getJobCode().equals("700002") || signIn.getJobCode().equals("700001")) {
  197 + return AjaxResult.success(SIGN_IN_SUCCESS_STRING, vo);
  198 + }
198 // TODO redis 存储每个人的签到 用于后续考勤 199 // TODO redis 存储每个人的签到 用于后续考勤
199 200
200 // 驾驶人员二次签到酒精测试异常 201 // 驾驶人员二次签到酒精测试异常
@@ -278,6 +279,8 @@ public class SignInServiceImpl implements ISignInService { @@ -278,6 +279,8 @@ public class SignInServiceImpl implements ISignInService {
278 // 查询数据库 279 // 查询数据库
279 result = true; 280 result = true;
280 break; 281 break;
  282 + default:
  283 + break;
281 } 284 }
282 285
283 // 超时校验司售人员 286 // 超时校验司售人员
ruoyi-admin/src/main/java/com/ruoyi/job/DriverJob.java
@@ -30,8 +30,7 @@ import java.util.*; @@ -30,8 +30,7 @@ import java.util.*;
30 import java.util.concurrent.TimeUnit; 30 import java.util.concurrent.TimeUnit;
31 import java.util.stream.Collectors; 31 import java.util.stream.Collectors;
32 32
33 -import static com.ruoyi.common.redispre.GlobalRedisPreName.DRIVER_SCHEDULING_PRE;  
34 -import static com.ruoyi.common.redispre.GlobalRedisPreName.REDIS_PERSONNEL_TOKEN; 33 +import static com.ruoyi.common.redispre.GlobalRedisPreName.*;
35 34
36 /** 35 /**
37 * 该定时任务用户获取驾驶员信息 36 * 该定时任务用户获取驾驶员信息
@@ -159,6 +158,21 @@ public class DriverJob implements InitializingBean { @@ -159,6 +158,21 @@ public class DriverJob implements InitializingBean {
159 return result; 158 return result;
160 } 159 }
161 160
  161 + public void clearExceptionYesterdayRecord() {
  162 + // 获取当前日期时间
  163 + Calendar calendar = Calendar.getInstance();
  164 +
  165 + // 将日期减去一天
  166 + calendar.add(Calendar.DAY_OF_MONTH, -1);
  167 +
  168 + // 获取昨天的日期时间
  169 + Date yesterday = calendar.getTime();
  170 + String dateKey = REDIS_SIGN_IN_DRIVER_ALCOHOL_OVERFLOW + ConstDateUtil.formatDate(yesterday);
  171 + log.info("开始清除昨天的异常数据:{}", dateKey);
  172 + REDIS_CACHE.deleteObject(dateKey);
  173 + log.info("清除昨天的异常数据完成:{}", dateKey);
  174 + }
  175 +
162 /** 176 /**
163 * 获取排班任务请求 177 * 获取排班任务请求
164 * 24小时执行一次 178 * 24小时执行一次
@@ -166,11 +180,11 @@ public class DriverJob implements InitializingBean { @@ -166,11 +180,11 @@ public class DriverJob implements InitializingBean {
166 public void getSchedulingInfo() { 180 public void getSchedulingInfo() {
167 long timestamp = System.currentTimeMillis(); 181 long timestamp = System.currentTimeMillis();
168 String formatDate = ConstDateUtil.formatDate(timestamp); 182 String formatDate = ConstDateUtil.formatDate(timestamp);
169 - log.info("获取排班任务触发时间:{}",formatDate); 183 + log.info("获取排班任务触发时间:{}", formatDate);
170 // 获取排班请求 184 // 获取排班请求
171 String getSchedulingInfoUrl = null; 185 String getSchedulingInfoUrl = null;
172 186
173 - log.info("开始获取{}的排班数据",formatDate); 187 + log.info("开始获取{}的排班数据", formatDate);
174 try { 188 try {
175 getSchedulingInfoUrl = String.format(GET_SCHEDULING_INFO_URL, "99", formatDate, timestamp, NONCE, PASSWORD, getSHA1(getStringStringMap(String.valueOf(timestamp)))); 189 getSchedulingInfoUrl = String.format(GET_SCHEDULING_INFO_URL, "99", formatDate, timestamp, NONCE, PASSWORD, getSHA1(getStringStringMap(String.valueOf(timestamp))));
176 } catch (Exception e) { 190 } catch (Exception e) {
@@ -179,7 +193,7 @@ public class DriverJob implements InitializingBean { @@ -179,7 +193,7 @@ public class DriverJob implements InitializingBean {
179 // 获取排班信息并存入redis 193 // 获取排班信息并存入redis
180 saveSchedulingToRedis(getSchedulingInfoUrl, formatDate); 194 saveSchedulingToRedis(getSchedulingInfoUrl, formatDate);
181 195
182 - log.info("获取{}的排班数据完毕",formatDate); 196 + log.info("获取{}的排班数据完毕", formatDate);
183 } 197 }
184 198
185 /** 199 /**
@@ -226,6 +240,7 @@ public class DriverJob implements InitializingBean { @@ -226,6 +240,7 @@ public class DriverJob implements InitializingBean {
226 return driverSchedulingMap; 240 return driverSchedulingMap;
227 } 241 }
228 242
  243 +
229 public static void getDrivers(String accessToken) throws Exception { 244 public static void getDrivers(String accessToken) throws Exception {
230 // Map<String, String> configMap = getStringStringMap(timestamp); 245 // Map<String, String> configMap = getStringStringMap(timestamp);
231 // String sign = getSHA1(configMap); 246 // String sign = getSHA1(configMap);