Преглед на файлове

设置查询商品树结构

码头薯片 преди 6 месеца
родител
ревизия
9822a62d34

+ 13 - 0
ruoyi-framework/src/main/java/com/ruoyi/framework/recovery/controller/RecStallController.java

@@ -1,6 +1,8 @@
 package com.ruoyi.framework.recovery.controller;
 
 import java.util.List;
+
+import com.ruoyi.framework.recovery.domain.vo.RecStallGoodsVo;
 import jakarta.servlet.http.HttpServletResponse;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -101,4 +103,15 @@ public class RecStallController extends BaseController
     {
         return toAjax(recStallService.deleteRecStallByIds(ids));
     }
+
+    /**
+     * 查询所有商品内容
+     */
+    @PreAuthorize("@ss.hasPermi('recovery:stall:list')")
+    @GetMapping("/goods/list")
+    public AjaxResult getGoods()
+    {
+        List<RecStallGoodsVo> list = recStallService.selectGoodsList();
+        return AjaxResult.success(list);
+    }
 }

+ 42 - 13
ruoyi-framework/src/main/java/com/ruoyi/framework/recovery/domain/RecCommodity.java

@@ -51,6 +51,18 @@ public class RecCommodity extends BaseEntity
     @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
     private Date updateDate;
 
+    /**
+     * 商品规格
+     */
+    @Excel(name = "商品规格")
+    private String specs;
+
+    /**
+     * 商品图片地址
+     */
+    @Excel(name = "商品图片地址")
+    private String images;
+
     public void setId(Long id)
     {
         this.id = id;
@@ -119,24 +131,41 @@ public class RecCommodity extends BaseEntity
         this.updateDate = updateDate;
     }
 
-    public Date getupdateDate()
+    public Date getUpdateDate()
     {
         return updateDate;
     }
 
+    public String getSpecs() {
+        return specs;
+    }
+
+    public void setSpecs(String specs) {
+        this.specs = specs;
+    }
+
+    public String getImages() {
+        return images;
+    }
+
+    public void setImages(String images) {
+        this.images = images;
+    }
+
     @Override
     public String toString() {
-        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-            .append("id", getId())
-            .append("brandId", getBrandId())
-            .append("model", getModel())
-            .append("catalog", getCatalog())
-            .append("sale", getSale())
-            .append("market", getMarket())
-            .append("createBy", getCreateBy())
-            .append("createDate", getCreateDate())
-            .append("updateBy", getUpdateBy())
-            .append("updateDate", getupdateDate())
-            .toString();
+        final StringBuffer sb = new StringBuffer("RecCommodity{");
+        sb.append("id=").append(id);
+        sb.append(", brandId=").append(brandId);
+        sb.append(", model='").append(model).append('\'');
+        sb.append(", catalog='").append(catalog).append('\'');
+        sb.append(", sale=").append(sale);
+        sb.append(", market=").append(market);
+        sb.append(", createDate=").append(createDate);
+        sb.append(", updateDate=").append(updateDate);
+        sb.append(", specs='").append(specs).append('\'');
+        sb.append(", images='").append(images).append('\'');
+        sb.append('}');
+        return sb.toString();
     }
 }

+ 3 - 3
ruoyi-framework/src/main/java/com/ruoyi/framework/recovery/domain/RecStores.java

@@ -61,7 +61,7 @@ public class RecStores extends BaseEntity
 
     /** 商品id */
     @Excel(name = "商品id")
-    private Long commondityId;
+    private String commondityId;
 
     /** 门店位置 */
     @Excel(name = "门店位置")
@@ -163,12 +163,12 @@ public class RecStores extends BaseEntity
     {
         return updateDate;
     }
-    public void setCommondityId(Long commondityId)
+    public void setCommondityId(String commondityId)
     {
         this.commondityId = commondityId;
     }
 
-    public Long getCommondityId()
+    public String getCommondityId()
     {
         return commondityId;
     }

+ 52 - 0
ruoyi-framework/src/main/java/com/ruoyi/framework/recovery/domain/vo/CommodityVo.java

@@ -0,0 +1,52 @@
+package com.ruoyi.framework.recovery.domain.vo;
+
+public class CommodityVo {
+    /**
+     * 商品ID
+     */
+    private Long id;
+
+    /**
+     * 商品型号
+     */
+    private String model;
+
+    /**
+     * 商品规格
+     */
+    private String specs;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getModel() {
+        return model;
+    }
+
+    public void setModel(String model) {
+        this.model = model;
+    }
+
+    public String getSpecs() {
+        return specs;
+    }
+
+    public void setSpecs(String specs) {
+        this.specs = specs;
+    }
+
+    @Override
+    public String toString() {
+        final StringBuffer sb = new StringBuffer("CommodityVo{");
+        sb.append("id=").append(id);
+        sb.append(", model='").append(model).append('\'');
+        sb.append(", specs='").append(specs).append('\'');
+        sb.append('}');
+        return sb.toString();
+    }
+}

