|
|
@@ -2,12 +2,15 @@ package org.springblade.purchase.sales.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import io.seata.common.util.CollectionUtils;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import org.springblade.core.secure.utils.AuthUtil;
|
|
|
import org.springblade.core.secure.utils.SecureUtil;
|
|
|
+import org.springblade.core.tool.utils.StringUtil;
|
|
|
import org.springblade.purchase.sales.entity.Biding;
|
|
|
import org.springblade.purchase.sales.entity.BidingItems;
|
|
|
import org.springblade.purchase.sales.mapper.BidingItemsMapper;
|
|
|
+import org.springblade.purchase.sales.mapper.BidingMapper;
|
|
|
import org.springblade.purchase.sales.service.IBidingItemsService;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
@@ -25,6 +28,7 @@ import java.util.List;
|
|
|
@AllArgsConstructor
|
|
|
public class BidingItemsServiceImpl extends ServiceImpl<BidingItemsMapper, BidingItems> implements IBidingItemsService {
|
|
|
|
|
|
+ private final BidingMapper bidingMapper;
|
|
|
|
|
|
/**
|
|
|
* 保存订单明细信息
|
|
|
@@ -75,6 +79,47 @@ public class BidingItemsServiceImpl extends ServiceImpl<BidingItemsMapper, Bidin
|
|
|
return list;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 删除订单明细
|
|
|
+ * @param bidingItems
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+
|
|
|
+ public void updateItems(BidingItems bidingItems){
|
|
|
+ BidingItems items = baseMapper.selectById(bidingItems.getId());
|
|
|
+ //明细不存在
|
|
|
+ if (items == null){
|
|
|
+ throw new SecurityException("数据异常");
|
|
|
+ }
|
|
|
+
|
|
|
+ //删除数据
|
|
|
+ items.setIsDeleted(1);
|
|
|
+ baseMapper.updateById(items);
|
|
|
+
|
|
|
+ //修改主表箱型箱量字段
|
|
|
+ LambdaQueryWrapper<BidingItems> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ lambdaQueryWrapper.eq(BidingItems::getTenantId, AuthUtil.getTenantId());
|
|
|
+ lambdaQueryWrapper.eq(BidingItems::getIsDeleted, 0);
|
|
|
+ lambdaQueryWrapper.eq(BidingItems::getPid, items.getPid());
|
|
|
+ List<BidingItems> list = baseMapper.selectList(lambdaQueryWrapper);
|
|
|
+ StringBuilder boxTypeQuantity = new StringBuilder();
|
|
|
+ Biding biding = new Biding();
|
|
|
+ biding.setId(items.getId());
|
|
|
+ if (CollectionUtils.isNotEmpty(list)){
|
|
|
+ list.forEach(e -> {
|
|
|
+ if (StringUtil.isNotBlank(e.getBoxType())){
|
|
|
+ boxTypeQuantity.append(e.getBoxType()).append("*").append(e.getBoxAmount()).append(",");
|
|
|
+ }
|
|
|
+ });
|
|
|
+ biding.setBoxTypeQuantity(boxTypeQuantity.toString().substring(0, boxTypeQuantity.toString().length() - 1));
|
|
|
+ }else {
|
|
|
+ biding.setBoxTypeQuantity("");
|
|
|
+ }
|
|
|
+
|
|
|
+ bidingMapper.updateById(biding);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public void updateByPid(Long id) {
|
|
|
baseMapper.updateByPid(id);
|