feat(work): 新增订单修改功能并增加抵扣金和集材社订单ID字段

- 在 ITpOrderService 接口中新增 updateInfoByBo 方法用于修改订单信息
- 在 TpOrder、TpOrderBo、TpOrderVo 类中添加 coupon(抵扣金)和 jcOrderId(集材社订单ID)字段
- 更新 TpOrderServiceImpl 中的订单修改逻辑,考虑抵扣金因素
This commit is contained in:
清晨
2025-08-02 15:05:25 +08:00
parent ea517365d7
commit 0e97ce7b31
5 changed files with 53 additions and 4 deletions

View File

@@ -235,6 +235,16 @@ public class TpOrder {
*/ */
private String byThree; private String byThree;
/**
* 抵扣金
*/
private BigDecimal coupon;
/**
* 集材社订单ID
*/
private Long jcOrderId;
/** /**
* 接待客服名称 * 接待客服名称
*/ */

View File

@@ -316,4 +316,14 @@ public class TpOrderBo extends BaseEntity {
*/ */
private String byThree; private String byThree;
/**
* 抵扣金
*/
private BigDecimal coupon;
/**
* 集材社订单ID
*/
private Long jcOrderId;
} }

View File

@@ -322,4 +322,14 @@ public class TpOrderVo implements Serializable {
*/ */
private String byThree; private String byThree;
/**
* 抵扣金
*/
private BigDecimal coupon;
/**
* 集材社订单ID
*/
private Long jcOrderId;
} }

View File

@@ -199,4 +199,11 @@ public interface ITpOrderService extends MPJBaseService<TpOrder> {
* @return * @return
*/ */
List<TpOrderVo> queryList(TpOrderBo bo); List<TpOrderVo> queryList(TpOrderBo bo);
/**
* 修改订单信息
* @param bo
* @return
*/
Boolean updateInfoByBo(TpOrderBo bo);
} }

View File

@@ -576,17 +576,17 @@ public class TpOrderServiceImpl extends MPJBaseServiceImpl<TpOrderMapper,TpOrder
if(StringUtils.isNotEmpty(bo.getOrderId()) && !Objects.equals(bo.getOrderId(), order.getOrderId())){ if(StringUtils.isNotEmpty(bo.getOrderId()) && !Objects.equals(bo.getOrderId(), order.getOrderId())){
throw new ServiceException("订单编号不可以修改"); throw new ServiceException("订单编号不可以修改");
} }
BigDecimal endPrice = bo.getPrice().subtract(order.getPayPrice()); BigDecimal endPrice = bo.getPrice().subtract(order.getPayPrice().add(order.getCoupon()));
if(endPrice.compareTo(BigDecimal.ZERO) < 0){ if(endPrice.compareTo(BigDecimal.ZERO) < 0){
throw new ServiceException("订单金额不可以小于已支付金额"); throw new ServiceException("订单金额不可以小于已支付金额");
} }
if(order.getPayState() == 2){ if(order.getPayState() == 2){
if (bo.getPrice().compareTo(order.getPayPrice()) == 0) { if (bo.getPrice().compareTo(order.getPayPrice().add(order.getCoupon())) == 0) {
bo.setPayState(3); bo.setPayState(3);
} }
} }
if(order.getPayState() == 3){ if(order.getPayState() == 3){
if(bo.getPrice().compareTo(order.getPayPrice()) > 0){ if(bo.getPrice().compareTo(order.getPayPrice().add(order.getCoupon())) > 0){
bo.setPayState(2); bo.setPayState(2);
} }
} }
@@ -600,6 +600,18 @@ public class TpOrderServiceImpl extends MPJBaseServiceImpl<TpOrderMapper,TpOrder
return baseMapper.updateById(update) > 0; return baseMapper.updateById(update) > 0;
} }
/**
* 修改订单信息
*
* @param bo
* @return
*/
@Override
public Boolean updateInfoByBo(TpOrderBo bo) {
TpOrder update = MapstructUtils.convert(bo, TpOrder.class);
return baseMapper.updateById(update) > 0;
}
/** /**
* 校验并批量删除订单管理信息 * 校验并批量删除订单管理信息
* *
@@ -779,7 +791,7 @@ public class TpOrderServiceImpl extends MPJBaseServiceImpl<TpOrderMapper,TpOrder
order.setJsPayPrice(getJsPay(jsPayPrice)); order.setJsPayPrice(getJsPay(jsPayPrice));
order.setState(2); order.setState(2);
order.setPayPrice(newPayPrice); order.setPayPrice(newPayPrice);
BigDecimal endPrice = order.getPrice().subtract(newPayPrice); BigDecimal endPrice = order.getPrice().subtract(newPayPrice.add(order.getCoupon()));
order.setEndPrice(endPrice); order.setEndPrice(endPrice);
if(endPrice.compareTo(BigDecimal.ZERO) > 0){ if(endPrice.compareTo(BigDecimal.ZERO) > 0){
order.setPayState(2); order.setPayState(2);