From e04740b87f3cc11f70e67e78286e963c24ccd22d Mon Sep 17 00:00:00 2001 From: 15004070936 <1097449274@qq.com> Date: Fri, 8 May 2026 16:34:55 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ruoyi/mall/domain/query/ProductQuery.java | 3 +- .../com/ruoyi/mall/mapper/ProductMapper.java | 5 +- .../ruoyi/mall/service/ProductService.java | 75 +++++-------------- .../java/com/ruoyi/quartz/task/YogaTask.java | 2 +- .../service/impl/ScMemberCardServiceImpl.java | 1 + .../resources/mapper/mall/ProductMapper.xml | 45 +++++++---- .../mapper/mall/ProductShowMapper.xml | 4 +- .../resources/mapper/system/SysDeptMapper.xml | 2 +- .../mapper/system/SysTenantMapper.xml | 2 +- 9 files changed, 59 insertions(+), 80 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/mall/domain/query/ProductQuery.java b/ruoyi-system/src/main/java/com/ruoyi/mall/domain/query/ProductQuery.java index 4ba66db..eaa225f 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/mall/domain/query/ProductQuery.java +++ b/ruoyi-system/src/main/java/com/ruoyi/mall/domain/query/ProductQuery.java @@ -79,5 +79,6 @@ public class ProductQuery { private List brandIds; private List CategoryIds; - + private Long storeId; + private String tenantId; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/mall/mapper/ProductMapper.java b/ruoyi-system/src/main/java/com/ruoyi/mall/mapper/ProductMapper.java index bd03d9d..715168a 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/mall/mapper/ProductMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/mall/mapper/ProductMapper.java @@ -2,6 +2,7 @@ package com.ruoyi.mall.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.mall.domain.Product; +import com.ruoyi.mall.domain.query.ProductQuery; import java.util.List; @@ -14,8 +15,8 @@ public interface ProductMapper extends BaseMapper { /** * 查询商品信息列表 * - * @param product 商品信息 + * @param query 商品信息 * @return 商品信息集合 */ - List selectByEntity(Product product); + List selectByEntity(ProductQuery query); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/mall/service/ProductService.java b/ruoyi-system/src/main/java/com/ruoyi/mall/service/ProductService.java index ddeb228..73cc5b6 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/mall/service/ProductService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/mall/service/ProductService.java @@ -9,6 +9,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.pagehelper.PageHelper; +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.mall.domain.*; import com.ruoyi.mall.domain.query.ProductQuery; @@ -21,7 +23,6 @@ import com.ruoyi.mall.mapper.SkuMapper; import com.ruoyi.system.domain.AppUser; import com.ruoyi.system.service.YjAppUserService; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; @@ -86,64 +87,19 @@ public class ProductService extends ServiceImpl implemen if (page != null) { PageHelper.startPage(page.getPageNumber() + 1, page.getPageSize()); } - QueryWrapper qw = new QueryWrapper<>(); - if (StringUtils.isNoneEmpty(query.getOrderField())){ - if (StringUtils.isNotEmpty(query.getOrderSort()) && "desc".equalsIgnoreCase(query.getOrderSort())) { - qw.orderByDesc(query.getOrderField()); - } else { - qw.orderByAsc(query.getOrderField()); - } - }else { - qw.orderByDesc("publish_status"); - qw.orderByAsc("sort"); - } - Long categoryId = query.getCategoryId(); - if (categoryId != null) { - qw.eq("category_id", categoryId); - } - Long brandId = query.getBrandId(); - if (categoryId != null) { - qw.eq("brand_id", brandId); - } - Integer publishStatus = query.getPublishStatus(); - if (publishStatus != null) { - qw.eq("publish_status", publishStatus); - } - String search = query.getSearch(); - if (StringUtils.isNoneEmpty(search)){ - qw.like("name", "%".concat(query.getSearch().trim()).concat("%")); - } + SysUser loginUser=SecurityUtils.getLoginUser().getUser(); - if (CollectionUtil.isNotEmpty(query.getExcludeProductIds())) { - qw.notIn("id",query.getExcludeProductIds()); - } - if (CollectionUtil.isNotEmpty(query.getIds())) { - qw.in("id",query.getIds()); - } - String nameLike = query.getNameLike(); - if (StringUtils.isNoneEmpty(nameLike)){ - qw.like("name", "%".concat(nameLike).concat("%")); - } - if (ObjectUtil.isNotEmpty(query.getIsCourse())){ - qw.eq("is_course", query.getIsCourse()); - } - if (ObjectUtil.isNotEmpty(query.getOutProductId())){ - qw.eq("out_product_id", query.getOutProductId()); - } - - if (StringUtils.isNotEmpty(query.getBrandNameLike())){ - qw.like("brand_name", "%".concat(query.getBrandNameLike()).concat("%")); - } - - if (StringUtils.isNotEmpty(query.getProductCategoryNameLike())){ - qw.like("product_category_name", "%".concat(query.getProductCategoryNameLike()).concat("%")); + //租户管理员 查全部商品 + if (loginUser.getRoles().stream().anyMatch(it -> it.getRoleId().equals(new Long(100)))){ + query.setTenantId(loginUser.tenantId); + }else { + //店员 查本店 + query.setStoreId(SecurityUtils.getDeptId()); } - qw.eq("store_id",SecurityUtils.getDeptId()); - - return productMapper.selectList(qw); + return productMapper.selectByEntity(query); } public void getIds(ProductQuery query){ @@ -183,7 +139,7 @@ public class ProductService extends ServiceImpl implemen */ @Transactional public int insert(ProductVO productVO) { - + LoginUser loginUser= SecurityUtils.getLoginUser(); Product product = BeanUtil.toBean(productVO,Product.class); product.setCreateTime(LocalDateTime.now()); product.setStoreId(SecurityUtils.getDeptId()); @@ -191,7 +147,14 @@ public class ProductService extends ServiceImpl implemen setProductManager(productVO,product); List skuList = productVO.getSkuList(); - + if(loginUser.getPermissions().contains("pms:review:list") + ||loginUser.getPermissions().contains("*:*:*")){ + if (ObjectUtil.isEmpty(productVO.getCategoryId())){ + throw new RuntimeException("请选择商品分类"); + } + }else { + product.setCategoryId(1l);//默认为场馆商品 + } productMapper.insert(product); if(skuList!=null){ diff --git a/ruoyi-system/src/main/java/com/ruoyi/quartz/task/YogaTask.java b/ruoyi-system/src/main/java/com/ruoyi/quartz/task/YogaTask.java index fa9a52e..8a17122 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/quartz/task/YogaTask.java +++ b/ruoyi-system/src/main/java/com/ruoyi/quartz/task/YogaTask.java @@ -47,7 +47,7 @@ public class YogaTask { deptService.expireDept(); } /** - * 过期会员卡 + * 过期会员卡(每天00:05执行) */ public void expireMemberCard() { memberCardService.expiredMemberCard(); diff --git a/ruoyi-system/src/main/java/com/ruoyi/school/member/service/impl/ScMemberCardServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/school/member/service/impl/ScMemberCardServiceImpl.java index 9583c7e..d79fa61 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/school/member/service/impl/ScMemberCardServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/school/member/service/impl/ScMemberCardServiceImpl.java @@ -498,6 +498,7 @@ public class ScMemberCardServiceImpl extends ServiceImpl + diff --git a/ruoyi-system/src/main/resources/mapper/mall/ProductShowMapper.xml b/ruoyi-system/src/main/resources/mapper/mall/ProductShowMapper.xml index c94036c..cfceeb3 100644 --- a/ruoyi-system/src/main/resources/mapper/mall/ProductShowMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/mall/ProductShowMapper.xml @@ -46,7 +46,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and a.apply_status =#{applyStatus} - ORDER BY a.apply_time DESC,a.sort ASC + ORDER BY a.sort ASC @@ -58,6 +58,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" UPDATE mall_product_show SET show_flag = '0', apply_status = '4' - WHERE show_end_time = DATE_SUB(CURDATE(), INTERVAL 1 DAY) and apply_status = '3'; + WHERE show_end_time CURDATE() and apply_status = '3'; diff --git a/ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml index d7e757c..a0c7d1a 100644 --- a/ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml @@ -185,7 +185,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" UPDATE sys_dept SET status = '1' - WHERE expiry_date = DATE_SUB(CURDATE(), INTERVAL 1 DAY) + WHERE expiry_date CURDATE() AND status = '0' and delete_flag = '0'; diff --git a/ruoyi-system/src/main/resources/mapper/system/SysTenantMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysTenantMapper.xml index 60b16ca..958c739 100644 --- a/ruoyi-system/src/main/resources/mapper/system/SysTenantMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/SysTenantMapper.xml @@ -36,7 +36,7 @@ UPDATE sys_tenant SET in_use = '1' - WHERE end_time = DATE_SUB(CURDATE(), INTERVAL 1 DAY) + WHERE end_time CURDATE() and in_use='0' and delete_flag='0';