添加用户足迹,修改查询接口
This commit is contained in:
@ -111,13 +111,15 @@ public class UserController {
|
|||||||
@GetMapping("/collect/user")
|
@GetMapping("/collect/user")
|
||||||
@ApiImplicitParams({
|
@ApiImplicitParams({
|
||||||
@ApiImplicitParam(name = "page", value = "页码,默认为1", paramType = "query", dataType = "int"),
|
@ApiImplicitParam(name = "page", value = "页码,默认为1", paramType = "query", dataType = "int"),
|
||||||
@ApiImplicitParam(name = "limit", value = "页大小,默认为10", paramType = "query", dataType = "int")
|
@ApiImplicitParam(name = "limit", value = "页大小,默认为10", paramType = "query", dataType = "int"),
|
||||||
|
@ApiImplicitParam(name = "type", value = "foot为足迹,collect为收藏", paramType = "query", dataType = "String")
|
||||||
})
|
})
|
||||||
@ApiOperation(value = "获取收藏产品",notes = "获取收藏产品")
|
@ApiOperation(value = "获取收藏产品,或足迹",notes = "获取收藏产品,或足迹")
|
||||||
public ApiResult<List<YxStoreProductRelationQueryVo>> collectUser(@RequestParam(value = "page",defaultValue = "1") int page,
|
public ApiResult<List<YxStoreProductRelationQueryVo>> collectUser(@RequestParam(value = "page",defaultValue = "1") int page,
|
||||||
@RequestParam(value = "limit",defaultValue = "10") int limit){
|
@RequestParam(value = "limit",defaultValue = "10") int limit,
|
||||||
|
@RequestParam(value = "type") String type){
|
||||||
Long uid = LocalUser.getUser().getUid();
|
Long uid = LocalUser.getUser().getUid();
|
||||||
return ApiResult.ok(relationService.userCollectProduct(page,limit,uid));
|
return ApiResult.ok(relationService.userCollectProduct(page,limit,uid,type));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -38,7 +38,7 @@ public class YxStoreProductRelation extends BaseDomain {
|
|||||||
@ApiModelProperty(value = "商品ID")
|
@ApiModelProperty(value = "商品ID")
|
||||||
private Long productId;
|
private Long productId;
|
||||||
|
|
||||||
@ApiModelProperty(value = "类型(收藏(collect)、点赞(like))")
|
@ApiModelProperty(value = "类型(收藏(collect)、点赞(like)、足迹(foot))")
|
||||||
private String type;
|
private String type;
|
||||||
|
|
||||||
@ApiModelProperty(value = "某种类型的商品(普通商品、秒杀商品)")
|
@ApiModelProperty(value = "某种类型的商品(普通商品、秒杀商品)")
|
||||||
|
@ -54,7 +54,7 @@ public interface YxStoreProductRelationService extends BaseService<YxStoreProduc
|
|||||||
* @param uid 用户id
|
* @param uid 用户id
|
||||||
* @return list
|
* @return list
|
||||||
*/
|
*/
|
||||||
List<YxStoreProductRelationQueryVo> userCollectProduct(int page, int limit, Long uid);
|
List<YxStoreProductRelationQueryVo> userCollectProduct(int page, int limit, Long uid,String type);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -49,9 +49,9 @@ public class YxStoreProductRelationServiceImpl extends BaseServiceImpl<YxStorePr
|
|||||||
* @return list
|
* @return list
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<YxStoreProductRelationQueryVo> userCollectProduct(int page, int limit, Long uid) {
|
public List<YxStoreProductRelationQueryVo> userCollectProduct(int page, int limit, Long uid,String type) {
|
||||||
Page<YxStoreProductRelation> pageModel = new Page<>(page, limit);
|
Page<YxStoreProductRelation> pageModel = new Page<>(page, limit);
|
||||||
List<YxStoreProductRelationQueryVo> list = yxStoreProductRelationMapper.selectList(pageModel,uid);
|
List<YxStoreProductRelationQueryVo> list = yxStoreProductRelationMapper.selectList(pageModel,uid,type);
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -68,6 +68,7 @@ public class YxStoreProductRelationServiceImpl extends BaseServiceImpl<YxStorePr
|
|||||||
YxStoreProductRelation storeProductRelation = YxStoreProductRelation.builder()
|
YxStoreProductRelation storeProductRelation = YxStoreProductRelation.builder()
|
||||||
.productId(productId)
|
.productId(productId)
|
||||||
.uid(uid)
|
.uid(uid)
|
||||||
|
.type("collect")
|
||||||
.build();
|
.build();
|
||||||
yxStoreProductRelationMapper.insert(storeProductRelation);
|
yxStoreProductRelationMapper.insert(storeProductRelation);
|
||||||
}
|
}
|
||||||
@ -82,6 +83,7 @@ public class YxStoreProductRelationServiceImpl extends BaseServiceImpl<YxStorePr
|
|||||||
YxStoreProductRelation productRelation = this.lambdaQuery()
|
YxStoreProductRelation productRelation = this.lambdaQuery()
|
||||||
.eq(YxStoreProductRelation::getProductId,productId)
|
.eq(YxStoreProductRelation::getProductId,productId)
|
||||||
.eq(YxStoreProductRelation::getUid,uid)
|
.eq(YxStoreProductRelation::getUid,uid)
|
||||||
|
.eq(YxStoreProductRelation::getType,"collect")
|
||||||
.one();
|
.one();
|
||||||
if(productRelation == null) {
|
if(productRelation == null) {
|
||||||
throw new YshopException("已取消");
|
throw new YshopException("已取消");
|
||||||
@ -103,6 +105,7 @@ public class YxStoreProductRelationServiceImpl extends BaseServiceImpl<YxStorePr
|
|||||||
int count = yxStoreProductRelationMapper
|
int count = yxStoreProductRelationMapper
|
||||||
.selectCount(Wrappers.<YxStoreProductRelation>lambdaQuery()
|
.selectCount(Wrappers.<YxStoreProductRelation>lambdaQuery()
|
||||||
.eq(YxStoreProductRelation::getUid,uid)
|
.eq(YxStoreProductRelation::getUid,uid)
|
||||||
|
.eq(YxStoreProductRelation::getType,"collect")
|
||||||
.eq(YxStoreProductRelation::getProductId,productId));
|
.eq(YxStoreProductRelation::getProductId,productId));
|
||||||
if(count > 0) {
|
if(count > 0) {
|
||||||
return true;
|
return true;
|
||||||
|
@ -30,6 +30,7 @@ import co.yixiang.exception.ErrorRequestException;
|
|||||||
import co.yixiang.modules.category.service.YxStoreCategoryService;
|
import co.yixiang.modules.category.service.YxStoreCategoryService;
|
||||||
import co.yixiang.modules.product.domain.YxStoreProduct;
|
import co.yixiang.modules.product.domain.YxStoreProduct;
|
||||||
import co.yixiang.modules.product.domain.YxStoreProductAttrValue;
|
import co.yixiang.modules.product.domain.YxStoreProductAttrValue;
|
||||||
|
import co.yixiang.modules.product.domain.YxStoreProductRelation;
|
||||||
import co.yixiang.modules.product.param.YxStoreProductQueryParam;
|
import co.yixiang.modules.product.param.YxStoreProductQueryParam;
|
||||||
import co.yixiang.modules.product.service.YxStoreProductAttrService;
|
import co.yixiang.modules.product.service.YxStoreProductAttrService;
|
||||||
import co.yixiang.modules.product.service.YxStoreProductAttrValueService;
|
import co.yixiang.modules.product.service.YxStoreProductAttrValueService;
|
||||||
@ -57,6 +58,7 @@ import co.yixiang.utils.RedisUtil;
|
|||||||
import co.yixiang.utils.ShopKeyUtils;
|
import co.yixiang.utils.ShopKeyUtils;
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
@ -72,13 +74,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.Comparator;
|
|
||||||
import java.util.LinkedHashMap;
|
|
||||||
import java.util.LinkedList;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
|
||||||
@ -333,6 +329,21 @@ public class YxStoreProductServiceImpl extends BaseServiceImpl<StoreProductMappe
|
|||||||
//门店
|
//门店
|
||||||
productVo.setSystemStore(systemStoreService.getStoreInfo(latitude,longitude));
|
productVo.setSystemStore(systemStoreService.getStoreInfo(latitude,longitude));
|
||||||
productVo.setMapKey(RedisUtil.get(ShopKeyUtils.getTengXunMapKey()));
|
productVo.setMapKey(RedisUtil.get(ShopKeyUtils.getTengXunMapKey()));
|
||||||
|
//添加足迹
|
||||||
|
YxStoreProductRelation foot = relationService.getOne(new LambdaQueryWrapper<YxStoreProductRelation>()
|
||||||
|
.eq(YxStoreProductRelation::getUid, uid)
|
||||||
|
.eq(YxStoreProductRelation::getProductId, storeProductQueryVo.getId())
|
||||||
|
.eq(YxStoreProductRelation::getType, "foot"));
|
||||||
|
if(ObjectUtil.isNotNull(foot)){
|
||||||
|
foot.setCreateTime(new Date());
|
||||||
|
relationService.saveOrUpdate(foot);
|
||||||
|
}else {
|
||||||
|
YxStoreProductRelation storeProductRelation = new YxStoreProductRelation();
|
||||||
|
storeProductRelation.setProductId(storeProductQueryVo.getId());
|
||||||
|
storeProductRelation.setUid(uid);
|
||||||
|
storeProductRelation.setCreateTime(new Date());
|
||||||
|
relationService.save(storeProductRelation);
|
||||||
|
}
|
||||||
|
|
||||||
return productVo;
|
return productVo;
|
||||||
}
|
}
|
||||||
|
@ -33,8 +33,8 @@ public interface YxStoreProductRelationMapper extends CoreMapper<YxStoreProductR
|
|||||||
@Select("select B.id pid,A.category,B.store_name as storeName,B.price," +
|
@Select("select B.id pid,A.category,B.store_name as storeName,B.price," +
|
||||||
"B.ot_price as otPrice,B.sales,B.image,B.is_show as isShow" +
|
"B.ot_price as otPrice,B.sales,B.image,B.is_show as isShow" +
|
||||||
" from yx_store_product_relation A left join yx_store_product B " +
|
" from yx_store_product_relation A left join yx_store_product B " +
|
||||||
"on A.product_id = B.id where A.uid=#{uid} and A.is_del = 0 and B.is_del = 0")
|
"on A.product_id = B.id where A.type=#{type} and A.uid=#{uid} and A.is_del = 0 and B.is_del = 0 order by create_time desc")
|
||||||
List<YxStoreProductRelationQueryVo> selectList(Page page, @Param("uid") Long uid);
|
List<YxStoreProductRelationQueryVo> selectList(Page page, @Param("uid") Long uid,@Param("type") String type);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user