Pārlūkot izejas kodu

商家订单列表添加mdId过滤

qmj 3 nedēļas atpakaļ
vecāks
revīzija
0f81e08175

+ 17 - 9
ruoyi-admin/src/main/java/com/ruoyi/app/tableqrcode/TableQrcodeController.java

@@ -17,12 +17,14 @@ import com.ruoyi.system.service.IPosStoreService;
 import com.ruoyi.system.service.ITableQrcodeService;
 import com.ruoyi.system.utils.Auth;
 import com.ruoyi.system.utils.JwtUtil;
+import org.apache.catalina.Store;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.Date;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 餐桌码管理Controller
@@ -207,29 +209,35 @@ public class TableQrcodeController extends BaseController
         String userId = jwtUtil.getusid(token);
         InfoUser currentUser = infoUserService.selectInfoUserByUserId(Long.valueOf(userId));
 
-        TableQrcode query = new TableQrcode();
-        query.setType(type);
-        query.setStatus(status);
-        query.setUseStatus(useStatus);
+        LambdaQueryWrapper<TableQrcode> query = new LambdaQueryWrapper<>();
+        query.eq(TableQrcode::getType,type);
+        query.eq(TableQrcode::getStatus,status);
+        query.eq(TableQrcode::getUseStatus,useStatus);
 
         if ("4".equals(currentUser.getUserType()))
         {
             // 摊主只能看自己的
-            query.setStoreId(currentUser.getStoreId());
+            query.eq(TableQrcode::getStoreId,currentUser.getStoreId());
         }
         else if ("3".equals(currentUser.getUserType()))
         {
-            query.setNightMarketId(Long.valueOf(userId));
+            query.eq(TableQrcode::getNightMarketId,Long.valueOf(userId));
             // 夜市管理员可按摊位筛选,或查看全部
             if (storeId != null)
             {
-                query.setStoreId(storeId);
+                query.eq(TableQrcode::getStoreId,storeId);
             }
         }
         else if("1".equals(currentUser.getUserType())){
-            query.setStoreId(storeId);
+            List<PosStore> stores=posStoreService.list(new LambdaQueryWrapper<PosStore>().eq(PosStore::getUserId,userId));
+            if(stores.isEmpty()){
+                query.eq(TableQrcode::getId,0L);
+            }else{
+                query.in(TableQrcode::getStoreId,stores.stream().map(PosStore::getId).collect(Collectors.toList()));
+            }
+
         }
-        List<TableQrcode> list = tableQrcodeService.selectTableQrcodeList(query);
+        List<TableQrcode> list = tableQrcodeService.list(query);
         return success(list);
     }
 

+ 75 - 0
updatesql/sql.md

