From 2c5a0e133b64bb0a46b1419c48e9b62a4779e268 Mon Sep 17 00:00:00 2001 From: cloudroam <cloudroam> Date: 星期一, 09 十二月 2024 16:13:17 +0800 Subject: [PATCH] add: 供应商子账号 --- src/main/java/com/mzl/flower/service/payment/OrderService.java | 87 ++++++++++++++++++++++++++++++++++++++----- 1 files changed, 77 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/mzl/flower/service/payment/OrderService.java b/src/main/java/com/mzl/flower/service/payment/OrderService.java index e4c422f..25a7de0 100644 --- a/src/main/java/com/mzl/flower/service/payment/OrderService.java +++ b/src/main/java/com/mzl/flower/service/payment/OrderService.java @@ -12,8 +12,10 @@ import com.mzl.flower.config.security.SecurityUtils; import com.mzl.flower.constant.Constants; import com.mzl.flower.dto.PriceDTO; +import com.mzl.flower.dto.request.comment.QueryFlowerCommentDTO; import com.mzl.flower.dto.request.menber.MemberGrowthRecordDTO; import com.mzl.flower.dto.request.payment.*; +import com.mzl.flower.dto.response.comment.FlowerCommentVO; import com.mzl.flower.dto.response.coupon.CouponRecordVO; import com.mzl.flower.dto.response.flower.FlowerCartListDTO; import com.mzl.flower.dto.response.flower.FlowerCartListWrapDTO; @@ -43,6 +45,7 @@ import com.mzl.flower.mapper.system.UserWechatMapper; import com.mzl.flower.mapper.warehouse.WarehouseLocationMapper; import com.mzl.flower.service.BaseService; +import com.mzl.flower.service.comment.FlowerCommentService; import com.mzl.flower.service.coupon.CouponRecordService; import com.mzl.flower.service.flower.FlowerService; import com.mzl.flower.service.menber.MemberGrowthRecordService; @@ -164,6 +167,9 @@ @Autowired private CouponRecordService couponRecordService; + @Autowired + private FlowerCommentService flowerCommentService; + public void changeFlower2Cart(CartSaveDTO dto) { String userId = SecurityUtils.getUserId(); @@ -196,7 +202,7 @@ Integer completeNumToday=getFlowerCompleteNumToday(userId,c.getFlowerId()); Integer tmp=completeNumToday+c.getNum(); if(null!=tmp && null!=flowerDetail.getLimited() - && tmp.compareTo(flowerDetail.getLimited())>0){ + && tmp.compareTo(flowerDetail.getLimited())>0){ throw new ValidationException("当天的订单的花数量加上购物车的数量不能超过限售数量!"); } @@ -208,7 +214,7 @@ // 限购 1.首先查看购物车中的数量是否已经超过限售数量 if(null!=c.getNum() && null!=flowerDetail.getLimited() - && c.getNum().compareTo(flowerDetail.getLimited())>0){ + && c.getNum().compareTo(flowerDetail.getLimited())>0){ throw new ValidationException("数量不能超过限售数量!"); } @@ -216,7 +222,7 @@ Integer completeNumToday=getFlowerCompleteNumToday(userId,c.getFlowerId()); Integer tmp=completeNumToday+c.getNum(); if(null!=tmp && null!=flowerDetail.getLimited() - && tmp.compareTo(flowerDetail.getLimited())>0){ + && tmp.compareTo(flowerDetail.getLimited())>0){ throw new ValidationException("当天的订单的花数量加上购物车的数量不能超过限售数量!"); } @@ -447,7 +453,7 @@ } } - public Map commitOrder(OrderCommitDTO dto, PreOrderDTO p, Map<Long, PriceDTO> priceMap) { + public Map commitOrder(OrderCommitDTO dto, PreOrderDTO p, Map<Long, PriceDTO> priceMap) throws Exception { String userId = SecurityUtils.getUserId(); p.getFlowers().forEach(flower -> { // 限购数量 鲜花数量校验 @@ -489,6 +495,19 @@ usePointGoods(order.getId(), goodsRecordIdList);//使用积分商品兑换券 order.create(userId); + // 根据当前的时间判断,如果时间大于当天的下午17:00 ,那么日期则为下一天的日期,否则为当天日期 + if(null!=order.getCreateTime()){ + LocalDateTime createDateTime = order.getCreateTime(); + LocalDate createDate = createDateTime.toLocalDate(); + LocalDateTime today1700 = createDateTime.with(LocalTime.of(17, 0)); + // 比较时间是否大于当天的 17:00 + if (createDateTime.isAfter(today1700)) { + // 如果大于 17:00,设置为下一天的日期 + createDate = createDate.plusDays(1); + } + order.setCreateDateSta(createDate); + } +// order.setCreateDate(); order.setRemarks(dto.getRemarks()); order.setSpecialNeeds(dto.getSpecialNeeds()); order.setStatusBackend(Constants.ORDER_STATUS_BACKEND.PENDING.name()); @@ -522,7 +541,7 @@ } totalAmount = totalAmount.add(p.getPacking()).add(transportFee); if(totalAmount.doubleValue() <= 0){//假如总价小于等于0,则支付0.01元 - totalAmount = new BigDecimal(0.01); + totalAmount = new BigDecimal("0.01"); } order.setTotalAmount(totalAmount); @@ -915,6 +934,10 @@ orderIds.add(o.getId()); OrderPlatformListDTO p = new OrderPlatformListDTO(); + //增加订单扎数 + Integer sumNumByOrderId = orderItemMapper.getSumNumByOrderId(o.getId()); + o.setSaleNum(sumNumByOrderId); + BeanUtils.copyProperties(o, p); result.add(p); } @@ -1135,6 +1158,7 @@ new QueryWrapper<OrderItem>().eq("order_id", id)); Map<Long, String> stationMap = prepareStationMap(); + Map<String, FlowerCommentVO> commentMap=prepareCommentMap(id); List<OrderItemListDTO> result = new ArrayList<>(); for (OrderItem oi : ls) { @@ -1143,10 +1167,35 @@ dto.setStationName(stationMap.get(oi.getStationId())); + // 评论 + final FlowerCommentVO flowerCommentVO = commentMap.get(oi.getId()); + copyCommentInfo(dto,flowerCommentVO); + result.add(dto); } return result; + } + + private Map<String, FlowerCommentVO> prepareCommentMap(String orderId) { + QueryFlowerCommentDTO queryFlowerCommentDTO = new QueryFlowerCommentDTO(); + queryFlowerCommentDTO.setOrderId(orderId); + final List<FlowerCommentVO> list = flowerCommentService.getList(queryFlowerCommentDTO); + if (list == null || list.isEmpty()) { + return Collections.emptyMap(); + } + // 将 List 转换为 Map,其中 key 为 FlowerCommentVO 的 id + return list.stream().collect(Collectors.toMap(FlowerCommentVO::getOrderItemId, item -> item)); + } + + + private void copyCommentInfo(OrderItemListDTO dto,FlowerCommentVO flowerCommentVO){ + if(null != dto && null!=flowerCommentVO){ + dto.setCommentGrade(flowerCommentVO.getCommentGrade()); + dto.setComment(flowerCommentVO.getComment()); + dto.setCommentImages(flowerCommentVO.getCommentImages()); + dto.setAnonymityFalg(flowerCommentVO.getAnonymityFalg()); + } } public List<Order> autoReceive() { @@ -1395,7 +1444,7 @@ return dto; } - public void processAbnormalOrder(String id) { + public void processAbnormalOrder(String id) throws Exception { Order o = orderMapper.selectById(id); String transferId = o.getTransferId(); if (StringUtils.isNotEmpty(transferId)) { @@ -1440,7 +1489,7 @@ orderMapper.updateById(o); } - public void processLevelDown(OrderReduceDTO dto) { + public void processLevelDown(OrderReduceDTO dto) throws Exception { Order o = orderMapper.selectById(dto.getId()); String transferId = o.getTransferId(); if (StringUtils.isNotEmpty(transferId)) { @@ -1678,7 +1727,7 @@ // 新增 cartMapper.updateById(cart); }else{ - // 更新 + // 更新 cartMapper.insert(cart); } } @@ -1719,8 +1768,8 @@ public void exportOrderDetail(HttpServletResponse response, OrderQueryDTO dto) { List<OrderListExportDTO> ls = getOrderExportListBase( dto); - String[] rowsName = new String[]{"序号","订单号", "用户账号", "收货人", "收货人电话", "收获地址", "订单金额" - , "底价", "订单状态", "下单时间", "合伙人", "库位", "特殊需求", "备注"}; + String[] rowsName = new String[]{"序号","订单号", "用户账号", "收货人", "收货人电话", "收货地址", "订单金额" + , "底价","销售扎数", "订单状态", "下单时间", "合伙人", "库位", "特殊需求", "备注"}; List<Object[]> dataList = new ArrayList<>(); int sn = 1; for (OrderListExportDTO o : ls) { @@ -1734,6 +1783,7 @@ objs[a++] = o.getCustomerAddress(); objs[a++] = o.getTotalAmount(); objs[a++] = o.getSupplierAmount(); + objs[a++] = o.getSaleNum(); objs[a++] = o.getStatusBackendStr(); objs[a++] = o.getCreateTime(); objs[a++] = o.getPartnerName(); @@ -1755,4 +1805,21 @@ } + public void exportPartnerOrderList(HttpServletResponse response, OrderQueryDTO dto) { + Partner p = getCurrentPartner(); + dto.setPartnerId(p.getId()); + exportOrderDetail(response, dto); + } + + public void refreshDate() { + List<Order> allOrderList= orderMapper.selectAllDateList(); + + allOrderList.forEach(order -> { + orderMapper.updatePaymentCreateDate(order); + }); + } + + public Order getOrderInfoById(String id) { + return orderMapper.selectById(id); + } } -- Gitblit v1.9.3