|
@@ -97,4 +97,23 @@ public class AssetPostService {
|
|
|
assetPostRepo.save(assetPost);
|
|
assetPostRepo.save(assetPost);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ public AssetPost cancelPost(Long id) {
|
|
|
|
|
+ AssetPost assetPost = assetPostRepo.findById(id).orElseThrow(new BusinessException("无邮寄信息"));
|
|
|
|
|
+ if (PostStatus.CANCELLED.equals(assetPost.getStatus())) {
|
|
|
|
|
+ return assetPost;
|
|
|
|
|
+ }
|
|
|
|
|
+ if (!PostStatus.DELIVERY.equals(assetPost.getStatus())) {
|
|
|
|
|
+ throw new BusinessException("已邮寄无法取消");
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ Asset asset = assetRepo.findById(assetPost.getAssetId()).orElseThrow(new BusinessException("无衍生品"));
|
|
|
|
|
+ if (AssetStatus.POSTING.equals(asset.getStatus())) {
|
|
|
|
|
+ throw new BusinessException("当前状态无法取消");
|
|
|
|
|
+ }
|
|
|
|
|
+ assetPost.setStatus(PostStatus.CANCELLED);
|
|
|
|
|
+ asset.setStatus(AssetStatus.NORMAL);
|
|
|
|
|
+ assetRepo.save(asset);
|
|
|
|
|
+ return assetPostRepo.save(assetPost);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
}
|
|
}
|