From 35309b932b738d5a8537e53207d28004a8da0f89 Mon Sep 17 00:00:00 2001 From: gongzuming <gongzuming> Date: 星期五, 20 九月 2024 17:17:04 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master-v2' --- src/main/java/com/mzl/flower/service/flower/FlowerService.java | 95 +++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 78 insertions(+), 17 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 73ab692..9cc9169 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; @@ -138,10 +139,13 @@ } try{ + flowerMapper.updateTypeRankNull(flower.getCategory(),flower.getLevel()); + QueryWrapper<Flower> queryWrapper=new QueryWrapper<>(); queryWrapper.lambda().eq(Flower::getDeleted,false) .eq(Objects.nonNull(flower.getCategory()),Flower::getCategory,flower.getCategory()) .eq(StringUtils.isNotEmpty(flower.getLevel()),Flower::getLevel,flower.getLevel()) + .eq(Flower::getStatus,"UP") .orderByAsc(Flower::getPrice); final List<Flower> flowerList = flowerMapper.selectList(queryWrapper); @@ -211,6 +215,7 @@ } else { g.setPrice(dto.getPrice()); g.setStock(dto.getStock()); + g.setLimited(dto.getLimited()); } g.update(SecurityUtils.getUserId()); @@ -242,6 +247,17 @@ public Long editFlowerAdmin(FlowerUpdateAdminDTO dto){ Flower g = flowerMapper.selectById(dto.getId()); g.setSales(dto.getSales()); + if (!org.springframework.util.StringUtils.isEmpty(dto.getLimited())) { + if (g.getStock() == 0 || org.springframework.util.StringUtils.isEmpty(g.getStock())) { + throw new ValidationException("库存为0或者空时不能修改限购数量"); + } + if(g.getStock()<dto.getLimited()){ + throw new ValidationException("限购数量不能大于库存"); + } + g.setLimited(dto.getLimited()); + }else{ + g.setLimited(null); + } g.update(SecurityUtils.getUserId()); flowerMapper.updateById(g); @@ -403,8 +419,6 @@ dto.setZoneName(String.join(",", zoneNameLs)); } - //TODO 合伙人加价列表 - return dto; } @@ -454,11 +468,17 @@ //清除购物车商品 cartMapper.delete(new QueryWrapper<Cart>().eq("flower_id", id)); } + + //更新排名 + updateFlowTypeRank(null,f.getCategory(),f.getLevel()); } public void deleteFlower(Long id){ final Flower flower = flowerMapper.selectById(id); + if(flower == null){ + throw new ValidationException("商品未找到"); + } flowerMapper.deleteById(id); @@ -546,20 +566,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); @@ -586,10 +593,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() , dto.getId(), dto.getPrice(), dto.getLevel()); dto.setPrice(price); + dto.setPriceMember(calculateMemberPrice(price, member)); String userId = SecurityUtils.getUserId(); if(StringUtils.isNotEmpty(userId)) { @@ -690,8 +701,33 @@ 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) { @@ -705,6 +741,8 @@ }*/ dto.setParamId(paramService.getParamIdByCategoryId(dto.getCategory())); List<FlowerShowListDTO> flowerShowListDTOS = flowerMapper.myBrowseHistory(page, dto); + prepareShowList(flowerShowListDTOS); + page.setRecords(flowerShowListDTOS); return page; } @@ -713,7 +751,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); @@ -848,5 +887,27 @@ return flowerDeleteDO; } + public void setFlowersLimited(FlowerLimitedDTO dto) { + List<Long> ids = dto.getIds(); + if (ids == null || ids.size() == 0) { + throw new ValidationException("请选择商品"); + } + for (Long id : ids) { + Flower f = flowerMapper.selectById(id); + if (!org.springframework.util.StringUtils.isEmpty(dto.getLimited())) { + if (f.getStock() == 0 || org.springframework.util.StringUtils.isEmpty(f.getStock())) { + throw new ValidationException("商品" + f.getName() + "库存为0或者空时不能修改限购数量"); + } + if(f.getStock()<dto.getLimited()){ + throw new ValidationException("商品" + f.getName() + "限购数量不能大于库存"); + } + f.setLimited(dto.getLimited()); + }else{ + f.setLimited(null); + } + flowerMapper.updateById(f); + } + } + } -- Gitblit v1.9.3