Commit 33a96c75 authored by shiyu's avatar shiyu

添加专场商品查询拍卖品列表

parent 44e01378
......@@ -72,6 +72,17 @@ public class SysSupplierItemController {
return sysSupplierItemService.findAuctionList(dto);
}
@ApiOperation(value = "添加专场商品查询拍卖品列表")
@PostMapping("/findSupplierItemForSpecialPerformance")
public Result findSupplierItemForSpecialPerformance(@RequestBody SupplierItemRequestDto dto) {
logger.info("添加专场商品查询拍卖品列表,请求参数:{}", JSON.toJSONString(dto));
if (dto.getSpecialPerformanceId() == null) {
return Result.failed(ResultCode.PARAM_ERROR);
}
return sysSupplierItemService.findSupplierItemForSpecialPerformance(dto);
}
@ApiOperation(value = "查询商品详情")
@PostMapping("/findDetail")
public Result findDetail(@RequestBody SupplierItemRequestDto dto) {
......
......@@ -84,6 +84,9 @@ public class SysSupplierItemServiceImpl implements SysSupplierItemService {
@Autowired
WxAppletApi wxAppletApi;
@Autowired
SpecialPerformanceConfigDao specialPerformanceConfigDao;
@Override
@Transactional
public Result create(SupplierItemRequestDto dto) {
......@@ -249,6 +252,60 @@ public class SysSupplierItemServiceImpl implements SysSupplierItemService {
return Result.failed();
}
@Override
public Result findSupplierItemForSpecialPerformance(SupplierItemRequestDto dto) {
try {
List<SupplierItemVo> supplierItemVos = new ArrayList<>();
//排除已经被添加到专场的商品
List<SpecialPerformanceConfig> specialPerformanceConfigList = specialPerformanceConfigDao.findAllItem(dto.getSpecialPerformanceId());
List<Long> filterItemIds = specialPerformanceConfigList.stream().map(SpecialPerformanceConfig::getItemId).collect(Collectors.toList());
AuctionConfigRequestDto auctionConfigRequestDto = new AuctionConfigRequestDto();
auctionConfigRequestDto.setPage(dto.getPage());
auctionConfigRequestDto.setLimit(dto.getLimit());
auctionConfigRequestDto.setState(AuctionEnum.StateEnum.WAIT_ON_SALE.getCode());
auctionConfigRequestDto.setFilterItemIds(filterItemIds);
List<AuctionConfig> auctionConfigList = auctionConfigDao.findList(auctionConfigRequestDto);
PageInfo pageInfo = new PageInfo(auctionConfigList);
List<Long> itemIds = auctionConfigList.stream().map(AuctionConfig::getItemId).collect(Collectors.toList());
if (!org.springframework.util.CollectionUtils.isEmpty(itemIds)) {
SupplierItemRequestDto supplierItemRequestDto = new SupplierItemRequestDto();
supplierItemRequestDto.setIds(itemIds);
List<SupplierItem> supplierItemList = supplierItemDao.findList(supplierItemRequestDto);
supplierItemList.forEach(supplierItem -> {
SupplierItemVo supplierItemVo = new SupplierItemVo();
EntityMapper.copyAttribute(supplierItem, supplierItemVo);
supplierItemVo.setSupplyPrice(PriceUtil.convertPriceFenToYuan(supplierItem.getSupplyPrice()));
supplierItemVo.setDistributionPrice(PriceUtil.convertPriceFenToYuan(supplierItem.getDistributionPrice()));
supplierItemVo.setHomePageImage(MediaUtil.getHomePageImage(supplierItem.getImages(), supplierItem.getVideos()));
supplierItemVo.setTypeName(DistributionEnum.DistributionTypeEnum.getNameByCode(supplierItem.getType()));
supplierItemVo.setCreatorName(supplierItem.getCreatorId() == CommConsts.SYSTEM_ACCOUNT.longValue()? "平台自营":cacheUtil.getAppletUserById(supplierItem.getCreatorId()).getNickname());
supplierItemVo.setStatusName(SupplierItemEnum.StatusEnum.getNameByCode(supplierItem.getStatus()));
if (supplierItem.getBuyLimitNum() == -1) {
supplierItemVo.setIsLimitBuy(false);
}
AuctionConfig auctionConfig = auctionConfigDao.findByItemId(supplierItem.getId());
if (auctionConfig != null) {
supplierItemVo.setStartPrice(PriceUtil.convertPriceFenToYuan(auctionConfig.getStartPrice()));
supplierItemVo.setAddExtent(PriceUtil.convertPriceFenToYuan(auctionConfig.getAddExtent()));
supplierItemVo.setAuctionState(auctionConfig.getState());
supplierItemVo.setAuctionStateName(AuctionEnum.StateEnum.getNameByCode(auctionConfig.getState()));
}
DistributionOrder distributionOrder = distributionOrderDao.findByItemId(supplierItem.getId());
if (distributionOrder != null) {
//中拍价
supplierItemVo.setSalePrice(PriceUtil.convertPriceFenToYuan(distributionOrder.getAmount()));
}
supplierItemVos.add(supplierItemVo);
});
}
return Result.success(PageSearchResult.of(pageInfo, supplierItemVos));
} catch (Exception e) {
logger.error("添加专场商品查询拍卖品列表失败 error : {}", e);
}
return Result.failed();
}
@Override
public Result findDetail(SupplierItemRequestDto dto) {
try {
......@@ -494,6 +551,7 @@ public class SysSupplierItemServiceImpl implements SysSupplierItemService {
return video;
}
/**
* 将BufferedImage转换为InputStream
*
......
......@@ -74,4 +74,12 @@ public interface SysSupplierItemService {
*/
Result collectorItemConvertToAuction(SupplierItemRequestDto dto);
/**
* 专场添加商品时用到的拍品列表
* @param dto
* @return
*/
Result findSupplierItemForSpecialPerformance(SupplierItemRequestDto dto);
}
......@@ -5,6 +5,7 @@ import com.xxdxxs.entity.Entity;
import lombok.Data;
import java.util.Date;
import java.util.List;
@Data
public class AuctionConfigRequestDto extends BaseRequestDto implements Entity {
......@@ -16,6 +17,8 @@ public class AuctionConfigRequestDto extends BaseRequestDto implements Entity {
*/
private Long itemId;
private List<Long> filterItemIds;
/**
* 商品所属人id
*/
......
......@@ -25,6 +25,11 @@ public class SupplierItemRequestDto extends BaseRequestDto implements Entity {
private List<Long> ids;
/**
* 要排除的商品id
*/
private List<Long> filterIds;
/**
* 用户id
*/
......@@ -193,5 +198,9 @@ public class SupplierItemRequestDto extends BaseRequestDto implements Entity {
private String auctionStateName;
/**
* 专场id
*/
private Integer specialPerformanceId;
}
......@@ -74,6 +74,7 @@ public class AuctionConfigDaoImpl implements AuctionConfigDao {
AuctionConfigExample.Criteria criteria = example.createCriteria();
JdbcHelper.ifPresent(dto.getCreatorId(), criteria::andCreatorIdEqualTo);
JdbcHelper.ifPresent(dto.getState(), criteria::andStateEqualTo);
JdbcHelper.ifPresent(dto.getFilterItemIds(), criteria::andItemIdNotIn);
example.setOrderByClause(" update_time desc");
PageHelper.startPage(dto.getPage(), dto.getLimit());
return auctionConfigMapper.selectByExample(example);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment