Commit bec1305d authored by gaia's avatar gaia

Merge remote-tracking branch 'origin/quanku_0930' into release_pre_20230927101218

parents 42b911e9 6c753f93
......@@ -39,6 +39,9 @@ public class AdminAuthController {
@Autowired
private AdminAuthService adminAuthService;
@Autowired
CaptchaCodeManager captchaCodeManager;
/*
* { username : value, password : value }
*/
......@@ -56,7 +59,7 @@ public class AdminAuthController {
}
//验证码校验
String cachedCaptcha = CaptchaCodeManager.getCachedCaptcha(uuid);
String cachedCaptcha = captchaCodeManager.getCachedCaptcha(uuid);
if (cachedCaptcha == null) {
logger.error("系统管理->用户登录 错误:{},", AdminResponseCode.AUTH_CAPTCHA_EXPIRED.desc());
return AdminResponseUtil.fail(AdminResponseCode.AUTH_CAPTCHA_EXPIRED);
......
......@@ -118,6 +118,11 @@ public class CoinVo implements Entity {
*/
private String weight;
/**
* 原始的资源url
*/
private String originalSourceUrl;
/**
* 对应的分类
*
......
......@@ -39,6 +39,9 @@ public class AdminAuthServiceImpl implements AdminAuthService {
@Autowired
private ApplicationContext context;
@Autowired
CaptchaCodeManager captchaCodeManager;
@Override
public Object info() {
......@@ -72,7 +75,8 @@ public class AdminAuthServiceImpl implements AdminAuthService {
String verifyCode = VerifyCodeUtils.generateVerifyCode(4);
// 唯一标识
String uuid = UUID.randomUUID().toString(true);
boolean successful = CaptchaCodeManager.addToCache(uuid, verifyCode,10);//存储内存
//存入redis
boolean successful = captchaCodeManager.addToCache(uuid, verifyCode);
if (!successful) {
logger.error("请求验证码出错:{}", AdminResponseCode.AUTH_CAPTCHA_FREQUENCY.desc());
return AdminResponseUtil.fail(AdminResponseCode.AUTH_CAPTCHA_FREQUENCY);
......
package com.wwdz.ch.core.captcha;
import com.wwdz.ch.core.util.RedisUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.time.LocalDateTime;
import java.util.*;
......@@ -10,12 +13,17 @@ import java.util.Map.Entry;
/**
* 缓存系统中的验证码
*/
@Component
public class CaptchaCodeManager {
private static final Logger logger = LoggerFactory.getLogger(CaptchaCodeManager.class);
private static final Integer DEFAULT_EXPIRE_MINUTES = 3;//验证码默认存储的有效期,单位:分钟
private static Map<String, CaptchaItem> captchaCodeCache = new HashMap<>();
@Autowired
RedisUtils redisUtils;
/**
* 添加到缓存
*
......@@ -24,30 +32,8 @@ public class CaptchaCodeManager {
* @param code
* 验证码
*/
public static boolean addToCache(String flagUid, String code,Integer expireTime) {
cleanExpireCacheData();//清理过期内存数据
// 已经发过验证码且验证码还未过期
if (captchaCodeCache.get(flagUid) != null) {
if (captchaCodeCache.get(flagUid).getExpireTime().isAfter(LocalDateTime.now())) {
return false;
} else {
// 存在但是已过期,删掉
captchaCodeCache.remove(flagUid);
}
}
CaptchaItem captchaItem = new CaptchaItem();
captchaItem.setFlagUid(flagUid);
captchaItem.setCode(code);
// 有效期为expireTime分钟
if (expireTime == null) {
expireTime = DEFAULT_EXPIRE_MINUTES;
}
captchaItem.setExpireTime(LocalDateTime.now().plusMinutes(expireTime));
captchaCodeCache.put(flagUid, captchaItem);
public boolean addToCache(String flagUid, String code) {
redisUtils.set(flagUid, code, 3 * 60);
return true;
}
......@@ -59,24 +45,18 @@ public class CaptchaCodeManager {
* 关联的标志码
* @return 验证码
*/
public static String getCachedCaptcha(String flagUid) {
public String getCachedCaptcha(String flagUid) {
// 没有标志码记录
if (captchaCodeCache.get(flagUid) == null)
return null;
// 记录但是已经过期
if (captchaCodeCache.get(flagUid).getExpireTime().isBefore(LocalDateTime.now())) {
if (!redisUtils.hasKey(flagUid)) {
return null;
}
cleanExpireCacheData();//清理过期内存数据
return captchaCodeCache.get(flagUid).getCode();
return redisUtils.get(flagUid).toString();
}
/**
* 清理过期验证码
*/
private static void cleanExpireCacheData() {
private void cleanExpireCacheData() {
Iterator<Entry<String, CaptchaItem>> iterator = captchaCodeCache.entrySet().iterator(); //map.entrySet()得到的是set集合,可以使用迭代器遍历
List<String> keys = new ArrayList<String>();
while(iterator.hasNext()){
......@@ -93,7 +73,7 @@ public class CaptchaCodeManager {
}
}
public static void removeCacheData(String flagUid) {
public void removeCacheData(String flagUid) {
captchaCodeCache.remove(flagUid);
}
......
......@@ -38,6 +38,7 @@ public class ItemDaoImpl implements ItemDao {
}
criteria.andIsDeletedEqualTo(false);
criteria.andStateEqualTo(0);
criteria.andKindEqualTo(1);
criteria.andSourceIn(CHINESE_SOURCE_LIST);
return itemMapper.selectOneByExampleWithBLOBs(example);
}
......
package com.wwdz.ch.wx.impl;
import com.github.pagehelper.PageInfo;
import com.wwdz.ch.core.consts.ResultCode;
import com.wwdz.ch.core.consts.ViewPermissionEnum;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.core.util.MediaUtil;
......@@ -180,7 +181,7 @@ public class FavoritesServiceImpl implements FavoritesService {
try {
Favorites favorites = favoritesDao.info(dto.getId());
if (Objects.isNull(favorites)) {
return Result.failed("数据异常,记录不存在");
return Result.failed(ResultCode.INVALID_DATA.getCode(), "该收藏册已经被删除");
}
FavoritesResponseVo vo = new FavoritesResponseVo();
vo.setId(favorites.getId());
......@@ -234,56 +235,49 @@ public class FavoritesServiceImpl implements FavoritesService {
// 获取仅自己可见的藏品列表
Long userId = userTokenManager.getUserId(request.getHeader("Authorization"));
// 是否客态
boolean isGuest = !dto.getUserId().equals(userId);
List<Long> onlyOneselfItemIds = itemCommonService.getOnlyOneselfItemIds(request.getHeader("Authorization"));
// 分页查询
PageInfo<FavoritesItemsRelation> relationPage = favoritesItemsRelationDao.pageByFavoritesId(dto.getId(), onlyOneselfItemIds, dto.getPage(), dto.getSize());
page.setHasNextPage(relationPage.isHasNextPage());
if (relationPage.getList().isEmpty()) {
return Result.success(page);
}
List<AgentTranceResponseVo> list = new ArrayList<>();
for (FavoritesItemsRelation relation : relationPage.getList()) {
AgentTranceResponseVo agentTranceResponseVo = new AgentTranceResponseVo();
agentTranceResponseVo.setAgentTraceInfo_("");
agentTranceResponseVo.setViewType(2);
ItemResponseVo vo = new ItemResponseVo();
Item item = itemDao.findDetails(relation.getItemId());
// 设置基本信息
vo.setId(relation.getItemId());
vo.setName(item.getName());
vo.setImages(item.getImages());
vo.setDetail(item.getDetail());
vo.setFavoritesId(dto.getId());
vo.setIsDeleted(item.getIsDeleted());
// 设置价格
vo.setPrice(getPrice(item.getPrice()));
// 设置是否收藏或是否是自己发布的
vo.setIsCollected(favoritesItemsRelationDao.isCollected(userId, relation.getItemId(), null) ? 1 : 0);
vo.setIsMine(0);
if (Objects.nonNull(dto.getUserId()) && dto.getUserId() != 0L) {
if (!isGuest) {
vo.setIsMine(userItemsRelationDao.isExisted(dto.getUserId(), item.getId()) ? 1 : 0);
}
if (CollectionUtils.isNotEmpty(relationPage.getList())) {
List<AgentTranceResponseVo> list = new ArrayList<>();
for (FavoritesItemsRelation relation : relationPage.getList()) {
AgentTranceResponseVo agentTranceResponseVo = new AgentTranceResponseVo();
agentTranceResponseVo.setAgentTraceInfo_("");
agentTranceResponseVo.setViewType(2);
ItemResponseVo itemResponseVo = new ItemResponseVo();
Item item = itemDao.findDetails(relation.getItemId());
// 设置基本信息
itemResponseVo.setId(relation.getItemId());
itemResponseVo.setName(item.getName());
itemResponseVo.setImages(item.getImages());
itemResponseVo.setDetail(item.getDetail());
itemResponseVo.setFavoritesId(dto.getId());
itemResponseVo.setIsDeleted(item.getIsDeleted());
itemResponseVo.setViewPermission(item.getViewPermission());
// 设置价格
itemResponseVo.setPrice(getPrice(item.getPrice()));
// 设置是否收藏或是否是自己发布的
itemResponseVo.setIsCollected(favoritesItemsRelationDao.isCollected(userId, relation.getItemId(), null) ? 1 : 0);
itemResponseVo.setIsMine(userItemsRelationDao.isExisted(userId, item.getId()) ? 1 : 0);
// 设置收藏数
long count = favoritesItemsRelationDao.countByItemId(item.getId());
itemResponseVo.setCollectCount(StringUtil.formatCount(count));
// 设置藏品发布用户的昵称和头像
itemCommonService.getNicknameAvatar(item.getId(), itemResponseVo);
// 设置浏览量
itemResponseVo.setViewsNumber(item.getViewPermission().equals(ViewPermissionEnum.ALL.getCode()) ?
StringUtil.formatCount(footPrintDao.countByItemIds(itemResponseVo.getItemUserId(), item.getId(), null)) : "0");
// 设置图片或视频
itemResponseVo.setHomePageImage(MediaUtil.getHomePageImage(item.getImages(), item.getVideos()));
agentTranceResponseVo.setDetail(itemResponseVo);
list.add(agentTranceResponseVo);
}
// 设置收藏数
long count = favoritesItemsRelationDao.countByItemId(item.getId());
vo.setCollectCount(StringUtil.formatCount(count));
// 设置藏品发布用户的昵称和头像
itemCommonService.getNicknameAvatar(item.getId(), vo);
vo.setViewPermission(item.getViewPermission());
// 设置浏览量
vo.setViewsNumber(item.getViewPermission().equals(ViewPermissionEnum.ALL.getCode()) ? StringUtil.formatCount(footPrintDao.countByItemIds(vo.getItemUserId(), item.getId(), null)) : "0");
// 设置图片或视频
vo.setHomePageImage(MediaUtil.getHomePageImage(item.getImages(), item.getVideos()));
agentTranceResponseVo.setDetail(vo);
list.add(agentTranceResponseVo);
page.setTotal(favoritesItemsRelationDao.countByFavoritesId(dto.getId()));
page.setList(list);
}
page.setTotal(favoritesItemsRelationDao.countByFavoritesId(dto.getId()));
page.setList(list);
logger.info("【请求结束】查看收藏册的藏品列表成功");
return Result.success(page);
} catch (Exception e) {
......
......@@ -158,35 +158,35 @@ public class ItemServiceImpl implements ItemService {
List<AgentTranceResponseVo> resultList = new ArrayList<>();
esPageInfo.getDataList().forEach(s -> {
ItemResponseVo vo = new ItemResponseVo();
ItemResponseVo itemResponseVo = new ItemResponseVo();
ItemOfEs es = (ItemOfEs) s;
// 设置基本信息
vo.setId(es.getId());
vo.setName(es.getName());
vo.setDetail(es.getDetail());
vo.setSourceType(es.getSourceType());
itemResponseVo.setId(es.getId());
itemResponseVo.setName(es.getName());
itemResponseVo.setDetail(es.getDetail());
itemResponseVo.setSourceType(es.getSourceType());
itemResponseVo.setViewPermission(0);
// 设置价格
vo.setPrice(getPrice(es.getPrice()));
itemResponseVo.setPrice(getPrice(es.getPrice()));
// 设置图片或视频
vo.setHomePageImage(MediaUtil.getHomePageImage(es.getImages(), es.getVideos()));
itemResponseVo.setHomePageImage(MediaUtil.getHomePageImage(es.getImages(), es.getVideos()));
// 设置是否收藏和是否是自己发布的
vo.setIsCollected(0);
vo.setIsMine(0);
itemResponseVo.setIsCollected(0);
itemResponseVo.setIsMine(0);
if (Objects.nonNull(dto.getUserId()) && !dto.getUserId().equals(0L)) {
vo.setIsCollected(favoritesItemsRelationDao.isCollected(dto.getUserId(), es.getId(), null) ? 1 : 0);
vo.setIsMine(userItemsRelationDao.isExisted(dto.getUserId(), es.getId()) ? 1 : 0);
itemResponseVo.setIsCollected(favoritesItemsRelationDao.isCollected(dto.getUserId(), es.getId(), null) ? 1 : 0);
itemResponseVo.setIsMine(userItemsRelationDao.isExisted(dto.getUserId(), es.getId()) ? 1 : 0);
}
// 设置收藏数
long count = favoritesItemsRelationDao.countByItemId(es.getId());
vo.setCollectCount(StringUtil.formatCount(count));
itemResponseVo.setCollectCount(StringUtil.formatCount(count));
// 设置藏品发布用户的昵称和头像
itemCommonService.getNicknameAvatar(es.getId(), vo);
vo.setViewPermission(0);
itemCommonService.getNicknameAvatar(es.getId(), itemResponseVo);
AgentTranceResponseVo agentTranceResponseVo = new AgentTranceResponseVo();
agentTranceResponseVo.setAgentTraceInfo_("");
agentTranceResponseVo.setViewType(1);
agentTranceResponseVo.setDetail(vo);
agentTranceResponseVo.setDetail(itemResponseVo);
resultList.add(agentTranceResponseVo);
});
result.setList(resultList);
......@@ -201,8 +201,6 @@ public class ItemServiceImpl implements ItemService {
@Override
public Result myPage(ItemRequestDto dto, HttpServletRequest request) {
try {
Long userId = userTokenManager.getUserId(request.getHeader("Authorization"));
PageInfo<AgentTranceResponseVo> result = new PageInfo<>();
result.setPageNum(dto.getPage());
result.setPageSize(dto.getSize());
......@@ -219,6 +217,7 @@ public class ItemServiceImpl implements ItemService {
avatar = user.getAvatar();
}
// 是否客态
Long userId = userTokenManager.getUserId(request.getHeader("Authorization"));
boolean isGuest = !dto.getUserId().equals(userId);
// 获取官方用户id
List<ItemsOfficialUsersRelation> itemsOfficialUsersRelations = itemsOfficialUsersRelationDao.list();
......@@ -244,45 +243,44 @@ public class ItemServiceImpl implements ItemService {
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());
if (CollectionUtils.isNotEmpty(pageInfo.getList())) {
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(isGuest ? 0 : 1);
vo.setIsCollected(favoritesItemsRelationDao.isCollected(userId, 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());
// 设置浏览量
vo.setViewsNumber(item.getViewPermission().equals(ViewPermissionEnum.ALL.getCode()) ? StringUtil.formatCount(footPrintDao.countByItemIds(dto.getUserId(), item.getId(), null)) : "0");
List<AgentTranceResponseVo> resultList = new ArrayList<>();
for (Item item : pageInfo.getList()) {
ItemResponseVo itemResponseVo = new ItemResponseVo();
// 设置基本信息
itemResponseVo.setId(item.getId());
itemResponseVo.setName(item.getName());
itemResponseVo.setDetail(item.getDetail());
itemResponseVo.setSourceType(item.getSourceType());
itemResponseVo.setViewPermission(item.getViewPermission());
// 设置价格
itemResponseVo.setPrice(getPrice(item.getPrice()));
// 设置图片或视频
itemResponseVo.setHomePageImage(MediaUtil.getHomePageImage(item.getImages(), item.getVideos()));
// 设置是否收藏和是否是自己发布的
itemResponseVo.setIsCollected(favoritesItemsRelationDao.isCollected(userId, item.getId(), null) ? 1 : 0);
itemResponseVo.setIsMine(isGuest ? 0 : 1);
// 设置收藏数
long count = favoritesItemsRelationDao.countByItemId(item.getId());
itemResponseVo.setCollectCount(StringUtil.formatCount(count));
// 设置用户头像和昵称
itemResponseVo.setItemNickname(nickname);
itemResponseVo.setItemAvatar(avatar);
// 设置浏览量
itemResponseVo.setViewsNumber(item.getViewPermission().equals(ViewPermissionEnum.ALL.getCode()) ?
StringUtil.formatCount(footPrintDao.countByItemIds(dto.getUserId(), item.getId(), null)) : "0");
AgentTranceResponseVo agentTranceResponseVo = new AgentTranceResponseVo();
agentTranceResponseVo.setAgentTraceInfo_("");
agentTranceResponseVo.setViewType(1);
agentTranceResponseVo.setDetail(vo);
resultList.add(agentTranceResponseVo);
AgentTranceResponseVo agentTranceResponseVo = new AgentTranceResponseVo();
agentTranceResponseVo.setAgentTraceInfo_("");
agentTranceResponseVo.setViewType(1);
agentTranceResponseVo.setDetail(itemResponseVo);
resultList.add(agentTranceResponseVo);
}
result.setList(resultList);
}
result.setList(resultList);
} else {
ItemsOfficialUsersRelation itemsOfficialUsersRelation = itemsOfficialUsersRelationDao.findItems(dto.getUserId());
if (Objects.nonNull(itemsOfficialUsersRelation)) {
......@@ -300,34 +298,34 @@ public class ItemServiceImpl implements ItemService {
final String itemNickname = nickname;
final String itemAvatar = avatar;
esPageInfo.getDataList().forEach(s -> {
ItemResponseVo vo = new ItemResponseVo();
ItemResponseVo itemResponseVo = new ItemResponseVo();
ItemOfEs es = (ItemOfEs) s;
// 设置基本信息
vo.setId(es.getId());
vo.setName(es.getName());
vo.setDetail(es.getDetail());
vo.setSourceType(es.getSourceType());
itemResponseVo.setId(es.getId());
itemResponseVo.setName(es.getName());
itemResponseVo.setDetail(es.getDetail());
itemResponseVo.setSourceType(es.getSourceType());
itemResponseVo.setViewPermission(0);
// 设置价格
vo.setPrice(getPrice(es.getPrice()));
itemResponseVo.setPrice(getPrice(es.getPrice()));
// 设置图片或视频
vo.setHomePageImage(MediaUtil.getHomePageImage(es.getImages(), es.getVideos()));
itemResponseVo.setHomePageImage(MediaUtil.getHomePageImage(es.getImages(), es.getVideos()));
// 设置是否收藏和是否是自己发布的
vo.setIsMine(isGuest ? 0 : 1);
vo.setIsCollected(favoritesItemsRelationDao.isCollected(userId, es.getId(), null) ? 1 : 0);
itemResponseVo.setIsCollected(favoritesItemsRelationDao.isCollected(userId, es.getId(), null) ? 1 : 0);
itemResponseVo.setIsMine(isGuest ? 0 : 1);
// 设置收藏数
long count = favoritesItemsRelationDao.countByItemId(es.getId());
vo.setCollectCount(StringUtil.formatCount(count));
itemResponseVo.setCollectCount(StringUtil.formatCount(count));
// 设置藏品发布用户的昵称和头像
vo.setItemNickname(itemNickname);
vo.setItemAvatar(itemAvatar);
vo.setViewPermission(0);
itemResponseVo.setItemNickname(itemNickname);
itemResponseVo.setItemAvatar(itemAvatar);
// 设置浏览量
vo.setViewsNumber(StringUtil.formatCount(footPrintDao.countByItemIds(dto.getUserId(), es.getId(), null)));
itemResponseVo.setViewsNumber(StringUtil.formatCount(footPrintDao.countByItemIds(dto.getUserId(), es.getId(), null)));
AgentTranceResponseVo agentTranceResponseVo = new AgentTranceResponseVo();
agentTranceResponseVo.setAgentTraceInfo_("");
agentTranceResponseVo.setViewType(1);
agentTranceResponseVo.setDetail(vo);
agentTranceResponseVo.setDetail(itemResponseVo);
resultList.add(agentTranceResponseVo);
});
result.setList(resultList);
......@@ -351,64 +349,63 @@ public class ItemServiceImpl implements ItemService {
result.setList(new ArrayList<>());
result.setHasNextPage(false);
// 获取仅自己可见的藏品列表
Long userId = userTokenManager.getUserId(request.getHeader("Authorization"));
// 是否客态
Long userId = userTokenManager.getUserId(request.getHeader("Authorization"));
boolean isGuest = !dto.getUserId().equals(userId);
// 获取仅自己可见的藏品列表
List<Long> onlyOneselfItemIds = itemCommonService.getOnlyOneselfItemIds(request.getHeader("Authorization"));
List<Long> onlyOneselfItemIds = itemCommonService.getOnlyOneselfItemIdsByUserId(userId);
// 分页查询
PageInfo<FavoritesItemsRelation> pageInfo = favoritesItemsRelationDao.pageByUserId(dto.getUserId(), onlyOneselfItemIds, dto.getType(), dto.getPage(), dto.getSize());
if (CollectionUtils.isEmpty(pageInfo.getList())) {
return Result.success(result);
}
result.setTotal(pageInfo.getTotal());
result.setHasNextPage(pageInfo.isHasNextPage());
// 获取查询结果对应的藏品列表
List<Long> itemIds = pageInfo.getList().stream()
.map(FavoritesItemsRelation::getItemId).collect(Collectors.toList());
CoinRequestDto coinRequestDto = new CoinRequestDto();
coinRequestDto.setIds(itemIds);
List<Item> itemList = itemDao.findList(coinRequestDto);
Map<Long, Item> itemMap = itemList.stream()
.collect(Collectors.toMap(Item::getId, s -> s, (k1, k2) -> k2));
// 包装结果
List<AgentTranceResponseVo> resultList = new ArrayList<>();
for (FavoritesItemsRelation favoritesItemsRelation : pageInfo.getList()) {
ItemResponseVo itemResponseVo = new ItemResponseVo();
Item item = itemMap.get(favoritesItemsRelation.getItemId());
// 设置基本信息
itemResponseVo.setId(item.getId());
itemResponseVo.setName(item.getName());
itemResponseVo.setImages(item.getImages());
itemResponseVo.setDetail(item.getDetail());
itemResponseVo.setIsDeleted(item.getIsDeleted());
// 设置价格
itemResponseVo.setPrice(getPrice(item.getPrice()));
// 设置是否收藏或是否是自己发布的
itemResponseVo.setIsCollected(0);
itemResponseVo.setIsMine(0);
if (!isGuest) {
itemResponseVo.setIsMine(userItemsRelationDao.isExisted(dto.getUserId(), item.getId()) ? 1 : 0);
}
itemResponseVo.setIsCollected(favoritesItemsRelationDao.isCollected(userId, item.getId(), null) ? 1 : 0);
// 设置收藏数
long count = favoritesItemsRelationDao.countByItemId(item.getId());
itemResponseVo.setCollectCount(StringUtil.formatCount(count));
// 设置图片或视频
itemResponseVo.setHomePageImage(MediaUtil.getHomePageImage(item.getImages(), item.getVideos()));
// 设置发布藏品用户的昵称和头像
itemCommonService.getNicknameAvatar(item.getId(), itemResponseVo);
itemResponseVo.setViewPermission(item.getViewPermission());
if (CollectionUtils.isNotEmpty(pageInfo.getList())) {
result.setTotal(pageInfo.getTotal());
result.setHasNextPage(pageInfo.isHasNextPage());
AgentTranceResponseVo agentTranceResponseVo = new AgentTranceResponseVo();
agentTranceResponseVo.setAgentTraceInfo_("");
agentTranceResponseVo.setViewType(1);
agentTranceResponseVo.setDetail(itemResponseVo);
resultList.add(agentTranceResponseVo);
// 获取查询结果对应的藏品列表
List<Long> itemIds = pageInfo.getList().stream()
.map(FavoritesItemsRelation::getItemId).collect(Collectors.toList());
CoinRequestDto coinRequestDto = new CoinRequestDto();
coinRequestDto.setIds(itemIds);
List<Item> itemList = itemDao.findList(coinRequestDto);
Map<Long, Item> itemMap = itemList.stream()
.collect(Collectors.toMap(Item::getId, s -> s, (k1, k2) -> k2));
// 包装结果
List<AgentTranceResponseVo> resultList = new ArrayList<>();
for (FavoritesItemsRelation favoritesItemsRelation : pageInfo.getList()) {
ItemResponseVo itemResponseVo = new ItemResponseVo();
Item item = itemMap.get(favoritesItemsRelation.getItemId());
// 设置基本信息
itemResponseVo.setId(item.getId());
itemResponseVo.setName(item.getName());
itemResponseVo.setImages(item.getImages());
itemResponseVo.setDetail(item.getDetail());
itemResponseVo.setIsDeleted(item.getIsDeleted());
itemResponseVo.setViewPermission(item.getViewPermission());
// 设置价格
itemResponseVo.setPrice(getPrice(item.getPrice()));
// 设置是否收藏或是否是自己发布的
if (isGuest) {
itemResponseVo.setIsCollected(favoritesItemsRelationDao.isCollected(userId, item.getId(), null) ? 1 : 0);
} else {
itemResponseVo.setIsCollected(1);
}
itemResponseVo.setIsMine(userItemsRelationDao.isExisted(userId, item.getId()) ? 1 : 0);
// 设置收藏数
long count = favoritesItemsRelationDao.countByItemId(item.getId());
itemResponseVo.setCollectCount(StringUtil.formatCount(count));
// 设置图片或视频
itemResponseVo.setHomePageImage(MediaUtil.getHomePageImage(item.getImages(), item.getVideos()));
// 设置发布藏品用户的昵称和头像
itemCommonService.getNicknameAvatar(item.getId(), itemResponseVo);
AgentTranceResponseVo agentTranceResponseVo = new AgentTranceResponseVo();
agentTranceResponseVo.setAgentTraceInfo_("");
agentTranceResponseVo.setViewType(1);
agentTranceResponseVo.setDetail(itemResponseVo);
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