adding PaymentResult and synchronization order

This commit is contained in:
Carl 2022-02-10 18:23:19 +08:00
parent e46e5c0a59
commit 6cd5f21a56
4 changed files with 38 additions and 1 deletions

View File

@ -24,4 +24,8 @@ public interface OrdersDao extends BaseMapper<OrderEntity> {
int updateByOrderNumber (@Param("orderNumber")String orderNumber); 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);
} }

View File

@ -249,6 +249,17 @@ public class OrderService {
//新增支付方式paytype //新增支付方式paytype
jsonObjectResult.put("paytype",orderEntity.getPayType()); jsonObjectResult.put("paytype",orderEntity.getPayType());
jsonObjectResult.put("basePoint",orderEntity.getBasePoint()); 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"));
}
}
} }
} }

View File

@ -28,6 +28,7 @@ import java.io.BufferedReader;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.io.InputStreamReader; import java.io.InputStreamReader;
import java.math.BigDecimal;
import java.net.Inet4Address; import java.net.Inet4Address;
import java.net.InetAddress; import java.net.InetAddress;
import java.util.*; import java.util.*;
@ -96,7 +97,7 @@ public class WxpayService {
// 更新订单状态 // 更新订单状态
if ("SUCCESS".equals(sortedMap.get("result_code"))) { if ("SUCCESS".equals(sortedMap.get("result_code"))) {
String outTradeNo = sortedMap.get("out_trade_no"); // 流水号 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); OrderEntity orderEntity = orderService.findByOrderId(outTradeNo);
String [] products = orderEntity.getProductCode().split(","); String [] products = orderEntity.getProductCode().split(",");
ProductMasterQueryEntity productMasterQueryEntity = new ProductMasterQueryEntity(); ProductMasterQueryEntity productMasterQueryEntity = new ProductMasterQueryEntity();
@ -143,6 +144,7 @@ public class WxpayService {
addOrSaveEntity.setAddressUserName(jsonObject.getString("addressUserName")); addOrSaveEntity.setAddressUserName(jsonObject.getString("addressUserName"));
addOrSaveEntity.setPaymentAmount(totalFee); addOrSaveEntity.setPaymentAmount(totalFee);
addOrSaveEntity.setPaymentToken(sortedMap.get("transaction_id")); addOrSaveEntity.setPaymentToken(sortedMap.get("transaction_id"));
addOrSaveEntity.setPaymentResult("SUCCESS");
if (orderEntity.getCouponCode() != "" && null != orderEntity.getCouponCode()) { if (orderEntity.getCouponCode() != "" && null != orderEntity.getCouponCode()) {
//coupon json化 //coupon json化
OrderCouponEntity orderCouponEntity = new OrderCouponEntity(); 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();
}

View File

@ -28,4 +28,16 @@
where order_no = #{orderNumber} where order_no = #{orderNumber}
</update> </update>
<update id="updateOrderStatusByOrderNumber" >
update t_good_orders
set pay_type = #{orderStatus}
where order_no = #{orderNumber}
</update>
<update id="updateOrderPayAmountByOrderNumber" >
update t_good_orders
set pay_amount = #{orderPayAmount}
where order_no = #{orderNumber}
</update>
</mapper> </mapper>