Commit 06961ce3 by 徐康

Merge remote-tracking branch 'origin/qa' into qa

parents 781219c1 6884a45a
...@@ -1175,6 +1175,7 @@ public class OrderSdkAdapter { ...@@ -1175,6 +1175,7 @@ public class OrderSdkAdapter {
data.setOrderPayItem(this.getOrderItemPayList(orderInfoReqs.getOrderPayItemCreateReqList())); data.setOrderPayItem(this.getOrderItemPayList(orderInfoReqs.getOrderPayItemCreateReqList()));
} }
data.setPayChannelType(orderInfoReqs.getPayChannelType()); data.setPayChannelType(orderInfoReqs.getPayChannelType());
data.setPickUpGoodsNo(orderInfoReqs.getPickUpGoodsNo());
return data; return data;
} }
......
...@@ -416,9 +416,10 @@ public class QueryOrdersResponse { ...@@ -416,9 +416,10 @@ public class QueryOrdersResponse {
*/ */
//订单支付详情 //订单支付详情
private List<OrderPayItemResp> orderPayItemCreateReqList;
private List<OrderPayItem> orderPayItem; private List<OrderPayItem> orderPayItem;
private String pickUpGoodsNo;
@NoArgsConstructor @NoArgsConstructor
@Data @Data
public static class AddDeliveryInfo { public static class AddDeliveryInfo {
......
...@@ -85,7 +85,7 @@ ...@@ -85,7 +85,7 @@
</dependency> </dependency>
<dependency> <dependency>
<groupId>cn.freemud</groupId> <groupId>cn.freemud</groupId>
<version>1.4.31-SNAPSHOT</version> <version>1.6.7-SNAPSHOT</version>
<artifactId>ordercenter-sdk</artifactId> <artifactId>ordercenter-sdk</artifactId>
</dependency> </dependency>
<dependency> <dependency>
......
...@@ -34,8 +34,10 @@ import com.freemud.application.sdk.api.log.LogThreadLocal; ...@@ -34,8 +34,10 @@ import com.freemud.application.sdk.api.log.LogThreadLocal;
import com.freemud.application.sdk.api.log.ThirdPartyLog; import com.freemud.application.sdk.api.log.ThirdPartyLog;
import com.freemud.application.sdk.api.ordercenter.enums.NewOrderStatus; import com.freemud.application.sdk.api.ordercenter.enums.NewOrderStatus;
import com.freemud.application.sdk.api.ordercenter.enums.OrderClientType; import com.freemud.application.sdk.api.ordercenter.enums.OrderClientType;
import com.freemud.application.sdk.api.ordercenter.enums.PayChannelType;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs; import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderItemResp; import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderItemResp;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderPayItemReqs;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderSettlementResp; import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderSettlementResp;
import com.freemud.sdk.api.assortment.orderdistributor.request.DisRequest; import com.freemud.sdk.api.assortment.orderdistributor.request.DisRequest;
import com.freemud.sdk.api.assortment.orderdistributor.service.OrderDistributionService; import com.freemud.sdk.api.assortment.orderdistributor.service.OrderDistributionService;
...@@ -51,10 +53,7 @@ import org.springframework.context.ApplicationContext; ...@@ -51,10 +53,7 @@ import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.util.ArrayList; import java.util.*;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
@Component @Component
@Slf4j @Slf4j
...@@ -221,12 +220,23 @@ public class OrderCallBackMQService { ...@@ -221,12 +220,23 @@ public class OrderCallBackMQService {
AssortmentOpenPlatformWxapp wxApp = openPlatformWxappManager.findByPartnerIdAndWxappId(userLoginInfoDto.getPartnerId(), userLoginInfoDto.getWxAppid()); AssortmentOpenPlatformWxapp wxApp = openPlatformWxappManager.findByPartnerIdAndWxappId(userLoginInfoDto.getPartnerId(), userLoginInfoDto.getWxAppid());
wechatReportOrderDto.setSubMchId(wxApp == null ? "" : wxApp.getMchId()); wechatReportOrderDto.setSubMchId(wxApp == null ? "" : wxApp.getMchId());
} }
// 混合支付
Integer userAmount = 0;
if (orderInfoReqs.getOrderPayItemCreateReqList().size()>0) {
OrderPayItemReqs orderPayItemReqs = orderInfoReqs.getOrderPayItemCreateReqList()
.stream()
.filter(s -> s.getPayChannelType().equals(PayChannelType.WECHAT.getIndex()) || s.getPayChannelType().equals(PayChannelType.ALIPAY.getIndex()))
.findFirst().orElse(null);
if (orderPayItemReqs!=null) {
userAmount = orderPayItemReqs.getPayAmount().intValue();
}
}
wechatReportOrderDto.setPayVoucher(orderInfoReqs.getPayRequestNo()); wechatReportOrderDto.setPayVoucher(orderInfoReqs.getPayRequestNo());
wechatReportOrderDto.setSubAppId(userLoginInfoDto.getWxAppid()); wechatReportOrderDto.setSubAppId(userLoginInfoDto.getWxAppid());
wechatReportOrderDto.setOutShopNo(orderInfoReqs.getStoreId()); wechatReportOrderDto.setOutShopNo(orderInfoReqs.getStoreId());
wechatReportOrderDto.setSubOpenId(userLoginInfoDto.getOpenId()); wechatReportOrderDto.setSubOpenId(userLoginInfoDto.getOpenId());
wechatReportOrderDto.setLoginToken(userLoginInfoDto.getSessionKey()); wechatReportOrderDto.setLoginToken(userLoginInfoDto.getSessionKey());
wechatReportOrderDto.setUserAmount(orderInfoReqs.getSettlementAmount().intValue()); wechatReportOrderDto.setUserAmount(userAmount >0 ? userAmount :orderInfoReqs.getSettlementAmount().intValue());
wechatReportOrderDto.setOutOrderNo(orderInfoReqs.getOrderCode()); wechatReportOrderDto.setOutOrderNo(orderInfoReqs.getOrderCode());
wechatReportOrderDto.setTransactionId(orderExtInfoDto.getPaid_no()); wechatReportOrderDto.setTransactionId(orderExtInfoDto.getPaid_no());
wechatReportOrderDto.setOutTradeNo(orderExtInfoDto.getPayTransId()); wechatReportOrderDto.setOutTradeNo(orderExtInfoDto.getPayTransId());
...@@ -245,7 +255,7 @@ public class OrderCallBackMQService { ...@@ -245,7 +255,7 @@ public class OrderCallBackMQService {
} }
} }
} }
wechatReportOrderDto.setTotalAmount(discountAmount+orderInfoReqs.getSettlementAmount().intValue()); wechatReportOrderDto.setTotalAmount(discountAmount+(userAmount >0 ? userAmount : orderInfoReqs.getSettlementAmount().intValue()));
wechatReportOrderDto.setDiscountAmount(discountAmount); wechatReportOrderDto.setDiscountAmount(discountAmount);
//订单状态 (2—用户下单;1—支付完成) //订单状态 (2—用户下单;1—支付完成)
wechatReportOrderDto.setStatus(NewOrderStatus.PENDING_PAYMENT.getIndex().equals(orderInfoReqs.getOrderState()) ? 2 : 1); wechatReportOrderDto.setStatus(NewOrderStatus.PENDING_PAYMENT.getIndex().equals(orderInfoReqs.getOrderState()) ? 2 : 1);
......
...@@ -227,7 +227,7 @@ public class DeliveryAdapter { ...@@ -227,7 +227,7 @@ public class DeliveryAdapter {
if(CollectionUtils.isNotEmpty(productList.getComboProduct())) { if(CollectionUtils.isNotEmpty(productList.getComboProduct())) {
productList.getComboProduct().forEach(comboProduct -> { productList.getComboProduct().forEach(comboProduct -> {
ProductInfo deliveryComboProductInfo = new ProductInfo(); ProductInfo deliveryComboProductInfo = new ProductInfo();
deliveryComboProductInfo.setProductCode(comboProduct.getProductId().substring(4)); deliveryComboProductInfo.setProductCode(comboProduct.getProductId().length()>4?comboProduct.getProductId().substring(4):comboProduct.getProductId());
String productNameCombo = StringUtils.isBlank(comboProduct.getSpecificationName()) ? comboProduct.getProductName() : comboProduct.getSpecificationName(); String productNameCombo = StringUtils.isBlank(comboProduct.getSpecificationName()) ? comboProduct.getProductName() : comboProduct.getSpecificationName();
String grillingCombo = ""; String grillingCombo = "";
......
...@@ -1148,6 +1148,9 @@ public class OrderAdapter { ...@@ -1148,6 +1148,9 @@ public class OrderAdapter {
responseVo.setOrderPayType(PayChannelType.WECHAT.getName()); responseVo.setOrderPayType(PayChannelType.WECHAT.getName());
} }
} }
else if (ordersBean.getOrderPayItem().size()>0) {
responseVo.setOrderPayType(PayChannelType.COMB.getName());
}
else { else {
if (OrderSourceType.ALIPAY.getCode().equals(ordersBean.getSource())) { if (OrderSourceType.ALIPAY.getCode().equals(ordersBean.getSource())) {
responseVo.setOrderPayType("支付宝支付"); responseVo.setOrderPayType("支付宝支付");
......
...@@ -12,12 +12,13 @@ ...@@ -12,12 +12,13 @@
*/ */
package cn.freemud.entities.dto; package cn.freemud.entities.dto;
import com.freemud.application.sdk.api.ordercenter.response.OrderPayItemResp;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderCostResp; import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderCostResp;
import com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.apache.commons.lang.builder.ToStringBuilder; import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle; import org.apache.commons.lang.builder.ToStringStyle;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.List; import java.util.List;
...@@ -199,6 +200,7 @@ public class QueryOrdersResponseDto { ...@@ -199,6 +200,7 @@ public class QueryOrdersResponseDto {
private AddDeliveryInfo addInfo; private AddDeliveryInfo addInfo;
private List<OrderCostResp> orderCostDetailList; private List<OrderCostResp> orderCostDetailList;
private List<QueryOrdersResponse.DataBean.OrderBean.OrderPayItem> orderPayItem;
/** /**
* 订单操作状态(从订单操作历史表中获取) * 订单操作状态(从订单操作历史表中获取)
...@@ -278,6 +280,12 @@ public class QueryOrdersResponseDto { ...@@ -278,6 +280,12 @@ public class QueryOrdersResponseDto {
*/ */
private BigDecimal weight; private BigDecimal weight;
/**
* 混合支付详情
*/
private List<OrderPayItemResp> orderPayItemCreateReqList;
@NoArgsConstructor @NoArgsConstructor
@Data @Data
public static class AddDeliveryInfo { public static class AddDeliveryInfo {
......
...@@ -75,6 +75,7 @@ import com.freemud.application.sdk.api.deliverycenter.service.DeliveryService; ...@@ -75,6 +75,7 @@ import com.freemud.application.sdk.api.deliverycenter.service.DeliveryService;
import com.freemud.application.sdk.api.log.ApiLog; import com.freemud.application.sdk.api.log.ApiLog;
import com.freemud.application.sdk.api.log.ErrorLog; import com.freemud.application.sdk.api.log.ErrorLog;
import com.freemud.application.sdk.api.log.LogThreadLocal; import com.freemud.application.sdk.api.log.LogThreadLocal;
import com.freemud.application.sdk.api.ordercenter.entities.PayItem;
import com.freemud.application.sdk.api.ordercenter.enums.AfterSalesType; import com.freemud.application.sdk.api.ordercenter.enums.AfterSalesType;
import com.freemud.application.sdk.api.ordercenter.enums.OrderClientType; import com.freemud.application.sdk.api.ordercenter.enums.OrderClientType;
import com.freemud.application.sdk.api.ordercenter.enums.PayChannelType; import com.freemud.application.sdk.api.ordercenter.enums.PayChannelType;
...@@ -1728,7 +1729,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1728,7 +1729,7 @@ public class OrderServiceImpl implements Orderservice {
String partnerId = orderBean.getCompanyId(); String partnerId = orderBean.getCompanyId();
int state = PayRefundStatus.SUCCESS.getCode(); int state = PayRefundStatus.SUCCESS.getCode();
if (orderBean.getAmount() != 0) { if (orderBean.getAmount() != 0) {
if("4".equalsIgnoreCase(orderBean.getPayChannelType())){ if(null != orderBean.getOrderPayItem() && orderBean.getOrderPayItem().size()>0){
//调用支付退款 //调用支付退款
MultiOrderRefundRequest multiOrderRefundRequest = orderAdapter.getMultiOrderPayRefundRequest(orderBean, refundId); MultiOrderRefundRequest multiOrderRefundRequest = orderAdapter.getMultiOrderPayRefundRequest(orderBean, refundId);
MultiOrderRefundResponse multiOrderRefundResponse = mulitiPaymentClient.paymentApplicationRefund(multiOrderRefundRequest,orderBean.getCompanyId()); MultiOrderRefundResponse multiOrderRefundResponse = mulitiPaymentClient.paymentApplicationRefund(multiOrderRefundRequest,orderBean.getCompanyId());
...@@ -2373,29 +2374,6 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2373,29 +2374,6 @@ public class OrderServiceImpl implements Orderservice {
boolean tigger = false; boolean tigger = false;
OrderPayResponse orderPayResponse = new OrderPayResponse(); OrderPayResponse orderPayResponse = new OrderPayResponse();
/*
SVCCardAmountRequest svcRequest = new SVCCardAmountRequest();
svcRequest.setPartnerId(orderBean.getCompanyId());
svcRequest.setCardCodes(Arrays.asList(cardCode));
//查询svc卡余额
com.freemud.application.sdk.api.base.BaseResponse<SVCCardAmountResponse> svcCardAmount = paymentNewService.querySVCCardAmount(svcRequest, trackingNo);
if (svcCardAmount == null
|| !ResponseCodeConstant.RESPONSE_SUCCESS_STR.equals(svcCardAmount.getCode())
|| svcCardAmount.getData().getData() == null
|| CollectionUtils.isEmpty(svcCardAmount.getData().getData().getCardSimpleInfos())) {
orderPayResponse.setMsg(Objects.isNull(svcCardAmount) ? "获取svc卡余额异常" : svcCardAmount.getMessage());
return orderPayResponse;
}
// 校验金额
Integer svcAmount = svcCardAmount.getData().getData().getCardSimpleInfos().get(0).getAmount() ;
Integer svcVAmount = svcCardAmount.getData().getData().getCardSimpleInfos().get(0).getVamount() ;
//todo : svc卡的金额小于订单金额
if(svcAmount + svcVAmount >0 && totalAmount> svcAmount + svcVAmount){
tigger = true;
}
*/
tigger = true; tigger = true;
//混合支付 //混合支付
if (tigger && StringUtils.isNotBlank(channel)) { if (tigger && StringUtils.isNotBlank(channel)) {
...@@ -2769,7 +2747,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2769,7 +2747,7 @@ public class OrderServiceImpl implements Orderservice {
orderEditRequest.setPayChannelType(PayChannelType.getByEbcode(orderPayResponse.getPayMode()).getIndex()); orderEditRequest.setPayChannelType(PayChannelType.getByEbcode(orderPayResponse.getPayMode()).getIndex());
} }
//混合支付项 //混合支付项
if (CollectionUtils.isNotEmpty(orderPayResponse.getPayItem()) && orderPayResponse.getPayMode().equals(PayChannelType.COMB.getEbcode())) { if (CollectionUtils.isNotEmpty(orderPayResponse.getPayItem())) {
orderEditRequest.setOrderPayItem(orderPayResponse.getPayItem()); orderEditRequest.setOrderPayItem(orderPayResponse.getPayItem());
orderEditRequest.setPayChannel(PayChannelType.COMB.getEbcode()); orderEditRequest.setPayChannel(PayChannelType.COMB.getEbcode());
orderEditRequest.setPayChannelName(PayChannelType.COMB.getName()); orderEditRequest.setPayChannelName(PayChannelType.COMB.getName());
...@@ -3362,6 +3340,17 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3362,6 +3340,17 @@ public class OrderServiceImpl implements Orderservice {
orderPayResponse.setPartnerId(orderBean.getCompanyId()); orderPayResponse.setPartnerId(orderBean.getCompanyId());
orderPayResponse.setOrderId(orderBean.getOid()); orderPayResponse.setOrderId(orderBean.getOid());
orderPayResponse.setPayMode(PayChannelType.SVC.getEbcode()); orderPayResponse.setPayMode(PayChannelType.SVC.getEbcode());
for (CombPayResponse.PayPlatform pt : payPlatforms) {
PayItem payItem = new PayItem();
payItem.setFmTradeNo(pt.getFmTradeNo());
payItem.setStoreId(storeId);
payItem.setPayChannelType(PayChannelType.getByEbcode(pt.getEbCode()).getIndex().intValue());
payItem.setPayChannelName(PayChannelType.getByEbcode(pt.getEbCode()).getName());
payItem.setTransId(pt.getTransId());
payItem.setPartnerId(combPayRequest.getPartner_id());
payItem.setPayAmount(new BigDecimal(pt.getPayAmount()));
orderPayResponse.getPayItem().add(payItem);
}
} }
return orderPayResponse; return orderPayResponse;
...@@ -3400,7 +3389,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3400,7 +3389,7 @@ public class OrderServiceImpl implements Orderservice {
do { do {
try { try {
request = orderCenterSdkService.orderCancel(cancelOrderRequest); request = orderCenterSdkService.orderCancel(cancelOrderRequest);
if (ResponseCodeConstant.RESPONSE_SUCCESS.equals(request.getErrcode())) { if (request!=request) {
break; break;
} }
} catch (Exception e) {} } catch (Exception e) {}
...@@ -3409,9 +3398,9 @@ public class OrderServiceImpl implements Orderservice { ...@@ -3409,9 +3398,9 @@ public class OrderServiceImpl implements Orderservice {
backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus()); backOrdersStatusChange(orderBean.getOid(), orderBean.getStatus());
if(ResponseCodeConstant.RESPONSE_SUCCESS.equals(request.getErrcode())) { if(ResponseCodeConstant.RESPONSE_SUCCESS.equals(request.getErrcode())) {
return this.newSendPayFaileMessage();
} else {
return this.newSendPaySuccessNoticeMessage(); return this.newSendPaySuccessNoticeMessage();
} else {
return this.newSendPayFaileMessage();
} }
} }
......
...@@ -128,7 +128,7 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService { ...@@ -128,7 +128,7 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
//支付退款 //支付退款
PayRefundResponse refundResponse = new PayRefundResponse(); PayRefundResponse refundResponse = new PayRefundResponse();
try { try {
if("4".equalsIgnoreCase(orderBean.getPayChannelType())){ if(null != orderBean.getOrderPayItem() && orderBean.getOrderPayItem().size()>0){
refundResponse = paymentHandle.multiRefund(orderBean); refundResponse = paymentHandle.multiRefund(orderBean);
}else{ }else{
refundResponse = paymentHandle.refund(request, orderBean); refundResponse = paymentHandle.refund(request, orderBean);
...@@ -162,7 +162,7 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService { ...@@ -162,7 +162,7 @@ public class SaasOrderMangerServiceImpl implements OrderManagerService {
//支付退款 //支付退款
PayRefundResponse refundResponse = new PayRefundResponse(); PayRefundResponse refundResponse = new PayRefundResponse();
try { try {
if("4".equalsIgnoreCase(orderBean.getPayChannelType())){ if(null != orderBean.getOrderPayItem() && orderBean.getOrderPayItem().size()>0){
refundResponse = paymentHandle.multiRefund(orderBean); refundResponse = paymentHandle.multiRefund(orderBean);
}else{ }else{
refundResponse = paymentHandle.refund(request, orderBean); refundResponse = paymentHandle.refund(request, orderBean);
......
package cn.freemud.entities.dto.product;
import lombok.Data;
import java.util.List;
/**
* All rights Reserved, Designed By sunary.site
*
* @version v1.0
* @Title: IntelliJ IDEA
* @Package cn.freemud.entities.dto.product
* @Description: 请简单描述下这个类是做什么用的
* @author: yu.sun
* @date: 2020-11-25 11:51:44
* @Copyright: 2019 www.freemud.cn Inc. All rights reserved.
*/
@Data
public class ProductTypeBeanDTO {
private String businessNo;
private String barcode;
private String brandId;
private String brandName;
private String category;
private String categoryName;
private String companyId;
private String customerCode;
private String productCode;
private Long finalPrice;
private Integer isSkuProduct;
private String name;
private Long originalPrice;
private Long packPrice;
private String picture;
private String pid;
private String specification;
private Integer status;
private Integer stock;
private Integer stockLimit;
private int type;
private String unit;
private Integer riseSell;
private String rawMaterial;
private Double tax;
private String taxId;
private Integer openMemberDiscount;
private Integer memberDiscount;
private List<ProductAttributeGroupListBean> productAttributeGroupList;
private List<ProductPictureListBean> productPictureList;
private List<SkuProductBean> skuList;
private List<ProductComboType> productComboList;
private List<ProductGroupType> productGroupList;
private List<SkuProductBean.SkuSpecValue> skuSpecValues;
private List<PackageProductTypeDto> packageProductTypes;
private List<ProductGroupType> additionalGroupList;
private List<ProductComboDetailTypeDto> productComboInfos;
private Integer isDishware;
private Integer weightType;
private Double weight;
public Integer getMemberDiscountResult() {
return this.openMemberDiscount != null && this.openMemberDiscount == 1 ? this.memberDiscount : 100;
}
public ProductTypeBeanDTO() {
}
@Data
public static class ProductComboDetailTypeDto {
private String productId;
private Integer quantity;
private Integer sequence;
public ProductComboDetailTypeDto() {
}
}
@Data
public static class ProductAttributeGroupListBean {
private String attributeName;
private Integer attributeType;
private List<AttributeValueBean> attributeValues;
public ProductAttributeGroupListBean() {
}
}
@Data
public static class AttributeValueBean {
private String attributeId;
private String attributeValue;
private Long id;
private Long price;
private Integer sequence;
private Integer status;
public AttributeValueBean() {
}
}
@Data
public static class PackageProductTypeDto {
private Long groupId;
private Integer sequence;
public PackageProductTypeDto() {
}
}
@Data
public static class ProductGroupType {
private String pgid;
private String linkId;
private String groupCode;
private String options;
private String name;
private Integer must;
private Integer allowRepeat;
private Integer minNumber;
private Integer maxNumber;
private String remark;
private Integer total;
private List<ProductGroupType.GroupDetailType> groupDetail;
public ProductGroupType() {
}
@Data
public static class GroupDetailType {
private String productId;
private String productName;
private String customerCode;
private Integer productPrice;
protected Integer productFinalPrice;
protected Integer markUpPrice;
private String picture;
private Integer stockLimit;
protected String unit;
protected String productCode;
private Integer weightType;
private Double weight;
private Double tax;
private String taxId;
}
}
@Data
public static class ProductComboType {
private String productId;
private String productName;
private String customerCode;
private Integer originalPrice;
protected Integer finalPrice;
protected Integer packPrice;
private String picture;
protected String unit;
protected String productCode;
private Integer quantity;
private Integer weightType;
private Double weight;
private Double tax;
private String taxId;
}
@Data
public static class ProductPictureListBean {
private String pictureId;
private String productId;
private String sequence;
private String type;
private String url;
@Data
public static class AttributeValueBean {
private String attributeId;
private String attributeValue;
private Long id;
private Long price;
private Integer sequence;
private Integer status;
public AttributeValueBean() {
}
}
}
@Data
public static class ProductLabelNameListBean {
private String id;
private String name;
private String partnerId;
List<?> productList;
private String storeId;
private String type;
public ProductLabelNameListBean() {
}
}
@Data
public static class SpecificationGroupBean {
private String partnerId;
private Integer sequence;
private String specId;
private String specName;
private List<SpecificationGroupBean.SpecValueVo> specValueVos;
public SpecificationGroupBean() {
}
@Data
public static class SpecValueVo {
private Integer sequence;
private String specId;
private String specValue;
private String specValueId;
public SpecValueVo() {
}
}
}
@Data
public static class SkuProductBean {
private String customerCode;
private String productCode;
private Long finalPrice;
private Long originalPrice;
private String productName;
private Integer productType;
private Integer sequence;
private String skuCode;
private String skuId;
private Integer status;
private Integer stockLimit;
private Integer stockQty;
private Long packPrice;
private Integer riseSell;
private String rawMaterial;
private Double tax;
private String taxId;
private List<SkuProductBean.SkuSpecValue> skuSpecValues;
private List<ProductGroupType> additionalGroupList;
private Double weight;
protected String unit;
private Integer openMemberDiscount;
private Integer memberDiscount;
public Integer getMemberDiscountResult() {
return this.openMemberDiscount != null && this.openMemberDiscount == 1 ? this.memberDiscount : 100;
}
public SkuProductBean() {
}
@Data
public static class SkuSpecValue {
private String productId;
private Integer sequence;
private String specId;
private String specName;
private String specValue;
private String specValueId;
public SkuSpecValue() {
}
}
@Data
public static class PackageProductTypeDto {
private Long groupId;
private Integer sequence;
public PackageProductTypeDto() {
}
}
}
}
package cn.freemud.entities.dto.product; package cn.freemud.entities.dto.product;
import com.freemud.application.sdk.api.productcenter.domain.ProductBeanDTO;
import lombok.Data; import lombok.Data;
import java.util.Map; import java.util.Map;
...@@ -24,9 +24,9 @@ public class ValiadShopProductResult { ...@@ -24,9 +24,9 @@ public class ValiadShopProductResult {
private String message; private String message;
private String skuId; private String skuId;
private String spuId; private String spuId;
private ProductBeanDTO productType; private ProductTypeBeanDTO productType;
private String uuid; private String uuid;
private Map<String,ProductBeanDTO> subProductTypeMap; private Map<String,ProductTypeBeanDTO> subProductTypeMap;
} }
...@@ -9,6 +9,7 @@ import cn.freemud.constant.ShoppingCartConstant; ...@@ -9,6 +9,7 @@ import cn.freemud.constant.ShoppingCartConstant;
import cn.freemud.entities.dto.*; import cn.freemud.entities.dto.*;
import cn.freemud.entities.dto.activity.ActivityQueryDto; import cn.freemud.entities.dto.activity.ActivityQueryDto;
import cn.freemud.entities.dto.activity.ActivityQueryResponseDto; import cn.freemud.entities.dto.activity.ActivityQueryResponseDto;
import cn.freemud.entities.dto.product.ProductTypeBeanDTO;
import cn.freemud.entities.dto.product.ValiadShopProductResponse; import cn.freemud.entities.dto.product.ValiadShopProductResponse;
import cn.freemud.entities.dto.product.ValiadShopProductResult; import cn.freemud.entities.dto.product.ValiadShopProductResult;
import cn.freemud.entities.dto.product.ValidateShopProductRequest; import cn.freemud.entities.dto.product.ValidateShopProductRequest;
...@@ -1655,7 +1656,8 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -1655,7 +1656,8 @@ public class ShoppingCartMCoffeeServiceImpl {
} }
if (PRODUCT_PRICE_CHANGE == validaProduct.getCode()) { if (PRODUCT_PRICE_CHANGE == validaProduct.getCode()) {
changePriceSpu.add(spuName); changePriceSpu.add(spuName);
List<ProductBeanDTO> productList = validateResult.getFailureList().stream().map(ValiadShopProductResult::getProductType).collect(Collectors.toList()); List<ProductTypeBeanDTO> productList =
validateResult.getFailureList().stream().map(ValiadShopProductResult::getProductType).collect(Collectors.toList());
shoppingCartConvertAdapter.updateCartGoodsInfoForMCoffee(cartGoods, productList); shoppingCartConvertAdapter.updateCartGoodsInfoForMCoffee(cartGoods, productList);
} }
if (PRODUCT_GROUP_EMPTY == validaProduct.getCode()) { if (PRODUCT_GROUP_EMPTY == validaProduct.getCode()) {
...@@ -1690,9 +1692,9 @@ public class ShoppingCartMCoffeeServiceImpl { ...@@ -1690,9 +1692,9 @@ public class ShoppingCartMCoffeeServiceImpl {
continue; continue;
} }
for (ValiadShopProductResult valiadShopProductResult : validateResult.getSuccessList()){ for (ValiadShopProductResult valiadShopProductResult : validateResult.getSuccessList()){
ProductBeanDTO productType = valiadShopProductResult.getProductType(); ProductTypeBeanDTO productType = valiadShopProductResult.getProductType();
if(ObjectUtils.equals(productType.getPid(), cartGoods.getSpuId())){ if(ObjectUtils.equals(productType.getPid(), cartGoods.getSpuId())){
Map<String,ProductBeanDTO> subProductTypeMap = valiadShopProductResult.getSubProductTypeMap(); Map<String,ProductTypeBeanDTO> subProductTypeMap = valiadShopProductResult.getSubProductTypeMap();
shoppingCartConvertAdapter.updateCartGoodsInfo(cartGoods, productType,subProductTypeMap); shoppingCartConvertAdapter.updateCartGoodsInfo(cartGoods, productType,subProductTypeMap);
break; break;
} }
......
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