ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/constants/ConfigEnum.java
@@ -27,7 +27,8 @@ MEMBER_POINTS_POINTS("MEMBER_POINTS_POINTS", 1, "可获得{}积分"), WISH_DESCRIPTION("WISH_DESCRIPTION", 1, "心愿求购说明配置"), WISH_SHARE_TITLE("WISH_SHARE_TITLE", 1, "心愿求购分享标题"), WISH_SHARE_IMG_URL("WISH_SHARE_IMG_URL", 1, "心愿求购分享图片"); WISH_SHARE_IMG_URL("WISH_SHARE_IMG_URL", 1, "心愿求购分享图片"), REFUND_OF_DEPOSIT("REFUND_OF_DEPOSIT", 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/AuctionSalesroom.java
@@ -82,6 +82,9 @@ @ApiModelProperty(value = "拍卖场二维码") private String qrCode; @ApiModelProperty(value = "竞拍协议") private String auctionAgreement; @ApiModelProperty(value = "创建者") @TableField(value = "create_by", fill = FieldFill.INSERT) private String createBy; ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/GoodsSku.java
@@ -56,7 +56,7 @@ @ApiModelProperty(value = "商品香型id") private Long flavorTypeId; @ApiModelProperty(value = "商品价格") @ApiModelProperty(value = "普通用户价格") private BigDecimal price; @ApiModelProperty(value = "普通会员价格") ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/MgtAuctionBidRecordController.java
@@ -1,7 +1,22 @@ package com.ruoyi.auction.controller.management; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.auction.controller.management.vo.MgtAuctionSalesroomBidRecordVO; import com.ruoyi.auction.controller.management.vo.MgtAuctionSalesroomVO; import com.ruoyi.auction.domain.AuctionBidRecord; import com.ruoyi.auction.service.IAuctionBidRecordService; import com.ruoyi.auction.service.IAuctionSalesroomService; import com.ruoyi.common.core.enums.AuctionOrderTypeEnum; import com.ruoyi.common.core.utils.page.PageDTO; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; /** @@ -14,7 +29,35 @@ */ @RestController @RequestMapping("/mgt/auction-bid-record") @RequiredArgsConstructor public class MgtAuctionBidRecordController { private final IAuctionBidRecordService auctionBidRecordService; /** * 查询指定会场指定商品出价记录 */ @GetMapping("/getAuctionBidRecordList") @ApiOperation(value = "查询指定会场指定商品出价记录") @ApiImplicitParams({ @ApiImplicitParam(name = "auctionSalesroomId", value = "会场id", required = true), @ApiImplicitParam(name = "goodsSkuId", value = "商品id", required = true), @ApiImplicitParam(name = "pageCurr", value = "当前页", required = true), @ApiImplicitParam(name = "pageSize", value = "每页条数", required = true) }) public PageDTO<MgtAuctionSalesroomBidRecordVO> getAuctionBidRecordList(@RequestParam(value = "auctionSalesroomId") Long auctionSalesroomId, @RequestParam(value = "goodsSkuId") Long goodsSkuId, @RequestParam(value = "pageCurr",defaultValue = "1") Integer pageCurr, @RequestParam(value = "pageSize",defaultValue = "10") Integer pageSize) { Page<AuctionBidRecord> page = auctionBidRecordService.page(Page.of(pageCurr, pageSize), new LambdaQueryWrapper<AuctionBidRecord>() .eq(AuctionBidRecord::getAuctionSalesroomId, auctionSalesroomId) .eq(AuctionBidRecord::getTargetId, goodsSkuId) .eq(AuctionBidRecord::getAuctionType, AuctionOrderTypeEnum.AUCTION_ITEMS) .orderByDesc(AuctionBidRecord::getCreateTime) ); return PageDTO.of(page, MgtAuctionSalesroomBidRecordVO.class); } } ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/MgtAuctionSalesroomController.java
@@ -158,20 +158,15 @@ */ @ApiOperation("导出列表") @PostMapping("/export") @ApiImplicitParam(name = "ids", value = "查询条件", required = true) public void export(@RequestBody String query, HttpServletResponse response) { // 验证输入是否为空或格式不正确 if (StringUtils.isEmpty(query)) { throw new ServiceException("查询条件不能为空"); public void export(@RequestBody MgtAuctionSalesroomQuery query, HttpServletResponse response) { PageDTO<MgtAuctionSalesroomVO> page = auctionSalesroomService.getAuctionSalesroomPage(query); if (page.isEmpty()){ return; } JSONObject jsonObject = JSONObject.parseObject(query); List<String> ids = jsonObject.getList("ids", String.class); List<MgtAuctionSalesroomVO> list = page.getList(); List<Long> ids = list.stream().map(MgtAuctionSalesroomVO::getId).collect(Collectors.toList()); // 验证ids是否为空 if (CollectionUtils.isEmpty(ids)) { throw new ServiceException("ids不能为空"); } List<AuctionBidRecord> auctionBidRecordList = auctionBidRecordMapper.selectList( new LambdaQueryWrapper<AuctionBidRecord>() @@ -192,7 +187,7 @@ .map(AuctionBidRecord::getAuctionSalesroomId) .collect(Collectors.toSet()); // 查询拍卖销售室商品信息 // 查询拍卖场商品信息 List<AuctionSalesroomGoods> salesroomGoodss = auctionSalesroomGoodsService.list( new LambdaQueryWrapper<AuctionSalesroomGoods>() .in(AuctionSalesroomGoods::getAuctionSalesroomId, auctionSalesroomIds) ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/dto/MgtAuctionSalesroomQuery.java
@@ -7,6 +7,8 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.time.LocalDateTime; import java.util.List; import lombok.Data; import lombok.EqualsAndHashCode; @@ -38,4 +40,8 @@ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime endTime; @ApiModelProperty(value = "拍卖场Id") private List<Long> ids; } ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/management/vo/MgtAuctionSalesroomBidRecordVO.java
New file @@ -0,0 +1,29 @@ package com.ruoyi.auction.controller.management.vo; import com.alibaba.excel.annotation.ExcelProperty; import com.ruoyi.common.core.enums.BidStatusEnum; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; import java.time.LocalDateTime; @Data @ApiModel("拍卖商品出记录") public class MgtAuctionSalesroomBidRecordVO { @ExcelProperty(value = "商品名称") private String goodsSkuName; @ApiModelProperty(value = "会员名称") private String memberName; @ApiModelProperty(value = "联系电话") private String phone; @ApiModelProperty(value = "最终出价时间") private LocalDateTime lastBidTime; @ApiModelProperty(value = "出价次数") private Integer bidCount; @ApiModelProperty(value = "最终出价金额") private BigDecimal lastBidAmount; @ApiModelProperty(value = "中标状态:0-未中标 1-已中标") private BidStatusEnum status; } ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/mapper/AuctionBidRecordMapper.java
@@ -13,4 +13,5 @@ */ public interface AuctionBidRecordMapper extends BaseMapper<AuctionBidRecord> { } ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java
@@ -911,6 +911,7 @@ AuctionSalesroom::getEndTime, AuctionSalesroom::getType, AuctionSalesroom::getAuthentication, AuctionSalesroom::getStatus, AuctionSalesroom::getQrCode) .in(StringUtils.isNotNull(query.getIds()), AuctionSalesroom::getId,query.getIds()) .like(StringUtils.isNotEmpty(query.getSalesroomName()), AuctionSalesroom::getSalesroomName, query.getSalesroomName()) .eq(StringUtils.isNotNull(query.getAuthentication()), ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CustomConfigController.java
@@ -10,10 +10,8 @@ import com.ruoyi.system.domain.vo.CustomConfigVO; import com.ruoyi.system.domain.vo.WishSettingVO; import com.ruoyi.system.service.ICustomConfigService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.*; import javax.annotation.Resource; import javax.validation.Valid; import org.springframework.validation.annotation.Validated; @@ -179,4 +177,17 @@ iCustomConfigService.saveWishDescription(vo); return R.ok(); } /** * 保存保证金退还设置 */ @ApiOperation(value = "保存保证金退还设置") @PostMapping("/save-refund-of-deposit") @ApiImplicitParams({ @ApiImplicitParam(name = "refundOfDeposit", value = "保证金退还文案", required = true)}) public R<?> saveRefundOfDeposit( @RequestParam(value = "refundOfDeposit") String refundOfDeposit) { iCustomConfigService.saveRefundOfDeposit(refundOfDeposit); return R.ok(); } } ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ICustomConfigService.java
@@ -95,4 +95,6 @@ */ void saveWishDescription(WishSettingVO vo); void saveRefundOfDeposit(String refundOfDeposit); } ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CustomConfigServiceImpl.java
@@ -334,4 +334,21 @@ saveOrUpdateBatch( Lists.newArrayList(wishDescription, wishShareTitle, wishShareImgUrl)); } /** * 保存保证金退还 */ @Transactional public void saveRefundOfDeposit(String refundOfDeposit) { CustomConfig wishDescription = getCustomConfigByKey( ConfigEnum.WISH_DESCRIPTION.getKey()).orElseGet(() -> { CustomConfig customConfig = new CustomConfig(); customConfig.setConfigKey(ConfigEnum.REFUND_OF_DEPOSIT.getKey()); customConfig.setConfigName(ConfigEnum.REFUND_OF_DEPOSIT.getKeyName()); customConfig.setConfigType(ConfigEnum.REFUND_OF_DEPOSIT.getKeyType()); return customConfig; }); wishDescription.setConfigValue(refundOfDeposit); saveOrUpdate(wishDescription); } }