ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/constants/ConfigEnum.java
@@ -22,7 +22,9 @@ RETURN_ADDRESS_USER_NAME("RETURN_ADDRESS_USER_NAME",1,"退货地址用户名"), RETURN_ADDRESS_USER_PHONE("RETURN_ADDRESS_USER_PHONE",1,"退货地址手机号"), RETURN_ADDRESS_USER_ADDRESS("RETURN_ADDRESS_USER_ADDRESS",1,"退货地址"), RETURN_CYCLE("RETURN_CYCLE",1,"退货周期,用户在收货后{}天可申请售后"); RETURN_CYCLE("RETURN_CYCLE", 1, "退货周期,用户在收货后{}天可申请售后"), MEMBER_POINTS_MONEY("MEMBER_POINTS_MONEY", 1, "会员每实际消费{}元"), MEMBER_POINTS_POINTS("MEMBER_POINTS_POINTS", 1, "可获得{}积分"); private final String key; private final Integer keyType; //1=系统配置 private final String keyName; ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/AuctionGoods.java
@@ -89,7 +89,7 @@ private LocalDateTime createTime; @ApiModelProperty(value = "更新者") @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE) private String updateBy; @ApiModelProperty(value = "更新时间") ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/AuctionSalesroom.java
@@ -83,7 +83,7 @@ private LocalDateTime createTime; @ApiModelProperty(value = "更新者") @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE) private String updateBy; @ApiModelProperty(value = "更新时间") ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/GoodsBrand.java
@@ -48,7 +48,7 @@ private LocalDateTime createTime; @ApiModelProperty(value = "更新者") @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE) private String updateBy; @ApiModelProperty(value = "更新时间") ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/GoodsCategory.java
@@ -48,7 +48,7 @@ private LocalDateTime createTime; @ApiModelProperty(value = "更新者") @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE) private String updateBy; @ApiModelProperty(value = "更新时间") ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/GoodsFlavorType.java
@@ -48,7 +48,7 @@ private LocalDateTime createTime; @ApiModelProperty(value = "更新者") @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE) private String updateBy; @ApiModelProperty(value = "更新时间") ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/GoodsGroupPurchase.java
@@ -100,7 +100,7 @@ private LocalDateTime createTime; @ApiModelProperty(value = "更新者") @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE) private String updateBy; @ApiModelProperty(value = "更新时间") ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/GoodsSeckill.java
@@ -1,17 +1,21 @@ package com.ruoyi.system.api.domain; import com.baomidou.mybatisplus.annotation.*; 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 com.ruoyi.common.core.enums.ListingStatusEnum; import com.ruoyi.common.core.enums.StartStatusEnum; 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; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; /** * <p> @@ -79,7 +83,7 @@ private LocalDateTime createTime; @ApiModelProperty(value = "更新者") @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE) private String updateBy; @ApiModelProperty(value = "更新时间") ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/GoodsSeries.java
@@ -47,7 +47,7 @@ private LocalDateTime createTime; @ApiModelProperty(value = "更新者") @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE) private String updateBy; @ApiModelProperty(value = "更新时间") ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/GoodsSku.java
@@ -106,7 +106,7 @@ private LocalDateTime createTime; @ApiModelProperty(value = "更新者") @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE) private String updateBy; @ApiModelProperty(value = "更新时间") ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/Member.java
@@ -84,7 +84,7 @@ private LocalDateTime createTime; @ApiModelProperty(value = "更新者") @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE) private String updateBy; @ApiModelProperty(value = "更新时间") ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/OrderAuctionBond.java
@@ -69,7 +69,7 @@ private LocalDateTime createTime; @ApiModelProperty(value = "更新者") @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE) private String updateBy; @ApiModelProperty(value = "更新时间") ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/PromotionVideo.java
@@ -1,14 +1,18 @@ package com.ruoyi.system.api.domain; import com.baomidou.mybatisplus.annotation.*; 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; import java.io.Serializable; import java.time.LocalDateTime; /** * <p> @@ -46,7 +50,7 @@ private LocalDateTime createTime; @ApiModelProperty(value = "更新者") @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE) private String updateBy; @ApiModelProperty(value = "更新时间") ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/PromotionClient.java
@@ -21,5 +21,4 @@ @PostMapping("/promotion-video/getPromotionVideoOne") R<PromotionVideo> getPromotionVideoOne(Long promotionVideoId, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); } ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/enums/PointStatusEnum.java
New file @@ -0,0 +1,39 @@ package com.ruoyi.common.core.enums; import com.baomidou.mybatisplus.annotation.EnumValue; import com.fasterxml.jackson.annotation.JsonValue; import lombok.AllArgsConstructor; import lombok.Getter; @Getter @AllArgsConstructor public enum PointStatusEnum { /*积分状态 1=增加 2=减少*/ INCREASE(1, "增加"), REDUCE(2, "减少"); @EnumValue private final int code; @JsonValue private final String desc; /** * 通过code获取枚举 * * @param code * @return */ public static PointStatusEnum fromCode(Integer code) { PointStatusEnum[] resultTypes = PointStatusEnum.values(); for (PointStatusEnum resultType : resultTypes) { if (code.equals(resultType.getCode())) { return resultType; } } return null; } } ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/config/ApplicationConfig.java
@@ -1,5 +1,6 @@ package com.ruoyi.common.security.config; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import java.util.TimeZone; import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer; import org.springframework.context.annotation.Bean; @@ -19,4 +20,13 @@ { return jacksonObjectMapperBuilder -> jacksonObjectMapperBuilder.timeZone(TimeZone.getDefault()); } @Bean public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() { return builder -> { // Long 会自动转换成 String builder.serializerByType(Long.class, ToStringSerializer.instance); }; } } ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/domain/Article.java
@@ -73,7 +73,7 @@ private LocalDateTime createTime; @ApiModelProperty(value = "更新者") @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE) private String updateBy; @ApiModelProperty(value = "更新时间") ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/domain/ArticleComments.java
@@ -52,7 +52,7 @@ private String createBy; @ApiModelProperty(value = "创建时间") @TableField(value = "create_time", fill = FieldFill.INSERT) @TableField(value = "create_by", fill = FieldFill.INSERT) private LocalDateTime createTime; @ApiModelProperty(value = "更新者") ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/domain/MemberArticleCollection.java
@@ -49,7 +49,7 @@ private LocalDateTime createTime; @ApiModelProperty(value = "更新者") @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE) private String updateBy; @ApiModelProperty(value = "更新时间") ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/domain/MemberLike.java
@@ -52,7 +52,7 @@ private LocalDateTime createTime; @ApiModelProperty(value = "更新者") @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE) private String updateBy; @ApiModelProperty(value = "更新时间") ruoyi-modules/ruoyi-article/src/main/java/com/ruoyi/article/domain/SensitiveWords.java
@@ -46,7 +46,7 @@ private LocalDateTime createTime; @ApiModelProperty(value = "更新者") @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE) private String updateBy; @ApiModelProperty(value = "更新时间") ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/MgtAuctionSalesroomController.java
@@ -93,7 +93,7 @@ @ApiOperation(value = "查看详情", notes = "查看详情") public R<MgtAuctionSalesroomVO> getAuctionSalesroom( @ApiParam(name = "id", value = "拍卖会id", required = true) @PathVariable("id") Long id) { return R.ok(auctionSalesroomService.getAuctionSalesroom(id)); return R.ok(auctionSalesroomService.getAuctionSalesroom(id, Boolean.FALSE)); } /** ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/MgtAuctionScreenController.java
@@ -1,24 +1,33 @@ package com.ruoyi.auction.controller.management; import com.ruoyi.auction.controller.management.dto.MgtAuctionSalesroomGoodsQuery; import com.ruoyi.auction.controller.management.dto.MgtAuctionSalesroomQuery; import com.ruoyi.auction.controller.management.dto.MgtScreenBidPage; import com.ruoyi.auction.controller.management.dto.MgtScreenSalesroomGoodsDTO; import com.ruoyi.auction.controller.management.dto.MgtScreenVideoDTO; import com.ruoyi.auction.controller.management.vo.MgtAuctionBidRecordVO; import com.ruoyi.auction.controller.management.vo.MgtAuctionSalesroomGoodsVO; import com.ruoyi.auction.controller.management.vo.MgtAuctionSalesroomScreenVO; import com.ruoyi.auction.controller.management.vo.MgtAuctionSalesroomVO; 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.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import java.util.List; import lombok.RequiredArgsConstructor; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; /** @@ -75,5 +84,90 @@ @Validated @RequestBody MgtScreenBidPage mgtScreenBidPage) { return R.ok(auctionSalesroomService.getScreenBidRecordList(mgtScreenBidPage)); } /** * 添加商品 * * @param dto 大屏操作台添加商品数据传输对象 */ @PostMapping("/add-goods") @ApiOperation(value = "添加商品", notes = "添加商品") public R<?> addGoods(@RequestBody MgtScreenSalesroomGoodsDTO dto) { auctionSalesroomService.addGoods(dto); return R.ok(); } /** * 获取备选拍品列表的分页数据 * * @param query 拍卖场商品关系查询对象 * @return PageDTO<MgtAuctionSalesroomGoodsVO> */ @PostMapping("/backup-goods") @ApiOperation(value = "获取备选拍品列表的分页数据", notes = "获取备选拍品列表的分页数据") public R<PageDTO<MgtAuctionSalesroomGoodsVO>> backupGoods( @RequestBody MgtAuctionSalesroomGoodsQuery query) { return R.ok(auctionSalesroomService.backupGoods(query)); } /** * 添加备选商品 * * @param idList 备选商品id集合 */ @PutMapping("/add-backup-goods") @ApiOperation(value = "选择备选商品", notes = "选择备选商品") @ApiImplicitParams({ @ApiImplicitParam(name = "idList", value = "备选商品id集合", required = true, dataType = "List")}) public R<?> addBackupGoods(@RequestParam("idList") List<Long> idList) { auctionSalesroomService.addBackupGoods(idList); return R.ok(); } /** * 结束当前拍卖商品 * * @param id 拍卖场商品id */ @PutMapping("/stop-current/{id}") @ApiOperation("停止当前拍品") public R<?> stopCurrentGoods( @ApiParam(name = "id", value = "拍卖场商品id", required = true) @PathVariable("id") Long id) { auctionSalesroomService.stopCurrentGoods(id); return R.ok(); } /** * 开始下一拍卖商品 * * @param id 拍卖场商品id */ @PutMapping("/start-next/{id}") @ApiOperation("开始下一拍卖商品") public R<?> startNextGoods( @ApiParam(name = "id", value = "拍卖场商品id", required = true) @PathVariable("id") Long id) { auctionSalesroomService.startNextGoods(id); return R.ok(); } /** * 播放视频 * * @param dto 大屏播放视频对象 */ @PostMapping("/play") @ApiOperation("播放视频") public R<?> play(@RequestBody MgtScreenVideoDTO dto) { auctionSalesroomService.play(dto); return R.ok(); } @PostMapping("/stop-play/{auctionSalesroomId}") @ApiOperation("播放视频") public R<?> stopPlay( @ApiParam(name = "auctionSalesroomId", value = "拍卖场id", required = true) @PathVariable("auctionSalesroomId") Long auctionSalesroomId) { auctionSalesroomService.stopPlay(auctionSalesroomId); return R.ok(); } } ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/dto/MgtAuctionSalesroomGoodsDTO.java
@@ -1,6 +1,7 @@ package com.ruoyi.auction.controller.management.dto; import io.swagger.annotations.ApiModelProperty; import java.io.Serializable; import java.math.BigDecimal; import javax.validation.constraints.NotNull; import lombok.Data; @@ -10,8 +11,10 @@ * @date 2024/5/30 */ @Data public class MgtAuctionSalesroomGoodsDTO { public class MgtAuctionSalesroomGoodsDTO implements Serializable { private static final long serialVersionUID = -7793257582778819593L; @ApiModelProperty(value = "商品id") @NotNull(message = "商品id不能为空") private Long goodsSkuId; @@ -36,7 +39,6 @@ private Integer listingDuration; @ApiModelProperty(value = "设为备选") @NotNull(message = "设为备选不能为空") private Boolean backupStatus; @ApiModelProperty(value = "排序") ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/dto/MgtAuctionSalesroomGoodsQuery.java
New file @@ -0,0 +1,22 @@ package com.ruoyi.auction.controller.management.dto; import com.ruoyi.common.core.web.page.BasePage; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; /** * @author mitao * @date 2024/6/3 */ @Data @EqualsAndHashCode(callSuper = true) @ApiModel(value = "拍卖场商品关系查询对象", description = "拍卖场商品关系查询对象") public class MgtAuctionSalesroomGoodsQuery extends BasePage { private static final long serialVersionUID = 9040206486072802788L; @ApiModelProperty(value = "商品名称") private String goodsName; } ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/dto/MgtScreenSalesroomGoodsDTO.java
New file @@ -0,0 +1,47 @@ package com.ruoyi.auction.controller.management.dto; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.Serializable; import java.math.BigDecimal; import javax.validation.constraints.NotNull; import lombok.Data; /** * @author mitao * @date 2024/5/30 */ @Data @ApiModel(value = "大屏操作台添加商品数据传输对象", description = "大屏操作台添加商品数据传输对象") public class MgtScreenSalesroomGoodsDTO implements Serializable { private static final long serialVersionUID = 6854876306221398178L; @ApiModelProperty(value = "拍卖会id") @NotNull(message = "拍卖会id不能为空") private Long auctionSalesroomId; @ApiModelProperty(value = "商品id") @NotNull(message = "商品id不能为空") private Long goodsSkuId; @ApiModelProperty(value = "起拍价格") @NotNull(message = "起拍价格不能为空") private BigDecimal startingPrice; @ApiModelProperty(value = "最低加价金额") @NotNull(message = "最低加价金额不能为空") private BigDecimal minimumMarkupAmount; @ApiModelProperty(value = "拍品数量") @NotNull(message = "拍品数量不能为空") private Integer salesroomStock; @ApiModelProperty(value = "兜底成交个数") private Integer guaranteedTradeVolume; @ApiModelProperty(value = "拍卖时间(分钟)") @NotNull(message = "拍卖时间不能为空") private Integer listingDuration; } ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/dto/MgtScreenVideoDTO.java
New file @@ -0,0 +1,26 @@ package com.ruoyi.auction.controller.management.dto; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.Serializable; import javax.validation.constraints.NotNull; import lombok.Data; /** * @author mitao * @date 2024/6/3 */ @Data @ApiModel(value = "大屏播放视频对象", description = "大屏播放视频对象") public class MgtScreenVideoDTO implements Serializable { private static final long serialVersionUID = 2889588554773207971L; @ApiModelProperty(value = "视频id") @NotNull(message = "视频id不能为空") private Long videoId; @ApiModelProperty(value = "拍卖会id") @NotNull(message = "拍卖会id不能为空") private Long auctionSalesroomId; } ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/AuctionBidRecord.java
@@ -71,7 +71,7 @@ private LocalDateTime createTime; @ApiModelProperty(value = "更新者") @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE) private String updateBy; @ApiModelProperty(value = "更新时间") ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/AuctionSalesroomGoods.java
@@ -79,7 +79,7 @@ private LocalDateTime createTime; @ApiModelProperty(value = "更新者") @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE) private String updateBy; @ApiModelProperty(value = "更新时间") ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/domain/AuctionVideo.java
@@ -1,7 +1,10 @@ package com.ruoyi.auction.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; @@ -42,18 +45,23 @@ private Long auctionSalesroomId; @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_by", 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-auction/src/main/java/com/ruoyi/auction/domain/MemberAuctionCollection.java
@@ -49,7 +49,7 @@ private LocalDateTime createTime; @ApiModelProperty(value = "更新者") @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE) private String updateBy; @ApiModelProperty(value = "更新时间") @@ -59,5 +59,4 @@ @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)") @TableLogic private Integer delFlag; } ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/mapper/AuctionSalesroomGoodsMapper.java
@@ -1,11 +1,10 @@ package com.ruoyi.auction.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.system.api.domain.dto.MemberAuctionSalesroomDTO; import com.ruoyi.auction.domain.AuctionSalesroomGoods; import org.apache.ibatis.annotations.Param; import com.ruoyi.system.api.domain.dto.MemberAuctionSalesroomDTO; import java.util.List; import org.apache.ibatis.annotations.Param; /** * <p> @@ -19,4 +18,5 @@ List<AuctionSalesroomGoods> getAuctionSalesroomGoods(@Param("param") MemberAuctionSalesroomDTO memberAuctionSalesroomDTO); void updateBatchById(@Param("param") List<AuctionSalesroomGoods> auctionSalesroomGoods); } ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionSalesroomService.java
@@ -8,9 +8,13 @@ import com.ruoyi.auction.controller.forepart.vo.MemberAuctionSalesroomVO; import com.ruoyi.auction.controller.management.dto.MgtAuctionSaleroomBidRecordQuery; import com.ruoyi.auction.controller.management.dto.MgtAuctionSalesroomDTO; import com.ruoyi.auction.controller.management.dto.MgtAuctionSalesroomGoodsQuery; import com.ruoyi.auction.controller.management.dto.MgtAuctionSalesroomQuery; import com.ruoyi.auction.controller.management.dto.MgtScreenBidPage; import com.ruoyi.auction.controller.management.dto.MgtScreenSalesroomGoodsDTO; import com.ruoyi.auction.controller.management.dto.MgtScreenVideoDTO; import com.ruoyi.auction.controller.management.vo.MgtAuctionBidRecordVO; import com.ruoyi.auction.controller.management.vo.MgtAuctionSalesroomGoodsVO; import com.ruoyi.auction.controller.management.vo.MgtAuctionSalesroomScreenVO; import com.ruoyi.auction.controller.management.vo.MgtAuctionSalesroomVO; import com.ruoyi.common.core.utils.page.PageDTO; @@ -22,6 +26,7 @@ import com.ruoyi.system.api.domain.dto.MemberAuctionSalesroomDTO; import com.ruoyi.system.api.domain.vo.PayInfoVO; import com.ruoyi.system.api.domain.vo.WdMemberAuctionSalesroomVO; import java.util.List; import org.springframework.web.bind.annotation.RequestBody; /** @@ -86,11 +91,11 @@ /** * 查看详情 * * @param id 拍卖会id * @return 拍卖场视图对象 * @param isScreen 是否为大屏控制台 * @return MgtAuctionSalesroomVO */ MgtAuctionSalesroomVO getAuctionSalesroom(Long id); MgtAuctionSalesroomVO getAuctionSalesroom(Long id, Boolean isScreen); /** * 查看详情-出价记录 @@ -124,4 +129,49 @@ * @return PageDTO<MgtAuctionBidRecordVO> */ PageDTO<MgtAuctionBidRecordVO> getScreenBidRecordList(MgtScreenBidPage mgtScreenBidPage); /** * 添加商品 * * @param dto 大屏操作台添加商品数据传输对象 */ void addGoods(MgtScreenSalesroomGoodsDTO dto); /** * 获取备选拍品列表的分页数据 * * @param query 拍卖场商品关系查询对象 * @return PageDTO<MgtAuctionSalesroomGoodsVO> */ PageDTO<MgtAuctionSalesroomGoodsVO> backupGoods(MgtAuctionSalesroomGoodsQuery query); /** * 选择备选商品 * * @param idList 备选商品id集合 */ void addBackupGoods(List<Long> idList); /** * 结束当前拍卖商品 * * @param id 拍卖场商品id */ void stopCurrentGoods(Long id); /** * 开始下一拍卖商品 * * @param id 拍卖场商品id */ void startNextGoods(Long id); /** * 播放视频 * * @param dto 大屏播放视频对象 */ void play(MgtScreenVideoDTO dto); void stopPlay(Long auctionSalesroomId); } ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java
@@ -14,6 +14,7 @@ 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.google.common.collect.Lists; import com.ruoyi.auction.controller.forepart.dto.AuctionSalesroomGoodsDTO; import com.ruoyi.auction.controller.forepart.dto.ForepartAuctionBidRecordDTO; import com.ruoyi.auction.controller.forepart.vo.ForepartAuctionSalesroomGoodsVO; @@ -23,8 +24,11 @@ import com.ruoyi.auction.controller.management.dto.MgtAuctionSaleroomBidRecordQuery; import com.ruoyi.auction.controller.management.dto.MgtAuctionSalesroomDTO; import com.ruoyi.auction.controller.management.dto.MgtAuctionSalesroomGoodsDTO; import com.ruoyi.auction.controller.management.dto.MgtAuctionSalesroomGoodsQuery; import com.ruoyi.auction.controller.management.dto.MgtAuctionSalesroomQuery; import com.ruoyi.auction.controller.management.dto.MgtScreenBidPage; import com.ruoyi.auction.controller.management.dto.MgtScreenSalesroomGoodsDTO; import com.ruoyi.auction.controller.management.dto.MgtScreenVideoDTO; import com.ruoyi.auction.controller.management.vo.MgtAuctionBidRecordVO; import com.ruoyi.auction.controller.management.vo.MgtAuctionSalesroomGoodsVO; import com.ruoyi.auction.controller.management.vo.MgtAuctionSalesroomScreenVO; @@ -42,6 +46,7 @@ import com.ruoyi.auction.service.IAuctionVideoService; import com.ruoyi.auction.util.CreateQrCode; import com.ruoyi.auction.util.HttpUtils; import com.ruoyi.common.core.constant.Constants; import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.enums.AuctionGoodsStatusEnum; @@ -62,6 +67,7 @@ import com.ruoyi.system.api.domain.GoodsSku; import com.ruoyi.system.api.domain.Member; import com.ruoyi.system.api.domain.OrderAuctionBond; import com.ruoyi.system.api.domain.PromotionVideo; import com.ruoyi.system.api.domain.SysUser; import com.ruoyi.system.api.domain.dto.AppMiniLoginDTO; import com.ruoyi.system.api.domain.dto.BidDTO; @@ -75,6 +81,7 @@ import com.ruoyi.system.api.feignClient.GoodsSkuClient; import com.ruoyi.system.api.feignClient.MemberClient; import com.ruoyi.system.api.feignClient.OrderClient; import com.ruoyi.system.api.feignClient.PromotionClient; import com.ruoyi.system.api.feignClient.SysUserClient; import io.seata.spring.annotation.GlobalTransactional; import java.math.BigDecimal; @@ -137,6 +144,8 @@ @Resource private IAuctionBrowseRecordService iAuctionBrowseRecordService; @Resource private PromotionClient promotionClient; //微信 private static final String ACCESS_TOKEN_HOST = "https://api.weixin.qq.com/cgi-bin/token"; @@ -810,21 +819,22 @@ /** * 查看详情 * * @param id 拍卖会id * @return 拍卖场视图对象 * @param isScreen 是否为大屏控制台 * @return MgtAuctionSalesroomVO */ @Override public MgtAuctionSalesroomVO getAuctionSalesroom(Long id) { public MgtAuctionSalesroomVO getAuctionSalesroom(Long id, Boolean isScreen) { // 获取拍卖场 AuctionSalesroom auctionSalesroom = this.getById(id); MgtAuctionSalesroomVO mgtAuctionSalesroomVO = BeanUtils.copyBean(auctionSalesroom, MgtAuctionSalesroomVO.class); // 获取拍卖场商品 LambdaQueryWrapper<AuctionSalesroomGoods> wrappers=new LambdaQueryWrapper<AuctionSalesroomGoods>(); wrappers.eq(AuctionSalesroomGoods::getAuctionSalesroomId, id); wrappers.orderByDesc(AuctionSalesroomGoods::getSortNum); List<AuctionSalesroomGoods> list = auctionSalesroomGoodsMapper.selectList(wrappers); List<AuctionSalesroomGoods> list; if (isScreen) { list = getAuctionSalesroomGoods(id, Boolean.TRUE); } else { list = getAuctionSalesroomGoods(id, null); } if (StringUtils.isNotEmpty(list)) { List<MgtAuctionSalesroomGoodsVO> mgtAuctionSalesroomGoodsVOS = BeanUtils.copyList(list, MgtAuctionSalesroomGoodsVO.class); @@ -848,6 +858,16 @@ mgtAuctionSalesroomVO.setAuctionSalesroomGoodsVOS(mgtAuctionSalesroomGoodsVOS); } return mgtAuctionSalesroomVO; } private List<AuctionSalesroomGoods> getAuctionSalesroomGoods(Long id, Boolean isBackup) { // 获取拍卖场商品 LambdaQueryWrapper<AuctionSalesroomGoods> wrappers = new LambdaQueryWrapper<AuctionSalesroomGoods>(); wrappers.eq(AuctionSalesroomGoods::getAuctionSalesroomId, id); wrappers.eq(StringUtils.isNotNull(isBackup), AuctionSalesroomGoods::getBackupStatus, isBackup); wrappers.orderByDesc(AuctionSalesroomGoods::getSortNum); return auctionSalesroomGoodsMapper.selectList(wrappers); } /** @@ -936,7 +956,7 @@ */ @Override public MgtAuctionSalesroomScreenVO getAuctionSalesroomDetail(Long id) { MgtAuctionSalesroomVO mgtAuctionSalesroomVO = this.getAuctionSalesroom(id); MgtAuctionSalesroomVO mgtAuctionSalesroomVO = this.getAuctionSalesroom(id, Boolean.TRUE); MgtAuctionSalesroomScreenVO vo = BeanUtils.copyBean( mgtAuctionSalesroomVO, MgtAuctionSalesroomScreenVO.class); if (vo.getStatus().equals(AuctionStartStatusEnum.IN_AUCTION)) { @@ -987,14 +1007,14 @@ /** * 进入详情-出价会员列表 * * @param mgtScreenBidPage * @param mgtScreenBidPage 分页参数对象 * @return PageDTO<MgtAuctionBidRecordVO> */ @Override public PageDTO<MgtAuctionBidRecordVO> getScreenBidRecordList( MgtScreenBidPage mgtScreenBidPage) { MgtAuctionSalesroomVO mgtAuctionSalesroomVO = this.getAuctionSalesroom( mgtScreenBidPage.getId()); mgtScreenBidPage.getId(), Boolean.TRUE); List<MgtAuctionSalesroomGoodsVO> auctionSalesroomGoodsVOS = mgtAuctionSalesroomVO.getAuctionSalesroomGoodsVOS(); if (StringUtils.isEmpty(auctionSalesroomGoodsVOS)) { throw new ServiceException("该拍卖会暂无拍卖商品"); @@ -1017,4 +1037,146 @@ } return PageDTO.of(page, MgtAuctionBidRecordVO.class); } /** * 添加商品 * * @param dto 大屏操作台添加商品数据传输对象 */ @Override @Transactional @GlobalTransactional(rollbackFor = Exception.class) public void addGoods(MgtScreenSalesroomGoodsDTO dto) { GoodsSku data = goodsSkuClient.getGoodsSkuOne(dto.getGoodsSkuId(), SecurityConstants.INNER) .getData(); if (StringUtils.isNull(data)) { throw new ServiceException("商品不存在"); } // 扣减库存 GoodsStockUpdDTO goodsStockUpdDTO = new GoodsStockUpdDTO(); goodsStockUpdDTO.setGoodsSkuId(data.getId()); goodsStockUpdDTO.setAuctionStock(dto.getSalesroomStock() * -1); R<?> result = goodsSkuClient.updGoodsStock(Lists.newArrayList(goodsStockUpdDTO), SecurityConstants.INNER); if (result.getCode() != Constants.SUCCESS) { throw new ServiceException("添加商品失败"); } AuctionSalesroomGoods auctionSalesroomGoods = BeanUtils.copyBean(dto, AuctionSalesroomGoods.class); auctionSalesroomGoods.setBackupStatus(false); auctionSalesroomGoodsMapper.insert(auctionSalesroomGoods); } /** * 获取备选拍品列表的分页数据 * * @param query 拍卖场商品关系查询对象 * @return PageDTO<MgtAuctionSalesroomGoodsVO> */ @Override public PageDTO<MgtAuctionSalesroomGoodsVO> backupGoods(MgtAuctionSalesroomGoodsQuery query) { Set<Long> goodsSkuIdSet = null; if (StringUtils.isNotBlank(query.getGoodsName())) { List<GoodsSku> data = goodsSkuClient.getGoodsByName(query.getGoodsName(), SecurityConstants.INNER).getData(); if (StringUtils.isNotEmpty(data)) { goodsSkuIdSet = data.stream().map(GoodsSku::getId) .collect(Collectors.toSet()); } } Page<AuctionSalesroomGoods> page = auctionSalesroomGoodsMapper.selectPage( new Page<>(query.getPageCurr(), query.getPageSize()), Wrappers.<AuctionSalesroomGoods>lambdaQuery() .in(StringUtils.isNotEmpty(goodsSkuIdSet), AuctionSalesroomGoods::getGoodsSkuId, goodsSkuIdSet)); if (StringUtils.isNotEmpty(page.getRecords())) { return PageDTO.empty(page); } Set<Long> skuIdList = page.getRecords().stream().map(AuctionSalesroomGoods::getGoodsSkuId) .collect(Collectors.toSet()); List<GoodsSku> goodsSkuList = goodsSkuClient.getGoodsListByIds(skuIdList, SecurityConstants.INNER).getData(); Map<Long, GoodsSku> goodsSkuMap = goodsSkuList.stream() .collect(Collectors.toMap(GoodsSku::getId, e -> e)); PageDTO<MgtAuctionSalesroomGoodsVO> mgtAuctionSalesroomGoodsVOPageDTO = PageDTO.of(page, MgtAuctionSalesroomGoodsVO.class); mgtAuctionSalesroomGoodsVOPageDTO.getList().forEach(item -> { item.setGoodsSkuName(goodsSkuMap.get(item.getGoodsSkuId()).getSkuName()); }); return mgtAuctionSalesroomGoodsVOPageDTO; } /** * 选择备选商品 * * @param idList 备选商品id集合 */ @Override public void addBackupGoods(List<Long> idList) { List<AuctionSalesroomGoods> auctionSalesroomGoods = auctionSalesroomGoodsMapper.selectList( Wrappers.<AuctionSalesroomGoods>lambdaQuery() .in(AuctionSalesroomGoods::getId, idList) .eq(AuctionSalesroomGoods::getBackupStatus, Boolean.TRUE)); if (StringUtils.isNotEmpty(auctionSalesroomGoods)) { auctionSalesroomGoods.forEach(item -> { item.setStatus(AuctionGoodsStatusEnum.WAITING); }); auctionSalesroomGoodsMapper.updateBatchById(auctionSalesroomGoods); } } /** * 结束当前拍卖商品 * * @param id 拍卖场商品id */ @Override public void stopCurrentGoods(Long id) { AuctionSalesroomGoods auctionSalesroomGoods = auctionSalesroomGoodsMapper.selectById(id); if (StringUtils.isNull(auctionSalesroomGoods)) { throw new ServiceException("拍卖商品不存在"); } auctionSalesroomGoods.setStatus(AuctionGoodsStatusEnum.ENDED); auctionSalesroomGoodsMapper.updateById(auctionSalesroomGoods); } /** * 开始下一拍卖商品 * * @param id 拍卖场商品id */ @Override public void startNextGoods(Long id) { AuctionSalesroomGoods auctionSalesroomGoods = auctionSalesroomGoodsMapper.selectById(id); if (StringUtils.isNull(auctionSalesroomGoods)) { throw new ServiceException("拍卖商品不存在"); } auctionSalesroomGoods.setStatus(AuctionGoodsStatusEnum.IN_PROGRESS); auctionSalesroomGoodsMapper.updateById(auctionSalesroomGoods); } /** * 播放视频 * * @param dto 大屏播放视频对象 */ @Override public void play(MgtScreenVideoDTO dto) { PromotionVideo data = promotionClient.getPromotionVideoOne(dto.getVideoId(), SecurityConstants.INNER).getData(); if (StringUtils.isNull(data)) { throw new ServiceException("视频不存在"); } AuctionVideo auctionVideo = new AuctionVideo(); auctionVideo.setAuctionSalesroomId(dto.getAuctionSalesroomId()); auctionVideo.setPromotionVideoId(dto.getVideoId()); auctionVideo.setPromotionVideoUrl(data.getVideoUrl()); iAuctionVideoService.save(auctionVideo); } @Override public void stopPlay(Long auctionSalesroomId) { iAuctionVideoService.remove(Wrappers.<AuctionVideo>lambdaQuery().eq (AuctionVideo::getAuctionSalesroomId, 1L)); } } ruoyi-modules/ruoyi-auction/src/main/resources/mapper/auction/AuctionSalesroomGoodsMapper.xml
@@ -1,7 +1,20 @@ <?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.AuctionSalesroomGoodsMapper"> <select id="pageMemberAuctionSalesroomList" resultType="com.ruoyi.auction.domain.AuctionSalesroomGoods"> <update id="updateBatchById" parameterType="java.util.List"> UPDATE t_auction_salesroom_goods SET status = CASE <foreach collection="param" item="item" index="index"> WHEN id = #{item.id} THEN #{item.status} </foreach> END WHERE id IN <foreach collection="param" index="index" item="item" open="(" separator="," close=")"> #{item.id} </foreach> </update> <select id="pageMemberAuctionSalesroomList" resultType="com.ruoyi.auction.domain.AuctionSalesroomGoods"> SELECT * FROM t_auction_salesroom_goods ta WHERE ta.del_flag = 0 <if test="param.auctionSalesroomId!=null and param.auctionSalesroomId != ''"> ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/GoodsInfoTitle.java
@@ -48,7 +48,7 @@ private LocalDateTime createTime; @ApiModelProperty(value = "更新者") @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE) private String updateBy; @ApiModelProperty(value = "更新时间") ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/GoodsInfoTitleValue.java
@@ -60,7 +60,7 @@ private LocalDateTime createTime; @ApiModelProperty(value = "更新者") @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE) private String updateBy; @ApiModelProperty(value = "更新时间") ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/MemberGoodsCollection.java
@@ -49,7 +49,7 @@ private LocalDateTime createTime; @ApiModelProperty(value = "更新者") @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE) private String updateBy; @ApiModelProperty(value = "更新时间") ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/async/AsyncMethodService.java
@@ -3,9 +3,9 @@ import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.redis.service.RedisService; import com.ruoyi.goods.domain.GoodsGroupPurchase; import com.ruoyi.system.api.constants.DelayTaskEnum; import com.ruoyi.system.api.domain.DelayTask; import com.ruoyi.system.api.domain.GoodsGroupPurchase; import com.ruoyi.system.api.domain.GoodsSeckill; import com.ruoyi.system.api.feignClient.SysUserClient; import java.time.Duration; ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/MemberPoints.java
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import com.ruoyi.common.core.enums.PointStatusEnum; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.Serializable; @@ -31,8 +32,8 @@ private static final long serialVersionUID = 1L; @TableId(value = "id", type = IdType.AUTO) private Integer id; @TableId(value = "id", type = IdType.ASSIGN_ID) private Long id; @ApiModelProperty(value = "积分") private Integer points; @@ -41,7 +42,7 @@ private Integer pointsType; @ApiModelProperty(value = "积分状态 1是加积分,2 是减积分") private Integer pointsStatus; private PointStatusEnum pointsStatus; @ApiModelProperty(value = "会员id") private Long memberId; ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/InvoicingApplication.java
@@ -90,7 +90,7 @@ private LocalDateTime createTime; @ApiModelProperty(value = "更新者") @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE) private String updateBy; @ApiModelProperty(value = "更新时间") ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/OrderAuction.java
@@ -53,7 +53,7 @@ private LocalDateTime createTime; @ApiModelProperty(value = "更新者") @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE) private String updateBy; @ApiModelProperty(value = "更新时间") ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/OrderMall.java
@@ -56,7 +56,7 @@ private LocalDateTime createTime; @ApiModelProperty(value = "更新者") @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE) private String updateBy; @ApiModelProperty(value = "更新时间") ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/OrderReturnRequest.java
@@ -68,7 +68,7 @@ private LocalDateTime createTime; @ApiModelProperty(value = "更新者") @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE) private String updateBy; @ApiModelProperty(value = "更新时间") ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/controller/management/MgtPromotionVideoController.java
New file @@ -0,0 +1,46 @@ package com.ruoyi.promotion.controller.management; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.utils.page.PageDTO; import com.ruoyi.promotion.controller.management.dto.MgtPromotionVideoQuery; import com.ruoyi.promotion.controller.management.vo.MgtPromotionVideoVO; import com.ruoyi.promotion.service.IPromotionVideoService; 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; /** * <p> * 视频表 前端控制器 * </p> * * @author mitao * @since 2024-05-16 */ @Api(tags = {"管理后台-视频管理"}) @RestController @RequestMapping("/mgt/promotion-video") @RequiredArgsConstructor public class MgtPromotionVideoController { private final IPromotionVideoService promotionVideoService; /** * 获取视频列表的分页数据 * * @param query 视频查询对象 * @return PageDTO<MgtPromotionVideoVO> */ @ApiOperation("获取视频列表的分页数据") @PostMapping("/page") public R<PageDTO<MgtPromotionVideoVO>> getPromotionVideoPage(@Validated @RequestBody MgtPromotionVideoQuery query) { return R.ok(promotionVideoService.getPromotionVideoPage(query)); } } ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/controller/management/dto/MgtPromotionVideoQuery.java
New file @@ -0,0 +1,22 @@ package com.ruoyi.promotion.controller.management.dto; import com.ruoyi.common.core.web.page.BasePage; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; /** * @author mitao * @date 2024/6/3 */ @Data @EqualsAndHashCode(callSuper = true) @ApiModel(value = "视频查询对象", description = "视频查询对象") public class MgtPromotionVideoQuery extends BasePage { private static final long serialVersionUID = -3563536516887180915L; @ApiModelProperty(value = "视频名称") private String videoName; } ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/controller/management/vo/MgtPromotionVideoVO.java
New file @@ -0,0 +1,26 @@ package com.ruoyi.promotion.controller.management.vo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.Serializable; import lombok.Data; /** * @author mitao * @date 2024/6/3 */ @Data @ApiModel(value = "大屏视频视图对象", description = "大屏视频视图对象") public class MgtPromotionVideoVO implements Serializable { private static final long serialVersionUID = -1717120548273715375L; @ApiModelProperty(value = "视频id") private Long id; @ApiModelProperty(value = "视频名称") private String videoName; @ApiModelProperty(value = "视频链接") private String videoUrl; } ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/domain/Coupon.java
@@ -84,7 +84,7 @@ private LocalDateTime createTime; @ApiModelProperty(value = "更新者") @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE) private String updateBy; @ApiModelProperty(value = "更新时间") ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/domain/CouponMember.java
@@ -82,7 +82,7 @@ private LocalDateTime createTime; @ApiModelProperty(value = "更新者") @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE) private String updateBy; @ApiModelProperty(value = "更新时间") ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/domain/PromotionBanner.java
@@ -57,7 +57,7 @@ private LocalDateTime createTime; @ApiModelProperty(value = "更新者") @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE) private String updateBy; @ApiModelProperty(value = "更新时间") ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/domain/PromotionWishList.java
@@ -60,7 +60,7 @@ private LocalDateTime createTime; @ApiModelProperty(value = "更新者") @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE) private String updateBy; @ApiModelProperty(value = "更新时间") ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/IPromotionVideoService.java
@@ -1,6 +1,9 @@ package com.ruoyi.promotion.service; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.common.core.utils.page.PageDTO; import com.ruoyi.promotion.controller.management.dto.MgtPromotionVideoQuery; import com.ruoyi.promotion.controller.management.vo.MgtPromotionVideoVO; import com.ruoyi.system.api.domain.PromotionVideo; /** @@ -13,4 +16,11 @@ */ public interface IPromotionVideoService extends IService<PromotionVideo> { /** * 获取视频列表的分页数据 * * @param query 视频查询对象 * @return PageDTO<MgtPromotionVideoVO> */ PageDTO<MgtPromotionVideoVO> getPromotionVideoPage(MgtPromotionVideoQuery query); } ruoyi-modules/ruoyi-promotion/src/main/java/com/ruoyi/promotion/service/impl/PromotionVideoServiceImpl.java
@@ -1,8 +1,13 @@ package com.ruoyi.promotion.service.impl; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.page.PageDTO; import com.ruoyi.promotion.controller.management.dto.MgtPromotionVideoQuery; import com.ruoyi.promotion.controller.management.vo.MgtPromotionVideoVO; import com.ruoyi.promotion.mapper.PromotionVideoMapper; import com.ruoyi.promotion.service.IPromotionVideoService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.system.api.domain.PromotionVideo; import org.springframework.stereotype.Service; @@ -17,4 +22,21 @@ @Service public class PromotionVideoServiceImpl extends ServiceImpl<PromotionVideoMapper, PromotionVideo> implements IPromotionVideoService { /** * 获取视频列表的分页数据 * * @param query 视频查询对象 * @return PageDTO<MgtPromotionVideoVO> */ @Override public PageDTO<MgtPromotionVideoVO> getPromotionVideoPage(MgtPromotionVideoQuery query) { Page<PromotionVideo> page = this.lambdaQuery() .like(StringUtils.isNotBlank(query.getVideoName()), PromotionVideo::getVideoName, query.getVideoName()) .page(new Page<>(query.getPageCurr(), query.getPageSize())); if (StringUtils.isEmpty(page.getRecords())) { return PageDTO.empty(page); } return PageDTO.of(page, MgtPromotionVideoVO.class); } } ruoyi-modules/ruoyi-system/pom.xml
@@ -95,18 +95,6 @@ <artifactId>fastjson</artifactId> <version>1.2.47</version> </dependency> <dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-spring-boot-starter</artifactId> <version>4.0.0</version> <exclusions> <exclusion> <artifactId>guava</artifactId> <groupId>com.google.guava</groupId> </exclusion> </exclusions> </dependency> </dependencies> <build>