| | |
| | | import com.ruoyi.auction.controller.management.vo.MgtAuctionSalesroomScreenVO; |
| | | import com.ruoyi.auction.controller.management.vo.MgtAuctionSalesroomVO; |
| | | import com.ruoyi.auction.domain.AuctionBidRecord; |
| | | import com.ruoyi.auction.domain.AuctionBondJl; |
| | | import com.ruoyi.auction.domain.AuctionBrowseRecord; |
| | | import com.ruoyi.auction.domain.AuctionVideo; |
| | | import com.ruoyi.auction.mapper.AuctionBidRecordMapper; |
| | |
| | | import com.ruoyi.system.api.constants.ConfigEnum; |
| | | import com.ruoyi.system.api.constants.NotificationTypeConstant; |
| | | import com.ruoyi.system.api.domain.AppMiniLoginVO; |
| | | import com.ruoyi.system.api.domain.AuctionBondJl; |
| | | import com.ruoyi.system.api.domain.AuctionGoods; |
| | | import com.ruoyi.system.api.domain.AuctionSalesroom; |
| | | import com.ruoyi.system.api.domain.AuctionSalesroomGoods; |
| | |
| | | import java.util.function.Function; |
| | | import java.util.stream.Collectors; |
| | | import javax.annotation.Resource; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.http.HttpResponse; |
| | | import org.apache.http.client.config.RequestConfig; |
| | | import org.apache.http.util.EntityUtils; |
| | |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Slf4j |
| | | @Service |
| | | public class AuctionSalesroomServiceImpl extends ServiceImpl<AuctionSalesroomMapper, AuctionSalesroom> implements IAuctionSalesroomService { |
| | | |
| | |
| | | memberAuctionSalesroomInfoVO.setEndTime(byId.getEndTime()); |
| | | memberAuctionSalesroomInfoVO.setType(byId.getType()); |
| | | memberAuctionSalesroomInfoVO.setDescription(byId.getDescription()); |
| | | memberAuctionSalesroomInfoVO.setSharePic(byId.getSharePic()); |
| | | memberAuctionSalesroomInfoVO.setShareTitle(byId.getShareTitle()); |
| | | if (StringUtils.isNotBlank(byId.getShareTitle())) { |
| | | memberAuctionSalesroomInfoVO.setShareTitle(byId.getShareTitle()); |
| | | } else { |
| | | memberAuctionSalesroomInfoVO.setShareTitle(byId.getSalesroomName()); |
| | | } |
| | | if (StringUtils.isNotBlank(byId.getSharePic())) { |
| | | memberAuctionSalesroomInfoVO.setSharePic(byId.getSharePic()); |
| | | } else { |
| | | memberAuctionSalesroomInfoVO.setSharePic(byId.getCoverPic()); |
| | | } |
| | | memberAuctionSalesroomInfoVO.setStartTime(byId.getStartTime()); |
| | | memberAuctionSalesroomInfoVO.setStatus(byId.getStatus()); |
| | | memberAuctionSalesroomInfoVO.setCoverPic(byId.getCoverPic()); |
| | |
| | | order.setSkuName(goodsSku.getSkuName()); |
| | | order.setCoverPic(goodsSku.getCoverPic()); |
| | | order.setPrice(lastBidAmount); |
| | | order.setGoodsId(auctionSalesroomGoods.getGoodsSkuId()); |
| | | orderClient.saveOrderOne(order, SecurityConstants.INNER); |
| | | } |
| | | /** |
| | |
| | | map.put("message_type", "start"); |
| | | map.put("type", "1"); |
| | | String msg = objectMapper.writeValueAsString(map); |
| | | sysUserClient.pushByClientType(WebsocketMessageDTO.builder().message(msg) |
| | | .clientType(ClientTypeEnum.AUCTIONEER).build(), SecurityConstants.INNER); |
| | | sysUserClient.pushAll(msg, SecurityConstants.INNER); |
| | | } |
| | | |
| | | @Override |
| | |
| | | List<AuctionBidRecord> auctionBidRecordList = auctionBidRecordMapper.selectList( |
| | | Wrappers.<AuctionBidRecord>lambdaQuery() |
| | | .eq(AuctionBidRecord::getAuctionSalesroomId, auctionSalesroomId) |
| | | .ne(AuctionBidRecord::getStatus, BidStatusEnum.SUCCESSFUL)); |
| | | .eq(AuctionBidRecord::getStatus, BidStatusEnum.SUCCESSFUL)); |
| | | log.info("拍卖场{},已中标的用户:{}", auctionSalesroomId, auctionBidRecordList); |
| | | Set<Long> memberIdList = new HashSet<>(); |
| | | if (CollUtils.isNotEmpty(auctionBidRecordList)) { |
| | | memberIdList = auctionBidRecordList.stream().map(AuctionBidRecord::getMemberId) |
| | |
| | | map.put("message_type", "end"); |
| | | map.put("type", "1"); |
| | | String msg = objectMapper.writeValueAsString(map); |
| | | sysUserClient.pushByClientType(WebsocketMessageDTO.builder().message(msg) |
| | | .clientType(ClientTypeEnum.AUCTIONEER).build(), SecurityConstants.INNER); |
| | | sysUserClient.pushAll(msg, SecurityConstants.INNER); |
| | | } |
| | | |
| | | @Override |
| | |
| | | public AuctionSalesroomGoods getAuctionSalesroomGoodsById(Long goodsSkuId) { |
| | | return auctionSalesroomGoodsMapper.selectById(goodsSkuId); |
| | | } |
| | | |
| | | @Override |
| | | public AuctionBondJl getAuctionBondJLBySalesroomId(Long targetId, Long memberId, |
| | | Integer bondType) { |
| | | return auctionBondJlMapper.selectOne( |
| | | Wrappers.lambdaQuery(AuctionBondJl.class).eq(AuctionBondJl::getMemberId, memberId) |
| | | .eq(AuctionBondJl::getAuctionSalesroomId, targetId) |
| | | .eq(AuctionBondJl::getBondType, bondType) |
| | | .last("limit 1")); |
| | | } |
| | | |
| | | @Override |
| | | public List<GoodsSku> getGoodsSkuByAuctionSalesroomGoodsSet( |
| | | Set<Long> auctionSalesroomGoodsSet) { |
| | | List<AuctionSalesroomGoods> auctionSalesroomGoodsList = auctionSalesroomGoodsMapper.selectBatchIds( |
| | | auctionSalesroomGoodsSet); |
| | | Set<Long> goodsSkuIdSet = auctionSalesroomGoodsList.stream() |
| | | .map(AuctionSalesroomGoods::getGoodsSkuId).collect( |
| | | Collectors.toSet()); |
| | | return goodsSkuClient.getGoodsListByIds(goodsSkuIdSet, SecurityConstants.INNER).getData(); |
| | | } |
| | | } |