From 4becc1e8cdb2fbe0dcb94493b75a59ec1817028c Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期六, 04 十一月 2023 16:05:04 +0800 Subject: [PATCH] 修改bug --- DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java | 22 +++++++++++++--------- 1 files changed, 13 insertions(+), 9 deletions(-) diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java index 446b6df..24269b7 100644 --- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java +++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java @@ -297,10 +297,10 @@ @Override public boolean checkCaptcha(String email, String phone, String code) throws Exception { Object value = redisUtil.getValue(ToolUtil.isNotEmpty(email) ? email : phone); + redisUtil.remove(ToolUtil.isNotEmpty(email) ? email : phone); if("1246".equals(code)){ return true; } - if(null != value && code.equals(String.valueOf(value))){ return true; }else{ @@ -1491,6 +1491,8 @@ List<ActivityWarpper> list = new ArrayList<>(); Map<String, Date> date = dateUtil.getStartAndEndDate(time); List<DriverActivityHistory> driverActivityHistories = driverActivityHistoryMapper.queryList(uid, null, null, date.get("startTime"), date.get("endTime")); + + SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd"); for(DriverActivityHistory dah : driverActivityHistories){ ActivityWarpper activityWarpper = new ActivityWarpper(); switch (dah.getType()){ @@ -1513,10 +1515,10 @@ activityWarpper.setId(driverActivityOnline.getId()); StringBuffer sb = new StringBuffer(language == 1 ? "今日" : language == 2 ? " today " : " aujourd’hui "); - DriverWork driverWork = driverWorkMapper.queryNewWork(uid, driverActivityOnline.getType(), 1); + DriverOnline query = driverOnlineMapper.query(uid, sdf1.format(new Date()), 0); Integer hour = 0; - if(null != driverWork){ - hour = Long.valueOf((System.currentTimeMillis() - driverWork.getStartTime().getTime()) / 3600000).intValue(); + if(null != query){ + hour = Long.valueOf(query.getDuration() / 3600).intValue(); } switch (driverActivityOnline.getType()){ case 1: @@ -1533,8 +1535,8 @@ break; } String str = language == 1 ? "累计在线" +driverActivityOnline.getOnline() + "小时奖励" +driverActivityOnline.getMoney() + "元" : - language == 2 ? "RMB " + driverActivityOnline.getMoney() + " will be awarded for " + driverActivityOnline.getOnline() + " hours online" : - "Bonus de " + driverActivityOnline.getMoney() + " $pour " + driverActivityOnline.getOnline() + " heures cumulées en ligne"; + language == 2 ? " RMB " + driverActivityOnline.getMoney() + " will be awarded for " + driverActivityOnline.getOnline() + " hours online" : + " Bonus de " + driverActivityOnline.getMoney() + " $pour " + driverActivityOnline.getOnline() + " heures cumulées en ligne"; activityWarpper.setContent(sb.append(str).toString()); activityWarpper.setCarryOut((dah.getCarryOut() == 2 || hour > driverActivityOnline.getOnline()) ? driverActivityOnline.getOnline() + "/" +driverActivityOnline.getOnline() : hour + "/" + driverActivityOnline.getOnline()); break; @@ -2091,13 +2093,16 @@ @Override public void taskMinute() throws Exception { Map<String, Date> date = dateUtil.getStartAndEndDate(new Date()); - Integer language = 1; + Integer language = 2; //在线时长 List<DriverActivityHistory> list = driverActivityHistoryMapper.queryList(null, 3, 1, date.get("startTime"), date.get("endTime")); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); for(DriverActivityHistory dah : list){ DriverActivityOnline dao = driverActivityOnlineMapper.selectById(dah.getActivityId()); - Long duration = Long.valueOf(dao.getOnline() * 60 * 60 * 1000); + if(null == dao){ + continue; + } + Long duration = Long.valueOf(dao.getOnline() * 3600); List<DriverOnline> driverOnlines = driverOnlineMapper.queryList(sdf.format(new Date()), duration); for (DriverOnline driverOnline : driverOnlines) { if(dah.getDriverId().compareTo(driverOnline.getDriverId()) == 0){ @@ -2790,7 +2795,6 @@ * @param id */ private void singlePointLogin(Integer id){ - pushUtil.pushOffline(id, 2); //开始验证当前账号是否在别处登录 String value = redisUtil.getValue("DRIVER_" + id); if(ToolUtil.isNotEmpty(value)){//将另外设备上的强迫下线(如果是车载端不需要下线) -- Gitblit v1.7.1