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