@@ -48,3 +48,78 @@ VALUES ('订单日志查询', @logMenuId, 1, '#', '', 'F', '0', '0', 'system:ord
 INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, menu_type, visible, status, perms, icon, create_by, create_time)
 VALUES ('订单日志导出', @logMenuId, 2, '#', '', 'F', '0', '0', 'system:orderLog:export', '#', 'admin', NOW());
 ```
+
+## 2026-05-29 促销+优惠券系统(008-promotion-coupon)
+
+```sql
+-- 促销活动表
+CREATE TABLE promotion_activity (
+  id              BIGINT AUTO_INCREMENT PRIMARY KEY,
+  store_id        BIGINT       NOT NULL COMMENT '门店ID',
+  type            TINYINT      NOT NULL COMMENT '类型: 1=满减 2=折扣 3=第二份半价 4=新客立减',
+  name            VARCHAR(100) NOT NULL COMMENT '活动名称',
+  status          TINYINT      DEFAULT 0 COMMENT '0=未开始 1=进行中 2=已结束',
+  start_time      DATETIME     NOT NULL COMMENT '开始时间',
+  end_time        DATETIME     NOT NULL COMMENT '结束时间',
+  create_time     DATETIME     DEFAULT CURRENT_TIMESTAMP,
+  update_time     DATETIME     DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  INDEX idx_store_type (store_id, type)
+) COMMENT '促销活动表';
+
+-- 促销规则明细表
+CREATE TABLE promotion_activity_rule (
+  id              BIGINT AUTO_INCREMENT PRIMARY KEY,
+  activity_id     BIGINT   NOT NULL COMMENT '关联促销活动',
+  product_id      BIGINT   DEFAULT NULL COMMENT '商品ID(折扣/第二份半价用)',
+  threshold       DECIMAL(10,2) DEFAULT NULL COMMENT '满减门槛(满X元)',
+  reduce_amount   DECIMAL(10,2) DEFAULT NULL COMMENT '减免金额(满减/新客立减)',
+  discount_rate   DECIMAL(3,2)  DEFAULT NULL COMMENT '折扣率(0.70=7折 / 0.50=半价)',
+  min_quantity    INT       DEFAULT NULL COMMENT '最低数量(第二份半价=2)',
+  INDEX idx_activity (activity_id)
+) COMMENT '促销规则明细';
+
+-- 券批次表(模板)
+CREATE TABLE promotion_coupon_batch (
+  id                BIGINT AUTO_INCREMENT PRIMARY KEY,
+  store_id          BIGINT       NOT NULL COMMENT '门店ID',
+  name              VARCHAR(100) NOT NULL COMMENT '券名称',
+  coupon_type       TINYINT      NOT NULL COMMENT '1=满减券 2=商品券',
+  total_count       INT          NOT NULL COMMENT '发放总量',
+  remain_count      INT          NOT NULL COMMENT '剩余数量',
+  received_count    INT          DEFAULT 0 COMMENT '已领取数量',
+  status            TINYINT      DEFAULT 0 COMMENT '0=未开始 1=进行中 2=已结束 3=已下架',
+  start_time        DATETIME     NOT NULL COMMENT '领取开始时间',
+  end_time          DATETIME     NOT NULL COMMENT '领取结束时间',
+  valid_days        INT          NOT NULL COMMENT '领取后有效天数',
+  create_time       DATETIME     DEFAULT CURRENT_TIMESTAMP,
+  update_time       DATETIME     DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  INDEX idx_store_status (store_id, status)
+) COMMENT '券批次表(模板)';
+
+-- 券规则表
+CREATE TABLE promotion_coupon_rule (
+  id                BIGINT AUTO_INCREMENT PRIMARY KEY,
+  batch_id          BIGINT   NOT NULL COMMENT '关联券批次',
+  product_id        BIGINT   DEFAULT NULL COMMENT '商品ID(商品券用,满减券=NULL)',
+  is_mutex          TINYINT  DEFAULT 0 COMMENT '0=同享券 1=互斥券(满减券用)',
+  threshold         DECIMAL(10,2) DEFAULT NULL COMMENT '使用门槛(满X元可用)',
+  amount            DECIMAL(10,2) DEFAULT NULL COMMENT '减免金额(满减券/抵用券)',
+  discount_rate     DECIMAL(3,2)  DEFAULT NULL COMMENT '折扣率(商品折扣券用)',
+  INDEX idx_batch (batch_id)
+) COMMENT '券规则';
+
+-- 用户领券记录
+CREATE TABLE promotion_user_coupon (
+  id                BIGINT AUTO_INCREMENT PRIMARY KEY,
+  user_id           BIGINT   NOT NULL COMMENT '用户ID',
+  batch_id          BIGINT   NOT NULL COMMENT '券批次ID',
+  store_id          BIGINT   NOT NULL COMMENT '门店ID',
+  status            TINYINT  DEFAULT 0 COMMENT '0=未使用 1=已使用 2=已过期 3=冻结',
+  order_id          BIGINT   DEFAULT NULL COMMENT '使用的订单ID',
+  receive_time      DATETIME NOT NULL COMMENT '领取时间',
+  use_time          DATETIME DEFAULT NULL COMMENT '使用时间',
+  expire_time       DATETIME NOT NULL COMMENT '过期时间',
+  INDEX idx_user_status (user_id, status),
+  INDEX idx_store (store_id)
+) COMMENT '用户领券记录';
+```