From 855921d253a4854d4fb78b83bfcf7c6e93b3f68d Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期三, 29 五月 2024 19:43:50 +0800 Subject: [PATCH] 1.提交【管理后台】团购、拍卖商品立即结束退款处理 2.提交【管理后台】拍卖场管理部分接口 --- ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java | 146 ++++++++++++++++++++++++++++++++++++------------ 1 files changed, 109 insertions(+), 37 deletions(-) diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java index 51c8790..48111e6 100644 --- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java +++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java @@ -16,43 +16,46 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.auction.controller.forepart.dto.AuctionSalesroomGoodsDTO; import com.ruoyi.auction.controller.forepart.dto.ForepartAuctionBidRecordDTO; -import com.ruoyi.auction.controller.forepart.dto.MemberAuctionSalesroomDTO; import com.ruoyi.auction.controller.forepart.vo.ForepartAuctionSalesroomGoodsVO; import com.ruoyi.auction.controller.forepart.vo.ForepartAuctionSalesroomVO; import com.ruoyi.auction.controller.forepart.vo.MemberAuctionSalesroomInfoVO; import com.ruoyi.auction.controller.forepart.vo.MemberAuctionSalesroomVO; -import com.ruoyi.auction.domain.*; +import com.ruoyi.auction.controller.management.dto.MgtAuctionSalesroomQuery; +import com.ruoyi.auction.controller.management.vo.MgtAuctionSalesroomVO; +import com.ruoyi.auction.domain.AuctionBidRecord; +import com.ruoyi.auction.domain.AuctionSalesroom; +import com.ruoyi.auction.domain.AuctionSalesroomGoods; +import com.ruoyi.auction.domain.AuctionVideo; import com.ruoyi.auction.mapper.AuctionSalesroomGoodsMapper; import com.ruoyi.auction.mapper.AuctionSalesroomMapper; -import com.ruoyi.auction.service.*; +import com.ruoyi.auction.service.IAuctionBidRecordService; +import com.ruoyi.auction.service.IAuctionSalesroomService; +import com.ruoyi.auction.service.IAuctionVideoService; +import com.ruoyi.auction.util.CreateQrCode; +import com.ruoyi.auction.util.HttpUtils; import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.page.PageDTO; -import com.ruoyi.auction.util.HttpUtils; -import com.ruoyi.system.api.constants.SecurityConstant; import com.ruoyi.system.api.domain.AppMiniLoginVO; import com.ruoyi.system.api.domain.GoodsSku; -import com.ruoyi.system.api.domain.Member; +import com.ruoyi.system.api.domain.OrderAuctionBond; import com.ruoyi.system.api.domain.SysUser; import com.ruoyi.system.api.domain.dto.AppMiniLoginDTO; +import com.ruoyi.system.api.domain.dto.MemberAuctionSalesroomDTO; import com.ruoyi.system.api.feignClient.GoodsSkuClient; +import com.ruoyi.system.api.feignClient.OrderClient; import com.ruoyi.system.api.feignClient.SysUserClient; -import javax.annotation.Resource; - -import org.apache.http.HttpResponse; -import org.apache.http.util.EntityUtils; -import org.springframework.stereotype.Service; - - import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.concurrent.TimeUnit; - -import static com.ruoyi.member.service.impl.MemberServiceImpl.getAccessTokenByWX; +import java.util.stream.Collectors; +import javax.annotation.Resource; +import org.apache.http.HttpResponse; +import org.apache.http.util.EntityUtils; +import org.springframework.stereotype.Service; /** * <p> @@ -83,13 +86,13 @@ private WxMaService wxMaService; @Resource - private IMemberBondService memberBondService; - - @Resource private AuctionSalesroomGoodsMapper auctionSalesroomGoodsMapper; @Resource private GoodsSkuClient goodsSkuClient; + + @Resource + private OrderClient orderClient; //微信 @@ -293,21 +296,16 @@ memberAuctionSalesroomVO.setStatus(auctionSalesroom.getStatus().getCode()); memberAuctionSalesroomVO.setSalesroomId(auctionSalesroom.getId()); memberAuctionSalesroomVO.setCoverPic(auctionSalesroom.getCoverPic()); - LambdaQueryWrapper<MemberBond> wrapper=Wrappers.lambdaQuery(); - wrapper.eq(MemberBond::getMemberId,memberAuctionSalesroomDTO.getMemberId()); - wrapper.eq(MemberBond::getAuctionRoomId,auctionSalesroom.getId()); - wrapper.eq(MemberBond::getDelFlag,0); - List<MemberBond> list = memberBondService.list(wrapper); - if (list.size()>0){ + List<OrderAuctionBond> data = orderClient.getOrderAuctionBondList(memberAuctionSalesroomDTO, SecurityConstants.INNER).getData(); + if (data.size()>0){ memberAuctionSalesroomVO.setIsApply(2); }else{ memberAuctionSalesroomVO.setIsApply(1); } - LambdaQueryWrapper<MemberBond> wrapper1=Wrappers.lambdaQuery(); - wrapper1.eq(MemberBond::getAuctionRoomId,auctionSalesroom.getId()); - wrapper1.eq(MemberBond::getDelFlag,0); - List<MemberBond> list1 = memberBondService.list(wrapper1); - memberAuctionSalesroomVO.setApplyNum(list1.size()); + MemberAuctionSalesroomDTO memberAuctionSalesroomDTO1=new MemberAuctionSalesroomDTO(); + memberAuctionSalesroomDTO1.setAuctionSalesroomId(auctionSalesroom.getId()); + List<OrderAuctionBond> data1 = orderClient.getOrderAuctionBondList(memberAuctionSalesroomDTO1, SecurityConstants.INNER).getData(); + memberAuctionSalesroomVO.setApplyNum(data1.size()); List.add(memberAuctionSalesroomVO); } page.setRecords(List); @@ -330,12 +328,8 @@ memberAuctionSalesroomInfoVO.setStartTime(byId.getStartTime()); memberAuctionSalesroomInfoVO.setStatus(byId.getStatus()); memberAuctionSalesroomInfoVO.setCoverPic(byId.getCoverPic()); - LambdaQueryWrapper<MemberBond> wrapper=Wrappers.lambdaQuery(); - wrapper.eq(MemberBond::getMemberId,memberAuctionSalesroomDTO.getMemberId()); - wrapper.eq(MemberBond::getAuctionRoomId,byId.getId()); - wrapper.eq(MemberBond::getDelFlag,0); - List<MemberBond> list = memberBondService.list(wrapper); - if (list.size()>0){ + List<OrderAuctionBond> data = orderClient.getOrderAuctionBondList(memberAuctionSalesroomDTO, SecurityConstants.INNER).getData(); + if (data.size()>0){ memberAuctionSalesroomInfoVO.setIsApply(2); }else{ memberAuctionSalesroomInfoVO.setIsApply(1); @@ -358,7 +352,7 @@ LambdaQueryWrapper<AuctionBidRecord> wrapper1=Wrappers.lambdaQuery(); wrapper1.eq(AuctionBidRecord::getMemberId,memberAuctionSalesroomDTO.getMemberId()); wrapper1.eq(AuctionBidRecord::getAuctionSalesroomId,byId.getId()); - wrapper1.eq(AuctionBidRecord::getGoodsSkuId,salesroomGoods.getId()); + wrapper1.eq(AuctionBidRecord::getTargetId,salesroomGoods.getId()); wrapper1.eq(AuctionBidRecord::getDelFlag,0); AuctionBidRecord list1 = auctionBidRecordService.getOne(wrapper1); if (list1!=null){ @@ -376,6 +370,20 @@ } memberAuctionSalesroomInfoVO.setForepartAuctionSalesroomGoodsVO(forepartAuctionSalesroomGoodsVOS); return memberAuctionSalesroomInfoVO; + } + + @Override + public MemberAuctionSalesroomVO getMemberAuctionSalesroomSweep(MemberAuctionSalesroomDTO MemberAuctionSalesroomDTO) { + LambdaQueryWrapper<AuctionSalesroom> wrapper=Wrappers.lambdaQuery(); + wrapper.eq(AuctionSalesroom::getAuctionSalesroomNo,MemberAuctionSalesroomDTO.getSalesroomNO()); + wrapper.eq(AuctionSalesroom::getDelFlag,0); + AuctionSalesroom auctionSalesroom=iAuctionSalesroomService.getOne(wrapper); + MemberAuctionSalesroomVO memberAuctionSalesroomVO=new MemberAuctionSalesroomVO(); + memberAuctionSalesroomVO.setSalesroomName(auctionSalesroom.getSalesroomName()); + memberAuctionSalesroomVO.setStatus(auctionSalesroom.getStatus().getCode()); + memberAuctionSalesroomVO.setDescription(auctionSalesroom.getDescription()); + memberAuctionSalesroomVO.setSalesroomId(auctionSalesroom.getId()); + return memberAuctionSalesroomVO; } @@ -399,4 +407,68 @@ HttpResponse response = HttpUtils.doPost(host, "", "POST", headers, querys, body); return EntityUtils.toString(response.getEntity()); } + + /** + * 分页查询拍卖场 + * + * @param query 拍卖场查询对象 + * @return PageDTO<MgtAuctionSalesroomVO> + */ + @Override + public PageDTO<MgtAuctionSalesroomVO> getAuctionSalesroomPage(MgtAuctionSalesroomQuery query) { + // 分页查询 + Page<AuctionSalesroom> page = this.lambdaQuery() + .select(AuctionSalesroom::getId, AuctionSalesroom::getSalesroomName, + AuctionSalesroom::getCreateTime, AuctionSalesroom::getStartTime, + AuctionSalesroom::getEndTime, AuctionSalesroom::getType, + AuctionSalesroom::getAuthentication, AuctionSalesroom::getStatus) + .like(StringUtils.isNotEmpty(query.getSalesroomName()), + AuctionSalesroom::getSalesroomName, query.getSalesroomName()) + .eq(StringUtils.isNotNull(query.getAuthentication()), + AuctionSalesroom::getAuthentication, query.getAuthentication()) + .eq(StringUtils.isNotNull(query.getStatus()), AuctionSalesroom::getStatus, + query.getStatus()).between( + StringUtils.isNotNull(query.getStartTime()) && StringUtils.isNotNull( + query.getEndTime()), AuctionSalesroom::getStartTime, + query.getStartTime(), + query.getEndTime()) + .page(new Page<>(query.getPageCurr(), query.getPageSize())); + List<AuctionSalesroom> records = page.getRecords(); + if (StringUtils.isNull(records)) { + return PageDTO.empty(page); + } + PageDTO<MgtAuctionSalesroomVO> auctionSalesroomVOPageDTO = PageDTO.of(page, + MgtAuctionSalesroomVO.class); + List<MgtAuctionSalesroomVO> list = auctionSalesroomVOPageDTO.getList(); + List<Long> auctionSalesroomIdList = list.stream().map(MgtAuctionSalesroomVO::getId) + .collect(Collectors.toList()); + // 所有拍卖场的拍卖商品 + List<AuctionSalesroomGoods> auctionSalesroomGoods = auctionSalesroomGoodsMapper.selectList( + Wrappers.<AuctionSalesroomGoods>lambdaQuery() + .in(AuctionSalesroomGoods::getAuctionSalesroomId, auctionSalesroomIdList)); + // 计算每个拍卖场所有拍品数量 + Map<Long, Integer> map = auctionSalesroomGoods.stream() + .collect(Collectors.groupingBy(AuctionSalesroomGoods::getAuctionSalesroomId, + Collectors.summingInt(AuctionSalesroomGoods::getSalesroomStock))); + for (MgtAuctionSalesroomVO mgtAuctionSalesroomVO : list) { + Integer i = map.get(mgtAuctionSalesroomVO.getId()); + if (StringUtils.isNotNull(i)) { + mgtAuctionSalesroomVO.setAuctionGoodsNum(i); + } + } + return auctionSalesroomVOPageDTO; + } + + /** + * 查看二维码 + * + * @param id 拍卖场id + * @return 二维码 + */ + @Override + public String getQrCode(Long id) throws Exception { + AuctionSalesroom auctionSalesroom = this.getById(id); + String auctionSalesroomNo = auctionSalesroom.getAuctionSalesroomNo(); + return CreateQrCode.createQRCode(auctionSalesroomNo); + } } -- Gitblit v1.7.1