yangyb 1 週間 前
コミット
ad2d1b2478

+ 2 - 0
mall-api/src/main/java/com/txz/mall/constants/Constants.java

@@ -356,6 +356,8 @@ public class Constants {
     public static final int ORDER_STATUS_WAIT_RECEIVER = 8; //待收货
     public static final int ORDER_STATUS_RECEIVED_GOOD = 9;  // 已收货
     public static final int ORDER_STATUS_COMPLETE = 10; //完成
+    public static final int ORDER_STATUS_CANCEL = 11;  // 取消
+    public static final int ORDER_STATUS_CLOSE = 12;//关闭
 
 //    public static final Integer ORDER_STATUS_NOT_SHIPPED = "notShipped"; //未发货
 //    public static final Integer ORDER_STATUS_SPIKE = "spike"; //待收货

+ 1 - 0
mall-service/src/main/java/com/txz/mall/business/impl/PinkServiceBusinessImpl.java

@@ -61,6 +61,7 @@ public class PinkServiceBusinessImpl implements PinkServiceBusiness {
                 response.setOrderStatus(storeOrder.getStatus());
                 response.setRefundStatus(storeOrder.getRefundStatus());
                 response.setUserPhone(storeOrder.getUserPhone());
+                response.setName(storeOrder.getRealName());
                 response.setPayTime(storeOrder.getPayTime());
             }
             return response;

+ 22 - 1
mall-service/src/main/java/com/txz/mall/controller/CombinationController.java

@@ -129,10 +129,31 @@ public class CombinationController {
         Example.Criteria criteria = condition.createCriteria();
         criteria.andEqualTo("isDelete", 0);
         criteria.andEqualTo("isShow", 1);
-        condition.setOrderByClause("create_time DESC");
+
+        if (dto.getSortWay() == null) {
+            dto.setSortWay(0);
+        }
+        switch (dto.getSortWay()) {
+            case 1:
+                condition.setOrderByClause("price ASC");
+                break;
+            case 2:
+                condition.setOrderByClause("price DESC");
+                break;
+            case 3:
+                condition.setOrderByClause("sales DESC");
+                break;
+            case 4:
+                condition.setOrderByClause("sales ASC");
+                break;
+            default:
+                condition.setOrderByClause("create_time DESC");
+                break;
+        }
         if (dto.getIsNew() != null) {
             criteria.andEqualTo("isNew", 1);
         }
+
         if (dto.getMinPrice() != null && dto.getMaxPrice() != null) {
             criteria.andBetween("price", dto.getMinPrice(), dto.getMaxPrice());
         }

+ 6 - 6
mall-service/src/main/java/com/txz/mall/controller/OrderController.java

@@ -141,22 +141,22 @@ public class OrderController {
 
     @ApiOperation("退款")
     @PostMapping("/refund")
-    public Result refund(@RequestParam("ids") List<Long> ids) {
-//        storeOrderService.close(ids);
+    public Result refund(@RequestParam("id") Long id) {
+        storeOrderService.refund(id);
         return Result.success();
     }
 
     @ApiOperation("关闭订单")
     @PostMapping("/close")
-    public Result close(@RequestParam("ids") List<Long> ids) {
-//        storeOrderService.close(ids);
+    public Result close(@RequestParam("id") Long id) {
+        storeOrderService.close(id);
         return Result.success();
     }
 
     @ApiOperation("取消订单")
     @PostMapping("/cancel")
-    public Result cancel(@RequestParam("ids") List<Long> ids) {
-//        storeOrderService.close(ids);
+    public Result cancel(@RequestParam("id") Long id) {
+        storeOrderService.cancel(id);
         return Result.success();
     }
 

+ 1 - 0
mall-service/src/main/java/com/txz/mall/controller/UserAddressController.java

@@ -177,6 +177,7 @@ public class UserAddressController {
         criteria.andEqualTo("isDelete", 0);
         criteria.andEqualTo("uid", userAddress.getUid());
         criteria.andNotEqualTo("id", defaultId);
+        criteria.andEqualTo("isDefault", 1);
         List<UserAddress> list = userAddressService.findByCondition(condition);
         for (UserAddress ua : list) {
             ua.setIsDefault(0);

+ 21 - 0
mall-service/src/main/java/com/txz/mall/service/StoreOrderService.java

@@ -112,4 +112,25 @@ public interface StoreOrderService extends Service<StoreOrder> {
      *
      */
     Boolean goPay(GoPinkDTO dto);
+
+    /**
+     * 订单退款
+     *
+     * @param id 订单编号
+     */
+    void refund(Long id);
+
+    /**
+     * 订单关闭
+     *
+     * @param id 订单编号
+     */
+    void close(Long id);
+
+    /**
+     * 订单取消
+     *
+     * @param id 订单编号
+     */
+    void cancel(Long id);
 }

+ 31 - 2
mall-service/src/main/java/com/txz/mall/service/impl/StoreOrderServiceImpl.java

@@ -818,6 +818,9 @@ public class StoreOrderServiceImpl extends AbstractService<StoreOrder> implement
         Example.Criteria criteria = condition.createCriteria();
         criteria.andEqualTo("isDelete", 0);
         condition.setOrderByClause("create_time DESC");
+        if (dto.getId() != null) {
+            criteria.andEqualTo("id", dto.getId());
+        }
         if (dto.getOrderId() != null) {
             criteria.andEqualTo("orderId", dto.getOrderId());
         }
@@ -862,7 +865,7 @@ public class StoreOrderServiceImpl extends AbstractService<StoreOrder> implement
             Condition addressCondition = new Condition(UserAddress.class);
             Example.Criteria addressCriteria = addressCondition.createCriteria();
             addressCriteria.andEqualTo("isDelete", 0);
-            addressCriteria.andIn("id", list.stream().map(StoreOrder::getUid).collect(Collectors.toList()));
+            addressCriteria.andIn("id", list.stream().map(StoreOrder::getAddressId).filter(Objects::nonNull).collect(Collectors.toList()));
             addressList = userAddressService.findByCondition(addressCondition);
         }
         List<StoreOrderInfo> finalInfoArrayList = infoArrayList;
@@ -875,7 +878,7 @@ public class StoreOrderServiceImpl extends AbstractService<StoreOrder> implement
             vo.setOrderInfoVO(infoCollect);
             vo.setOrderStatusVO(finalStatusList.stream().filter(status -> status.getOid().equals(item.getId())).collect(Collectors.toList()));
             vo.setBrokerage(BigDecimal.ONE);
-            vo.setOrderAddressVO(finalAddressList.stream().filter(address -> address.getId().equals(item.getUid())).findFirst().orElse(null));
+            vo.setOrderAddressVO(finalAddressList.stream().filter(address -> address.getId().equals(item.getAddressId())).findFirst().orElse(null));
             arrayList.add(vo);
         });
         return arrayList;
@@ -1284,6 +1287,32 @@ public class StoreOrderServiceImpl extends AbstractService<StoreOrder> implement
         return true;
     }
 
+    @Override
+    public void refund(Long id) {
+        StoreOrder storeOrder = findById(id);
+        if (storeOrder.getPaid().equals(Constants.ORDER_STATUS_UNPAID)) {
+            throw new ServiceException("当前状态不支持退款");
+        }
+    }
+
+    @Override
+    public void close(Long id) {
+        StoreOrder storeOrder = findById(id);
+//        storeOrder.setStatus(Constants.ORDER_STATUS_CLOSE);
+//        update(storeOrder);
+    }
+
+    @Override
+    public void cancel(Long id) {
+        StoreOrder storeOrder = findById(id);
+        if (storeOrder.getPaid().equals(0)) {
+            storeOrder.setStatus(Constants.ORDER_STATUS_CANCEL);
+            update(storeOrder);
+        } else {
+            throw new ServiceException("当前状态不支持取消");
+        }
+    }
+
     /**
      * 校验商品库存(生成订单)
      *

+ 3 - 3
mall-service/src/main/java/com/txz/mall/service/impl/UserSignServiceImpl.java

@@ -55,9 +55,7 @@ public class UserSignServiceImpl extends AbstractService<UserSign> implements Us
         ConfigDTO configByCode = configDubboServiceClient.getConfigByCode(USER_SIGN_INFO);
         List<UserSignDetailVO.SignVO> list = JSONObject.parseArray(configByCode.getValueInfo(), UserSignDetailVO.SignVO.class);
         for (int i = 0; i < list.size(); i++) {
-            if (i <= continuousDays - 1) {
-                list.get(i).setStatus(1);
-            }
+            list.get(i).setStatus(continuousDays > 0 && i < continuousDays ? 1 : 0);
         }
         detailVO.setSignList(list);
         return detailVO;
@@ -95,6 +93,8 @@ public class UserSignServiceImpl extends AbstractService<UserSign> implements Us
         userSign.setCreateDay(new Date());
         userSign.setContinuousDays(continuousDays);
         save(userSign);
+
+        // 考虑是否换成redis的bitmap
     }
 
     // 判断今天是否已经签到

+ 6 - 0
mall-service/src/main/java/dto/StoreProductDTO.java

@@ -293,4 +293,10 @@ public class StoreProductDTO implements Serializable {
      */
     @ApiModelProperty("最高价格")
     private BigDecimal maxPrice;
+
+    /**
+     * 排序方式 0=默认,1=价格升序,2=价格降序,3=销量升序,4=销量降序
+     */
+    @ApiModelProperty("排序方式 0=默认,1=价格升序,2=价格降序,3=销量升序,4=销量降序")
+    private Integer sortWay;
 }

+ 3 - 0
mall-service/src/main/java/vo/StorePinkDetailVO.java

@@ -36,6 +36,9 @@ public class StorePinkDetailVO implements Serializable {
     @ApiModelProperty(value = "人数")
     private Integer people;
 
+    @ApiModelProperty(value = "名字")
+    private String name;
+
     @ApiModelProperty(value = "用户昵称")
     private String nickname;