提交 2d4dc45b 作者: xiaowang

品牌列表

上级 02e0686a
...@@ -2,6 +2,7 @@ package com.mmc.pms.controller.mall; ...@@ -2,6 +2,7 @@ package com.mmc.pms.controller.mall;
import com.mmc.pms.common.ResultBody; import com.mmc.pms.common.ResultBody;
import com.mmc.pms.controller.BaseController; import com.mmc.pms.controller.BaseController;
import com.mmc.pms.model.mall.GoodsListVO;
import com.mmc.pms.model.mall.MallGoodsVO; import com.mmc.pms.model.mall.MallGoodsVO;
import com.mmc.pms.service.mall.AppMallGoodsService; import com.mmc.pms.service.mall.AppMallGoodsService;
import com.mmc.pms.service.mall.MallGoodsService; import com.mmc.pms.service.mall.MallGoodsService;
...@@ -48,4 +49,11 @@ public class AppMallGoodsController extends BaseController { ...@@ -48,4 +49,11 @@ public class AppMallGoodsController extends BaseController {
public ResultBody<MallGoodsVO> queryGoodsInfoByCategorySub(@RequestBody List<Integer> categorySubIds) { public ResultBody<MallGoodsVO> queryGoodsInfoByCategorySub(@RequestBody List<Integer> categorySubIds) {
return appMallGoodsService.queryGoodsInfoByCategorySub(categorySubIds); return appMallGoodsService.queryGoodsInfoByCategorySub(categorySubIds);
} }
@ApiOperation(value = "品牌店铺列表")
@PostMapping("brandStoreList")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = GoodsListVO.class)})
public ResultBody<GoodsListVO> brandStoreList(@RequestBody List<Integer> userAccountIds) {
return appMallGoodsService.brandStoreList(userAccountIds);
}
} }
...@@ -14,4 +14,7 @@ import java.util.List; ...@@ -14,4 +14,7 @@ import java.util.List;
@Mapper @Mapper
public interface AppMallGoodsDao { public interface AppMallGoodsDao {
List<MallGoodsDO> queryGoodsInfo(@Param("userAccountId") Integer userAccountId, @Param("categorySubIds") List<Integer> categorySubIds); List<MallGoodsDO> queryGoodsInfo(@Param("userAccountId") Integer userAccountId, @Param("categorySubIds") List<Integer> categorySubIds);
List<MallGoodsDO> brandStoreList(List<Integer> list);
} }
...@@ -78,6 +78,7 @@ public class MallGoodsDO implements Serializable { ...@@ -78,6 +78,7 @@ public class MallGoodsDO implements Serializable {
private String url; private String url;
private Integer type; private Integer type;
private Integer imgId; private Integer imgId;
private List<MallGoodsDO> mallGoodsDOList;
public MallGoodsDO(MallGoodsVO mallGoodsVO) { public MallGoodsDO(MallGoodsVO mallGoodsVO) {
this.id = mallGoodsVO.getId(); this.id = mallGoodsVO.getId();
......
package com.mmc.pms.model.mall;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* @Author LW
* @date 2023/8/18 16:33
* 概要:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class GoodsListVO {
@ApiModelProperty(value = "店铺id")
private Integer userAccountId;
@ApiModelProperty(value = "商品信息")
List<MallGoodsVO> mallGoodsVOList;
}
package com.mmc.pms.service.mall; package com.mmc.pms.service.mall;
import com.mmc.pms.common.ResultBody; import com.mmc.pms.common.ResultBody;
import com.mmc.pms.model.mall.GoodsListVO;
import com.mmc.pms.model.mall.MallGoodsVO; import com.mmc.pms.model.mall.MallGoodsVO;
import java.util.List; import java.util.List;
...@@ -14,4 +15,6 @@ public interface AppMallGoodsService { ...@@ -14,4 +15,6 @@ public interface AppMallGoodsService {
ResultBody<MallGoodsVO> queryBrandGoods(Integer userAccountId); ResultBody<MallGoodsVO> queryBrandGoods(Integer userAccountId);
ResultBody<MallGoodsVO> queryGoodsInfoByCategorySub(List<Integer> categorySubIds); ResultBody<MallGoodsVO> queryGoodsInfoByCategorySub(List<Integer> categorySubIds);
ResultBody<GoodsListVO> brandStoreList(List<Integer> userAccountIds);
} }
...@@ -3,13 +3,16 @@ package com.mmc.pms.service.mall.impl; ...@@ -3,13 +3,16 @@ package com.mmc.pms.service.mall.impl;
import com.mmc.pms.common.ResultBody; import com.mmc.pms.common.ResultBody;
import com.mmc.pms.dao.mall.AppMallGoodsDao; import com.mmc.pms.dao.mall.AppMallGoodsDao;
import com.mmc.pms.entity.mall.MallGoodsDO; import com.mmc.pms.entity.mall.MallGoodsDO;
import com.mmc.pms.model.mall.GoodsListVO;
import com.mmc.pms.model.mall.MallGoodsVO; import com.mmc.pms.model.mall.MallGoodsVO;
import com.mmc.pms.service.mall.AppMallGoodsService; import com.mmc.pms.service.mall.AppMallGoodsService;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
...@@ -41,4 +44,20 @@ public class AppMallGoodsServiceImpl implements AppMallGoodsService { ...@@ -41,4 +44,20 @@ public class AppMallGoodsServiceImpl implements AppMallGoodsService {
} }
return ResultBody.success(); return ResultBody.success();
} }
@Override
public ResultBody<GoodsListVO> brandStoreList(List<Integer> userAccountIds) {
List<GoodsListVO> goodsList = new ArrayList<>();
List<MallGoodsDO> mallGoodsDOList = appMallGoodsDao.brandStoreList(userAccountIds);
List<MallGoodsVO> list = mallGoodsDOList.stream().map(MallGoodsDO::buildListMallGoodsVO).collect(Collectors.toList());
Map<Integer, List<MallGoodsVO>> map = list.
stream().collect(Collectors.groupingBy(MallGoodsVO::getUserAccountId));
for (Map.Entry<Integer, List<MallGoodsVO>> entry : map.entrySet()) {
GoodsListVO goodsListVO = new GoodsListVO();
goodsListVO.setUserAccountId(entry.getKey());
goodsListVO.setMallGoodsVOList(entry.getValue());
goodsList.add(goodsListVO);
}
return ResultBody.success(goodsList);
}
} }
...@@ -36,4 +36,33 @@ ...@@ -36,4 +36,33 @@
ORDER BY ORDER BY
mg.sort DESC,mg.create_time DESC mg.sort DESC,mg.create_time DESC
</select> </select>
<select id="brandStoreList" resultType="com.mmc.pms.entity.mall.MallGoodsDO">
SELECT
mg.id,
mg.trade_name,
mg.shelf_status,
mg.create_time,
mg.description,
mg.category_primary_id,
mg.user_account_id,
mg.goods_label,
mg.label_show,
mg.category_sub_id,
img.id as imgId, img.url,
img.type
FROM
(
SELECT
*,
ROW_NUMBER() OVER ( PARTITION BY user_account_id ORDER BY id ) AS row_num
FROM
mall_goods
WHERE
user_account_id IN ( <foreach collection="list" separator="," item="item">
#{item}
</foreach> )
) mg INNER JOIN mall_goods_resources img ON mg.id = img.mall_goods_id and img.type = 0
WHERE
row_num &lt;= 6
</select>
</mapper> </mapper>
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论