puzhibing
2023-11-04 4becc1e8cdb2fbe0dcb94493b75a59ec1817028c
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)){//将另外设备上的强迫下线(如果是车载端不需要下线)