运营区查询、站点类型
This commit is contained in:
parent
84c4457fb0
commit
994558e65c
@ -404,6 +404,7 @@ public class UserOrdersServiceImpl extends ServiceImpl<UserOrdersMapper, EbikeUs
|
|||||||
*/
|
*/
|
||||||
BigDecimal timeSlotCostCalculation(List<EbikeOrderDetails> list, EbikeUserOrders userOrders, ResFeignEbikeSysRcostsetDto feignEbikeSysRcostsetDto) {
|
BigDecimal timeSlotCostCalculation(List<EbikeOrderDetails> list, EbikeUserOrders userOrders, ResFeignEbikeSysRcostsetDto feignEbikeSysRcostsetDto) {
|
||||||
BigDecimal decimal = new BigDecimal(0);
|
BigDecimal decimal = new BigDecimal(0);
|
||||||
|
//TODO:计算起步费用后时间后移
|
||||||
List<TimeSegment> timeSegments = TimeUtils.splitByDays(userOrders.getStartTime(), userOrders.getEndTime());
|
List<TimeSegment> timeSegments = TimeUtils.splitByDays(userOrders.getStartTime(), userOrders.getEndTime());
|
||||||
//TODO:时间划分不同自然时间段,每一段才判断在高峰时间段内有多长时间收费多少,非高峰期多长时间收费多少
|
//TODO:时间划分不同自然时间段,每一段才判断在高峰时间段内有多长时间收费多少,非高峰期多长时间收费多少
|
||||||
for (TimeSegment timeSegment : timeSegments) {
|
for (TimeSegment timeSegment : timeSegments) {
|
||||||
@ -482,6 +483,7 @@ public class UserOrdersServiceImpl extends ServiceImpl<UserOrdersMapper, EbikeUs
|
|||||||
LocalDateTime startTime = userOrders.getStartTime();
|
LocalDateTime startTime = userOrders.getStartTime();
|
||||||
LocalDateTime endTime = userOrders.getEndTime();
|
LocalDateTime endTime = userOrders.getEndTime();
|
||||||
Long orderId = userOrders.getOrderId();
|
Long orderId = userOrders.getOrderId();
|
||||||
|
//TODO:计算起步费用后时间后移
|
||||||
//处理为自然时间段:防止跨天
|
//处理为自然时间段:防止跨天
|
||||||
List<TimeSegment> timeSegments = TimeUtils.splitByDays(startTime, endTime);
|
List<TimeSegment> timeSegments = TimeUtils.splitByDays(startTime, endTime);
|
||||||
for (int i = 0; i < timeSegments.size(); i++) {
|
for (int i = 0; i < timeSegments.size(); i++) {
|
||||||
@ -622,7 +624,10 @@ public class UserOrdersServiceImpl extends ServiceImpl<UserOrdersMapper, EbikeUs
|
|||||||
* @return 计费后总金额
|
* @return 计费后总金额
|
||||||
*/
|
*/
|
||||||
BigDecimal defaultCostCalculation(List<EbikeOrderDetails> list, EbikeUserOrders userOrders, ResFeignEbikeSysRcostsetDto feignEbikeSysRcostsetDto, long orderId) {
|
BigDecimal defaultCostCalculation(List<EbikeOrderDetails> 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);
|
return dailyFee(timeSegment, feignEbikeSysRcostsetDto, true, false, list, orderId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,13 +1,18 @@
|
|||||||
package com.cdzy.orders;
|
package com.cdzy.orders;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson2.JSONArray;
|
||||||
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
import com.cdzy.common.enums.Code;
|
import com.cdzy.common.enums.Code;
|
||||||
import com.cdzy.common.model.JsonResult;
|
import com.cdzy.common.model.JsonResult;
|
||||||
import com.cdzy.orders.component.EbikeCoreHandler;
|
import com.cdzy.orders.component.EbikeCoreHandler;
|
||||||
import com.cdzy.orders.enums.CmdCode;
|
import com.cdzy.orders.enums.CmdCode;
|
||||||
import com.cdzy.orders.mapper.UserOrdersMapper;
|
import com.cdzy.orders.mapper.UserOrdersMapper;
|
||||||
import com.cdzy.orders.model.dto.res.RedisPoint;
|
import com.cdzy.orders.model.dto.res.TimeSegment;
|
||||||
import com.cdzy.orders.model.entity.UserOrders;
|
import com.cdzy.orders.model.entity.EbikeUserOrders;
|
||||||
import com.cdzy.orders.uitls.RedisUtil;
|
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.Generator;
|
||||||
import com.mybatisflex.codegen.config.GlobalConfig;
|
import com.mybatisflex.codegen.config.GlobalConfig;
|
||||||
import com.zaxxer.hikari.HikariDataSource;
|
import com.zaxxer.hikari.HikariDataSource;
|
||||||
@ -18,7 +23,10 @@ import com.ebike.feign.model.rsp.FeignEbikeEcuInfo;
|
|||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import org.springframework.boot.test.context.SpringBootTest;
|
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.List;
|
||||||
import java.util.concurrent.CompletableFuture;
|
import java.util.concurrent.CompletableFuture;
|
||||||
|
|
||||||
@ -37,12 +45,26 @@ class EbikeOrdersApplicationTests {
|
|||||||
@Resource
|
@Resource
|
||||||
MaintenanceFeignClient maintenanceFeignClient;
|
MaintenanceFeignClient maintenanceFeignClient;
|
||||||
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void contextLoads() {
|
void contextLoads() {
|
||||||
double lng = 103.975457 ;
|
// LocalTime localTime1 = LocalTime.of(10,22,23);
|
||||||
double lat = 30.633199 ;
|
// LocalTime localTime2 = LocalTime.of(10,22,23);
|
||||||
List<RedisPoint> nearbyMembers = redisUtil.findNearbyMembers(lng, lat, 5.0);
|
// boolean result = localTime1.isBefore(localTime2) || localTime1.equals(localTime2);
|
||||||
nearbyMembers.forEach(System.out::println);
|
|
||||||
|
// System.out.println(result);
|
||||||
|
// EbikeUserOrders ebikeUserOrders = ordersMapper.selectOneById(267861509802156032L);
|
||||||
|
// List<TimeSegment> 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<RedisPoint> 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";
|
private static final String model_path ="D:/Projects/eBIKE/mybatis-flex/ebike-orders";
|
||||||
@ -129,7 +151,7 @@ class EbikeOrdersApplicationTests {
|
|||||||
}
|
}
|
||||||
@Test
|
@Test
|
||||||
void time() {
|
void time() {
|
||||||
UserOrders userOrders = ordersMapper.selectOneById(267861509802156032L);
|
EbikeUserOrders userOrders = ordersMapper.selectOneById(267861509802156032L);
|
||||||
long minutes = TimeUtils.betweenMinutes(userOrders.getStartTime(), userOrders.getEndTime());
|
long minutes = TimeUtils.betweenMinutes(userOrders.getStartTime(), userOrders.getEndTime());
|
||||||
System.out.println(minutes);
|
System.out.println(minutes);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user