ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/GoodsSku.java
New file @@ -0,0 +1,113 @@ package com.ruoyi.system.api.domain; import com.baomidou.mybatisplus.annotation.*; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import java.io.Serializable; import java.math.BigDecimal; import java.time.LocalDateTime; /** * <p> * 商品表 * </p> * * @author mitao * @since 2024-05-16 */ @Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) @TableName("t_goods_sku") @ApiModel(value = "GoodsSku对象", description = "商品表") public class GoodsSku implements Serializable { private static final long serialVersionUID = 1L; @ApiModelProperty(value = "商品id") @TableId(value = "id", type = IdType.ASSIGN_ID) private Long id; @ApiModelProperty(value = "商品名称") private String skuName; @ApiModelProperty(value = "商品年份") private String years; @ApiModelProperty(value = "商品分类id") private Long categoryId; @ApiModelProperty(value = "商品系列id") private Long seriesId; @ApiModelProperty(value = "商品品牌id") private Long brandId; @ApiModelProperty(value = "商品香型id") private Long flavorTypeId; @ApiModelProperty(value = "商品价格") private BigDecimal price; @ApiModelProperty(value = "库存") private Integer stock; @ApiModelProperty(value = "单位") private String unit; @ApiModelProperty(value = "规格") private String spec; @ApiModelProperty(value = "规格单位") private String specUnit; @ApiModelProperty(value = "封面图") private String coverPic; @ApiModelProperty(value = "详情图,不超过五张图片") private String alubm; @ApiModelProperty(value = "分享标题") private String shareTitle; @ApiModelProperty(value = "分享图片") private String sharePic; @ApiModelProperty(value = "商品描述") private String description; @ApiModelProperty(value = "商品说明") private String detail; @ApiModelProperty(value = "排序") private Integer sortNum; @ApiModelProperty(value = "上架状态 0=上架中 1= 已下架") private Integer listingStatus; @ApiModelProperty(value = "创建者") @TableField(value = "create_by", fill = FieldFill.INSERT) private String createBy; @ApiModelProperty(value = "创建时间") @TableField(value = "create_time", fill = FieldFill.INSERT) private LocalDateTime createTime; @ApiModelProperty(value = "更新者") @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) private String updateBy; @ApiModelProperty(value = "更新时间") @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)") @TableLogic private Integer delFlag; } ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/GoodsSkuClient.java
New file @@ -0,0 +1,16 @@ package com.ruoyi.system.api.feignClient; import com.ruoyi.common.core.constant.ServiceNameConstants;; import com.ruoyi.common.core.domain.R; import com.ruoyi.system.api.domain.GoodsSku; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @FeignClient(contextId = "GoodsSkuClient", value = ServiceNameConstants.RUOYI_MODULES_GOODS) public interface GoodsSkuClient { @GetMapping("/goods-sku/getGoodsSkuOne/{goodsSkuId}") R<GoodsSku> queryRoleByUserId(@PathVariable("goodsSkuId") Integer goodsSkuId); } ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/VO/AuctionSalesroomGoodsVO.java
New file @@ -0,0 +1,45 @@ package com.ruoyi.auction.VO; import com.ruoyi.common.core.enums.AuctionStartStatusEnum; import com.ruoyi.common.core.enums.AuctionTypeEnum; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; import java.time.LocalDateTime; @Data public class AuctionSalesroomGoodsVO { @ApiModelProperty(value = "拍卖场id") private Long auctionSalesroomId; @ApiModelProperty(value = "拍卖场名称") private String salesroomName; @ApiModelProperty(value = "商品id") private Long goodsSkuId; @ApiModelProperty(value = "商品名称") private String goodsSkuName; @ApiModelProperty(value = "起拍价格") private BigDecimal startingPrice; @ApiModelProperty(value = "拍品数量") private Integer itemQuantity; @ApiModelProperty(value = "拍卖时间 0=线下拍卖 1=线上线下结合") private AuctionTypeEnum type; @ApiModelProperty(value = "状态 0=预展中 1=拍卖中 2=已结束") private Integer goodsSkustatus; @ApiModelProperty(value = "拍卖时间(分钟)") private Integer listingDuration; @ApiModelProperty(value = "开始时间") private LocalDateTime startTime; } ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/VO/AuctionSalesroomVO.java
New file @@ -0,0 +1,13 @@ package com.ruoyi.auction.VO; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data public class AuctionSalesroomVO { @ApiModelProperty(value = "暖场视频or封面海报") private String url; @ApiModelProperty(value = "拍卖状态 0=预展中 1=拍卖中 2=已结束") private Integer auctionSalesroomStatus; } ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/AuctionSalesroomController.java
@@ -1,9 +1,25 @@ package com.ruoyi.auction.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.auction.VO.AuctionSalesroomVO; import com.ruoyi.auction.domain.pojo.AuctionBidRecord; import com.ruoyi.auction.domain.pojo.AuctionSalesroom; import com.ruoyi.auction.domain.pojo.AuctionVideo; import com.ruoyi.auction.service.IAuctionSalesroomService; import com.ruoyi.auction.service.IAuctionVideoService; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; import com.baomidou.mybatisplus.core.conditions.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.sql.SQLException; import java.sql.Wrapper; import java.util.List; /** * <p> @@ -17,4 +33,53 @@ @RequestMapping("/auction-salesroom") public class AuctionSalesroomController { @Resource private IAuctionSalesroomService iAuctionSalesroomService; @Resource private IAuctionVideoService iAuctionVideoService; /** * 拍卖大屏获取拍卖信息 * */ @RequestMapping("/getAuctionBidRecordList") @ResponseBody public List<AuctionSalesroom> getAuctionBidRecordList(@PathVariable("salesroomName") String salesroomName) { LambdaQueryWrapper<AuctionSalesroom> wrapper=Wrappers.lambdaQuery(); wrapper.eq(AuctionSalesroom::getSalesroomName,salesroomName); wrapper.eq(AuctionSalesroom::getDelFlag,0); List<AuctionSalesroom> AuctionBidRecordList=iAuctionSalesroomService.list(wrapper); return AuctionBidRecordList; } /** * 暖场视频or封面海报 * */ @RequestMapping("/getBaaner") @ResponseBody public AuctionSalesroomVO getBaaner(@PathVariable("salesroomId") Integer SalesroomId) { LambdaQueryWrapper<AuctionVideo> wrapper=Wrappers.lambdaQuery(); wrapper.eq(AuctionVideo::getAuctionSalesroomId,SalesroomId); wrapper.eq(AuctionVideo::getDelFlag,0); AuctionVideo auctionVideo=iAuctionVideoService.getOne(wrapper); AuctionSalesroomVO auctionSalesroomVO=new AuctionSalesroomVO(); AuctionSalesroom auctionSalesroom=iAuctionSalesroomService.getById(SalesroomId); auctionSalesroomVO.setAuctionSalesroomStatus(auctionSalesroom.getStatus().getCode()); if (auctionVideo!=null){ auctionSalesroomVO.setUrl(auctionVideo.getPromotionVideoUrl()); }else{ auctionSalesroomVO.setUrl(auctionSalesroom.getCoverPic()); } return auctionSalesroomVO; } } ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/AuctionSalesroomGoodsController.java
@@ -1,9 +1,21 @@ package com.ruoyi.auction.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.auction.VO.AuctionSalesroomGoodsVO; import com.ruoyi.auction.domain.pojo.AuctionSalesroom; import com.ruoyi.auction.domain.pojo.AuctionSalesroomGoods; import com.ruoyi.auction.service.IAuctionSalesroomService; import com.ruoyi.system.api.feignClient.GoodsSkuClient; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.util.List; /** * <p> @@ -17,4 +29,29 @@ @RequestMapping("/auction-salesroom-goods") public class AuctionSalesroomGoodsController { @Autowired private GoodsSkuClient goodsSkuClient; @Resource private IAuctionSalesroomService iAuctionSalesroomService; /** * 拍卖大屏的商品介绍 * */ @RequestMapping("/getAuctionSalesroomGoods") @ResponseBody public AuctionSalesroomGoodsVO getAuctionSalesroomGoods(String SalesroomId) { AuctionSalesroomGoodsVO auctionSalesroomGoodsVO=new AuctionSalesroomGoodsVO(); AuctionSalesroom auctionSalesroom=iAuctionSalesroomService.getById(SalesroomId); auctionSalesroomGoodsVO.setAuctionSalesroomId(auctionSalesroom.getId()); auctionSalesroomGoodsVO.setSalesroomName(auctionSalesroom.getSalesroomName()); return auctionSalesroomGoodsVO; } } ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/pojo/AuctionSalesroomGoods.java
@@ -64,6 +64,12 @@ @ApiModelProperty(value = "设为备选") private Boolean backupStatus; @ApiModelProperty(value = "排序") private Integer sortNum; @ApiModelProperty(value = "开始时间") private LocalDateTime startTime; @ApiModelProperty(value = "状态 0=预展中 1=拍卖中 2=已结束") private AuctionStartStatusEnum status; ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/GoodsSkuController.java
@@ -1,9 +1,17 @@ package com.ruoyi.goods.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.goods.domain.pojo.GoodsSku; import com.ruoyi.goods.service.IGoodsSkuService; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.util.List; /** * <p> @@ -17,4 +25,19 @@ @RequestMapping("/goods-sku") public class GoodsSkuController { @Resource private IGoodsSkuService iGoodsSkuService; /** * 获取当前商品信息 * */ @RequestMapping("/getGoodsSkuOne") @ResponseBody public GoodsSku getGoodsSkuOne(Integer goodsSkuId) { GoodsSku goodsSkuOne=iGoodsSkuService.getById(goodsSkuId); return goodsSkuOne; } }