Browse Source

feat(product): 添加商品分类的信息类型字段并更新相关接口

zrd 1 tháng trước cách đây
mục cha
commit
8b5ce3b3bb

+ 10 - 0
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/app/spu/AppProductSpuController.java

@@ -7,9 +7,11 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
 import cn.iocoder.yudao.module.product.controller.app.spu.vo.AppProductSpuDetailRespVO;
 import cn.iocoder.yudao.module.product.controller.app.spu.vo.AppProductSpuPageReqVO;
 import cn.iocoder.yudao.module.product.controller.app.spu.vo.AppProductSpuRespVO;
+import cn.iocoder.yudao.module.product.dal.dataobject.category.ProductCategoryDO;
 import cn.iocoder.yudao.module.product.dal.dataobject.sku.ProductSkuDO;
 import cn.iocoder.yudao.module.product.dal.dataobject.spu.ProductSpuDO;
 import cn.iocoder.yudao.module.product.enums.spu.ProductSpuStatusEnum;
+import cn.iocoder.yudao.module.product.service.category.ProductCategoryService;
 import cn.iocoder.yudao.module.product.service.history.ProductBrowseHistoryService;
 import cn.iocoder.yudao.module.product.service.sku.ProductSkuService;
 import cn.iocoder.yudao.module.product.service.spu.ProductSpuService;
@@ -46,6 +48,8 @@ public class AppProductSpuController {
     @Resource
     private ProductSkuService productSkuService;
     @Resource
+    private ProductCategoryService productCategoryService;
+    @Resource
     private ProductBrowseHistoryService productBrowseHistoryService;
 
     @GetMapping("/list-by-ids")
@@ -89,6 +93,8 @@ public class AppProductSpuController {
         if (spu == null) {
             throw exception(SPU_NOT_EXISTS);
         }
+        ProductCategoryDO category = productCategoryService.getCategory(spu.getCategoryId());
+        
         if (!ProductSpuStatusEnum.isEnable(spu.getStatus())) {
             throw exception(SPU_NOT_ENABLE, spu.getName());
         }
@@ -102,8 +108,12 @@ public class AppProductSpuController {
 
         // 拼接返回
         spu.setSalesCount(spu.getSalesCount() + spu.getVirtualSalesCount());
+        
         AppProductSpuDetailRespVO spuVO = BeanUtils.toBean(spu, AppProductSpuDetailRespVO.class)
                 .setSkus(BeanUtils.toBean(skus, AppProductSpuDetailRespVO.Sku.class));
+        if (category != null) {
+            spuVO.setInfoTypes(category.getInfoTypes());
+        }
         return success(spuVO);
     }
 

+ 5 - 0
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/controller/app/spu/vo/AppProductSpuDetailRespVO.java

@@ -57,6 +57,11 @@ public class AppProductSpuDetailRespVO {
     @Schema(description = "联系人二维码路径")
     private String qrCodePath;
     private String userHtml;
+    
+    /**
+     * 信息类型
+     */
+    private String infoTypes;
     /**
      * SKU 数组
      */

+ 9 - 1
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/category/ProductCategoryDO.java

@@ -7,6 +7,8 @@ import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.*;
 
+import java.io.Serial;
+
 /**
  * 商品分类 DO
  *
@@ -30,7 +32,9 @@ public class ProductCategoryDO extends BaseDO {
      * 限定分类层级
      */
     public static final int CATEGORY_LEVEL = 2;
-
+    @Serial
+    private static final long serialVersionUID = -4359199734688331468L;
+    
     /**
      * 分类编号
      */
@@ -60,5 +64,9 @@ public class ProductCategoryDO extends BaseDO {
      * 枚举 {@link CommonStatusEnum}
      */
     private Integer status;
+    /**
+     * 信息类型
+     */
+    private String infoTypes;
 
 }

+ 2 - 0
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/userinfoai/vo/UserInfoAiPageReqVO.java

@@ -37,5 +37,7 @@ public class UserInfoAiPageReqVO extends PageParam {
     @Schema(description = "是否选中#info_status", example = "1")
     private String infoStatus;
     private List<String> infoFiles;
+    private List<String> types;
+    private List<Long> ids;
     private String additionalInfo;
 }

+ 1 - 1
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/user/AppUserInfoAiController.java

@@ -24,7 +24,7 @@ import java.util.List;
 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
 import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
 
-@Tag(name = "APP - 用户信息")
+@Tag(name = "APP - 用户信息AI识别")
 @RestController
 @RequestMapping("/member/user-info-ai")
 @Validated

+ 2 - 1
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/userinfoai/UserInfoAiMapper.java

@@ -32,7 +32,8 @@ public interface UserInfoAiMapper extends BaseMapperX<UserInfoAiDO> {
                 .eqIfPresent(UserInfoAiDO::getUserId, reqVO.getUserId())
                 .eqIfPresent(UserInfoAiDO::getTextInformation, reqVO.getTextInformation())
                 .betweenIfPresent(UserInfoAiDO::getCreateTime, reqVO.getCreateTime())
-                .eqIfPresent(UserInfoAiDO::getInformationType, reqVO.getInformationType())
+                .inIfPresent(UserInfoAiDO::getInformationType, reqVO.getTypes())
+                .inIfPresent(UserInfoAiDO::getId, reqVO.getIds())
                 .eqIfPresent(UserInfoAiDO::getInfoStatus, reqVO.getInfoStatus())
                 .orderByDesc(UserInfoAiDO::getId));
     }