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; + } }