|
|
@@ -1,6 +1,7 @@
|
|
|
package cn.hobbystocks.auc.service.impl;
|
|
|
|
|
|
import cn.hobbystocks.auc.cache.CacheMap;
|
|
|
+import cn.hobbystocks.auc.domain.Lot;
|
|
|
import cn.hobbystocks.auc.service.ILotService;
|
|
|
import cn.hobbystocks.auc.common.constant.Constants;
|
|
|
import cn.hobbystocks.auc.common.core.redis.RedisCache;
|
|
|
@@ -22,6 +23,7 @@ import org.springframework.transaction.TransactionStatus;
|
|
|
import org.springframework.transaction.annotation.Isolation;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.transaction.support.DefaultTransactionDefinition;
|
|
|
+import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.util.Date;
|
|
|
@@ -85,21 +87,26 @@ public class AuctionServiceImpl extends ServiceImpl<AuctionMapper,Auction> imple
|
|
|
|
|
|
@Override
|
|
|
@Transactional(isolation = Isolation.READ_COMMITTED, rollbackFor = Exception.class)
|
|
|
- public void pubAuction(AuctionVO auction) {
|
|
|
+ public boolean pubAuction(AuctionVO auction) {
|
|
|
if (Objects.equals(Constants.PUB_STATUS_PUBLISHED, auction.getPubStatus())) {
|
|
|
auction.setPubTime(new Date());
|
|
|
auction.setStatus(Constants.LOT_STATUS_WAITING);
|
|
|
Auction db = getBaseMapper().selectAuctionById(auction.getId());
|
|
|
redisCache.setCacheObject(String.format(Constants.REDIS_AUC_TEMPLATE, auction.getId()), db);
|
|
|
}else if (Objects.equals(Constants.PUB_STATUS_CANCEL_PUBLISHED, auction.getPubStatus())){
|
|
|
+ //判断是否有正在竞拍的拍品,如果有,下架失败
|
|
|
+ List<Lot> lots = lotService.selectBiddingLotByAucId(auction.getId());
|
|
|
+ if (!CollectionUtils.isEmpty(lots))
|
|
|
+ return false;
|
|
|
auction.setUpdateTime(new Date());
|
|
|
auction.setStatus(Constants.LOT_STATUS_CANCELLED);
|
|
|
redisCache.deleteObject(String.format(Constants.REDIS_AUC_TEMPLATE, auction.getId()));
|
|
|
}
|
|
|
getBaseMapper().updateAuction(auction);
|
|
|
- if (auction.getPubLots()) {
|
|
|
+ /*if (auction.getPubLots()) {
|
|
|
lotService.pubLots(auction);
|
|
|
- }
|
|
|
+ }*/
|
|
|
+ return true;
|
|
|
}
|
|
|
|
|
|
@Override
|