licailing 5 سال پیش
والد
کامیت
d7a52d17a2

+ 2 - 2
src/main/java/com/izouma/dingdong/domain/backstage/Complaint.java

@@ -1,7 +1,7 @@
 package com.izouma.dingdong.domain.backstage;
 
 import com.izouma.dingdong.domain.BaseEntity;
-import com.izouma.dingdong.enums.ComplaintType;
+import com.izouma.dingdong.enums.ComplaintTarget;
 import com.izouma.dingdong.enums.Solution;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -31,7 +31,7 @@ public class Complaint extends BaseEntity {
 
     //商家或骑手
     @ApiModelProperty(value = "投诉目标", name = "target")
-    private ComplaintType target;
+    private ComplaintTarget target;
 
     @ApiModelProperty(value = "投诉内容", name = "type")
     private String type;

+ 13 - 0
src/main/java/com/izouma/dingdong/enums/ComplaintTarget.java

@@ -0,0 +1,13 @@
+package com.izouma.dingdong.enums;
+
+public enum ComplaintTarget {
+
+    /*
+    商户
+     */
+    MERCHANT,
+    /*
+    骑手
+     */
+    RIDER
+}

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

@@ -1,13 +1,21 @@
 package com.izouma.dingdong.enums;
 
 public enum ComplaintType {
+    SEND_LESS("商家少送/漏送商品"),
+    FOOD_QUALITY("食品品质/安全问题"),
+    OVERTIME_DELIVERY("等待时间超长,超时配送"),
+    WRONG_DELIVERY("错送商品"),
+    DAMAGED_GOODS("商品破损"),
+    THREATEN("威胁/辱骂/殴打"),
+    HARASS_CUSTOMERS("骚扰顾客"),
+    OTHER("其他原因");
+    private final String description;
 
-    /*
-    商户
-     */
-    MERCHANT,
-    /*
-    骑手
-     */
-    RIDER
+    ComplaintType(String description) {
+        this.description = description;
+    }
+
+    public String getDescription() {
+        return description;
+    }
 }

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

@@ -104,7 +104,8 @@ public class WithdrawApplyService {
                             .userId(withdrawals.getUserId())
                             .time(LocalDateTime.now())
                             .type(FinancialType.EXPENDITURE)
-                            .remark(bankCard.getBankName())
+                            .remark(bankCard.getCardNo())
+                            .content(bankCard.getBankName())
                             .amount(withdrawals.getAmount())
                             .build()
             );

+ 19 - 17
src/main/java/com/izouma/dingdong/service/merchant/MerchantSettingsService.java

@@ -249,7 +249,7 @@ public class MerchantSettingsService {
         List<MerchantSettings> all = merchantSettingsRepo.findAll();
 
         List<MerchantSettings> collect = all.stream()
-                .filter(a -> a.getStartTime().isBefore(now) && a.getEndTime().isAfter(now) && a.getPriority() >= 2
+                .filter(a -> a.getStartTime().isBefore(now) && a.getEndTime().isAfter(now) && a.getPriority() >= 1
                         && a.getIsOpening() && a.getWeek()
                         .contains(dayOfWeek)
                 )
@@ -356,11 +356,12 @@ public class MerchantSettingsService {
     }
 
     //其他筛选条件
-    public List<MerchantDTO> otherFilter(List<MerchantDTO> dtos, FilterDTO filterDto) {
+    public List<MerchantDTO> otherFilter(List<MerchantDTO> dtos, String tag, String natureId, BigDecimal startAmount,
+                                         BigDecimal endAmount) {
         Set<MerchantDTO> collect = new HashSet<>();
         LongArrayConverter converter = new LongArrayConverter();
-        if (filterDto.getNatureId() != null) {
-            List<Long> natureIds = converter.convertToEntityAttribute(filterDto.getFilter());
+        if (natureId != null) {
+            List<Long> natureIds = converter.convertToEntityAttribute(natureId);
             //商家性质筛选
             natureIds.forEach(n ->
                     collect.addAll(dtos.stream()
@@ -370,28 +371,28 @@ public class MerchantSettingsService {
         }
 
         //金额区间
-        if (filterDto.getStartAmount() != null && filterDto.getEndAmount() != null) {
+        if (startAmount != null && endAmount != null) {
             collect.addAll(dtos.stream()
-                    .filter(d -> this.consumption(d.getMid()).compareTo(filterDto.getStartAmount()) >= 0
-                            && this.consumption(d.getMid()).compareTo(filterDto.getEndAmount()) <= 0
+                    .filter(d -> this.consumption(d.getMid()).compareTo(startAmount) >= 0
+                            && this.consumption(d.getMid()).compareTo(endAmount) <= 0
                     ).collect(Collectors.toSet()));
 
-        } else if (filterDto.getStartAmount() != null) {
+        } else if (startAmount != null) {
             collect.addAll(dtos.stream()
-                    .filter(d -> this.consumption(d.getMid()).compareTo(filterDto.getStartAmount()) >= 0
+                    .filter(d -> this.consumption(d.getMid()).compareTo(startAmount) >= 0
                     ).collect(Collectors.toSet()));
 
-        } else if (filterDto.getEndAmount() != null) {
+        } else if (endAmount != null) {
             collect.addAll(dtos.stream()
-                    .filter(d -> this.consumption(d.getMid()).compareTo(filterDto.getEndAmount()) <= 0
+                    .filter(d -> this.consumption(d.getMid()).compareTo(endAmount) <= 0
                     ).collect(Collectors.toSet()));
         } else {
             collect.addAll(dtos);
         }
 
         //标签
-        if (filterDto.getTag() != null) {
-            List<Long> tags = converter.convertToEntityAttribute(filterDto.getTag());
+        if (tag != null) {
+            List<Long> tags = converter.convertToEntityAttribute(tag);
             tags.forEach(t -> {
                 if (t == 1) {//新商家
                     collect.addAll(dtos.stream()
@@ -416,13 +417,14 @@ public class MerchantSettingsService {
     /*
     推荐商家
      */
-    public List<MerchantDTO> recommended(Double longitude, Double latitude, Integer sort, FilterDTO filterDto, Long userId) {
+    public List<MerchantDTO> recommended(Double longitude, Double latitude, Integer sort, String filter, String tag, String natureId, BigDecimal startAmount,
+                                         BigDecimal endAmount, Long userId) {
         List<MerchantDTO> dtoList;
         dtoList = this.listSort(longitude, latitude, sort);
-        if (filterDto.getFilter() != null) {
-            dtoList = this.listFilter(dtoList, filterDto.getFilter(), userId);
+        if (filter != null) {
+            dtoList = this.listFilter(dtoList, filter, userId);
         }
-        return this.otherFilter(dtoList, filterDto);
+        return this.otherFilter(dtoList, tag, natureId, startAmount, endAmount);
     }
 
 

+ 1 - 0
src/main/java/com/izouma/dingdong/service/rider/RiderService.java

@@ -271,4 +271,5 @@ public class RiderService {
 
     }
 
+
 }

+ 35 - 4
src/main/java/com/izouma/dingdong/web/merchant/MerchantSettingsController.java

@@ -20,6 +20,7 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
+import java.math.BigDecimal;
 import java.util.List;
 
 @RestController
@@ -27,13 +28,14 @@ import java.util.List;
 @AllArgsConstructor
 public class MerchantSettingsController extends BaseController {
     private MerchantSettingsService merchantSettingsService;
-    private MerchantSettingsRepo merchantSettingsRepo;
+    private MerchantSettingsRepo    merchantSettingsRepo;
 
     //@PreAuthorize("hasRole('ADMIN')")
     @PostMapping("/save")
     public MerchantSettings save(@RequestBody MerchantSettings record) {
         if (record.getId() != null) {
-            MerchantSettings orig = merchantSettingsRepo.findById(record.getId()).orElseThrow(new BusinessException("无记录"));
+            MerchantSettings orig = merchantSettingsRepo.findById(record.getId())
+                    .orElseThrow(new BusinessException("无记录"));
             ObjUtils.merge(orig, record);
             return merchantSettingsRepo.save(orig);
         }
@@ -72,11 +74,40 @@ public class MerchantSettingsController extends BaseController {
         return new PageImpl<>(dtos, toPageRequest(pageQuery), dtos.size());
     }
 
+    /**
+     * @param longitude   经度
+     * @param latitude    纬度
+     * @param sort        好评优先 1
+     *                    起送费最低 2
+     *                    配送最快 3
+     *                    配送费最低 4
+     *                    人均最低 5
+     *                    人均最高 6
+     *                    距离 7
+     *                    销量 8
+     * @param filter      优惠活动
+     *                    首单立减 1
+     *                    满减优惠 2
+     *                    折扣商家 3
+     *                    下单返红包 4
+     *                    可用红包 5
+     *                    可多选
+     * @param tag         商家标签
+     *                    新商家 1
+     *                    明星商家 2
+     * @param natureId    商户性质id
+     * @param startAmount 金额区间,开始金额
+     * @param endAmount   金额区间,结束金额
+     * @return 商户列表
+     */
     @GetMapping("/show")
     @ApiOperation("推荐商家下的商户列表")
-    public List<MerchantDTO> showAll(Double longitude, Double latitude, Integer sort, FilterDTO filterDto) {
+    public List<MerchantDTO> showAll(Double longitude, Double latitude, Integer sort, String filter, String tag,
+                                     String natureId, BigDecimal startAmount,
+                                     BigDecimal endAmount) {
         Long id = SecurityUtils.getAuthenticatedUser().getId();
-        return merchantSettingsService.recommended(longitude, latitude, sort, filterDto, id);
+        return merchantSettingsService.recommended(longitude, latitude, sort, filter, tag, natureId, startAmount,
+                endAmount, id);
     }
 }
 

+ 1 - 0
src/main/java/com/izouma/dingdong/web/rider/RiderController.java

@@ -73,5 +73,6 @@ public class RiderController extends BaseController {
     public void autoReceive(Long orderId) {
         riderService.dispatch(orderId);
     }
+
 }
 

+ 14 - 9
src/test/java/com/izouma/dingdong/service/MerchantServiceTest.java

@@ -26,13 +26,13 @@ import java.util.Map;
 public class MerchantServiceTest {
 
     @Autowired
-    private MerchantService merchantService;
+    private MerchantService         merchantService;
     @Autowired
-    private MerchantController merchantController;
+    private MerchantController      merchantController;
     @Autowired
     private MerchantSettingsService merchantSettingsService;
     @Autowired
-    private MerchantSettingsRepo merchantSettingsRepo;
+    private MerchantSettingsRepo    merchantSettingsRepo;
 
     @Test
     public void testChange() {
@@ -111,7 +111,7 @@ public class MerchantServiceTest {
         pageQuery.setSearch(null);
         pageQuery.setSort("");
         //118.738275 31.991961
-        List<MerchantDTO> list = merchantService.showAll(pageQuery, 1.0,1.0 , "首单立减", 82L);
+        List<MerchantDTO> list = merchantService.showAll(pageQuery, 1.0, 1.0, "首单立减", 82L);
 
         System.out.println(list.size());
     }
@@ -124,7 +124,7 @@ public class MerchantServiceTest {
         pageQuery.setSearch(null);
         pageQuery.setSort("");
         //118.738275 31.991961
-        List<MerchantDTO> list = merchantSettingsService.showAll(pageQuery, 1.0,1.0 , 1L, 82L);
+        List<MerchantDTO> list = merchantSettingsService.showAll(pageQuery, 1.0, 1.0, 1L, 82L);
 
         System.out.println(list.size());
     }
@@ -144,7 +144,7 @@ public class MerchantServiceTest {
     }*/
 
     @Test
-    public void testIndex(){
+    public void testIndex() {
         Map<String, Object> index = merchantSettingsService.index(118.00, 31.0);
 //        System.out.println(index.get("banner"));
 //        System.out.println(index.get("categories"));
@@ -156,17 +156,22 @@ public class MerchantServiceTest {
     }
 
     @Test
-    public void testFull(){
+    public void testFull() {
         //System.out.println(fullReductionRepo.findAllByMerchantId(189L));
         System.out.println(merchantSettingsService.getDTO(189L));
     }
 
     @Test
-    public void testWeek(){
+    public void testWeek() {
         MerchantSettings settings = merchantSettingsRepo.findById(306L).orElse(null);
-      //  System.out.println(settings);
+        //  System.out.println(settings);
         System.out.println(settings.getWeek().contains(LocalDateTime.now().getDayOfWeek().toString()));
 
         //System.out.println(LocalDateTime.now().getDayOfWeek());
     }
+
+    @Test
+    public void test5() {
+        System.out.println(merchantSettingsService.recommended(1.0, 1.0, null, null, null, null, null, null, 82L).size());
+    }
 }