diff --git a/ebike-orders/src/main/java/com/cdzy/orders/service/impl/UserOrdersServiceImpl.java b/ebike-orders/src/main/java/com/cdzy/orders/service/impl/UserOrdersServiceImpl.java index 261c7877..ff7d517d 100644 --- a/ebike-orders/src/main/java/com/cdzy/orders/service/impl/UserOrdersServiceImpl.java +++ b/ebike-orders/src/main/java/com/cdzy/orders/service/impl/UserOrdersServiceImpl.java @@ -404,6 +404,7 @@ public class UserOrdersServiceImpl extends ServiceImpl list, EbikeUserOrders userOrders, ResFeignEbikeSysRcostsetDto feignEbikeSysRcostsetDto) { BigDecimal decimal = new BigDecimal(0); + //TODO:计算起步费用后时间后移 List timeSegments = TimeUtils.splitByDays(userOrders.getStartTime(), userOrders.getEndTime()); //TODO:时间划分不同自然时间段,每一段才判断在高峰时间段内有多长时间收费多少,非高峰期多长时间收费多少 for (TimeSegment timeSegment : timeSegments) { @@ -482,6 +483,7 @@ public class UserOrdersServiceImpl extends ServiceImpl timeSegments = TimeUtils.splitByDays(startTime, endTime); for (int i = 0; i < timeSegments.size(); i++) { @@ -622,7 +624,10 @@ public class UserOrdersServiceImpl extends ServiceImpl list, EbikeUserOrders userOrders, ResFeignEbikeSysRcostsetDto feignEbikeSysRcostsetDto, long orderId) { - TimeSegment timeSegment = new TimeSegment(userOrders.getStartTime(), userOrders.getEndTime()); + LocalDateTime startTime = userOrders.getStartTime(); + LocalDateTime endTime = userOrders.getEndTime(); + //TODO:计算起步费用后时间后移 + TimeSegment timeSegment = new TimeSegment(startTime, endTime); return dailyFee(timeSegment, feignEbikeSysRcostsetDto, true, false, list, orderId); } } diff --git a/ebike-orders/src/test/java/com/cdzy/orders/EbikeOrdersApplicationTests.java b/ebike-orders/src/test/java/com/cdzy/orders/EbikeOrdersApplicationTests.java index 6de3bbce..f5af9cf3 100644 --- a/ebike-orders/src/test/java/com/cdzy/orders/EbikeOrdersApplicationTests.java +++ b/ebike-orders/src/test/java/com/cdzy/orders/EbikeOrdersApplicationTests.java @@ -1,13 +1,18 @@ package com.cdzy.orders; +import com.alibaba.fastjson2.JSONArray; +import com.alibaba.fastjson2.JSONObject; import com.cdzy.common.enums.Code; import com.cdzy.common.model.JsonResult; import com.cdzy.orders.component.EbikeCoreHandler; import com.cdzy.orders.enums.CmdCode; import com.cdzy.orders.mapper.UserOrdersMapper; -import com.cdzy.orders.model.dto.res.RedisPoint; -import com.cdzy.orders.model.entity.UserOrders; +import com.cdzy.orders.model.dto.res.TimeSegment; +import com.cdzy.orders.model.entity.EbikeUserOrders; import com.cdzy.orders.uitls.RedisUtil; +import com.ebike.feign.clients.OperateFeignClient; +import com.ebike.feign.model.res.ResFeignEbikeSysRcostsetDto; +import com.ebike.feign.model.res.ResFeignEbikeSysRcostsetWeekDto; import com.mybatisflex.codegen.Generator; import com.mybatisflex.codegen.config.GlobalConfig; import com.zaxxer.hikari.HikariDataSource; @@ -18,7 +23,10 @@ import com.ebike.feign.model.rsp.FeignEbikeEcuInfo; import jakarta.annotation.Resource; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.data.geo.Point; +import java.time.LocalDateTime; +import java.time.LocalTime; import java.util.List; import java.util.concurrent.CompletableFuture; @@ -37,12 +45,26 @@ class EbikeOrdersApplicationTests { @Resource MaintenanceFeignClient maintenanceFeignClient; + @Test void contextLoads() { - double lng = 103.975457 ; - double lat = 30.633199 ; - List nearbyMembers = redisUtil.findNearbyMembers(lng, lat, 5.0); - nearbyMembers.forEach(System.out::println); +// LocalTime localTime1 = LocalTime.of(10,22,23); +// LocalTime localTime2 = LocalTime.of(10,22,23); +// boolean result = localTime1.isBefore(localTime2) || localTime1.equals(localTime2); + +// System.out.println(result); +// EbikeUserOrders ebikeUserOrders = ordersMapper.selectOneById(267861509802156032L); +// List timeSegments = TimeUtils.splitByDays(ebikeUserOrders.getStartTime(), ebikeUserOrders.getEndTime()); +// timeSegments.forEach(System.out::println); +// System.out.println(crossDay); + double lng = 103.97465469434792 ; + double lat = 30.63210622402551 ; +// List nearbyMembers = redisUtil.findNearbyMembers(lng, lat, 5.0); +// nearbyMembers.forEach(System.out::println); +// redisUtil.addLocation(new Point(lng,lat),"2370171016"); +// + boolean pointInOperation = redisUtil.isPointInOperation(lng, lat, 258106438092689409L, 269652483491594240L); +// System.out.println(pointInOperation); } private static final String model_path ="D:/Projects/eBIKE/mybatis-flex/ebike-orders"; @@ -129,7 +151,7 @@ class EbikeOrdersApplicationTests { } @Test void time() { - UserOrders userOrders = ordersMapper.selectOneById(267861509802156032L); + EbikeUserOrders userOrders = ordersMapper.selectOneById(267861509802156032L); long minutes = TimeUtils.betweenMinutes(userOrders.getStartTime(), userOrders.getEndTime()); System.out.println(minutes); }