Commit c1a70020 authored by shiyu's avatar shiyu

详情查询对应商品所属标签

parent eb27168b
......@@ -230,4 +230,9 @@ public class SupplierItemVo implements Entity {
* 当前用户是否已分享过
*/
private Boolean isShared;
/**
* 商品所属标签id
*/
private List<Long> bookIdList;
}
......@@ -40,6 +40,7 @@ public class CollectionItemsRelationDaoImpl implements CollectionItemsRelationDa
CollectionItemsRelationExample example = new CollectionItemsRelationExample();
CollectionItemsRelationExample.Criteria criteria = example.createCriteria();
criteria.andItemIdEqualTo(itemId);
criteria.andIsDeletedEqualTo(false);
return collectionItemsRelationMapper.selectByExample(example);
}
......@@ -50,6 +51,7 @@ public class CollectionItemsRelationDaoImpl implements CollectionItemsRelationDa
CollectionItemsRelationExample.Criteria criteria = example.createCriteria();
criteria.andCollectionBookIdEqualTo(bookId);
criteria.andItemIdEqualTo(itemId);
criteria.andIsDeletedEqualTo(false);
return collectionItemsRelationMapper.countByExample(example) > 0;
}
......
......@@ -372,9 +372,24 @@ public class SupplierItemServiceImpl implements SupplierItemService {
} else {
itemId = dto.getId();
}
//保存浏览记录
if (!dto.getIsShop()) {
//做浏览记录
boolean flag = userRecentBrowseDao.isExisted(dto.getUserId(), distributorShareRecord.getDistributorId());
if (!flag) {
UserRecentBrowse newRecord = new UserRecentBrowse();
newRecord.setShareRecordId(dto.getShareRecordId());
newRecord.setSharerId(distributorShareRecord.getDistributorId());
newRecord.setUserId(dto.getUserId());
newRecord.setCreateTime(new Date());
newRecord.setUpdateTime(new Date());
newRecord.setType(DistributionEnum.UserBrowseTypeEnum.PLATFORM_ITEM.getCode());
userRecentBrowseDao.insert(newRecord);
}
}
//查询商品竞拍信息
AuctionConfig auctionConfig = auctionConfigDao.findByItemId(itemId);
//查询商品竞拍记录
AuctionRecordRequestDto auctionRecordRequestDto = new AuctionRecordRequestDto();
auctionRecordRequestDto.setItemId(itemId);
......@@ -642,6 +657,10 @@ public class SupplierItemServiceImpl implements SupplierItemService {
//查询藏品被收藏的次数
long countNum = itemCollectedRecordDao.countByItemId(dto.getId());
supplierItemVo.setCollectedNum((int) countNum);
//查询商品所属标签
List<CollectionItemsRelation> collectionItemsRelations = collectionItemsRelationDao.findByItemId(itemId);
List<Long> bookIds = collectionItemsRelations.stream().map(CollectionItemsRelation::getCollectionBookId).collect(Collectors.toList());
supplierItemVo.setBookIdList(bookIds);
return Result.success(supplierItemVo);
} catch (Exception e) {
logger.error("查询上传的藏品详情 error : {}", e);
......@@ -733,6 +752,7 @@ public class SupplierItemServiceImpl implements SupplierItemService {
searchDto.setLimit(dto.getLimit());
List<SupplierItem> supplierItemList = supplierItemDao.findForHomePage(searchDto);
PageInfo<SupplierItem> pageInfo = new PageInfo(supplierItemList);
Date now = new Date();
supplierItemList.forEach(supplierItem -> {
SupplierItemVo supplierItemVo = new SupplierItemVo();
EntityMapper.copyAttribute(supplierItem, supplierItemVo);
......@@ -741,14 +761,62 @@ public class SupplierItemServiceImpl implements SupplierItemService {
supplierItemVo.setShareId(map.get(supplierItem.getId())== null?"":map.get(supplierItem.getId()).getShareId());
//竞拍商品需要展示当前价
if (supplierItem.getType() == DistributionEnum.DistributionTypeEnum.AUCTION.getCode()) {
AuctionRecord auctionRecord = auctionRecordDao.findLastedRecord(supplierItem.getId());
if (auctionRecord != null && auctionRecord.getPrice() != null) {
supplierItemVo.setCurrentPrice(PriceUtil.convertPriceFenToYuan(auctionRecord.getPrice()));
AuctionRecord lastedRecord = auctionRecordDao.findLastedRecord(supplierItem.getId());
if (lastedRecord != null && lastedRecord.getPrice() != null) {
supplierItemVo.setCurrentPrice(PriceUtil.convertPriceFenToYuan(lastedRecord.getPrice()));
} else {
supplierItemVo.setCurrentPrice("0");
}
AuctionConfig auctionConfig = auctionConfigDao.findByItemId(supplierItem.getId());
supplierItemVo.setRealEndTime(auctionConfig.getRealEndTime());
DistributionOrder distributionOrder = distributionOrderDao.findByItemId(supplierItem.getId());
if (now.before(auctionConfig.getStartTime())) {
supplierItemVo.setState(DistributionEnum.AuctionStateEnum.NOT_START.getCode());
supplierItemVo.setStateName(DistributionEnum.AuctionStateEnum.NOT_START.getDes());
} else if (now.after(auctionConfig.getRealEndTime())) {
supplierItemVo.setState(DistributionEnum.AuctionStateEnum.END.getCode());
supplierItemVo.setStateName(DistributionEnum.AuctionStateEnum.END.getDes());
supplierItemVo.setUserState(DistributionEnum.AuctionUserStateEnum.END.getCode());
supplierItemVo.setUserStateName(DistributionEnum.AuctionUserStateEnum.END.getDes());
//如果当前时间已经超过截拍时间,并且竞拍配置还未改成无效,则进行修改
if (auctionConfig.getIsValid()) {
auctionConfigDao.setEnd(supplierItem.getId());
}
if (lastedRecord != null) {
//如果是该用户竞拍成功,还没生成订单则用户状态为立即支付
if (lastedRecord.getUserId().longValue() == dto.getUserId().longValue()) {
//竞拍结束后未生成订单
if (distributionOrder == null || distributionOrder.getPayTime() == null) {
supplierItemVo.setUserState(DistributionEnum.AuctionUserStateEnum.PRE_PAY.getCode());
supplierItemVo.setUserStateName(DistributionEnum.AuctionUserStateEnum.PRE_PAY.getDes());
//检查是否超时未支付
if (distributionOrder != null) {
Date createOrderTime = distributionOrder.getCreateTime();
Instant createInstant = createOrderTime.toInstant().plus(Duration.ofHours(24));
Date time = Date.from(createInstant);
if (now.after(time)) {
supplierItemVo.setUserState(DistributionEnum.AuctionUserStateEnum.END.getCode());
supplierItemVo.setUserStateName(DistributionEnum.AuctionUserStateEnum.END.getDes());
}
}
} else {
//竞拍结束页生成了订单并支付过了就显示竞拍结束
supplierItemVo.setUserState(DistributionEnum.AuctionUserStateEnum.END.getCode());
supplierItemVo.setUserStateName(DistributionEnum.AuctionUserStateEnum.END.getDes());
}
}
}
} else {
if (supplierItemVo != null) {
if (lastedRecord.getUserId().longValue() == dto.getUserId().longValue()) {
supplierItemVo.setUserState(DistributionEnum.AuctionUserStateEnum.LEAD.getCode());
supplierItemVo.setUserStateName(DistributionEnum.AuctionUserStateEnum.LEAD.getDes());
}
}
supplierItemVo.setState(DistributionEnum.AuctionStateEnum.IN_AUCTION.getCode());
supplierItemVo.setStateName(DistributionEnum.AuctionStateEnum.IN_AUCTION.getDes());
}
}
supplierItemVos.add(supplierItemVo);
});
......
......@@ -135,10 +135,7 @@ public class SupplierItemController {
@ApiOperation(value = "查询主页列表")
@PostMapping("/findHomePage")
public Result findHomePage(@RequestBody SupplierItemRequestDto dto) {
logger.info("删除用户查询主页列表藏品,请求参数:{}", JSON.toJSONString(dto));
if (dto.getId() == null) {
return Result.failed(ResultCode.PARAM_ERROR);
}
logger.info("查询主页列表,请求参数:{}", JSON.toJSONString(dto));
return supplierItemService.findHomePage(dto);
}
}
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