mitao
2024-05-27 c26092c422c4b72fa5d51a38f6de1b48ab1ccd87
提交普通拍品、资讯文章、商城商品收藏基础代码
2 文件已复制
5 文件已重命名
22个文件已修改
17个文件已添加
665 ■■■■ 已修改文件
ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/controller/MemberArticleCollectionController.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/domain/MemberArticleCollection.java 39 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/mapper/MemberArticleCollectionMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/IMemberArticleCollectionService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/service/impl/MemberArticleCollectionServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-article/src/main/resources/mapper/article/MemberArticleCollectionMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/forepart/ForepartAuctionBidRecordController.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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/ForepartAuctionSalesroomGoodsController.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/forepart/MemberAuctionCollectionController.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/MgtAuctionGoodsController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/dto/AuctionGoodsDTO.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/AuctionBidRecord.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/AuctionGoods.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/AuctionSalesroom.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/AuctionSalesroomGoods.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/AuctionVideo.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/MemberAuctionCollection.java 39 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/mapper/AuctionBidRecordMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/mapper/AuctionGoodsMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/mapper/AuctionSalesroomGoodsMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/mapper/AuctionSalesroomMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/mapper/AuctionVideoMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/mapper/MemberAuctionCollectionMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionBidRecordService.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionGoodsService.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionSalesroomGoodsService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionSalesroomService.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionVideoService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IMemberAuctionCollectionService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionBidRecordServiceImpl.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionVideoServiceImpl.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/MemberAuctionCollectionServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-auction/src/main/resources/mapper/auction/MemberAuctionCollectionMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/MemberGoodsCollectionController.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/MemberGoodsCollection.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/MemberGoodsCollectionMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IMemberGoodsCollectionService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/async/AsyncMethodService.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeckillServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/MemberGoodsCollectionServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/MemberGoodsCollectionMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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.java
copy 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.java
copy 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>