添加用户足迹,修改查询接口

This commit is contained in:
xuwenbo
2020-08-31 09:58:48 +08:00
parent 3c27658b9c
commit 8a13035675
6 changed files with 33 additions and 17 deletions

View File

@ -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));
} }
/** /**

View File

@ -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 = "某种类型的商品(普通商品、秒杀商品)")

View File

@ -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);

View File

@ -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;

View File

@ -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;
} }

View File

@ -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);
} }