Browse Source

BUG修改。

cangku
wangfukang 2 years ago
parent
commit
38ef15632e
  1. 6
      hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/ProductCategoryController.java
  2. 9
      hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/PurchaseController.java
  3. 42
      hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/SaleController.java
  4. 9
      hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/mapper/ProductMapper.java
  5. 6
      hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/query/SalePageQuery.java
  6. 9
      hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/mybatis/ProductService.java
  7. 4
      hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/mybatis/SaleService.java
  8. 12
      hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/ProductServiceImpl.java
  9. 176
      hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/SaleServiceImpl.java
  10. 60
      hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/utils/AliOcrUtil.java
  11. 6
      hiver-modules/hiver-mall/src/main/resources/mapper/ProductMapper.xml
  12. 2
      hiver-modules/hiver-mall/src/main/resources/mapper/PurchaseMapper.xml
  13. 6
      hiver-modules/hiver-mall/src/main/resources/mapper/SaleMapper.xml

6
hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/ProductCategoryController.java

@ -6,6 +6,7 @@ import cc.hiver.core.common.vo.Result;
import cc.hiver.mall.entity.ProductCategory;
import cc.hiver.mall.pojo.vo.ProductCategoryVo;
import cc.hiver.mall.service.mybatis.ProductCategoryService;
import cc.hiver.mall.service.mybatis.ProductService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -30,6 +31,9 @@ public class ProductCategoryController {
@Autowired
private ProductCategoryService productCategoryService;
@Autowired
private ProductService productService;
@Autowired
private SecurityUtil securityUtil;
@ -65,6 +69,8 @@ public class ProductCategoryController {
@ApiOperation(value = "根据id删除货品类别")
public Result delete(ProductCategory productCategory) {
boolean result = productCategoryService.removeById(productCategory);
// 将该分类下的商品id删除掉
productService.deleteProductByCategoryId(productCategory.getId());
if (result) {
return ResultUtil.success("删除成功");
} else {

9
hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/PurchaseController.java

@ -92,12 +92,9 @@ public class PurchaseController {
public Result delete(Purchase purchase) {
final boolean result = purchaseService.removeById(purchase);
if (result) {
final QueryWrapper<PurchaseDetail> deleteWrapper = new QueryWrapper<>();
deleteWrapper.eq("purchase_id", purchase.getId());
final boolean removeBatchByIds = purchaseDetailService.remove(deleteWrapper);
if (removeBatchByIds) {
return ResultUtil.success("删除成功");
}
// 删除采购单明细
purchaseDetailService.deleteByPurchaseId(purchase.getId());
return ResultUtil.error("删除成功!");
}
return ResultUtil.error("删除失败");
}

42
hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/SaleController.java

@ -24,6 +24,7 @@ import cc.hiver.mall.service.*;
import cc.hiver.mall.service.mybatis.*;
import cc.hiver.mall.utils.DateUtil;
import cn.hutool.core.text.CharSequenceUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
@ -806,6 +807,42 @@ public class SaleController {
orderXd.setWorker(null);
orderXd.setOrderStatus(status);
orderService.update(orderXd);
// 库存退回去
// 封装退货的信息
List<ReturnSaleDetailDTO> returnDetails = new ArrayList<>();
final QueryWrapper<SaleDetail> queryWrapper = new QueryWrapper<>();
queryWrapper.select("product_id")
.eq("sale_id", orderId)
.groupBy("product_id");
final List<String> list = saleDetailService.selectByCondition1(queryWrapper);
for (String productId : list) {
final QueryWrapper<SaleDetail> queryPWrapper = new QueryWrapper<>();
queryPWrapper.eq("sale_id", orderId).eq("product_id", productId);
final List<SaleDetail> saleDetailList = saleDetailService.list(queryPWrapper);
final List<SaleDetailQueryDTO> saleDetailQueryDTOS = new ArrayList<>();
final ReturnSaleDetailDTO returnSaleDetailDTO = new ReturnSaleDetailDTO();
for (SaleDetail saleDetail : saleDetailList) {
returnSaleDetailDTO.setProductId(productId);
returnSaleDetailDTO.setProductName(saleDetail.getProductName());
returnSaleDetailDTO.setUnit(saleDetail.getUnit());
returnSaleDetailDTO.setShopId(sale.getShopId());
returnSaleDetailDTO.setCategoryId(saleDetail.getCategoryId());
returnSaleDetailDTO.setSaleId(saleDetail.getSaleId());
returnSaleDetailDTO.setPrice(saleDetail.getPrice());
returnSaleDetailDTO.setWholesalePrice(saleDetail.getWholesalePrice());
returnSaleDetailDTO.setPurchasePrice(saleDetail.getPurchasePrice());
returnSaleDetailDTO.setDiscount(saleDetail.getDiscount());
returnSaleDetailDTO.setDiscountAmount(saleDetail.getDiscountAmount());
returnSaleDetailDTO.setRealPrice(saleDetail.getRealPrice());
final SaleDetailQueryDTO saleDetailQueryDTO = new SaleDetailQueryDTO();
saleDetailQueryDTO.setAttributeList(saleDetail.getAttributeList());
saleDetailQueryDTO.setProductCount(saleDetail.getProductCount());
saleDetailQueryDTOS.add(saleDetailQueryDTO);
}
returnSaleDetailDTO.setStockLogList1(saleDetailQueryDTOS);
returnDetails.add(returnSaleDetailDTO);
}
stockAndLogService.handleRetIncStockLog(returnDetails);
return ResultUtil.success("取消订单成功");
}
return ResultUtil.success();
@ -935,7 +972,8 @@ public class SaleController {
if (StringUtils.isEmpty(aiMsg)) {
ResultUtil.error("指令不能为空!");
}
final List<SaleDetailDTO> saleDetailDTOS = saleService.buyAi(aiMsg);
return new ResultUtil<List<SaleDetailDTO>>().setData(saleDetailDTOS);
final JSONObject jsonObject = saleService.buyAi(aiMsg);
return new ResultUtil<JSONObject>().setData(jsonObject);
}
}

9
hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/mapper/ProductMapper.java

@ -54,4 +54,13 @@ public interface ProductMapper extends BaseMapper<Product> {
CopyOnWriteArrayList<Product> getProductByProductSnList(@Param("productSnList") List<String> productSnList, @Param("shopId") String shopId);
CopyOnWriteArrayList<Product> getProductByProductNameList(@Param("productNameList") List<String> productNameList,@Param("shopId") String shopId);
/**
* 删除分类时根据分类id删除商品信息
*
* @param categoryId 分类id
* @author 王富康
* @date 2024/4/22
*/
void deleteProductByCategoryId(@Param("categoryId") String categoryId);
}

6
hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/pojo/query/SalePageQuery.java

@ -51,4 +51,10 @@ public class SalePageQuery extends HiverBasePageQuery {
@ApiModelProperty("订单状态")
private String status;
@ApiModelProperty("开始时间")
private String startDate;
@ApiModelProperty("结束时间")
private String endDate;
}

9
hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/mybatis/ProductService.java

@ -36,4 +36,13 @@ public interface ProductService extends IService<Product> {
Product getByIdOrBrcode(String id);
List<Product> getByBarcode(String barcode);
/**
* 删除分类时根据分类id删除商品信息
*
* @param categoryId 分类id
* @author 王富康
* @date 2024/4/22
*/
void deleteProductByCategoryId(String categoryId);
}

4
hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/mybatis/SaleService.java

@ -1,10 +1,10 @@
package cc.hiver.mall.service.mybatis;
import cc.hiver.mall.entity.Sale;
import cc.hiver.mall.pojo.dto.SaleDetailDTO;
import cc.hiver.mall.pojo.query.SalePageQuery;
import cc.hiver.mall.pojo.query.SalesRankingQueryCriteria;
import cc.hiver.mall.pojo.vo.*;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
@ -53,7 +53,7 @@ public interface SaleService extends IService<Sale> {
void buyAiSync(String aiMsg,String saleId);
List<SaleDetailDTO> buyAi(String aiMsg);
JSONObject buyAi(String aiMsg);
void updateAiFlag(String id, Integer status);

12
hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/ProductServiceImpl.java

@ -79,4 +79,16 @@ public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> impl
final String shopId = securityUtil.getShopId();
return baseMapper.getByBarcode(barcode,shopId);
}
/**
* 删除分类时根据分类id删除商品信息
*
* @param categoryId 分类id
* @author 王富康
* @date 2024/4/22
*/
@Override
public void deleteProductByCategoryId(String categoryId) {
baseMapper.deleteProductByCategoryId(categoryId);
}
}

176
hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/SaleServiceImpl.java

@ -36,6 +36,7 @@ import org.springframework.util.ObjectUtils;
import java.math.BigDecimal;
import java.util.*;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@ -493,6 +494,11 @@ public class SaleServiceImpl extends ServiceImpl<SaleMapper, Sale> implements Sa
@Override
public Page<SaleNoWorkerVO> getSaleByCompanyId(SalePageQuery salePageQuery) {
final Page<SaleNoWorkerVO> page = new Page<>(salePageQuery.getPageNum(), salePageQuery.getPageSize());
//结束时间-1天
if(StringUtils.isNotEmpty(salePageQuery.getEndDate())){
String endDate = DateUtil.addDay(salePageQuery.getEndDate(), 1);
salePageQuery.setEndDate(endDate);
}
final Page<SaleNoWorkerVO> saleNoWorkerVOPage = saleMapper.getSaleByCompanyId(page, salePageQuery);
return saleNoWorkerVOPage;
}
@ -554,10 +560,12 @@ public class SaleServiceImpl extends ServiceImpl<SaleMapper, Sale> implements Sa
}
@Override
public List<SaleDetailDTO> buyAi(String aiMsg) {
public JSONObject buyAi(String aiMsg) {
JSONObject returnJsonObject = new JSONObject();
// 叉转X 文本纠错 使用正则表达式替换单个或多个连续的“叉”字符
aiMsg = replaceAllX(aiMsg);
final List<SaleDetailDTO> saleDetailDTOS = new ArrayList<>();
final CopyOnWriteArrayList<String> aiNotRecognitionList = new CopyOnWriteArrayList<>();
// shopId从缓存中设置
final String shopId = securityUtil.getShopId();
try {
@ -595,6 +603,36 @@ public class SaleServiceImpl extends ServiceImpl<SaleMapper, Sale> implements Sa
final List<SaleDetailQueryDTO> saleDetailQueryDTOS = new ArrayList<>();
final String attributeList = object.getString("attributeList");
final JSONArray attributeListJsonArray = JSON.parseArray(attributeList);
// 获取商品分类及规格信息
final List<String> categoryIdList = new ArrayList<>();
categoryIdList.add(categoryId);
final List<ProductCategoryVo> shopCategory = productCategoryService.getShopCategory(categoryIdList);
final ProductCategoryVo productCategoryVo = shopCategory.get(0);
final List<ProductAttributeOfAddVo> productAttributeOfAddVos = productCategoryVo.getProductAttributeOfAddVos();
final Map<String, ProductAttributeOfAddVo> productAttributeOfAddVoMap = new HashMap<>();
for (ProductAttributeOfAddVo productAttributeOfAddVo : productAttributeOfAddVos) {
productAttributeOfAddVoMap.put(productAttributeOfAddVo.getAttributeName(), productAttributeOfAddVo);
}
//获取颜色及规格进行拼接
List<ProductAttributeValueVo> colorProductAttributeValueVoList = new ArrayList<>();
List<ProductAttributeValueVo> sizeProductAttributeValueVoList = new ArrayList<>();
if (productAttributeOfAddVoMap.containsKey("颜色")) {
colorProductAttributeValueVoList = productAttributeOfAddVoMap.get("颜色").getProductAttributeValueVoList();
}
// 将所有颜色放到一个集合中
final CopyOnWriteArrayList<String> colorList = new CopyOnWriteArrayList<>();
for (ProductAttributeValueVo productAttributeValueVo : colorProductAttributeValueVoList) {
colorList.add(productAttributeValueVo.getValue());
}
if (productAttributeOfAddVoMap.containsKey("尺码")) {
sizeProductAttributeValueVoList = productAttributeOfAddVoMap.get("尺码").getProductAttributeValueVoList();
}
// 将所有尺码放到一个集合中
final CopyOnWriteArrayList<String> sizeList = new CopyOnWriteArrayList<>();
for (ProductAttributeValueVo productAttributeValueVo : sizeProductAttributeValueVoList) {
sizeList.add(productAttributeValueVo.getValue());
}
for (int j = 0; j < attributeListJsonArray.size(); j++) {
final JSONObject attributeListObject = attributeListJsonArray.getJSONObject(j);
String color = attributeListObject.getString("color").toUpperCase();
@ -610,26 +648,8 @@ public class SaleServiceImpl extends ServiceImpl<SaleMapper, Sale> implements Sa
size += '码';
}
size = size.toUpperCase();
// if (color.contains("所有") && size.contains("所有")) {
if ("SYYS色".equals(color) && "SYCM码".equals(size)) {
final List<String> categoryIdList = new ArrayList<>();
categoryIdList.add(categoryId);
final List<ProductCategoryVo> shopCategory = productCategoryService.getShopCategory(categoryIdList);
final ProductCategoryVo productCategoryVo = shopCategory.get(0);
final List<ProductAttributeOfAddVo> productAttributeOfAddVos = productCategoryVo.getProductAttributeOfAddVos();
final Map<String, ProductAttributeOfAddVo> productAttributeOfAddVoMap = new HashMap<>();
for (ProductAttributeOfAddVo productAttributeOfAddVo : productAttributeOfAddVos) {
productAttributeOfAddVoMap.put(productAttributeOfAddVo.getAttributeName(), productAttributeOfAddVo);
}
//获取颜色及规格进行拼接
List<ProductAttributeValueVo> colorProductAttributeValueVoList = new ArrayList<>();
List<ProductAttributeValueVo> sizeProductAttributeValueVoList = new ArrayList<>();
if (productAttributeOfAddVoMap.containsKey("颜色")) {
colorProductAttributeValueVoList = productAttributeOfAddVoMap.get("颜色").getProductAttributeValueVoList();
}
if (productAttributeOfAddVoMap.containsKey("尺码")) {
sizeProductAttributeValueVoList = productAttributeOfAddVoMap.get("尺码").getProductAttributeValueVoList();
}
for (ProductAttributeValueVo productAttributeValueVo : colorProductAttributeValueVoList) {
for (ProductAttributeValueVo attributeValueVo : sizeProductAttributeValueVoList) {
final SaleDetailQueryDTO saleDetailQueryDTO = new SaleDetailQueryDTO();
@ -645,71 +665,75 @@ public class SaleServiceImpl extends ServiceImpl<SaleMapper, Sale> implements Sa
// 所有颜色,所有尺码
}
if ("SYYS色".equals(color)) {
// 所有颜色,固定尺码
final List<String> categoryIdList = new ArrayList<>();
categoryIdList.add(categoryId);
final List<ProductCategoryVo> shopCategory = productCategoryService.getShopCategory(categoryIdList);
final ProductCategoryVo productCategoryVo = shopCategory.get(0);
final List<ProductAttributeOfAddVo> productAttributeOfAddVos = productCategoryVo.getProductAttributeOfAddVos();
final Map<String, ProductAttributeOfAddVo> productAttributeOfAddVoMap = new HashMap<>();
for (ProductAttributeOfAddVo productAttributeOfAddVo : productAttributeOfAddVos) {
productAttributeOfAddVoMap.put(productAttributeOfAddVo.getAttributeName(), productAttributeOfAddVo);
}
//获取颜色及规格进行拼接
List<ProductAttributeValueVo> colorProductAttributeValueVoList = new ArrayList<>();
if (productAttributeOfAddVoMap.containsKey("颜色")) {
colorProductAttributeValueVoList = productAttributeOfAddVoMap.get("颜色").getProductAttributeValueVoList();
}
for (ProductAttributeValueVo productAttributeValueVo : colorProductAttributeValueVoList) {
final SaleDetailQueryDTO saleDetailQueryDTO = new SaleDetailQueryDTO();
final String attribute = "{\"颜色\":\"" + productAttributeValueVo.getValue() + "\",\"尺码\":\"" + size + "\"}";
saleDetailQueryDTO.setAttributeList(attribute);
saleDetailQueryDTO.setProductCount(productCount);
saleDetailQueryDTO.setStockCount(stockMap.getOrDefault(attribute, null));
saleDetailDTO.setProductCount(saleDetailDTO.getProductCount() + productCount);
saleDetailQueryDTOS.add(saleDetailQueryDTO);
if (sizeList.contains(size)) {
// 所有颜色,固定尺码
for (ProductAttributeValueVo productAttributeValueVo : colorProductAttributeValueVoList) {
final SaleDetailQueryDTO saleDetailQueryDTO = new SaleDetailQueryDTO();
final String attribute = "{\"颜色\":\"" + productAttributeValueVo.getValue() + "\",\"尺码\":\"" + size + "\"}";
saleDetailQueryDTO.setAttributeList(attribute);
saleDetailQueryDTO.setProductCount(productCount);
saleDetailQueryDTO.setStockCount(stockMap.getOrDefault(attribute, null));
saleDetailDTO.setProductCount(saleDetailDTO.getProductCount() + productCount);
saleDetailQueryDTOS.add(saleDetailQueryDTO);
}
} else {
final String msg = "商品:" + product.getProductName() + ",尺码:" + size + ",不存在";
aiNotRecognitionList.add(msg);
}
continue;
}
if ("SYCM码".equals(size)) {
// 所有尺码,固定颜色
final List<String> categoryIdList = new ArrayList<>();
categoryIdList.add(categoryId);
final List<ProductCategoryVo> shopCategory = productCategoryService.getShopCategory(categoryIdList);
final ProductCategoryVo productCategoryVo = shopCategory.get(0);
final List<ProductAttributeOfAddVo> productAttributeOfAddVos = productCategoryVo.getProductAttributeOfAddVos();
final Map<String, ProductAttributeOfAddVo> productAttributeOfAddVoMap = new HashMap<>();
for (ProductAttributeOfAddVo productAttributeOfAddVo : productAttributeOfAddVos) {
productAttributeOfAddVoMap.put(productAttributeOfAddVo.getAttributeName(), productAttributeOfAddVo);
}
//获取颜色及规格进行拼接
List<ProductAttributeValueVo> sizeProductAttributeValueVoList = new ArrayList<>();
if (productAttributeOfAddVoMap.containsKey("尺码")) {
sizeProductAttributeValueVoList = productAttributeOfAddVoMap.get("尺码").getProductAttributeValueVoList();
}
for (ProductAttributeValueVo attributeValueVo : sizeProductAttributeValueVoList) {
final SaleDetailQueryDTO saleDetailQueryDTO = new SaleDetailQueryDTO();
final String attribute = "{\"颜色\":\"" + color + "\",\"尺码\":\"" + attributeValueVo.getValue() + "\"}";
saleDetailQueryDTO.setAttributeList(attribute);
saleDetailQueryDTO.setProductCount(productCount);
saleDetailQueryDTO.setStockCount(stockMap.getOrDefault(attribute, null));
saleDetailDTO.setProductCount(saleDetailDTO.getProductCount() + productCount);
saleDetailQueryDTOS.add(saleDetailQueryDTO);
if (colorList.contains(color)) {
// 所有尺码,固定颜色
for (ProductAttributeValueVo attributeValueVo : sizeProductAttributeValueVoList) {
final SaleDetailQueryDTO saleDetailQueryDTO = new SaleDetailQueryDTO();
final String attribute = "{\"颜色\":\"" + color + "\",\"尺码\":\"" + attributeValueVo.getValue() + "\"}";
saleDetailQueryDTO.setAttributeList(attribute);
saleDetailQueryDTO.setProductCount(productCount);
saleDetailQueryDTO.setStockCount(stockMap.getOrDefault(attribute, null));
saleDetailDTO.setProductCount(saleDetailDTO.getProductCount() + productCount);
saleDetailQueryDTOS.add(saleDetailQueryDTO);
}
} else {
final String msg = "商品:" + product.getProductName() + ",颜色:" + color + ",不存在";
aiNotRecognitionList.add(msg);
}
continue;
}
// 不包含所有按照获取的拼接
final SaleDetailQueryDTO saleDetailQueryDTO = new SaleDetailQueryDTO();
final String attribute = "{\"颜色\":\"" + color + "\",\"尺码\":\"" + size + "\"}";
saleDetailQueryDTO.setAttributeList(attribute);
saleDetailQueryDTO.setProductCount(productCount);
saleDetailQueryDTO.setStockCount(stockMap.getOrDefault(attribute, null));
saleDetailDTO.setProductCount(saleDetailDTO.getProductCount() + productCount);
saleDetailQueryDTOS.add(saleDetailQueryDTO);
if (colorList.contains(color) && sizeList.contains(size)) {
// 不包含所有按照获取的拼接
final SaleDetailQueryDTO saleDetailQueryDTO = new SaleDetailQueryDTO();
final String attribute = "{\"颜色\":\"" + color + "\",\"尺码\":\"" + size + "\"}";
saleDetailQueryDTO.setAttributeList(attribute);
saleDetailQueryDTO.setProductCount(productCount);
saleDetailQueryDTO.setStockCount(stockMap.getOrDefault(attribute, null));
saleDetailDTO.setProductCount(saleDetailDTO.getProductCount() + productCount);
saleDetailQueryDTOS.add(saleDetailQueryDTO);
} else {
// 封装颜色和尺码可能不存在的情况封装到返回结果中去
if (!colorList.contains(color) && !sizeList.contains(size)) {
// 颜色和尺码都不存在
final String msg = "商品:" + product.getProductName() + ",颜色:" + color + ",尺码:" + size + ",颜色及尺码都不存在";
aiNotRecognitionList.add(msg);
} else if (!colorList.contains(color)) {
// 颜色不存在
final String msg = "商品:" + product.getProductName() + ",颜色:" + color + ",不存在";
aiNotRecognitionList.add(msg);
} else if (!sizeList.contains(size)) {
final String msg = "商品:" + product.getProductName() + ",尺码:" + size + ",不存在";
aiNotRecognitionList.add(msg);
}
}
}
saleDetailDTO.setStockLogList1(saleDetailQueryDTOS);
saleDetailDTOS.add(saleDetailDTO);
} else {
// 没查到去找下一个
final String msg = "货号为:" + productSn + "的商品,不存在";
aiNotRecognitionList.add(msg);
// 没查到去找下一个
continue;
}
@ -720,7 +744,9 @@ public class SaleServiceImpl extends ServiceImpl<SaleMapper, Sale> implements Sa
} catch (InputRequiredException e) {
throw new RuntimeException(e);
}
return saleDetailDTOS;
returnJsonObject.put("data",saleDetailDTOS);
returnJsonObject.put("aiNotRecognition",String.join(";", aiNotRecognitionList));
return returnJsonObject;
}
@Override

60
hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/utils/AliOcrUtil.java

@ -453,6 +453,35 @@ public class AliOcrUtil {
final String categoryId = product.getCategoryId();
final String attributeList = object.getString("attributeList");
final JSONArray attributeListJsonArray = JSON.parseArray(attributeList);
final CopyOnWriteArrayList<String> categoryIdList = new CopyOnWriteArrayList<>();
categoryIdList.add(categoryId);
// 查询该店铺该分类下所有的颜色和尺码,进行对比,有则新增,无,则提醒用户无该规格
final CopyOnWriteArrayList<ProductCategoryVo> shopCategory = productCategoryService.getShopCategory(categoryIdList);
final ProductCategoryVo productCategoryVo = shopCategory.get(0);
final CopyOnWriteArrayList<ProductAttributeOfAddVo> productAttributeOfAddVos = productCategoryVo.getProductAttributeOfAddVos();
final Map<String, ProductAttributeOfAddVo> productAttributeOfAddVoMap = new ConcurrentHashMap<>();
for (ProductAttributeOfAddVo productAttributeOfAddVo : productAttributeOfAddVos) {
productAttributeOfAddVoMap.put(productAttributeOfAddVo.getAttributeName(), productAttributeOfAddVo);
}
//获取颜色及规格进行拼接
CopyOnWriteArrayList<ProductAttributeValueVo> colorProductAttributeValueVoList = new CopyOnWriteArrayList<>();
CopyOnWriteArrayList<ProductAttributeValueVo> sizeProductAttributeValueVoList = new CopyOnWriteArrayList<>();
if (productAttributeOfAddVoMap.containsKey("颜色")) {
colorProductAttributeValueVoList = productAttributeOfAddVoMap.get("颜色").getProductAttributeValueVoList();
}
// 将所有颜色放到一个集合中
final CopyOnWriteArrayList<String> colorList = new CopyOnWriteArrayList<>();
for (ProductAttributeValueVo productAttributeValueVo : colorProductAttributeValueVoList) {
colorList.add(productAttributeValueVo.getValue());
}
if (productAttributeOfAddVoMap.containsKey("尺码")) {
sizeProductAttributeValueVoList = productAttributeOfAddVoMap.get("尺码").getProductAttributeValueVoList();
}
// 将所有尺码放到一个集合中
final CopyOnWriteArrayList<String> sizeList = new CopyOnWriteArrayList<>();
for (ProductAttributeValueVo productAttributeValueVo : sizeProductAttributeValueVoList) {
sizeList.add(productAttributeValueVo.getValue());
}
for (int j = 0; j < attributeListJsonArray.size(); j++) {
final JSONObject attributeListObject = attributeListJsonArray.getJSONObject(j);
String color = attributeListObject.getString("color").toUpperCase();
@ -468,38 +497,7 @@ public class AliOcrUtil {
size += '码';
}
size = size.toUpperCase();
final CopyOnWriteArrayList<String> categoryIdList = new CopyOnWriteArrayList<>();
categoryIdList.add(categoryId);
// 查询该店铺该分类下所有的颜色和尺码,进行对比,有则新增,无,则提醒用户无该规格
final CopyOnWriteArrayList<ProductCategoryVo> shopCategory = productCategoryService.getShopCategory(categoryIdList);
final ProductCategoryVo productCategoryVo = shopCategory.get(0);
final CopyOnWriteArrayList<ProductAttributeOfAddVo> productAttributeOfAddVos = productCategoryVo.getProductAttributeOfAddVos();
final Map<String, ProductAttributeOfAddVo> productAttributeOfAddVoMap = new ConcurrentHashMap<>();
for (ProductAttributeOfAddVo productAttributeOfAddVo : productAttributeOfAddVos) {
productAttributeOfAddVoMap.put(productAttributeOfAddVo.getAttributeName(), productAttributeOfAddVo);
}
//获取颜色及规格进行拼接
CopyOnWriteArrayList<ProductAttributeValueVo> colorProductAttributeValueVoList = new CopyOnWriteArrayList<>();
CopyOnWriteArrayList<ProductAttributeValueVo> sizeProductAttributeValueVoList = new CopyOnWriteArrayList<>();
if (productAttributeOfAddVoMap.containsKey("颜色")) {
colorProductAttributeValueVoList = productAttributeOfAddVoMap.get("颜色").getProductAttributeValueVoList();
}
// 将所有颜色放到一个集合中
final CopyOnWriteArrayList<String> colorList = new CopyOnWriteArrayList<>();
for (ProductAttributeValueVo productAttributeValueVo : colorProductAttributeValueVoList) {
colorList.add(productAttributeValueVo.getValue());
}
if (productAttributeOfAddVoMap.containsKey("尺码")) {
sizeProductAttributeValueVoList = productAttributeOfAddVoMap.get("尺码").getProductAttributeValueVoList();
}
// 将所有尺码放到一个集合中
final CopyOnWriteArrayList<String> sizeList = new CopyOnWriteArrayList<>();
for (ProductAttributeValueVo productAttributeValueVo : sizeProductAttributeValueVoList) {
sizeList.add(productAttributeValueVo.getValue());
}
if ("SYYS色".equals(color) && "SYCM码".equals(size)) {
for (ProductAttributeValueVo productAttributeValueVo : colorProductAttributeValueVoList) {
for (ProductAttributeValueVo attributeValueVo : sizeProductAttributeValueVoList) {
final SaleDetail saleDetail = new SaleDetail();

6
hiver-modules/hiver-mall/src/main/resources/mapper/ProductMapper.xml

@ -704,4 +704,10 @@
ORDER BY
create_time desc
</select>
<!-- 删除分类时,根据分类id删除商品信息-->
<update id="deleteProductByCategoryId" parameterType="java.lang.String">
update t_product
set del_flag = 2
where category_id = #{categoryId,jdbcType=VARCHAR}
</update>
</mapper>

2
hiver-modules/hiver-mall/src/main/resources/mapper/PurchaseMapper.xml

@ -415,7 +415,7 @@
</if>
<if test="queryParams.isAiList != null and queryParams.isAiList != ''">
<!-- 查询ai列表-->
and in_storage_status in ('2','3')
and in_storage_status in ('2','3','4')
</if>
<if test="queryParams.searchStr != null and queryParams.searchStr != ''">
and (id in(

6
hiver-modules/hiver-mall/src/main/resources/mapper/SaleMapper.xml

@ -861,9 +861,15 @@ trans_company, company_name, product_count, remark, sale_name, company_phone, cr
<if test='salePageQuery.status !=null and salePageQuery.status != ""'>
and t.status = #{salePageQuery.status}
</if>
<if test='salePageQuery.transportType !=null and salePageQuery.transportType != ""'>
and t.transport_type = #{salePageQuery.transportType}
</if>
<if test='salePageQuery.modeOfService !=null and salePageQuery.modeOfService != ""'>
and t.mode_of_service = #{salePageQuery.modeOfService}
</if>
<if test='salePageQuery.startDate !=null and salePageQuery.endDate !=null'>
and t.create_time BETWEEN #{salePageQuery.startDate} AND #{salePageQuery.endDate}
</if>
</select>

Loading…
Cancel
Save