修改耗材商品批量添加

This commit is contained in:
韩鹏辉
2024-07-10 11:08:10 +08:00
parent 01d7327be6
commit f23fa44c57
3 changed files with 60 additions and 48 deletions

View File

@@ -5,6 +5,7 @@ import cn.ysk.cashier.cons.domain.TbProskuCon;
import cn.ysk.cashier.cons.service.TbProskuConService; import cn.ysk.cashier.cons.service.TbProskuConService;
import cn.ysk.cashier.cons.service.dto.ProskuInfo; import cn.ysk.cashier.cons.service.dto.ProskuInfo;
import cn.ysk.cashier.cons.service.dto.TbProskuConQueryCriteria; import cn.ysk.cashier.cons.service.dto.TbProskuConQueryCriteria;
import cn.ysk.cashier.exception.BadRequestException;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
@@ -13,6 +14,7 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import io.swagger.annotations.*; import io.swagger.annotations.*;
import java.io.IOException; import java.io.IOException;
import java.util.List;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
/** /**
@@ -44,8 +46,14 @@ public class TbProskuConController {
@PostMapping @PostMapping
@Log("新增商品规格耗材信息") @Log("新增商品规格耗材信息")
@ApiOperation("新增商品规格耗材信息") @ApiOperation("新增商品规格耗材信息")
public ResponseEntity<Object> createTbProskuCon(@Validated @RequestBody ProskuInfo resources) throws Exception { public ResponseEntity<Object> createTbProskuCon(@Validated @RequestBody List<ProskuInfo> resources) throws Exception {
try {
return new ResponseEntity<>(tbProskuConService.create(resources),HttpStatus.CREATED); return new ResponseEntity<>(tbProskuConService.create(resources),HttpStatus.CREATED);
} catch (BadRequestException be) {
throw new Exception(be.getMessage());
}catch (Exception e){
throw new Exception("系统异常");
}
} }
@PutMapping @PutMapping

View File

@@ -43,7 +43,7 @@ public interface TbProskuConService {
* @param resources / * @param resources /
* @return TbProskuConDto * @return TbProskuConDto
*/ */
TbProskuConDto create(ProskuInfo resources) throws Exception; TbProskuConDto create(List<ProskuInfo> resources) throws Exception;
/** /**
* 编辑 * 编辑

View File

@@ -6,6 +6,7 @@ import cn.ysk.cashier.cons.domain.TbConsSuppFlow;
import cn.ysk.cashier.cons.domain.TbProskuCon; import cn.ysk.cashier.cons.domain.TbProskuCon;
import cn.ysk.cashier.cons.repository.TbConsInfoRepository; import cn.ysk.cashier.cons.repository.TbConsInfoRepository;
import cn.ysk.cashier.cons.service.dto.ProskuInfo; import cn.ysk.cashier.cons.service.dto.ProskuInfo;
import cn.ysk.cashier.exception.BadRequestException;
import cn.ysk.cashier.pojo.product.TbProduct; import cn.ysk.cashier.pojo.product.TbProduct;
import cn.ysk.cashier.pojo.product.TbProductSku; import cn.ysk.cashier.pojo.product.TbProductSku;
import cn.ysk.cashier.repository.product.TbProductRepository; import cn.ysk.cashier.repository.product.TbProductRepository;
@@ -70,16 +71,16 @@ public class TbProskuConServiceImpl implements TbProskuConService {
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public TbProskuConDto create(ProskuInfo resources) throws Exception { public TbProskuConDto create(List<ProskuInfo> resources) throws BadRequestException,Exception {
for (ProskuInfo resource : resources) {
TbProduct product= tbProductRepository.getById(resources.getProductId()); TbProduct product= tbProductRepository.getById(resource.getProductId());
if(Objects.isNull(product)){ if(Objects.isNull(product)){
throw new Exception("对应的商品信息不存在"); throw new BadRequestException("对应的商品信息不存在");
} }
TbConsInfo tbConsInfo= tbConsInfoRepository.getById(resources.getConsInfoId()); TbConsInfo tbConsInfo= tbConsInfoRepository.getById(resource.getConsInfoId());
if(Objects.isNull(tbConsInfo)){ if(Objects.isNull(tbConsInfo)){
throw new Exception("对应的耗材信息不存在"); throw new BadRequestException("对应的耗材信息不存在");
} }
List<TbProskuCon> list=new ArrayList<>(); List<TbProskuCon> list=new ArrayList<>();
@@ -88,32 +89,32 @@ public class TbProskuConServiceImpl implements TbProskuConService {
List<TbProductSku> skuList= tbProductSkuRepository.searchSku(product.getId().toString()); List<TbProductSku> skuList= tbProductSkuRepository.searchSku(product.getId().toString());
if(Objects.nonNull(skuList)&&skuList.size()>0){ if(Objects.nonNull(skuList)&&skuList.size()>0){
for (TbProductSku tbProductSku : skuList) { for (TbProductSku tbProductSku : skuList) {
int count=tbProskuConRepository.countByConInfoIdAndProductSkuIdAndShopId(resources.getConsInfoId(), tbProductSku.getId(), Integer.valueOf(tbProductSku.getShopId()), Integer.valueOf(tbProductSku.getProductId())); int count=tbProskuConRepository.countByConInfoIdAndProductSkuIdAndShopId(resource.getConsInfoId(), tbProductSku.getId(), Integer.valueOf(tbProductSku.getShopId()), Integer.valueOf(tbProductSku.getProductId()));
if(count<=0){ if(count<=0){
TbProskuCon tbProskuCon=new TbProskuCon(); TbProskuCon tbProskuCon=new TbProskuCon();
tbProskuCon.setShopId(Integer.valueOf(tbProductSku.getShopId())); tbProskuCon.setShopId(Integer.valueOf(tbProductSku.getShopId()));
tbProskuCon.setConInfoId(resources.getConsInfoId()); tbProskuCon.setConInfoId(resource.getConsInfoId());
tbProskuCon.setProductId(Integer.valueOf(tbProductSku.getProductId())); tbProskuCon.setProductId(Integer.valueOf(tbProductSku.getProductId()));
tbProskuCon.setProductSkuId(tbProductSku.getId()); tbProskuCon.setProductSkuId(tbProductSku.getId());
tbProskuCon.setSurplusStock(resources.getSurplusStock()); tbProskuCon.setSurplusStock(resource.getSurplusStock());
tbProskuCon.setStatus("1"); tbProskuCon.setStatus("1");
tbProskuCon.setCreateTime(new Timestamp(System.currentTimeMillis())); tbProskuCon.setCreateTime(new Timestamp(System.currentTimeMillis()));
list.add(tbProskuCon); list.add(tbProskuCon);
}else { }else {
throw new Exception(product.getName().concat("对应的耗材信息已存在")); throw new BadRequestException(product.getName().concat("对应的耗材信息已存在"));
} }
} }
} }
}else { }else {
for (ProskuInfo.SkuInfo skuInfo : resources.getSkuInfos()) { for (ProskuInfo.SkuInfo skuInfo : resource.getSkuInfos()) {
int count=tbProskuConRepository.countByConInfoIdAndProductSkuIdAndShopId(resources.getConsInfoId(), skuInfo.getSkuId(), skuInfo.getShopId(), resources.getProductId()); int count=tbProskuConRepository.countByConInfoIdAndProductSkuIdAndShopId(resource.getConsInfoId(), skuInfo.getSkuId(), skuInfo.getShopId(), resource.getProductId());
if(count<=0){ if(count<=0){
TbProskuCon tbProskuCon=new TbProskuCon(); TbProskuCon tbProskuCon=new TbProskuCon();
tbProskuCon.setShopId(Integer.valueOf(skuInfo.getShopId())); tbProskuCon.setShopId(Integer.valueOf(skuInfo.getShopId()));
tbProskuCon.setConInfoId(skuInfo.getConInfoId()); tbProskuCon.setConInfoId(skuInfo.getConInfoId());
tbProskuCon.setProductId(resources.getProductId()); tbProskuCon.setProductId(resource.getProductId());
tbProskuCon.setProductSkuId(skuInfo.getSkuId()); tbProskuCon.setProductSkuId(skuInfo.getSkuId());
tbProskuCon.setSurplusStock(skuInfo.getSurplusStock()); tbProskuCon.setSurplusStock(skuInfo.getSurplusStock());
tbProskuCon.setStatus("1"); tbProskuCon.setStatus("1");
@@ -121,7 +122,7 @@ public class TbProskuConServiceImpl implements TbProskuConService {
list.add(tbProskuCon); list.add(tbProskuCon);
}else { }else {
TbProductSku sku= tbProductSkuRepository.getById(skuInfo.getSkuId()); TbProductSku sku= tbProductSkuRepository.getById(skuInfo.getSkuId());
throw new Exception(product.getName().concat("商品对应的").concat(Objects.nonNull(sku.getSpecSnap())?sku.getSpecSnap():"").concat("规格已存在")); throw new BadRequestException(product.getName().concat("商品对应的").concat(Objects.nonNull(sku.getSpecSnap())?sku.getSpecSnap():"").concat("规格已存在"));
} }
} }
@@ -129,6 +130,9 @@ public class TbProskuConServiceImpl implements TbProskuConService {
if(Objects.nonNull(list)&&list.size()>0){ if(Objects.nonNull(list)&&list.size()>0){
tbProskuConRepository.saveAll(list); tbProskuConRepository.saveAll(list);
} }
}
return new TbProskuConDto(); return new TbProskuConDto();
} }