licailing 5 лет назад
Родитель
Сommit
63f4d0a3d7

+ 1 - 0
src/main/java/com/izouma/dingdong/domain/OrderInfo.java

@@ -149,4 +149,5 @@ public class OrderInfo extends BaseEntity {
 
 
     @ApiModelProperty(value = "预计到达时间")
     @ApiModelProperty(value = "预计到达时间")
     private LocalDateTime timeOfArrival;
     private LocalDateTime timeOfArrival;
+
 }
 }

+ 19 - 0
src/main/java/com/izouma/dingdong/enums/MerchantSort.java

@@ -0,0 +1,19 @@
+package com.izouma.dingdong.enums;
+
+public enum MerchantSort {
+    //好评优先
+
+    //起送费最低
+
+    //配送最快
+
+    //配送费最低
+
+    //人均最低
+
+    //人均最高
+
+    //距离
+
+    //销量
+}

+ 8 - 8
src/main/java/com/izouma/dingdong/enums/PopularTag.java

@@ -3,13 +3,13 @@ package com.izouma.dingdong.enums;
 public enum PopularTag {
 public enum PopularTag {
 
 
     //首单立减
     //首单立减
-
+    FIRST_ORDER_REDUCTION,
     //满减优惠
     //满减优惠
-
-    // 折扣商家
-
-    // 下单返红包
-
-    // 可用红包
-
+    FULL_DISCOUNT,
+    //折扣商家
+    DISCOUNT_MERCHANT,
+    //下单返红包
+    RED_ENVELOPE,
+    //可用红包
+    AVAILABLE_RED_ENVELOPES;
 }
 }

+ 1 - 1
src/main/java/com/izouma/dingdong/service/OrderRefundApplyService.java

@@ -214,7 +214,7 @@ public class OrderRefundApplyService {
         } else {
         } else {
             apply.setPlatformAgree(false);
             apply.setPlatformAgree(false);
             //原状态
             //原状态
-            orderInfo.setStatus(status);
+            orderInfo.setStatus(OrderStatus.PAID);
             orderInfo.setCancel(false);
             orderInfo.setCancel(false);
             //改状态
             //改状态
             apply.setStatus(RefundStatus.DENY);
             apply.setStatus(RefundStatus.DENY);

+ 36 - 0
src/main/java/com/izouma/dingdong/service/merchant/MerchantService.java

@@ -39,6 +39,7 @@ import javax.persistence.criteria.Predicate;
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.LocalDateTime;
+import java.time.LocalTime;
 import java.util.*;
 import java.util.*;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
 
 
@@ -367,6 +368,7 @@ public class MerchantService {
                             merchantDTOS.add(merchantDTO);
                             merchantDTOS.add(merchantDTO);
                         }
                         }
                         break;
                         break;
+
                     default:
                     default:
                         merchantDTOS.add(merchantDTO);
                         merchantDTOS.add(merchantDTO);
                         break;
                         break;
@@ -456,4 +458,38 @@ public class MerchantService {
         return map1;
         return map1;
     }
     }
 
 
+    /*
+    //好评优先 1
+    //起送费最低 2
+    //配送最快 3
+    //配送费最低 4
+    //人均最低 5
+    //人均最高 6
+    //距离 7
+    //销量 8
+
+    */
+    public void list(PageQuery pageQuery, Double longitude, Double latitude, String popularTag, Long userId,Integer sort){
+        //处于营业内
+        LocalTime now = LocalTime.now();
+        List<MerchantSettings> all = merchantSettingsRepo.findAll();
+        List<MerchantSettings> collect = all.stream()
+                .filter(a -> a.getStartTime().isBefore(now) && a.getEndTime().isAfter(now) && a.getPriority()>=2)
+                .collect(Collectors.toList());
+        List<Merchant> merchantList = new ArrayList<>();
+        List<MerchantDTO> dtos = new ArrayList<>();
+        collect.forEach(c->{
+            merchantRepo.findById(c.getMerchantId()).ifPresent(merchantList::add);
+            Merchant merchant = merchantRepo.findById(c.getMerchantId()).orElse(null);
+            if (merchant!=null){
+                dtos.add(new MerchantDTO(merchant,c));
+            }
+        });
+        switch (sort){
+            case 1:
+                merchantList.sort((a,b)->a.getGoodNum()-b.getBadNum().compareTo(b.getGoodNum()-b.getBadNum()));
+
+        }
+
+    }
 }
 }

+ 19 - 7
src/main/java/com/izouma/dingdong/service/user/ShoppingCartService.java

@@ -199,7 +199,7 @@ public class ShoppingCartService {
     }
     }
 
 
     //计算价钱
     //计算价钱
