From 11c95afd1e44bcd3d70dbcf77e790596ec80a53e Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期二, 24 九月 2024 18:54:59 +0800
Subject: [PATCH] fix: 剔除加价限制条件
---
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