修改耗材商品批量添加
This commit is contained in:
parent
01d7327be6
commit
f23fa44c57
|
|
@ -5,6 +5,7 @@ import cn.ysk.cashier.cons.domain.TbProskuCon;
|
|||
import cn.ysk.cashier.cons.service.TbProskuConService;
|
||||
import cn.ysk.cashier.cons.service.dto.ProskuInfo;
|
||||
import cn.ysk.cashier.cons.service.dto.TbProskuConQueryCriteria;
|
||||
import cn.ysk.cashier.exception.BadRequestException;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.http.HttpStatus;
|
||||
|
|
@ -13,6 +14,7 @@ import org.springframework.validation.annotation.Validated;
|
|||
import org.springframework.web.bind.annotation.*;
|
||||
import io.swagger.annotations.*;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
/**
|
||||
|
|
@ -44,8 +46,14 @@ public class TbProskuConController {
|
|||
@PostMapping
|
||||
@Log("新增商品规格耗材信息")
|
||||
@ApiOperation("新增商品规格耗材信息")
|
||||
public ResponseEntity<Object> createTbProskuCon(@Validated @RequestBody ProskuInfo resources) throws Exception {
|
||||
return new ResponseEntity<>(tbProskuConService.create(resources),HttpStatus.CREATED);
|
||||
public ResponseEntity<Object> createTbProskuCon(@Validated @RequestBody List<ProskuInfo> resources) throws Exception {
|
||||
try {
|
||||
return new ResponseEntity<>(tbProskuConService.create(resources),HttpStatus.CREATED);
|
||||
} catch (BadRequestException be) {
|
||||
throw new Exception(be.getMessage());
|
||||
}catch (Exception e){
|
||||
throw new Exception("系统异常");
|
||||
}
|
||||
}
|
||||
|
||||
@PutMapping
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ public interface TbProskuConService {
|
|||
* @param resources /
|
||||
* @return TbProskuConDto
|
||||
*/
|
||||
TbProskuConDto create(ProskuInfo resources) throws Exception;
|
||||
TbProskuConDto create(List<ProskuInfo> resources) throws Exception;
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ import cn.ysk.cashier.cons.domain.TbConsSuppFlow;
|
|||
import cn.ysk.cashier.cons.domain.TbProskuCon;
|
||||
import cn.ysk.cashier.cons.repository.TbConsInfoRepository;
|
||||
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.TbProductSku;
|
||||
import cn.ysk.cashier.repository.product.TbProductRepository;
|
||||
|
|
@ -70,65 +71,68 @@ public class TbProskuConServiceImpl implements TbProskuConService {
|
|||
|
||||
@Override
|
||||
@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(resource.getProductId());
|
||||
if(Objects.isNull(product)){
|
||||
throw new BadRequestException("对应的商品信息不存在");
|
||||
}
|
||||
|
||||
TbProduct product= tbProductRepository.getById(resources.getProductId());
|
||||
if(Objects.isNull(product)){
|
||||
throw new Exception("对应的商品信息不存在");
|
||||
}
|
||||
TbConsInfo tbConsInfo= tbConsInfoRepository.getById(resource.getConsInfoId());
|
||||
if(Objects.isNull(tbConsInfo)){
|
||||
throw new BadRequestException("对应的耗材信息不存在");
|
||||
}
|
||||
|
||||
TbConsInfo tbConsInfo= tbConsInfoRepository.getById(resources.getConsInfoId());
|
||||
if(Objects.isNull(tbConsInfo)){
|
||||
throw new Exception("对应的耗材信息不存在");
|
||||
}
|
||||
List<TbProskuCon> list=new ArrayList<>();
|
||||
if(product.getIsDistribute().intValue()==1){
|
||||
//查询商品对应的所有规格
|
||||
List<TbProductSku> skuList= tbProductSkuRepository.searchSku(product.getId().toString());
|
||||
if(Objects.nonNull(skuList)&&skuList.size()>0){
|
||||
for (TbProductSku tbProductSku : skuList) {
|
||||
int count=tbProskuConRepository.countByConInfoIdAndProductSkuIdAndShopId(resource.getConsInfoId(), tbProductSku.getId(), Integer.valueOf(tbProductSku.getShopId()), Integer.valueOf(tbProductSku.getProductId()));
|
||||
if(count<=0){
|
||||
TbProskuCon tbProskuCon=new TbProskuCon();
|
||||
|
||||
List<TbProskuCon> list=new ArrayList<>();
|
||||
if(product.getIsDistribute().intValue()==1){
|
||||
//查询商品对应的所有规格
|
||||
List<TbProductSku> skuList= tbProductSkuRepository.searchSku(product.getId().toString());
|
||||
if(Objects.nonNull(skuList)&&skuList.size()>0){
|
||||
for (TbProductSku tbProductSku : skuList) {
|
||||
int count=tbProskuConRepository.countByConInfoIdAndProductSkuIdAndShopId(resources.getConsInfoId(), tbProductSku.getId(), Integer.valueOf(tbProductSku.getShopId()), Integer.valueOf(tbProductSku.getProductId()));
|
||||
tbProskuCon.setShopId(Integer.valueOf(tbProductSku.getShopId()));
|
||||
tbProskuCon.setConInfoId(resource.getConsInfoId());
|
||||
tbProskuCon.setProductId(Integer.valueOf(tbProductSku.getProductId()));
|
||||
tbProskuCon.setProductSkuId(tbProductSku.getId());
|
||||
tbProskuCon.setSurplusStock(resource.getSurplusStock());
|
||||
tbProskuCon.setStatus("1");
|
||||
tbProskuCon.setCreateTime(new Timestamp(System.currentTimeMillis()));
|
||||
list.add(tbProskuCon);
|
||||
}else {
|
||||
throw new BadRequestException(product.getName().concat("对应的耗材信息已存在"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}else {
|
||||
for (ProskuInfo.SkuInfo skuInfo : resource.getSkuInfos()) {
|
||||
int count=tbProskuConRepository.countByConInfoIdAndProductSkuIdAndShopId(resource.getConsInfoId(), skuInfo.getSkuId(), skuInfo.getShopId(), resource.getProductId());
|
||||
if(count<=0){
|
||||
TbProskuCon tbProskuCon=new TbProskuCon();
|
||||
|
||||
tbProskuCon.setShopId(Integer.valueOf(tbProductSku.getShopId()));
|
||||
tbProskuCon.setConInfoId(resources.getConsInfoId());
|
||||
tbProskuCon.setProductId(Integer.valueOf(tbProductSku.getProductId()));
|
||||
tbProskuCon.setProductSkuId(tbProductSku.getId());
|
||||
tbProskuCon.setSurplusStock(resources.getSurplusStock());
|
||||
tbProskuCon.setShopId(Integer.valueOf(skuInfo.getShopId()));
|
||||
tbProskuCon.setConInfoId(skuInfo.getConInfoId());
|
||||
tbProskuCon.setProductId(resource.getProductId());
|
||||
tbProskuCon.setProductSkuId(skuInfo.getSkuId());
|
||||
tbProskuCon.setSurplusStock(skuInfo.getSurplusStock());
|
||||
tbProskuCon.setStatus("1");
|
||||
tbProskuCon.setCreateTime(new Timestamp(System.currentTimeMillis()));
|
||||
list.add(tbProskuCon);
|
||||
}else {
|
||||
throw new Exception(product.getName().concat("对应的耗材信息已存在"));
|
||||
TbProductSku sku= tbProductSkuRepository.getById(skuInfo.getSkuId());
|
||||
throw new BadRequestException(product.getName().concat("商品对应的").concat(Objects.nonNull(sku.getSpecSnap())?sku.getSpecSnap():"").concat("规格已存在"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}else {
|
||||
for (ProskuInfo.SkuInfo skuInfo : resources.getSkuInfos()) {
|
||||
int count=tbProskuConRepository.countByConInfoIdAndProductSkuIdAndShopId(resources.getConsInfoId(), skuInfo.getSkuId(), skuInfo.getShopId(), resources.getProductId());
|
||||
if(count<=0){
|
||||
TbProskuCon tbProskuCon=new TbProskuCon();
|
||||
tbProskuCon.setShopId(Integer.valueOf(skuInfo.getShopId()));
|
||||
tbProskuCon.setConInfoId(skuInfo.getConInfoId());
|
||||
tbProskuCon.setProductId(resources.getProductId());
|
||||
tbProskuCon.setProductSkuId(skuInfo.getSkuId());
|
||||
tbProskuCon.setSurplusStock(skuInfo.getSurplusStock());
|
||||
tbProskuCon.setStatus("1");
|
||||
tbProskuCon.setCreateTime(new Timestamp(System.currentTimeMillis()));
|
||||
list.add(tbProskuCon);
|
||||
}else {
|
||||
TbProductSku sku= tbProductSkuRepository.getById(skuInfo.getSkuId());
|
||||
throw new Exception(product.getName().concat("商品对应的").concat(Objects.nonNull(sku.getSpecSnap())?sku.getSpecSnap():"").concat("规格已存在"));
|
||||
}
|
||||
}
|
||||
if(Objects.nonNull(list)&&list.size()>0){
|
||||
tbProskuConRepository.saveAll(list);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
if(Objects.nonNull(list)&&list.size()>0){
|
||||
tbProskuConRepository.saveAll(list);
|
||||
}
|
||||
return new TbProskuConDto();
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue