From bae8ab44225b13fbbddb376740572f610d178165 Mon Sep 17 00:00:00 2001 From: Carl <376654749@qq.com> Date: Mon, 24 Jan 2022 18:24:58 +0800 Subject: [PATCH] modify coupon logic ,adding 3 verfiy --- .../royalcanin/good/OrderController.java | 23 +++++++++++++++---- .../system/royalcanin/good/dao/OrdersDao.java | 2 ++ .../royalcanin/good/service/OrderService.java | 4 ++-- .../system/royalcanin/Order/OrderMapper.xml | 6 +++++ 4 files changed, 28 insertions(+), 7 deletions(-) diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/OrderController.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/OrderController.java index 7b3b2e4b..83d50853 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/OrderController.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/OrderController.java @@ -12,6 +12,8 @@ import net.lab1024.smartadmin.constant.SwaggerTagConst; import net.lab1024.smartadmin.module.system.alipay.AliPayService; import net.lab1024.smartadmin.module.system.alipay.alipayModel.AliPayEntity; import net.lab1024.smartadmin.module.system.alipay.conf.AlipayConfig; +import net.lab1024.smartadmin.module.system.royalcanin.CouponService; +import net.lab1024.smartadmin.module.system.royalcanin.coupon.CouponGetAllEntity; import net.lab1024.smartadmin.module.system.royalcanin.good.constant.OrderResponseCodeConst; import net.lab1024.smartadmin.module.system.royalcanin.good.model.OrderAddress; import net.lab1024.smartadmin.module.system.royalcanin.good.model.OrderEntity; @@ -51,6 +53,9 @@ public class OrderController { @Autowired private CartService cartService; + @Autowired + private CouponService couponService; + @ApiOperation(value = "微信支付订单", notes = "生成订单") @PostMapping("royalcanin/generateOrderWX") @@ -76,10 +81,18 @@ public class OrderController { orderDatilListEntity.setEcPrice(ordersEntitys.getPayAmount()); orderDatilListJson.add(orderDatilListEntity); if(ordersEntitys.getCouponCode() != "" && ordersEntitys.getCouponCode() != null) { - ordersEntity.setCouponAmount(ordersEntitys.getCouponAmount()); - ordersEntity.setCouponCode(ordersEntitys.getCouponCode()); - ordersEntity.setCouponName(ordersEntitys.getCouponName()); - ordersEntity.setCouponId(ordersEntitys.getCouponId()); + CouponGetAllEntity couponGetAllEntity = new CouponGetAllEntity (); + couponGetAllEntity.setMemberId(ordersEntitys.getMemberId()); + couponGetAllEntity.setCouponCode(ordersEntitys.getCouponCode()); + String couponInfo = couponService.couponGetAll(couponGetAllEntity); + JSONObject jsonObject = JSONObject.parseObject(couponInfo); + com.alibaba.fastjson.JSONArray jsonArray = JSONObject.parseArray(jsonObject.getString("data")); + JSONObject jsonObjectData = (JSONObject)jsonArray.get(0); + + ordersEntity.setCouponAmount(jsonObjectData.getString("couponAmount") == null ?jsonObjectData.getString("discount"):jsonObjectData.getString("couponAmount")); + ordersEntity.setCouponCode(jsonObjectData.getString("couponCode")); + ordersEntity.setCouponName(jsonObjectData.getString("couponName")); + ordersEntity.setCouponId(jsonObjectData.getString("couponId")); total_fee = total_fee + orderService.couponTotal(ordersEntitys.getCouponTypeId(),Double.parseDouble(ordersEntitys.getCouponAmount()),Double.parseDouble(ordersEntitys.getPayAmount()),ordersEntitys.getBuyCount()); }else{ total_fee = total_fee + Double.parseDouble(ordersEntitys.getPayAmount()) * ordersEntitys.getBuyCount() ; @@ -254,7 +267,7 @@ public class OrderController { AliPayEntity aliPayEntity = new AliPayEntity(); ordersEntity.setPayType("2"); ordersEntity.setOrderStatus("0"); - if (orderService.updateOrder(ordersEntity) == 1) { + if (orderService.updateOrder(ordersEntity.getOrderNo()) == 1) { aliPayEntity.setProduct_code(ordersEntity.getProductCode()); aliPayEntity.setTotal_amount(ordersEntity.getOrderAmount()); aliPayEntity.setOut_trade_no(ordersEntity.getOrderNo()); diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/dao/OrdersDao.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/dao/OrdersDao.java index 3e94deff..680a6180 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/dao/OrdersDao.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/dao/OrdersDao.java @@ -22,4 +22,6 @@ public interface OrdersDao extends BaseMapper { Integer cancelOrder(String out_trade_no); + int updateByOrderNumber (@Param("orderNumber")String orderNumber); + } diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/service/OrderService.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/service/OrderService.java index d30227cc..604d183e 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/service/OrderService.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/service/OrderService.java @@ -281,7 +281,7 @@ public class OrderService { } - public int updateOrder(OrderEntity orderEntity){ - return ordersDao.updateById(orderEntity); + public int updateOrder(String orderNumber){ + return ordersDao.updateByOrderNumber(orderNumber); } } diff --git a/smart-admin-service/smart-admin-api/src/main/resources/mapper/system/royalcanin/Order/OrderMapper.xml b/smart-admin-service/smart-admin-api/src/main/resources/mapper/system/royalcanin/Order/OrderMapper.xml index 7e1c1f13..d1e77563 100644 --- a/smart-admin-service/smart-admin-api/src/main/resources/mapper/system/royalcanin/Order/OrderMapper.xml +++ b/smart-admin-service/smart-admin-api/src/main/resources/mapper/system/royalcanin/Order/OrderMapper.xml @@ -22,4 +22,10 @@ + + update t_good_orders + set pay_type ='2' + where order_no = #{orderNumber} + + \ No newline at end of file