| | |
| | | import com.fasterxml.jackson.databind.ObjectMapper; |
| | | import com.google.common.collect.Lists; |
| | | import com.ruoyi.auction.domain.AuctionBidRecord; |
| | | import com.ruoyi.auction.domain.AuctionBondJl; |
| | | import com.ruoyi.auction.domain.AuctionSalesroomGoods; |
| | | import com.ruoyi.auction.mapper.AuctionBidRecordMapper; |
| | | import com.ruoyi.auction.mapper.AuctionBondJlMapper; |
| | | import com.ruoyi.auction.mapper.AuctionSalesroomGoodsMapper; |
| | |
| | | import com.ruoyi.common.core.exception.ServiceException; |
| | | import com.ruoyi.common.core.utils.DateUtils; |
| | | import com.ruoyi.system.api.constants.NotificationTypeConstant; |
| | | import com.ruoyi.system.api.domain.*; |
| | | import com.ruoyi.system.api.domain.AuctionBondJl; |
| | | import com.ruoyi.system.api.domain.AuctionSalesroom; |
| | | import com.ruoyi.system.api.domain.AuctionSalesroomGoods; |
| | | import com.ruoyi.system.api.domain.CustomConfig; |
| | | import com.ruoyi.system.api.domain.GoodsBrand; |
| | | import com.ruoyi.system.api.domain.GoodsCategory; |
| | | import com.ruoyi.system.api.domain.GoodsFlavorType; |
| | | import com.ruoyi.system.api.domain.GoodsSeries; |
| | | import com.ruoyi.system.api.domain.GoodsSku; |
| | | import com.ruoyi.system.api.domain.Member; |
| | | import com.ruoyi.system.api.domain.MemberAddress; |
| | | import com.ruoyi.system.api.domain.Order; |
| | | import com.ruoyi.system.api.domain.dto.AuctionSalesroomDTO; |
| | | import com.ruoyi.system.api.domain.dto.AuctionSalesroomGoodsInfoDTO; |
| | | import com.ruoyi.system.api.domain.dto.GoodsStockUpdDTO; |
| | | import com.ruoyi.system.api.domain.dto.OrderAuctionBondDTO; |
| | | import com.ruoyi.system.api.domain.dto.OrderDTO; |
| | | import com.ruoyi.system.api.domain.vo.*; |
| | | import com.ruoyi.system.api.domain.vo.AuctionBidRecordVO; |
| | | import com.ruoyi.system.api.domain.vo.AuctionSalesroomGoodsInfoVO; |
| | | import com.ruoyi.system.api.domain.vo.AuctionSalesroomVO; |
| | | import com.ruoyi.system.api.domain.vo.ForepartAuctionSalesroomGoodsVO; |
| | | import com.ruoyi.system.api.domain.vo.GoodsInfoTitleValueVO; |
| | | import com.ruoyi.system.api.domain.vo.getHomeGoodsSkuXxiVO; |
| | | import com.ruoyi.system.api.feignClient.GoodsSkuClient; |
| | | import com.ruoyi.system.api.feignClient.MemberClient; |
| | | import com.ruoyi.system.api.feignClient.OrderClient; |
| | |
| | | import java.math.BigDecimal; |
| | | import java.math.RoundingMode; |
| | | import java.time.LocalDateTime; |
| | | import java.util.*; |
| | | import java.util.ArrayList; |
| | | import java.util.Collections; |
| | | import java.util.Comparator; |
| | | import java.util.HashSet; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Set; |
| | | import java.util.concurrent.ConcurrentHashMap; |
| | | import javax.annotation.Resource; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | forepartAuctionSalesroomGoodsVO.setSalesroomStock(auctionSalesroomGoods.getSalesroomStock()); |
| | | forepartAuctionSalesroomGoodsVO.setListingDuration(auctionSalesroomGoods.getListingDuration()); |
| | | forepartAuctionSalesroomGoodsVO.setStartTime(auctionSalesroomGoods.getStartTime()); |
| | | forepartAuctionSalesroomGoodsVO.setCoverPic(goodsSku.getCoverPic()); |
| | | forepartAuctionSalesroomGoodsVO.setCoverPic(goodsSku.getScreenCoverPic()); |
| | | forepartAuctionSalesroomGoodsVO.setDescription(goodsSku.getDescription()); |
| | | forepartAuctionSalesroomGoodsVO.setDetail(goodsSku.getDetail()); |
| | | forepartAuctionSalesroomGoodsVO.setYears(String.valueOf(goodsSku.getYears().getYear())); |
| | | forepartAuctionSalesroomGoodsVO.setUnit(goodsSku.getUnit()); |
| | | forepartAuctionSalesroomGoodsVO.setSpec(goodsSku.getSpec()); |
| | | forepartAuctionSalesroomGoodsVO.setSpecUnit(goodsSku.getSpecUnit()); |
| | | forepartAuctionSalesroomGoodsVO.setMinimumMarkupAmount( |
| | | auctionSalesroomGoods.getMinimumMarkupAmount()); |
| | | if (auctionSalesroomGoods.getStatus().getCode()==0 || auctionSalesroomGoods.getStatus().getCode()==2){ |
| | | LambdaQueryWrapper<AuctionSalesroomGoods> wrapper1=Wrappers.lambdaQuery(); |
| | | wrapper1.eq(AuctionSalesroomGoods::getDelFlag,0); |
| | |
| | | wrapper1.eq(AuctionSalesroomGoods::getStatus,0); |
| | | wrapper1.eq(AuctionSalesroomGoods::getBackupStatus,false); |
| | | wrapper1.eq(AuctionSalesroomGoods::getAuctionSalesroomId,ationSalesroomGoodsDTO.getAuctionSalesroomId()); |
| | | |
| | | if (auctionSalesroomGoods!=null) { |
| | | wrapper1.eq(AuctionSalesroomGoods::getSortNum, auctionSalesroomGoods.getSortNum() - 1); |
| | | |
| | | }else{ |
| | | LambdaQueryWrapper<AuctionSalesroomGoods> wrappers=Wrappers.lambdaQuery(); |
| | | wrappers.eq(AuctionSalesroomGoods::getStatus,0); |
| | | wrappers.eq(AuctionSalesroomGoods::getDelFlag,0); |
| | | wrappers.eq(AuctionSalesroomGoods::getBackupStatus,false); |
| | | wrappers.eq(AuctionSalesroomGoods::getAuctionSalesroomId,ationSalesroomGoodsDTO.getAuctionSalesroomId()); |
| | | wrappers.orderByDesc(AuctionSalesroomGoods::getSortNum); |
| | | wrappers.last("limit 1"); |
| | | AuctionSalesroomGoods auctionSalesroomGoodss = this.getOne(wrappers); |
| | | if (auctionSalesroomGoodss!=null){ |
| | | R<GoodsSku> goodsSkuOne = goodsSkuClient.getGoodsSkuOne( |
| | | auctionSalesroomGoodss.getGoodsSkuId(), SecurityConstants.INNER); |
| | | GoodsSku goodsSku=goodsSkuOne.getData(); |
| | | currentAuctionSalesroomGoods.setGoodsSkuName(goodsSku.getSkuName()); |
| | | currentAuctionSalesroomGoods.setGoodsSkuId(auctionSalesroomGoodss.getId()); |
| | | currentAuctionSalesroomGoods.setCoverPic(goodsSku.getCoverPic()); |
| | | currentAuctionSalesroomGoods.setStartTime(auctionSalesroomGoodss.getStartTime()); |
| | | currentAuctionSalesroomGoods.setGoodsSkustatus(auctionSalesroomGoodss.getStatus().getCode()); |
| | | currentAuctionSalesroomGoods.setListingDuration(auctionSalesroomGoodss.getListingDuration()); |
| | | auctionSalesroomVO.setCurrentAuctionSalesroomGoods(currentAuctionSalesroomGoods); |
| | | wrappers.eq(AuctionSalesroomGoods::getSortNum, auctionSalesroomGoodss.getSortNum()); |
| | | list.add(auctionSalesroomGoodss.getId()); |
| | | } |
| | | |
| | | |
| | | wrapper.orderByDesc(AuctionSalesroomGoods::getSortNum); |
| | | } |
| | | wrapper1.last("limit 1"); |
| | | AuctionSalesroomGoods auctionSalesroomGoods1 = this.getOne(wrapper1); |
| | |
| | | wrapper.eq(AuctionBidRecord::getTargetId, auctionSalesroomGoodsDTO.getGoodsSkuId()); |
| | | wrapper.eq(AuctionBidRecord::getDelFlag, 0); |
| | | wrapper.orderByDesc(AuctionBidRecord::getLastBidAmount); |
| | | wrapper.orderByAsc(AuctionBidRecord::getLastBidTime); |
| | | auctionBidRecordList = auctionBidRecordMapper.selectList(wrapper); |
| | | if(auctionBidRecordList.size()>0){ |
| | | //判断 |
| | |
| | | CustomConfig memberPointsMoney = sysUserClient.getconfig("MEMBER_POINTS_MONEY").getData(); |
| | | CustomConfig memberPointsPoints = sysUserClient.getconfig("MEMBER_POINTS_POINTS").getData(); |
| | | |
| | | if (lastBidAmount.intValue()>0){ |
| | | if (lastBidAmount.compareTo(BigDecimal.ZERO) > 0) { |
| | | BigDecimal divide = lastBidAmount.divide(new BigDecimal(memberPointsMoney.getConfigValue())); |
| | | BigDecimal roundedDown = divide.setScale(0, RoundingMode.DOWN); |
| | | BigDecimal aDouble= roundedDown.multiply(new BigDecimal(memberPointsPoints.getConfigValue())); |
| | |
| | | order.setSkuName(goodsSku.getSkuName()); |
| | | order.setCoverPic(goodsSku.getCoverPic()); |
| | | order.setPrice(lastBidAmount); |
| | | order.setGoodsId(auctionSalesroomGoods.getGoodsSkuId()); |
| | | orderClient.saveOrderOne(order,SecurityConstants.INNER); |
| | | } |
| | | |