From 254295a0c1913c90029a6411cab85d565ea72f7a Mon Sep 17 00:00:00 2001 From: cun-nan <19819293608@163.com> Date: Mon, 14 Oct 2024 14:11:37 +0800 Subject: [PATCH] 10.14 --- .../src/views/homeComponents/agent.vue | 19 +- .../src/views/homeComponents/manage.vue | 19 +- .../src/views/homeComponents/shopowner.vue | 19 +- .../service/impl/OilOrderServiceImpl.java | 275 ++++++------------ gasStation-uni/pagesHome/QRcode/QRcode.vue | 2 +- 5 files changed, 118 insertions(+), 216 deletions(-) diff --git a/fuintAdmin_zt/src/views/homeComponents/agent.vue b/fuintAdmin_zt/src/views/homeComponents/agent.vue index afb5cd62a..009302168 100644 --- a/fuintAdmin_zt/src/views/homeComponents/agent.vue +++ b/fuintAdmin_zt/src/views/homeComponents/agent.vue @@ -138,16 +138,19 @@ -
- - - - -
- +
+
+ + + + +
+ +
+
{{ item.name }}
-
{{ item.name }}
+
diff --git a/fuintAdmin_zt/src/views/homeComponents/manage.vue b/fuintAdmin_zt/src/views/homeComponents/manage.vue index 2688bd0ba..e614b6ced 100644 --- a/fuintAdmin_zt/src/views/homeComponents/manage.vue +++ b/fuintAdmin_zt/src/views/homeComponents/manage.vue @@ -148,16 +148,19 @@
-
- - - - -
- +
+
+ + + + +
+ +
+
{{ item.name }}
-
{{ item.name }}
+
diff --git a/fuintAdmin_zt/src/views/homeComponents/shopowner.vue b/fuintAdmin_zt/src/views/homeComponents/shopowner.vue index 3eec88059..2eb0c3335 100644 --- a/fuintAdmin_zt/src/views/homeComponents/shopowner.vue +++ b/fuintAdmin_zt/src/views/homeComponents/shopowner.vue @@ -131,16 +131,19 @@
硬件设备
-
- - - - -
- +
+
+ + + + +
+ +
+
{{ item.name }}
-
{{ item.name }}
+
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 b1c4c2196..2c2c14fd8 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 @@ -438,7 +438,7 @@ public class OilOrderServiceImpl extends ServiceImpl i Integer staffId = null; if (ObjectUtil.isNotEmpty(map.get("staffId"))) { staffId = Integer.valueOf(map.get("staffId")); - }else { + } else { staffId = nowAccountInfo.getStaffId(); } // 会员消费金额(储值卡需要减少的金额) @@ -456,7 +456,7 @@ public class OilOrderServiceImpl extends ServiceImpl i isMember = true; } // 使用积分数量 - Integer usePoint = Integer.valueOf(ObjectUtil.isNotEmpty(map.get("usePoint")) ? map.get("usePoint") :"0"); + Integer usePoint = Integer.valueOf(ObjectUtil.isNotEmpty(map.get("usePoint")) ? map.get("usePoint") : "0"); // 积分金额 Double pointAmount = Double.valueOf(ObjectUtil.isNotEmpty(map.get("pointAmount")) ? map.get("pointAmount") : "0.0"); // 终端 @@ -493,20 +493,20 @@ public class OilOrderServiceImpl extends ServiceImpl i } // 查看会员储值卡余额是否足够付款 - if (payType.equals("card_value")){ - if (ObjectUtil.isEmpty(userId)){ + 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())){ + if (oilId.equals(JSONObject.parseObject(oilOrder).get("oils").toString())) { flag = true; } } @@ -517,13 +517,13 @@ public class OilOrderServiceImpl extends ServiceImpl i } // 查看会员囤油卡余额是否足够付款 - if (payType.equals("fule_card")){ - if (ObjectUtil.isEmpty(userId)){ + 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 i if (payType.equals("CASH") || payType.equals("after_pay") || payType.equals("card_value")) { order.setPayTime(new Date()); order.setOrderStatus("paid"); - if(ObjectUtil.isNotEmpty(userId)) this.insertCardBalance(consumeAmount, userId, storeId, orderNo); + if (ObjectUtil.isNotEmpty(userId)) this.insertCardBalance(consumeAmount, userId, storeId, orderNo); this.addOilTracks(order, storeId); if (ObjectUtil.isNotEmpty(userId)) { this.updateGrowthValue(oilAmount, oilActualPay, userId, Integer.valueOf(jsonObject.get("oils").toString()), storeId, orderNo); @@ -628,7 +628,7 @@ public class OilOrderServiceImpl extends ServiceImpl i } baseMapper.insert(order); - if (order.getOrderStatus().equals("paid")){ + if (order.getOrderStatus().equals("paid")) { this.updateCardAndActiveById(storeId, userId, order.getId()); } } @@ -747,12 +747,11 @@ public class OilOrderServiceImpl extends ServiceImpl i public void updateCardAndActiveById(Integer storeId, Integer userId, Integer orderId) { if (ObjectUtil.isNotEmpty(userId)) { Map map = new HashMap<>(); - map.put("userId",userId.toString()); - map.put("storeId",storeId.toString()); - map.put("orderId",orderId.toString()); + map.put("userId", userId.toString()); + map.put("storeId", storeId.toString()); + map.put("orderId", orderId.toString()); payCenterService.cashRegisterSpendWisely(map); } - } @Override @@ -763,10 +762,10 @@ public class OilOrderServiceImpl extends ServiceImpl i // 油品订单金额 Double oilAmount = Double.valueOf(map.get("oilAmount")); // 将油品订单信息的json数据转换为数组 - List oilOrders = null; + JSONObject oilOrders = null; - if (!map.get("oilOrder").equals("[]")) { - oilOrders = JSONArray.parseArray(map.get("oilOrder"), JSONObject.class); + if (ObjectUtil.isNotEmpty(map.get("oilOrder"))) { + oilOrders = JSONObject.parseObject(map.get("oilOrder")); // 二维码支付 if (authCode.contains("9E")) { String[] split = authCode.split("9E"); @@ -1134,7 +1133,7 @@ public class OilOrderServiceImpl extends ServiceImpl i * @param oilOrders 油品订单 * @return 是否成功 */ - private Map updateUserBalanceAndInsetOrder1(int userId, Map map, Double oilAmount, List oilOrders, Integer storeId) { + private Map updateUserBalanceAndInsetOrder1(int userId, Map map, Double oilAmount, JSONObject oilOrders, Integer storeId) { Map res = new HashMap<>(); LJStore store = storeService.selectStoreByStoreId(storeId); // 根据userId查询用户储值卡信息 @@ -1149,180 +1148,74 @@ public class OilOrderServiceImpl extends ServiceImpl i String orderNo = "2345" + timestamp + randomString; AccountInfo accountInfo = TokenUtil.getNowAccountInfo(); + // 油品实付金额 + Double oilActualPay = Double.valueOf(map.get("oilActualPay")); + // 储值卡消费金额 没有默认传0 + Double balanceAmount = Double.valueOf(ObjectUtil.isNotEmpty(map.get("balanceAmount")) ? map.get("balanceAmount") : "0"); + // 囤油卡消费升数 没有默认传0 + Double oilCardAmount = Double.valueOf(ObjectUtil.isNotEmpty(map.get("oilCardAmount")) ? map.get("oilCardAmount") : "0"); + // 储值卡余额 Double cardBalance = balance.getCardBalance(); - CardFuelRecord cardFuelRecord = new CardFuelRecord(); - cardFuelRecord.setMtUserId(userId); - List recordByUserId = cardFuelRecordService.getRecordByUserId(cardFuelRecord); + // 判断油品消费升数是否可使用 + Double fuelAmount = userFuelService.selectByUserIdAndOilId(userId, Integer.valueOf(oilOrders.get("oils").toString()), storeId); - // 锁价后应付金额 - Double lockupAmount = 0.0; - for (CardFuelRecord fuelRecord : recordByUserId) { - for (int i = 0; i < oilOrders.size(); i++) { - if (fuelRecord.getOilName().equals(oilOrders.get(i).get("oilName"))) { - lockupAmount += fuelRecord.getLockupPrice() * Double.valueOf(oilOrders.get(i).get("liters").toString()); - } - } + if (fuelAmount < oilCardAmount && cardBalance < oilActualPay) { + res.put("error", "余额不足,请分开支付"); + return res; } - String status = "unpaid"; - - if (lockupAmount > 0.0) { - OilOrder order = new OilOrder(); - OilOrder oilOrder = null; - - // 添加收银台订单信息 - CashierOrder cashierOrder = new CashierOrder(); - boolean flag = false; - if (cardBalance >= lockupAmount) { - flag = true; - status = "paid"; - } else { - flag = false; - status = "payFail"; - } - Double oilLiters = 0.0; - for (int i = 0; i < oilOrders.size(); i++) { - Double amount = Double.valueOf(oilOrders.get(i).get("amount").toString()); - Double oilPrice = Double.valueOf(oilOrders.get(i).get("oilPrice").toString()); - Double oilNum = amount / oilPrice; - oilLiters += oilNum; - if (i == 0) { - order.setOrderType("主订单"); - order.setOrderAmount(amount); - order.setPayAmount(amount); - order.setOrderNo(orderNo); - } else { - order.setOrderType("子订单"); - order.setOrderAmount(amount); - order.setPayAmount(0.0); - order.setOrderNo(orderNo + "1"); - } - order.setStoreId(accountInfo.getStoreId()); - order.setUserId(userId); - order.setCommissionAmount(Double.valueOf(map.get("commissionAmount"))); - if (ObjectUtil.isNotEmpty(map.get("staffId"))) - order.setStaffId(Integer.valueOf(map.get("staffId"))); - order.setTerminal(map.get("terminal")); - order.setOils((String) oilOrders.get(i).get("oilName")); - order.setOilGunNum(oilOrders.get(i).get("gunName").toString()); - order.setOilNum(oilNum); - order.setPayUser(userVo1.getMobile()); - order.setPayType(map.get("payType")); - order.setInvoicing("未开票"); - order.setOrderStatus(status); - if (flag) order.setPayTime(new Date()); - - this.addOilTrack(oilOrders.get(i), accountInfo.getStoreId()); - if (ObjectUtil.isNotEmpty(this.selectOilOrderByOrderNo(orderNo))) { - baseMapper.updateById(order); - } else { - baseMapper.insert(order); - } - - oilOrder = this.selectOilOrderByOrderNo(orderNo); - this.updateGrowthValue1(oilAmount, 0.0, userId, Integer.valueOf(oilOrder.getOils()), 0.0, storeId, orderNo); - } - - if (flag) { - - if (ObjectUtil.isNotEmpty(map.get("staffId"))) - cashierOrder.setStaffId(Integer.valueOf(map.get("staffId"))); - cashierOrder.setStoreId(accountInfo.getStoreId()); - cashierOrder.setPayUser(userVo1.getMobile()); - cashierOrder.setAmount(oilAmount); - cashierOrder.setOilPayAmount(oilAmount); - cashierOrder.setPayAmount(oilAmount); - cashierOrder.setStatus(status); - cashierOrder.setPayTime(new Date()); - cashierOrder.setOrderNo(orderNo); - cashierOrder.setOilOrderAmount(oilAmount); - cashierOrder.setTerminal(map.get("terminal")); - cashierOrder.setOilOrderId(oilOrder.getId()); - cashierOrder.setSeekZero(0.0); - cashierOrder.setPayType(map.get("payType")); - cashierOrderService.insertCashierOrder(cashierOrder); - this.insertAllOrderInfo(orderNo, storeId, oilAmount, oilAmount, 0.0, map.get("payType"), userId, "PC", "1", status); - if (ObjectUtil.isNotEmpty(map.get("staffId"))) - staffCommissionService.countStaffCommission(Integer.valueOf(map.get("staffId")), storeId, oilAmount, oilAmount, "1", orderNo); - res.put("success", "success"); - } else { - res.put("error", "储值卡余额不足!"); - } - + OilOrder order = new OilOrder(); + // 添加收银台/油品订单信息 + CashierOrder cashierOrder = new CashierOrder(); + Double amount = oilAmount; + Double oilPrice = Double.valueOf(oilOrders.get("oilPrice").toString()); + Double oilNum = amount / oilPrice; + order.setOrderType("主订单"); + order.setOrderAmount(amount); + order.setPayAmount(oilActualPay); + order.setOrderNo(orderNo); + order.setStoreId(accountInfo.getStoreId()); + order.setUserId(userId); + order.setStaffId(accountInfo.getStaffId()); + order.setTerminal(map.get("terminal")); + order.setOils(oilOrders.get("oils").toString()); + order.setOilGunNum(oilOrders.get("oilGunNum").toString()); + order.setOilNum(oilNum); + order.setPayUser(userVo1.getMobile()); + order.setPayType(map.get("payType")); + order.setInvoicing("未开票"); + order.setOrderStatus("paid"); + order.setPayTime(new Date()); + this.addOilTracks(order, accountInfo.getStoreId()); + if (ObjectUtil.isNotEmpty(this.selectOilOrderByOrderNo(orderNo))) { + baseMapper.updateById(order); } else { - if (cardBalance >= oilAmount) { - // 添加油品订单信息 - OilOrder order = new OilOrder(); - Double oilLiters = 0.0; - for (int i = 0; i < oilOrders.size(); i++) { - Double amount = Double.valueOf(oilOrders.get(i).get("amount").toString()); - Double oilPrice = Double.valueOf(oilOrders.get(i).get("oilPrice").toString()); - Double oilNum = amount / oilPrice; - oilLiters += oilNum; - if (i == 0) { - order.setOrderType("主订单"); - order.setOrderAmount(amount); - order.setPayAmount(amount); - order.setOrderNo(orderNo); - } else { - order.setOrderType("子订单"); - order.setOrderAmount(amount); - order.setPayAmount(0.0); - order.setOrderNo(orderNo + "1"); - } - order.setStoreId(accountInfo.getStoreId()); - order.setUserId(userId); - order.setCommissionAmount(Double.valueOf(map.get("commissionAmount"))); - if (ObjectUtil.isNotEmpty(map.get("staffId"))) - order.setStaffId(Integer.valueOf(map.get("staffId"))); - order.setTerminal(map.get("terminal")); - order.setOils((String) oilOrders.get(i).get("oilName")); - order.setOilGunNum(oilOrders.get(i).get("gunName").toString()); - order.setOilNum(oilNum); - order.setPayUser(userVo1.getMobile()); - order.setPayType(map.get("payType")); - order.setInvoicing("未开票"); - order.setOrderStatus("paid"); - order.setPayTime(new Date()); - - this.addOilTrack(oilOrders.get(i), accountInfo.getStoreId()); - if (ObjectUtil.isNotEmpty(this.selectOilOrderByOrderNo(orderNo))) { - baseMapper.updateById(order); - } else { - baseMapper.insert(order); - } - } - OilOrder oilOrder = this.selectOilOrderByOrderNo(orderNo); - - // 添加收银台订单信息 - CashierOrder cashierOrder = new CashierOrder(); - if (ObjectUtil.isNotEmpty(map.get("staffId"))) - cashierOrder.setStaffId(Integer.valueOf(map.get("staffId"))); - cashierOrder.setStoreId(accountInfo.getStoreId()); - cashierOrder.setPayUser(userVo1.getMobile()); - cashierOrder.setAmount(oilAmount); - cashierOrder.setOilPayAmount(oilAmount); - cashierOrder.setPayAmount(oilAmount); - cashierOrder.setStatus("paid"); - cashierOrder.setPayTime(new Date()); - cashierOrder.setOrderNo(orderNo); - cashierOrder.setOilOrderAmount(oilAmount); - cashierOrder.setTerminal(map.get("terminal")); - cashierOrder.setOilOrderId(oilOrder.getId()); - cashierOrder.setSeekZero(0.0); - cashierOrder.setPayType(map.get("payType")); - cashierOrderService.insertCashierOrder(cashierOrder); - this.updateGrowthValue1(oilAmount, oilAmount, userId, Integer.valueOf(oilOrder.getOils()), 0.0, storeId, orderNo); - this.insertAllOrderInfo(orderNo, accountInfo.getStoreId(), oilAmount, oilAmount, 0.0, map.get("payType"), userId, "PC", "1", "paid"); - if (ObjectUtil.isNotEmpty(map.get("staffId"))) - staffCommissionService.countStaffCommission(Integer.valueOf(map.get("staffId")), storeId, oilAmount, oilAmount, "1", orderNo); - res.put("success", "success"); - } else { - res.put("error", "储值卡余额不足!"); - } + baseMapper.insert(order); } + + this.updateGrowthValue1(oilAmount, 0.0, userId, Integer.valueOf(order.getOils()), 0.0, storeId, orderNo); + + cashierOrder.setStaffId(order.getStaffId()); + cashierOrder.setStoreId(accountInfo.getStoreId()); + cashierOrder.setPayUser(userVo1.getMobile()); + cashierOrder.setAmount(oilAmount); + cashierOrder.setOilPayAmount(oilAmount); + cashierOrder.setPayAmount(oilAmount); + cashierOrder.setStatus("paid"); + cashierOrder.setPayTime(new Date()); + cashierOrder.setOrderNo(orderNo); + cashierOrder.setOilOrderAmount(oilAmount); + cashierOrder.setTerminal(map.get("terminal")); + cashierOrder.setOilOrderId(order.getId()); + cashierOrder.setSeekZero(0.0); + cashierOrder.setPayType(map.get("payType")); + cashierOrderService.insertCashierOrder(cashierOrder); + this.insertAllOrderInfo(orderNo, storeId, oilAmount, oilAmount, 0.0, map.get("payType"), userId, "PC", "1", "paid"); + staffCommissionService.countStaffCommission(accountInfo.getStaffId(), storeId, oilAmount, oilAmount, "1", orderNo); + res.put("success", "success"); + return res; } @@ -1468,13 +1361,13 @@ public class OilOrderServiceImpl extends ServiceImpl i OilName oilName = oilNameService.selectOilNameById(oilId); LJStore store = storeService.selectStoreByStoreId(storeId); if (oilName.getOilType().equals("汽油")) { - userBalanceService.growthValue(userid,store.getChainStoreId(),storeId,"1",oilAmount,"油品订单消费",orderNo); + userBalanceService.growthValue(userid, store.getChainStoreId(), storeId, "1", oilAmount, "油品订单消费", orderNo); } if (oilName.getOilType().equals("柴油")) { - userBalanceService.growthValue(userid,store.getChainStoreId(),storeId,"2",oilAmount,"油品订单消费",orderNo); + userBalanceService.growthValue(userid, store.getChainStoreId(), storeId, "2", oilAmount, "油品订单消费", orderNo); } if (oilName.getOilType().equals("天然气")) { - userBalanceService.growthValue(userid,store.getChainStoreId(),storeId,"3",oilAmount,"油品订单消费",orderNo); + userBalanceService.growthValue(userid, store.getChainStoreId(), storeId, "3", oilAmount, "油品订单消费", orderNo); } this.insertCardBalance(oilActualPay, userid, storeId, orderNo); } @@ -1893,13 +1786,13 @@ public class OilOrderServiceImpl extends ServiceImpl i OilName oilName = oilNameService.selectOilNameById(oilId); LJStore store = storeService.selectStoreByStoreId(storeId); if (oilName.getOilType().equals("汽油")) { - userBalanceService.growthValue(userid,store.getChainStoreId(),storeId,"1",oilAmount,"油品订单消费",orderNo); + userBalanceService.growthValue(userid, store.getChainStoreId(), storeId, "1", oilAmount, "油品订单消费", orderNo); } if (oilName.getOilType().equals("柴油")) { - userBalanceService.growthValue(userid,store.getChainStoreId(),storeId,"2",oilAmount,"油品订单消费",orderNo); + userBalanceService.growthValue(userid, store.getChainStoreId(), storeId, "2", oilAmount, "油品订单消费", orderNo); } if (oilName.getOilType().equals("天然气")) { - userBalanceService.growthValue(userid,store.getChainStoreId(),storeId,"3",oilAmount,"油品订单消费",orderNo); + userBalanceService.growthValue(userid, store.getChainStoreId(), storeId, "3", oilAmount, "油品订单消费", orderNo); } } } diff --git a/gasStation-uni/pagesHome/QRcode/QRcode.vue b/gasStation-uni/pagesHome/QRcode/QRcode.vue index e60f30f54..571a16eb9 100644 --- a/gasStation-uni/pagesHome/QRcode/QRcode.vue +++ b/gasStation-uni/pagesHome/QRcode/QRcode.vue @@ -109,7 +109,7 @@ deduction: [{ key: "oilStorageCard", value: "优先使用囤油卡付款", - desc: "若囤油卡升数不足进行支付,则会与储值卡组合付款" + desc: "若囤油卡升数不足时,则无法使用囤油卡支付" }, { key: "balance",