rentaiming
2024-05-29 4018acf3c494b4765b5f3afd93da185aedb77e54
写用户端接口
5个文件已修改
113 ■■■■■ 已修改文件
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/forepart/ForepartAuctionSalesroomController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/forepart/vo/AuctionSalesroomGoodsInfoVO.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionSalesroomService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/forepart/ForepartAuctionSalesroomController.java
@@ -5,6 +5,7 @@
import com.ruoyi.auction.controller.forepart.dto.ForepartAuctionBidRecordDTO;
import com.ruoyi.common.security.annotation.InnerAuth;
import com.ruoyi.system.api.domain.GoodsFlavorType;
import com.ruoyi.system.api.domain.dto.BidVO;
import com.ruoyi.system.api.domain.dto.MemberAuctionSalesroomBondDTO;
import com.ruoyi.system.api.domain.dto.MemberAuctionSalesroomDTO;
import com.ruoyi.auction.controller.forepart.vo.ForepartAuctionSalesroomVO;
@@ -115,4 +116,13 @@
        return R.ok( iAuctionSalesroomService.SaveSignUpNow(memberAuctionSalesroomBondDTO));
    }
    @RequestMapping("/SaveBid")
    @ResponseBody
    @ApiOperation(value = "用户端拍卖出价")
    public R SaveBid(@RequestBody BidVO BidVO) {
        iAuctionSalesroomService.SaveBid(BidVO);
        return R.ok();
    }
}
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/forepart/vo/AuctionSalesroomGoodsInfoVO.java
@@ -74,5 +74,8 @@
    @ApiModelProperty(value = "当前出价")
   private BigDecimal presentBid;
    @ApiModelProperty(value = "最低加价金额")
    private BigDecimal minimumMarkupAmount;
}
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionSalesroomService.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.auction.controller.forepart.dto.AuctionSalesroomGoodsDTO;
import com.ruoyi.auction.controller.forepart.dto.ForepartAuctionBidRecordDTO;
import com.ruoyi.system.api.domain.dto.BidVO;
import com.ruoyi.system.api.domain.dto.MemberAuctionSalesroomBondDTO;
import com.ruoyi.system.api.domain.dto.MemberAuctionSalesroomDTO;
import com.ruoyi.auction.controller.forepart.vo.ForepartAuctionSalesroomVO;
@@ -49,4 +50,8 @@
    MemberAuctionSalesroomVO getMemberAuctionSalesroomSweep( MemberAuctionSalesroomDTO MemberAuctionSalesroomDTO);
    PayInfoVO SaveSignUpNow(MemberAuctionSalesroomBondDTO memberAuctionSalesroomBondDTO);
    void SaveBid(@RequestBody BidVO BidVO);
}
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java
@@ -397,6 +397,7 @@
        AuctionSalesroomGoodsInfoVO.setFlavorType(data3.getFlavorTypeName());
        AuctionSalesroomGoodsInfoVO.setCoverPic(goodsSku.getCoverPic());
        AuctionSalesroomGoodsInfoVO.setAlbum(goodsSku.getAlbum());
        AuctionSalesroomGoodsInfoVO.setMinimumMarkupAmount(byId1.getMinimumMarkupAmount());
        LambdaQueryWrapper<AuctionBidRecord> wrapper1=Wrappers.lambdaQuery();
        wrapper1.eq(AuctionBidRecord::getMemberId,auctionSalesroomGoodsInfoDTO.getMemberId());
        wrapper1.eq(AuctionBidRecord::getAuctionSalesroomId,byId.getId());
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java
@@ -16,7 +16,10 @@
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.common.core.enums.AuctionOrderTypeEnum;
import com.ruoyi.common.core.enums.BidStatusEnum;
import com.ruoyi.system.api.domain.*;
import com.ruoyi.system.api.domain.dto.BidVO;
import com.ruoyi.system.api.domain.dto.MemberAuctionSalesroomBondDTO;
import com.ruoyi.system.api.domain.dto.MemberAuctionSalesroomDTO;
import com.ruoyi.auction.controller.forepart.vo.ForepartAuctionSalesroomGoodsVO;
@@ -36,6 +39,7 @@
import com.ruoyi.system.api.domain.dto.AppMiniLoginDTO;
import com.ruoyi.system.api.domain.vo.PayInfoVO;
import com.ruoyi.system.api.feignClient.GoodsSkuClient;
import com.ruoyi.system.api.feignClient.MemberClient;
import com.ruoyi.system.api.feignClient.OrderClient;
import com.ruoyi.system.api.feignClient.SysUserClient;
import javax.annotation.Resource;
@@ -45,6 +49,8 @@
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -82,10 +88,18 @@
    private AuctionSalesroomGoodsMapper auctionSalesroomGoodsMapper;
    @Resource
    private IAuctionSalesroomGoodsService auctionSalesroomGoodsService;
    @Resource
    private IAuctionGoodsService auctionGoodsService;
    @Resource
    private GoodsSkuClient goodsSkuClient;
    @Resource
    private OrderClient orderClient;
    @Resource
    private MemberClient memberClient;
    //微信
