From 80db7f06d679c72e26e7a4b56f24f4bd66be3d89 Mon Sep 17 00:00:00 2001 From: huliguo <2023611923@qq.com> Date: 星期四, 31 七月 2025 15:50:41 +0800 Subject: [PATCH] bug修改 --- ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsMapper.xml | 66 +++++++++++++++++++++++++++++++-- ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/UpdateGoodsPriceDTO.java | 2 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/goods/GoodsMapper.java | 2 + ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/goods/GoodsServiceImpl.java | 34 ++++++++++++----- 4 files changed, 89 insertions(+), 15 deletions(-) diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/UpdateGoodsPriceDTO.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/UpdateGoodsPriceDTO.java index c5e901a..0edf31a 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/UpdateGoodsPriceDTO.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/dto/UpdateGoodsPriceDTO.java @@ -11,7 +11,7 @@ private Long shopId; @ApiModelProperty(value = "商品id") - private Long goodsId; + private String goodsId; @ApiModelProperty(value = "商品绑定门店id") private Long bindShopId; @ApiModelProperty("修改价格") diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/goods/GoodsMapper.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/goods/GoodsMapper.java index 5cb60ff..6b05189 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/goods/GoodsMapper.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/goods/GoodsMapper.java @@ -163,4 +163,6 @@ List<PageShopMgtGoodsVO> pageShopMgtGoods(Page<PageShopMgtGoodsVO> page,@Param("dto") PageShopMgtGoodsDTO dto); List<String> staticsShopMgtGoods(@Param("dto") PageShopMgtGoodsDTO pageShopMgtGoodsDTO); + + List<PageShopMgtGoodsVO> pageShopMgtGoodsBySingle(Page<PageShopMgtGoodsVO> page,@Param("dto") PageShopMgtGoodsDTO pageShopMgtGoodsDTO); } diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/goods/GoodsServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/goods/GoodsServiceImpl.java index ed894da..6419b73 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/goods/GoodsServiceImpl.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/goods/GoodsServiceImpl.java @@ -717,18 +717,25 @@ return Collections.emptyList(); } List<Shop> shops = new ArrayList<>(); + List<PageShopMgtGoodsVO> list = new ArrayList<>(); //2.判断门店是否经销商 if (shop.getShopType()==1){ //经销商 获取下级-加盟商ids shops = remoteShopService.getFranchiseeIdsBYDealerId(shop.getShopId()); + //将该门店加入 + shops.add(shop); + List<Long> shopIds = shops.stream().map(Shop::getShopId).collect(Collectors.toList()); + //查询信息 + pageShopMgtGoodsDTO.setShopIds(shopIds); + //3.根据shopId查询商品信息 + list= goodsMapper.pageShopMgtGoods(page,pageShopMgtGoodsDTO); + }else { + //将该门店加入 + shops.add(shop); + //3.根据shopId查询商品信息 + list= goodsMapper.pageShopMgtGoodsBySingle(page,pageShopMgtGoodsDTO); } - //将该门店加入 - shops.add(shop); - List<Long> shopIds = shops.stream().map(Shop::getShopId).collect(Collectors.toList()); - //查询信息 - pageShopMgtGoodsDTO.setShopIds(shopIds); - //3.根据shopId查询商品信息 - List<PageShopMgtGoodsVO> list= goodsMapper.pageShopMgtGoods(page,pageShopMgtGoodsDTO); + if (list != null && !list.isEmpty()) { //4.商品分类 @@ -755,12 +762,15 @@ )); //5.门店信息 list.forEach(mgtGoodsPageVo -> { + if(mgtGoodsPageVo.getBindShopId()==null){ + mgtGoodsPageVo.setBindShopId(String.valueOf(pageShopMgtGoodsDTO.getShopId())); + } // 获取门店信息 Shop shopInfo = shopMap.get(Long.valueOf(mgtGoodsPageVo.getBindShopId())); // 如果门店信息不为空,则设置门店信息 if (shopInfo != null) { mgtGoodsPageVo.setShopName(shopInfo.getShopName()); - mgtGoodsPageVo.setModifyPricePermission(shop.getModifyPricePermission()); +// mgtGoodsPageVo.setModifyPricePermission(shop.getModifyPricePermission()); } }); @@ -822,11 +832,15 @@ //修改门店内商品价格 ShopGoods shopGoods = shopGoodsService.getByShopIdAndGoodsId(updateGoodsPriceDTO.getBindShopId(), String.valueOf(updateGoodsPriceDTO.getGoodsId())); if (null == shopGoods || shopGoods.getDelFlag() != 0){ - return R.fail("该门店不存在该商品"); + shopGoods = new ShopGoods(); + shopGoods.setGoodsId(String.valueOf(updateGoodsPriceDTO.getGoodsId())); + shopGoods.setShopId(updateGoodsPriceDTO.getShopId()); + shopGoods.setDelFlag(0); + shopGoods.setServiceNum(0); } shopGoods.setUpdateUserId(sysUser.getUserId()); shopGoods.setSalesPrice(updateGoodsPriceDTO.getGoodsPrice()); - shopGoodsService.updateById(shopGoods); + shopGoodsService.saveOrUpdate(shopGoods); return R.ok(); } } diff --git a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsMapper.xml b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsMapper.xml index 2d92bbf..0b952cc 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsMapper.xml +++ b/ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsMapper.xml @@ -547,10 +547,19 @@ END goodsStatus, tg.create_time, tsg.shop_id bindShopId, - tsg.sales_price shopPrice + IFNULL(tsg.sales_price, tg.sales_price) AS shopPrice, + 1 as modifyPricePermission from t_goods tg LEFT JOIN t_goods_file tgf ON tg.goods_id = tgf.goods_id AND tgf.del_flag = 0 AND tgf.file_type = 1 - LEFT JOIN t_shop_goods tsg on tg.goods_id = tsg.goods_id and tsg.del_flag = 0 + LEFT JOIN t_shop_goods tsg on tg.goods_id = tsg.goods_id + <if test="dto.shopIds != null and dto.shopIds.size() > 0"> + AND tsg.shop_id IN + <foreach collection="dto.shopIds" item="item" open="(" separator="," close=")"> + #{item} + </foreach> + </if> + and tsg.del_flag = 0 + WHERE tg.del_flag = 0 <if test="dto.goodsType != null and dto.goodsType != ''"> AND tg.goods_type = #{dto.goodsType} @@ -570,12 +579,12 @@ <if test="dto.goodsStatus != null and dto.goodsStatus != ''"> AND tg.goods_status = #{dto.goodsStatus} </if> - <if test="dto.shopIds != null and dto.shopIds.size() > 0"> + <!-- <if test="dto.shopIds != null and dto.shopIds.size() > 0"> AND tsg.shop_id IN <foreach collection="dto.shopIds" item="item" open="(" separator="," close=")"> #{item} </foreach> - </if> + </if>--> ORDER BY tg.create_time DESC </select> @@ -610,5 +619,54 @@ </foreach> </if> </select> + <select id="pageShopMgtGoodsBySingle" resultType="com.ruoyi.goods.domain.vo.PageShopMgtGoodsVO"> + select + tg.goods_id, + tg.goods_name, + tg.goods_introduction, + tg.goods_class_id goodsClass, + tg.goods_tags, + tgf.file_url goodsPicture, + CASE tg.goods_type + WHEN 1 THEN "周期" + WHEN 2 THEN "服务" + WHEN 3 THEN "体验" + WHEN 4 THEN "单品" + END goodsType, + tg.sales_price suggestSalesPrice, + CASE tg.goods_status + WHEN 1 THEN "上架中" + WHEN 2 THEN "下架中" + ELSE "下架中" + END goodsStatus, + tg.create_time, + tsg.shop_id bindShopId, + IFNULL(tsg.sales_price, tg.sales_price) AS shopPrice, + 1 as modifyPricePermission + from t_goods tg + LEFT JOIN t_goods_file tgf ON tg.goods_id = tgf.goods_id AND tgf.del_flag = 0 AND tgf.file_type = 1 + LEFT JOIN t_shop_goods tsg on tg.goods_id = tsg.goods_id and tsg.shop_id=#{dto.shopId} and tsg.del_flag = 0 + WHERE tg.del_flag = 0 + <if test="dto.goodsType != null and dto.goodsType != ''"> + AND tg.goods_type = #{dto.goodsType} + </if> + <if test="dto.goodsClassId != null and dto.goodsClassId != ''"> + AND tg.goods_class_id = #{dto.goodsClassId} + </if> + <if test="dto.createStartTime!=null and dto.createStartTime != ''"> + AND Date(tg.create_time) >= #{dto.createStartTime} + </if> + <if test="dto.createEndTime!=null and dto.createEndTime != ''"> + AND Date(tg.create_time) <= #{dto.createEndTime} + </if> + <if test="dto.goodsName != null and dto.goodsName != ''"> + AND tg.goods_name LIKE CONCAT('%',#{dto.goodsName},'%') + </if> + <if test="dto.goodsStatus != null and dto.goodsStatus != ''"> + AND tg.goods_status = #{dto.goodsStatus} + </if> + + ORDER BY tg.create_time DESC + </select> </mapper> -- Gitblit v1.7.1