diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/GoodController.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/GoodController.java index c414b6d3..f501121a 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/GoodController.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/GoodController.java @@ -179,6 +179,8 @@ public class GoodController { } else { int buyCountTotal = cartEntity.getBuyCount() + cartEntityFromDB.getBuyCount(); cartEntityFromDB.setBuyCount(buyCountTotal); + cartEntityFromDB.setBasePoint(cartEntity.getBasePoint()); + cartEntityFromDB.setLeftAllotment(cartEntity.getLeftAllotment()); if (1 == cartService.updateInfo(cartEntityFromDB)) return ResponseDTO.succ(); else 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 c748294c..8fabc5ff 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 @@ -212,6 +212,15 @@ public class OrderController { wxpayService.orderCallBack(request,response); } + @ApiOperation(value = "监听微信回调", notes = "监听微信回调") + @PostMapping(value = "royalcanin/monitorOrderNotify") + public ResponseDTO monitorOrderNotify(@RequestParam String OrderNumber){ + if ( 1 == orderService.checkNotify(OrderNumber)) + return ResponseDTO.succMsg("SUCCESS"); + else + return ResponseDTO.wrap(OrderResponseCodeConst.NOTIFY_ERROR); + } + @ApiOperation(value = "支付宝更新订单", notes = "支付宝更新订单") @RequestMapping(value = "royalcanin/updateOrderAlipay") public void updateOrderAlipay(HttpServletRequest request, HttpServletResponse response){ diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/constant/OrderResponseCodeConst.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/constant/OrderResponseCodeConst.java index 88a32342..d532794f 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/constant/OrderResponseCodeConst.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/constant/OrderResponseCodeConst.java @@ -12,8 +12,6 @@ public class OrderResponseCodeConst extends ResponseCodeConst { public static final OrderResponseCodeConst GENERATE_FAIL = new OrderResponseCodeConst(9003, "数据生成失败!"); - public static final OrderResponseCodeConst CANCEL_FAIL = new OrderResponseCodeConst(9004, "数据删除失败!"); - public static final OrderResponseCodeConst SMS_FAIL = new OrderResponseCodeConst(9005, " 短信校验失败!"); public static final OrderResponseCodeConst SMS_OVERTIME = new OrderResponseCodeConst(9006, "短信校验超时!"); @@ -22,6 +20,10 @@ public class OrderResponseCodeConst extends ResponseCodeConst { public static final OrderResponseCodeConst GENERATE_ORDER_ERROR = new OrderResponseCodeConst(9008, "该订单数据有误,请联系管理员!"); + + public static final OrderResponseCodeConst NOTIFY_ERROR = new OrderResponseCodeConst(9009, "没有该订单回调数据!"); + + public OrderResponseCodeConst(int code, String msg) { super(code, msg); } diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/model/CartEntity.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/model/CartEntity.java index 8756a7dd..bab310ca 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/model/CartEntity.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/model/CartEntity.java @@ -27,4 +27,7 @@ public class CartEntity { private int leftAllotment; + + private int basePoint; + } 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 60e9f3e0..d30227cc 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 @@ -15,6 +15,7 @@ import net.lab1024.smartadmin.module.system.royalcanin.good.dao.OrdersDao; import net.lab1024.smartadmin.module.system.royalcanin.good.model.OrderAddress; import net.lab1024.smartadmin.module.system.royalcanin.good.model.OrderEntity; import net.lab1024.smartadmin.module.system.royalcanin.good.model.OrdersEntity; +import net.lab1024.smartadmin.module.system.royalcanin.notify.service.NotifyService; import net.lab1024.smartadmin.module.system.royalcanin.orderMaster.AddOrSaveEntity; import net.lab1024.smartadmin.module.system.royalcanin.orderMaster.OrderCouponEntity; import net.lab1024.smartadmin.module.system.royalcanin.orderMaster.QueryEntity; @@ -42,6 +43,9 @@ public class OrderService { @Autowired private OrdersDao ordersDao; + @Autowired + private NotifyService notifyService; + private String url = "https://miniapp-test.royalcanin.com.cn/rcmini/h5/orderMaster/"; @Transactional @@ -99,6 +103,13 @@ public class OrderService { } } + public int checkNotify(String orderNumber){ + if(notifyService.findNotifyByOrderNumber(orderNumber) != null) + return 1; + else + return 0; + } + public Boolean afterPaySucceedUpdateOrderStatus(String outTradeNo,String totalFee){ int result = ordersDao.updateOrderStatus(outTradeNo,totalFee); diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/notify/dao/NotifyDao.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/notify/dao/NotifyDao.java index ac35db90..3af43c66 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/notify/dao/NotifyDao.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/notify/dao/NotifyDao.java @@ -3,9 +3,13 @@ package net.lab1024.smartadmin.module.system.royalcanin.notify.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import net.lab1024.smartadmin.module.system.royalcanin.notify.model.NotifyEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Component; @Mapper @Component public interface NotifyDao extends BaseMapper { + + + NotifyEntity findNotifyByOrderNumber(@Param("orderNumber")String orderNumber); } diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/notify/service/NotifyService.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/notify/service/NotifyService.java index 7b4bb1e2..08d1bd48 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/notify/service/NotifyService.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/notify/service/NotifyService.java @@ -12,7 +12,12 @@ public class NotifyService { private NotifyDao notifyDao; - public int insertProductCart(NotifyEntity notifyEntity){ + public int insertNotify(NotifyEntity notifyEntity){ return notifyDao.insert(notifyEntity); } + + + public NotifyEntity findNotifyByOrderNumber(String orderNumber){ + return notifyDao.findNotifyByOrderNumber(orderNumber); + } } diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/wxpay/WxpayService.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/wxpay/WxpayService.java index 2c35e6b9..7ceb113f 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/wxpay/WxpayService.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/wxpay/WxpayService.java @@ -113,7 +113,7 @@ public class WxpayService { notifyEntity.setTradeType(sortedMap.get("trade_type")); notifyEntity.setFeeType(sortedMap.get("fee_type")); notifyEntity.setNonceStr(sortedMap.get("nonce_str")); - notifyService.insertProductCart(notifyEntity); + notifyService.insertNotify(notifyEntity); if (orderService.afterPaySucceedUpdateOrderStatus(outTradeNo,totalFee)) { response.setContentType("text/xml"); response.setContentType("content-type"); diff --git a/smart-admin-service/smart-admin-api/src/main/resources/mapper/system/royalcanin/notify/NotifyMapper.xml b/smart-admin-service/smart-admin-api/src/main/resources/mapper/system/royalcanin/notify/NotifyMapper.xml new file mode 100644 index 00000000..b1a88125 --- /dev/null +++ b/smart-admin-service/smart-admin-api/src/main/resources/mapper/system/royalcanin/notify/NotifyMapper.xml @@ -0,0 +1,12 @@ + + + + + + + + + \ No newline at end of file diff --git a/smart-admin-service/smart-admin-api/src/main/resources/sql/smart-admin.sql b/smart-admin-service/smart-admin-api/src/main/resources/sql/smart-admin.sql index 84f75af1..492fcd11 100644 --- a/smart-admin-service/smart-admin-api/src/main/resources/sql/smart-admin.sql +++ b/smart-admin-service/smart-admin-api/src/main/resources/sql/smart-admin.sql @@ -1656,6 +1656,7 @@ CREATE TABLE IF NOT EXISTS `t_royalcanin_cart` ( `specifications` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `buy_count` int(20) DEFAULT NULL, `left_allotment` int(20) DEFAULT NULL, + `base_point` int(20) DEFAULT NULL, `member_id` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `mobile` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,