rentaiming
2024-05-28 6e82cd5d5875b38fb30be5ee4c1c5d3dbe33fe98
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java
@@ -16,12 +16,16 @@
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.domain.AuctionSalesroom;
import com.ruoyi.auction.domain.AuctionVideo;
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.mapper.AuctionSalesroomGoodsMapper;
import com.ruoyi.auction.mapper.AuctionSalesroomMapper;
import com.ruoyi.auction.service.IAuctionSalesroomService;
import com.ruoyi.auction.service.IAuctionVideoService;
import com.ruoyi.auction.service.*;
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;
@@ -29,9 +33,11 @@
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.SysUser;
import com.ruoyi.system.api.domain.dto.AppMiniLoginDTO;
import com.ruoyi.system.api.feignClient.GoodsSkuClient;
import com.ruoyi.system.api.feignClient.SysUserClient;
import javax.annotation.Resource;
@@ -40,7 +46,9 @@
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;
@@ -60,6 +68,12 @@
    private IAuctionSalesroomService iAuctionSalesroomService;
    @Resource
    private IAuctionBidRecordService auctionBidRecordService;
    @Resource
    private AuctionSalesroomMapper auctionSalesroomMapper;
    @Resource
    private IAuctionVideoService iAuctionVideoService;
    @Resource
@@ -67,6 +81,15 @@
    @Resource
    private WxMaService wxMaService;
    @Resource
    private IMemberBondService memberBondService;
    @Resource
    private AuctionSalesroomGoodsMapper auctionSalesroomGoodsMapper;
    @Resource
    private GoodsSkuClient goodsSkuClient;
    //微信
@@ -242,6 +265,8 @@
    }
    }
    private AlipayUserInfoShareResponse getAliUserInfo (String accessToken) throws Exception {
        AlipayClient alipayClient = new DefaultAlipayClient(ALIPAY_BORDER_PROD,APP_ID_PROD, APP_PRIVATE_KEY, "json", "GBK", ALIPAY_PUBLIC_KEY, "RSA2");
@@ -254,6 +279,105 @@
        return null;
    }
    @Override
    public PageDTO<MemberAuctionSalesroomVO> getMemberAuctionSalesroomList(MemberAuctionSalesroomDTO memberAuctionSalesroomDTO) {
        Page<MemberAuctionSalesroomVO> page = new Page<>();
        page.setSize(memberAuctionSalesroomDTO.getPageSize());
        page.setCurrent(memberAuctionSalesroomDTO.getPageCurr());
        List<AuctionSalesroom> auctionSalesroomList=auctionSalesroomMapper.pageMemberAuctionSalesroomList(page,memberAuctionSalesroomDTO);
        List<MemberAuctionSalesroomVO> List=new ArrayList<>();
        for (AuctionSalesroom auctionSalesroom:auctionSalesroomList){
            MemberAuctionSalesroomVO  memberAuctionSalesroomVO=new MemberAuctionSalesroomVO();
            memberAuctionSalesroomVO.setSalesroomName(auctionSalesroom.getSalesroomName());
            memberAuctionSalesroomVO.setDescription(auctionSalesroom.getDescription());
            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){
               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());
            List.add(memberAuctionSalesroomVO);
        }
        page.setRecords(List);
        return PageDTO.of(page);
    }
    @Override
    public MemberAuctionSalesroomInfoVO getMemberAuctionSalesroomInfo(MemberAuctionSalesroomDTO memberAuctionSalesroomDTO) {
        AuctionSalesroom byId = iAuctionSalesroomService.getById(memberAuctionSalesroomDTO.getAuctionSalesroomId());
        MemberAuctionSalesroomInfoVO memberAuctionSalesroomInfoVO=new MemberAuctionSalesroomInfoVO();
        memberAuctionSalesroomInfoVO.setId(byId.getId());
        memberAuctionSalesroomInfoVO.setBound(byId.getBound());
        memberAuctionSalesroomInfoVO.setAuthentication(byId.getAuthentication());
        memberAuctionSalesroomInfoVO.setEndTime(byId.getEndTime());
        memberAuctionSalesroomInfoVO.setSalesroomName(byId.getSalesroomName());
        memberAuctionSalesroomInfoVO.setType(byId.getType());
        memberAuctionSalesroomInfoVO.setDescription(byId.getDescription());
        memberAuctionSalesroomInfoVO.setSharePic(byId.getSharePic());
        memberAuctionSalesroomInfoVO.setShareTitle(byId.getShareTitle());
        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){
            memberAuctionSalesroomInfoVO.setIsApply(2);
        }else{
            memberAuctionSalesroomInfoVO.setIsApply(1);
        }
        List<ForepartAuctionSalesroomGoodsVO> forepartAuctionSalesroomGoodsVOS=new ArrayList<>();
        List<AuctionSalesroomGoods> auctionSalesroomGoods = auctionSalesroomGoodsMapper.getAuctionSalesroomGoods(memberAuctionSalesroomDTO);
        for (AuctionSalesroomGoods salesroomGoods:auctionSalesroomGoods){
            ForepartAuctionSalesroomGoodsVO forepartAuctionSalesroomGoodsVO=new ForepartAuctionSalesroomGoodsVO();
            forepartAuctionSalesroomGoodsVO.setSalesroomId(byId.getId());
            forepartAuctionSalesroomGoodsVO.setSalesroomName(byId.getSalesroomName());
            GoodsSku goodsSku = goodsSkuClient.getGoodsSkuOne(salesroomGoods.getGoodsSkuId(), SecurityConstants.INNER)
                    .getData();
            forepartAuctionSalesroomGoodsVO.setGoodsSkuName(goodsSku.getSkuName());
            forepartAuctionSalesroomGoodsVO.setGoodsSkuId(salesroomGoods.getId());
            forepartAuctionSalesroomGoodsVO.setCoverPic(goodsSku.getCoverPic());
            forepartAuctionSalesroomGoodsVO.setStartingPrice(salesroomGoods.getStartingPrice());
            forepartAuctionSalesroomGoodsVO.setSalesroomStock(salesroomGoods.getSalesroomStock());
            forepartAuctionSalesroomGoodsVO.setGoodsSkustatus(salesroomGoods.getStatus().getCode());
            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::getDelFlag,0);
            AuctionBidRecord list1 = auctionBidRecordService.getOne(wrapper1);
            if (list1!=null){
                forepartAuctionSalesroomGoodsVO.setIsBond(2);
                if (list1.getStatus().getCode()==2){
                    forepartAuctionSalesroomGoodsVO.setIsStatus(2);
                }else{
                    forepartAuctionSalesroomGoodsVO.setIsStatus(1);
                }
            }else{
                forepartAuctionSalesroomGoodsVO.setIsBond(1);
                forepartAuctionSalesroomGoodsVO.setIsStatus(1);
            }
            forepartAuctionSalesroomGoodsVOS.add(forepartAuctionSalesroomGoodsVO);
        }
        memberAuctionSalesroomInfoVO.setForepartAuctionSalesroomGoodsVO(forepartAuctionSalesroomGoodsVOS);
        return memberAuctionSalesroomInfoVO;
    }
    public static String getAccessTokenByWX() throws Exception {
        String host = ACCESS_TOKEN_HOST + "?appid=" + WX_APPID + "&secret=" + WX_SECRET + "&grant_type=client_credential";