Browse Source

维多利亚

24282 2 years ago
parent
commit
69722c3b05

+ 1 - 1
hx-common/code-generator/src/main/java/com/fjhx/modular/Victoriatourist.java

@@ -12,7 +12,7 @@ public class Victoriatourist {
         CodeGenerator.MODULAR_NAME = "victoriatourist";
 
         // 需要生成的表名称,多表用,隔开
-        CodeGenerator.INCLUDE = "stock_combination";
+        CodeGenerator.INCLUDE = "product_tag";
 
         // mysql连接
         CodeGenerator.MYSQL_URL = "36.134.91.96:17330";

+ 1 - 1
hx-common/common-tool/src/main/java/com/fjhx/base/BaseService.java

@@ -71,7 +71,7 @@ public interface BaseService<T> extends IService<T> {
     /**
      * 获取添加过的某个字段的去重列表
      */
-    default List<?> getDistinctList(SFunction<T, ?> column) {
+    default <V> List<V> getDistinctList(SFunction<T, V> column) {
         return list(Wrappers.<T>lambdaQuery().select(column))
                 .stream().map(column).filter(Objects::nonNull).distinct().collect(Collectors.toList());
     }

+ 45 - 0
hx-service-api/victoriatourist-api/src/main/java/com/fjhx/entity/product/ProductTag.java

@@ -0,0 +1,45 @@
+package com.fjhx.entity.product;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.fjhx.base.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * <p>
+ * 产品标签
+ * </p>
+ *
+ * @author ${author}
+ * @since 2023-02-21
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class ProductTag extends BaseEntity {
+
+    /**
+     * 产品id
+     */
+    @NotNull(message = "产品id不能为空")
+    private Long productInfoId;
+
+    /**
+     * 标签名称
+     */
+    @NotBlank(message = "标签名称不能为空")
+    private String tagName;
+
+    /**
+     * 逻辑删除 0未删除 1已删除
+     */
+    @TableField(fill = FieldFill.INSERT)
+    @TableLogic
+    private Integer delFlag;
+
+
+}

+ 17 - 0
hx-service-api/victoriatourist-api/src/main/java/com/fjhx/params/product/ProductTagEx.java

@@ -0,0 +1,17 @@
+package com.fjhx.params.product;
+
+import com.fjhx.entity.product.ProductTag;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 产品标签
+ *
+ * @author ${author}
+ * @since 2023-02-21
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class ProductTagEx extends ProductTag {
+
+}

+ 17 - 0
hx-service-api/victoriatourist-api/src/main/java/com/fjhx/params/product/ProductTagVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.params.product;
+
+import com.fjhx.entity.product.ProductTag;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 产品标签
+ *
+ * @author ${author}
+ * @since 2023-02-21
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class ProductTagVo extends ProductTag {
+
+}

+ 1 - 1
hx-service/storage/src/main/java/com/fjhx/stock/controller/StockController.java

@@ -39,7 +39,7 @@ public class StockController {
     }
 
     @PostMapping("/materialStock")
-    public R materialStock(BaseSelectDto dto) {
+    public R materialStock(@RequestBody BaseSelectDto dto) {
         Page<Map<String, Object>> result = stockService.materialStock(dto);
         return R.success(result);
     }

+ 79 - 0
hx-service/victoriatourist/src/main/java/com/fjhx/controller/product/ProductTagController.java

@@ -0,0 +1,79 @@
+package com.fjhx.controller.product;
+
+import com.fjhx.entity.product.ProductTag;
+import com.fjhx.params.product.ProductTagVo;
+import com.fjhx.service.product.ProductTagService;
+import org.springblade.core.tool.api.R;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.constraints.NotEmpty;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 产品标签 前端控制器
+ * </p>
+ *
+ * @author ${author}
+ * @since 2023-02-21
+ */
+@RestController
+@RequestMapping("/productTag")
+public class ProductTagController {
+
+    @Autowired
+    private ProductTagService productTagService;
+
+    /**
+     * 产品标签对象
+     */
+    @PostMapping("/tagMap")
+    public R tagMap(@NotEmpty(message = "产品id列表不能为空") @RequestBody List<Long> productIdList) {
+        Map<Long, List<ProductTag>> result = productTagService.tagMap(productIdList);
+        return R.success(result);
+    }
+
+    /**
+     * 添加产品标签
+     */
+    @PostMapping("/add")
+    public R add(@Validated @RequestBody ProductTagVo productTagVo) {
+        productTagService.add(productTagVo);
+        return R.success();
+    }
+
+    /**
+     * 编辑产品标签
+     */
+    @PostMapping("/edit")
+    public R edit(@Validated @RequestBody ProductTagVo productTagVo) {
+        productTagService.edit(productTagVo);
+        return R.success();
+    }
+
+    /**
+     * 删除产品标签
+     */
+    @PostMapping("/delete")
+    public R delete(@RequestBody ProductTagVo productTagVo) {
+        productTagService.delete(productTagVo);
+        return R.success();
+    }
+
+    /**
+     * 获取去重后的标签名称
+     */
+    @PostMapping("/distinctTagNameList")
+    public R distinctList() {
+        List<String> distinctList = productTagService.getDistinctList(ProductTag::getTagName);
+        return R.success(distinctList);
+    }
+
+}
+

+ 16 - 0
hx-service/victoriatourist/src/main/java/com/fjhx/mapper/product/ProductTagMapper.java

@@ -0,0 +1,16 @@
+package com.fjhx.mapper.product;
+
+import com.fjhx.entity.product.ProductTag;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 产品标签 Mapper 接口
+ * </p>
+ *
+ * @author ${author}
+ * @since 2023-02-21
+ */
+public interface ProductTagMapper extends BaseMapper<ProductTag> {
+
+}

+ 5 - 0
hx-service/victoriatourist/src/main/java/com/fjhx/mapper/product/ProductTagMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fjhx.mapper.product.ProductTagMapper">
+
+</mapper>

+ 28 - 0
hx-service/victoriatourist/src/main/java/com/fjhx/service/product/ProductTagService.java

@@ -0,0 +1,28 @@
+package com.fjhx.service.product;
+
+import com.fjhx.base.BaseService;
+import com.fjhx.entity.product.ProductTag;
+import com.fjhx.params.product.ProductTagVo;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 产品标签 服务类
+ * </p>
+ *
+ * @author ${author}
+ * @since 2023-02-21
+ */
+public interface ProductTagService extends BaseService<ProductTag> {
+
+    Map<Long, List<ProductTag>> tagMap(List<Long> productIdList);
+
+    void add(ProductTagVo productTagVo);
+
+    void edit(ProductTagVo productTagVo);
+
+    void delete(ProductTagVo productTagVo);
+
+}

+ 47 - 0
hx-service/victoriatourist/src/main/java/com/fjhx/service/product/impl/ProductTagServiceImpl.java

@@ -0,0 +1,47 @@
+package com.fjhx.service.product.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.entity.product.ProductTag;
+import com.fjhx.mapper.product.ProductTagMapper;
+import com.fjhx.params.product.ProductTagVo;
+import com.fjhx.service.product.ProductTagService;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ * 产品标签 服务实现类
+ * </p>
+ *
+ * @author ${author}
+ * @since 2023-02-21
+ */
+@Service
+public class ProductTagServiceImpl extends ServiceImpl<ProductTagMapper, ProductTag> implements ProductTagService {
+
+
+    @Override
+    public Map<Long, List<ProductTag>> tagMap(List<Long> productIdList) {
+        List<ProductTag> list = list(q -> q.in(ProductTag::getProductInfoId, productIdList));
+        return list.stream().collect(Collectors.groupingBy(ProductTag::getProductInfoId));
+    }
+
+    @Override
+    public void add(ProductTagVo productTagVo) {
+        save(productTagVo);
+    }
+
+    @Override
+    public void edit(ProductTagVo productTagVo) {
+        updateById(productTagVo);
+    }
+
+    @Override
+    public void delete(ProductTagVo productTagVo) {
+        removeById(productTagVo.getId());
+    }
+
+}