From 2f3d5e904ec44b807b35d4c1a9ceeeac590d8e90 Mon Sep 17 00:00:00 2001 From: luo <2855143437@qq.com> Date: 星期一, 05 二月 2024 14:47:59 +0800 Subject: [PATCH] 2.5 --- UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java | 71 ++++++++++++++++++++++++++++++++++- UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java | 8 ++-- UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/TransactionDetailsWarpper.java | 2 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/IOrderLogisticsService.java | 2 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/IntegralOrderServiceImpl.java | 2 5 files changed, 75 insertions(+), 10 deletions(-) diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java index b664323..dae9c77 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java @@ -1105,9 +1105,9 @@ // case 3: // list = orderCrossCityService.queryCoupon(orderId, uid, pageNum, size); // break; -// case 4: -// list = orderLogisticsService.queryCoupon(orderId, uid, pageNum, size); -// break; + case 4: + list = orderLogisticsService.queryCoupon(language,orderId, uid, pageNum, size); + break; // case 5: // list = orderLogisticsService.queryCoupon(orderId, uid, pageNum, size); // break; @@ -1155,7 +1155,7 @@ // case 3: // return orderCrossCityService.payCrossCityOrder(payType, orderId, couponId, type); case 4: - return orderLogisticsService.payLogisticsOrder(payType, bankCardId, orderId, type, language); + return orderLogisticsService.payLogisticsOrder(payType, bankCardId, orderId,couponId, type, language); // case 5: // return orderLogisticsService.payLogisticsOrder(payType, orderId, type, language); } diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/IOrderLogisticsService.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/IOrderLogisticsService.java index 5802869..9d87fc1 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/IOrderLogisticsService.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/IOrderLogisticsService.java @@ -77,7 +77,7 @@ * @return * @throws Exception */ - ResultUtil payLogisticsOrder(Integer payType, Integer bankCardId, Integer orderId, Integer type, Integer language)throws Exception; + ResultUtil payLogisticsOrder(Integer payType, Integer bankCardId, Integer orderId,Integer couponId, Integer type, Integer language)throws Exception; /** diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java index 047a223..b5d2a2a 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java @@ -11,6 +11,7 @@ import com.stylefeng.guns.modular.smallLogistics.model.OrderLogisticsSpread; import com.stylefeng.guns.modular.smallLogistics.server.IOrderLogisticsService; import com.stylefeng.guns.modular.smallLogistics.server.IOrderLogisticsSpreadService; +import com.stylefeng.guns.modular.specialTrain.model.OrderPrivateCar; import com.stylefeng.guns.modular.system.dao.*; import com.stylefeng.guns.modular.system.model.*; import com.stylefeng.guns.modular.system.service.*; @@ -83,7 +84,8 @@ @Autowired private IUserInfoService userInfoService; - + @Resource + private UserActivityDiscount1Mapper userActivityDiscount1Mapper; @Autowired private IPaymentRecordService paymentRecordService; @@ -479,7 +481,7 @@ * @throws Exception */ @Override - public ResultUtil payLogisticsOrder(Integer payType, Integer bankCardId, Integer orderId, Integer type, Integer language) throws Exception { + public ResultUtil payLogisticsOrder(Integer payType, Integer bankCardId, Integer orderId,Integer couponId, Integer type, Integer language) throws Exception { OrderLogistics orderLogistics = this.selectById(orderId); if(orderLogistics.getState() != 7){ return ResultUtil.error(language == 1 ? "订单已完成支付,不允许重复支付" : language == 2 ? "The order has been paid, recurring payments is not allowed." : "La commande a été payée, les paiements récurrents ne sont pas autorisés.", ""); @@ -491,6 +493,32 @@ } UserInfo userInfo = userInfoService.selectById(uid); ResultUtil resultUtil = ResultUtil.success(""); + orderLogistics.setCouponMoney(0D);//初始化历史数据 + orderLogistics.setCouponId(null); + //计算优惠券 + UserCouponRecord userCouponRecord = null; + if(null != couponId){ + userCouponRecord = userCouponRecordService.selectById(couponId); + if(userCouponRecord.getCompanyId() != orderLogistics.getCompanyId()){ + return ResultUtil.error(language == 1 ? "优惠券不能用于此订单" : language == 2 ? "Coupon cannot be used for this order." : "Le coupon ne peut pas être utilisé pour cette commande.", ""); + } + if(userCouponRecord.getState() == 2){ + return ResultUtil.error(language == 1 ? "优惠券已使用" : language == 2 ? "Coupon has been used." : "Le coupon a été utilisé.", ""); + } + if(userCouponRecord.getState() == 3){ + return ResultUtil.error(language == 1 ? "优惠券已过期" : language == 2 ? "Coupon is expired." : "Le coupon a expiré.", ""); + } + if(userCouponRecord.getCouponUseType() != 0 && userCouponRecord.getCouponUseType() != 1){ + return ResultUtil.error(language == 1 ? "优惠券不能用于此订单" : language == 2 ? "Coupon cannot be used for this order." : "Le coupon ne peut pas être utilisé pour cette commande.", ""); + } + if(userCouponRecord.getCouponType() == 2 && orderMoney.compareTo(userCouponRecord.getFullMoney()) < 0){ + return ResultUtil.error(language == 1 ? "优惠券不能用于此订单" : language == 2 ? "Coupon cannot be used for this order." : "Le coupon ne peut pas être utilisé pour cette commande.", ""); + } + orderMoney = orderMoney - userCouponRecord.getMoney(); + orderLogistics.setCouponMoney(userCouponRecord.getMoney()); + orderLogistics.setCouponId(couponId); + } + orderMoney=new BigDecimal(orderMoney).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue(); if(payType == 1) {//手机支付 SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); @@ -1112,6 +1140,29 @@ transactionDetailsService.saveData(orderLogistics.getUserId(), "包裹取消退款", orderLogistics.getPayMoney(), 1, 1, 1, 4, orderLogistics.getId()); } + + if(null != orderLogistics.getPayType() && orderLogistics.getPayType() == 4){//现金 +// UserInfo userInfo = userInfoService.selectById(orderLogistics.getUserId()); +// userInfo.setBalance(userInfo.getBalance() + orderLogistics.getPayMoney()); +// userInfoService.updateById(userInfo); + OrderCancel orderCancel = new OrderCancel(); + orderCancel.setOrderId(id); + orderCancel.setOrderType(orderLogistics.getType()); + orderCancel.setReason(reason); + orderCancel.setRemark(remark); + orderCancel.setState(2); + orderCancel.setInsertTime(new Date()); + orderCancel.setUserType(1); + orderCancelService.insert(orderCancel); + + orderLogistics.setState(10); + this.updateById(orderLogistics); + integer = orderCancel.getId(); + + //添加交易明细 + transactionDetailsService.saveData(orderLogistics.getUserId(), "包裹取消退款", orderLogistics.getPayMoney(), 1, 1, 1, 4, orderLogistics.getId()); + } + if(null != orderLogistics.getDriverId()){ new Thread(new Runnable() { @Override @@ -1178,7 +1229,21 @@ Map<String, Object> map = new HashMap<>(); UserInfo userInfo = userInfoService.selectById(uid); map.put("balance", userInfo.getBalance()); - map.put("coupon", 0); + OrderLogistics orderLogistics = this.selectById(orderId); + UserActivityDiscount1 query2 = userActivityDiscount1Mapper.query(orderLogistics.getCompanyId()); + double v = orderLogistics.getOrderMoney(); + if(null != query2){ + Integer orderNum=this.selectCount(new EntityWrapper<OrderLogistics>().eq("userId",orderLogistics.getUserId()).eq("activityId",query2.getId()).last(" and to_days(getoffTime) = to_days(now())")); + if(query2.getDistance()*1000>orderLogistics.getMileage() && query2.getOrderNum()>orderNum){ + Double special = query2.getSpecial(); + orderLogistics.setDiscount(special); + Double orderMoney = orderLogistics.getOrderMoney(); + v = new BigDecimal(orderMoney).multiply(new BigDecimal(special / 10)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue(); + } + } + int i = userCouponRecordService.queryAvailable(uid, orderLogistics.getCompanyId(), 1, 4, v); + i = i + userCouponRecordService.queryAvailable(uid, orderLogistics.getCompanyId(), 1, 0, v); + map.put("coupon", i); return map; } diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/IntegralOrderServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/IntegralOrderServiceImpl.java index b8cea84..1753177 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/IntegralOrderServiceImpl.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/IntegralOrderServiceImpl.java @@ -52,7 +52,7 @@ return ResultUtil.error(language == 1 ? "兑换失败,积分不足!":(language == 2 ? "Redemption failed, insufficient points!":"Échange échoué, points insuffisants!")); } integralOrder.setInsertTime(new Date()); - integralGoods.setIntegral(integralGoods.getIntegral()); + integralOrder.setIntegral(integralGoods.getIntegral()); integralOrder.setNum(1); integralOrder.setState(1); integralOrder.setUserId(uid); diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/TransactionDetailsWarpper.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/TransactionDetailsWarpper.java index 831246c..28cda21 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/TransactionDetailsWarpper.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/TransactionDetailsWarpper.java @@ -101,7 +101,7 @@ transactionDetailsWarpper.setId(null != map.get("id") ? Integer.valueOf(String.valueOf(map.get("id"))):0); transactionDetailsWarpper.setUserId(null!=map.get("userId")? Integer.valueOf(String.valueOf(map.get("userId"))) :null); transactionDetailsWarpper.setInsertTime(null != map.get("insertTime") ? String.valueOf(map.get("insertTime")) : ""); - transactionDetailsWarpper.setMoney(null!=map.get("money")? Double.valueOf(String.valueOf(map.get("money"))) : 0.00); + transactionDetailsWarpper.setMoney(null!=map.get("amount")? Double.valueOf(String.valueOf(map.get("amount"))) : 0.00); transactionDetailsWarpper.setState(null!=map.get("state")? Integer.valueOf(String.valueOf(map.get("state"))) : 1); list.add(transactionDetailsWarpper); } -- Gitblit v1.7.1