瀏覽代碼

添加超市商品分类接口

liu 9 月之前
父節點
當前提交
f1a785e1af

+ 16 - 2
src/main/java/com/sqx/modules/goods/controller/app/AppGoodsController.java

@@ -34,9 +34,9 @@ public class AppGoodsController {
 
     @ApiOperation("根据商铺id查看商品列表")
     @GetMapping(value = "/selectGoodsList")
-    public Result selectGoodsList(Long shopId, Double lng, Double lat,Integer page, Integer limit){
+    public Result selectGoodsList(Long shopId, Double lng, Double lat){
 
-        return goodsService.selectGoodsList(shopId, lng, lat,page,limit);
+        return goodsService.selectGoodsList(shopId, lng, lat);
     }
 
     @ApiOperation("查看商品详情")
@@ -134,4 +134,18 @@ public class AppGoodsController {
         return goodsService.goodsParticularsPictureList(page,limit,name);
     }
 
+    @ApiOperation("根据商铺id查看超市商品类型列表")
+    @GetMapping(value = "/selectGoodsClassifyList")
+    public Result selectGoodsClassifyList(Long shopId, Double lng, Double lat){
+
+        return goodsService.selectGoodsClassifyList(shopId, lng, lat);
+    }
+
+    @ApiOperation("根据商铺id和商品类型id查看商品列表")
+    @GetMapping(value = "/selectSupermarketGoodsList")
+    public Result selectSupermarketGoodsList(Long shopId, Integer classifyId, Integer page, Integer limit){
+
+        return goodsService.selectSupermarketGoodsList(shopId, classifyId, page,limit);
+    }
+
 }

+ 2 - 0
src/main/java/com/sqx/modules/goods/dao/GoodsDao.java

@@ -46,4 +46,6 @@ public interface GoodsDao extends BaseMapper<Goods> {
     IPage<Goods> goodsParticularsPictureList(Page<Goods> pages,@Param("name") String name,@Param("total") Integer total);
 
     List<GoodsListVo> selectGoodsVoByClassify(@Param("classifyId") Integer classifyId, @Param("shopId") Long shopId);
+
+    IPage<Goods> selectSupermarketGoodsList(Page<Goods> pages,@Param("shopId") Long shopId,@Param("classifyId") Integer classifyId);
 }

+ 5 - 1
src/main/java/com/sqx/modules/goods/service/GoodsService.java

@@ -16,7 +16,7 @@ public interface GoodsService extends IService<Goods> {
 
     Result selectGoodsById(Long goodsId);
 
-    Result selectGoodsList(Long shopId, Double lng, Double lat,Integer page, Integer limit);
+    Result selectGoodsList(Long shopId, Double lng, Double lat);
 
     Result updateGoods(Goods goods);
 
@@ -75,4 +75,8 @@ public interface GoodsService extends IService<Goods> {
     Result goodsPictureList(Integer page, Integer limit, String name);
 
     Result goodsParticularsPictureList(Integer page, Integer limit, String name);
+
+    Result selectGoodsClassifyList(Long shopId, Double lng, Double lat);
+
+    Result selectSupermarketGoodsList(Long shopId, Integer classifyId, Integer page, Integer limit);
 }

+ 33 - 11
src/main/java/com/sqx/modules/goods/service/impl/GoodsServiceImpl.java

@@ -171,20 +171,17 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsDao, Goods> implements Go
 
 
     @Override
-    public Result selectGoodsList(Long shopId, Double lng, Double lat,Integer page, Integer limit) {
+    public Result selectGoodsList(Long shopId, Double lng, Double lat) {
         GoodsShop goodsShop = goodsShopDao.selectGoodsList(shopId, lng, lat);
         //List<Goods> goodsList = goodsDao.selectGoodsClassifyList(shopId);
-        Page<GoodsClassify> pages = new Page<>(page,limit);
-        IPage<GoodsClassify> goodsClassifyIPage = goodsDao.selectAllClassify(pages,null, shopId);
-//        List<GoodsClassify> goodsClassifyIPage = goodsDao.selectAllClassifyList(null, shopId);
+        List<GoodsClassify> goodsClassifies = goodsDao.selectAllClassifyList(null, shopId);
 
-        List<GoodsClassify> goodsClassifies = goodsClassifyIPage.getRecords();
         List<Map<String, Object>> list = new ArrayList<>();
         for (int i = 0; i < goodsClassifies.size(); i++) {
             Map<String, Object> hashMap = new HashMap<>();
             GoodsClassify goodsClassify = goodsClassifies.get(i);
-//            List<Goods> goodsList1 = goodsDao.selectGoodsByClassify(goodsClassify.getClassifyId(), shopId);
-            List<GoodsListVo> goodsList1 = goodsDao.selectGoodsVoByClassify(goodsClassify.getClassifyId(), shopId);
+            List<Goods> goodsList1 = goodsDao.selectGoodsByClassify(goodsClassify.getClassifyId(), shopId);
+//            List<GoodsListVo> goodsList1 = goodsDao.selectGoodsVoByClassify(goodsClassify.getClassifyId(), shopId);
             hashMap.put("classifyId", goodsClassifies.get(i).getClassifyId());
             hashMap.put("classifyName", goodsClassify.getClassifyName());
             hashMap.put("goodsList", goodsList1);
@@ -203,10 +200,6 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsDao, Goods> implements Go
         Map<String, Object> result = new HashMap<>();
         result.put("goodsShop", goodsShop);
         result.put("list", list);
-        result.put("pages", goodsClassifyIPage.getPages());
-        result.put("current", goodsClassifyIPage.getCurrent());
-        result.put("size", goodsClassifyIPage.getSize());
-        result.put("total", goodsClassifyIPage.getTotal());
         return Result.success().put("data", result);
     }
 
@@ -883,4 +876,33 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsDao, Goods> implements Go
         return Result.success().put("data", pageUtils);
     }
 
+    @Override
+    public Result selectGoodsClassifyList(Long shopId, Double lng, Double lat) {
+        GoodsShop goodsShop = goodsShopDao.selectGoodsList(shopId, lng, lat);
+        //List<Goods> goodsList = goodsDao.selectGoodsClassifyList(shopId);
+        List<GoodsClassify> goodsClassifies = goodsDao.selectAllClassifyList(null, shopId);
+
+        CommonInfo one = commonInfoService.findOne(292);
+        CommonInfo one1 = commonInfoService.findOne(293);
+        if (goodsShop.getDistance() == null) {
+            goodsShop.setDistance(0.00);
+        }
+        BigDecimal a = BigDecimal.valueOf(goodsShop.getDistance()).divide(new BigDecimal(one.getValue()), 2, BigDecimal.ROUND_HALF_DOWN);
+        if (a.doubleValue() < Double.parseDouble(one1.getValue())) {
+            a = new BigDecimal(one1.getValue());
+        }
+        goodsShop.setErrandTime(a.doubleValue());
+        Map<String, Object> result = new HashMap<>();
+        result.put("goodsShop", goodsShop);
+        result.put("list", goodsClassifies);
+        return Result.success().put("data", result);
+    }
+
+    @Override
+    public Result selectSupermarketGoodsList(Long shopId, Integer classifyId, Integer page, Integer limit) {
+        Page<Goods> pages = new Page<>(page, limit);
+        IPage<Goods> goodsIPage = goodsDao.selectSupermarketGoodsList(pages,shopId, classifyId);
+        return Result.success().put("data", goodsIPage);
+    }
+
 }

+ 1 - 1
src/main/resources/application.yml

@@ -21,7 +21,7 @@ spring:
     allow-circular-references: true
   # 环境 dev|test|prod
   profiles:
-    active: dev
+    active: prod
   # jackson时间格式化
   jackson:
     time-zone: GMT+8

+ 25 - 0
src/main/resources/mapper/goods/GoodsMapper.xml

@@ -213,5 +213,30 @@
           and g.status = 0
         order by g.sort asc
     </select>
+    <select id="selectSupermarketGoodsList" resultType="com.sqx.modules.goods.entity.Goods">
+        select g.*, gsr.sales as sales, gsr.inventory as inventory, ga.activityList
+        from goods_shop_relevancy gsr
+                 left join goods g on gsr.goods_id = g.goods_id
+                 left join (
+            select
+                tmp.goods_id, group_concat(a.title) as activityList
+            from
+                (
+                    select t.activity_shop_id, substring_index(substring_index(t.goods_ids, ',', n.n), ',', -1) goods_id
+                    from
+                            (select 1 as n union select 2 union select 3 union select 4) n
+                                inner join activity_goods t on char_length(t.goods_ids)-char_length(replace(t.goods_ids, ',', ''))>=n.n-1
+                    order by n.n
+                ) tmp
+                    left join activity_shop ach on ach.id = tmp.activity_shop_id
+                    left join activity a on ach.activity_id = a.id
+            where a.del_flag = '0'
+            group by tmp.goods_id
+        ) ga on ga.goods_id = g.goods_id
+        where gsr.shop_id = #{shopId}
+          and g.classify_id = #{classifyId}
+          and g.status = 0
+        order by g.sort asc
+    </select>
 
 </mapper>