Browse Source

修复金额的精准度问题

zhangwl 1 month ago
parent
commit
9f428c771a

+ 1 - 1
src/main/java/zs/payment/controller/YxSupplyOrderController.java

@@ -48,7 +48,7 @@ public class YxSupplyOrderController {
         return orderSupplyService.order(req);
         return orderSupplyService.order(req);
     }
     }
 
 
-    // 取消订单
+    // 取消订单( 中台待支付订单取消)
     @PostMapping("/appCloseOrder")
     @PostMapping("/appCloseOrder")
     public Result appCloseOrder(@Valid @RequestBody CloseOrderReq req){
     public Result appCloseOrder(@Valid @RequestBody CloseOrderReq req){
         return orderSupplyService.appCloseOrder(req);
         return orderSupplyService.appCloseOrder(req);

+ 9 - 11
src/main/java/zs/payment/messages/KafkaConsumer.java

@@ -238,14 +238,14 @@ public class KafkaConsumer {
                     goods.setContent(dto.getDetail_images());
                     goods.setContent(dto.getDetail_images());
                     //================价格====================
                     //================价格====================
                     //原价-市场价
                     //原价-市场价
-                    goods.setProductprice(new BigDecimal(dto.getGuide_price() / 100));
+                    goods.setProductprice(new BigDecimal(dto.getGuide_price() ).divide(new BigDecimal(100)));
                     //售价-用户需要支付的价格
                     //售价-用户需要支付的价格
-                    goods.setMarketprice(new BigDecimal(dto.getMarket_price() / 100));
+                    goods.setMarketprice(new BigDecimal(dto.getMarket_price() ).divide(new BigDecimal(100)));
                     // 生态供应价
                     // 生态供应价
-                    goods.setCostprice(new BigDecimal(0));
+                    goods.setCostprice(new BigDecimal(dto.getCost_price() ).divide(new BigDecimal(100)));
                     // 成本价
                     // 成本价
-                    goods.setCost_of_price(new BigDecimal(dto.getCost_price() / 100));
-//                    goods.setOriginalprice(new BigDecimal(dto.getOrigin_price() / 100));
+                    goods.setCost_of_price(new BigDecimal(dto.getCost_price() ).divide(new BigDecimal(100)));
+
 
 
                     goods.setTotal(dto.getStock());
                     goods.setTotal(dto.getStock());
                     // 0 拍下减库存 1 付款减库存 2 永久不减
                     // 0 拍下减库存 1 付款减库存 2 永久不减
@@ -314,13 +314,13 @@ public class KafkaConsumer {
                         goodsOption.setGoodsid(goods.getId().intValue());
                         goodsOption.setGoodsid(goods.getId().intValue());
                         goodsOption.setSpecs(goodsSpecItem.getId().toString());
                         goodsOption.setSpecs(goodsSpecItem.getId().toString());
                         //原价,可用于打折,最大价格
                         //原价,可用于打折,最大价格
-                        goodsOption.setProductprice(new BigDecimal(sku.getGuide_price() / 100));
+                        goodsOption.setProductprice(new BigDecimal(sku.getGuide_price() ).divide(new BigDecimal(100)));
                         //现价 不能大于原价
                         //现价 不能大于原价
-                        goodsOption.setMarketprice(new BigDecimal(sku.getGuide_price() / 100));
+                        goodsOption.setMarketprice(new BigDecimal(sku.getGuide_price() ).divide(new BigDecimal(100)));
                         //成本价
                         //成本价
-                        goodsOption.setCostprice(new BigDecimal(sku.getCost_price() / 100));
+                        goodsOption.setCostprice(new BigDecimal(sku.getCost_price() ).divide(new BigDecimal(100)));
                         //预售价 = 售价
                         //预售价 = 售价
-                        goodsOption.setPresellprice(new BigDecimal(sku.getPrice() / 100));
+                        goodsOption.setPresellprice(new BigDecimal(sku.getPrice() ).divide(new BigDecimal(100)));
 
 
                         goodsOption.setStock(sku.getStock());
                         goodsOption.setStock(sku.getStock());
                         goodsOption.setWeight(new BigDecimal(sku.getWeight()));
                         goodsOption.setWeight(new BigDecimal(sku.getWeight()));
@@ -371,6 +371,4 @@ public class KafkaConsumer {
         paySupplyService.updateOrderLogistic(orderSn);
         paySupplyService.updateOrderLogistic(orderSn);
         log.info("=======订单发货-第三方订单编号:{} =======", orderSn);
         log.info("=======订单发货-第三方订单编号:{} =======", orderSn);
     }
     }
-
-
 }
 }

+ 1 - 1
src/main/java/zs/payment/req/CloseOrderReq.java

@@ -8,7 +8,7 @@ import lombok.Setter;
 @Getter
 @Getter
 @NoArgsConstructor
 @NoArgsConstructor
 public class CloseOrderReq {
 public class CloseOrderReq {
-    //中台订单id(建议使用这个) ,两个参数二选一
+    //中台订单id(建议使用这个) ,两个参数二选一 【实际场景下企云不适合用这个】
     private Integer orderId;
     private Integer orderId;
 
 
     //第三方订单号(提交订单使用的订单号),两个参数二选一
     //第三方订单号(提交订单使用的订单号),两个参数二选一

+ 5 - 2
src/main/java/zs/payment/req/aftersales/AfterSalesOrderReq.java

@@ -10,9 +10,12 @@ import javax.validation.constraints.NotNull;
 @Getter
 @Getter
 @NoArgsConstructor
 @NoArgsConstructor
 public class AfterSalesOrderReq {
 public class AfterSalesOrderReq {
-    //中台订单id(建议使用这个)
-    @NotNull(message = "id不能为空")
+    //中台订单id- 实际场合下不适合
+//    @NotNull(message = "id不能为空")
     private Integer orderId;
     private Integer orderId;
+
+    //第三方订单号(提交订单使用的订单号),两个参数二选一
+    private String thirdOrderSn;
     //是否收到货 1是0否
     //是否收到货 1是0否
     @NotNull(message = "填写收货")
     @NotNull(message = "填写收货")
     private Integer isReceived;
     private Integer isReceived;

+ 2 - 1
src/main/java/zs/payment/service/supply/order/impl/OrderSupplyServiceImpl.java

@@ -145,7 +145,8 @@ public class OrderSupplyServiceImpl implements OrderSupplyService {
         }
         }
 
 
         Map<String, Object> params = new HashMap<>();
         Map<String, Object> params = new HashMap<>();
-        params.put("order_id", req.getOrderId());
+
+        params.put("third_order_sn", req.getThirdOrderSn());
 
 
         String resp = HttpUtil.restTemplatePost(prefixUrl + "/supplyapi/app/order/appCloseOrder", params, headers);
         String resp = HttpUtil.restTemplatePost(prefixUrl + "/supplyapi/app/order/appCloseOrder", params, headers);
         JSONObject respJson = JSONObject.parseObject(resp);
         JSONObject respJson = JSONObject.parseObject(resp);

+ 1 - 4
src/main/java/zs/payment/service/supply/paysupply/impl/PaySupplyServiceImpl.java

@@ -32,9 +32,6 @@ public class PaySupplyServiceImpl implements PaySupplyService {
     @Autowired
     @Autowired
     private SupplyTokenService supplyTokenService;
     private SupplyTokenService supplyTokenService;
 
 
-    @Autowired
-    private KafkaProducer kafkaProducer;
-
 
 
     @Override
     @Override
     public Result orderPayOnly(OrderPayReq req) {
     public Result orderPayOnly(OrderPayReq req) {
@@ -90,7 +87,7 @@ public class PaySupplyServiceImpl implements PaySupplyService {
         }
         }
 
 
         Map<String, Object> params = new HashMap<>();
         Map<String, Object> params = new HashMap<>();
-        params.put("order_id", req.getOrderId());
+        params.put("third_order_sn", req.getThirdOrderSn());
         params.put("is_received",req.getIsReceived());
         params.put("is_received",req.getIsReceived());
         params.put("order_item_id",req.getOrderItemId());
         params.put("order_item_id",req.getOrderItemId());
         if (!ObjectUtils.isEmpty(req.getAmount())){
         if (!ObjectUtils.isEmpty(req.getAmount())){