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 680a6180..ddff9658 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 @@ -24,4 +24,8 @@ public interface OrdersDao extends BaseMapper { int updateByOrderNumber (@Param("orderNumber")String orderNumber); + int updateOrderStatusByOrderNumber (@Param("orderNumber")String orderNumber,@Param("orderStatus")String orderStatus); + + int updateOrderPayAmountByOrderNumber (@Param("orderNumber")String orderNumber,@Param("orderPayAmount")String orderPayAmount); + } 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 1772a63b..2800e796 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 @@ -249,6 +249,17 @@ public class OrderService { //新增支付方式paytype jsonObjectResult.put("paytype",orderEntity.getPayType()); jsonObjectResult.put("basePoint",orderEntity.getBasePoint()); + + //同步订单状态 + if(!jsonObjectResult.getString("status").equals(orderEntity.getOrderStatus())){ + ordersDao.updateOrderStatusByOrderNumber(jsonObjectResult.getString("orderNumber"),jsonObjectResult.getString("status")); + } + //同步订单金额 + if(jsonObjectResult.getString("paymentAmount") != null){ + if(!jsonObjectResult.getString("paymentAmount").equals(orderEntity.getPayAmount())){ + ordersDao.updateOrderPayAmountByOrderNumber(jsonObjectResult.getString("orderNumber"),jsonObjectResult.getString("paymentAmount")); + } + } } } 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 78fd7891..998d9479 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 @@ -28,6 +28,7 @@ import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; +import java.math.BigDecimal; import java.net.Inet4Address; import java.net.InetAddress; import java.util.*; @@ -96,7 +97,7 @@ public class WxpayService { // 更新订单状态 if ("SUCCESS".equals(sortedMap.get("result_code"))) { String outTradeNo = sortedMap.get("out_trade_no"); // 流水号 - String totalFee = sortedMap.get("total_fee"); // 交易金额 + String totalFee = changeY2F(Integer.parseInt(sortedMap.get("total_fee"))); // 交易金额 OrderEntity orderEntity = orderService.findByOrderId(outTradeNo); String [] products = orderEntity.getProductCode().split(","); ProductMasterQueryEntity productMasterQueryEntity = new ProductMasterQueryEntity(); @@ -143,6 +144,7 @@ public class WxpayService { addOrSaveEntity.setAddressUserName(jsonObject.getString("addressUserName")); addOrSaveEntity.setPaymentAmount(totalFee); addOrSaveEntity.setPaymentToken(sortedMap.get("transaction_id")); + addOrSaveEntity.setPaymentResult("SUCCESS"); if (orderEntity.getCouponCode() != "" && null != orderEntity.getCouponCode()) { //coupon json化 OrderCouponEntity orderCouponEntity = new OrderCouponEntity(); @@ -190,6 +192,14 @@ public class WxpayService { } + /** + * 分转换成元 + * @param price + * @return + */ + public static String changeY2F(int price) { + return BigDecimal.valueOf(Long.valueOf(price)).divide(new BigDecimal(100)).toString(); + } 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 d1e77563..18ddc6f7 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 @@ -28,4 +28,16 @@ where order_no = #{orderNumber} + + update t_good_orders + set pay_type = #{orderStatus} + where order_no = #{orderNumber} + + + + update t_good_orders + set pay_amount = #{orderPayAmount} + where order_no = #{orderNumber} + + \ No newline at end of file