Commit a24bb11e authored by shiyu's avatar shiyu

出价时更新专场商品配置表中的当前价

parent 046e53da
......@@ -15,6 +15,8 @@ public interface SpecialPerformanceConfigDao {
boolean update(SpecialPerformanceConfig specialPerformanceConfig);
boolean updatePrice(long itemId, long price);
long countViewNum(int specialPerformanceId);
long countItem(int specialPerformanceId);
......
......@@ -12,6 +12,6 @@ public class BaseRequestDto implements Entity {
private String sortColumn;
private String order;
private String order = "desc";
}
......@@ -8,6 +8,7 @@ import com.wwdz.ch.db.domain.distribution.SpecialPerformanceConfigExample;
import com.wwdz.ch.db.dto.request.distribution.SpecialPerformanceConfigRequestDto;
import com.wwdz.ch.db.mapper.distribution.SpecialPerformanceConfigMapper;
import com.xxdxxs.db.component.JdbcHelper;
import com.xxdxxs.utils.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
......@@ -17,6 +18,7 @@ import java.util.List;
@Repository
public class SpecialPerformanceConfigDaoImpl implements SpecialPerformanceConfigDao {
private final static String SORT_COLUMN = "current_price";
@Autowired
SpecialPerformanceConfigMapper specialPerformanceConfigMapper;
......@@ -28,8 +30,14 @@ public class SpecialPerformanceConfigDaoImpl implements SpecialPerformanceConfig
JdbcHelper.ifPresent(dto.getSpecialPerformanceId(), criteria::andSpecialPerformanceIdEqualTo);
JdbcHelper.ifPresent(dto.getItemId(), criteria::andItemIdEqualTo);
JdbcHelper.ifPresent(dto.getFilterItemIdList(), criteria::andItemIdNotIn);
PageHelper.startPage(dto.getPage(), dto.getLimit());
criteria.andStateEqualTo(1);
example.orderBy("lot asc");
if (StringUtils.hasLength(dto.getSortColumn()) && SORT_COLUMN.equals(dto.getSortColumn())) {
example.orderBy(SORT_COLUMN + " " + dto.getOrder() + ", lot asc");
} else if ("lot".equals(dto.getSortColumn())) {
example.orderBy(dto.getSortColumn() + " " + dto.getOrder());
}
PageHelper.startPage(dto.getPage(), dto.getLimit());
return specialPerformanceConfigMapper.selectByExample(example);
}
......@@ -57,6 +65,17 @@ public class SpecialPerformanceConfigDaoImpl implements SpecialPerformanceConfig
return specialPerformanceConfigMapper.updateByExampleSelective(specialPerformanceConfig, example) > 0;
}
@Override
public boolean updatePrice(long itemId, long price) {
SpecialPerformanceConfigExample example = new SpecialPerformanceConfigExample();
SpecialPerformanceConfigExample.Criteria criteria = example.createCriteria();
criteria.andItemIdEqualTo(itemId);
SpecialPerformanceConfig specialPerformanceConfig = new SpecialPerformanceConfig();
specialPerformanceConfig.setCurrentPrice(price);
return specialPerformanceConfigMapper.updateByExampleSelective(specialPerformanceConfig, example) > 0;
}
@Override
public long countViewNum(int specialPerformanceId) {
return specialPerformanceConfigMapper.countViewNum(specialPerformanceId);
......
......@@ -93,6 +93,7 @@ public class AuctionRecordServiceImpl implements AuctionRecordService {
SpecialPerformanceConfigDao specialPerformanceConfigDao;
@Override
@Transactional
public Result createAuctionRecord(AuctionRecordRequestDto dto) {
......@@ -168,6 +169,10 @@ public class AuctionRecordServiceImpl implements AuctionRecordService {
addRecord.setUserId(dto.getUserId());
addRecord.setUserOpenId(dto.getUserOpenId());
auctionRecordDao.insert(addRecord);
//更新专场配置中商品的当前价
specialPerformanceConfigDao.updatePrice(itemId, price);
//如果当前时间是拍卖截止时间的最后五分钟内,则再延长五分钟
Instant instant = endTime.toInstant().minus(Duration.ofMinutes(5));
Date time = Date.from(instant);
......
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