种草点赞修复
This commit is contained in:
parent
9570d4dad2
commit
8c6fb56c3f
@ -112,7 +112,7 @@ public class AppCircleController {
|
||||
@Operation(summary = "点赞/取消点赞")
|
||||
@PreAuthenticated
|
||||
public CommonResult<Boolean> doLike(@RequestParam("id") Long lookId){
|
||||
circleService.updateLikeCount(lookId);
|
||||
circleService.updateLikeCount(lookId,getLoginUserId());
|
||||
return success(true);
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,37 @@
|
||||
package cn.iocoder.yudao.module.promotion.dal.dataobject.circlelike;
|
||||
|
||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||
import com.baomidou.mybatisplus.annotation.KeySequence;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.*;
|
||||
|
||||
/**
|
||||
* 商城动态 DO
|
||||
*
|
||||
* @author 管理员
|
||||
*/
|
||||
@TableName("promotion_circle_like")
|
||||
@KeySequence("promotion_circle_like_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ToString(callSuper = true)
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class CircleLikeDO extends BaseDO {
|
||||
|
||||
/**
|
||||
* 编号
|
||||
*/
|
||||
@TableId
|
||||
private Long id;
|
||||
/**
|
||||
* 用户编号
|
||||
*/
|
||||
private Long userId;
|
||||
/**
|
||||
* 种草id
|
||||
*/
|
||||
private Long circleId;
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
package cn.iocoder.yudao.module.promotion.dal.mysql.circlelike;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import cn.iocoder.yudao.module.promotion.controller.admin.circle.vo.CirclePageReqVO;
|
||||
import cn.iocoder.yudao.module.promotion.dal.dataobject.circle.CircleDO;
|
||||
import cn.iocoder.yudao.module.promotion.dal.dataobject.circlelike.CircleLikeDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* 商城动态 Mapper
|
||||
*
|
||||
* @author 管理员
|
||||
*/
|
||||
@Mapper
|
||||
public interface CircleLikeMapper extends BaseMapperX<CircleLikeDO> {
|
||||
|
||||
}
|
@ -33,7 +33,7 @@ public interface CircleService {
|
||||
void addLookCount(Long circleId);
|
||||
|
||||
//点赞/取消点赞
|
||||
void updateLikeCount(Long circleId);
|
||||
void updateLikeCount(Long circleId,Long userId);
|
||||
|
||||
/**
|
||||
* 删除商城动态
|
||||
|
@ -1,5 +1,7 @@
|
||||
package cn.iocoder.yudao.module.promotion.service.circle;
|
||||
|
||||
import cn.iocoder.yudao.module.promotion.dal.dataobject.circlelike.CircleLikeDO;
|
||||
import cn.iocoder.yudao.module.promotion.service.circlelike.CircleLikeService;
|
||||
import org.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
@ -29,6 +31,9 @@ public class CircleServiceImpl implements CircleService {
|
||||
@Resource
|
||||
private CircleMapper circleMapper;
|
||||
|
||||
@Resource
|
||||
private CircleLikeService circleLikeService;
|
||||
|
||||
@Override
|
||||
public Long createCircle(CircleSaveReqVO createReqVO) {
|
||||
// 插入
|
||||
@ -55,9 +60,20 @@ public class CircleServiceImpl implements CircleService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateLikeCount(Long circleId) {
|
||||
public void updateLikeCount(Long circleId,Long userId) {
|
||||
CircleDO circleDO = circleMapper.selectOne("id", circleId);
|
||||
circleDO.setLookCount(circleDO.getLikeCount() + 1);
|
||||
CircleLikeDO circleLikeDO = circleLikeService.getCircleLike(circleId,userId);
|
||||
if (circleLikeDO != null){
|
||||
circleLikeService.deleteCircleLike(circleLikeDO.getId());
|
||||
circleDO.setLikeCount(circleDO.getLikeCount() - 1);
|
||||
}
|
||||
else {
|
||||
circleDO.setLikeCount(circleDO.getLikeCount() + 1);
|
||||
circleLikeDO = new CircleLikeDO();
|
||||
circleLikeDO.setCircleId(circleId);
|
||||
circleLikeDO.setUserId(userId);
|
||||
circleLikeService.createCircleLike(circleLikeDO);
|
||||
}
|
||||
circleMapper.updateById(circleDO);
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,24 @@
|
||||
package cn.iocoder.yudao.module.promotion.service.circlelike;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.module.promotion.controller.admin.circle.vo.CirclePageReqVO;
|
||||
import cn.iocoder.yudao.module.promotion.controller.admin.circle.vo.CircleSaveReqVO;
|
||||
import cn.iocoder.yudao.module.promotion.dal.dataobject.circle.CircleDO;
|
||||
import cn.iocoder.yudao.module.promotion.dal.dataobject.circlelike.CircleLikeDO;
|
||||
|
||||
import javax.validation.Valid;
|
||||
|
||||
/**
|
||||
* 商城动态 Service 接口
|
||||
*
|
||||
* @author 管理员
|
||||
*/
|
||||
public interface CircleLikeService {
|
||||
|
||||
|
||||
CircleLikeDO getCircleLike(Long circleId, Long userId);
|
||||
|
||||
void deleteCircleLike(Long id);
|
||||
|
||||
void createCircleLike(CircleLikeDO circleLikeDO);
|
||||
}
|
@ -0,0 +1,52 @@
|
||||
package cn.iocoder.yudao.module.promotion.service.circlelike;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||
import cn.iocoder.yudao.module.promotion.controller.admin.circle.vo.CirclePageReqVO;
|
||||
import cn.iocoder.yudao.module.promotion.controller.admin.circle.vo.CircleSaveReqVO;
|
||||
import cn.iocoder.yudao.module.promotion.dal.dataobject.circle.CircleDO;
|
||||
import cn.iocoder.yudao.module.promotion.dal.dataobject.circlelike.CircleLikeDO;
|
||||
import cn.iocoder.yudao.module.promotion.dal.mysql.circle.CircleMapper;
|
||||
import cn.iocoder.yudao.module.promotion.dal.mysql.circlelike.CircleLikeMapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
import static cn.iocoder.yudao.module.promotion.enums.ErrorCodeConstants.CIRCLE_NOT_EXISTS;
|
||||
|
||||
/**
|
||||
* 商城动态 Service 实现类
|
||||
*
|
||||
* @author 管理员
|
||||
*/
|
||||
@Service
|
||||
@Validated
|
||||
public class CircleLikeServiceImpl implements CircleLikeService {
|
||||
|
||||
@Resource
|
||||
private CircleLikeMapper circleLikeMapper;
|
||||
|
||||
|
||||
@Override
|
||||
public CircleLikeDO getCircleLike(Long circleId, Long userId) {
|
||||
CircleLikeDO circleLikeDO = circleLikeMapper.selectOne(new LambdaQueryWrapper<CircleLikeDO>()
|
||||
.eq(CircleLikeDO::getCircleId,circleId)
|
||||
.eq(CircleLikeDO::getUserId,userId)
|
||||
.eq(BaseDO::getDeleted,false));
|
||||
return circleLikeDO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteCircleLike(Long id) {
|
||||
circleLikeMapper.deleteById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void createCircleLike(CircleLikeDO circleLikeDO) {
|
||||
circleLikeMapper.insert(circleLikeDO);
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user