1
0

2 Коммиты 48ea4e7092 ... 38d5a55b80

Автор SHA1 Сообщение Дата
  jinshihui 38d5a55b80 Merge remote-tracking branch 'origin/point_dev' into point_dev 4 дней назад
  jinshihui c4f00a8f5c 优化了代码 4 дней назад

+ 4 - 0
nightFragrance-admin/src/main/java/com/ylx/web/controller/massage/ProductController.java

@@ -8,6 +8,7 @@ import com.ylx.common.annotation.Log;
 import com.ylx.common.core.controller.BaseController;
 import com.ylx.common.core.domain.R;
 import com.ylx.common.enums.BusinessType;
+import com.ylx.common.exception.ServiceException;
 import com.ylx.common.utils.StringUtils;
 import com.ylx.massage.domain.Product;
 import com.ylx.massage.domain.ProductCategory;
@@ -130,6 +131,9 @@ public class ProductController extends BaseController {
     public R selectOne(@RequestParam Long id) {
         try {
             Product productServiceById = this.productService.getById(id);
+            if(productServiceById == null){
+                throw new ServiceException("商品不存在");
+            }
             // 根据分类ID查询分类的名称
             ProductCategory productCategory = this.productCategoryService.getById(productServiceById.getCategoryId());
             productServiceById.setCategoryName(productCategory.getName());

+ 12 - 2
nightFragrance-massage/src/main/java/com/ylx/massage/domain/dto/ProductOrderCreateRequest.java

@@ -20,9 +20,19 @@ public class ProductOrderCreateRequest implements Serializable {
     private String openId;
 
     /**
-     * 地址ID
+     * 用户姓名
      */
-    private Long addressId;
+    private String userName;
+
+    /**
+     * 用户电话
+     */
+    private String userPhone;
+
+    /**
+     * 用户地址
+     */
+    private String userAddress;
 
     /**
      * 商品ID

+ 5 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/domain/vo/SpecComboVO.java

@@ -37,6 +37,11 @@ public class SpecComboVO {
     @ApiModelProperty("组合显示文本")
     private String specValueText;
 
+    /**
+     * skuID
+     */
+    private Long skuId;
+
     /**
      * 商品图片
      */

+ 11 - 3
nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/ProductOrderInfoServiceImpl.java

@@ -120,8 +120,14 @@ public class ProductOrderInfoServiceImpl extends ServiceImpl<ProductOrderInfoMap
         if (request.getOpenId() == null || request.getOpenId().trim().isEmpty()) {
             throw new ServiceException("用户ID不能为空");
         }
-        if (request.getAddressId() == null) {
-            throw new ServiceException("地址ID不能为空");
+        if (request.getUserName() == null) {
+            throw new ServiceException("用户姓名不能为空");
+        }
+        if (request.getUserPhone() == null) {
+            throw new ServiceException("用户电话不能为空");
+        }
+        if (request.getUserAddress()== null) {
+            throw new ServiceException("用户地址不能为空");
         }
         if (request.getProductId() == null) {
             throw new ServiceException("商品ID不能为空");
@@ -168,7 +174,9 @@ public class ProductOrderInfoServiceImpl extends ServiceImpl<ProductOrderInfoMap
         orderInfo.setFreightAmount(request.getFreightAmount() != null ? request.getFreightAmount() : BigDecimal.ZERO);
         orderInfo.setPayAmount(request.getPayAmount());
         orderInfo.setPointsUsed(request.getPointsUsed() != null ? request.getPointsUsed() : 0);
-        orderInfo.setAddressId(request.getAddressId());
+        orderInfo.setUserName(request.getUserName());
+        orderInfo.setUserPhone(request.getUserPhone());
+        orderInfo.setUserAddress(request.getUserAddress());
         // 快递
         orderInfo.setDeliveryType(1);
         orderInfo.setBuyerRemark(request.getBuyerRemark());

+ 4 - 3
nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/ProductServiceImpl.java

@@ -655,7 +655,7 @@ public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> impl
     /**
      * 获取商品规格组合
      *
-     * @param productId 商品ID
+     * @param productNo 商品编号
      * @return List<SpecComboVO> 规格组合列表
      */
     @Override
@@ -677,7 +677,7 @@ public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> impl
         valueWrapper.eq(ProductSpecValue::getProductNo, productNo).orderByAsc(ProductSpecValue::getSort);
         List<ProductSpecValue> allValues = productSpecValueMapper.selectList(valueWrapper);
 
-        // 按规格ID分组
+        // 按规格ID分组
         Map<Long, List<ProductSpecValue>> valueMap = allValues.stream().collect(Collectors.groupingBy(ProductSpecValue::getSpecId));
 
         // 构建每个规格的规格值列表
@@ -713,13 +713,14 @@ public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> impl
             String join = String.join(",", specValues);
             log.info("规格值文本:{}", join);
             vo.setSpecValueText(join);
-            //根据规格值查询规格的图片
+            //根据商品ID和规格值查询商品库存
             LambdaQueryWrapper<ProductSku> eq = new LambdaQueryWrapper<ProductSku>().eq(ProductSku::getSpecCombo, join)
                     .eq(ProductSku::getProductId, productId).orderByDesc(ProductSku::getCreateTime).last("limit 1");
             ProductSku sku = productSkuMapper.selectOne(eq);
             if (sku == null) {
                 vo.setImage("");
             } else {
+                vo.setSkuId(sku.getId());
                 vo.setImage(sku.getImage());
                 vo.setPriceMoney(sku.getPriceMoney());
                 vo.setPricePoint(sku.getPricePoint());