Преглед на файлове

下单时间以及返回已预约逻辑更改

LiRong преди 3 месеца
родител
ревизия
e9a5114d9a

+ 1 - 1
leromro-core/src/main/java/com/leromro/core/facade/VolunteerWorkDateFacade.java

@@ -55,7 +55,7 @@ public class VolunteerWorkDateFacade {
 //        Map<LocalTime, Long> timeMapUser = reservationTimes.stream().collect(Collectors.toMap(VolunteerReservationTime::getReservationTime, VolunteerReservationTime::getClientId));
         //按照开始时间到结束时间生成数组,间隔为30分钟,第一个时间为整点,第二个时间为整点加30分钟,第三个时间为整点加60分钟,以此类推
 
-        while (startTime.isBefore(endTime)){
+        while (startTime.isBefore(endTime)||startTime.equals(endTime)){
             VolunteerReservationTimeVO vo = VolunteerReservationTimeVO.builder()
                     .reservationTime(startTime)
                     .build();

+ 5 - 6
leromro-core/src/main/java/com/leromro/core/service/impl/MainOrderServiceImpl.java

@@ -204,10 +204,9 @@ public class MainOrderServiceImpl extends ServiceImpl<MainOrdersMapper, MainOrde
 
         //地址拼接信息+经纬度
         String OrderAddress = String.join("",
-                Objects.toString(address.getProvinceName(), ""),
-                Objects.toString(address.getCityName(), ""),
-                Objects.toString(address.getDistrictName(), ""),
-                Objects.toString(address.getAddress(), ""));
+                Objects.toString(address.getAddress(), ""),
+                Objects.toString(address.getDetailAddress(), "")
+        );
         orders.setAddressLongitude(address.getLongitude());
         orders.setAddressLatitude(address.getLatitude());
         orders.setAddress(OrderAddress);
@@ -313,11 +312,11 @@ public class MainOrderServiceImpl extends ServiceImpl<MainOrdersMapper, MainOrde
 
             //向志愿者预约时间表中添加数据
             int parts = (int) (businessDurationMin * singleQuantity / 30);
-            if (businessDurationMin % 30 != 0) {
+            if (businessDurationMin * singleQuantity % 30 != 0) {
                 parts++;
             }
             LocalTime workStartTime = workDate.getWorkStartTime();
-            for (int i = 0; i < parts; i++) {
+            for (int i = 0; i <= parts; i++) {
                 VolunteerReservationTime reservationTime1 = new VolunteerReservationTime();
                 BeanUtils.copyProperties(reservationTime, reservationTime1);
                 reservationTime1.setReservationDate(workDate.getWorkDate());

+ 3 - 0
leromro-core/src/main/java/com/leromro/core/service/impl/OrderRefundServiceImpl.java

@@ -178,6 +178,9 @@ public class OrderRefundServiceImpl extends ServiceImpl<OrderRefundMapper, Order
         } else if (mainOrders.getOrderStatus().equals("3")) {
             List<SecondOrder> secondOrderList = secondOrdersMapper.selectList(new LambdaQueryWrapper<SecondOrder>().eq(SecondOrder::getMainOrderId, mainOrderId).eq(SecondOrder::getOrderStatus, "1"));
             //小订单已开始或者部分小订单已完成
+            if (mainOrders.getTotalTimes() - secondOrderList.size() <= 0){
+                throw new RuntimeException("订单已全部开始,不可退款");
+            }
             orderRefund.setStatus("0");
             orderRefund.setRefundAmount(mainOrders.getServiceOnePrice().multiply(BigDecimal.valueOf(mainOrders.getSingleQuantity())).multiply(new BigDecimal(mainOrders.getTotalTimes() - secondOrderList.size())));
             this.save(orderRefund);