puzhibing
2023-08-30 34eb869e7350173ff036881fc776bc27d5be6d7a
driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/DriverServiceImpl.java
@@ -507,6 +507,9 @@
            locations.forEach(s -> {
                int i=0;
                Driver driver = this.baseMapper.selectById(s.getDriverId());
                if(null == driver){
                    return;
                }
                i = driver.getServerStatus();
                if(driver.getServerStatus()==2){
                    List<Order> orders = orderService.selectList(new EntityWrapper<Order>().eq("driverId", s.getDriverId()).eq("state", 102));
@@ -601,7 +604,14 @@
        }
//        promotionWarpper.setUrl("https://chaoshengdaijia.com/share/driverShare/index.html?inviterId=" + uid);
        promotionWarpper.setUrl(driver1.getReferralCode());
        int user = appUserService.selectCount(new EntityWrapper<AppUser>().eq("inviterType", 2).eq("inviterId", uid).eq("status", 1));
        int user =0;
        List<AppUser> appUsers = appUserService.selectList(new EntityWrapper<AppUser>().eq("inviterType", 2).eq("inviterId", uid).eq("status", 1));
        for (AppUser appUser : appUsers) {
            List<Order> orders = orderService.selectList(new EntityWrapper<Order>().eq("userId", appUser.getId()).eq("state", 109));
            if(orders.size()>0){
                user++;
            }
        }
        int driver = this.selectCount(new EntityWrapper<Driver>().eq("inviterType", 2).eq("inviterId", uid).eq("approvalStatus", 2).eq("status", 1));
        promotionWarpper.setTotal(user + driver);
        promotionWarpper.setUser(user);
@@ -627,7 +637,15 @@
        Integer num3 = jsonObject.getInteger("num3");//每小时增加积分
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        long start = sdf.parse(sdf1.format(new Date()) + " " + num1 + ":00").getTime();
        long end = sdf.parse(sdf1.format(new Date()) + " " + num2 + ":00").getTime();
        Date e = sdf.parse(sdf1.format(new Date()) + " " + num2 + ":00");
        long end = e.getTime();
        if(start > end){
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(e);
            calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 1);
            end = calendar.getTimeInMillis();
        }
        long l = System.currentTimeMillis();
        if(start <= l && end > l){
            Driver driver = this.selectById(driverId);
@@ -638,24 +656,25 @@
            }
            String today = sdf1.format(new Date());
            String[] s = value.split("_");
            if(!today.equals(s[1])){
                //修改在线时长记录
                DriverOnlineTime driverOnlineTime = driverOnlineTimeService.selectOne(new EntityWrapper<DriverOnlineTime>().eq("driverId", driverId).eq("DATE_FORMAT(`day`, '%Y-%m-%d')", s[1]));
            DriverOnlineTime driverOnlineTime = driverOnlineTimeService.selectOne(new EntityWrapper<DriverOnlineTime>().eq("driverId", driverId).last(" and DATE_FORMAT(`day`, '%Y-%m-%d') = DATE_FORMAT(now(), '%Y-%m-%d')"));
                if(null != driverOnlineTime){
                driverOnlineTime.setOnlineTime(driverOnlineTime.getOnlineTime().add(new BigInteger("5")));
                    driverOnlineTime.setOnlineTime(new BigInteger(s[0]));
                    driverOnlineTimeService.updateById(driverOnlineTime);
                }else{
                    driverOnlineTime = new DriverOnlineTime();
                    driverOnlineTime.setDriverId(driverId);
                    driverOnlineTime.setDay(sdf1.parse(s[1]));
                    driverOnlineTime.setOnlineTime(new BigInteger(s[0]));
                driverOnlineTime.setDay(new Date());
                driverOnlineTime.setOnlineTime(new BigInteger("0"));
                    driverOnlineTimeService.insert(driverOnlineTime);
                }
                driver.setOnlineTime(new BigInteger(s[0]));
                this.updateById(driver);
                redisUtil.setStrValue("ONLINE" + driverId, "0_" + sdf1.format(new Date()) + "_0", 25 * 60 * 60);
                return;
            }
            driver.setOnlineTime(driver.getOnlineTime().add(new BigInteger("5")));
            this.updateById(driver);
            Integer second = Integer.valueOf(s[0]) + 5;
            Integer time = Integer.valueOf(s[2]);
@@ -674,19 +693,6 @@
                driver.setOnlineTime(new BigInteger(s[0]));
                this.updateById(driver);
                time++;
                //修改在线时长记录
                DriverOnlineTime driverOnlineTime = driverOnlineTimeService.selectOne(new EntityWrapper<DriverOnlineTime>().eq("driverId", driverId).eq("DATE_FORMAT(`day`, '%Y-%m-%d')", s[1]));
                if(null != driverOnlineTime){
                    driverOnlineTime.setOnlineTime(new BigInteger(s[0]));
                    driverOnlineTimeService.updateById(driverOnlineTime);
                }else{
                    driverOnlineTime = new DriverOnlineTime();
                    driverOnlineTime.setDriverId(driverId);
                    driverOnlineTime.setDay(sdf1.parse(s[1]));
                    driverOnlineTime.setOnlineTime(new BigInteger(s[0]));
                    driverOnlineTimeService.insert(driverOnlineTime);
                }
            }
            redisUtil.setStrValue("ONLINE" + driverId, second + "_" + s[1] + "_" + time);
        }
@@ -1120,11 +1126,18 @@
        int orderNum = orderService.selectCount(wrapper);
        map.put("orderNum",orderNum);
        // 有效时长
        int okTime =  this.baseMapper.getTime(sTime,eTime,uid);
        map.put("okTime",okTime);
        Integer okTime =  this.baseMapper.getTime(sTime,eTime,uid);
        map.put("okTime",okTime==null?0:okTime);
        wrapperOne.eq("inviterType",2);
        wrapperOne.eq("inviterId",uid);
        int userNum = appUserService.selectCount(wrapperOne);
        List<AppUser> appUsers = appUserService.selectList(wrapperOne);
        int userNum=0;
        for (AppUser appUser : appUsers) {
            List<Order> orders = orderService.selectList(new EntityWrapper<Order>().eq("userId", appUser.getId()).eq("state", 109));
            if(orders.size()>0){
                userNum++;
            }
        }
        map.put("userNum",userNum);