mirror of
https://gitee.com/hhyykk/ipms-sjy.git
synced 2025-08-13 01:31:53 +08:00
交易:核销
This commit is contained in:
@@ -126,6 +126,12 @@ public class TradeOrderController {
|
||||
return success(true);
|
||||
}
|
||||
|
||||
// TODO :核销逻辑
|
||||
@PutMapping("/pick-up")
|
||||
@Operation(summary = "订单核销")
|
||||
@PreAuthorize("@ss.hasPermission('trade:order:pick-up')")
|
||||
public CommonResult<Boolean> pickUpOrder(@RequestParam("id") Long id) {
|
||||
tradeOrderUpdateService.pickUpOrder(id);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -40,6 +40,9 @@ public class TradeOrderPageReqVO extends PageParam {
|
||||
@Schema(description = "自提门店编号", example = "[1,2]")
|
||||
private List<Long> pickUpStoreIds;
|
||||
|
||||
@Schema(description = "自提核销码", example = "12345678")
|
||||
private String pickUpVerifyCode;
|
||||
|
||||
@Schema(description = "订单类型", example = "1")
|
||||
private Integer type;
|
||||
|
||||
|
@@ -41,6 +41,7 @@ public interface TradeOrderMapper extends BaseMapperX<TradeOrderDO> {
|
||||
.eqIfPresent(TradeOrderDO::getTerminal, reqVO.getTerminal())
|
||||
.eqIfPresent(TradeOrderDO::getLogisticsId, reqVO.getLogisticsId())
|
||||
.inIfPresent(TradeOrderDO::getPickUpStoreId, reqVO.getPickUpStoreIds())
|
||||
.likeIfPresent(TradeOrderDO::getPickUpVerifyCode, reqVO.getPickUpVerifyCode())
|
||||
.betweenIfPresent(TradeOrderDO::getCreateTime, reqVO.getCreateTime())
|
||||
.orderByDesc(TradeOrderDO::getId));
|
||||
}
|
||||
@@ -105,4 +106,8 @@ public interface TradeOrderMapper extends BaseMapperX<TradeOrderDO> {
|
||||
.between(TradeOrderDO::getCreateTime, beginTime, endTime));
|
||||
}
|
||||
|
||||
default TradeOrderDO selectOneByPickUpVerifyCode(String pickUpVerifyCode) {
|
||||
return selectOne(TradeOrderDO::getPickUpVerifyCode, pickUpVerifyCode);
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -115,6 +115,20 @@ public interface TradeOrderUpdateService {
|
||||
*/
|
||||
void updateOrderAddress(TradeOrderUpdateAddressReqVO reqVO);
|
||||
|
||||
/**
|
||||
* 【管理员】核销订单
|
||||
*
|
||||
* @param id 订单编号
|
||||
*/
|
||||
void pickUpOrder(Long id);
|
||||
|
||||
/**
|
||||
* 【管理员】核销订单
|
||||
*
|
||||
* @param pickUpVerifyCode 自提核销码
|
||||
*/
|
||||
void pickUpOrder(String pickUpVerifyCode);
|
||||
|
||||
// =================== Order Item ===================
|
||||
|
||||
/**
|
||||
|
@@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.trade.service.order;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.lang.Assert;
|
||||
import cn.hutool.core.map.MapUtil;
|
||||
import cn.hutool.core.util.ObjUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.RandomUtil;
|
||||
import cn.hutool.extra.spring.SpringUtil;
|
||||
@@ -763,6 +764,29 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
|
||||
// TODO @puhui999:操作日志
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pickUpOrder(Long id) {
|
||||
getSelf().pickUpOrder(tradeOrderMapper.selectById(id));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pickUpOrder(String pickUpVerifyCode) {
|
||||
getSelf().pickUpOrder(tradeOrderMapper.selectOneByPickUpVerifyCode(pickUpVerifyCode));
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@TradeOrderLog(operateType = TradeOrderOperateTypeEnum.PICK_UP_RECEIVE)
|
||||
public void pickUpOrder(TradeOrderDO order) {
|
||||
if (order == null) {
|
||||
throw exception(ORDER_NOT_FOUND);
|
||||
}
|
||||
if (ObjUtil.notEqual(DeliveryTypeEnum.PICK_UP.getType(), order.getDeliveryType())) {
|
||||
throw exception(ORDER_RECEIVE_FAIL_DELIVERY_TYPE_NOT_PICK_UP);
|
||||
}
|
||||
// todo 校验核销操作人?
|
||||
receiveOrder0(order);
|
||||
}
|
||||
|
||||
// =================== Order Item ===================
|
||||
|
||||
@Override
|
||||
|
Reference in New Issue
Block a user