diff --git a/hiver-admin/src/main/resources/application.yml b/hiver-admin/src/main/resources/application.yml index 9067e9be..07a051f8 100644 --- a/hiver-admin/src/main/resources/application.yml +++ b/hiver-admin/src/main/resources/application.yml @@ -341,7 +341,7 @@ ignored: - /hiver/app/productCategory/listByShopId # 获取微信二维码 - /hiver/order/ow/getWechatQrcode - - /app/shop/getShopInfoById + - /hiver/app/shop/getShopInfoById # 临时增加 - /hiver/app/logisticsOrder/addLogisticsOrder diff --git a/hiver-admin/test-output/test-report.html b/hiver-admin/test-output/test-report.html index ee80503b..eafac732 100644 --- a/hiver-admin/test-output/test-report.html +++ b/hiver-admin/test-output/test-report.html @@ -35,7 +35,7 @@ Hiver
  • - 30, 2024 17:44:36 +ʮ 08, 2024 19:35:03
  • @@ -84,7 +84,7 @@

    passTest

    -

    17:44:37 / 0.02 secs

    +

    19:35:03 / 0.015 secs

    @@ -92,9 +92,9 @@
    #test-id=1
    passTest
    -09.30.2024 17:44:37 -09.30.2024 17:44:37 -0.02 secs +10.08.2024 19:35:03 +10.08.2024 19:35:03 +0.015 secs
    @@ -104,7 +104,7 @@ Pass - 17:44:37 + 19:35:03 Test passed @@ -128,13 +128,13 @@

    Started

    -

    30, 2024 17:44:36

    +

    ʮ 08, 2024 19:35:03

    Ended

    -

    30, 2024 17:44:37

    +

    ʮ 08, 2024 19:35:03

    diff --git a/hiver-core/src/main/java/cc/hiver/core/logisticsaddressbook/mapper/LogisticsAddressBookMapper.java b/hiver-core/src/main/java/cc/hiver/core/logisticsaddressbook/mapper/LogisticsAddressBookMapper.java index 42e0fa02..1e26524a 100644 --- a/hiver-core/src/main/java/cc/hiver/core/logisticsaddressbook/mapper/LogisticsAddressBookMapper.java +++ b/hiver-core/src/main/java/cc/hiver/core/logisticsaddressbook/mapper/LogisticsAddressBookMapper.java @@ -1,11 +1,20 @@ package cc.hiver.core.logisticsaddressbook.mapper; import cc.hiver.core.logisticsaddressbook.entity.LogisticsAddressBook; +import cc.hiver.core.logisticsaddressbook.vo.LogisticsAddressBookQueryVo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; -public interface LogisticsAddressBookMapper extends BaseMapper { - - +import java.util.List; +public interface LogisticsAddressBookMapper extends BaseMapper { + /** + * 根据名称(支持拼音模糊匹配)及手机号查询列表 + * @author 王富康 + * @date 2024/10/8 + * @param logisticsAddressBookQueryVo + * @return List + */ + List getLogisticsAddressBookList(@Param("queryParams") LogisticsAddressBookQueryVo logisticsAddressBookQueryVo); } diff --git a/hiver-core/src/main/java/cc/hiver/core/logisticsaddressbook/service/LogisticsAddressBookService.java b/hiver-core/src/main/java/cc/hiver/core/logisticsaddressbook/service/LogisticsAddressBookService.java index e7dbc353..9e95c1b0 100644 --- a/hiver-core/src/main/java/cc/hiver/core/logisticsaddressbook/service/LogisticsAddressBookService.java +++ b/hiver-core/src/main/java/cc/hiver/core/logisticsaddressbook/service/LogisticsAddressBookService.java @@ -3,6 +3,7 @@ package cc.hiver.core.logisticsaddressbook.service; import cc.hiver.core.logisticsaddressbook.entity.LogisticsAddressBook; import cc.hiver.core.logisticsaddressbook.vo.LogisticsAddressBookQueryVo; import cc.hiver.core.logisticsorder.entity.LogisticsOrder; +import cn.hutool.json.JSONObject; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; @@ -13,4 +14,13 @@ public interface LogisticsAddressBookService extends IService getLogisticsAddressBookPageList(LogisticsAddressBookQueryVo logisticsAddressBookQueryVo); + + /** + * 根据姓名(可拼音匹配)或者手机号模糊查询地址列表 + * @author 王富康 + * @date 2024/10/8 + * @param logisticsAddressBookQueryVo + * @return JSONObject + */ + JSONObject getLogisticsAddressBookList(LogisticsAddressBookQueryVo logisticsAddressBookQueryVo); } diff --git a/hiver-core/src/main/java/cc/hiver/core/logisticsaddressbook/service/impl/LogisticsAddressBookServiceImpl.java b/hiver-core/src/main/java/cc/hiver/core/logisticsaddressbook/service/impl/LogisticsAddressBookServiceImpl.java index ba1636a9..5002dd93 100644 --- a/hiver-core/src/main/java/cc/hiver/core/logisticsaddressbook/service/impl/LogisticsAddressBookServiceImpl.java +++ b/hiver-core/src/main/java/cc/hiver/core/logisticsaddressbook/service/impl/LogisticsAddressBookServiceImpl.java @@ -5,6 +5,7 @@ import cc.hiver.core.logisticsaddressbook.mapper.LogisticsAddressBookMapper; import cc.hiver.core.logisticsaddressbook.service.LogisticsAddressBookService; import cc.hiver.core.logisticsaddressbook.vo.LogisticsAddressBookQueryVo; import cc.hiver.core.logisticsorder.entity.LogisticsOrder; +import cn.hutool.json.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -39,19 +40,19 @@ public class LogisticsAddressBookServiceImpl extends ServiceImpl list = new ArrayList<>(); + final List list = new ArrayList<>(); //根据名称、电话、地址查询看是不是存在,如果不存在则新建一条 - LambdaQueryWrapper stuQuery = new LambdaQueryWrapper<>(); + final LambdaQueryWrapper stuQuery = new LambdaQueryWrapper<>(); stuQuery.eq(LogisticsAddressBook::getShipperOrReceiverName, logisticsOrder.getShipperName()) .eq(LogisticsAddressBook::getAddressType, 1) .eq(LogisticsAddressBook::getMobile, logisticsOrder.getShipperMobile()) .eq(LogisticsAddressBook::getAddressInfo, logisticsOrder.getShipperAddress()); - Long count = getBaseMapper().selectCount(stuQuery); + final Long count = getBaseMapper().selectCount(stuQuery); if(count == 0){ // 创建发货人地址簿 - LogisticsAddressBook shipperAddressBook = new LogisticsAddressBook(); + final LogisticsAddressBook shipperAddressBook = new LogisticsAddressBook(); // 设置发货人名称,从物流订单的发货人名称中获取 shipperAddressBook.setShipperOrReceiverName(logisticsOrder.getShipperName()); // 设置地址信息,从物流订单的发货人地址获取 @@ -73,16 +74,16 @@ public class LogisticsAddressBookServiceImpl extends ServiceImpl stuQuery2 = new LambdaQueryWrapper<>(); + final LambdaQueryWrapper stuQuery2 = new LambdaQueryWrapper<>(); stuQuery2.eq(LogisticsAddressBook::getShipperOrReceiverName, logisticsOrder.getReceiverName()) .eq(LogisticsAddressBook::getAddressType, 2) .eq(LogisticsAddressBook::getMobile, logisticsOrder.getReceiverMobile()) .eq(LogisticsAddressBook::getAddressInfo, logisticsOrder.getReceiverAddress()); - Long count2 = getBaseMapper().selectCount(stuQuery2); + final Long count2 = getBaseMapper().selectCount(stuQuery2); if(count2 == 0) { // 创建收货人地址簿 - LogisticsAddressBook reciverAddressBook = new LogisticsAddressBook(); + final LogisticsAddressBook reciverAddressBook = new LogisticsAddressBook(); // 设置收货人名称,从物流订单的收货人名称中获取 reciverAddressBook.setShipperOrReceiverName(logisticsOrder.getReceiverName()); // 设置地址信息,从物流订单的发货人地址获取 @@ -102,15 +103,15 @@ public class LogisticsAddressBookServiceImpl extends ServiceImpl getLogisticsAddressBookPageList(LogisticsAddressBookQueryVo logisticsAddressBookQueryVo) { - Page page = new Page<>(); - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + final Page page = new Page<>(); + final LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); if(logisticsAddressBookQueryVo != null && StringUtils.isNotEmpty(logisticsAddressBookQueryVo.getKeyWord())){ wrapper.like(LogisticsAddressBook::getShipperOrReceiverName, logisticsAddressBookQueryVo.getKeyWord()).or() .like(LogisticsAddressBook::getMobile, logisticsAddressBookQueryVo.getKeyWord()); @@ -120,4 +121,31 @@ public class LogisticsAddressBookServiceImpl extends ServiceImpl + */ + @Override + public JSONObject getLogisticsAddressBookList(LogisticsAddressBookQueryVo logisticsAddressBookQueryVo) { + final JSONObject jsonObject = new JSONObject(); + // 必须包含addressType, + if(logisticsAddressBookQueryVo.getAddressType() == null){ + jsonObject.set("flag","0"); + jsonObject.set("msg","addressType参数为空"); + return jsonObject; + } + if(StringUtils.isEmpty(logisticsAddressBookQueryVo.getShipperOrReceiverName()) && StringUtils.isEmpty(logisticsAddressBookQueryVo.getMobile())){ + jsonObject.set("flag","0"); + jsonObject.set("msg","姓名及电话必须传一个!"); + return jsonObject; + } + final List logisticsAddressBookList = logisticsAddressBookMapper.getLogisticsAddressBookList(logisticsAddressBookQueryVo); + jsonObject.set("data",logisticsAddressBookList); + jsonObject.set("flag","1"); + return jsonObject; + } + } diff --git a/hiver-core/src/main/java/cc/hiver/core/logisticsaddressbook/vo/LogisticsAddressBookQueryVo.java b/hiver-core/src/main/java/cc/hiver/core/logisticsaddressbook/vo/LogisticsAddressBookQueryVo.java index f9bce7da..a3545586 100644 --- a/hiver-core/src/main/java/cc/hiver/core/logisticsaddressbook/vo/LogisticsAddressBookQueryVo.java +++ b/hiver-core/src/main/java/cc/hiver/core/logisticsaddressbook/vo/LogisticsAddressBookQueryVo.java @@ -21,6 +21,8 @@ public class LogisticsAddressBookQueryVo extends HiverBasePageQuery { @ApiModelProperty(value = "收发货人名称") private String shipperOrReceiverName; + @ApiModelProperty(value = "地址类型 1发货地址信息 2收货地址信息") + private Integer addressType; private String keyWord; } diff --git a/hiver-core/src/main/resources/mapper/LogisticsAddressBookMapper.xml b/hiver-core/src/main/resources/mapper/LogisticsAddressBookMapper.xml new file mode 100644 index 00000000..53af7e34 --- /dev/null +++ b/hiver-core/src/main/resources/mapper/LogisticsAddressBookMapper.xml @@ -0,0 +1,184 @@ + + + + + + + + + + + + + + + + + + + + id, create_by, create_time, del_flag, update_by, update_time, shipper_or_receiver_name, address_type, mobile, address_info, company_id, company_name + + + + + + delete from t_logistics_address_book + where id = #{id,jdbcType=VARCHAR} + + + + insert into t_logistics_address_book + (id, create_by, create_time, del_flag, update_by, update_time, shipper_or_receiver_name, address_type, mobile, address_info, company_id, company_name) + values (#{id,jdbcType=VARCHAR}, #{createBy,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, + #{delFlag,jdbcType=INTEGER}, #{updateBy,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP}, + #{shipperOrReceiverName,jdbcType=VARCHAR}, #{addressType,jdbcType=INTEGER}, #{mobile,jdbcType=VARCHAR}, + #{addressInfo,jdbcType=VARCHAR}, #{companyId,jdbcType=VARCHAR}, #{companyName,jdbcType=VARCHAR}) + + + + update t_logistics_address_book + + + id = #{record.id,jdbcType=VARCHAR}, + + + create_by = #{record.createBy,jdbcType=VARCHAR}, + + + create_time = #{record.createTime,jdbcType=TIMESTAMP}, + + + del_flag = #{record.delFlag,jdbcType=INTEGER}, + + + update_by = #{record.updateBy,jdbcType=VARCHAR}, + + + update_time = #{record.updateTime,jdbcType=TIMESTAMP}, + + + shipper_or_receiver_name = #{record.shipperOrReceiverName,jdbcType=VARCHAR}, + + + address_type = #{record.addressType,jdbcType=INTEGER}, + + + mobile = #{record.mobile,jdbcType=VARCHAR}, + + + address_info = #{record.addressInfo,jdbcType=VARCHAR}, + + + company_id = #{record.companyId,jdbcType=VARCHAR}, + + + company_name = #{record.companyName,jdbcType=VARCHAR}, + + + + + + update t_logistics_address_book + set id = #{record.id,jdbcType=VARCHAR}, + create_by = #{record.createBy,jdbcType=VARCHAR}, + create_time = #{record.createTime,jdbcType=TIMESTAMP}, + del_flag = #{record.delFlag,jdbcType=INTEGER}, + update_by = #{record.updateBy,jdbcType=VARCHAR}, + update_time = #{record.updateTime,jdbcType=TIMESTAMP}, + shipper_or_receiver_name = #{record.shipperOrReceiverName,jdbcType=VARCHAR}, + address_type = #{record.addressType,jdbcType=INTEGER}, + mobile = #{record.mobile,jdbcType=VARCHAR}, + address_info = #{record.addressInfo,jdbcType=VARCHAR}, + company_id = #{record.companyId,jdbcType=VARCHAR}, + company_name = #{record.companyName,jdbcType=VARCHAR} + + + + update t_logistics_address_book + + + create_by = #{createBy,jdbcType=VARCHAR}, + + + create_time = #{createTime,jdbcType=TIMESTAMP}, + + + del_flag = #{delFlag,jdbcType=INTEGER}, + + + update_by = #{updateBy,jdbcType=VARCHAR}, + + + update_time = #{updateTime,jdbcType=TIMESTAMP}, + + + shipper_or_receiver_name = #{shipperOrReceiverName,jdbcType=VARCHAR}, + + + address_type = #{addressType,jdbcType=INTEGER}, + + + mobile = #{mobile,jdbcType=VARCHAR}, + + + address_info = #{addressInfo,jdbcType=VARCHAR}, + + + company_id = #{companyId,jdbcType=VARCHAR}, + + + company_name = #{companyName,jdbcType=VARCHAR}, + + + where id = #{id,jdbcType=VARCHAR} + + + + update t_logistics_address_book + set create_by = #{createBy,jdbcType=VARCHAR}, + create_time = #{createTime,jdbcType=TIMESTAMP}, + del_flag = #{delFlag,jdbcType=INTEGER}, + update_by = #{updateBy,jdbcType=VARCHAR}, + update_time = #{updateTime,jdbcType=TIMESTAMP}, + shipper_or_receiver_name = #{shipperOrReceiverName,jdbcType=VARCHAR}, + address_type = #{addressType,jdbcType=INTEGER}, + mobile = #{mobile,jdbcType=VARCHAR}, + address_info = #{addressInfo,jdbcType=VARCHAR}, + company_id = #{companyId,jdbcType=VARCHAR}, + company_name = #{companyName,jdbcType=VARCHAR} + where id = #{id,jdbcType=VARCHAR} + + + + + + \ No newline at end of file diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/purchaseocr/service/impl/PurchaseOcrPictureServiceImpl.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/purchaseocr/service/impl/PurchaseOcrPictureServiceImpl.java index 55a950ce..30699cb4 100644 --- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/purchaseocr/service/impl/PurchaseOcrPictureServiceImpl.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/purchaseocr/service/impl/PurchaseOcrPictureServiceImpl.java @@ -3,6 +3,9 @@ package cc.hiver.mall.purchaseocr.service.impl; import cc.hiver.core.common.utils.CommonUtil; import cc.hiver.core.common.utils.SecurityUtil; import cc.hiver.core.entity.User; +import cc.hiver.core.logisticsaddressbook.entity.LogisticsAddressBook; +import cc.hiver.core.logisticsaddressbook.service.LogisticsAddressBookService; +import cc.hiver.core.logisticsaddressbook.vo.LogisticsAddressBookQueryVo; import cc.hiver.mall.common.constant.PurchaseConstant; import cc.hiver.mall.config.thread.AiPurchaseThread; import cc.hiver.mall.config.thread.ThreadPoolConfiguration; @@ -77,6 +80,9 @@ public class PurchaseOcrPictureServiceImpl implements PurchaseOcrPictureService @Autowired private SaleService saleService; + @Autowired + private LogisticsAddressBookService logisticsAddressBookService; + @Override public JSONObject batchSave(PurchaseOciPictureAddVo purchaseOciPictureAddVo) { @@ -211,7 +217,7 @@ public class PurchaseOcrPictureServiceImpl implements PurchaseOcrPictureService final String resultContent = jsonObject.get("resultContent").toString(); final JSONArray json = JSON.parseArray(resultContent); // 旧商品的id集合 - List oldProductIdList = new ArrayList<>(); + final List oldProductIdList = new ArrayList<>(); for (int i = 0; i < json.size(); i++) { final JSONObject object = json.getJSONObject(i); String productSn = object.getString("productSn"); @@ -253,7 +259,7 @@ public class PurchaseOcrPictureServiceImpl implements PurchaseOcrPictureService // 20240928 app/sale/buyAi接口加个参数productId,如果传值了,查规格库存数的时候就查这款商品的 product = productService.getById(singleProductId); } - String productId = product.getId(); + final String productId = product.getId(); oldProductIdList.add(productId); // 查询商品所有的库存 final List stockList = stockService.getProductStock(productId); @@ -638,6 +644,31 @@ public class PurchaseOcrPictureServiceImpl implements PurchaseOcrPictureService logisticsOrderOfAiVo.setPremium(premium); final String objectName = object.getString("objectName"); logisticsOrderOfAiVo.setObjectName(objectName); + // 20241008 根据发货人信息或者收货人信息查询地址列表 + // 发货人 shipperName,shipperMobile + final LogisticsAddressBookQueryVo logisticsAddressBookQueryVo = new LogisticsAddressBookQueryVo(); + logisticsAddressBookQueryVo.setAddressType(1); + logisticsAddressBookQueryVo.setShipperOrReceiverName(shipperName); + logisticsAddressBookQueryVo.setMobile(shipperMobile); + final cn.hutool.json.JSONObject logisticsAddressBookList = logisticsAddressBookService.getLogisticsAddressBookList(logisticsAddressBookQueryVo); + if("1".equals(logisticsAddressBookList.get("flag"))){ + final List data = (List) logisticsAddressBookList.get("data"); + logisticsOrderOfAiVo.setShipperList(data); + }else{ + log.info(logisticsAddressBookList.get("msg").toString()); + } + // 收货人 receiverName,receiverMobile + final LogisticsAddressBookQueryVo receiverQueryVo = new LogisticsAddressBookQueryVo(); + receiverQueryVo.setAddressType(2); + receiverQueryVo.setShipperOrReceiverName(receiverName); + receiverQueryVo.setMobile(receiverMobile); + final cn.hutool.json.JSONObject receiverList = logisticsAddressBookService.getLogisticsAddressBookList(receiverQueryVo); + if("1".equals(receiverList.get("flag"))){ + final List data = (List) receiverList.get("data"); + logisticsOrderOfAiVo.setReceiverList(data); + }else{ + log.info(receiverList.get("msg").toString()); + } logisticsOrderOfAiVos.add(logisticsOrderOfAiVo); } } catch (Exception e) { diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/purchaseocr/vo/LogisticsOrderOfAiVo.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/purchaseocr/vo/LogisticsOrderOfAiVo.java index 302afa8d..a0793824 100644 --- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/purchaseocr/vo/LogisticsOrderOfAiVo.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/purchaseocr/vo/LogisticsOrderOfAiVo.java @@ -1,9 +1,11 @@ package cc.hiver.mall.purchaseocr.vo; +import cc.hiver.core.logisticsaddressbook.entity.LogisticsAddressBook; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; +import java.util.List; @Data public class LogisticsOrderOfAiVo { @@ -14,12 +16,18 @@ public class LogisticsOrderOfAiVo { @ApiModelProperty(value = "发货电话") private String shipperMobile; + @ApiModelProperty(value = "发货人列表") + private List shipperList; + @ApiModelProperty(value = "收货人") private String receiverName; @ApiModelProperty(value = "收货电话") private String receiverMobile; + @ApiModelProperty(value = "收货人列表") + private List receiverList; + @ApiModelProperty(value = "重量") private BigDecimal weight; diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/StockServiceImpl.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/StockServiceImpl.java index c288e506..71fe0954 100644 --- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/StockServiceImpl.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/StockServiceImpl.java @@ -2,7 +2,7 @@ package cc.hiver.mall.serviceimpl.mybatis; import cc.hiver.core.common.constant.CommonConstant; import cc.hiver.core.common.constant.ProductConstant; -import cc.hiver.core.common.constant.UserConstant; +import cc.hiver.core.common.constant.ShopUserConstant; import cc.hiver.core.common.exception.HiverException; import cc.hiver.core.common.utils.ResultUtil; import cc.hiver.core.common.utils.SecurityUtil; @@ -26,9 +26,10 @@ import cc.hiver.mall.purchasereturn.entity.PurchaseReturnDetail; import cc.hiver.mall.purchasereturn.service.PurchaseReturnDetailService; import cc.hiver.mall.purchasereturn.service.PurchaseReturnService; import cc.hiver.mall.purchasereturn.vo.PurchaseReturnVo; +import cc.hiver.mall.service.ShopUserService; import cc.hiver.mall.service.mybatis.*; import cc.hiver.mall.utils.DateUtil; -import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.collection.CollUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -84,6 +85,10 @@ public class StockServiceImpl extends ServiceImpl implements @Autowired private PurchaseReturnDetailService purchaseReturnDetailService; + + @Autowired + private ShopUserService shopUserService; + @Transactional @Override public Result putIn(PurchaseVo purchaseVo) { @@ -501,7 +506,7 @@ public class StockServiceImpl extends ServiceImpl implements // 设置商品的批发价和零售价 product.setPrice(purchaseDetail.getLsPrice()); product.setWholesalePrice(purchaseDetail.getWholesalePrice()); - if(!"[]".equals(purchaseDetail.getCustomerCategoryRule()) && !"null".equals(purchaseDetail.getCustomerCategoryRule())){ + if (!"[]".equals(purchaseDetail.getCustomerCategoryRule()) && !"null".equals(purchaseDetail.getCustomerCategoryRule())) { product.setCustomerCategoryRule(purchaseDetail.getCustomerCategoryRule()); } // 保存商品供应商信息 @@ -786,13 +791,13 @@ public class StockServiceImpl extends ServiceImpl implements // 20240824 增加货号判断是否为旧商品 // 根据货号查询商品是否存在 - CopyOnWriteArrayList oldProductListBySn = productService.getByProductSn(purchaseDetail.getProductSn(), shopId,""); + CopyOnWriteArrayList oldProductListBySn = productService.getByProductSn(purchaseDetail.getProductSn(), shopId, ""); if (oldProductListBySn != null && !oldProductListBySn.isEmpty()) { // 旧商品,赋值商品id purchaseDetail.setProductId(oldProductListBySn.get(0).getId()); // 旧商品 productIdList.add(productId); - }else{ + } else { // 新增商品 final Product product = new Product(); product.setCreateBy(user.getId()); @@ -820,7 +825,7 @@ public class StockServiceImpl extends ServiceImpl implements product.setPrintBarcode(purchaseDetail.getPrintBarcode()); product.setTailWarn(purchaseDetail.getTailWarn()); product.setInStorageStatus(PurchaseConstant.IN_STORAGE_STATUS[1]); - if(!"[]".equals(purchaseDetail.getCustomerCategoryRule()) && !"null".equals(purchaseDetail.getCustomerCategoryRule())){ + if (!"[]".equals(purchaseDetail.getCustomerCategoryRule()) && !"null".equals(purchaseDetail.getCustomerCategoryRule())) { product.setCustomerCategoryRule(purchaseDetail.getCustomerCategoryRule()); } addProductList.add(product); @@ -852,7 +857,7 @@ public class StockServiceImpl extends ServiceImpl implements if (!value.contains("色")) { value += '色'; } - colorStr.append('"' +value+ '"'); + colorStr.append('"' + value + '"'); } else if ("尺码".equals(key)) { final String valueUpperCase = value.toUpperCase(); if (value.contains("码")) { @@ -860,7 +865,7 @@ public class StockServiceImpl extends ServiceImpl implements } else { value = valueUpperCase + '码'; } - sizeStr.append('"' +value+ '"'); + sizeStr.append('"' + value + '"'); } else { // 暂不支持其他规格 } @@ -923,6 +928,8 @@ public class StockServiceImpl extends ServiceImpl implements productMap.putIfAbsent(product.getId(), product); } // 获取需要新增的规格及属性集合 + // 获取当前登录人在当前店铺的身份 + ShopUser shopUser = shopUserService.selectByUserIdAndShopId(user.getId(), shopId); // 获取需要新增的规格信息 final Map>> stringListMap = new HashMap<>(); for (PurchaseDetail purchaseDetail : purchaseDetails) { @@ -953,7 +960,7 @@ public class StockServiceImpl extends ServiceImpl implements stockQueryWrapper.eq("shop_id", shopId); final List productStockList = list(stockQueryWrapper); - if (purchaseDetail.getPurchasePrice() == null && user.getType().equals(UserConstant.USER_TYPE_NORMAL)) { + if (purchaseDetail.getPurchasePrice() == null && Objects.equals(shopUser.getType(), ShopUserConstant.SHOP_ADMIN_COST[1])) { // 未维护采购价,设置订单状态为待入库,这里是循环的,前端要控制有就全部都要有,没有就全部没有。 // 设置为未入库,商品不计算平均采购价 purchase.setInStorageStatus(StockConstant.IN_STORAGE_STATUS[0]); @@ -1010,7 +1017,7 @@ public class StockServiceImpl extends ServiceImpl implements product.setProductPicture(purchaseDetail.getProductPicture()); // 更新商品的名称 product.setProductName(purchaseDetail.getProductName()); - if(!"[]".equals(purchaseDetail.getCustomerCategoryRule()) && !"null".equals(purchaseDetail.getCustomerCategoryRule())){ + if (!"[]".equals(purchaseDetail.getCustomerCategoryRule()) && !"null".equals(purchaseDetail.getCustomerCategoryRule())) { product.setCustomerCategoryRule(purchaseDetail.getCustomerCategoryRule()); } updateProductList.add(product); @@ -1045,7 +1052,7 @@ public class StockServiceImpl extends ServiceImpl implements if (!value.contains("色")) { value += '色'; } - colorStr.append('"' +value+ '"'); + colorStr.append('"' + value + '"'); } else if ("尺码".equals(key)) { final String valueUpperCase = value.toUpperCase(); if (value.contains("码")) { @@ -1053,7 +1060,7 @@ public class StockServiceImpl extends ServiceImpl implements } else { value = valueUpperCase + '码'; } - sizeStr.append('"' +value+ '"'); + sizeStr.append('"' + value + '"'); } else { // 暂不支持其他规格 } @@ -1201,7 +1208,7 @@ public class StockServiceImpl extends ServiceImpl implements productService.saveOrUpdateBatch(updateProductList); // 更新供应商欠款信息及欠款记录 //如果没有采购价 并且是普通用户的话,不保存记录 - if(CollectionUtil.isNotEmpty(purchaseVo.getPurchaseDetails()) && purchaseVo.getPurchaseDetails().get(0).getPurchasePrice() == null && !user.getType().equals(UserConstant.USER_TYPE_NORMAL)) { + if (CollUtil.isNotEmpty(purchaseVo.getPurchaseDetails()) && purchaseVo.getPurchaseDetails().get(0).getPurchasePrice() != null && Objects.equals(shopUser.getType(), ShopUserConstant.SHOP_ADMIN_COST[0])) { debtService.purchaseToDebt(purchase); } return ResultUtil.success("添加成功");