|
@@ -337,7 +337,155 @@ public class ResponseWechatPayHandler {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
+ * 销售订单支付回调方法 -- tooth订单返回
|
|
|
+ */
|
|
|
+
|
|
|
+ public synchronized void testOrderPayBack(HttpServletRequest request,
|
|
|
+ HttpServletResponse response, String orderId, String openId) throws IOException {
|
|
|
+ String orderIdMD5 = orderId;
|
|
|
+ if (true) {
|
|
|
+
|
|
|
+ if (orderIdMD5.startsWith("mflq")) {
|
|
|
+ ChargerReceive cr = new ChargerReceive();
|
|
|
+ cr.setReceiveOrderId(orderIdMD5);
|
|
|
+ cr.setReceiveStatus(2);
|
|
|
+ cr.setReceiveTransactionId("");
|
|
|
+ cr.setReceiveTransactionDate(new Date());
|
|
|
+ Integer flag = chargReceiveService.updateByOrderId(cr);
|
|
|
+ if (flag < 1) {
|
|
|
+ System.out.println("免费领取充电器支付邮费回调修改记录失败!");
|
|
|
+ }
|
|
|
+
|
|
|
+ } else {
|
|
|
+ Date nowDate = new Date();
|
|
|
+
|
|
|
+ Order order = new Order();
|
|
|
+ order.setSalesOrderid(orderIdMD5);
|
|
|
+ order.setSalesStatus(2);
|
|
|
+ order.setSalesTransactionId("");
|
|
|
+ order.setSalesTransactionDate(new Date());
|
|
|
+ order.setSalesOpenid(openId);
|
|
|
+
|
|
|
+ Order or = adminOrderService.getShopOrderByOrderId(orderIdMD5);
|
|
|
+ if (or.getSalesStatus() != 1) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ int count = cartService.updateOrderStatus(order);
|
|
|
+
|
|
|
+
|
|
|
+ Integer couponAmount = 0;
|
|
|
+
|
|
|
+ order = cartService.selectOrderInfoById(order);
|
|
|
+ String couponId = order.getCouponId();
|
|
|
+ if (couponId != null && !couponId.equals("")) {
|
|
|
+ CouponItem couponItem = new CouponItem();
|
|
|
+ couponItem.setCouponItemId(couponId);
|
|
|
+ couponItem.setCouponUseStatus(2);
|
|
|
+ couponItem.setCouponUseDate(new Date());
|
|
|
+ couponItemService.updateCouponItemById(couponItem);
|
|
|
+
|
|
|
+ CouponItemDto couponItemDto = couponItemService.getCouponItemById(couponId);
|
|
|
+ if (couponItemDto.getCouponType() == 1) {
|
|
|
+ couponAmount = couponItemDto.getCouponReduce() / 100;
|
|
|
+ } else if (couponItemDto.getCouponType() == 2) {
|
|
|
+ couponAmount = or.getSalesAmount() - or.getSalesAmount() / (couponItemDto.getCouponReduce() / 100) / 100;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ List<OrderItem> orderItemList = adminOrderService.getShopOrderItemByOrderId(orderIdMD5);
|
|
|
+ Integer allIntegral = 0;
|
|
|
+ Integer allBrushAmount = 0;
|
|
|
+
|
|
|
+ for (int i = 0; i < orderItemList.size(); i++) {
|
|
|
+ OrderItem orderItem = orderItemList.get(i);
|
|
|
+ Integer amount = orderItem.getItemProductDiscount() / 100;
|
|
|
+ if (orderItem.getItemProductType() == 100) {
|
|
|
+ Integer integral = amount * (orderItem.getItemNum() * 3 - orderItem.getItemNum());
|
|
|
+ allIntegral += integral;
|
|
|
+ } else {
|
|
|
+ Integer integral = amount * (orderItem.getItemNum() * 3);
|
|
|
+ allBrushAmount += integral;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (couponAmount > 0) {
|
|
|
+ allBrushAmount += -couponAmount;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ * start
|
|
|
+ * 两种情况:
|
|
|
+ * 1) 刷头金额低于抵扣金额时:支付金额*2;
|
|
|
+ * 2) 刷头金额高于等于抵扣金额时:399*2
|
|
|
+ */
|
|
|
+ if(allBrushAmount < 0){
|
|
|
+ allIntegral += allBrushAmount * 2;
|
|
|
+ }else{
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ ratFWLogger.error(this, "订单:" + orderIdMD5 + "订单使用优惠卷金额:" + couponAmount + "所得积分为:" + allIntegral);
|
|
|
+ boolean flag = apparatusService.addStayIntegral(or.getSalesOpenid(), 3, allIntegral, or.getSalesOrderid(),null);
|
|
|
+ ratFWLogger.info("积分是否入账:" + flag);
|
|
|
+
|
|
|
+
|
|
|
+ if (count < 1) {
|
|
|
+ ratFWLogger.info("修改订单失败:" + flag);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ try {
|
|
|
+ MQMessage message = new MQMessage();
|
|
|
+ message.setServiceToMessage(orderIdMD5);
|
|
|
+ message.setServiceOtherMessage("");
|
|
|
+ message.setServiceIsSend(2);
|
|
|
+ message.setServiceStatus(1);
|
|
|
+ message.setServiceHandlerObjectName("cartServiceImpl");
|
|
|
+ message.setServiceHandlerMethodName("supdateStateByOrderId");
|
|
|
+ message.setServiceType(1);
|
|
|
+ mQservice.insertMQMessage(message);
|
|
|
+ } catch (Exception e) {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
* 解析xml片段为Map
|
|
|
* @param xml
|