refactor(goods):优化商品查询逻辑并调整权限注解

- 移除了 AppProductController 中不必要的具体实现类引用
- 修改了商品查询方法名,统一为 getProduct
- 在 AppSearchController 中更新了商品查询调用
-为 AppVlogController 的 indexList 方法添加了 @SaIgnore 注解
-优化了 ProductMapper.xml 中的查询条件,增加租户状态过滤
- 格式化了 Java 代码中的空格和括号问题
- 移除了冗余的注释和无用的方法定义
This commit is contained in:
huk 2025-10-10 14:47:45 +08:00
parent 312598220c
commit 85dbab8f22
7 changed files with 24 additions and 48 deletions

View File

@ -1,13 +1,10 @@
package org.dromara.app; package org.dromara.app;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wzj.soopin.goods.convert.ProductConvert; import com.wzj.soopin.goods.convert.ProductConvert;
import com.wzj.soopin.goods.domain.bo.ProductBo; import com.wzj.soopin.goods.domain.bo.ProductBo;
import com.wzj.soopin.goods.domain.entity.Product;
import com.wzj.soopin.goods.domain.vo.ProductVO; import com.wzj.soopin.goods.domain.vo.ProductVO;
import com.wzj.soopin.goods.service.ProductService; import com.wzj.soopin.goods.service.ProductService;
import com.wzj.soopin.goods.service.impl.ProductServiceImpl;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
@ -20,7 +17,7 @@ import org.springframework.web.bind.annotation.*;
@RequiredArgsConstructor @RequiredArgsConstructor
public class AppProductController { public class AppProductController {
private final ProductServiceImpl service; private final ProductService service;
private final ProductConvert convert; private final ProductConvert convert;
private final ProductService productService; private final ProductService productService;

View File

@ -59,7 +59,7 @@ public class AppSearchController {
} else if (Objects.nonNull(searchBO) && Objects.nonNull(searchBO.getType()) && (SearchTypeEnum.PRODUCT.type.intValue() == searchBO.getType().intValue())) { } else if (Objects.nonNull(searchBO) && Objects.nonNull(searchBO.getType()) && (SearchTypeEnum.PRODUCT.type.intValue() == searchBO.getType().intValue())) {
ProductBo productBo = new ProductBo(); ProductBo productBo = new ProductBo();
productBo.setNameLike(searchBO.getTitle()); productBo.setNameLike(searchBO.getTitle());
pages = productService.getProductPageList(productBo, page); pages = productService.getProduct(page, productBo);
// 用户检索信息 // 用户检索信息
} else if (Objects.nonNull(searchBO) && Objects.nonNull(searchBO.getType()) && (SearchTypeEnum.MEMBER.type.intValue() == searchBO.getType().intValue())) { } else if (Objects.nonNull(searchBO) && Objects.nonNull(searchBO.getType()) && (SearchTypeEnum.MEMBER.type.intValue() == searchBO.getType().intValue())) {
MemberBO memberBO = new MemberBO(); MemberBO memberBO = new MemberBO();

View File

@ -1,5 +1,6 @@
package org.dromara.app; package org.dromara.app;
import cn.dev33.satoken.annotation.SaIgnore;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wzj.soopin.content.domain.bo.*; import com.wzj.soopin.content.domain.bo.*;
import com.wzj.soopin.content.domain.vo.IndexVlogVO; import com.wzj.soopin.content.domain.vo.IndexVlogVO;
@ -36,8 +37,8 @@ public class AppVlogController {
@Operation(summary = "首页视频列表") @Operation(summary = "首页视频列表")
@PostMapping("/indexList") @PostMapping("/indexList")
@SaIgnore
public R<Page<IndexVlogVO>> indexList(@RequestBody IndexListBO bo, @RequestBody Page page) { public R<Page<IndexVlogVO>> indexList(@RequestBody IndexListBO bo, @RequestBody Page page) {
Page<IndexVlogVO> pages = pullService.pullFromMq(page); Page<IndexVlogVO> pages = pullService.pullFromMq(page);
return R.ok(pages); return R.ok(pages);
} }
@ -133,12 +134,11 @@ public class AppVlogController {
String userId = String.valueOf(loginUser.getUserId()); String userId = String.valueOf(loginUser.getUserId());
String vlogId = vlogBO.getId(); String vlogId = vlogBO.getId();
vlogService.userLikeVlog(userId,vlogId ); vlogService.userLikeVlog(userId, vlogId);
return R.ok(); return R.ok();
} }
@Operation(summary = "取消点赞") @Operation(summary = "取消点赞")
@PostMapping("/unlike") @PostMapping("/unlike")
public R<Void> unlike(@RequestBody VlogBO vlogBO) { public R<Void> unlike(@RequestBody VlogBO vlogBO) {
@ -167,12 +167,12 @@ public class AppVlogController {
@Operation(summary = "视频列表") @Operation(summary = "视频列表")
@PostMapping("/page") @PostMapping("/page")
public R<Page<IndexVlogVO>> page(@RequestBody VlogBO vlogBO) { public R<Page<IndexVlogVO>> page(@RequestBody VlogBO vlogBO) {
if(vlogBO.getMemberId()==null){ if (vlogBO.getMemberId() == null) {
throw new ServiceException("用户id不能为空"); throw new ServiceException("用户id不能为空");
} }
vlogBO.setStatus(VlogStatusEnum.APPROVED.type); vlogBO.setStatus(VlogStatusEnum.APPROVED.type);
vlogBO.setIsPrivate(YesOrNo.NO.type); vlogBO.setIsPrivate(YesOrNo.NO.type);
return R.ok(vlogService.getIndexVlogList(vlogBO,vlogBO.getPage())); return R.ok(vlogService.getIndexVlogList(vlogBO, vlogBO.getPage()));
} }

View File

@ -25,7 +25,6 @@ public interface ProductMapper extends BaseMapper<Product> {
Page<ProductVO> getlist(@Param("page") Page<Product> page, @Param("query") ProductBo query); Page<ProductVO> getlist(@Param("page") Page<Product> page, @Param("query") ProductBo query);
@Select("SELECT " + @Select("SELECT " +
"name, " + "name, " +
"sales, " + "sales, " +

View File

@ -13,14 +13,7 @@ public interface ProductService extends IService<Product> {
IPage<ProductVO> getRecommendPage(Page<Product> page); IPage<ProductVO> getRecommendPage(Page<Product> page);
/**
* 不带租户的获取商品信息
*
* @param query
* @param page
* @return
*/
IPage<ProductVO> getProductPageList(ProductBo query, Page<Product> page);
ProductVO selectById(Long id); ProductVO selectById(Long id);
IPage<ProductVO> getProduct(Page<Product> page, ProductBo query);
} }

View File

@ -98,17 +98,4 @@ public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> impl
query.setPublishStatus(Constants.PublishStatus.GROUNDING); query.setPublishStatus(Constants.PublishStatus.GROUNDING);
return TenantHelper.ignore(() -> productMapper.getProduct(page, query)); return TenantHelper.ignore(() -> productMapper.getProduct(page, query));
} }
/**
* 不带租户的获取商品信息
*
* @param query
* @param page
* @return
*/
@Override
public IPage<ProductVO> getProductPageList(ProductBo query, Page<Product> page) {
return TenantHelper.ignore(() -> productMapper.getProduct(page, query));
}
} }

View File

@ -86,9 +86,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
pms_product p pms_product p
LEFT JOIN LEFT JOIN
sys_tenant t ON p.tenant_id = t.tenant_id sys_tenant t ON p.tenant_id = t.tenant_id
<where> WHERE p.del_flag = 0
AND t.status = 0
<if test="query.nameLike != null and query.nameLike != ''"> <if test="query.nameLike != null and query.nameLike != ''">
AND p.name LIKE CONCAT('%', #{query.nameLike}, '%') AND (p.`name` LIKE CONCAT('%', #{query.nameLike}, '%') OR t.store_name LIKE CONCAT('%', #{query.nameLike}, '%'))
</if> </if>
<if test="query.publishStatus != null"> <if test="query.publishStatus != null">
AND p.publish_status = #{query.publishStatus} AND p.publish_status = #{query.publishStatus}
@ -99,7 +100,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{categoryId} #{categoryId}
</foreach> </foreach>
</if> </if>
</where>
</select> </select>
<resultMap id="ProductWithSkusResultMap" type="ProductVO"> <resultMap id="ProductWithSkusResultMap" type="ProductVO">