ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/controller/MemberArticleCollectionController.java
New file @@ -0,0 +1,20 @@ package com.ruoyi.article.controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * <p> * 会员收藏文章 前端控制器 * </p> * * @author mitao * @since 2024-05-27 */ @RestController @RequestMapping("/member-article-collection") public class MemberArticleCollectionController { } ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/domain/MemberArticleCollection.javacopy from ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/pojo/AuctionBidRecord.java copy to ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/domain/MemberArticleCollection.java
File was copied from ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/pojo/AuctionBidRecord.java @@ -1,4 +1,4 @@ package com.ruoyi.auction.domain.pojo; package com.ruoyi.article.domain; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.IdType; @@ -6,11 +6,9 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import com.ruoyi.common.core.enums.BidStatusEnum; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.Serializable; import java.math.BigDecimal; import java.time.LocalDateTime; import lombok.Data; import lombok.EqualsAndHashCode; @@ -18,48 +16,29 @@ /** * <p> * 出价记录表 * 会员收藏文章 * </p> * * @author mitao * @since 2024-05-16 * @since 2024-05-27 */ @Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) @TableName("t_auction_bid_record") @ApiModel(value = "AuctionBidRecord对象", description = "出价记录表") public class AuctionBidRecord implements Serializable { @TableName("t_member_article_collection") @ApiModel(value = "MemberArticleCollection对象", description = "会员收藏文章") public class MemberArticleCollection implements Serializable { private static final long serialVersionUID = 1L; @ApiModelProperty(value = "出价记录id") @TableId(value = "id", type = IdType.ASSIGN_ID) private Long id; private Integer id; @ApiModelProperty(value = "拍卖场id") private Long auctionSalesroomId; @ApiModelProperty(value = "商品id") private Long goodsSkuId; @ApiModelProperty(value = "收藏目标id") private Long targetId; @ApiModelProperty(value = "会员id") private Long memberId; @ApiModelProperty(value = "商品名称") private String goodsSkuName; @ApiModelProperty(value = "最终出价时间") private LocalDateTime lastBidTime; @ApiModelProperty(value = "出价次数") private Integer bidCount; @ApiModelProperty(value = "最终出价金额") private BigDecimal lastBidAmount; @ApiModelProperty(value = "开始状态 0=淘汰 1=领先") private BidStatusEnum status; @ApiModelProperty(value = "创建者") @TableField(value = "create_by", fill = FieldFill.INSERT) ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/mapper/MemberArticleCollectionMapper.java
New file @@ -0,0 +1,16 @@ package com.ruoyi.article.mapper; import com.ruoyi.article.domain.MemberArticleCollection; import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** * <p> * 会员收藏文章 Mapper 接口 * </p> * * @author mitao * @since 2024-05-27 */ public interface MemberArticleCollectionMapper extends BaseMapper<MemberArticleCollection> { } ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/IMemberArticleCollectionService.java
New file @@ -0,0 +1,16 @@ package com.ruoyi.article.service; import com.ruoyi.article.domain.MemberArticleCollection; import com.baomidou.mybatisplus.extension.service.IService; /** * <p> * 会员收藏文章 服务类 * </p> * * @author mitao * @since 2024-05-27 */ public interface IMemberArticleCollectionService extends IService<MemberArticleCollection> { } ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/MemberArticleCollectionServiceImpl.java
New file @@ -0,0 +1,20 @@ package com.ruoyi.article.service.impl; import com.ruoyi.article.domain.MemberArticleCollection; import com.ruoyi.article.mapper.MemberArticleCollectionMapper; import com.ruoyi.article.service.IMemberArticleCollectionService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; /** * <p> * 会员收藏文章 服务实现类 * </p> * * @author mitao * @since 2024-05-27 */ @Service public class MemberArticleCollectionServiceImpl extends ServiceImpl<MemberArticleCollectionMapper, MemberArticleCollection> implements IMemberArticleCollectionService { } ruoyi-modules/ruoyi-article/src/main/resources/mapper/article/MemberArticleCollectionMapper.xml
New file @@ -0,0 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ruoyi.article.mapper.MemberArticleCollectionMapper"> </mapper> ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/forepart/ForepartAuctionBidRecordController.java
@@ -1,26 +1,16 @@ package com.ruoyi.auction.controller.forepart; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.auction.controller.forepart.dto.AuctionSalesroomGoodsDTO; import com.ruoyi.auction.domain.pojo.AuctionBidRecord; import com.ruoyi.auction.domain.pojo.AuctionSalesroom; import com.ruoyi.auction.domain.pojo.AuctionSalesroomGoods; import com.ruoyi.auction.domain.AuctionBidRecord; import com.ruoyi.auction.service.IAuctionBidRecordService; import com.ruoyi.auction.service.IAuctionSalesroomGoodsService; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.enums.BidStatusEnum; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.PathVariable; import java.util.List; import javax.annotation.Resource; 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.ArrayList; import java.util.List; /** * <p> ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/forepart/ForepartAuctionSalesroomController.java
@@ -1,19 +1,19 @@ package com.ruoyi.auction.controller.forepart; import com.ruoyi.auction.controller.forepart.dto.AuctionSalesroomGoodsDTO; import com.ruoyi.auction.controller.forepart.dto.ForepartAuctionBidRecordDTO; import com.ruoyi.auction.controller.forepart.vo.ForepartAuctionSalesroomVO; import com.ruoyi.auction.domain.pojo.AuctionSalesroom; import com.ruoyi.auction.domain.AuctionSalesroom; import com.ruoyi.auction.service.IAuctionSalesroomService; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.utils.page.PageDTO; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.List; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; /** * <p> ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/forepart/ForepartAuctionSalesroomGoodsController.java
@@ -4,18 +4,16 @@ import com.ruoyi.auction.controller.forepart.dto.AuctionSalesroomGoodsDTO; import com.ruoyi.auction.controller.forepart.vo.AuctionSalesroomVO; import com.ruoyi.auction.controller.forepart.vo.ForepartAuctionSalesroomGoodsVO; import com.ruoyi.auction.domain.pojo.AuctionSalesroomGoods; import com.ruoyi.auction.domain.AuctionSalesroomGoods; import com.ruoyi.auction.service.IAuctionSalesroomGoodsService; import com.ruoyi.common.core.domain.R; import io.swagger.annotations.ApiOperation; import java.util.List; import javax.annotation.Resource; import org.apache.poi.ss.formula.functions.T; 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> ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/forepart/MemberAuctionCollectionController.java
New file @@ -0,0 +1,19 @@ package com.ruoyi.auction.controller.forepart; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * <p> * 用户收藏的普通拍卖商品 前端控制器 * </p> * * @author mitao * @since 2024-05-27 */ @RestController @RequestMapping("/member-auction-collection") public class MemberAuctionCollectionController { } ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/MgtAuctionGoodsController.java
@@ -1,6 +1,7 @@ package com.ruoyi.auction.controller.management; import com.ruoyi.auction.controller.management.dto.AuctionGoodsDTO; import com.ruoyi.auction.controller.management.dto.AuctionGoodsQuery; import com.ruoyi.auction.controller.management.vo.AuctionGoodsVO; import com.ruoyi.auction.service.IAuctionGoodsService; @@ -9,7 +10,9 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -41,4 +44,11 @@ AuctionGoodsQuery query) { return R.ok(auctionGoodsService.getAuctionGoodsPage(query)); } @ApiOperation(value = "添加/编辑 拍卖商品", notes = "添加/编辑 拍卖商品") @PostMapping("/save") public R<?> saveAuctionGoods(@Validated @RequestBody AuctionGoodsDTO dto) { auctionGoodsService.saveAuctionGoods(dto); return R.ok(); } } ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/dto/AuctionGoodsDTO.java
New file @@ -0,0 +1,67 @@ package com.ruoyi.auction.controller.management.dto; import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.common.core.enums.AuthenticationEnum; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.math.BigDecimal; import java.time.LocalDateTime; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import lombok.Data; /** * @author mitao * @date 2024/5/27 */ @Data @ApiModel(value = "拍卖商品数据传输对象", description = "拍卖商品数据传输对象") public class AuctionGoodsDTO { @ApiModelProperty(value = "拍卖商品id", notes = "添加不传,更新必传") private Long id; @ApiModelProperty(value = "商品id", notes = "添加必传,更新不传") private Long goodsSkuId; @ApiModelProperty(value = "起拍价格") @NotNull(message = "起拍价格不能为空") private BigDecimal startingPrice; @ApiModelProperty(value = "最低加价金额") @NotNull(message = "最低加价金额不能为空") private BigDecimal minimumMarkupAmount; @ApiModelProperty(value = "开始时间") @NotNull(message = "开始时间不能为空") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime startTime; @ApiModelProperty(value = "结束时间") @NotNull(message = "结束时间不能为空") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime endTime; @ApiModelProperty(value = "拍品数量") @NotNull(message = "拍品数量不能为空") private Integer auctionStock; @ApiModelProperty(value = "保证金") @NotNull(message = "保证金不能为空") private BigDecimal bond; @ApiModelProperty(value = "实名认证 0=不需实名 1=需要实名") @NotNull(message = "实名认证不能为空") private AuthenticationEnum authentication; @ApiModelProperty(value = "拍品说明") private String description; @ApiModelProperty(value = "分享标题") @NotBlank(message = "分享标题不能为空") private String shareTitle; @ApiModelProperty(value = "分享图片") @NotBlank(message = "分享图片不能为空") private String sharePic; } ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/AuctionBidRecord.java
File was renamed from ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/pojo/AuctionBidRecord.java @@ -1,4 +1,4 @@ package com.ruoyi.auction.domain.pojo; package com.ruoyi.auction.domain; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.IdType; ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/AuctionGoods.java
File was renamed from ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/pojo/AuctionGoods.java @@ -1,4 +1,4 @@ package com.ruoyi.auction.domain.pojo; package com.ruoyi.auction.domain; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.IdType; @@ -75,6 +75,14 @@ @ApiModelProperty(value = "开始状态 0=预展中 1=拍卖中 2=已结束") private AuctionStartStatusEnum startStatus; @ApiModelProperty(value = "分享标题") @TableField("share_title") private String shareTitle; @ApiModelProperty(value = "分享图片") @TableField("share_pic") private String sharePic; @ApiModelProperty(value = "创建者") @TableField(value = "create_by", fill = FieldFill.INSERT) private String createBy; ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/AuctionSalesroom.java
File was renamed from ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/pojo/AuctionSalesroom.java @@ -1,4 +1,4 @@ package com.ruoyi.auction.domain.pojo; package com.ruoyi.auction.domain; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.IdType; ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/AuctionSalesroomGoods.java
File was renamed from ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/pojo/AuctionSalesroomGoods.java @@ -1,4 +1,4 @@ package com.ruoyi.auction.domain.pojo; package com.ruoyi.auction.domain; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.IdType; ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/AuctionVideo.java
File was renamed from ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/pojo/AuctionVideo.java @@ -1,4 +1,4 @@ package com.ruoyi.auction.domain.pojo; package com.ruoyi.auction.domain; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/MemberAuctionCollection.javacopy from ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/pojo/AuctionBidRecord.java copy to ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/MemberAuctionCollection.java
File was copied from ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/pojo/AuctionBidRecord.java @@ -1,4 +1,4 @@ package com.ruoyi.auction.domain.pojo; package com.ruoyi.auction.domain; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.IdType; @@ -6,11 +6,9 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import com.ruoyi.common.core.enums.BidStatusEnum; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.Serializable; import java.math.BigDecimal; import java.time.LocalDateTime; import lombok.Data; import lombok.EqualsAndHashCode; @@ -18,48 +16,29 @@ /** * <p> * 出价记录表 * 用户收藏的普通拍卖商品 * </p> * * @author mitao * @since 2024-05-16 * @since 2024-05-27 */ @Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) @TableName("t_auction_bid_record") @ApiModel(value = "AuctionBidRecord对象", description = "出价记录表") public class AuctionBidRecord implements Serializable { @TableName("t_member_auction_collection") @ApiModel(value = "MemberAuctionCollection对象", description = "用户收藏的普通拍卖商品") public class MemberAuctionCollection implements Serializable { private static final long serialVersionUID = 1L; @ApiModelProperty(value = "出价记录id") @TableId(value = "id", type = IdType.ASSIGN_ID) private Long id; private Integer id; @ApiModelProperty(value = "拍卖场id") private Long auctionSalesroomId; @ApiModelProperty(value = "商品id") private Long goodsSkuId; @ApiModelProperty(value = "收藏目标id") private Long targetId; @ApiModelProperty(value = "会员id") private Long memberId; @ApiModelProperty(value = "商品名称") private String goodsSkuName; @ApiModelProperty(value = "最终出价时间") private LocalDateTime lastBidTime; @ApiModelProperty(value = "出价次数") private Integer bidCount; @ApiModelProperty(value = "最终出价金额") private BigDecimal lastBidAmount; @ApiModelProperty(value = "开始状态 0=淘汰 1=领先") private BidStatusEnum status; @ApiModelProperty(value = "创建者") @TableField(value = "create_by", fill = FieldFill.INSERT) ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/mapper/AuctionBidRecordMapper.java
@@ -1,7 +1,7 @@ package com.ruoyi.auction.mapper; import com.ruoyi.auction.domain.pojo.AuctionBidRecord; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.auction.domain.AuctionBidRecord; /** * <p> ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/mapper/AuctionGoodsMapper.java
@@ -1,7 +1,7 @@ package com.ruoyi.auction.mapper; import com.ruoyi.auction.domain.pojo.AuctionGoods; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.auction.domain.AuctionGoods; /** * <p> ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/mapper/AuctionSalesroomGoodsMapper.java
@@ -1,7 +1,7 @@ package com.ruoyi.auction.mapper; import com.ruoyi.auction.domain.pojo.AuctionSalesroomGoods; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.auction.domain.AuctionSalesroomGoods; /** * <p> ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/mapper/AuctionSalesroomMapper.java
@@ -1,7 +1,7 @@ package com.ruoyi.auction.mapper; import com.ruoyi.auction.domain.pojo.AuctionSalesroom; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.auction.domain.AuctionSalesroom; /** * <p> ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/mapper/AuctionVideoMapper.java
@@ -1,7 +1,7 @@ package com.ruoyi.auction.mapper; import com.ruoyi.auction.domain.pojo.AuctionVideo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.auction.domain.AuctionVideo; /** * <p> ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/mapper/MemberAuctionCollectionMapper.java
New file @@ -0,0 +1,16 @@ package com.ruoyi.auction.mapper; import com.ruoyi.auction.domain.MemberAuctionCollection; import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** * <p> * 用户收藏的普通拍卖商品 Mapper 接口 * </p> * * @author mitao * @since 2024-05-27 */ public interface MemberAuctionCollectionMapper extends BaseMapper<MemberAuctionCollection> { } ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionBidRecordService.java
@@ -1,19 +1,8 @@ package com.ruoyi.auction.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.auction.controller.forepart.dto.AuctionSalesroomGoodsDTO; import com.ruoyi.auction.domain.pojo.AuctionBidRecord; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.auction.domain.pojo.AuctionSalesroomGoods; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.enums.BidStatusEnum; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import java.util.ArrayList; import com.ruoyi.auction.controller.forepart.dto.AuctionSalesroomGoodsDTO; import com.ruoyi.auction.domain.AuctionBidRecord; import java.util.List; /** ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionGoodsService.java
@@ -1,9 +1,10 @@ package com.ruoyi.auction.service; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.auction.controller.management.dto.AuctionGoodsDTO; import com.ruoyi.auction.controller.management.dto.AuctionGoodsQuery; import com.ruoyi.auction.controller.management.vo.AuctionGoodsVO; import com.ruoyi.auction.domain.pojo.AuctionGoods; import com.ruoyi.auction.domain.AuctionGoods; import com.ruoyi.common.core.utils.page.PageDTO; /** @@ -22,4 +23,6 @@ * @return PageDTO<AuctionGoodsVO> */ PageDTO<AuctionGoodsVO> getAuctionGoodsPage(AuctionGoodsQuery query); void saveAuctionGoods(AuctionGoodsDTO dto); } ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionSalesroomGoodsService.java
@@ -1,11 +1,10 @@ package com.ruoyi.auction.service; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.auction.controller.forepart.dto.AuctionSalesroomGoodsDTO; import com.ruoyi.auction.controller.forepart.vo.AuctionSalesroomVO; import com.ruoyi.auction.controller.forepart.vo.ForepartAuctionSalesroomGoodsVO; import com.ruoyi.auction.domain.pojo.AuctionSalesroomGoods; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.auction.domain.AuctionSalesroomGoods; import java.util.List; /** ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionSalesroomService.java
@@ -1,14 +1,11 @@ package com.ruoyi.auction.service; 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.auction.controller.forepart.vo.ForepartAuctionSalesroomVO; import com.ruoyi.auction.domain.pojo.AuctionSalesroom; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.auction.domain.AuctionSalesroom; import com.ruoyi.common.core.utils.page.PageDTO; import org.springframework.web.bind.annotation.RequestBody; import java.util.List; /** * <p> ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionVideoService.java
@@ -1,12 +1,11 @@ package com.ruoyi.auction.service; import com.ruoyi.auction.controller.forepart.dto.ForepartAuctionVideo; import com.ruoyi.auction.domain.pojo.AuctionVideo; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.auction.controller.forepart.dto.ForepartAuctionVideo; import com.ruoyi.auction.domain.AuctionVideo; import com.ruoyi.system.api.domain.PromotionVideo; import org.springframework.web.bind.annotation.RequestBody; import java.util.List; import org.springframework.web.bind.annotation.RequestBody; /** * <p> ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IMemberAuctionCollectionService.java
New file @@ -0,0 +1,16 @@ package com.ruoyi.auction.service; import com.ruoyi.auction.domain.MemberAuctionCollection; import com.baomidou.mybatisplus.extension.service.IService; /** * <p> * 用户收藏的普通拍卖商品 服务类 * </p> * * @author mitao * @since 2024-05-27 */ public interface IMemberAuctionCollectionService extends IService<MemberAuctionCollection> { } ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionBidRecordServiceImpl.java
@@ -2,24 +2,18 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.auction.controller.forepart.dto.AuctionSalesroomGoodsDTO; import com.ruoyi.auction.domain.pojo.AuctionBidRecord; import com.ruoyi.auction.domain.pojo.AuctionSalesroomGoods; import com.ruoyi.auction.domain.AuctionBidRecord; import com.ruoyi.auction.domain.AuctionSalesroomGoods; import com.ruoyi.auction.mapper.AuctionBidRecordMapper; import com.ruoyi.auction.service.IAuctionBidRecordService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.auction.service.IAuctionSalesroomGoodsService; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.enums.BidStatusEnum; import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Service; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; import javax.annotation.Resource; import org.springframework.stereotype.Service; /** * <p> ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java
@@ -2,12 +2,15 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.auction.controller.management.dto.AuctionGoodsDTO; import com.ruoyi.auction.controller.management.dto.AuctionGoodsQuery; import com.ruoyi.auction.controller.management.vo.AuctionGoodsVO; import com.ruoyi.auction.domain.pojo.AuctionGoods; import com.ruoyi.auction.domain.AuctionGoods; import com.ruoyi.auction.mapper.AuctionGoodsMapper; import com.ruoyi.auction.service.IAuctionGoodsService; import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.page.BeanUtils; import com.ruoyi.common.core.utils.page.PageDTO; import com.ruoyi.system.api.domain.GoodsSku; import com.ruoyi.system.api.feignClient.GoodsSkuClient; @@ -63,4 +66,26 @@ .page(new Page<>(query.getPageCurr(), query.getPageSize())); return PageDTO.of(page, AuctionGoodsVO.class); } @Override public void saveAuctionGoods(AuctionGoodsDTO dto) { Long id = dto.getId(); Long goodsSkuId = dto.getGoodsSkuId(); // 添加 if (StringUtils.isNull(id)) { if (StringUtils.isNull(goodsSkuId)) { throw new ServiceException("商品id不能为空"); } GoodsSku goodsSku = goodsSkuClient.getGoodsSkuOne(goodsSkuId).getData(); if (StringUtils.isNull(goodsSku)) { throw new ServiceException("商品不存在"); } AuctionGoods auctionGoods = BeanUtils.copyBean(dto, AuctionGoods.class); this.save(auctionGoods); } else { // 编辑 } } } ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java
@@ -2,17 +2,17 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.auction.controller.forepart.dto.AuctionSalesroomGoodsDTO; import com.ruoyi.auction.controller.forepart.dto.OrderDTO; import com.ruoyi.auction.controller.forepart.vo.AuctionSalesroomVO; import com.ruoyi.auction.controller.forepart.vo.ForepartAuctionSalesroomGoodsVO; import com.ruoyi.auction.domain.pojo.AuctionBidRecord; import com.ruoyi.auction.domain.pojo.AuctionSalesroom; import com.ruoyi.auction.domain.pojo.AuctionSalesroomGoods; import com.ruoyi.auction.domain.AuctionBidRecord; import com.ruoyi.auction.domain.AuctionSalesroom; import com.ruoyi.auction.domain.AuctionSalesroomGoods; import com.ruoyi.auction.mapper.AuctionSalesroomGoodsMapper; import com.ruoyi.auction.service.IAuctionBidRecordService; import com.ruoyi.auction.service.IAuctionSalesroomGoodsService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.auction.service.IAuctionSalesroomService; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.enums.AuctionOrderTypeEnum; @@ -25,13 +25,12 @@ import com.ruoyi.system.api.feignClient.GoodsSkuClient; import com.ruoyi.system.api.feignClient.MemberClient; import com.ruoyi.system.api.feignClient.OrderClient; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; import javax.annotation.Resource; import org.springframework.stereotype.Service; /** * <p> ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java
@@ -3,25 +3,22 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 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.vo.ForepartAuctionSalesroomVO; import com.ruoyi.auction.domain.pojo.AuctionSalesroom; import com.ruoyi.auction.domain.pojo.AuctionVideo; import com.ruoyi.auction.domain.AuctionSalesroom; import com.ruoyi.auction.domain.AuctionVideo; import com.ruoyi.auction.mapper.AuctionSalesroomMapper; import com.ruoyi.auction.service.IAuctionSalesroomService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.auction.service.IAuctionVideoService; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.utils.page.PageDTO; import com.ruoyi.system.api.domain.MemberAddress; import com.ruoyi.system.api.domain.SysUser; import com.ruoyi.system.api.feignClient.SysUserClient; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; import org.springframework.stereotype.Service; /** * <p> ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionVideoServiceImpl.java
@@ -2,21 +2,20 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.auction.controller.forepart.dto.ForepartAuctionVideo; import com.ruoyi.auction.domain.pojo.AuctionSalesroomGoods; import com.ruoyi.auction.domain.pojo.AuctionVideo; import com.ruoyi.auction.domain.AuctionSalesroomGoods; import com.ruoyi.auction.domain.AuctionVideo; import com.ruoyi.auction.mapper.AuctionVideoMapper; import com.ruoyi.auction.service.IAuctionSalesroomGoodsService; import com.ruoyi.auction.service.IAuctionVideoService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.domain.R; import com.ruoyi.system.api.domain.PromotionVideo; import com.ruoyi.system.api.feignClient.PromotionClient; import java.util.List; import javax.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.web.bind.annotation.RequestBody; import javax.annotation.Resource; import java.util.List; /** * <p> ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/MemberAuctionCollectionServiceImpl.java
New file @@ -0,0 +1,20 @@ package com.ruoyi.auction.service.impl; import com.ruoyi.auction.domain.MemberAuctionCollection; import com.ruoyi.auction.mapper.MemberAuctionCollectionMapper; import com.ruoyi.auction.service.IMemberAuctionCollectionService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; /** * <p> * 用户收藏的普通拍卖商品 服务实现类 * </p> * * @author mitao * @since 2024-05-27 */ @Service public class MemberAuctionCollectionServiceImpl extends ServiceImpl<MemberAuctionCollectionMapper, MemberAuctionCollection> implements IMemberAuctionCollectionService { } ruoyi-modules/ruoyi-auction/src/main/resources/mapper/auction/MemberAuctionCollectionMapper.xml
New file @@ -0,0 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ruoyi.auction.mapper.MemberAuctionCollectionMapper"> </mapper> ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/MemberGoodsCollectionController.java
New file @@ -0,0 +1,19 @@ package com.ruoyi.goods.controller.inner; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * <p> * 会员收藏普通商品 前端控制器 * </p> * * @author mitao * @since 2024-05-27 */ @RestController @RequestMapping("/member-goods-collection") public class MemberGoodsCollectionController { } ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/MemberGoodsCollection.java
New file @@ -0,0 +1,63 @@ package com.ruoyi.goods.domain; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.Serializable; import java.time.LocalDateTime; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; /** * <p> * 会员收藏普通商品 * </p> * * @author mitao * @since 2024-05-27 */ @Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) @TableName("t_member_goods_collection") @ApiModel(value = "MemberGoodsCollection对象", description = "会员收藏普通商品") public class MemberGoodsCollection implements Serializable { private static final long serialVersionUID = 1L; @TableId(value = "id", type = IdType.AUTO) private Integer id; @ApiModelProperty(value = "收藏目标id") private Long targetId; @ApiModelProperty(value = "会员id") private Long memberId; @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-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/MemberGoodsCollectionMapper.java
New file @@ -0,0 +1,16 @@ package com.ruoyi.goods.mapper; import com.ruoyi.goods.domain.MemberGoodsCollection; import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** * <p> * 会员收藏普通商品 Mapper 接口 * </p> * * @author mitao * @since 2024-05-27 */ public interface MemberGoodsCollectionMapper extends BaseMapper<MemberGoodsCollection> { } ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IMemberGoodsCollectionService.java
New file @@ -0,0 +1,16 @@ package com.ruoyi.goods.service; import com.ruoyi.goods.domain.MemberGoodsCollection; import com.baomidou.mybatisplus.extension.service.IService; /** * <p> * 会员收藏普通商品 服务类 * </p> * * @author mitao * @since 2024-05-27 */ public interface IMemberGoodsCollectionService extends IService<MemberGoodsCollection> { } ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/async/AsyncMethodService.java
@@ -112,12 +112,12 @@ private void handleStartDelayTask(Long id, DelayTaskEnum delayTaskEnum, LocalDateTime startTime, Long timeout) { String startTaskKey = delayTaskEnum.getCode() + "-" + id; //查询延时任务 DelayTask startDelayTask = sysUserClient.getDelayTask( startTaskKey).getData(); redisService.setCacheObject( startTaskKey, startTime, timeout, TimeUnit.SECONDS); //查询延时任务 DelayTask startDelayTask = sysUserClient.getDelayTask( startTaskKey).getData(); if (StringUtils.isNull(startDelayTask)) { startDelayTask = new DelayTask(); startDelayTask.setDelFlag(0); ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java
@@ -12,6 +12,7 @@ import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.page.BeanUtils; import com.ruoyi.common.core.utils.page.PageDTO; import com.ruoyi.common.redis.service.RedisService; import com.ruoyi.goods.controller.management.dto.GoodsGroupPurchaseDTO; import com.ruoyi.goods.controller.management.dto.GoodsGroupPurchaseQuery; import com.ruoyi.goods.controller.management.vo.GoodsGroupPurchaseVO; @@ -20,6 +21,7 @@ import com.ruoyi.goods.service.IGoodsGroupPurchaseService; import com.ruoyi.goods.service.IGoodsSkuService; import com.ruoyi.goods.service.async.AsyncMethodService; import com.ruoyi.system.api.constants.DelayTaskEnum; import com.ruoyi.system.api.constants.NotificationTypeConstant; import com.ruoyi.system.api.domain.GoodsSku; import com.ruoyi.system.api.domain.Order; @@ -50,6 +52,7 @@ private final OrderClient orderClient; private final IGoodsSkuService goodsSkuService; private final AsyncMethodService asyncMethodService; private final RedisService redisService; // 创建一个静态共享的ObjectMapper实例以重用 private static final ObjectMapper objectMapper = new ObjectMapper(); /** @@ -141,10 +144,16 @@ throw new ServiceException("团购商品不存在"); } //判断商品状态 if (dto.getListingStatus().equals(ListingStatusEnum.REMOVED_FROM_THE_SHELF) && groupPurchase.getStartStatus().equals(StartStatusEnum.STARTED)) { if (dto.getListingStatus().equals(ListingStatusEnum.REMOVED_FROM_THE_SHELF)) { if (groupPurchase.getStartStatus().equals(StartStatusEnum.STARTED)) { throw new ServiceException("该商品已开始团购,不能下架"); } //移除该团购商品延时任务 redisService.deleteObject(DelayTaskEnum.GROUP_PURCHASES_START_TASK.getCode() + "-" + groupPurchase.getId()); redisService.deleteObject( DelayTaskEnum.GROUP_PURCHASES_END_TASK.getCode() + "-" + groupPurchase.getId()); } //修改状态 groupPurchase.setListingStatus(dto.getListingStatus()); this.updateById(groupPurchase); ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeckillServiceImpl.java
@@ -5,6 +5,7 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.ruoyi.common.core.constant.CacheConstants; import com.ruoyi.common.core.enums.ListingStatusEnum; import com.ruoyi.common.core.enums.StartStatusEnum; import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.utils.StringUtils; @@ -19,6 +20,7 @@ import com.ruoyi.goods.service.IGoodsSeckillService; import com.ruoyi.goods.service.IGoodsSkuService; import com.ruoyi.goods.service.async.AsyncMethodService; import com.ruoyi.system.api.constants.DelayTaskEnum; import com.ruoyi.system.api.constants.NotificationTypeConstant; import com.ruoyi.system.api.domain.GoodsSeckill; import com.ruoyi.system.api.domain.GoodsSku; @@ -109,7 +111,10 @@ //查询秒杀商品 GoodsSeckill goodsSeckill = this.getById(upd.getId()); if (StringUtils.isNull(goodsSeckill)) { throw new RuntimeException("秒杀商品不存在"); throw new ServiceException("秒杀商品不存在"); } if (goodsSeckill.getStartStatus().equals(StartStatusEnum.STARTED)) { throw new ServiceException("秒杀商品已开始秒杀,不能修改"); } GoodsSeckill goodsSeckillUpd = BeanUtils.copyBean(upd, GoodsSeckill.class); this.updateById(goodsSeckillUpd); @@ -123,10 +128,21 @@ */ @Override public void updStatus(ListStatusDTO dto) { GoodsSeckill goodsSeckill = this.getById(dto.getId()); if (StringUtils.isNull(goodsSeckill)) { throw new ServiceException("秒杀商品不存在"); } this.lambdaUpdate() .eq(GoodsSeckill::getId, dto.getId()) .set(GoodsSeckill::getListingStatus, dto.getListingStatus()) .update(); if (dto.getListingStatus().equals(ListingStatusEnum.REMOVED_FROM_THE_SHELF)) { //移除该秒杀商品的延时任务 redisService.deleteObject( DelayTaskEnum.SECKILL_START_TASK.getCode() + "-" + goodsSeckill.getId()); redisService.deleteObject( DelayTaskEnum.SECKILL_END_TASK.getCode() + "-" + goodsSeckill.getId()); } } /** @@ -139,7 +155,7 @@ public GoodsSeckillVO getDetail(Long id) { GoodsSeckill goodsSeckill = this.getById(id); if (StringUtils.isNull(goodsSeckill)) { throw new RuntimeException("秒杀商品不存在"); throw new ServiceException("秒杀商品不存在"); } GoodsSeckillVO vo = BeanUtils.copyBean(goodsSeckill, GoodsSeckillVO.class); GoodsSku goods = goodsSkuService.getById(goodsSeckill.getGoodsSkuId()); ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/MemberGoodsCollectionServiceImpl.java
New file @@ -0,0 +1,20 @@ package com.ruoyi.goods.service.impl; import com.ruoyi.goods.domain.MemberGoodsCollection; import com.ruoyi.goods.mapper.MemberGoodsCollectionMapper; import com.ruoyi.goods.service.IMemberGoodsCollectionService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; /** * <p> * 会员收藏普通商品 服务实现类 * </p> * * @author mitao * @since 2024-05-27 */ @Service public class MemberGoodsCollectionServiceImpl extends ServiceImpl<MemberGoodsCollectionMapper, MemberGoodsCollection> implements IMemberGoodsCollectionService { } ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/MemberGoodsCollectionMapper.xml
New file @@ -0,0 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ruoyi.goods.mapper.MemberGoodsCollectionMapper"> </mapper>