Commit 481b195b authored by shiyu's avatar shiyu

Merge remote-tracking branch 'origin/master'

parents 5486ed29 d915aa46
......@@ -10,12 +10,9 @@ public interface FavoritesDao {
int delete(Long id);
int update(Favorites record);
Favorites info(Long id);
List<Favorites> listByUserId(Long userId);
PageInfo<Favorites> pageByUserId(Long userId, int page, int size);
boolean isExisted(Long id, Long userId, String title);
int delete(Long id, List<Long> ids);
Favorites defaultFavorites(Long userId);
}
......@@ -10,6 +10,7 @@ public interface FavoritesItemsRelationDao {
int batchInsert(List<FavoritesItemsRelation> list);
int deleteByFavoritesId(Long favoritesId, List<Long> favoritesIds);
int deleteByChosen(Long favoritesId, List<Long> itemIds);
int deleteByUserIdItemId(Long userId, Long itemId);
List<FavoritesItemsRelation> listByFavoritesId(Long favoritesId, List<Long> favoritesIds);
FavoritesItemsRelation selectByUserIdItemId(Long userId, Long itemId);
PageInfo<FavoritesItemsRelation> pageByFavoritesId(Long favoritesId, int page, int size);
......
......@@ -59,6 +59,7 @@ public class FavoritesDaoImpl implements FavoritesDao {
FavoritesExample.Criteria criteria = example.createCriteria();
criteria.andUserIdEqualTo(userId);
criteria.andDeletedEqualTo(false);
example.orderBy("add_time desc");
PageHelper.startPage(page, size);
List<Favorites> list = favoritesMapper.selectByExampleWithBLOBs(example);
return new PageInfo<>(list);
......@@ -88,4 +89,13 @@ public class FavoritesDaoImpl implements FavoritesDao {
favorites.setUpdateTime(new Date());
return favoritesMapper.updateByExampleSelective(favorites, example);
}
@Override
public Favorites defaultFavorites(Long userId) {
FavoritesExample example = new FavoritesExample();
FavoritesExample.Criteria criteria = example.createCriteria();
criteria.andUserIdEqualTo(userId);
criteria.andSortEqualTo(1);
return favoritesMapper.selectOneByExample(example);
}
}
......@@ -2,6 +2,7 @@ package com.wwdz.ch.db.impl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.wwdz.ch.db.domain.Favorites;
import com.wwdz.ch.db.mapper.FavoritesItemsRelationMapper;
import com.wwdz.ch.db.domain.FavoritesItemsRelation;
import com.wwdz.ch.db.domain.FavoritesItemsRelationExample;
......@@ -41,6 +42,16 @@ public class FavoritesItemsRelationDaoImpl implements FavoritesItemsRelationDao
criteria.andItemIdIn(itemIds);
return favoritesItemsRelationMapper.deleteByExample(example);
}
@Override
public int deleteByUserIdItemId(Long userId, Long itemId) {
FavoritesItemsRelationExample example = new FavoritesItemsRelationExample();
FavoritesItemsRelationExample.Criteria criteria = example.createCriteria();
criteria.andUserIdEqualTo(userId);
criteria.andItemIdEqualTo(itemId);
return favoritesItemsRelationMapper.deleteByExample(example);
}
@Override
public List<FavoritesItemsRelation> listByFavoritesId(Long favoritesId, List<Long> favoritesIds) {
FavoritesItemsRelationExample example = new FavoritesItemsRelationExample();
......
......@@ -3,6 +3,7 @@
<mapper namespace="com.wwdz.ch.db.mapper.FavoritesItemsRelationMapper">
<resultMap id="BaseResultMap" type="com.wwdz.ch.db.domain.FavoritesItemsRelation">
<result column="favorites_id" jdbcType="BIGINT" property="favoritesId" />
<result column="user_id" jdbcType="BIGINT" property="userId" />
<result column="item_id" jdbcType="BIGINT" property="itemId" />
<result column="add_time" jdbcType="TIMESTAMP" property="addTime" />
</resultMap>
......@@ -65,7 +66,7 @@
</where>
</sql>
<sql id="Base_Column_List">
favorites_id, item_id, add_time
favorites_id, user_id, item_id, add_time
</sql>
<select id="selectByExample" parameterType="com.wwdz.ch.db.domain.FavoritesItemsRelationExample" resultMap="BaseResultMap">
select
......@@ -94,13 +95,13 @@
distinct
</if>
<choose>
<when test="selective != null and selective.length > 0">
<when test="selective != null and selective.length &gt; 0">
<foreach collection="selective" item="column" separator=",">
${column.escapedColumnName}
</foreach>
</when>
<otherwise>
favorites_id, item_id, add_time
favorites_id, user_id, item_id, add_time
</otherwise>
</choose>
from favorites_items_relation
......@@ -118,16 +119,16 @@
</if>
</delete>
<insert id="insert" parameterType="com.wwdz.ch.db.domain.FavoritesItemsRelation">
insert into favorites_items_relation (favorites_id, item_id, add_time
)
values (#{favoritesId,jdbcType=BIGINT}, #{itemId,jdbcType=BIGINT}, #{addTime,jdbcType=TIMESTAMP}
)
insert into favorites_items_relation (favorites_id, user_id, item_id,
add_time)
values (#{favoritesId,jdbcType=BIGINT}, #{userId,jdbcType=BIGINT}, #{itemId,jdbcType=BIGINT},
#{addTime,jdbcType=TIMESTAMP})
</insert>
<insert id="batchInsert" parameterType="com.wwdz.ch.db.domain.FavoritesItemsRelation">
insert into favorites_coins_relation (favorites_id, item_id, add_time)
values
insert into favorites_items_relation (favorites_id, user_id, item_id,
add_time)
<foreach collection="list" item="item" separator=",">
(#{item.favoritesId,jdbcType=BIGINT}, #{item.itemId,jdbcType=BIGINT}, #{item.addTime,jdbcType=TIMESTAMP})
(#{item.favoritesId,jdbcType=BIGINT}, #{item.userId,jdbcType=BIGINT}, #{item.itemId,jdbcType=BIGINT}, #{item.addTime,jdbcType=TIMESTAMP})
</foreach>
</insert>
<insert id="insertSelective" parameterType="com.wwdz.ch.db.domain.FavoritesItemsRelation">
......@@ -136,6 +137,9 @@
<if test="favoritesId != null">
favorites_id,
</if>
<if test="userId != null">
user_id,
</if>
<if test="itemId != null">
item_id,
</if>
......@@ -147,6 +151,9 @@
<if test="favoritesId != null">
#{favoritesId,jdbcType=BIGINT},
</if>
<if test="userId != null">
#{userId,jdbcType=BIGINT},
</if>
<if test="itemId != null">
#{itemId,jdbcType=BIGINT},
</if>
......@@ -167,6 +174,9 @@
<if test="record.favoritesId != null">
favorites_id = #{record.favoritesId,jdbcType=BIGINT},
</if>
<if test="record.userId != null">
user_id = #{record.userId,jdbcType=BIGINT},
</if>
<if test="record.itemId != null">
item_id = #{record.itemId,jdbcType=BIGINT},
</if>
......@@ -181,6 +191,7 @@
<update id="updateByExample" parameterType="map">
update favorites_items_relation
set favorites_id = #{record.favoritesId,jdbcType=BIGINT},
user_id = #{record.userId,jdbcType=BIGINT},
item_id = #{record.itemId,jdbcType=BIGINT},
add_time = #{record.addTime,jdbcType=TIMESTAMP}
<if test="_parameter != null">
......@@ -214,13 +225,13 @@
select
'true' as QUERYID,
<choose>
<when test="selective != null and selective.length > 0">
<when test="selective != null and selective.length &gt; 0">
<foreach collection="selective" item="column" separator=",">
${column.escapedColumnName}
</foreach>
</when>
<otherwise>
favorites_id, item_id, add_time
favorites_id, user_id, item_id, add_time
</otherwise>
</choose>
from favorites_items_relation
......
package com.wwdz.ch.wx.config;
import java.util.List;
import com.wwdz.ch.wx.annotation.support.LoginUserHandlerMethodArgumentResolver;
import com.wwdz.ch.wx.interceptor.LoginInterceptor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.method.support.HandlerMethodArgumentResolver;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import java.util.List;
@Configuration
public class WxWebMvcConfiguration implements WebMvcConfigurer {
@Bean
LoginInterceptor loginInterceptor() {
return new LoginInterceptor();
}
@Autowired
private LoginUserHandlerMethodArgumentResolver loginUserHandlerMethodArgumentResolver;
......@@ -17,4 +24,12 @@ public class WxWebMvcConfiguration implements WebMvcConfigurer {
public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
argumentResolvers.add(loginUserHandlerMethodArgumentResolver);
}
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(loginInterceptor())
.addPathPatterns("/**")
.excludePathPatterns("/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/wx/user/loginByWx"
, "/wx/user/loginByMobile", "/wx/user/loginRegCaptcha", "/wx/user/updateRegCaptcha", "/wx/item/page", "/wx/item/info");
}
}
package com.wwdz.ch.wx.entity.vo;
import com.xxdxxs.entity.Entity;
import lombok.Data;
import java.util.Date;
@Data
public class FavoritesResponseVo implements Entity {
private Long id;
private String title;
private String description;
private Integer sort;
private Date addTime;
private Date updateTime;
private Boolean deleted;
private String images;
private long count;
}
package com.wwdz.ch.wx.entity.vo;
import com.xxdxxs.entity.Entity;
import lombok.Data;
@Data
public class ItemResponseVo {
public class ItemResponseVo implements Entity {
private Long id;
private Long itemId;
private Integer cid;
......
package com.wwdz.ch.wx.impl;
import com.github.pagehelper.PageInfo;
import com.wwdz.ch.core.consts.CommonEnum;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.dao.FavoritesDao;
import com.wwdz.ch.db.dao.FavoritesItemsRelationDao;
......@@ -14,6 +15,7 @@ import com.wwdz.ch.db.dto.request.CoinRequestDto;
import com.wwdz.ch.wx.entity.request.FavoritesRequestDto;
import com.wwdz.ch.wx.entity.request.ItemRequestDto;
import com.wwdz.ch.wx.entity.vo.AgentTranceResponseVo;
import com.wwdz.ch.wx.entity.vo.FavoritesResponseVo;
import com.wwdz.ch.wx.entity.vo.ItemResponseVo;
import com.wwdz.ch.wx.service.FavoritesService;
import org.apache.commons.collections.CollectionUtils;
......@@ -72,6 +74,7 @@ public class FavoritesServiceImpl implements FavoritesService {
page.setTotal(0);
page.setList(new ArrayList<>());
PageInfo<Favorites> favoritesPage = favoritesDao.pageByUserId(dto.getUserId(), dto.getPage(), dto.getSize());
page.setHasNextPage(favoritesPage.isHasNextPage());
if (favoritesPage.getList().isEmpty()) {
return Result.success(page);
}
......@@ -80,11 +83,22 @@ public class FavoritesServiceImpl implements FavoritesService {
AgentTranceResponseVo agentTranceResponseVo = new AgentTranceResponseVo();
agentTranceResponseVo.setAgentTraceInfo_("");
agentTranceResponseVo.setViewType(2);
agentTranceResponseVo.setDetail(favorites);
FavoritesResponseVo vo = new FavoritesResponseVo();
vo.setId(favorites.getId());
vo.setTitle(favorites.getTitle());
vo.setDescription(favorites.getDescription());
vo.setSort(favorites.getSort());
vo.setDeleted(favorites.getDeleted());
vo.setAddTime(favorites.getAddTime());
vo.setImages(favorites.getImages());
vo.setUpdateTime(favorites.getUpdateTime());
vo.setCount(favoritesItemsRelationDao.countByFavoritesId(favorites.getId()));
agentTranceResponseVo.setDetail(vo);
list.add(agentTranceResponseVo);
}
page.setTotal(favoritesPage.getTotal());
page.setList(list);
logger.info("【请求结束】分页查询收藏册列表成功");
return Result.success(page);
} catch (Exception e) {
logger.error("查询收藏册列表失败,原因:" + e.getMessage(), e);
......@@ -95,7 +109,23 @@ public class FavoritesServiceImpl implements FavoritesService {
@Override
public Result list(FavoritesRequestDto dto) {
try {
return Result.success(favoritesDao.listByUserId(dto.getUserId()));
List<Favorites> list = favoritesDao.listByUserId(dto.getUserId());
List<FavoritesResponseVo> result = new ArrayList<>();
for (Favorites favorites : list) {
FavoritesResponseVo vo = new FavoritesResponseVo();
vo.setId(favorites.getId());
vo.setTitle(favorites.getTitle());
vo.setDescription(favorites.getDescription());
vo.setSort(favorites.getSort());
vo.setDeleted(favorites.getDeleted());
vo.setAddTime(favorites.getAddTime());
vo.setImages(favorites.getImages());
vo.setUpdateTime(favorites.getUpdateTime());
vo.setCount(favoritesItemsRelationDao.countByFavoritesId(favorites.getId()));
result.add(vo);
}
logger.info("【请求结束】查询收藏册列表成功");
return Result.success(result);
} catch (Exception e) {
logger.error("获取收藏册列表失败,原因:" + e.getMessage(), e);
return Result.failed(-1, "获取收藏册列表失败");
......@@ -115,13 +145,13 @@ public class FavoritesServiceImpl implements FavoritesService {
favorites.setUserId(dto.getUserId());
favorites.setTitle(dto.getTitle());
favorites.setDescription(dto.getDescription());
favorites.setImages(dto.getImages());
Date date = new Date();
favorites.setAddTime(date);
favorites.setUpdateTime(date);
favorites.setDeleted(false);
favorites.setSort(0);
favoritesDao.insert(favorites);
logger.info("【请求结束】新增收藏册成功");
return Result.success();
} catch (Exception e) {
logger.error("新增收藏册失败,原因:" + e.getMessage(), e);
......@@ -145,14 +175,14 @@ public class FavoritesServiceImpl implements FavoritesService {
favorites.setTitle(dto.getTitle());
favorites.setDescription(dto.getDescription());
favorites.setImages(dto.getImages());
favorites.setUpdateTime(new Date());
favoritesDao.update(favorites);
logger.info("【请求结束】修改收藏册成功");
return Result.success();
} catch (Exception e) {
logger.error("新增收藏册失败,原因:" + e.getMessage(), e);
logger.error("修改收藏册失败,原因:" + e.getMessage(), e);
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return Result.failed("新增收藏册失败");
return Result.failed("修改收藏册失败");
}
}
......@@ -163,6 +193,7 @@ public class FavoritesServiceImpl implements FavoritesService {
if (Objects.isNull(favorites)) {
return Result.failed("数据异常,记录不存在");
}
logger.info("【请求结束】查看收藏册详情成功");
return Result.success(favorites);
} catch (Exception e) {
logger.error("查看收藏册详情失败,原因:" + e.getMessage(), e);
......@@ -179,6 +210,7 @@ public class FavoritesServiceImpl implements FavoritesService {
page.setTotal(0L);
page.setList(new ArrayList<>());
PageInfo<FavoritesItemsRelation> relationPage = favoritesItemsRelationDao.pageByFavoritesId(dto.getId(), dto.getPage(), dto.getSize());
page.setHasNextPage(relationPage.isHasNextPage());
if (relationPage.getList().isEmpty()) {
return Result.success(page);
}
......@@ -192,7 +224,11 @@ public class FavoritesServiceImpl implements FavoritesService {
vo.setPrice(String.valueOf(item.getPrice() * 100));
vo.setDetail(item.getDetail());
vo.setIsCollected(favoritesItemsRelationDao.isCollected(dto.getUserId(), relation.getItemId()) ? 1 : 0);
vo.setCollectCount(favoritesItemsRelationDao.countByItemId(relation.getItemId()));
long count = favoritesItemsRelationDao.countByItemId(item.getId());
if (item.getSourceType().equals(CommonEnum.SourceTypeEnum.USER_UPLOAD.getCode())) {
count --;
}
vo.setCollectCount(count);
AgentTranceResponseVo agentTranceResponseVo = new AgentTranceResponseVo();
agentTranceResponseVo.setAgentTraceInfo_("");
......@@ -202,6 +238,7 @@ public class FavoritesServiceImpl implements FavoritesService {
}
page.setTotal(favoritesItemsRelationDao.countByFavoritesId(dto.getId()));
page.setList(list);
logger.info("【请求结束】查看收藏册的藏品列表成功");
return Result.success(page);
} catch (Exception e) {
logger.error("查看收藏册的藏品列表失败,原因:" + e.getMessage(), e);
......@@ -220,6 +257,7 @@ public class FavoritesServiceImpl implements FavoritesService {
// 删除收藏册
favoritesDao.delete(dto.getId(), null);
logger.info("【请求结束】删除收藏册成功");
return Result.success();
} catch (Exception e) {
logger.error("删除收藏册失败,原因:" + e.getMessage(), e);
......@@ -254,6 +292,7 @@ public class FavoritesServiceImpl implements FavoritesService {
// 删除收藏册
favoritesDao.delete(null, dto.getIds());
logger.info("【请求结束】批量删除收藏册成功");
return Result.success();
} catch (Exception e) {
logger.error("批量删除收藏册失败,原因:" + e.getMessage(), e);
......@@ -262,6 +301,33 @@ public class FavoritesServiceImpl implements FavoritesService {
}
}
@Transactional
@Override
public Result addItem(ItemRequestDto dto) {
try {
Favorites favorites = favoritesDao.info(dto.getFavoritesId());
if (Objects.isNull(favorites)) {
Result.failed("数据异常,收藏册不存在");
}
if (favoritesItemsRelationDao.isCollected(favorites.getUserId(), dto.getId())) {
Result.failed("您已经收藏过该藏品");
}
FavoritesItemsRelation favoritesItemsRelation = new FavoritesItemsRelation();
favoritesItemsRelation.setUserId(favorites.getUserId());
favoritesItemsRelation.setFavoritesId(dto.getFavoritesId());
favoritesItemsRelation.setItemId(dto.getId());
favoritesItemsRelation.setAddTime(new Date());
favoritesItemsRelationDao.insert(favoritesItemsRelation);
logger.info("【请求结束】收藏藏品成功");
return Result.success();
} catch (Exception e) {
logger.error("收藏藏品失败,原因:" + e.getMessage(), e);
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return Result.failed("收藏藏品失败");
}
}
@Transactional(rollbackFor = Exception.class)
@Override
public Result removeItem(ItemRequestDto dto) {
......@@ -280,6 +346,7 @@ public class FavoritesServiceImpl implements FavoritesService {
// 删除收藏册和钱币的关联
favoritesItemsRelationDao.deleteByChosen(dto.getFavoritesId(), dto.getItemIds());
logger.info("【请求结束】取消收藏成功");
return Result.success();
} catch (Exception e) {
logger.info("收藏册取消收藏失败,原因:" + e.getMessage(), e);
......@@ -292,6 +359,10 @@ public class FavoritesServiceImpl implements FavoritesService {
@Override
public Result moveItem(ItemRequestDto dto) {
try {
Favorites favorites = favoritesDao.info(dto.getAfterFavoritesId());
if (Objects.isNull(favorites)) {
return Result.failed("数据异常,目标收藏册不存在");
}
// 删除原收藏册和藏品关联记录
favoritesItemsRelationDao.deleteByChosen(dto.getBeforeFavoritesId(), dto.getItemIds());
......@@ -301,6 +372,7 @@ public class FavoritesServiceImpl implements FavoritesService {
for (Long itemId : dto.getItemIds()) {
FavoritesItemsRelation record = new FavoritesItemsRelation();
record.setFavoritesId(dto.getAfterFavoritesId());
record.setUserId(favorites.getUserId());
record.setItemId(itemId);
record.setAddTime(now);
list.add(record);
......@@ -308,6 +380,7 @@ public class FavoritesServiceImpl implements FavoritesService {
if (CollectionUtils.isNotEmpty(list)) {
favoritesItemsRelationDao.batchInsert(list);
}
logger.info("【请求结束】移动藏品成功");
return Result.success();
} catch (Exception e) {
logger.error("移动藏品失败,原因:" + e.getMessage(), e);
......
......@@ -3,14 +3,8 @@ package com.wwdz.ch.wx.impl;
import com.github.pagehelper.PageInfo;
import com.wwdz.ch.core.consts.CommonEnum;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.dao.CategoryDao;
import com.wwdz.ch.db.dao.FavoritesItemsRelationDao;
import com.wwdz.ch.db.dao.ItemDao;
import com.wwdz.ch.db.dao.UserItemsRelationDao;
import com.wwdz.ch.db.domain.Category;
import com.wwdz.ch.db.domain.FavoritesItemsRelation;
import com.wwdz.ch.db.domain.Item;
import com.wwdz.ch.db.domain.UserItemsRelation;
import com.wwdz.ch.db.dao.*;
import com.wwdz.ch.db.domain.*;
import com.wwdz.ch.db.dto.request.CoinRequestDto;
import com.wwdz.ch.wx.entity.request.ItemRequestDto;
import com.wwdz.ch.wx.entity.vo.AgentTranceResponseVo;
......@@ -37,6 +31,10 @@ public class ItemServiceImpl implements ItemService {
private FavoritesItemsRelationDao favoritesItemsRelationDao;
@Autowired
private CategoryDao categoryDao;
@Autowired
private FootPrintDao footPrintDao;
@Autowired
private FavoritesDao favoritesDao;
@Override
......@@ -51,6 +49,7 @@ public class ItemServiceImpl implements ItemService {
result.setPageSize(page.getPageSize());
result.setTotal(page.getTotal());
result.setList(new ArrayList<>());
result.setHasNextPage(page.isHasNextPage());
if (CollectionUtils.isEmpty(page.getList())) {
return Result.success(result);
}
......@@ -62,8 +61,17 @@ public class ItemServiceImpl implements ItemService {
vo.setImages(item.getImages());
vo.setPrice(String.valueOf(item.getPrice() * 100));
vo.setDetail(item.getDetail());
vo.setIsCollected(favoritesItemsRelationDao.isCollected(dto.getUserId(), item.getId()) ? 1 : 0);
vo.setCollectCount(favoritesItemsRelationDao.countByItemId(item.getId()));
vo.setIsCollected(0);
if (!dto.getUserId().equals(0L)) {
vo.setIsCollected(favoritesItemsRelationDao.isCollected(dto.getUserId(), item.getId()) ? 1 : 0);
vo.setIsMine(userItemsRelationDao.isExisted(dto.getUserId(), item.getId()) ? 1 : 0);
}
long count = favoritesItemsRelationDao.countByItemId(item.getId());
if (item.getSourceType().equals(CommonEnum.SourceTypeEnum.USER_UPLOAD.getCode())) {
count --;
}
vo.setCollectCount(count);
vo.setSourceType(item.getSourceType());
AgentTranceResponseVo agentTranceResponseVo = new AgentTranceResponseVo();
agentTranceResponseVo.setAgentTraceInfo_("");
......@@ -114,11 +122,15 @@ public class ItemServiceImpl implements ItemService {
// 新增收藏册和藏品关联记录
FavoritesItemsRelation favoritesItemsRelation = new FavoritesItemsRelation();
favoritesItemsRelation.setUserId(dto.getUserId());
favoritesItemsRelation.setFavoritesId(dto.getFavoritesId());
favoritesItemsRelation.setItemId(item.getId());
favoritesItemsRelation.setAddTime(now);
favoritesItemsRelationDao.insert(favoritesItemsRelation);
return Result.success();
Map<String, Object> map = new HashMap<>();
map.put("id", item.getId());
return Result.success(map);
} catch (Exception e) {
logger.error("发布藏品失败,原因:" + e.getMessage(), e);
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
......@@ -145,14 +157,28 @@ public class ItemServiceImpl implements ItemService {
}
itemResponseVo.setPrice(String.valueOf(item.getPrice() * 100));
itemResponseVo.setSourceType(item.getSourceType());
FavoritesItemsRelation favoritesItemsRelation = favoritesItemsRelationDao.selectByUserIdItemId(dto.getUserId(), item.getId());
if (Objects.nonNull(favoritesItemsRelation)) {
itemResponseVo.setIsCollected(1);
itemResponseVo.setFavoritesId(favoritesItemsRelation.getFavoritesId());
} else {
itemResponseVo.setIsCollected(0);
itemResponseVo.setIsCollected(0);
itemResponseVo.setIsMine(0);
if (!dto.getUserId().equals(0L)) {
FavoritesItemsRelation favoritesItemsRelation = favoritesItemsRelationDao.selectByUserIdItemId(dto.getUserId(), item.getId());
if (Objects.nonNull(favoritesItemsRelation)) {
itemResponseVo.setIsCollected(1);
itemResponseVo.setFavoritesId(favoritesItemsRelation.getFavoritesId());
} else {
itemResponseVo.setIsCollected(0);
}
itemResponseVo.setIsMine(userItemsRelationDao.isExisted(dto.getUserId(), item.getId()) ? 1 : 0);
// 添加用户足迹
Footprint footprint = new Footprint();
footprint.setUserId(dto.getUserId());
footprint.setItemId(item.getId());
Date now = new Date();
footprint.setAddTime(now);
footprint.setUpdateTime(now);
footprint.setDeleted(false);
footPrintDao.insert(footprint);
}
itemResponseVo.setIsMine(userItemsRelationDao.isExisted(dto.getUserId(), item.getId()) ? 1 : 0);
logger.info("【请求结束】查看藏品详情成功");
return Result.success(itemResponseVo);
} catch (Exception e) {
......@@ -165,36 +191,48 @@ public class ItemServiceImpl implements ItemService {
@Override
public Result collect(ItemRequestDto dto) {
try {
Item item = itemDao.findDetails(dto.getId());
if (null == item.getId()) {
return Result.failed("数据异常,该藏品不存在");
if (dto.getUserId().equals(0L)) {
return Result.failed("您尚未登录,请先登录");
}
// 查找默认收藏册
Favorites favorites = favoritesDao.defaultFavorites(dto.getUserId());
if (Objects.isNull(favorites)) {
return Result.failed("数据异常,查询不到用户的默认收藏册");
}
item.setName(dto.getName());
item.setCid(dto.getCid());
item.setImages(dto.getImages());
item.setPrice(Long.parseLong(dto.getPrice()) / 100);
item.setDetail(dto.getDetail());
Date now = new Date();
item.setUpdateTime(now);
item.setSourceType(CommonEnum.SourceTypeEnum.USER_UPLOAD.getCode());
item.setIsDeleted(false);
itemDao.update(item);
// 删除藏品和原收藏册关联
List<Long> itemIds = new ArrayList<>();
itemIds.add(item.getId());
favoritesItemsRelationDao.deleteByChosen(dto.getBeforeFavoritesId(), itemIds);
// 新增藏品和新收藏册关联
FavoritesItemsRelation favoritesItemsRelation = new FavoritesItemsRelation();
favoritesItemsRelation.setUserId(dto.getUserId());
favoritesItemsRelation.setFavoritesId(dto.getAfterFavoritesId());
favoritesItemsRelation.setItemId(item.getId());
favoritesItemsRelation.setFavoritesId(favorites.getId());
favoritesItemsRelation.setItemId(dto.getId());
favoritesItemsRelationDao.insert(favoritesItemsRelation);
Map<String, Object> map = new HashMap<>();
map.put("favoritesId", favorites.getId());
return Result.success(map);
} catch (Exception e) {
logger.error("首页收藏失败,原因:" + e.getMessage(), e);
return Result.failed("首页收藏失败");
}
}
@Transactional(rollbackFor = Exception.class)
@Override
public Result cancel(ItemRequestDto dto) {
try {
if (dto.getUserId().equals(0L)) {
return Result.failed("您尚未登录,请先登录");
}
if (userItemsRelationDao.isExisted(dto.getUserId(), dto.getId())) {
return Result.failed("操作失败,无法取消收藏");
}
// 删除藏品和收藏册关联
favoritesItemsRelationDao.deleteByUserIdItemId(dto.getUserId(), dto.getId());
return Result.success();
} catch (Exception e) {
logger.error("修改藏品失败,原因:" + e.getMessage(), e);
return Result.failed("修改藏品失败");
logger.error("首页取消收藏失败,原因:" + e.getMessage(), e);
return Result.failed("首页取消收藏失败");
}
}
......@@ -206,6 +244,18 @@ public class ItemServiceImpl implements ItemService {
return Result.failed("数据异常,该藏品不存在");
}
item.setName(dto.getName());
item.setCid(dto.getCid());
item.setImages(dto.getImages());
item.setPrice(Long.parseLong(dto.getPrice()) / 100);
item.setDetail(dto.getDetail());
Date now = new Date();
item.setUpdateTime(now);
itemDao.update(item);
// 删除原来藏品和收藏册关联
favoritesItemsRelationDao.deleteByUserIdItemId(dto.getUserId(), dto.getId());
// 新增藏品和收藏册关联
FavoritesItemsRelation favoritesItemsRelation = new FavoritesItemsRelation();
favoritesItemsRelation.setUserId(dto.getUserId());
......@@ -214,8 +264,8 @@ public class ItemServiceImpl implements ItemService {
favoritesItemsRelationDao.insert(favoritesItemsRelation);
return Result.success();
} catch (Exception e) {
logger.error("收藏藏品失败,原因:" + e.getMessage(), e);
return Result.failed("收藏藏品失败");
logger.error("修改藏品失败,原因:" + e.getMessage(), e);
return Result.failed("修改藏品失败");
}
}
}
package com.wwdz.ch.wx.interceptor;
import com.alibaba.fastjson.JSON;
import com.wwdz.ch.wx.service.UserTokenManager;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
@Component
public class LoginInterceptor implements HandlerInterceptor {
Logger logger = LoggerFactory.getLogger(LoginInterceptor.class);
@Autowired
private UserTokenManager userTokenManager;
/***
* 在请求处理之前进行调用(Controller方法调用之前)
*/
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
logger.info("-------------进入拦截器");
logger.info("请求头名称:" + JSON.toJSONString(request.getHeaderNames()));
String token = request.getHeader("Authorization");
logger.info("token的值是:" + token);
if (StringUtils.isBlank(token)) {
return true;
}
if (StringUtils.isNotBlank(token)) {
Long userId = userTokenManager.getUserId(token);
if (Objects.nonNull(userId)) {
return true;
}
}
Map<Object, Object> map = new HashMap<>();
map.put("code", 401);
map.put("success", false);
map.put("message", "未登录!");
map.put("result", null);
response.setContentType("application/json; charset=utf-8");
response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
response.getWriter().write(JSON.toJSONString(map));
return false;
}
/***
* 请求处理之后进行调用,但是在视图被渲染之前(Controller方法调用之后)
*/
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
}
/***
* 整个请求结束之后被调用,也就是在DispatchServlet渲染了对应的视图之后执行(主要用于进行资源清理工作)
*/
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
}
}
......@@ -21,6 +21,7 @@ public interface FavoritesService {
Result delete(FavoritesRequestDto dto);
Result batchDelete(FavoritesRequestDto dto);
Result addItem(ItemRequestDto dto);
Result removeItem(ItemRequestDto dto);
......
......@@ -14,5 +14,7 @@ public interface ItemService {
Result collect(ItemRequestDto dto);
Result cancel(ItemRequestDto dto);
Result update(ItemRequestDto dto);
}
......@@ -5,22 +5,20 @@ import com.wwdz.ch.wx.entity.request.FavoritesRequestDto;
import com.wwdz.ch.wx.entity.request.ItemRequestDto;
import com.wwdz.ch.wx.entity.request.KlDataRequestDto;
import com.wwdz.ch.wx.service.FavoritesService;
import com.xxdxxs.support.Delete;
import com.xxdxxs.support.Select;
import com.xxdxxs.utils.JsonUtils;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Objects;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
@RestController
@RequestMapping("/wx/favorites")
......@@ -72,46 +70,79 @@ public class WxFavoritesController {
@ApiOperation(value = "新增")
@PostMapping("/add")
public Result add(@RequestBody FavoritesRequestDto dto) {
if (Objects.isNull(dto.getUserId())) {
public Result add(@RequestBody KlDataRequestDto klDataRequestDto) {
String json = klDataRequestDto.getKl_data();
logger.info("【请求开始】收藏册新增,请求参数,kl_data:{}", json);
String userId = JsonUtils.getValueByPath(json, "userId");
String title = JsonUtils.getValueByPath(json, "title");
String description = JsonUtils.getValueByPath(json, "description");
if (StringUtils.isBlank(userId)) {
return Result.failed("用户id不能为空");
}
if (StringUtils.isBlank(dto.getTitle())) {
if (StringUtils.isBlank(title)) {
return Result.failed("标题不能为空");
}
if (dto.getTitle().length() > 20) {
if (title.length() > 20) {
return Result.failed("标题的字数不能大于20字");
}
if (StringUtils.isNotBlank(dto.getDescription()) && dto.getDescription().length() > 200) {
if (StringUtils.isNotBlank(description) && description.length() > 200) {
return Result.failed("描述的字数不能大于200字");
}
FavoritesRequestDto dto = new FavoritesRequestDto();
dto.setUserId(Long.parseLong(userId));
dto.setTitle(title);
dto.setDescription(description);
return favoritesService.add(dto);
}
@ApiOperation(value = "修改")
@PostMapping("/update")
public Result update(@RequestBody FavoritesRequestDto dto) {
if (Objects.isNull(dto.getId())) {
public Result update(@RequestBody KlDataRequestDto klDataRequestDto) {
String json = klDataRequestDto.getKl_data();
logger.info("【请求开始】收藏册修改,请求参数,kl_data:{}", json);
String id = JsonUtils.getValueByPath(json, "id");
String userId = JsonUtils.getValueByPath(json, "userId");
String title = JsonUtils.getValueByPath(json, "title");
String description = JsonUtils.getValueByPath(json, "description");
if (StringUtils.isBlank(id)) {
return Result.failed("id不能为空");
}
if (Objects.isNull(dto.getUserId())) {
if (StringUtils.isBlank(userId)) {
return Result.failed("用户id不能为空");
}
if (StringUtils.isBlank(dto.getTitle())) {
if (StringUtils.isBlank(title)) {
return Result.failed("标题不能为空");
}
if (dto.getTitle().length() > 20) {
if (title.length() > 20) {
return Result.failed("标题的字数不能大于20字");
}
if (StringUtils.isNotBlank(dto.getDescription()) && dto.getDescription().length() > 200) {
if (StringUtils.isNotBlank(description) && description.length() > 200) {
return Result.failed("描述的字数不能大于200字");
}
FavoritesRequestDto dto = new FavoritesRequestDto();
dto.setId(Long.parseLong(id));
dto.setUserId(Long.parseLong(userId));
dto.setTitle(title);
dto.setDescription(description);
return favoritesService.update(dto);
}
@ApiOperation(value = "详情")
@PostMapping("/info")
public Result info(@RequestBody @Validated(Select.class) FavoritesRequestDto dto) {
public Result info(@RequestBody KlDataRequestDto klDataRequestDto) {
String json = klDataRequestDto.getKl_data();
logger.info("【请求开始】收藏册详情查询,请求参数,kl_data:{}", json);
String id = JsonUtils.getValueByPath(json, "id");
if (StringUtils.isBlank(id)) {
return Result.failed("收藏册id不能为空");
}
FavoritesRequestDto dto = new FavoritesRequestDto();
dto.setId(Long.parseLong(id));
return favoritesService.info(dto);
}
......@@ -121,6 +152,7 @@ public class WxFavoritesController {
String json = klDataRequestDto.getKl_data();
logger.info("【请求开始】收藏册下藏品列表分页查询,请求参数,kl_data:{}", json);
String id = JsonUtils.getValueByPath(json, "id");
String userId = JsonUtils.getValueByPath(json, "userId");
String page = JsonUtils.getValueByPath(json, "page");
String size = JsonUtils.getValueByPath(json, "size");
if (StringUtils.isBlank(id)) {
......@@ -134,7 +166,8 @@ public class WxFavoritesController {
}
FavoritesRequestDto dto = new FavoritesRequestDto();
dto.setUserId(Long.parseLong(id));
dto.setId(Long.parseLong(id));
dto.setUserId(Long.parseLong(userId));
dto.setPage(Integer.parseInt(page));
dto.setSize(Integer.parseInt(size));
return favoritesService.itemList(dto);
......@@ -142,49 +175,107 @@ public class WxFavoritesController {
@ApiOperation(value = "单个删除")
@PostMapping("/delete")
public Result delete(@RequestBody @Validated(Delete.class) FavoritesRequestDto dto) {
if (Objects.isNull(dto.getId())) {
return Result.failed("id不能为空");
public Result delete(@RequestBody KlDataRequestDto klDataRequestDto) {
String json = klDataRequestDto.getKl_data();
logger.info("【请求开始】收藏册单个删除,请求参数,kl_data:{}", json);
String id = JsonUtils.getValueByPath(json, "id");
if (StringUtils.isBlank(id)) {
return Result.failed("收藏册id不能为空");
}
FavoritesRequestDto dto = new FavoritesRequestDto();
dto.setId(Long.parseLong(id));
return favoritesService.delete(dto);
}
@ApiOperation(value = "批量删除")
@PostMapping("/batchDelete")
public Result batchDelete(@RequestBody @Validated(Delete.class) FavoritesRequestDto dto) {
if (CollectionUtils.isEmpty(dto.getIds())) {
return Result.failed("请选择收藏册");
public Result batchDelete(@RequestBody KlDataRequestDto klDataRequestDto) {
String json = klDataRequestDto.getKl_data();
logger.info("【请求开始】收藏册批量删除,请求参数,kl_data:{}", json);
String ids = JsonUtils.getValueByPath(json, "ids");
if (StringUtils.isBlank(ids)) {
return Result.failed("收藏册id不能为空");
}
List<Long> idss = Arrays.stream(ids.substring(1, ids.length() - 1).split(","))
.map(Long::valueOf).collect(Collectors.toList());
FavoritesRequestDto dto = new FavoritesRequestDto();
dto.setIds(idss);
return favoritesService.batchDelete(dto);
}
@ApiOperation(value = "收藏")
@PostMapping("/addItem")
public Result addItem(@RequestBody KlDataRequestDto klDataRequestDto) {
String json = klDataRequestDto.getKl_data();
logger.info("【请求开始】收藏册收藏,请求参数,kl_data:{}", json);
String favoritesId = JsonUtils.getValueByPath(json, "favoritesId");
String id = JsonUtils.getValueByPath(json, "id");
if (StringUtils.isBlank(favoritesId)) {
return Result.failed("收藏册id不能为空");
}
if (StringUtils.isBlank(id)) {
return Result.failed("请选择藏品");
}
ItemRequestDto dto = new ItemRequestDto();
dto.setFavoritesId(Long.parseLong(favoritesId));
dto.setId(Long.parseLong(id));
return favoritesService.addItem(dto);
}
@ApiOperation(value = "取消收藏")
@PostMapping("/removeItem")
public Result removeItem(@RequestBody ItemRequestDto dto) {
if (Objects.isNull(dto.getUserId())) {
public Result removeItem(@RequestBody KlDataRequestDto klDataRequestDto) {
String json = klDataRequestDto.getKl_data();
logger.info("【请求开始】收藏册取消收藏,请求参数,kl_data:{}", json);
String userId = JsonUtils.getValueByPath(json, "userId");
String favoritesId = JsonUtils.getValueByPath(json, "favoritesId");
String itemIds = JsonUtils.getValueByPath(json, "itemIds");
if (StringUtils.isBlank(userId)) {
return Result.failed("用户id不能为空");
}
if (Objects.isNull(dto.getFavoritesId())) {
return Result.failed("收藏册不能为空");
if (StringUtils.isBlank(favoritesId)) {
return Result.failed("收藏册id不能为空");
}
if (CollectionUtils.isEmpty(dto.getItemIds())) {
if (StringUtils.isBlank(itemIds)) {
return Result.failed("请选择藏品");
}
List<Long> itemIdss = Arrays.stream(itemIds.substring(1, itemIds.length() - 1).split(","))
.map(Long::valueOf).collect(Collectors.toList());
ItemRequestDto dto = new ItemRequestDto();
dto.setUserId(Long.parseLong(userId));
dto.setFavoritesId(Long.parseLong(favoritesId));
dto.setItemIds(itemIdss);
return favoritesService.removeItem(dto);
}
@ApiOperation(value = "移动藏品")
@PostMapping("/moveItem")
public Result moveItem(@RequestBody ItemRequestDto dto) {
if (Objects.isNull(dto.getBeforeFavoritesId())) {
public Result moveItem(@RequestBody KlDataRequestDto klDataRequestDto) {
String json = klDataRequestDto.getKl_data();
logger.info("【请求开始】收藏册移动藏品,请求参数,kl_data:{}", json);
String beforeFavoritesId = JsonUtils.getValueByPath(json, "beforeFavoritesId");
String afterFavoritesId = JsonUtils.getValueByPath(json, "afterFavoritesId");
String itemIds = JsonUtils.getValueByPath(json, "itemIds");
if (StringUtils.isBlank(beforeFavoritesId)) {
return Result.failed("原收藏册不能为空");
}
if (Objects.isNull(dto.getAfterFavoritesId())) {
if (StringUtils.isBlank(afterFavoritesId)) {
return Result.failed("现收藏册不能为空");
}
if (CollectionUtils.isEmpty(dto.getItemIds())) {
if (StringUtils.isBlank(itemIds)) {
return Result.failed("请选择藏品");
}
List<Long> itemIdss = Arrays.stream(itemIds.substring(1, itemIds.length() - 1).split(","))
.map(Long::valueOf).collect(Collectors.toList());
ItemRequestDto dto = new ItemRequestDto();
dto.setBeforeFavoritesId(Long.parseLong(beforeFavoritesId));
dto.setAfterFavoritesId(Long.parseLong(afterFavoritesId));
dto.setItemIds(itemIdss);
return favoritesService.moveItem(dto);
}
}
......@@ -11,8 +11,10 @@ import com.wwdz.ch.db.domain.Footprint;
import com.wwdz.ch.db.domain.Item;
import com.wwdz.ch.wx.annotation.LoginUser;
import com.wwdz.ch.wx.entity.request.FootPrintRequestDto;
import com.wwdz.ch.wx.entity.request.KlDataRequestDto;
import com.wwdz.ch.wx.service.FootPrintService;
import org.apache.commons.collections.CollectionUtils;
import com.xxdxxs.utils.JsonUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -20,6 +22,7 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.*;
import java.util.stream.Collectors;
/**
* 用户访问足迹服务
......@@ -126,28 +129,52 @@ public class WxFootprintController {
}
@PostMapping("/page")
public Result page(@RequestBody FootPrintRequestDto dto) {
logger.info("【请求开始】用户足迹列表查询,请求参数,userId:{}", dto.getUserId());
if (Objects.isNull(dto.getUserId())) {
public Result page(@RequestBody KlDataRequestDto klDataRequestDto) {
String json = klDataRequestDto.getKl_data();
logger.info("【请求开始】用户足迹列表查询,请求参数,kl_data:{}", json);
String userId = JsonUtils.getValueByPath(json, "userId");
String page = JsonUtils.getValueByPath(json, "page");
String size = JsonUtils.getValueByPath(json, "size");
if (StringUtils.isBlank(userId)) {
return Result.failed("用户id不能为空");
}
if (Objects.isNull(dto.getPage())) {
if (StringUtils.isBlank(page)) {
return Result.failed("当前页不能为空");
}
if (Objects.isNull(dto.getSize())) {
if (StringUtils.isBlank(size)) {
return Result.failed("页面大小不能为空");
}
if (StringUtils.isBlank(userId)) {
return Result.failed("用户id不能为空");
}
if (StringUtils.isBlank(page)) {
return Result.failed("当前页不能为空");
}
if (StringUtils.isBlank(size)) {
return Result.failed("页面大小不能为空");
}
FootPrintRequestDto dto = new FootPrintRequestDto();
dto.setUserId(Long.parseLong(userId));
dto.setPage(Integer.parseInt(page));
dto.setSize(Integer.parseInt(size));
return footPrintService.page(dto);
}
@PostMapping("/del")
public Result delete(@RequestBody FootPrintRequestDto dto) {
logger.info("【请求开始】用户足迹删除,请求参数,ids:{}", dto.getIds());
if (CollectionUtils.isEmpty(dto.getIds())) {
return Result.failed("请选择足迹");
public Result delete(@RequestBody KlDataRequestDto klDataRequestDto) {
String json = klDataRequestDto.getKl_data();
logger.info("【请求开始】收藏册收藏,请求参数,kl_data:{}", json);
String ids = JsonUtils.getValueByPath(json, "ids");
if (StringUtils.isBlank(ids)) {
return Result.failed("收藏册id不能为空");
}
List<Long> idss = Arrays.stream(ids.substring(1, ids.length() - 1).split(","))
.map(Long::valueOf).collect(Collectors.toList());
FootPrintRequestDto dto = new FootPrintRequestDto();
dto.setIds(idss);
return footPrintService.delete(dto);
}
......
......@@ -27,13 +27,10 @@ public class WxItemController {
@PostMapping("/page")
public Result page(@RequestBody KlDataRequestDto klDataRequestDto) {
String json = klDataRequestDto.getKl_data();
logger.info("【请求开始】藏品列表分页查询,请求参数,kl_data:{}", json);
logger.info("【请求开始】藏品列表首页,请求参数,kl_data:{}", json);
String userId = JsonUtils.getValueByPath(json, "userId");
String page = JsonUtils.getValueByPath(json, "page");
String size = JsonUtils.getValueByPath(json, "size");
if (StringUtils.isBlank(userId)) {
return Result.failed("用户id不能为空");
}
if (StringUtils.isBlank(page)) {
return Result.failed("当前页不能为空");
}
......@@ -42,7 +39,10 @@ public class WxItemController {
}
ItemRequestDto dto = new ItemRequestDto();
dto.setUserId(Long.parseLong(userId));
dto.setUserId(0L);
if (StringUtils.isNotBlank(userId)) {
dto.setUserId(Long.parseLong(userId));
}
dto.setPage(Integer.parseInt(page));
dto.setSize(Integer.parseInt(size));
return itemService.page(dto);
......@@ -56,13 +56,90 @@ public class WxItemController {
@ApiOperation(value = "新增")
@PostMapping("/add")
public Result add(@RequestBody ItemRequestDto dto) {
public Result add(@RequestBody KlDataRequestDto klDataRequestDto) {
String json = klDataRequestDto.getKl_data();
logger.info("【请求开始】藏品发布,请求参数,kl_data:{}", json);
String userId = JsonUtils.getValueByPath(json, "userId");
String cid = JsonUtils.getValueByPath(json, "cid");
String name = JsonUtils.getValueByPath(json, "name");
String detail = JsonUtils.getValueByPath(json, "detail");
String images = JsonUtils.getValueByPath(json, "images");
String favoritesId = JsonUtils.getValueByPath(json, "favoritesId");
String price = JsonUtils.getValueByPath(json, "price");
if (StringUtils.isBlank(userId)) {
return Result.failed("用户id不能为空");
}
if (StringUtils.isBlank(cid)) {
return Result.failed("分类id不能为空");
}
if (StringUtils.isBlank(name)) {
return Result.failed("标题不能为空");
}
if (StringUtils.isBlank(price)) {
return Result.failed("价格不能为空");
}
if (StringUtils.isBlank(images)) {
return Result.failed("图片或视频不能为空");
}
if (StringUtils.isBlank(favoritesId)) {
return Result.failed("收藏册id不能为空");
}
ItemRequestDto dto = new ItemRequestDto();
dto.setUserId(Long.parseLong(userId));
dto.setName(name);
dto.setCid(Integer.parseInt(cid));
dto.setDetail(detail);
dto.setFavoritesId(Long.parseLong(favoritesId));
dto.setImages(images);
dto.setPrice(price);
return itemService.add(dto);
}
@ApiOperation(value = "修改")
@PostMapping("/update")
public Result update(@RequestBody ItemRequestDto dto) {
public Result update(@RequestBody KlDataRequestDto klDataRequestDto) {
String json = klDataRequestDto.getKl_data();
logger.info("【请求开始】藏品发布,请求参数,kl_data:{}", json);
String id = JsonUtils.getValueByPath(json, "id");
String userId = JsonUtils.getValueByPath(json, "userId");
String cid = JsonUtils.getValueByPath(json, "cid");
String name = JsonUtils.getValueByPath(json, "name");
String detail = JsonUtils.getValueByPath(json, "detail");
String images = JsonUtils.getValueByPath(json, "images");
String favoritesId = JsonUtils.getValueByPath(json, "favoritesId");
String price = JsonUtils.getValueByPath(json, "price");
if (StringUtils.isBlank(id)) {
return Result.failed("id不能为空");
}
if (StringUtils.isBlank(userId)) {
return Result.failed("用户id不能为空");
}
if (StringUtils.isBlank(cid)) {
return Result.failed("分类id不能为空");
}
if (StringUtils.isBlank(name)) {
return Result.failed("标题不能为空");
}
if (StringUtils.isBlank(price)) {
return Result.failed("价格不能为空");
}
if (StringUtils.isBlank(images)) {
return Result.failed("图片或视频不能为空");
}
if (StringUtils.isBlank(favoritesId)) {
return Result.failed("收藏册id不能为空");
}
ItemRequestDto dto = new ItemRequestDto();
dto.setId(Long.parseLong(id));
dto.setUserId(Long.parseLong(userId));
dto.setName(name);
dto.setCid(Integer.parseInt(cid));
dto.setDetail(detail);
dto.setFavoritesId(Long.parseLong(favoritesId));
dto.setImages(images);
dto.setPrice(price);
return itemService.update(dto);
}
......@@ -73,16 +150,56 @@ public class WxItemController {
logger.info("【请求开始】藏品详情查询,请求参数,kl_data:{}", json);
String userId = JsonUtils.getValueByPath(json, "userId");
String id = JsonUtils.getValueByPath(json, "id");
if (StringUtils.isBlank(userId)) {
return Result.failed("用户id不能为空");
}
if (StringUtils.isBlank(id)) {
return Result.failed("当前页不能为空");
return Result.failed("藏品id不能为空");
}
ItemRequestDto dto = new ItemRequestDto();
dto.setUserId(Long.parseLong(userId));
dto.setUserId(0L);
if (StringUtils.isNotBlank(userId)) {
dto.setUserId(Long.parseLong(userId));
}
dto.setId(Long.parseLong(id));
return itemService.info(dto);
}
@ApiOperation(value = "收藏")
@PostMapping("/collect")
public Result collect(@RequestBody KlDataRequestDto klDataRequestDto) {
String json = klDataRequestDto.getKl_data();
logger.info("【请求开始】首页收藏,请求参数,kl_data:{}", json);
String userId = JsonUtils.getValueByPath(json, "userId");
String id = JsonUtils.getValueByPath(json, "id");
if (StringUtils.isBlank(id)) {
return Result.failed("藏品id不能为空");
}
ItemRequestDto dto = new ItemRequestDto();
dto.setUserId(0L);
if (StringUtils.isNotBlank(userId)) {
dto.setUserId(Long.parseLong(userId));
}
dto.setId(Long.parseLong(id));
return itemService.collect(dto);
}
@ApiOperation(value = "取消收藏")
@PostMapping("/cancel")
public Result cancel(@RequestBody KlDataRequestDto klDataRequestDto) {
String json = klDataRequestDto.getKl_data();
logger.info("【请求开始】首页取消收藏,请求参数,kl_data:{}", json);
String userId = JsonUtils.getValueByPath(json, "userId");
String id = JsonUtils.getValueByPath(json, "id");
if (StringUtils.isBlank(id)) {
return Result.failed("藏品id不能为空");
}
ItemRequestDto dto = new ItemRequestDto();
dto.setUserId(0L);
if (StringUtils.isNotBlank(userId)) {
dto.setUserId(Long.parseLong(userId));
}
dto.setId(Long.parseLong(id));
return itemService.cancel(dto);
}
}
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