+ 66 - 0
ruoyi-framework/src/main/java/com/ruoyi/framework/recovery/domain/vo/GoodsVo.java

@@ -0,0 +1,66 @@
+package com.ruoyi.framework.recovery.domain.vo;
+
+public class GoodsVo {
+    /**
+     * 品牌
+     */
+    private String brand;
+
+    /**
+     * 商品ID
+     */
+    private Long id;
+
+    /**
+     * 商品型号
+     */
+    private String model;
+
+    /**
+     * 商品规格
+     */
+    private String specs;
+
+    public String getBrand() {
+        return brand;
+    }
+
+    public void setBrand(String brand) {
+        this.brand = brand;
+    }
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getModel() {
+        return model;
+    }
+
+    public void setModel(String model) {
+        this.model = model;
+    }
+
+    public String getSpecs() {
+        return specs;
+    }
+
+    public void setSpecs(String specs) {
+        this.specs = specs;
+    }
+
+    @Override
+    public String toString() {
+        final StringBuffer sb = new StringBuffer("GoodsVo{");
+        sb.append("brand='").append(brand).append('\'');
+        sb.append(", id=").append(id);
+        sb.append(", model='").append(model).append('\'');
+        sb.append(", specs='").append(specs).append('\'');
+        sb.append('}');
+        return sb.toString();
+    }
+}

+ 41 - 0
ruoyi-framework/src/main/java/com/ruoyi/framework/recovery/domain/vo/RecStallGoodsVo.java

@@ -0,0 +1,41 @@
+package com.ruoyi.framework.recovery.domain.vo;
+
+
+import java.util.List;
+
+public class RecStallGoodsVo {
+    /**
+     * 品牌
+     */
+    private String brand;
+
+    /**
+     * 商品
+     */
+    private List<CommodityVo> goods;
+
+    public String getBrand() {
+        return brand;
+    }
+
+    public void setBrand(String brand) {
+        this.brand = brand;
+    }
+
+    public List<CommodityVo> getGoods() {
+        return goods;
+    }
+
+    public void setGoods(List<CommodityVo> goods) {
+        this.goods = goods;
+    }
+
+    @Override
+    public String toString() {
+        final StringBuffer sb = new StringBuffer("RecStallGoodsVo{");
+        sb.append("brand='").append(brand).append('\'');
+        sb.append(", goods=").append(goods);
+        sb.append('}');
+        return sb.toString();
+    }
+}

+ 8 - 0
ruoyi-framework/src/main/java/com/ruoyi/framework/recovery/mapper/RecStallMapper.java

@@ -2,6 +2,7 @@ package com.ruoyi.framework.recovery.mapper;
 
 import java.util.List;
 import com.ruoyi.framework.recovery.domain.RecStall;
+import com.ruoyi.framework.recovery.domain.vo.GoodsVo;
 
 /**
  * 回收档口Mapper接口
@@ -58,4 +59,11 @@ public interface RecStallMapper
      * @return 结果
      */
     public int deleteRecStallByIds(Long[] ids);
+
+    /**
+     * 查询所有商品
+     *
+     * @return 商品结果集
+     */
+    List<GoodsVo> selectAllGoods();
 }

+ 8 - 0
ruoyi-framework/src/main/java/com/ruoyi/framework/recovery/service/IRecStallService.java

@@ -2,6 +2,7 @@ package com.ruoyi.framework.recovery.service;
 
 import java.util.List;
 import com.ruoyi.framework.recovery.domain.RecStall;
+import com.ruoyi.framework.recovery.domain.vo.RecStallGoodsVo;
 
 /**
  * 回收档口Service接口
@@ -58,4 +59,11 @@ public interface IRecStallService
      * @return 结果
      */
     public int deleteRecStallById(Long id);
+
+    /**
+     * 查询所有商品
+     *
+     * @return 商品结果集
+     */
+    List<RecStallGoodsVo> selectGoodsList();
 }

+ 30 - 2
ruoyi-framework/src/main/java/com/ruoyi/framework/recovery/service/impl/RecStallServiceImpl.java

@@ -1,7 +1,12 @@
 package com.ruoyi.framework.recovery.service.impl;
 
