Commit a9b906a9 authored by shiyu's avatar shiyu

查询可寄售的商品列表

parent 7439ada6
......@@ -32,6 +32,13 @@ public interface ItemDao {
List<Item> findListByPage(CoinRequestDto coinRequestDto);
/**
* 寄售页面查询列表
* @param coinRequestDto
* @return
*/
List<Item> findListByPageForSale(CoinRequestDto coinRequestDto);
/**
* 查价功能的商品查询
* @param coinRequestDto
......
......@@ -122,5 +122,11 @@ public class CoinRequestDto extends BaseRequestDto implements Entity {
* 上传商品的用户id
*/
private Long userId;
/**
* 是否寄售中
*/
private Boolean isOnSale;
}
......@@ -72,6 +72,7 @@ public class ItemDaoImpl implements ItemDao {
ItemExample example = new ItemExample();
ItemExample.Criteria criteria = example.createCriteria();
JdbcHelper.ifPresent(coinRequestDto.getIds(), criteria::andIdIn);
criteria.andIsDeletedEqualTo(false);
int viewPermission = 0;
if (Objects.nonNull(coinRequestDto.getViewPermission())) {
......@@ -100,6 +101,17 @@ public class ItemDaoImpl implements ItemDao {
return itemMapper.selectByExampleWithBLOBs(example);
}
@Override
public List<Item> findListByPageForSale(CoinRequestDto coinRequestDto) {
ItemExample example = new ItemExample();
ItemExample.Criteria criteria = example.createCriteria();
JdbcHelper.ifPresent(coinRequestDto.getUserId(), criteria::andUserIdEqualTo);
JdbcHelper.ifPresent(coinRequestDto.getIsOnSale(), criteria::andIsOnSaleEqualTo);
criteria.andIsDeletedEqualTo(false);
example.setOrderByClause("update_time desc");
PageHelper.startPage(coinRequestDto.getPage(), coinRequestDto.getLimit());
return itemMapper.selectByExampleWithBLOBs(example);
}
@Override
public List<Item> findListByPageForQueryPrice(CoinRequestDto coinRequestDto) {
......
......@@ -54,4 +54,6 @@ public class ItemRequestDto implements Entity {
* 是否寄售中
*/
private Boolean isOnSale = false;
}
......@@ -5,6 +5,7 @@ import com.github.pagehelper.PageInfo;
import com.qiniu.storage.model.FileInfo;
import com.wwdz.ch.core.consts.*;
import com.wwdz.ch.core.storage.QiniuStorage;
import com.wwdz.ch.core.type.PageSearchResult;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.core.util.CacheUtil;
import com.wwdz.ch.core.util.MediaUtil;
......@@ -478,6 +479,48 @@ public class ItemServiceImpl implements ItemService {
}
}
@Override
public Result findForSale(ItemRequestDto dto) {
try {
CoinRequestDto coinRequestDto = new CoinRequestDto();
coinRequestDto.setUserId(dto.getUserId());
coinRequestDto.setIsOnSale(false);
coinRequestDto.setPage(dto.getPage());
coinRequestDto.setLimit(dto.getSize());
List<Item> itemList = itemDao.findListByPageForSale(coinRequestDto);
PageInfo<Item> pageInfo = new PageInfo<>(itemList);
List<AgentTranceResponseVo> resultList = new ArrayList<>();
for (Item item : itemList) {
ItemResponseVo itemResponseVo = new ItemResponseVo();
itemResponseVo.setId(item.getId());
itemResponseVo.setItemId(item.getId());
// 查询商品被收藏的次数
long collectCount = favoritesItemsRelationDao.countByItemId(item.getId());
itemResponseVo.setCollectCount(StringUtil.formatCount(collectCount));
itemResponseVo.setHomePageImage(MediaUtil.getHomePageImage(item.getImages(), item.getVideos()));
itemResponseVo.setName(item.getName());
itemResponseVo.setPrice(getPrice(item.getPrice()));
itemResponseVo.setIsCollected(favoritesItemsRelationDao.isCollected(dto.getUserId(), item.getId(), null) ? 1 : 0);
itemResponseVo.setDetail(item.getDetail());
itemResponseVo.setSourceType(item.getSourceType());
itemResponseVo.setViewPermission(0);
// 设置藏品发布用户的昵称和头像
itemCommonService.getNicknameAvatar(item.getId(), itemResponseVo);
AgentTranceResponseVo agentTranceResponseVo = new AgentTranceResponseVo();
agentTranceResponseVo.setAgentTraceInfo_("");
agentTranceResponseVo.setViewType(1);
agentTranceResponseVo.setDetail(itemResponseVo);
resultList.add(agentTranceResponseVo);
}
PageSearchResult pageSearchResult = PageSearchResult.of(pageInfo, resultList);
return Result.success(pageSearchResult);
} catch (Exception e) {
logger.error("查询可寄售商品列表失败:{}", e);
}
return Result.failed();
}
@Override
public Result collectPage(ItemRequestDto dto, HttpServletRequest request) {
try {
......
......@@ -41,6 +41,9 @@ public interface ItemService {
*/
Result myPage(ItemRequestDto dto, HttpServletRequest request);
Result findForSale(ItemRequestDto dto);
/**
* 全部藏品
*
......
......@@ -87,6 +87,24 @@ public class WxItemController {
return itemService.myPage(dto, request);
}
@ApiOperation(value = "寄售页面查询我发布的商品列表")
@PostMapping("/findForSale")
public Result findForSale(@RequestBody ItemRequestDto dto) {
logger.info("【请求开始】寄售页面查询我发布的商品列表,请求参数:{}", JSON.toJSONString(dto));
if (Objects.isNull(dto.getUserId()) || dto.getUserId().equals(0L)) {
return Result.failed("用户id不能为空");
}
if (Objects.isNull(dto.getPage())) {
return Result.failed("当前页不能为空");
}
if (Objects.isNull(dto.getSize())) {
return Result.failed("页面大小不能为空");
}
return itemService.findForSale(dto);
}
@ApiOperation(value = "全部收藏")
@PostMapping("/collectPage")
public Result collectPage(@RequestBody ItemRequestDto dto, HttpServletRequest request) {
......
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