Commit fcaea8d8 authored by muhong's avatar muhong

修改 详情和我发布的

parent aa1cec65
......@@ -27,6 +27,7 @@ public class ItemResponseVo implements Entity {
private Boolean isDeleted;
private String itemAvatar;
private String itemNickname;
private Long itemUserId;
private String profile;
private Integer timeType;
private List<Map<String, Object>> imagesList;
......
......@@ -56,6 +56,7 @@ public class ItemCommonServiceImpl implements ItemCommonService {
user = userDao.queryById(itemsOfficialUsersRelation.getUserId());
}
}
vo.setItemUserId(Objects.nonNull(user) ? user.getId() : null);
vo.setItemNickname(Objects.nonNull(user) ? user.getNickname() : "");
vo.setItemAvatar(Objects.nonNull(user) ? user.getAvatar() : "");
vo.setProfile(Objects.nonNull(user) ? user.getProfile() : "");
......
......@@ -70,6 +70,8 @@ public class ItemServiceImpl implements ItemService {
@Autowired
private UserDao userDao;
@Autowired
private ItemsOfficialUsersRelationDao itemsOfficialUsersRelationDao;
@Autowired
private ItemEsDao itemEsDao;
@Autowired
......@@ -90,6 +92,8 @@ public class ItemServiceImpl implements ItemService {
@Autowired
private FollowFansRecordService followFansRecordService;
private static final List<Long> officialUserIds = new ArrayList<>(Arrays.asList(1L));
@Override
public Result nameList(ItemRequestDto dto) {
try {
......@@ -202,66 +206,115 @@ public class ItemServiceImpl implements ItemService {
result.setList(new ArrayList<>());
result.setHasNextPage(false);
// 查询用户和藏品关联表
List<UserItemsRelation> userItemsRelations = userItemsRelationDao.listByUserIds(dto.getUserId(), null);
if (CollectionUtils.isEmpty(userItemsRelations)) {
return Result.success(result);
}
List<Long> itemIds = userItemsRelations.stream()
.map(UserItemsRelation::getItemId).collect(Collectors.toList());
CoinRequestDto coinRequestDto = new CoinRequestDto();
coinRequestDto.setPage(dto.getPage());
coinRequestDto.setLimit(dto.getSize());
coinRequestDto.setIds(itemIds);
coinRequestDto.setIsGuest(!dto.getUserId().equals(userId));
coinRequestDto.setViewPermission(dto.getViewPermission());
// 分页查询
PageInfo<Item> pageInfo = itemDao.findPageNotDeleted(coinRequestDto);
if (CollectionUtils.isEmpty(pageInfo.getList())) {
return Result.success(result);
}
result.setTotal(pageInfo.getTotal());
result.setHasNextPage(pageInfo.isHasNextPage());
List<AgentTranceResponseVo> resultList = new ArrayList<>();
// 获取用户的昵称和头像
String nickname = "";
String avatar = "";
User user = userDao.queryById(dto.getId());
User user = userDao.queryById(dto.getUserId());
if (Objects.nonNull(user)) {
nickname = user.getNickname();
avatar = user.getAvatar();
}
for (Item item : pageInfo.getList()) {
ItemResponseVo vo = new ItemResponseVo();
// 设置基本信息
vo.setId(item.getId());
vo.setName(item.getName());
vo.setDetail(item.getDetail());
vo.setSourceType(item.getSourceType());
// 设置价格
vo.setPrice(getPrice(item.getPrice()));
// 设置图片或视频
vo.setHomePageImage(MediaUtil.getHomePageImage(item.getImages(), item.getVideos()));
// 设置是否收藏和是否是自己发布的
vo.setIsCollected(0);
vo.setIsMine(1);
vo.setIsCollected(favoritesItemsRelationDao.isCollected(dto.getUserId(), item.getId(), null) ? 1 : 0);
// 设置收藏数
long count = favoritesItemsRelationDao.countByItemId(item.getId());
vo.setCollectCount(StringUtil.formatCount(count));
// 设置用户头像和昵称
vo.setItemNickname(nickname);
vo.setItemAvatar(avatar);
vo.setViewPermission(item.getViewPermission());
AgentTranceResponseVo agentTranceResponseVo = new AgentTranceResponseVo();
agentTranceResponseVo.setAgentTraceInfo_("");
agentTranceResponseVo.setViewType(1);
agentTranceResponseVo.setDetail(vo);
resultList.add(agentTranceResponseVo);
if (!officialUserIds.contains(dto.getUserId())) {
// 查询用户和藏品关联表
List<UserItemsRelation> userItemsRelations = userItemsRelationDao.listByUserIds(dto.getUserId(), null);
if (CollectionUtils.isEmpty(userItemsRelations)) {
return Result.success(result);
}
List<Long> itemIds = userItemsRelations.stream()
.map(UserItemsRelation::getItemId).collect(Collectors.toList());
CoinRequestDto coinRequestDto = new CoinRequestDto();
coinRequestDto.setPage(dto.getPage());
coinRequestDto.setLimit(dto.getSize());
coinRequestDto.setIds(itemIds);
coinRequestDto.setIsGuest(!dto.getUserId().equals(userId));
coinRequestDto.setViewPermission(dto.getViewPermission());
// 分页查询
PageInfo<Item> pageInfo = itemDao.findPageNotDeleted(coinRequestDto);
if (CollectionUtils.isEmpty(pageInfo.getList())) {
return Result.success(result);
}
result.setTotal(pageInfo.getTotal());
result.setHasNextPage(pageInfo.isHasNextPage());
List<AgentTranceResponseVo> resultList = new ArrayList<>();
for (Item item : pageInfo.getList()) {
ItemResponseVo vo = new ItemResponseVo();
// 设置基本信息
vo.setId(item.getId());
vo.setName(item.getName());
vo.setDetail(item.getDetail());
vo.setSourceType(item.getSourceType());
// 设置价格
vo.setPrice(getPrice(item.getPrice()));
// 设置图片或视频
vo.setHomePageImage(MediaUtil.getHomePageImage(item.getImages(), item.getVideos()));
// 设置是否收藏和是否是自己发布的
vo.setIsCollected(0);
vo.setIsMine(1);
vo.setIsCollected(favoritesItemsRelationDao.isCollected(dto.getUserId(), item.getId(), null) ? 1 : 0);
// 设置收藏数
long count = favoritesItemsRelationDao.countByItemId(item.getId());
vo.setCollectCount(StringUtil.formatCount(count));
// 设置用户头像和昵称
vo.setItemNickname(nickname);
vo.setItemAvatar(avatar);
vo.setViewPermission(item.getViewPermission());
AgentTranceResponseVo agentTranceResponseVo = new AgentTranceResponseVo();
agentTranceResponseVo.setAgentTraceInfo_("");
agentTranceResponseVo.setViewType(1);
agentTranceResponseVo.setDetail(vo);
resultList.add(agentTranceResponseVo);
}
result.setList(resultList);
} else {
ItemsOfficialUsersRelation itemsOfficialUsersRelation = itemsOfficialUsersRelationDao.findItems(dto.getUserId());
if (Objects.nonNull(itemsOfficialUsersRelation)) {
EsSearchRequestDto esSearchRequestDto = new EsSearchRequestDto();
esSearchRequestDto.setIdStart(itemsOfficialUsersRelation.getBeginItemId());
esSearchRequestDto.setIdEnd(itemsOfficialUsersRelation.getEndItemId());
EsPageInfo esPageInfo = itemEsDao.findByRange(esSearchRequestDto);
if (Objects.isNull(esPageInfo) || CollectionUtils.isEmpty(esPageInfo.getDataList())) {
return Result.success(result);
}
result.setTotal(esPageInfo.getTotal());
result.setHasNextPage(true);
List<AgentTranceResponseVo> resultList = new ArrayList<>();
final String itemNickname = nickname;
final String itemAvatar = avatar;
esPageInfo.getDataList().forEach(s -> {
ItemResponseVo vo = new ItemResponseVo();
ItemOfEs es = (ItemOfEs) s;
// 设置基本信息
vo.setId(es.getId());
vo.setName(es.getName());
vo.setDetail(es.getDetail());
vo.setSourceType(es.getSourceType());
// 设置价格
vo.setPrice(getPrice(es.getPrice()));
// 设置图片或视频
vo.setHomePageImage(MediaUtil.getHomePageImage(es.getImages(), es.getVideos()));
// 设置是否收藏和是否是自己发布的
vo.setIsMine(1);
vo.setIsCollected(favoritesItemsRelationDao.isCollected(dto.getUserId(), es.getId(), null) ? 1 : 0);
// 设置收藏数
long count = favoritesItemsRelationDao.countByItemId(es.getId());
vo.setCollectCount(StringUtil.formatCount(count));
// 设置藏品发布用户的昵称和头像
vo.setItemNickname(itemNickname);
vo.setItemAvatar(itemAvatar);
vo.setViewPermission(es.getViewPermission());
AgentTranceResponseVo agentTranceResponseVo = new AgentTranceResponseVo();
agentTranceResponseVo.setAgentTraceInfo_("");
agentTranceResponseVo.setViewType(1);
agentTranceResponseVo.setDetail(vo);
resultList.add(agentTranceResponseVo);
});
result.setList(resultList);
}
}
result.setList(resultList);
logger.info("【请求结束】查询我发布的成功");
return Result.success(result);
} catch (Exception e) {
......
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