diff --git a/yshop-app/src/main/java/co/yixiang/modules/user/rest/UserController.java b/yshop-app/src/main/java/co/yixiang/modules/user/rest/UserController.java index 233aecd9..b8c30d19 100644 --- a/yshop-app/src/main/java/co/yixiang/modules/user/rest/UserController.java +++ b/yshop-app/src/main/java/co/yixiang/modules/user/rest/UserController.java @@ -111,13 +111,15 @@ public class UserController { @GetMapping("/collect/user") @ApiImplicitParams({ @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> 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(); - return ApiResult.ok(relationService.userCollectProduct(page,limit,uid)); + return ApiResult.ok(relationService.userCollectProduct(page,limit,uid,type)); } /** diff --git a/yshop-mall/src/main/java/co/yixiang/modules/product/domain/YxStoreProductRelation.java b/yshop-mall/src/main/java/co/yixiang/modules/product/domain/YxStoreProductRelation.java index 6bb4f82b..0d5465a8 100644 --- a/yshop-mall/src/main/java/co/yixiang/modules/product/domain/YxStoreProductRelation.java +++ b/yshop-mall/src/main/java/co/yixiang/modules/product/domain/YxStoreProductRelation.java @@ -38,7 +38,7 @@ public class YxStoreProductRelation extends BaseDomain { @ApiModelProperty(value = "商品ID") private Long productId; - @ApiModelProperty(value = "类型(收藏(collect)、点赞(like))") + @ApiModelProperty(value = "类型(收藏(collect)、点赞(like)、足迹(foot))") private String type; @ApiModelProperty(value = "某种类型的商品(普通商品、秒杀商品)") diff --git a/yshop-mall/src/main/java/co/yixiang/modules/product/service/YxStoreProductRelationService.java b/yshop-mall/src/main/java/co/yixiang/modules/product/service/YxStoreProductRelationService.java index 0154e706..4ce03dfc 100644 --- a/yshop-mall/src/main/java/co/yixiang/modules/product/service/YxStoreProductRelationService.java +++ b/yshop-mall/src/main/java/co/yixiang/modules/product/service/YxStoreProductRelationService.java @@ -54,7 +54,7 @@ public interface YxStoreProductRelationService extends BaseService userCollectProduct(int page, int limit, Long uid); + List userCollectProduct(int page, int limit, Long uid,String type); diff --git a/yshop-mall/src/main/java/co/yixiang/modules/product/service/impl/YxStoreProductRelationServiceImpl.java b/yshop-mall/src/main/java/co/yixiang/modules/product/service/impl/YxStoreProductRelationServiceImpl.java index dccf48af..c171f878 100644 --- a/yshop-mall/src/main/java/co/yixiang/modules/product/service/impl/YxStoreProductRelationServiceImpl.java +++ b/yshop-mall/src/main/java/co/yixiang/modules/product/service/impl/YxStoreProductRelationServiceImpl.java @@ -49,9 +49,9 @@ public class YxStoreProductRelationServiceImpl extends BaseServiceImpl userCollectProduct(int page, int limit, Long uid) { + public List userCollectProduct(int page, int limit, Long uid,String type) { Page pageModel = new Page<>(page, limit); - List list = yxStoreProductRelationMapper.selectList(pageModel,uid); + List list = yxStoreProductRelationMapper.selectList(pageModel,uid,type); return list; } @@ -68,6 +68,7 @@ public class YxStoreProductRelationServiceImpl extends BaseServiceImpllambdaQuery() .eq(YxStoreProductRelation::getUid,uid) + .eq(YxStoreProductRelation::getType,"collect") .eq(YxStoreProductRelation::getProductId,productId)); if(count > 0) { return true; diff --git a/yshop-mall/src/main/java/co/yixiang/modules/product/service/impl/YxStoreProductServiceImpl.java b/yshop-mall/src/main/java/co/yixiang/modules/product/service/impl/YxStoreProductServiceImpl.java index 668e9c99..8442af98 100644 --- a/yshop-mall/src/main/java/co/yixiang/modules/product/service/impl/YxStoreProductServiceImpl.java +++ b/yshop-mall/src/main/java/co/yixiang/modules/product/service/impl/YxStoreProductServiceImpl.java @@ -30,6 +30,7 @@ import co.yixiang.exception.ErrorRequestException; import co.yixiang.modules.category.service.YxStoreCategoryService; import co.yixiang.modules.product.domain.YxStoreProduct; 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.service.YxStoreProductAttrService; import co.yixiang.modules.product.service.YxStoreProductAttrValueService; @@ -57,6 +58,7 @@ import co.yixiang.utils.RedisUtil; import co.yixiang.utils.ShopKeyUtils; import com.alibaba.fastjson.JSON; 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.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -72,13 +74,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.math.BigDecimal; -import java.util.ArrayList; -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.*; import java.util.stream.Collectors; @@ -333,6 +329,21 @@ public class YxStoreProductServiceImpl extends BaseServiceImpl() + .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; } diff --git a/yshop-mall/src/main/java/co/yixiang/modules/product/service/mapper/YxStoreProductRelationMapper.java b/yshop-mall/src/main/java/co/yixiang/modules/product/service/mapper/YxStoreProductRelationMapper.java index dad7c5f2..ebbfc034 100644 --- a/yshop-mall/src/main/java/co/yixiang/modules/product/service/mapper/YxStoreProductRelationMapper.java +++ b/yshop-mall/src/main/java/co/yixiang/modules/product/service/mapper/YxStoreProductRelationMapper.java @@ -33,8 +33,8 @@ public interface YxStoreProductRelationMapper extends CoreMapper selectList(Page page, @Param("uid") Long uid); + "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 selectList(Page page, @Param("uid") Long uid,@Param("type") String type); }