## 调换货物进行校验,原订单价格和调换完货之后的价格不相同,就不让进行换货
This commit is contained in:
parent
d95c510f1e
commit
a4c9f2b3ef
|
@ -608,12 +608,12 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
|||
// 查询订单信息
|
||||
SaOrderExt saOrder = iSaOrderService.queryOrderByCode(orderCode, pkCountry);
|
||||
if (null == saOrder) {
|
||||
return TransactionUtils.getContent(CommonMsgConstants.OPERATION_FAILED) + ":" + orderCode + SaOrderMsgConstants.ORDER_NOT_EXIST;
|
||||
return CommonMsgConstants.OPERATION_FAILED + ":" + orderCode + SaOrderMsgConstants.ORDER_NOT_EXIST;
|
||||
}
|
||||
// 订单支付日期 < 当前日期-7天
|
||||
Date beforeDate = DateUtils.addDate(DateUtils.getStartTime(nowDate), -7);
|
||||
if (beforeDate.compareTo(saOrder.getPayTime()) > 0) {
|
||||
return TransactionUtils.getContent(DocumentMsgConstants.DOCUMENT_ORDER_SETTLED);
|
||||
return DocumentMsgConstants.DOCUMENT_ORDER_SETTLED;
|
||||
}
|
||||
|
||||
// 操作日志内容
|
||||
|
@ -679,16 +679,13 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
|||
return "订单已经发货,不能进行调换货物";
|
||||
}
|
||||
|
||||
// 是否扣款
|
||||
boolean orderCostFlag = false;
|
||||
// 修改前的订单金额 + 邮费
|
||||
BigDecimal beforeAmount = saOrder.getOrderAmount().add(saOrder.getPostage()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
// 修改后的订单金额 + 邮费
|
||||
BigDecimal afterAmount = afterData.getOrderAmount().add(param.getPostage()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
// 对比修改前后订单价格处理是否补差价
|
||||
// 校验订单原订单价格和调换完货之后的价格不相同不进行换货
|
||||
if (beforeAmount.compareTo(afterAmount) != 0) {
|
||||
// 修改前后金额不相同则进行处理
|
||||
orderCostFlag = true;
|
||||
return CommonMsgConstants.OPERATION_FAILED + ":" + param.getOrderCode() + SaOrderMsgConstants.PRODUCT_CONFIRM_PRICE;
|
||||
}
|
||||
|
||||
if (iSaOrderChargeLogService.save(saOrderChargeLog)) {
|
||||
|
@ -697,13 +694,7 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
|||
changeIdList, noChangeIdList,
|
||||
userId, pkCountry, nowDate);
|
||||
|
||||
if (orderCostFlag) {
|
||||
// 订单调换货物扣费处理
|
||||
R resultR = iMemberAccountServiceApi.orderChangeProduct(saOrder, updateOrder, userId, dto);
|
||||
if (!resultR.isSuccess()) {
|
||||
throw new BaseException(resultR.getMsg());
|
||||
}
|
||||
} else if (null != dto) {
|
||||
if (null != dto) {
|
||||
// 订单总价未变化,但是需要手续费
|
||||
R resultR = iMemberAccountServiceApi.orderChangeProduct(null, null, userId, dto);
|
||||
if (!resultR.isSuccess()) {
|
||||
|
@ -736,12 +727,12 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
|||
// 查询订单收货地址信息
|
||||
SaOrderExt saOrder = iSaOrderService.queryOrderByCode(orderCode, pkCountry);
|
||||
if (null == saOrder) {
|
||||
return TransactionUtils.getContent(CommonMsgConstants.OPERATION_FAILED) + ":" + orderCode + SaOrderMsgConstants.ORDER_NOT_EXIST;
|
||||
return CommonMsgConstants.OPERATION_FAILED + ":" + orderCode + SaOrderMsgConstants.ORDER_NOT_EXIST;
|
||||
}
|
||||
// 订单支付日期 < 当前日期-7天
|
||||
Date beforeDate = DateUtils.addDate(DateUtils.getStartTime(nowDate), -7);
|
||||
if (beforeDate.compareTo(saOrder.getPayTime()) > 0) {
|
||||
return TransactionUtils.getContent(DocumentMsgConstants.DOCUMENT_ORDER_SETTLED);
|
||||
return DocumentMsgConstants.DOCUMENT_ORDER_SETTLED;
|
||||
}
|
||||
|
||||
// 涉及会员ID列表
|
||||
|
@ -786,24 +777,9 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
|||
BigDecimal beforeAmount = saOrder.getOrderAmount().add(saOrder.getPostage()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
// 修改后的订单金额 + 邮费
|
||||
BigDecimal afterAmount = afterData.getOrderAmount().add(param.getPostage()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
// 对比修改前后订单价格处理是否补差价
|
||||
if (beforeAmount.compareTo(afterAmount) < 0) {
|
||||
// 存在差额
|
||||
// 封装订单数据
|
||||
SaOrder updateOrder = BeanUtil.copyProperties(saOrder, SaOrder.class);
|
||||
updateOrder.setPkId(saOrder.getPkId());
|
||||
updateOrder.setOrderAmount(afterData.getOrderAmount());
|
||||
updateOrder.setOrderAchieve(afterData.getOrderAchieve());
|
||||
updateOrder.setOrderAssAchieve(afterData.getOrderAssAchieve());
|
||||
updateOrder.setPostage(param.getPostage());
|
||||
updateOrder.setPkModified(userId);
|
||||
updateOrder.setModifiedTime(nowDate);
|
||||
|
||||
// 校验订单支付金额是否足够
|
||||
R resultR = iMemberAccountServiceApi.orderChangeProductPre(saOrder, updateOrder);
|
||||
if (!resultR.isSuccess()) {
|
||||
return resultR.getMsg();
|
||||
}
|
||||
//校验订单原订单价格和调换完货之后的价格不相同不进行换货
|
||||
if (beforeAmount.compareTo(afterAmount) != 0) {
|
||||
return CommonMsgConstants.OPERATION_FAILED + ":" + param.getOrderCode() + SaOrderMsgConstants.PRODUCT_CONFIRM_PRICE;
|
||||
}
|
||||
|
||||
if (iSaOrderChargeLogService.save(saOrderChargeLog)) {
|
||||
|
@ -817,7 +793,7 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService {
|
|||
}
|
||||
return submitStr;
|
||||
}
|
||||
return TransactionUtils.getContent(CommonMsgConstants.OPERATION_FAILED);
|
||||
return CommonMsgConstants.OPERATION_FAILED;
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
|
|
|
@ -173,4 +173,8 @@ public class SaOrderMsgConstants {
|
|||
*/
|
||||
public static final String WARES_PRE_SALE_QUANTITY_LACK = "商品预售数量不足";
|
||||
|
||||
/**
|
||||
* 原订单价格和调换完货之后的价格不相同 -- 不允许货物调换
|
||||
*/
|
||||
public static final String PRODUCT_CONFIRM_PRICE = "原订单价格和调换完货之后的价格不相同";
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue