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;
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.domain.bo.ProductBo;
import com.wzj.soopin.goods.domain.entity.Product;
import com.wzj.soopin.goods.domain.vo.ProductVO;
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.tags.Tag;
import lombok.RequiredArgsConstructor;
@ -20,7 +17,7 @@ import org.springframework.web.bind.annotation.*;
@RequiredArgsConstructor
public class AppProductController {
private final ProductServiceImpl service;
private final ProductService service;
private final ProductConvert convert;
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())) {
ProductBo productBo = new ProductBo();
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())) {
MemberBO memberBO = new MemberBO();

View File

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

View File

@ -13,14 +13,7 @@ public interface ProductService extends IService<Product> {
IPage<ProductVO> getRecommendPage(Page<Product> page);
/**
* 不带租户的获取商品信息
*
* @param query
* @param page
* @return
*/
IPage<ProductVO> getProductPageList(ProductBo query, Page<Product> page);
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);
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,20 +86,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
pms_product p
LEFT JOIN
sys_tenant t ON p.tenant_id = t.tenant_id
<where>
<if test="query.nameLike != null and query.nameLike != ''">
AND p.name LIKE CONCAT('%', #{query.nameLike}, '%')
</if>
<if test="query.publishStatus != null">
AND p.publish_status = #{query.publishStatus}
</if>
<if test="query.categoryIds != null and query.categoryIds.size() > 0">
AND p.category_id IN
<foreach collection="query.categoryIds" item="categoryId" open="(" separator="," close=")">
#{categoryId}
</foreach>
</if>
</where>
WHERE p.del_flag = 0
AND t.status = 0
<if test="query.nameLike != null and query.nameLike != ''">
AND (p.`name` LIKE CONCAT('%', #{query.nameLike}, '%') OR t.store_name LIKE CONCAT('%', #{query.nameLike}, '%'))
</if>
<if test="query.publishStatus != null">
AND p.publish_status = #{query.publishStatus}
</if>
<if test="query.categoryIds != null and query.categoryIds.size() > 0">
AND p.category_id IN
<foreach collection="query.categoryIds" item="categoryId" open="(" separator="," close=")">
#{categoryId}
</foreach>
</if>
</select>
<resultMap id="ProductWithSkusResultMap" type="ProductVO">