-    public ShoppingCart calculatePrice(Long cartId, Long userId, Long merchantId) {
+    public ShoppingCart calculatePrice(Long cartId, Long merchantId) {
 
 
         //购物车
         //购物车
         ShoppingCart cart = shoppingCartRepo.findById(cartId).orElseThrow(new BusinessException("无购物车"));
         ShoppingCart cart = shoppingCartRepo.findById(cartId).orElseThrow(new BusinessException("无购物车"));
@@ -256,7 +256,7 @@ public class ShoppingCartService {
 
 
         //查找是不是第一次购买
         //查找是不是第一次购买
         //List<OrderInfo> userOrders = orderInfoRepo.findAllByUserId(userId);
         //List<OrderInfo> userOrders = orderInfoRepo.findAllByUserId(userId);
-        List<OrderInfo> userOrdersMerchant = orderInfoRepo.findAllByUserIdAndMerchantId(userId, merchantId);
+        List<OrderInfo> userOrdersMerchant = orderInfoRepo.findAllByUserIdAndMerchantId(cart.getUserId(), merchantId);
         //是新用户也是首单
         //是新用户也是首单
 //        if (CollUtil.isEmpty(userOrders)) {
 //        if (CollUtil.isEmpty(userOrders)) {
 //            shoppingCart.setNewUser(merchant.getNewUser());
 //            shoppingCart.setNewUser(merchant.getNewUser());
@@ -330,19 +330,17 @@ public class ShoppingCartService {
 
 
         this.changeOrderSpec(save, orderGoodsSpec);
         this.changeOrderSpec(save, orderGoodsSpec);
 
 
-        return this.calculatePrice(save.getId(), userId, save.getMerchantId());
+        return this.calculatePrice(save.getId(), save.getMerchantId());
     }
     }
 
 
     //减规格
     //减规格
-    public ShoppingCart sub(Long specId, Long userId) {
+    public ShoppingCart sub(Long specId) {
         OrderGoodsSpec spec = orderGoodsSpecRepo.findById(specId).orElseThrow(new BusinessException("无订单详情"));
         OrderGoodsSpec spec = orderGoodsSpecRepo.findById(specId).orElseThrow(new BusinessException("无订单详情"));
         Long merchantId = spec.getGoods().getMerchantId();
         Long merchantId = spec.getGoods().getMerchantId();
         Long cartId = spec.getShoppingCartId();
         Long cartId = spec.getShoppingCartId();
-        //if (spec.getShoppingCartId() == null) {
         orderGoodsSpecRepo.deleteById(specId);
         orderGoodsSpecRepo.deleteById(specId);
-        //}
         //shoppingCartRepo.findById(spec.getShoppingCartId());
         //shoppingCartRepo.findById(spec.getShoppingCartId());
-        return this.calculatePrice(cartId, userId, merchantId);
+        return this.calculatePrice(cartId, merchantId);
     }
     }
 
 
     /*
     /*
@@ -366,4 +364,18 @@ public class ShoppingCartService {
         return cart;
         return cart;
     }
     }
 
 
+    /*
+    更改数量
+     */
+    public ShoppingCart changeNum(Long specId, Integer num) {
+        OrderGoodsSpec spec = orderGoodsSpecRepo.findById(specId).orElseThrow(new BusinessException("无订单详情"));
+        Long merchantId = spec.getGoods().getMerchantId();
+        Long cartId = spec.getShoppingCartId();
+
+        spec.setNum(num);
+        orderGoodsSpecRepo.save(spec);
+
+        return this.calculatePrice(cartId, merchantId);
+    }
+
 }
 }

+ 7 - 1
src/main/java/com/izouma/dingdong/web/user/ShoppingCartController.java

@@ -93,7 +93,7 @@ public class ShoppingCartController extends BaseController {
     @ApiOperation("从购物车中删除商品")
     @ApiOperation("从购物车中删除商品")
     public ShoppingCart delGoods(Long specId) {
     public ShoppingCart delGoods(Long specId) {
         //orderGoodsSpecRepo.deleteById(orderGoodsSpec);
         //orderGoodsSpecRepo.deleteById(orderGoodsSpec);
-        return shoppingCartService.sub(specId, SecurityUtils.getAuthenticatedUser().getId());
+        return shoppingCartService.sub(specId);
     }
     }
 
 
     @GetMapping("/my")
     @GetMapping("/my")
@@ -131,5 +131,11 @@ public class ShoppingCartController extends BaseController {
     public ShoppingCart again(Long orderId) {
     public ShoppingCart again(Long orderId) {
         return shoppingCartService.again(orderId);
         return shoppingCartService.again(orderId);
     }
     }
+
+    @GetMapping("/changeNum")
+    @ApiOperation("改数量")
+    public ShoppingCart changeNum(Long specId, Integer num) {
+        return shoppingCartService.changeNum(specId, num);
+    }
 }
 }
 
 

+ 5 - 0
src/test/java/com/izouma/dingdong/service/ShoppingCartServiceTest.java

@@ -71,4 +71,9 @@ public class ShoppingCartServiceTest {
             System.out.println(specs);
             System.out.println(specs);
         }
         }
     }
     }
+
+    @Test
+    public void testNum() {
+        shoppingCartService.changeNum(1808L, 10);
+    }
 }
 }