Merge remote-tracking branch 'origin/test' into test

This commit is contained in:
SongZhang 2024-10-08 17:15:55 +08:00
commit eb6e8845a0
6 changed files with 44 additions and 21 deletions

View File

@ -66,9 +66,8 @@ public class TbProskuConController {
tbProskuConService.upV2(resources);
return new ResponseEntity<>(HttpStatus.CREATED);
} catch (BadRequestException be) {
throw new Exception(be.getMessage());
throw new BadRequestException(be.getMessage());
}catch (Exception e){
e.printStackTrace();
throw new Exception(e.getMessage());
}
}

View File

@ -198,29 +198,28 @@ public class TbProskuConServiceImpl implements TbProskuConService {
}
TbProductSku sku = null;
if (resource.getProductSkuId() != 0) {
sku = tbProductSkuRepository.findById(resource.getProductSkuId()).orElseGet(TbProductSku::new);
sku = tbProductSkuRepository.findById(resource.getProductSkuId()).orElseGet(TbProductSku::new);
if (ObjectUtil.isNull(sku) || ObjectUtil.isNull(sku.getId())) {
throw new BadRequestException("规格信息不存在");
}
}
TbProskuCon tbConsInfo1 = new TbProskuCon();
if (resource.getId() == null) {
int count = tbProskuConRepository.countByConInfoIdAndProductSkuIdAndShopId(resource.getConInfoId(), resource.getProductSkuId(), resource.getShopId(), resource.getProductId());
if (count <= 0) {
BeanUtil.copyProperties(resource, tbConsInfo1, CopyOptions.create().setIgnoreNullValue(true));
newCons.add(tbConsInfo1);
} else {
StringBuilder strResult = new StringBuilder(product.getName());
if (sku != null) {
strResult.append(" 规格" + sku.getSpecSnap());
}
strResult.append("与耗材 " + tbConsInfo.getConName() + " 的对应关系已存在");
throw new BadRequestException(product.getName().concat("对应的").concat(Objects.nonNull(sku.getSpecSnap())?sku.getSpecSnap():"").concat("规格已存在"));
}
}else {
BeanUtil.copyProperties(resource,tbConsInfo1, CopyOptions.create().setIgnoreNullValue(true));
int count = tbProskuConRepository.countByConInfoIdAndProductSkuIdAndShopId(resource.getConInfoId(), resource.getProductSkuId(), resource.getShopId(), resource.getProductId());
if (count <= 0) {
BeanUtil.copyProperties(resource, tbConsInfo1, CopyOptions.create().setIgnoreNullValue(true));
newCons.add(tbConsInfo1);
} else {
StringBuilder strResult = new StringBuilder(product.getName());
if (sku != null) {
strResult.append(" 规格" + sku.getSpecSnap());
}
strResult.append("与耗材 " + tbConsInfo.getConName() + " 的对应关系已存在");
throw new BadRequestException(strResult.toString());
}
BeanUtil.copyProperties(resource, tbConsInfo1, CopyOptions.create().setIgnoreNullValue(true));
newCons.add(tbConsInfo1);
}
if (!CollectionUtils.isEmpty(newCons)) {
tbProskuConRepository.saveAll(newCons);

View File

@ -1,6 +1,7 @@
package cn.ysk.cashier.controller.product;
import cn.hutool.core.util.StrUtil;
import cn.ysk.cashier.annotation.Log;
import cn.ysk.cashier.exception.BadRequestException;
import cn.ysk.cashier.service.product.StockService;
import cn.ysk.cashier.utils.JSONUtil;
@ -36,6 +37,7 @@ public class StockController {
@PutMapping("warnLine")
@ApiOperation("修改商品警告线")
@Log("修改商品警告值为:#stockUpdateWarnLineVO.warnLine")
public ResponseEntity<Object> updateProductWarnLine(@RequestBody StockUpdateWarnLineVO stockUpdateWarnLineVO) {
if (StrUtil.isBlank(stockUpdateWarnLineVO.getShopId()) || stockUpdateWarnLineVO.getWarnLine() == null || stockUpdateWarnLineVO.getWarnLine() <= 0) {
throw new BadRequestException("参数有误");

View File

@ -35,9 +35,9 @@ public class TbProductController {
return new ResponseEntity<>(tbProductService.queryAll(criteria, false),HttpStatus.OK);
}
@GetMapping("/list/v2")
@PostMapping("/list/v2")
@ApiOperation("查询商品列表 新")
public ResponseEntity<Object> queryTbProductV2(TbProductQueryV2Criteria criteria, Pageable pageable){
public ResponseEntity<Object> queryTbProductV2(@RequestBody TbProductQueryV2Criteria criteria, Pageable pageable){
return new ResponseEntity<>(tbProductService.queryAllV2(criteria,pageable),HttpStatus.OK);
}

View File

@ -2,6 +2,7 @@ package cn.ysk.cashier.dto.product;
import cn.ysk.cashier.dto.BaseQueryDto;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
/**
* @website https://eladmin.vip
@ -20,4 +21,22 @@ public class TbProductStockCountQueryCriteria extends BaseQueryDto {
private Integer page = 0;
private Integer size = 10;
public void setProductId(String productId) {
if (StringUtils.isNotBlank(productId)) {
this.productId = productId;
}
}
public void setProductName(String productName) {
if (StringUtils.isNotBlank(productName)) {
this.productName = productName;
}
}
public void setCategoryId(String categoryId) {
if (StringUtils.isNotBlank(categoryId)) {
this.categoryId = categoryId;
}
}
}

View File

@ -244,9 +244,11 @@ public class TbProductServiceImpl implements TbProductService {
public Map<String, Object> queryAllV2(TbProductQueryV2Criteria criteria,Pageable pageable) {
//查询商品数据
Page<TbProduct> page = tbProductRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder), pageable);
Integer warnLine = 0;
List<TbProductNewVo> products = new ArrayList<>();
for (TbProduct product : page.getContent()) {
TbProductNewVo productNewVo = new TbProductNewVo();
warnLine = product.getWarnLine();
BeanUtils.copyProperties(product, productNewVo);
productNewVo.setLowPrice(product.getLowPrice().toString());
productNewVo.setStockNumber(Double.valueOf(product.getStockNumber()));
@ -274,7 +276,9 @@ public class TbProductServiceImpl implements TbProductService {
productNewVo.setConInfos(CollectionUtils.isEmpty(skuCons)?Arrays.asList():skuCons);
products.add(productNewVo);
}
return PageUtil.toPage(products, page.getTotalElements());
Map<String, Object> result = PageUtil.toPage(products, page.getTotalElements());
result.put("warnLine",warnLine);
return result;
}
public List<TbProductNewVo.TbProductSkuVos> convert(List<TbProductSku> skuVo1List) {