@@ -384,6 +398,86 @@
        return orderClient.SaveOrderAuctionBond(memberAuctionSalesroomBondDTO,SecurityConstants.INNER).getData();
    }
    @Override
    public void SaveBid(BidVO bidVO) {
        Member membeOne = memberClient.getMembeOne(bidVO.getMemberId(), SecurityConstants.INNER).getData();
        if (bidVO.getAuctionType()==2){
            AuctionSalesroomGoods byId = auctionSalesroomGoodsService.getById(bidVO.getTargetId());
            if (byId.getStartingPrice().doubleValue()<bidVO.getLastBidAmount().doubleValue()){
                throw new ServiceException("出价不能比起拍价低");
            }
            BigDecimal bigDecimal=byId.getStartingPrice().add(byId.getMinimumMarkupAmount());
            if (bigDecimal.doubleValue()<bidVO.getLastBidAmount().doubleValue()){
                throw new ServiceException("出价不能比每次最少加价低");
            }
            LambdaQueryWrapper<AuctionBidRecord> wrapper1=Wrappers.lambdaQuery();
            wrapper1.eq(AuctionBidRecord::getMemberId,bidVO.getMemberId());
            wrapper1.eq(AuctionBidRecord::getAuctionSalesroomId,bidVO.getAuctionSalesroomId());
            wrapper1.eq(AuctionBidRecord::getTargetId,bidVO.getTargetId());
            wrapper1.eq(AuctionBidRecord::getDelFlag,0);
            AuctionBidRecord one = auctionBidRecordService.getOne(wrapper1);
            if (one!=null){
                BigDecimal bigDecimal1=one.getLastBidAmount().add(byId.getMinimumMarkupAmount());
                if (bigDecimal1.doubleValue()<bidVO.getLastBidAmount().doubleValue()){
                    throw new ServiceException("出价不能比上次出价加每次最少加价低");
                }
                one.setLastBidAmount(bidVO.getLastBidAmount());
                one.setLastBidTime(LocalDateTime.now());
                one.setBidCount(one.getBidCount()+1);
                auctionBidRecordService.updateById(one);
            }else{
                one=new AuctionBidRecord();
                one.setAuctionSalesroomId(bidVO.getAuctionSalesroomId());
                one.setTargetId(bidVO.getTargetId());
                one.setMemberId(bidVO.getMemberId());
                one.setLastBidTime(LocalDateTime.now());
                one.setAuctionType(AuctionOrderTypeEnum.AUCTION_ITEMS);
                one.setStatus(BidStatusEnum.ELIMINATE);
                one.setBidCount(1);
                one.setLastBidAmount(bidVO.getLastBidAmount());
                auctionBidRecordService.save(one);
            }
        }else {
            AuctionGoods byId = auctionGoodsService.getById(bidVO.getTargetId());
            if (byId.getStartingPrice().doubleValue()<bidVO.getLastBidAmount().doubleValue()){
                throw new ServiceException("出价不能比起拍价低");
            }
            BigDecimal bigDecimal=byId.getStartingPrice().add(byId.getMinimumMarkupAmount());
            if (bigDecimal.doubleValue()<bidVO.getLastBidAmount().doubleValue()){
                throw new ServiceException("出价不能比每次最少加价低");
            }
            LambdaQueryWrapper<AuctionBidRecord> wrapper1=Wrappers.lambdaQuery();
            wrapper1.eq(AuctionBidRecord::getMemberId,bidVO.getMemberId());
            wrapper1.eq(AuctionBidRecord::getTargetId,bidVO.getTargetId());
            wrapper1.eq(AuctionBidRecord::getDelFlag,0);
            AuctionBidRecord one = auctionBidRecordService.getOne(wrapper1);
            if (one!=null){
                BigDecimal bigDecimal1=one.getLastBidAmount().add(byId.getMinimumMarkupAmount());
                if (bigDecimal1.doubleValue()<bidVO.getLastBidAmount().doubleValue()){
                    throw new ServiceException("出价不能比上次出价加每次最少加价低");
                }
                one.setLastBidAmount(bidVO.getLastBidAmount());
                one.setLastBidTime(LocalDateTime.now());
                one.setBidCount(one.getBidCount()+1);
                auctionBidRecordService.updateById(one);
            }else{
                one=new AuctionBidRecord();
                one.setAuctionSalesroomId(bidVO.getAuctionSalesroomId());
                one.setTargetId(bidVO.getTargetId());
                one.setMemberId(bidVO.getMemberId());
                one.setLastBidTime(LocalDateTime.now());
                one.setAuctionType(AuctionOrderTypeEnum.REGULAR_ITEMS);
                one.setStatus(BidStatusEnum.ELIMINATE);
                one.setBidCount(1);
                one.setLastBidAmount(bidVO.getLastBidAmount());
                auctionBidRecordService.save(one);
            }
        }
    }
    public static String getAccessTokenByWX() throws Exception {
        String host = ACCESS_TOKEN_HOST + "?appid=" + WX_APPID + "&secret=" + WX_SECRET + "&grant_type=client_credential";