Commit 276afec7 authored by shiyu's avatar shiyu

配置lot加锁,预估价默认为0

parent e1313049
...@@ -18,10 +18,12 @@ import com.wwdz.ch.db.dto.request.distribution.SpecialPerformanceRequestDto; ...@@ -18,10 +18,12 @@ import com.wwdz.ch.db.dto.request.distribution.SpecialPerformanceRequestDto;
import com.xxdxxs.utils.DateUtils; import com.xxdxxs.utils.DateUtils;
import com.xxdxxs.utils.EntityMapper; import com.xxdxxs.utils.EntityMapper;
import io.swagger.models.auth.In; import io.swagger.models.auth.In;
import javafx.beans.binding.ObjectExpression;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
...@@ -220,6 +222,7 @@ public class SysSpecialPerformanceServiceImpl implements SysSpecialPerformanceSe ...@@ -220,6 +222,7 @@ public class SysSpecialPerformanceServiceImpl implements SysSpecialPerformanceSe
specialPerformanceConfig.setItemId(Long.valueOf(itemId)); specialPerformanceConfig.setItemId(Long.valueOf(itemId));
specialPerformanceConfig.setSpecialPerformanceId(dto.getSpecialPerformanceId()); specialPerformanceConfig.setSpecialPerformanceId(dto.getSpecialPerformanceId());
specialPerformanceConfig.setCurrentPrice(auctionConfig.getStartPrice()); specialPerformanceConfig.setCurrentPrice(auctionConfig.getStartPrice());
specialPerformanceConfig.setLot(0);
specialPerformanceConfig.setState(SpecialPerformanceEnum.ConfigStateEnum.VALID.getCode()); specialPerformanceConfig.setState(SpecialPerformanceEnum.ConfigStateEnum.VALID.getCode());
Random random = new Random(); Random random = new Random();
int randomNumber = random.nextInt(20); int randomNumber = random.nextInt(20);
...@@ -267,6 +270,8 @@ public class SysSpecialPerformanceServiceImpl implements SysSpecialPerformanceSe ...@@ -267,6 +270,8 @@ public class SysSpecialPerformanceServiceImpl implements SysSpecialPerformanceSe
@Override @Override
public Result itemSort(SpecialPerformanceConfigRequestDto dto) { public Result itemSort(SpecialPerformanceConfigRequestDto dto) {
try { try {
Object lock = new Object();
synchronized (lock) {
//校验是否lot重复 //校验是否lot重复
boolean isExist = specialPerformanceConfigDao.isExistedSort(dto.getSpecialPerformanceId(), dto.getItemId(), dto.getLot()); boolean isExist = specialPerformanceConfigDao.isExistedSort(dto.getSpecialPerformanceId(), dto.getItemId(), dto.getLot());
if (isExist) { if (isExist) {
...@@ -274,6 +279,7 @@ public class SysSpecialPerformanceServiceImpl implements SysSpecialPerformanceSe ...@@ -274,6 +279,7 @@ public class SysSpecialPerformanceServiceImpl implements SysSpecialPerformanceSe
} }
specialPerformanceConfigDao.itemSort(dto.getSpecialPerformanceId(), dto.getItemId(), dto.getLot()); specialPerformanceConfigDao.itemSort(dto.getSpecialPerformanceId(), dto.getItemId(), dto.getLot());
return Result.success(); return Result.success();
}
} catch (Exception e) { } catch (Exception e) {
logger.error("专场商品排序 error {}", e); logger.error("专场商品排序 error {}", e);
} }
......
...@@ -531,7 +531,7 @@ public class SysSupplierItemServiceImpl implements SysSupplierItemService { ...@@ -531,7 +531,7 @@ public class SysSupplierItemServiceImpl implements SysSupplierItemService {
auctionConfig.setRealEndTime(StringUtils.isEmpty(dto.getAuctionEndTime()) ? endTime : DateUtils.parseString(dto.getAuctionEndTime())); auctionConfig.setRealEndTime(StringUtils.isEmpty(dto.getAuctionEndTime()) ? endTime : DateUtils.parseString(dto.getAuctionEndTime()));
auctionConfig.setStartPrice(StringUtils.isEmpty(dto.getStartPrice()) ? 0 : PriceUtil.convertPriceFromStr(dto.getStartPrice())); auctionConfig.setStartPrice(StringUtils.isEmpty(dto.getStartPrice()) ? 0 : PriceUtil.convertPriceFromStr(dto.getStartPrice()));
auctionConfig.setAddExtent(StringUtils.isEmpty(dto.getAddExtent()) ? 5000 : PriceUtil.convertPriceFromStr(dto.getAddExtent())); auctionConfig.setAddExtent(StringUtils.isEmpty(dto.getAddExtent()) ? 5000 : PriceUtil.convertPriceFromStr(dto.getAddExtent()));
auctionConfig.setEstimatedPrice(StringUtils.isEmpty(dto.getEstimatedPrice()) ? 999999999 : PriceUtil.convertPriceFromStr(dto.getEstimatedPrice())); auctionConfig.setEstimatedPrice(StringUtils.isEmpty(dto.getEstimatedPrice()) ? 0 : PriceUtil.convertPriceFromStr(dto.getEstimatedPrice()));
auctionConfig.setCreateTime(now); auctionConfig.setCreateTime(now);
auctionConfig.setUpdateTime(now); auctionConfig.setUpdateTime(now);
auctionConfigDao.insert(auctionConfig); auctionConfigDao.insert(auctionConfig);
......
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