Commit b49f543d by 徐康

问题修复

parent e3c663d5
...@@ -172,6 +172,14 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -172,6 +172,14 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
private String quickOrderInterval; private String quickOrderInterval;
@Value("${mccafe.partner.id}") @Value("${mccafe.partner.id}")
private String mcCafePartnerId; private String mcCafePartnerId;
@Value("${mccafe.push.order.url}")
private String mccafePushOrderUrl;
@Value("${mccafe.pushorder.MerchantId}")
private String mccafePushOrderMerchantId;
@Value("${mccafe.pushorder.AppId}")
private String mccafePushOrderAppId;
@Value("${mccafe.pushorder.Key}")
private String mccafePushOrderKey;
@Autowired @Autowired
private DeliveryFeiginClient deliveryFeiginClient; private DeliveryFeiginClient deliveryFeiginClient;
...@@ -2547,19 +2555,26 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -2547,19 +2555,26 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
} }
McCafePushOrderDto mcCafePushOrderDto = convert2McCafePushOrderInfo(orderInfoReqs); McCafePushOrderDto mcCafePushOrderDto = convert2McCafePushOrderInfo(orderInfoReqs);
AppLogUtil.infoLog("订单推送入参: "+JSON.toJSONString(mcCafePushOrderDto),null,null); AppLogUtil.infoLog("订单推送入参: "+JSON.toJSONString(mcCafePushOrderDto),null,null);
String sign = getMcdOpenApiSign("",JSON.toJSONString(mcCafePushOrderDto),"",System.currentTimeMillis()+"","");
// String timestamp = System.currentTimeMillis()+"";
// String sign = getMcdOpenApiSign(mccafePushOrderAppId,JSON.toJSONString(mcCafePushOrderDto),mccafePushOrderMerchantId,timestamp,mccafePushOrderKey);
//
// RestTemplate client = new RestTemplate(); // RestTemplate client = new RestTemplate();
// HttpHeaders headers = new HttpHeaders(); // HttpHeaders headers = new HttpHeaders();
// headers.setContentType(mediaType); // headers.setContentType(MediaType.APPLICATION_JSON);
// headers.setContentType(mediaType); // headers.set("Provider", "WX");
// headers.setContentType(mediaType); // headers.set("Version", "1.0");
// headers.set("AppId", mccafePushOrderAppId);
// headers.set("MerchantId", mccafePushOrderMerchantId);
// headers.set("Timestamp", timestamp);
// headers.set("Sign", sign);
// headers.add("Accept", MediaType.APPLICATION_JSON_VALUE); // headers.add("Accept", MediaType.APPLICATION_JSON_VALUE);
// Gson gson = new Gson(); // Gson gson = new Gson();
// String json = gson.toJson(map); // String json = gson.toJson(mcCafePushOrderDto);
// HttpEntity<String> requestEntity = new HttpEntity<>(json, headers); // HttpEntity<String> requestEntity = new HttpEntity<>(json, headers);
// ResponseEntity<String> responseEntity = client.exchange(url, HttpMethod.POST, requestEntity, String.class); // ResponseEntity<String> responseEntity = client.exchange(mccafePushOrderUrl+"/mp/order", HttpMethod.POST, requestEntity, String.class);
//
// McCafePushOrderResponseDto responseDto = JSON.parseObject(responseEntity.getBody(), McCafePushOrderResponseDto.class);
McCafePushOrderResponseDto responseDto = mcCafePushOrderClient.mcCafePushOrder(mcCafePushOrderDto); McCafePushOrderResponseDto responseDto = mcCafePushOrderClient.mcCafePushOrder(mcCafePushOrderDto);
PushMccafeOrder pushMccafeOrder = new PushMccafeOrder(); PushMccafeOrder pushMccafeOrder = new PushMccafeOrder();
...@@ -2724,11 +2739,15 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -2724,11 +2739,15 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
} }
} }
} }
Integer materialPrice = 0;
if(CollectionUtils.isNotEmpty(materialList)) { if(CollectionUtils.isNotEmpty(materialList)) {
String parentProductId = orderItemResp.getProductId() + "_" + orderItemResp.getProductSeq(); String parentProductId = orderItemResp.getProductId() + "_" + orderItemResp.getProductSeq();
List<OrderItemResp> productMaterialList = materialList.stream().filter(o -> parentProductId.equals(o.getParentProductId())).collect(Collectors.toList()); List<OrderItemResp> productMaterialList = materialList.stream().filter(o -> parentProductId.equals(o.getParentProductId())).collect(Collectors.toList());
if(CollectionUtils.isNotEmpty(productMaterialList)) { if(CollectionUtils.isNotEmpty(productMaterialList)) {
for(OrderItemResp material : productMaterialList) { for(OrderItemResp material : productMaterialList) {
if(material.getSalePrice().intValue() != 0) {
materialPrice += material.getSalePrice().intValue();
}
String[] codes = material.getThirdProductId().split("_"); String[] codes = material.getThirdProductId().split("_");
if(codes.length > 1) { if(codes.length > 1) {
McCafePushOrderDto.productAttribute productAttribute = new McCafePushOrderDto.productAttribute(); McCafePushOrderDto.productAttribute productAttribute = new McCafePushOrderDto.productAttribute();
...@@ -2753,23 +2772,23 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -2753,23 +2772,23 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
orderItem.setProductLongNameEn(orderItemResp.getProductForeignName()); orderItem.setProductLongNameEn(orderItemResp.getProductForeignName());
orderItem.setQuantity(orderItemResp.getProductQuantity().toString()); orderItem.setQuantity(orderItemResp.getProductQuantity().toString());
orderItem.setReal_quantity(orderItemResp.getProductQuantity().toString()); orderItem.setReal_quantity(orderItemResp.getProductQuantity().toString());
orderItem.setOriginal_price(String.valueOf(orderItemResp.getProductPrice().intValue())); orderItem.setOriginal_price(String.valueOf(orderItemResp.getSalePrice().intValue()+materialPrice));
orderItem.setPrice(String.valueOf(orderItemResp.getSalePrice().intValue())); orderItem.setPrice(String.valueOf(orderItemResp.getProductPrice().intValue()+materialPrice));
orderItem.setSubtotal(orderItemResp.getProductPrice().multiply(new BigDecimal(orderItemResp.getProductQuantity())).intValue()+""); orderItem.setSubtotal(new BigDecimal(orderItem.getOriginal_price()).multiply(new BigDecimal(orderItemResp.getProductQuantity())).intValue()+"");
orderItem.setDiscountAmount((orderItemResp.getProductPrice().subtract(orderItemResp.getSalePrice())).multiply(new BigDecimal(orderItemResp.getProductQuantity())).intValue()+""); orderItem.setDiscountAmount((orderItemResp.getProductPrice().subtract(orderItemResp.getSalePrice())).multiply(new BigDecimal(orderItemResp.getProductQuantity())).intValue()+"");
orderItem.setRealAmount(orderItemResp.getSalePrice().multiply(new BigDecimal(orderItemResp.getProductQuantity())).intValue()+""); orderItem.setRealAmount(new BigDecimal(orderItem.getOriginal_price()).multiply(new BigDecimal(orderItemResp.getProductQuantity())).intValue()+"");
String taxId = "10"; String taxId = "10";
orderItem.setTaxId(taxId); orderItem.setTaxId(taxId);
Integer taxRate = 6; Integer taxRate = 6;
orderItem.setTaxRate(String.valueOf(taxRate)); orderItem.setTaxRate(String.valueOf(taxRate));
orderItem.setTaxAmount(String.valueOf(new BigDecimal(taxRate).multiply(orderItemResp.getSalePrice()) orderItem.setTaxAmount(String.valueOf(new BigDecimal(taxRate).multiply(new BigDecimal(orderItem.getOriginal_price()))
.multiply(new BigDecimal(orderItemResp.getProductQuantity())).intValue()/100)); .multiply(new BigDecimal(orderItemResp.getProductQuantity())).intValue()/100));
taxTotalAmount += Integer.parseInt(orderItem.getTaxAmount()); taxTotalAmount += Integer.parseInt(orderItem.getTaxAmount());
McCafePushOrderDto.TaxAmountDetail taxAmountDetail = new McCafePushOrderDto.TaxAmountDetail(); McCafePushOrderDto.TaxAmountDetail taxAmountDetail = new McCafePushOrderDto.TaxAmountDetail();
taxAmountDetail.setUniqueCode(orderItemResp.getProductCode()); taxAmountDetail.setUniqueCode(orderItemResp.getProductCode());
McCafePushOrderDto.TaxItem taxItem = new McCafePushOrderDto.TaxItem(); McCafePushOrderDto.TaxItem taxItem = new McCafePushOrderDto.TaxItem();
taxItem.setRealAmount(orderItemResp.getSalePrice().multiply(new BigDecimal(orderItemResp.getProductQuantity())).intValue()); taxItem.setRealAmount(new BigDecimal(orderItem.getOriginal_price()).multiply(new BigDecimal(orderItemResp.getProductQuantity())).intValue());
taxItem.setTaxAmount(new BigDecimal(taxRate).multiply(orderItemResp.getSalePrice()) taxItem.setTaxAmount(new BigDecimal(taxRate).multiply(new BigDecimal(orderItem.getOriginal_price()))
.multiply(new BigDecimal(orderItemResp.getProductQuantity())).intValue()/100); .multiply(new BigDecimal(orderItemResp.getProductQuantity())).intValue()/100);
taxItem.setTaxId(taxId); taxItem.setTaxId(taxId);
taxItem.setTaxRate(taxRate+""); taxItem.setTaxRate(taxRate+"");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment