Просмотр исходного кода

/app/userPromotionCoupon/storeCoupons修复方法报错

qmj 1 неделя назад
Родитель
Сommit
c10a3d15c4

Разница между файлами не показана из-за своего большого размера
+ 29 - 0
.claude/homunculus/observations.jsonl


+ 5 - 0
ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/StoreCouponVO.java

@@ -5,6 +5,8 @@ import lombok.Data;
 
 import java.math.BigDecimal;
 import java.util.Date;
+import java.util.List;
+import com.ruoyi.system.domain.PromotionCouponRule;
 
 /**
  * 门店可领优惠券列表项
@@ -45,4 +47,7 @@ public class StoreCouponVO {
     /** 领取结束时间 */
     @JsonFormat(pattern = "yyyy-MM-dd")
     private Date endTime;
+
+    /** 规则列表(商品券可包含多条) */
+    private List<PromotionCouponRule> rules;
 }

+ 3 - 3
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/PromotionCalcServiceImpl.java

@@ -170,10 +170,10 @@ public class PromotionCalcServiceImpl implements IPromotionCalcService
             LambdaQueryWrapper<PosOrder> orderWrapper = new LambdaQueryWrapper<>();
             orderWrapper.eq(PosOrder::getUserId, userId)
                         .eq(PosOrder::getMdId, storeId)
-                        .eq(PosOrder::getState, 3L);
-            Long completedCount = posOrderMapper.selectCount(orderWrapper);
+                        .eq(PosOrder::getPayStatus, 1L);
+            Long paidCount = posOrderMapper.selectCount(orderWrapper);
 
-            if (completedCount == 0)
+            if (paidCount == 0)
             {
                 for (PromotionActivity act : activeActivities)
                 {

+ 9 - 7
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/PromotionUserCouponServiceImpl.java

@@ -108,15 +108,17 @@ public class PromotionUserCouponServiceImpl extends ServiceImpl<PromotionUserCou
             vo.setRemainCount(batch.getRemainCount());
             vo.setEndTime(batch.getEndTime());
 
-            // 查询券规则
-            PromotionCouponRule rule = ruleMapper.selectOne(
+            // 查询券规则(商品券可含多条)
+            List<PromotionCouponRule> rules = ruleMapper.selectList(
                 new LambdaQueryWrapper<PromotionCouponRule>()
                     .eq(PromotionCouponRule::getBatchId, batch.getId()));
-            if (rule != null) {
-                vo.setThreshold(rule.getThreshold());
-                vo.setAmount(rule.getAmount());
-                vo.setDiscountRate(rule.getDiscountRate());
-                vo.setIsMutex(rule.getIsMutex());
+            vo.setRules(rules);
+            if (!rules.isEmpty()) {
+                PromotionCouponRule first = rules.get(0);
+                vo.setThreshold(first.getThreshold());
+                vo.setAmount(first.getAmount());
+                vo.setDiscountRate(first.getDiscountRate());
+                vo.setIsMutex(first.getIsMutex());
             }
 
             // 检查用户是否已领取

Некоторые файлы не были показаны из-за большого количества измененных файлов