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

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")
@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<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();
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")
private Long productId;
@ApiModelProperty(value = "类型(收藏(collect、点赞(like))")
@ApiModelProperty(value = "类型(收藏(collect、点赞(like)、足迹(foot))")
private String type;
@ApiModelProperty(value = "某种类型的商品(普通商品、秒杀商品)")

View File

@ -54,7 +54,7 @@ public interface YxStoreProductRelationService extends BaseService<YxStoreProduc
* @param uid 用户id
* @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
*/
@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);
List<YxStoreProductRelationQueryVo> list = yxStoreProductRelationMapper.selectList(pageModel,uid);
List<YxStoreProductRelationQueryVo> list = yxStoreProductRelationMapper.selectList(pageModel,uid,type);
return list;
}
@ -68,6 +68,7 @@ public class YxStoreProductRelationServiceImpl extends BaseServiceImpl<YxStorePr
YxStoreProductRelation storeProductRelation = YxStoreProductRelation.builder()
.productId(productId)
.uid(uid)
.type("collect")
.build();
yxStoreProductRelationMapper.insert(storeProductRelation);
}
@ -82,6 +83,7 @@ public class YxStoreProductRelationServiceImpl extends BaseServiceImpl<YxStorePr
YxStoreProductRelation productRelation = this.lambdaQuery()
.eq(YxStoreProductRelation::getProductId,productId)
.eq(YxStoreProductRelation::getUid,uid)
.eq(YxStoreProductRelation::getType,"collect")
.one();
if(productRelation == null) {
throw new YshopException("已取消");
@ -103,6 +105,7 @@ public class YxStoreProductRelationServiceImpl extends BaseServiceImpl<YxStorePr
int count = yxStoreProductRelationMapper
.selectCount(Wrappers.<YxStoreProductRelation>lambdaQuery()
.eq(YxStoreProductRelation::getUid,uid)
.eq(YxStoreProductRelation::getType,"collect")
.eq(YxStoreProductRelation::getProductId,productId));
if(count > 0) {
return true;

View File

@ -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<StoreProductMappe
//门店
productVo.setSystemStore(systemStoreService.getStoreInfo(latitude,longitude));
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;
}

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," +
"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 " +
"on A.product_id = B.id where A.uid=#{uid} and A.is_del = 0 and B.is_del = 0")
List<YxStoreProductRelationQueryVo> 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<YxStoreProductRelationQueryVo> selectList(Page page, @Param("uid") Long uid,@Param("type") String type);
}