Commit 2e913634 authored by shiyu's avatar shiyu

发消息2

parent 92284a89
...@@ -32,6 +32,14 @@ public interface AuctionConfigDao { ...@@ -32,6 +32,14 @@ public interface AuctionConfigDao {
AuctionConfig findByItemId(long itemId); AuctionConfig findByItemId(long itemId);
/**
* 查询截拍时间超过指定时间的拍卖配置
* @param
* @return
*/
List<AuctionConfig> findList(Date startTime, Date endTime);
/** /**
* 查询截拍未处理的商品记录 * 查询截拍未处理的商品记录
* @param * @param
......
...@@ -44,6 +44,16 @@ public class AuctionConfigDaoImpl implements AuctionConfigDao { ...@@ -44,6 +44,16 @@ public class AuctionConfigDaoImpl implements AuctionConfigDao {
return auctionConfigMapper.selectOneByExample(example); return auctionConfigMapper.selectOneByExample(example);
} }
@Override
public List<AuctionConfig> findList(Date startTime, Date endTime) {
AuctionConfigExample example = new AuctionConfigExample();
AuctionConfigExample.Criteria criteria = example.createCriteria();
criteria.andRealEndTimeGreaterThanOrEqualTo(startTime);
criteria.andRealEndTimeLessThanOrEqualTo(endTime);
criteria.andIsValidEqualTo(false);
return auctionConfigMapper.selectByExample(example);
}
@Override @Override
public int updateRealEndTime(long itemId, Date realEndTime) { public int updateRealEndTime(long itemId, Date realEndTime) {
AuctionConfigExample example = new AuctionConfigExample(); AuctionConfigExample example = new AuctionConfigExample();
...@@ -87,12 +97,7 @@ public class AuctionConfigDaoImpl implements AuctionConfigDao { ...@@ -87,12 +97,7 @@ public class AuctionConfigDaoImpl implements AuctionConfigDao {
AuctionConfig auctionConfig = new AuctionConfig(); AuctionConfig auctionConfig = new AuctionConfig();
auctionConfig.setUpdateTime(new Date()); auctionConfig.setUpdateTime(new Date());
auctionConfig.setIsValid(false); auctionConfig.setIsValid(false);
auctionConfigMapper.updateByExampleSelective(auctionConfig, example); return auctionConfigMapper.updateByExampleSelective(auctionConfig, example);
SupplierItem supplierItem = new SupplierItem();
supplierItem.setId(itemId);
supplierItem.setIsOnSale(false);
supplierItemDao.update(supplierItem);
return 1;
} }
@Override @Override
......
...@@ -294,7 +294,7 @@ public class DistributionOrderServiceImpl implements DistributionOrderService { ...@@ -294,7 +294,7 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
auctionConfigDao.setDeal(dto.getItemId()); auctionConfigDao.setDeal(dto.getItemId());
//发送中拍信息给用户 //发送中拍信息给用户
String userOpenId = sendMsgService.getOpenIdByUserId(auctionRecord.getUserId()); String userOpenId = sendMsgService.getOpenIdByUserId(auctionRecord.getUserId());
Instant instant = now.toInstant().plus(Duration.ofHours(24)); Instant instant = auctionConfig.getRealEndTime().toInstant().plus(Duration.ofHours(24));
Date payEndTime = Date.from(instant); Date payEndTime = Date.from(instant);
if (com.xxdxxs.utils.StringUtils.hasLength(userOpenId)) { if (com.xxdxxs.utils.StringUtils.hasLength(userOpenId)) {
AuctionOfferNoticeMsg auctionOfferNoticeMsg = new AuctionOfferNoticeMsg(); AuctionOfferNoticeMsg auctionOfferNoticeMsg = new AuctionOfferNoticeMsg();
......
...@@ -11,6 +11,7 @@ import com.wwdz.ch.db.domain.distribution.DistributionOrder; ...@@ -11,6 +11,7 @@ import com.wwdz.ch.db.domain.distribution.DistributionOrder;
import com.wwdz.ch.db.domain.distribution.SupplierItem; import com.wwdz.ch.db.domain.distribution.SupplierItem;
import com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto; import com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto;
import com.wwdz.ch.wx.service.distribution.DistributionOrderService; import com.wwdz.ch.wx.service.distribution.DistributionOrderService;
import com.xxdxxs.utils.DateUtils;
import com.xxdxxs.utils.StringUtils; import com.xxdxxs.utils.StringUtils;
import org.redisson.api.RLock; import org.redisson.api.RLock;
import org.redisson.api.RedissonClient; import org.redisson.api.RedissonClient;
...@@ -19,6 +20,11 @@ import org.slf4j.LoggerFactory; ...@@ -19,6 +20,11 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled; import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import java.time.Duration;
import java.time.Instant;
import java.util.Date;
import java.util.List; import java.util.List;
...@@ -67,10 +73,7 @@ public class AutoCreateAuctionOrderJob { ...@@ -67,10 +73,7 @@ public class AutoCreateAuctionOrderJob {
timeOutNotValidList.forEach(auctionConfig -> { timeOutNotValidList.forEach(auctionConfig -> {
//修改为已截拍,并在商品表中把该商品改为下架 //修改为已截拍,并在商品表中把该商品改为下架
auctionConfigDao.setEnd(auctionConfig.getItemId()); auctionConfigDao.setEnd(auctionConfig.getItemId());
/* SupplierItem supplierItem = new SupplierItem();
supplierItem.setId(auctionConfig.getItemId());
supplierItem.setIsOnSale(false);
supplierItemDao.update(supplierItem);*/
logger.info("============== 拍卖 商品id:{}, 超过截拍时间,系统自动修改为截拍状态,商品下架 ==============", auctionConfig.getItemId()); logger.info("============== 拍卖 商品id:{}, 超过截拍时间,系统自动修改为截拍状态,商品下架 ==============", auctionConfig.getItemId());
}); });
...@@ -100,6 +103,28 @@ public class AutoCreateAuctionOrderJob { ...@@ -100,6 +103,28 @@ public class AutoCreateAuctionOrderJob {
auctionConfigDao.setDeal(itemId); auctionConfigDao.setDeal(itemId);
} }
}); });
//把截拍超过24小时的商品设置为下架
Date now = new Date();
Instant instant = now.toInstant().minus(Duration.ofHours(25));
Date startTime = Date.from(instant);
//把截拍超过24小时的商品设置为下架
Instant endInstant = now.toInstant().minus(Duration.ofHours(24));
Date endTime = Date.from(endInstant);
List<AuctionConfig> auctionConfigs = auctionConfigDao.findList(startTime, endTime);
logger.info(">>>>>>>>>> 截拍商品自动下架查询范围:{} 至 {} <<<<<<<<<<<", DateUtils.toString(startTime), DateUtils.toString(endTime));
if (!CollectionUtils.isEmpty(auctionConfigs)) {
for (AuctionConfig auctionConfig : auctionConfigs) {
long itemId = auctionConfig.getItemId();
SupplierItem supplierItem = supplierItemDao.findById(itemId);
if (supplierItem.getIsOnSale()) {
SupplierItem updateItem = new SupplierItem();
updateItem.setId(itemId);
updateItem.setIsOnSale(false);
supplierItemDao.update(updateItem);
logger.info(">>>>>>>>>> 定时作业检测商品id:{}, 已经截拍大于24小时,自动下架 <<<<<<<<<<<", itemId);
}
}
}
} catch (Exception e) { } catch (Exception e) {
logger.error("同步item增量数据到ES error {}", e); logger.error("同步item增量数据到ES error {}", e);
} finally { } finally {
......
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