商品收藏增加category 修复收藏不显示问题
This commit is contained in:
@ -12,6 +12,7 @@ import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import co.yixiang.api.ApiResult;
|
||||
import co.yixiang.api.YshopException;
|
||||
import co.yixiang.enums.ProductTypeEnum;
|
||||
import co.yixiang.modules.logging.aop.log.AppLog;
|
||||
import co.yixiang.common.bean.LocalUser;
|
||||
import co.yixiang.common.interceptor.AuthCheck;
|
||||
@ -98,7 +99,7 @@ public class StoreCombinationController {
|
||||
Long uid = LocalUser.getUser().getUid();
|
||||
StoreCombinationVo storeCombinationVo = storeCombinationService.getDetail(id,uid);
|
||||
storeCombinationVo.setUserCollect(relationService
|
||||
.isProductRelation(storeCombinationVo.getStoreInfo().getProductId(),uid));
|
||||
.isProductRelation(id,uid, ProductTypeEnum.COMBINATION.getValue()));
|
||||
return ApiResult.ok(storeCombinationVo);
|
||||
}
|
||||
|
||||
|
@ -13,6 +13,7 @@ import cn.hutool.core.util.NumberUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import co.yixiang.api.ApiResult;
|
||||
import co.yixiang.api.YshopException;
|
||||
import co.yixiang.enums.ProductTypeEnum;
|
||||
import co.yixiang.modules.logging.aop.log.AppLog;
|
||||
import co.yixiang.common.bean.LocalUser;
|
||||
import co.yixiang.common.interceptor.AuthCheck;
|
||||
@ -96,7 +97,7 @@ public class StoreSeckillController {
|
||||
Long uid = LocalUser.getUser().getUid();
|
||||
StoreSeckillVo storeSeckillVo = yxStoreSeckillService.getDetail(id);
|
||||
storeSeckillVo.setUserCollect(relationService
|
||||
.isProductRelation(storeSeckillVo.getStoreInfo().getProductId(),uid));
|
||||
.isProductRelation(id,uid, ProductTypeEnum.SECKILL.getValue()));
|
||||
return ApiResult.ok(storeSeckillVo);
|
||||
}
|
||||
|
||||
|
@ -25,5 +25,8 @@ public class YxStoreProductRelationQueryParam {
|
||||
private String id;
|
||||
|
||||
@ApiModelProperty(value = "某种类型的商品(普通商品、秒杀商品)")
|
||||
private String category = "root";
|
||||
private String category;
|
||||
|
||||
@ApiModelProperty(value = "collect-收藏,foot-足迹")
|
||||
private String type;
|
||||
}
|
||||
|
@ -238,7 +238,7 @@ public class StoreProductController {
|
||||
if(!NumberUtil.isNumber(param.getId())) {
|
||||
throw new YshopException("参数非法");
|
||||
}
|
||||
productRelationService.addRroductRelation(Long.valueOf(param.getId()),uid,param.getCategory());
|
||||
productRelationService.addRroductRelation(Long.valueOf(param.getId()),uid,param.getCategory(),param.getType());
|
||||
return ApiResult.ok();
|
||||
}
|
||||
|
||||
@ -256,7 +256,7 @@ public class StoreProductController {
|
||||
throw new YshopException("参数非法");
|
||||
}
|
||||
productRelationService.delRroductRelation(Long.valueOf(param.getId()),
|
||||
uid,param.getCategory());
|
||||
uid,param.getCategory(),param.getType());
|
||||
return ApiResult.ok();
|
||||
}
|
||||
|
||||
|
@ -315,7 +315,8 @@ public class CreatShareProductService {
|
||||
File file = FileUtil.mkdir(new File(fileDir));
|
||||
if(AppFromEnum.ROUNTINE.getValue().equals(from)){
|
||||
siteUrl = siteUrl+"/bargain/";
|
||||
QrCodeUtil.generate(siteUrl+"?bargainId="+bargainId+"&uid="+uid+"&partake="+uid+"&pageType=dargain&codeType="+AppFromEnum.ROUNTINE.getValue(), 180, 180,
|
||||
QrCodeUtil.generate(siteUrl+"?bargainId="+bargainId+"&uid="+uid+"&partake="+uid+"&pageType=dargain&codeType="+AppFromEnum.ROUNTINE.getValue(),
|
||||
180, 180,
|
||||
FileUtil.file(fileDir+name));
|
||||
}
|
||||
else if(AppFromEnum.APP.getValue().equals(from)){
|
||||
|
@ -5,9 +5,9 @@ spring:
|
||||
druid:
|
||||
# 主库数据源
|
||||
master:
|
||||
url: jdbc:mysql://localhost:3306/yshopb2c?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8
|
||||
url: jdbc:mysql://localhost:3306/b2x-boot-online?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8
|
||||
username: root
|
||||
password: 123456
|
||||
password: root
|
||||
# 从库数据源
|
||||
slave:
|
||||
# 从数据源开关/默认关闭
|
||||
@ -83,8 +83,8 @@ swagger:
|
||||
|
||||
# 文件存储路径
|
||||
file:
|
||||
path: D:\yshop\file\
|
||||
avatar: D:\yshop\avatar\
|
||||
path: /Users/hupeng/hupeng/file/
|
||||
avatar: /Users/hupeng/hupeng/file/
|
||||
# 文件大小 /M
|
||||
maxSize: 100
|
||||
avatarMaxSize: 5
|
||||
|
@ -7,7 +7,7 @@ spring:
|
||||
master:
|
||||
url: jdbc:mysql://localhost:3306/yshopb2c?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull
|
||||
username: yshopb2c
|
||||
password: bkfGfAimifjPZtNE
|
||||
password: YAimJWfpMar6dwpm
|
||||
# 从库数据源
|
||||
slave:
|
||||
# 从数据源开关/默认关闭
|
||||
@ -50,7 +50,7 @@ spring:
|
||||
host: 127.0.0.1 # Redis服务器地址
|
||||
database: 5 # Redis数据库索引(默认为0)
|
||||
port: 6379 # Redis服务器连接端口
|
||||
password: # Redis服务器连接密码(默认为空)
|
||||
password: yshop2019@yxtw # Redis服务器连接密码(默认为空)
|
||||
jedis:
|
||||
pool:
|
||||
max-active: 8 # 连接池最大连接数(使用负值表示没有限制)
|
||||
@ -69,7 +69,7 @@ single:
|
||||
yshop:
|
||||
security:
|
||||
jwt-key: yshopmini
|
||||
token-expired-in: 72000
|
||||
token-expired-in: 7200000
|
||||
|
||||
|
||||
|
||||
|
@ -53,6 +53,7 @@ mybatis-plus:
|
||||
check-config-location: true
|
||||
configuration:
|
||||
map-underscore-to-camel-case: true
|
||||
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
|
||||
global-config:
|
||||
db-config:
|
||||
id-type: auto
|
||||
|
@ -12,6 +12,7 @@ import lombok.Getter;
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum ProductTypeEnum {
|
||||
PRODUCT("product","普通商品"),
|
||||
|
||||
PINK("pink","拼团"),
|
||||
|
||||
|
@ -36,21 +36,21 @@ public interface YxStoreProductRelationService extends BaseService<YxStoreProduc
|
||||
* @param uid 用户ID
|
||||
* @return Boolean
|
||||
*/
|
||||
Boolean isProductRelation(long productId, long uid);
|
||||
Boolean isProductRelation(long productId, long uid,String category);
|
||||
|
||||
/**
|
||||
*添加收藏
|
||||
* @param productId 商品id
|
||||
* @param uid 用户id
|
||||
*/
|
||||
void addRroductRelation(long productId,long uid,String category);
|
||||
void addRroductRelation(long productId,long uid,String category,String type);
|
||||
|
||||
/**
|
||||
* 取消收藏
|
||||
* @param productId 商品id
|
||||
* @param uid 用户id
|
||||
*/
|
||||
void delRroductRelation(long productId,long uid,String category);
|
||||
void delRroductRelation(long productId,long uid,String category,String type);
|
||||
|
||||
/**
|
||||
* 获取用户收藏列表
|
||||
|
@ -8,11 +8,19 @@
|
||||
*/
|
||||
package co.yixiang.modules.product.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.ListUtil;
|
||||
import cn.hutool.core.util.ArrayUtil;
|
||||
import co.yixiang.api.YshopException;
|
||||
import co.yixiang.common.service.impl.BaseServiceImpl;
|
||||
import co.yixiang.common.utils.QueryHelpPlus;
|
||||
import co.yixiang.domain.PageResult;
|
||||
import co.yixiang.dozer.service.IGenerator;
|
||||
import co.yixiang.enums.ProductTypeEnum;
|
||||
import co.yixiang.modules.activity.domain.YxStoreCombination;
|
||||
import co.yixiang.modules.activity.domain.YxStoreSeckill;
|
||||
import co.yixiang.modules.activity.service.YxStoreCombinationService;
|
||||
import co.yixiang.modules.activity.service.YxStoreSeckillService;
|
||||
import co.yixiang.modules.product.domain.YxStoreProduct;
|
||||
import co.yixiang.modules.product.domain.YxStoreProductRelation;
|
||||
import co.yixiang.modules.product.service.YxStoreProductRelationService;
|
||||
import co.yixiang.modules.product.service.YxStoreProductService;
|
||||
@ -22,6 +30,8 @@ import co.yixiang.modules.product.service.mapper.YxStoreProductRelationMapper;
|
||||
import co.yixiang.modules.product.vo.YxStoreProductRelationQueryVo;
|
||||
import co.yixiang.modules.user.service.YxUserService;
|
||||
import co.yixiang.utils.FileUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
@ -57,6 +67,8 @@ public class YxStoreProductRelationServiceImpl extends BaseServiceImpl<YxStorePr
|
||||
private final YxStoreProductService storeProductService;
|
||||
private final YxUserService userService;
|
||||
private final IGenerator generator;
|
||||
private final YxStoreCombinationService storeCombinationService;
|
||||
private final YxStoreSeckillService storeSeckillService;
|
||||
|
||||
/**
|
||||
* 获取用户收藏列表
|
||||
@ -68,7 +80,39 @@ public class YxStoreProductRelationServiceImpl extends BaseServiceImpl<YxStorePr
|
||||
@Override
|
||||
public List<YxStoreProductRelationQueryVo> userCollectProduct(int page, int limit, Long uid,String type) {
|
||||
Page<YxStoreProductRelation> pageModel = new Page<>(page, limit);
|
||||
List<YxStoreProductRelationQueryVo> list = yxStoreProductRelationMapper.selectRelationList(pageModel,uid,type);
|
||||
IPage<YxStoreProductRelation> pageList = yxStoreProductRelationMapper.selectPage(pageModel
|
||||
,new LambdaQueryWrapper<YxStoreProductRelation>().eq(YxStoreProductRelation::getUid,uid)
|
||||
.eq(YxStoreProductRelation::getType,type));
|
||||
List<YxStoreProductRelationQueryVo> list = ListUtil.list(false);
|
||||
for (YxStoreProductRelation yxStoreProductRelation : pageList.getRecords()) {
|
||||
YxStoreProductRelationQueryVo relationQueryVo = generator
|
||||
.convert(yxStoreProductRelation,YxStoreProductRelationQueryVo.class);
|
||||
String storeName = "";
|
||||
String image = "";
|
||||
Double price = 0d;
|
||||
if(ProductTypeEnum.PRODUCT.getValue().equals(yxStoreProductRelation.getCategory())){
|
||||
YxStoreProduct yxStoreProduct = storeProductService.getById(yxStoreProductRelation.getProductId());
|
||||
storeName = yxStoreProduct.getStoreName();
|
||||
image = yxStoreProduct.getImage();
|
||||
price = yxStoreProduct.getPrice().doubleValue();
|
||||
relationQueryVo.setIsIntegral(yxStoreProduct.getIsIntegral());
|
||||
}else if(ProductTypeEnum.COMBINATION.getValue().equals(yxStoreProductRelation.getCategory())){
|
||||
YxStoreCombination yxStoreCombination = storeCombinationService.getById(yxStoreProductRelation.getProductId());
|
||||
storeName = yxStoreCombination.getTitle();
|
||||
image = yxStoreCombination.getImage();
|
||||
price = yxStoreCombination.getPrice().doubleValue();
|
||||
}else if(ProductTypeEnum.SECKILL.getValue().equals(yxStoreProductRelation.getCategory())){
|
||||
YxStoreSeckill yxStoreSeckill = storeSeckillService.getById(yxStoreProductRelation.getProductId());
|
||||
storeName = yxStoreSeckill.getTitle();
|
||||
image = yxStoreSeckill.getImage();
|
||||
price = yxStoreSeckill.getPrice().doubleValue();
|
||||
}
|
||||
relationQueryVo.setStoreName(storeName);
|
||||
relationQueryVo.setImage(image);
|
||||
relationQueryVo.setPrice(price);
|
||||
list.add(relationQueryVo);
|
||||
}
|
||||
// List<YxStoreProductRelationQueryVo> list = yxStoreProductRelationMapper.selectRelationList(pageModel,uid,type);
|
||||
return list;
|
||||
}
|
||||
|
||||
@ -78,14 +122,15 @@ public class YxStoreProductRelationServiceImpl extends BaseServiceImpl<YxStorePr
|
||||
* @param uid 用户id
|
||||
*/
|
||||
@Override
|
||||
public void addRroductRelation(long productId,long uid,String category) {
|
||||
if(isProductRelation(productId,uid)) {
|
||||
public void addRroductRelation(long productId,long uid,String category,String type) {
|
||||
if(isProductRelation(productId,uid,category)) {
|
||||
throw new YshopException("已收藏");
|
||||
}
|
||||
YxStoreProductRelation storeProductRelation = YxStoreProductRelation.builder()
|
||||
.productId(productId)
|
||||
.uid(uid)
|
||||
.type(category)
|
||||
.type(type)
|
||||
.category(category)
|
||||
.build();
|
||||
yxStoreProductRelationMapper.insert(storeProductRelation);
|
||||
}
|
||||
@ -96,11 +141,12 @@ public class YxStoreProductRelationServiceImpl extends BaseServiceImpl<YxStorePr
|
||||
* @param uid 用户id
|
||||
*/
|
||||
@Override
|
||||
public void delRroductRelation(long productId,long uid,String category) {
|
||||
public void delRroductRelation(long productId,long uid,String category,String type) {
|
||||
YxStoreProductRelation productRelation = this.lambdaQuery()
|
||||
.eq(YxStoreProductRelation::getProductId,productId)
|
||||
.eq(YxStoreProductRelation::getUid,uid)
|
||||
.eq(YxStoreProductRelation::getType,category)
|
||||
.eq(YxStoreProductRelation::getType,type)
|
||||
.eq(YxStoreProductRelation::getCategory,category)
|
||||
.one();
|
||||
if(productRelation == null) {
|
||||
throw new YshopException("已取消");
|
||||
@ -116,11 +162,12 @@ public class YxStoreProductRelationServiceImpl extends BaseServiceImpl<YxStorePr
|
||||
* @return Boolean
|
||||
*/
|
||||
@Override
|
||||
public Boolean isProductRelation(long productId, long uid) {
|
||||
public Boolean isProductRelation(long productId, long uid,String category) {
|
||||
Long count = yxStoreProductRelationMapper
|
||||
.selectCount(Wrappers.<YxStoreProductRelation>lambdaQuery()
|
||||
.eq(YxStoreProductRelation::getUid,uid)
|
||||
.eq(YxStoreProductRelation::getType,"collect")
|
||||
.eq(YxStoreProductRelation::getCategory,category)
|
||||
.eq(YxStoreProductRelation::getProductId,productId));
|
||||
if(count > 0) {
|
||||
return true;
|
||||
|
@ -321,7 +321,7 @@ public class YxStoreProductServiceImpl extends BaseServiceImpl<StoreProductMappe
|
||||
storeProductQueryVo.setVipPrice(BigDecimal.valueOf(vipPrice));
|
||||
|
||||
//收藏
|
||||
boolean isCollect = relationService.isProductRelation(id, uid);
|
||||
boolean isCollect = relationService.isProductRelation(id, uid,ProductTypeEnum.PRODUCT.getValue());
|
||||
storeProductQueryVo.setUserCollect(isCollect);
|
||||
}
|
||||
//总条数
|
||||
@ -368,6 +368,7 @@ public class YxStoreProductServiceImpl extends BaseServiceImpl<StoreProductMappe
|
||||
YxStoreProductRelation foot = relationService.getOne(new LambdaQueryWrapper<YxStoreProductRelation>()
|
||||
.eq(YxStoreProductRelation::getUid, uid)
|
||||
.eq(YxStoreProductRelation::getProductId, storeProductQueryVo.getId())
|
||||
.eq(YxStoreProductRelation::getCategory,ProductTypeEnum.PRODUCT.getValue())
|
||||
.eq(YxStoreProductRelation::getType, "foot"));
|
||||
|
||||
if (ObjectUtil.isNotNull(foot)) {
|
||||
@ -379,6 +380,7 @@ public class YxStoreProductServiceImpl extends BaseServiceImpl<StoreProductMappe
|
||||
storeProductRelation.setUid(uid);
|
||||
storeProductRelation.setCreateTime(new Date());
|
||||
storeProductRelation.setType("foot");
|
||||
storeProductRelation.setCategory(ProductTypeEnum.PRODUCT.getValue());
|
||||
relationService.save(storeProductRelation);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user