From be9f0443216de264a214e8c4015f2eb890ffdfd8 Mon Sep 17 00:00:00 2001 From: Cui Zhi Feng <7426394+wuxixiaocui@user.noreply.gitee.com> Date: 星期二, 03 九月 2024 10:25:06 +0800 Subject: [PATCH] 直接退款金额计算 --- src/main/java/com/mzl/flower/service/flower/FlowerService.java | 69 +++++++++++++++++++++++----------- 1 files changed, 47 insertions(+), 22 deletions(-) diff --git a/src/main/java/com/mzl/flower/service/flower/FlowerService.java b/src/main/java/com/mzl/flower/service/flower/FlowerService.java index 934ef42..9c63b20 100644 --- a/src/main/java/com/mzl/flower/service/flower/FlowerService.java +++ b/src/main/java/com/mzl/flower/service/flower/FlowerService.java @@ -11,6 +11,7 @@ import com.mzl.flower.entity.customer.Collect; import com.mzl.flower.entity.customer.Customer; import com.mzl.flower.entity.flower.*; +import com.mzl.flower.entity.menber.Member; import com.mzl.flower.entity.payment.Cart; import com.mzl.flower.entity.payment.Order; import com.mzl.flower.entity.payment.OrderItem; @@ -91,6 +92,11 @@ flowerMapper.updateFlowerSales(oi.getFlowerId(), oi.getNum()); } } + } + + @Async + public synchronized void updateCategoryInfo(Long category){ + flowerMapper.updateFlowerCategoryInfo(category); } /** @@ -462,20 +468,7 @@ dto.setUserId(SecurityUtils.getUserId()); dto.setParamId(paramService.getParamIdByCategoryId(dto.getCategory())); List<FlowerShowListDTO> ls = flowerMapper.selectFlowerShowList(page, dto); - if(ls != null && ls.size() > 0){ - Long partnerId = getCurrentCustomerPartner(); - for(FlowerShowListDTO s : ls){ - BigDecimal price = getFinalPrice(partnerId, s.getCategory() - , s.getId(), s.getPrice(), s.getLevel()); - s.setPrice(price); - s.setCollection(s.getCollectCount() > 0); - s.setShopnum(s.getShopnum() == null ? 0 : s.getShopnum()); - - if(s.getSales() != null && s.getRealSales() != null){ - s.setSales(s.getSales() + s.getRealSales()); - } - } - } + prepareShowList(ls); page.setRecords(ls); @@ -502,10 +495,14 @@ if(pId == null){ pId = getCurrentCustomerPartner(); } + Customer p = getCurrentCustomerWithoutCheck(); + Long levelId = p == null ? null : p.getLevelId(); + Member member = getMember(levelId); BigDecimal price = getFinalPrice(pId, dto.getCategory() , s.getId(), dto.getPrice(), dto.getLevel()); dto.setPrice(price); + dto.setPriceMember(calculateMemberPrice(price, member)); String userId = SecurityUtils.getUserId(); if(StringUtils.isNotEmpty(userId)) { @@ -597,17 +594,42 @@ public Page<FlowerShowListDTO> myCollect(Page page, FlowerShowQueryDTO dto) { dto.setUserId(SecurityUtils.getUserId()); - /*if (StringUtils.isNotEmpty(dto.getColumn())) { - List<OrderItem> orders = new ArrayList<>(); - OrderItem i = new OrderItem(); - i.setColumn(dto.getColumn()); - i.setAsc(dto.isAsc()); - page.setOrders(orders); - }*/ + if (StringUtils.isNotEmpty(dto.getColumn())) { + if(dto.getColumn().contains("sales") + || dto.getColumn().contains("stock")){ + dto.setColumn(dto.getColumn() + " desc"); + } + } + dto.setParamId(paramService.getParamIdByCategoryId(dto.getCategory())); List<FlowerShowListDTO> flowerShowListDTOS = flowerMapper.myCollect(page, dto); + prepareShowList(flowerShowListDTOS); + page.setRecords(flowerShowListDTOS); return page; + } + + private void prepareShowList(List<FlowerShowListDTO> ls){ + if(ls != null && ls.size() > 0){ + Customer p = getCurrentCustomerWithoutCheck(); + Long partnerId = p == null ? null : p.getPartnerId(); + Long levelId = p == null ? null : p.getLevelId(); + Member member = getMember(levelId); + + for(FlowerShowListDTO s : ls){ + BigDecimal price = getFinalPrice(partnerId, s.getCategory() + , s.getId(), s.getPrice(), s.getLevel()); + s.setPrice(price); + s.setPriceMember(calculateMemberPrice(price, member)); + + s.setCollection(s.getCollectCount() > 0); + s.setShopnum(s.getShopnum() == null ? 0 : s.getShopnum()); + + if(s.getSales() != null && s.getRealSales() != null){ + s.setSales(s.getSales() + s.getRealSales()); + } + } + } } public Page<FlowerShowListDTO> myBrowseHistory(Page page, FlowerShowQueryDTO dto) { @@ -621,6 +643,8 @@ }*/ dto.setParamId(paramService.getParamIdByCategoryId(dto.getCategory())); List<FlowerShowListDTO> flowerShowListDTOS = flowerMapper.myBrowseHistory(page, dto); + prepareShowList(flowerShowListDTOS); + page.setRecords(flowerShowListDTOS); return page; } @@ -629,7 +653,8 @@ if(dto.getZoneId()!=null && dto.getZoneId().size()>0){//添加专区 for (Long zoneId : dto.getZoneId()) { for(Long flowerId : dto.getIds()) { - FlowerZoneMap fzp = flowerZoneMapMapper.selectOne(new QueryWrapper<FlowerZoneMap>().eq("flower_id", flowerId).eq("zone_id", zoneId)); + FlowerZoneMap fzp = flowerZoneMapMapper.selectOne(new QueryWrapper<FlowerZoneMap>() + .eq("flower_id", flowerId).eq("zone_id", zoneId)); if(fzp==null){ fzp = new FlowerZoneMap(); fzp.setFlowerId(flowerId); -- Gitblit v1.9.3