-import java.util.Date;
-import java.util.List;
+import java.util.*;
+import java.util.stream.Collectors;
+
+import com.ruoyi.common.utils.bean.BeanUtils;
+import com.ruoyi.framework.recovery.domain.vo.CommodityVo;
+import com.ruoyi.framework.recovery.domain.vo.GoodsVo;
+import com.ruoyi.framework.recovery.domain.vo.RecStallGoodsVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.ruoyi.framework.recovery.mapper.RecStallMapper;
@@ -92,4 +97,27 @@ public class RecStallServiceImpl implements IRecStallService
     {
         return recStallMapper.deleteRecStallById(id);
     }
+
+    @Override
+    public List<RecStallGoodsVo> selectGoodsList() {
+        List<GoodsVo> goodsVos =  recStallMapper.selectAllGoods();
+        // 根据品牌名称分组
+        Map<String, List<GoodsVo>> brandMap = goodsVos.stream().collect(Collectors.groupingBy(GoodsVo::getBrand));
+        List<RecStallGoodsVo> recStallGoodsVos = new ArrayList<>();
+        // 分组后的内容分别插入vo,最终形式为["brand":"华为",["id":"2","model":"p70","specs":"256G黑"]]
+        for (Map.Entry<String, List<GoodsVo>> entry : brandMap.entrySet()) {
+            RecStallGoodsVo stallVo = new RecStallGoodsVo();
+            stallVo.setBrand(entry.getKey());
+            List<CommodityVo> goods = new ArrayList<>();
+            List<GoodsVo> value = entry.getValue();
+            for (GoodsVo vo : value) {
+                CommodityVo commodityVo = new CommodityVo();
+                BeanUtils.copyBeanProp(commodityVo, vo);
+                goods.add(commodityVo);
+            }
+            stallVo.setGoods(goods);
+            recStallGoodsVos.add(stallVo);
+        }
+        return recStallGoodsVos;
+    }
 }

+ 12 - 1
ruoyi-system/src/main/resources/mapper/system/RecCommodityMapper.xml

@@ -15,10 +15,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="createDate"    column="create_date"    />
         <result property="updateBy"    column="update_by"    />
         <result property="updateDate"    column="update_date"    />
+        <result property="images" column="images"/>
+        <result property="specs" column="specs"/>
     </resultMap>
 
     <sql id="selectRecCommodityVo">
-        select id, brand_id, model, catalog, sale, market, create_by, create_date, update_by, update_date from rec_commodity
+        select id, brand_id, model, catalog, sale, market, create_by, create_date, update_by,
+            update_date, images, specs from rec_commodity
     </sql>
 
     <select id="selectRecCommodityList" parameterType="RecCommodity" resultMap="RecCommodityResult">
@@ -31,6 +34,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="market != null "> and market = #{market}</if>
             <if test="createDate != null "> and create_date = #{createDate}</if>
             <if test="updateDate != null "> and update_date = #{updateDate}</if>
+            <if test="images != null "> and images = #{images}</if>
+            <if test="specs != null "> and specs = #{specs}</if>
         </where>
     </select>
 
@@ -51,6 +56,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="createDate != null">create_date,</if>
             <if test="updateBy != null">update_by,</if>
             <if test="updateDate != null">update_date,</if>
+            <if test="images != null">images,</if>
+            <if test="specs != null">specs,</if>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="brandId != null">#{brandId},</if>
@@ -62,6 +69,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="createDate != null">#{createDate},</if>
             <if test="updateBy != null">#{updateBy},</if>
             <if test="updateDate != null">#{updateDate},</if>
+            <if test="images != null">#{images},</if>
+            <if test="specs != null">#{specs},</if>
          </trim>
     </insert>
 
@@ -77,6 +86,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="createDate != null">create_date = #{createDate},</if>
             <if test="updateBy != null">update_by = #{updateBy},</if>
             <if test="updateDate != null">update_date = #{updateDate},</if>
+            <if test="images != null">update_date = #{images},</if>
+            <if test="specs != null">update_date = #{specs},</if>
         </trim>
         where id = #{id}
     </update>

+ 5 - 0
ruoyi-system/src/main/resources/mapper/system/RecStallMapper.xml

@@ -113,4 +113,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             #{id}
         </foreach>
     </delete>
+
+    <select id="selectAllGoods" resultType="com.ruoyi.framework.recovery.domain.vo.GoodsVo">
+        SELECT rb.brand as brand, rc.id as id, rc.model as model,rc.specs as specs
+        FROM rec_commodity rc left join rec_brand rb on rb.id = rc.brand_id
+    </select>
 </mapper>