From b9903ead016b8b1aa68eb04b48fca3b53fdab0d3 Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期一, 30 十二月 2024 10:42:43 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master-v4' into master-v4
---
src/main/java/com/mzl/flower/service/flower/FlowerService.java | 101 +++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 82 insertions(+), 19 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 d7b2ea7..969b72d 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;
@@ -214,6 +215,7 @@
} else {
g.setPrice(dto.getPrice());
g.setStock(dto.getStock());
+ g.setLimited(dto.getLimited());
}
g.update(SecurityUtils.getUserId());
@@ -245,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);
@@ -406,8 +419,6 @@
dto.setZoneName(String.join(",", zoneNameLs));
}
- //TODO 合伙人加价列表
-
return dto;
}
@@ -465,6 +476,16 @@
public void deleteFlower(Long id){
final Flower flower = flowerMapper.selectById(id);
+ if(flower == null){
+ throw new ValidationException("商品未找到");
+ }
+ if (flower.getStatus().equals(Constants.FLOWER_STATUS.UP.name())) {
+ throw new ValidationException("上架商品无法删除");
+ }
+
+ if (flower.getStatus().equals(Constants.FLOWER_STATUS.PENDING.name())) {
+ throw new ValidationException("待审核商品无法删除");
+ }
flowerMapper.deleteById(id);
@@ -552,20 +573,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);
@@ -592,10 +600,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)) {
@@ -688,16 +700,42 @@
public Page<FlowerShowListDTO> myCollect(Page page, FlowerShowQueryDTO dto) {
dto.setUserId(SecurityUtils.getUserId());
if (StringUtils.isNotEmpty(dto.getColumn())) {
- if(dto.getColumn().contains("sales")
- || dto.getColumn().contains("stock")){
+ if(dto.getColumn().contains("stock")){
dto.setColumn(dto.getColumn() + " desc");
+ } else if (dto.getColumn().contains("sales")) {
+ dto.setColumn("ifnull(sales, 0) + ifnull(real_sales, 0) 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) {
@@ -711,6 +749,8 @@
}*/
dto.setParamId(paramService.getParamIdByCategoryId(dto.getCategory()));
List<FlowerShowListDTO> flowerShowListDTOS = flowerMapper.myBrowseHistory(page, dto);
+ prepareShowList(flowerShowListDTOS);
+
page.setRecords(flowerShowListDTOS);
return page;
}
@@ -719,7 +759,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);
@@ -854,5 +895,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