From a9727156f77111cad9ceb950b078c21ce6f20232 Mon Sep 17 00:00:00 2001 From: cun-nan <19819293608@163.com> Date: Thu, 17 Oct 2024 17:46:51 +0800 Subject: [PATCH] 10.17 --- .../src/views/fleet/tab/fleetMember.vue | 6 +- .../fleet/service/FleetMemberService.java | 7 +++ .../service/impl/FleetMemberServiceImpl.java | 14 +++++ .../service/impl/OilOrderServiceImpl.java | 59 ++++++++++++++++++- .../views/cashier/NewComponents/newHome.vue | 6 ++ 5 files changed, 86 insertions(+), 6 deletions(-) diff --git a/fuintAdmin/src/views/fleet/tab/fleetMember.vue b/fuintAdmin/src/views/fleet/tab/fleetMember.vue index ee4b4b35c..29462bec9 100644 --- a/fuintAdmin/src/views/fleet/tab/fleetMember.vue +++ b/fuintAdmin/src/views/fleet/tab/fleetMember.vue @@ -176,7 +176,7 @@ v-for="item in options" :key="item.value" :label="item.label" - :value="item.value"> + :value="Number(item.value)"> @@ -305,7 +305,7 @@ 导入模板下载.xlsx + href="/fuint-application/fleetMember/export"> 导入模板下载.xlsx diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/fleet/service/FleetMemberService.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/fleet/service/FleetMemberService.java index fa3b5eb6f..6759608f2 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/fleet/service/FleetMemberService.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/fleet/service/FleetMemberService.java @@ -108,4 +108,11 @@ public interface FleetMemberService { * @return */ int signOUTMember(Integer memberId); + + /** + * 根据用户id,查询车队信息 + * @param userId + * @return + */ + FleetMember selectByUserId(Integer userId); } diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/fleet/service/impl/FleetMemberServiceImpl.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/fleet/service/impl/FleetMemberServiceImpl.java index 7a153b6a9..638dda170 100644 --- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/fleet/service/impl/FleetMemberServiceImpl.java +++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/fleet/service/impl/FleetMemberServiceImpl.java @@ -245,6 +245,12 @@ public class FleetMemberServiceImpl extends ServiceImpl() + .eq(FleetMember::getUserId, userId) + .orderBy(true, true, FleetMember::getCreateTime) + .last("limit 1")); + } + /** * 创建用户的基础信息 */ 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 90a7196d5..1c04785d9 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 @@ -22,7 +22,11 @@ import com.fuint.business.convenienceSore.entity.LJGoods; import com.fuint.business.convenienceSore.entity.SaleDetail; import com.fuint.business.convenienceSore.service.LJGoodsService; import com.fuint.business.convenienceSore.service.SaleDetailService; +import com.fuint.business.fleet.entity.FleetConsumeRecord; +import com.fuint.business.fleet.entity.FleetMember; +import com.fuint.business.fleet.service.FleetConsumeRecordService; import com.fuint.business.fleet.service.FleetInfoService; +import com.fuint.business.fleet.service.FleetMemberService; import com.fuint.business.integral.service.IntegralSettingsService; import com.fuint.business.marketingActivity.activeDiscount.entity.ActiveDiscountChild; import com.fuint.business.marketingActivity.activeDiscount.service.ActiveDiscountService; @@ -50,6 +54,7 @@ import com.fuint.business.order.entity.*; import com.fuint.business.order.mapper.LJOrderMapper; import com.fuint.business.order.mapper.OilOrderMapper; import com.fuint.business.order.service.*; +import com.fuint.business.order.vo.AllOrderInfoUniVo; import com.fuint.business.order.vo.Excel.OilOrderExcel; import com.fuint.business.order.vo.OilOrderVo; import com.fuint.business.petrolStationManagement.entity.*; @@ -201,6 +206,10 @@ public class OilOrderServiceImpl extends ServiceImpl i private CardValueRuleService cardValueRuleService; @Autowired private FleetInfoService fleetInfoService; + @Autowired + private FleetMemberService fleetMemberService; + @Autowired + private FleetConsumeRecordService fleetConsumeRecordService; @Override public IPage selectOilOrderList(Page page, OilOrder order) { @@ -469,7 +478,8 @@ public class OilOrderServiceImpl extends ServiceImpl i // 支付状态 String payStatus = "unpaid"; - if (payType.equals("CASH") || payType.equals("after_pay") || map.get("allAmount").equals("0")) { + if (payType.equals("CASH") || payType.equals("after_pay") || map.get("allAmount").equals("0") || payType.equals("car_card_value") + || payType.equals("card_value") || payType.equals("fule_card")) { payStatus = "paid"; } else { payStatus = "unpaid"; @@ -496,6 +506,20 @@ public class OilOrderServiceImpl extends ServiceImpl i return orders; } + // 查看车队卡余额是否足够付款 + FleetMember fleetMember = null; + if (payType.equals("car_card_value")){ + if (ObjectUtil.isEmpty(userId)) { + orders.put("error", "请先选择会员信息"); + return orders; + } + fleetMember = fleetMemberService.selectByUserId(userId); + if (fleetMember.getRemainingCreditLimit() i if (ObjectUtil.isNotEmpty(jsonObject.get("activeType"))) { order.setActiveType(jsonObject.get("activeType").toString()); } - if (payType.equals("CASH") || payType.equals("after_pay") || payType.equals("card_value")) { + if (payType.equals("CASH") || payType.equals("after_pay") || payType.equals("card_value") || payType.equals("car_card_value")) { order.setPayTime(new Date()); order.setOrderStatus("paid"); if (ObjectUtil.isNotEmpty(userId)) this.insertCardBalance(consumeAmount, userId, storeId, orderNo); @@ -667,7 +691,8 @@ public class OilOrderServiceImpl extends ServiceImpl i cashierOrder.setAfterDiscountAmount(oilAmount + goodsAmount - oilDiscount - goodsDiscount); // 如果金额不等于0调用第三方支付接口 - if (!map.get("allAmount").equals("0") && !map.get("payType").equals("CASH") && !payType.equals("after_pay") && !payType.equals("card_value") && !payType.equals("fule_card")) { + if (!map.get("allAmount").equals("0") && !map.get("payType").equals("CASH") && !payType.equals("after_pay") + && !payType.equals("card_value") && !payType.equals("fule_card") && !payType.equals("car_card_value")) { Integer allAmount = (int) (Double.valueOf(map.get("allAmount")) * 100); // 处理支付需要的数据 @@ -696,6 +721,9 @@ public class OilOrderServiceImpl extends ServiceImpl i } else { this.insertAllOrderInfo(orderNo, storeId, oilAmount + goodsAmount, Double.valueOf(map.get("allAmount")), oilDiscount, payType, userId, "PC", "6", "paid"); + // 添加车队卡订单信息 + if (payType.equals("car_card_value") && ObjectUtil.isNotEmpty(fleetMember)) this.addFleetOrder(orderNo,fleetMember); + // 计算提成 if (ObjectUtil.isNotEmpty(staffId)) staffCommissionService.countStaffCommission(staffId, storeId, goodsAmount, goodsActualPay, "6", orderNo); @@ -722,6 +750,31 @@ public class OilOrderServiceImpl extends ServiceImpl i return orders; } + /** + * 添加车队卡订单信息 + * @param orderNo 订单号 + * @param fleetMember 车队成员信息 + */ + private void addFleetOrder(String orderNo,FleetMember fleetMember) { + AllOrderInfoUniVo allOrderInfoUniVo = allOrderInfoService.queryByOrderNo(orderNo); + FleetConsumeRecord fleetConsumeRecord = new FleetConsumeRecord(); + fleetConsumeRecord.setOrderNo(orderNo); + fleetConsumeRecord.setChainStoreId(TokenUtil.getNowAccountInfo().getChainStoreId()); + fleetConsumeRecord.setStoreId(allOrderInfoUniVo.getStoreId()); + fleetConsumeRecord.setFleetId(fleetMember.getFleetId()); + fleetConsumeRecord.setFleetMemberId(fleetMember.getId()); + fleetConsumeRecord.setCardPaymentAmount(allOrderInfoUniVo.getPayMoney()); + fleetConsumeRecord.setOrderAmount(allOrderInfoUniVo.getGoodsMoney()); + fleetConsumeRecord.setPreferentialAmount(allOrderInfoUniVo.getDiscountAmount()); + fleetConsumeRecord.setNetReceiptsAmount(allOrderInfoUniVo.getPayMoney()); + fleetConsumeRecord.setOrderStatus(allOrderInfoUniVo.getStatus()); + fleetConsumeRecord.setPaymentTime(allOrderInfoUniVo.getPayTime()); + fleetConsumeRecord.setChangeType("0"); + fleetConsumeRecord.setFromType("油品"); + fleetConsumeRecordService.insert(fleetConsumeRecord); + fleetInfoService.payFleet(allOrderInfoUniVo.getId().toString(),allOrderInfoUniVo.getPayMoney()); + } + // 添加优惠记录 @Override public void insertFavorable(OilOrder order, Double oilCardAmount) { diff --git a/fuintCashierWeb/src/views/cashier/NewComponents/newHome.vue b/fuintCashierWeb/src/views/cashier/NewComponents/newHome.vue index 85435a146..5bb550a14 100644 --- a/fuintCashierWeb/src/views/cashier/NewComponents/newHome.vue +++ b/fuintCashierWeb/src/views/cashier/NewComponents/newHome.vue @@ -1934,6 +1934,12 @@ export default { } this.accountPending = true } + if (value == 'car_card_value'){ + if (!this.userInfo){ + this.$message.error("请先选择会员") + return + } + } console.log('支付方式', value); this.payType = value //支付方式发生变化,查询可用优惠券和优惠活动