From 48f29f48732e7f990bea969f6068288aa3cc7a78 Mon Sep 17 00:00:00 2001
From: cun-nan <19819293608@163.com>
Date: Sat, 12 Oct 2024 17:29:35 +0800
Subject: [PATCH] 10.12
---
.../views/EventMarketing/SaveBlock/index.vue | 42 ++++++++---------
.../service/CardValueRuleService.java | 9 +++-
.../impl/CardValueRuleServiceImpl.java | 20 ++++++++
.../service/impl/OilOrderServiceImpl.java | 47 +++++++++++++++++--
.../service/IMtUserFuelService.java | 8 +++-
.../service/impl/MtUserFuelServiceImpl.java | 13 +++++
6 files changed, 112 insertions(+), 27 deletions(-)
diff --git a/fuintAdmin/src/views/EventMarketing/SaveBlock/index.vue b/fuintAdmin/src/views/EventMarketing/SaveBlock/index.vue
index 1537259f0..d55b0f003 100644
--- a/fuintAdmin/src/views/EventMarketing/SaveBlock/index.vue
+++ b/fuintAdmin/src/views/EventMarketing/SaveBlock/index.vue
@@ -465,27 +465,27 @@
-
-
-
-
-
-
不限
-
-
-
-
-
自定义
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValueRule/service/CardValueRuleService.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValueRule/service/CardValueRuleService.java
index 7803cacd8..a9376cbfd 100644
--- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValueRule/service/CardValueRuleService.java
+++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValueRule/service/CardValueRuleService.java
@@ -3,6 +3,8 @@ package com.fuint.business.marketingActivity.cardValueRule.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.fuint.business.marketingActivity.cardValueRule.entity.CardValueRule;
+import java.util.List;
+
/**
* 储值卡规则(CardValueRule)表服务接口
*
@@ -10,6 +12,11 @@ import com.fuint.business.marketingActivity.cardValueRule.entity.CardValueRule;
* @since 2024-09-08 18:19:04
*/
public interface CardValueRuleService extends IService {
-
+ /**
+ * 根据店铺id查询储值卡规则的油品id列表
+ * @param storeId
+ * @return
+ */
+ List getOilIds(Integer storeId);
}
diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValueRule/service/impl/CardValueRuleServiceImpl.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValueRule/service/impl/CardValueRuleServiceImpl.java
index c9e272856..7c9dde49d 100644
--- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValueRule/service/impl/CardValueRuleServiceImpl.java
+++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValueRule/service/impl/CardValueRuleServiceImpl.java
@@ -1,11 +1,19 @@
package com.fuint.business.marketingActivity.cardValueRule.service.impl;
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fuint.business.marketingActivity.cardValueRule.mapper.CardValueRuleMapper;
import com.fuint.business.marketingActivity.cardValueRule.entity.CardValueRule;
import com.fuint.business.marketingActivity.cardValueRule.service.CardValueRuleService;
+import com.fuint.common.util.TokenUtil;
import org.springframework.stereotype.Service;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
/**
* 储值卡规则(CardValueRule)表服务实现类
*
@@ -15,5 +23,17 @@ import org.springframework.stereotype.Service;
@Service("cardValueRuleService")
public class CardValueRuleServiceImpl extends ServiceImpl implements CardValueRuleService {
+ @Override
+ public List getOilIds(Integer storeId) {
+ List list = new ArrayList();
+ LambdaQueryWrapper queryWrapper =new LambdaQueryWrapper();
+ queryWrapper.eq(CardValueRule::getStoreId, TokenUtil.getNowAccountInfo().getStoreId())
+ .eq(CardValueRule::getType,"0").last("limit 1");
+ CardValueRule one = baseMapper.selectOne(queryWrapper);
+ if (ObjectUtil.isNotEmpty(one) && ObjectUtil.isNotEmpty(one.getOilNumber())){
+ list = Arrays.asList(one.getOilNumber().split(","));
+ }
+ return list;
+ }
}
diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/service/impl/OilOrderServiceImpl.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/service/impl/OilOrderServiceImpl.java
index 9bb6a0420..b1c4c2196 100644
--- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/service/impl/OilOrderServiceImpl.java
+++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/order/service/impl/OilOrderServiceImpl.java
@@ -41,6 +41,7 @@ import com.fuint.business.marketingActivity.cardValue.entity.CardValueRecord;
import com.fuint.business.marketingActivity.cardValue.mapper.CardValueRecordMapper;
import com.fuint.business.marketingActivity.cardValueChildrens.entity.CardValudChildrens;
import com.fuint.business.marketingActivity.cardValueChildrens.service.CardValudChildrensService;
+import com.fuint.business.marketingActivity.cardValueRule.service.CardValueRuleService;
import com.fuint.business.marketingActivity.favorableRecords.entity.FavorableRecords;
import com.fuint.business.marketingActivity.favorableRecords.service.FavorableRecordsService;
import com.fuint.business.member.mapper.LJStaffMapper;
@@ -71,10 +72,7 @@ import com.fuint.business.userManager.entity.ChainStoreConfig;
import com.fuint.business.userManager.entity.LJUser;
import com.fuint.business.userManager.entity.LJUserGrade;
import com.fuint.business.userManager.entity.UserBalance;
-import com.fuint.business.userManager.service.ChainStoreConfigService;
-import com.fuint.business.userManager.service.LJUserGradeService;
-import com.fuint.business.userManager.service.LJUserService;
-import com.fuint.business.userManager.service.UserBalanceService;
+import com.fuint.business.userManager.service.*;
import com.fuint.business.userManager.vo.LJUserVo;
import com.fuint.common.dto.AccountInfo;
import com.fuint.common.util.StringUtils;
@@ -196,6 +194,10 @@ public class OilOrderServiceImpl extends ServiceImpl i
@Autowired
@Lazy
private PayCenterService payCenterService;
+ @Autowired
+ private IMtUserFuelService userFuelService;
+ @Autowired
+ private CardValueRuleService cardValueRuleService;
@Override
public IPage selectOilOrderList(Page page, OilOrder order) {
@@ -490,6 +492,43 @@ public class OilOrderServiceImpl extends ServiceImpl i
return orders;
}
+ // 查看会员储值卡余额是否足够付款
+ if (payType.equals("card_value")){
+ if (ObjectUtil.isEmpty(userId)){
+ orders.put("error", "请先选择会员信息");
+ return orders;
+ }
+ UserBalance userBalance = userBalanceService.selectUserBalance(userId, nowAccountInfo.getChainStoreId());
+ if (userBalance.getCardBalance() oilIds = cardValueRuleService.getOilIds(storeId);
+ boolean flag = false;
+ for (String oilId : oilIds) {
+ if (oilId.equals(JSONObject.parseObject(oilOrder).get("oils").toString())){
+ flag = true;
+ }
+ }
+ if (!flag) {
+ orders.put("error", "此油品不支持储值卡支付");
+ return orders;
+ }
+ }
+
+ // 查看会员囤油卡余额是否足够付款
+ if (payType.equals("fule_card")){
+ if (ObjectUtil.isEmpty(userId)){
+ orders.put("error", "请先选择会员信息");
+ return orders;
+ }
+ Double fuelAmount = userFuelService.selectByUserIdAndOilId(userId, Integer.valueOf(JSONObject.parseObject(oilOrder).get("oils").toString()), storeId);
+ if (fuelAmount {
-
+ /**
+ * 根据用户id和油号id查询油量信息
+ * @param userId
+ * @param oilId
+ * @return
+ */
+ Double selectByUserIdAndOilId(Integer userId, Integer oilId, Integer storeId);
}
diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/service/impl/MtUserFuelServiceImpl.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/service/impl/MtUserFuelServiceImpl.java
index cc1a2b870..9c602176d 100644
--- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/service/impl/MtUserFuelServiceImpl.java
+++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/service/impl/MtUserFuelServiceImpl.java
@@ -1,5 +1,7 @@
package com.fuint.business.userManager.service.impl;
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.fuint.business.userManager.entity.MtUserFuel;
import com.fuint.business.userManager.mapper.MtUserFuelMapper;
import com.fuint.business.userManager.service.IMtUserFuelService;
@@ -17,4 +19,15 @@ import org.springframework.stereotype.Service;
@Service
public class MtUserFuelServiceImpl extends ServiceImpl implements IMtUserFuelService {
+ @Override
+ public Double selectByUserIdAndOilId(Integer userId, Integer oilId, Integer storeId) {
+ Double fuelAmount = 0.0;;
+ QueryWrapper queryWrapper = new QueryWrapper();
+ queryWrapper.eq("mt_user_id", userId);
+ queryWrapper.eq("oil_name", oilId);
+ queryWrapper.eq("store_id", storeId);
+ MtUserFuel mtUserFuel = baseMapper.selectOne(queryWrapper);
+ if (ObjectUtil.isNotEmpty(mtUserFuel) && ObjectUtil.isNotEmpty(mtUserFuel.getFuelAmount())) fuelAmount = mtUserFuel.getFuelAmount();
+ return fuelAmount;
+ }
}