Commit 291930d1 authored by shiyu's avatar shiyu

退货单创建校验去重,用户确认收货

parent 1ab7dd72
......@@ -17,6 +17,13 @@ public interface ReturnOrderDao {
*/
int insert(ReturnOrder returnOrder);
/**
* 查询该寄售单是否存在退货单号
* @param saleId
* @return
*/
boolean isExistedBySaleId(String saleId);
/**
* 更新记录
......
......@@ -34,6 +34,14 @@ public class ReturnOrderDaoImpl implements ReturnOrderDao {
return returnOrderMapper.updateByExampleSelective(returnOrder, example);
}
@Override
public boolean isExistedBySaleId(String saleId) {
ReturnOrderExample example = new ReturnOrderExample();
ReturnOrderExample.Criteria criteria = example.createCriteria();
criteria.andSaleIdEqualTo(saleId);
return returnOrderMapper.countByExample(example) > 0;
}
@Override
public ReturnOrder findById(String returnOrderId) {
ReturnOrderExample example = new ReturnOrderExample();
......
......@@ -64,6 +64,11 @@ public class ReturnOrderServiceImpl implements ReturnOrderService {
@Override
public Result create(ReturnOrder returnOrder) {
try {
//判断该寄售单是否已经存在退货单号
boolean isExisted = returnOrderDao.isExistedBySaleId(returnOrder.getSaleId());
if (isExisted) {
return Result.failed("该寄售单已经存在退货单号");
}
String returnOrderId = IdUtils.getOrderNumber(RUTURN_ORDER_PREFIX);
returnOrder.setReturnOrderId(returnOrderId);
Date now = new Date();
......@@ -228,7 +233,7 @@ public class ReturnOrderServiceImpl implements ReturnOrderService {
returnOrder.setReturnOrderId(dto.getReturnOrderId());
returnOrder.setState(ReturnOrderEnum.StateEnum.FINISH.getCode());
returnOrderDao.update(returnOrder);
returnOrderRecordDao.insert(dto.getSaleId(), "用户确认签收", ReturnOrderEnum.OperateTypeEnum.USER_SIGNED.getCode(), null);
returnOrderRecordDao.insert(dto.getReturnOrderId(), "用户确认签收", ReturnOrderEnum.OperateTypeEnum.USER_SIGNED.getCode(), null);
return Result.success();
} catch (Exception e) {
logger.info("用户确认签收退货商品 error : {}", e);
......
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