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("添加成功");