Commit 810f3e1d authored by shiyu's avatar shiyu

Merge remote-tracking branch 'origin/master'

parents 3d7c51dc 9755aa0d
...@@ -2,6 +2,7 @@ package com.wwdz.ch.db.dao; ...@@ -2,6 +2,7 @@ package com.wwdz.ch.db.dao;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.wwdz.ch.db.domain.FavoritesItemsRelation; import com.wwdz.ch.db.domain.FavoritesItemsRelation;
import com.wwdz.ch.db.dto.FavoritesItemsDto;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -19,4 +20,5 @@ public interface FavoritesItemsRelationDao { ...@@ -19,4 +20,5 @@ public interface FavoritesItemsRelationDao {
boolean isCollected(Long userId, Long itemId); boolean isCollected(Long userId, Long itemId);
long countByFavoritesId(Long favoritesId); long countByFavoritesId(Long favoritesId);
List<Map<String, Object>> findItemIdByCount(); List<Map<String, Object>> findItemIdByCount();
List<FavoritesItemsDto> queryItemImages(Long favoritesId);
} }
package com.wwdz.ch.db.dto;
import com.xxdxxs.entity.Entity;
import lombok.Data;
import java.util.Date;
@Data
public class FavoritesItemsDto implements Entity {
private Long itemId;
private Date addTime;
private String images;
private String topImage;
}
package com.wwdz.ch.wx.entity.request; package com.wwdz.ch.db.dto.request;
import com.xxdxxs.entity.Entity; import com.xxdxxs.entity.Entity;
import lombok.Data; import lombok.Data;
......
...@@ -5,6 +5,8 @@ import com.github.pagehelper.PageInfo; ...@@ -5,6 +5,8 @@ import com.github.pagehelper.PageInfo;
import com.wwdz.ch.db.dao.FavoritesItemsRelationDao; import com.wwdz.ch.db.dao.FavoritesItemsRelationDao;
import com.wwdz.ch.db.domain.FavoritesItemsRelation; import com.wwdz.ch.db.domain.FavoritesItemsRelation;
import com.wwdz.ch.db.domain.FavoritesItemsRelationExample; import com.wwdz.ch.db.domain.FavoritesItemsRelationExample;
import com.wwdz.ch.db.dto.FavoritesItemsDto;
import com.wwdz.ch.db.dto.request.FavoritesRequestDto;
import com.wwdz.ch.db.mapper.FavoritesItemsRelationMapper; import com.wwdz.ch.db.mapper.FavoritesItemsRelationMapper;
import com.xxdxxs.db.component.JdbcHelper; import com.xxdxxs.db.component.JdbcHelper;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -111,4 +113,11 @@ public class FavoritesItemsRelationDaoImpl implements FavoritesItemsRelationDao ...@@ -111,4 +113,11 @@ public class FavoritesItemsRelationDaoImpl implements FavoritesItemsRelationDao
public List<Map<String, Object>> findItemIdByCount() { public List<Map<String, Object>> findItemIdByCount() {
return favoritesItemsRelationMapper.selectItemIdByCount(); return favoritesItemsRelationMapper.selectItemIdByCount();
} }
@Override
public List<FavoritesItemsDto> queryItemImages(Long favoritesId) {
FavoritesRequestDto favoritesRequestDto = new FavoritesRequestDto();
favoritesRequestDto.setId(favoritesId);
return favoritesItemsRelationMapper.selectItemImages(favoritesRequestDto);
}
} }
...@@ -2,6 +2,8 @@ package com.wwdz.ch.db.mapper; ...@@ -2,6 +2,8 @@ package com.wwdz.ch.db.mapper;
import com.wwdz.ch.db.domain.FavoritesItemsRelation; import com.wwdz.ch.db.domain.FavoritesItemsRelation;
import com.wwdz.ch.db.domain.FavoritesItemsRelationExample; import com.wwdz.ch.db.domain.FavoritesItemsRelationExample;
import com.wwdz.ch.db.dto.FavoritesItemsDto;
import com.wwdz.ch.db.dto.request.FavoritesRequestDto;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -53,4 +55,6 @@ public interface FavoritesItemsRelationMapper { ...@@ -53,4 +55,6 @@ public interface FavoritesItemsRelationMapper {
int updateByExample(@Param("record") FavoritesItemsRelation record, @Param("example") FavoritesItemsRelationExample example); int updateByExample(@Param("record") FavoritesItemsRelation record, @Param("example") FavoritesItemsRelationExample example);
List<Map<String, Object>> selectItemIdByCount(); List<Map<String, Object>> selectItemIdByCount();
List<FavoritesItemsDto> selectItemImages(FavoritesRequestDto dto);
} }
\ No newline at end of file
...@@ -7,6 +7,12 @@ ...@@ -7,6 +7,12 @@
<result column="item_id" jdbcType="BIGINT" property="itemId" /> <result column="item_id" jdbcType="BIGINT" property="itemId" />
<result column="add_time" jdbcType="TIMESTAMP" property="addTime" /> <result column="add_time" jdbcType="TIMESTAMP" property="addTime" />
</resultMap> </resultMap>
<resultMap id="ItemResultMap" type="com.wwdz.ch.db.dto.FavoritesItemsDto">
<result column="item_id" jdbcType="BIGINT" property="itemId" />
<result column="add_time" jdbcType="TIMESTAMP" property="addTime" />
<result column="images" jdbcType="VARCHAR" property="images" />
<result column="top_image" jdbcType="VARCHAR" property="topImage" />
</resultMap>
<sql id="Example_Where_Clause"> <sql id="Example_Where_Clause">
<where> <where>
<foreach collection="oredCriteria" item="criteria" separator="or"> <foreach collection="oredCriteria" item="criteria" separator="or">
...@@ -247,4 +253,9 @@ ...@@ -247,4 +253,9 @@
<select id="selectItemIdByCount" resultType="java.util.Map"> <select id="selectItemIdByCount" resultType="java.util.Map">
select item_id,count(*) from favorites_items_relation group by item_id order by count(*) limit 20 select item_id,count(*) from favorites_items_relation group by item_id order by count(*) limit 20
</select> </select>
<select id="selectItemImages" parameterType="com.wwdz.ch.db.dto.request.FavoritesRequestDto" resultMap="ItemResultMap">
select a.item_id,a.add_time,b.images,b.top_image
from favorites_items_relation a left join item b on a.item_id = b.id
where a.favorites_id = ${id} order by a.add_time desc
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -11,8 +11,9 @@ import com.wwdz.ch.db.domain.Favorites; ...@@ -11,8 +11,9 @@ import com.wwdz.ch.db.domain.Favorites;
import com.wwdz.ch.db.domain.FavoritesItemsRelation; import com.wwdz.ch.db.domain.FavoritesItemsRelation;
import com.wwdz.ch.db.domain.Item; import com.wwdz.ch.db.domain.Item;
import com.wwdz.ch.db.domain.UserItemsRelation; import com.wwdz.ch.db.domain.UserItemsRelation;
import com.wwdz.ch.db.dto.FavoritesItemsDto;
import com.wwdz.ch.db.dto.request.CoinRequestDto; import com.wwdz.ch.db.dto.request.CoinRequestDto;
import com.wwdz.ch.wx.entity.request.FavoritesRequestDto; import com.wwdz.ch.db.dto.request.FavoritesRequestDto;
import com.wwdz.ch.wx.entity.request.ItemRequestDto; import com.wwdz.ch.wx.entity.request.ItemRequestDto;
import com.wwdz.ch.wx.entity.vo.AgentTranceResponseVo; import com.wwdz.ch.wx.entity.vo.AgentTranceResponseVo;
import com.wwdz.ch.wx.entity.vo.FavoritesResponseVo; import com.wwdz.ch.wx.entity.vo.FavoritesResponseVo;
...@@ -92,32 +93,10 @@ public class FavoritesServiceImpl implements FavoritesService { ...@@ -92,32 +93,10 @@ public class FavoritesServiceImpl implements FavoritesService {
vo.setSort(favorites.getSort()); vo.setSort(favorites.getSort());
vo.setDeleted(favorites.getDeleted()); vo.setDeleted(favorites.getDeleted());
vo.setAddTime(favorites.getAddTime()); vo.setAddTime(favorites.getAddTime());
vo.setImages(new ArrayList<>()); // 设置封面图
// 获取藏品的图片 vo.setImages(getFavoritesImage(favorites.getId()));
List<FavoritesItemsRelation> favoritesItemsRelations = favoritesItemsRelationDao.listByFavoritesId(favorites.getId(), null);
if (CollectionUtils.isNotEmpty(favoritesItemsRelations)) {
CoinRequestDto coinRequestDto = new CoinRequestDto();
coinRequestDto.setIds(favoritesItemsRelations.stream()
.map(FavoritesItemsRelation::getItemId).collect(Collectors.toList()));
List<Item> items = itemDao.findListWithImages(coinRequestDto);
items = items.stream().filter(s -> !s.getIsDeleted()).filter(s -> StringUtils.isNotBlank(s.getImages())).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(items)) {
List<String> images = new ArrayList<>();
if (items.size() <= 4) {
for (Item item : items) {
String[] image = item.getImages().split(";");
images.add(image[0]);
}
} else {
for (int i = 0; i < 4; i ++) {
String[] image = items.get(i).getImages().split(";");
images.add(image[0]);
}
}
vo.setImages(images);
}
}
vo.setUpdateTime(favorites.getUpdateTime()); vo.setUpdateTime(favorites.getUpdateTime());
// 设置收藏数
vo.setCount(favoritesItemsRelationDao.countByFavoritesId(favorites.getId())); vo.setCount(favoritesItemsRelationDao.countByFavoritesId(favorites.getId()));
agentTranceResponseVo.setDetail(vo); agentTranceResponseVo.setDetail(vo);
list.add(agentTranceResponseVo); list.add(agentTranceResponseVo);
...@@ -145,32 +124,10 @@ public class FavoritesServiceImpl implements FavoritesService { ...@@ -145,32 +124,10 @@ public class FavoritesServiceImpl implements FavoritesService {
vo.setSort(favorites.getSort()); vo.setSort(favorites.getSort());
vo.setDeleted(favorites.getDeleted()); vo.setDeleted(favorites.getDeleted());
vo.setAddTime(favorites.getAddTime()); vo.setAddTime(favorites.getAddTime());
vo.setImages(new ArrayList<>()); // 设置封面图
// 获取藏品的图片 vo.setImages(getFavoritesImage(favorites.getId()));
List<FavoritesItemsRelation> favoritesItemsRelations = favoritesItemsRelationDao.listByFavoritesId(favorites.getId(), null);
if (CollectionUtils.isNotEmpty(favoritesItemsRelations)) {
CoinRequestDto coinRequestDto = new CoinRequestDto();
coinRequestDto.setIds(favoritesItemsRelations.stream()
.map(FavoritesItemsRelation::getItemId).collect(Collectors.toList()));
List<Item> items = itemDao.findListWithImages(coinRequestDto);
items = items.stream().filter(s -> !s.getIsDeleted()).filter(s -> StringUtils.isNotBlank(s.getImages())).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(items)) {
List<String> images = new ArrayList<>();
if (items.size() <= 4) {
for (Item item : items) {
String[] image = item.getImages().split(";");
images.add(image[0]);
}
} else {
for (int i = 0; i < 4; i ++) {
String[] image = items.get(i).getImages().split(";");
images.add(image[0]);
}
}
vo.setImages(images);
}
}
vo.setUpdateTime(favorites.getUpdateTime()); vo.setUpdateTime(favorites.getUpdateTime());
// 设置收藏数
vo.setCount(favoritesItemsRelationDao.countByFavoritesId(favorites.getId())); vo.setCount(favoritesItemsRelationDao.countByFavoritesId(favorites.getId()));
result.add(vo); result.add(vo);
} }
...@@ -251,32 +208,10 @@ public class FavoritesServiceImpl implements FavoritesService { ...@@ -251,32 +208,10 @@ public class FavoritesServiceImpl implements FavoritesService {
vo.setDeleted(favorites.getDeleted()); vo.setDeleted(favorites.getDeleted());
vo.setAddTime(favorites.getAddTime()); vo.setAddTime(favorites.getAddTime());
vo.setUpdateTime(favorites.getUpdateTime()); vo.setUpdateTime(favorites.getUpdateTime());
// 设置收藏数
vo.setCount(favoritesItemsRelationDao.countByFavoritesId(favorites.getId())); vo.setCount(favoritesItemsRelationDao.countByFavoritesId(favorites.getId()));
vo.setImages(new ArrayList<>()); // 设置封面图
// 获取藏品的图片 vo.setImages(getFavoritesImage(favorites.getId()));
List<FavoritesItemsRelation> favoritesItemsRelations = favoritesItemsRelationDao.listByFavoritesId(favorites.getId(), null);
if (CollectionUtils.isNotEmpty(favoritesItemsRelations)) {
CoinRequestDto coinRequestDto = new CoinRequestDto();
coinRequestDto.setIds(favoritesItemsRelations.stream()
.map(FavoritesItemsRelation::getItemId).collect(Collectors.toList()));
List<Item> items = itemDao.findListWithImages(coinRequestDto);
items = items.stream().filter(s -> !s.getIsDeleted()).filter(s -> StringUtils.isNotBlank(s.getImages())).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(items)) {
List<String> images = new ArrayList<>();
if (items.size() <= 4) {
for (Item item : items) {
String[] image = item.getImages().split(";");
images.add(image[0]);
}
} else {
for (int i = 0; i < 4; i ++) {
String[] image = items.get(i).getImages().split(";");
images.add(image[0]);
}
}
vo.setImages(images);
}
}
logger.info("【请求结束】查看收藏册详情成功"); logger.info("【请求结束】查看收藏册详情成功");
return Result.success(vo); return Result.success(vo);
} catch (Exception e) { } catch (Exception e) {
...@@ -494,11 +429,27 @@ public class FavoritesServiceImpl implements FavoritesService { ...@@ -494,11 +429,27 @@ public class FavoritesServiceImpl implements FavoritesService {
private Map<String, Object> getImage(Item item) { private Map<String, Object> getImage(Item item) {
Map<String, Object> homePageMap = new HashMap<>(); Map<String, Object> homePageMap = new HashMap<>();
String[] image = item.getImages().split(";"); homePageMap.put("url", "");
homePageMap.put("url", image[0]);
homePageMap.put("type", 2); homePageMap.put("type", 2);
homePageMap.put("width", "0"); homePageMap.put("width", "0");
homePageMap.put("height", "0"); homePageMap.put("height", "0");
if (StringUtils.isNotBlank(item.getTopImage())) {
if (item.getTopImage().contains("_")) {
homePageMap = getImageMap(item.getTopImage());
homePageMap.put("url", item.getTopImage());
homePageMap.put("type", 2);
}
} else {
if (StringUtils.isNotBlank(item.getImages())) {
String[] image = item.getImages().split(";");
homePageMap.put("url", image[0]);
if (image[0].contains("_")) {
homePageMap = getImageMap(image[0]);
homePageMap.put("url", image[0]);
homePageMap.put("type", 2);
}
}
}
if (StringUtils.isNotBlank(item.getVideos())) { if (StringUtils.isNotBlank(item.getVideos())) {
String[] vedioImage = item.getVideos().split(";"); String[] vedioImage = item.getVideos().split(";");
if (vedioImage[0].contains(",")) { if (vedioImage[0].contains(",")) {
...@@ -507,12 +458,6 @@ public class FavoritesServiceImpl implements FavoritesService { ...@@ -507,12 +458,6 @@ public class FavoritesServiceImpl implements FavoritesService {
homePageMap.put("url", video[1]); homePageMap.put("url", video[1]);
homePageMap.put("type", 1); homePageMap.put("type", 1);
} }
} else {
if (image[0].contains("_")) {
homePageMap = getImageMap(image[0]);
homePageMap.put("url", image[0]);
homePageMap.put("type", 2);
}
} }
return homePageMap; return homePageMap;
} }
...@@ -551,4 +496,31 @@ public class FavoritesServiceImpl implements FavoritesService { ...@@ -551,4 +496,31 @@ public class FavoritesServiceImpl implements FavoritesService {
} }
return StringUtil.formatAmount(priceString); return StringUtil.formatAmount(priceString);
} }
private List<String> getFavoritesImage(Long id) {
List<String> images = new ArrayList<>();
List<FavoritesItemsDto> favoritesItemsDtos = favoritesItemsRelationDao.queryItemImages(id);
if (CollectionUtils.isNotEmpty(favoritesItemsDtos)) {
if (favoritesItemsDtos.size() <= 4) {
for (FavoritesItemsDto favoritesItemsDto : favoritesItemsDtos) {
if (StringUtils.isNotBlank(favoritesItemsDto.getTopImage())) {
images.add(favoritesItemsDto.getTopImage());
} else {
String[] image = favoritesItemsDto.getImages().split(";");
images.add(image[0]);
}
}
} else {
for (int i = 0; i < 4; i ++) {
if (StringUtils.isNotBlank(favoritesItemsDtos.get(i).getTopImage())) {
images.add(favoritesItemsDtos.get(i).getTopImage());
} else {
String[] image = favoritesItemsDtos.get(i).getImages().split(";");
images.add(image[0]);
}
}
}
}
return images;
}
} }
...@@ -270,11 +270,27 @@ public class FootPrintServiceImpl implements FootPrintService { ...@@ -270,11 +270,27 @@ public class FootPrintServiceImpl implements FootPrintService {
private Map<String, Object> getImage(Item item) { private Map<String, Object> getImage(Item item) {
Map<String, Object> homePageMap = new HashMap<>(); Map<String, Object> homePageMap = new HashMap<>();
String[] image = item.getImages().split(";"); homePageMap.put("url", "");
homePageMap.put("url", image[0]);
homePageMap.put("type", 2); homePageMap.put("type", 2);
homePageMap.put("width", "0"); homePageMap.put("width", "0");
homePageMap.put("height", "0"); homePageMap.put("height", "0");
if (StringUtils.isNotBlank(item.getTopImage())) {
if (item.getTopImage().contains("_")) {
homePageMap = getImageMap(item.getTopImage());
homePageMap.put("url", item.getTopImage());
homePageMap.put("type", 2);
}
} else {
if (StringUtils.isNotBlank(item.getImages())) {
String[] image = item.getImages().split(";");
homePageMap.put("url", image[0]);
if (image[0].contains("_")) {
homePageMap = getImageMap(image[0]);
homePageMap.put("url", image[0]);
homePageMap.put("type", 2);
}
}
}
if (StringUtils.isNotBlank(item.getVideos())) { if (StringUtils.isNotBlank(item.getVideos())) {
String[] vedioImage = item.getVideos().split(";"); String[] vedioImage = item.getVideos().split(";");
if (vedioImage[0].contains(",")) { if (vedioImage[0].contains(",")) {
...@@ -283,12 +299,6 @@ public class FootPrintServiceImpl implements FootPrintService { ...@@ -283,12 +299,6 @@ public class FootPrintServiceImpl implements FootPrintService {
homePageMap.put("url", video[1]); homePageMap.put("url", video[1]);
homePageMap.put("type", 1); homePageMap.put("type", 1);
} }
} else {
if (image[0].contains("_")) {
homePageMap = getImageMap(image[0]);
homePageMap.put("url", image[0]);
homePageMap.put("type", 2);
}
} }
return homePageMap; return homePageMap;
} }
......
...@@ -403,6 +403,7 @@ public class ItemServiceImpl implements ItemService { ...@@ -403,6 +403,7 @@ public class ItemServiceImpl implements ItemService {
item.setName(dto.getName()); item.setName(dto.getName());
item.setCid(dto.getCid()); item.setCid(dto.getCid());
item.setImages(dto.getImages()); item.setImages(dto.getImages());
item.setVideos("");
if (StringUtils.isNotBlank(dto.getVideos())) { if (StringUtils.isNotBlank(dto.getVideos())) {
item.setVideos(getVediosImage(dto.getVideos())); item.setVideos(getVediosImage(dto.getVideos()));
} }
......
...@@ -17,7 +17,7 @@ import com.wwdz.ch.db.domain.User; ...@@ -17,7 +17,7 @@ import com.wwdz.ch.db.domain.User;
import com.wwdz.ch.wx.constant.CacheCodeConstants; import com.wwdz.ch.wx.constant.CacheCodeConstants;
import com.wwdz.ch.wx.dao.UserInfo; import com.wwdz.ch.wx.dao.UserInfo;
import com.wwdz.ch.wx.dao.UserToken; import com.wwdz.ch.wx.dao.UserToken;
import com.wwdz.ch.wx.entity.request.FavoritesRequestDto; import com.wwdz.ch.db.dto.request.FavoritesRequestDto;
import com.wwdz.ch.wx.entity.request.UserRequestDto; import com.wwdz.ch.wx.entity.request.UserRequestDto;
import com.wwdz.ch.wx.service.FavoritesService; import com.wwdz.ch.wx.service.FavoritesService;
import com.wwdz.ch.wx.service.UserService; import com.wwdz.ch.wx.service.UserService;
......
...@@ -2,7 +2,7 @@ package com.wwdz.ch.wx.service; ...@@ -2,7 +2,7 @@ package com.wwdz.ch.wx.service;
import com.wwdz.ch.core.type.Result; import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.wx.entity.request.ItemRequestDto; import com.wwdz.ch.wx.entity.request.ItemRequestDto;
import com.wwdz.ch.wx.entity.request.FavoritesRequestDto; import com.wwdz.ch.db.dto.request.FavoritesRequestDto;
public interface FavoritesService { public interface FavoritesService {
Result addDefault(FavoritesRequestDto dto); Result addDefault(FavoritesRequestDto dto);
......
package com.wwdz.ch.wx.web; package com.wwdz.ch.wx.web;
import com.wwdz.ch.core.type.Result; import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.wx.entity.request.FavoritesRequestDto; import com.wwdz.ch.db.dto.request.FavoritesRequestDto;
import com.wwdz.ch.wx.entity.request.ItemRequestDto; import com.wwdz.ch.wx.entity.request.ItemRequestDto;
import com.wwdz.ch.wx.entity.request.KlDataRequestDto; import com.wwdz.ch.wx.entity.request.KlDataRequestDto;
import com.wwdz.ch.wx.service.FavoritesService; import com.wwdz.ch.wx.service.FavoritesService;
......
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