|
@@ -1,5 +1,9 @@
|
|
package com.chelvc.cloud.vehicle.server.service.impl;
|
|
package com.chelvc.cloud.vehicle.server.service.impl;
|
|
|
|
|
|
|
|
+import java.util.Date;
|
|
|
|
+import java.util.List;
|
|
|
|
+import java.util.Objects;
|
|
|
|
+
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
@@ -26,13 +30,8 @@ import lombok.extern.slf4j.Slf4j;
|
|
import org.apache.dubbo.config.annotation.DubboService;
|
|
import org.apache.dubbo.config.annotation.DubboService;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.context.annotation.Lazy;
|
|
import org.springframework.context.annotation.Lazy;
|
|
-import org.springframework.stereotype.Service;
|
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
-import java.util.Date;
|
|
|
|
-import java.util.List;
|
|
|
|
-import java.util.Objects;
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* @PACKAGE_NAME: net.yeeu.collision.dynamic.service.impl
|
|
* @PACKAGE_NAME: net.yeeu.collision.dynamic.service.impl
|
|
* @NAME: DynamicEvaluateRecordServiceImpl
|
|
* @NAME: DynamicEvaluateRecordServiceImpl
|
|
@@ -40,141 +39,142 @@ import java.util.Objects;
|
|
* @DATE: 2023/8/8 18:40
|
|
* @DATE: 2023/8/8 18:40
|
|
*/
|
|
*/
|
|
@Slf4j
|
|
@Slf4j
|
|
-@Service
|
|
|
|
@RequiredArgsConstructor(onConstructor = @__({@Autowired, @Lazy}))
|
|
@RequiredArgsConstructor(onConstructor = @__({@Autowired, @Lazy}))
|
|
@DubboService(interfaceClass = com.chelvc.cloud.vehicle.api.service.DynamicEvaluateRecordService.class)
|
|
@DubboService(interfaceClass = com.chelvc.cloud.vehicle.api.service.DynamicEvaluateRecordService.class)
|
|
public class DynamicEvaluateRecordServiceImpl extends ServiceImpl<DynamicEvaluateRecordMapper, DynamicEvaluateRecord>
|
|
public class DynamicEvaluateRecordServiceImpl extends ServiceImpl<DynamicEvaluateRecordMapper, DynamicEvaluateRecord>
|
|
- implements DynamicEvaluateRecordService, com.chelvc.cloud.vehicle.api.service.DynamicEvaluateRecordService{
|
|
|
|
|
|
+ implements DynamicEvaluateRecordService, com.chelvc.cloud.vehicle.api.service.DynamicEvaluateRecordService {
|
|
|
|
|
|
- private final DynamicEvaluateRecordMapper baseMapper;
|
|
|
|
|
|
+ private final DynamicEvaluateRecordMapper baseMapper;
|
|
|
|
|
|
- private final DynamicContentService iDynamicContentService;
|
|
|
|
|
|
+ private final DynamicContentService iDynamicContentService;
|
|
|
|
|
|
- private final DynamicCommentService iDynamicCommentService;
|
|
|
|
|
|
+ private final DynamicCommentService iDynamicCommentService;
|
|
|
|
|
|
- private LambdaQueryWrapper<DynamicEvaluateRecord> buildAddWrapper(Long contentId, Long userId) {
|
|
|
|
- LambdaQueryWrapper<DynamicEvaluateRecord> lqw = Wrappers.lambdaQuery();
|
|
|
|
- lqw.eq(DynamicEvaluateRecord::getContentId, contentId);
|
|
|
|
- lqw.eq(DynamicEvaluateRecord::getUserId, userId);
|
|
|
|
- return lqw;
|
|
|
|
- }
|
|
|
|
|
|
+ private LambdaQueryWrapper<DynamicEvaluateRecord> buildAddWrapper(Long contentId, Long userId) {
|
|
|
|
+ LambdaQueryWrapper<DynamicEvaluateRecord> lqw = Wrappers.lambdaQuery();
|
|
|
|
+ lqw.eq(DynamicEvaluateRecord::getContentId, contentId);
|
|
|
|
+ lqw.eq(DynamicEvaluateRecord::getUserId, userId);
|
|
|
|
+ return lqw;
|
|
|
|
+ }
|
|
|
|
|
|
- /**
|
|
|
|
- * 新增内容评价(点赞/踩)列
|
|
|
|
- */
|
|
|
|
- @Override
|
|
|
|
- @Transactional(rollbackFor = Exception.class)
|
|
|
|
- public Boolean updateRecord(AddDynamicEvaluateRecordParam param, Long userId) {
|
|
|
|
- Integer actionType = param.getActionType().getValue();
|
|
|
|
- Integer recordType = param.getRecordType().getValue();
|
|
|
|
- Integer dynamicStatusType = param.getDynamicStatusType().getValue();
|
|
|
|
- LambdaQueryWrapper<DynamicEvaluateRecord> lqw =
|
|
|
|
- buildAddWrapper(param.getContentId(), userId);
|
|
|
|
- if(Objects.equals(ActionType.ADD.getValue(), actionType)){
|
|
|
|
- //判断该用户是否有点赞/踩记录,点击新增记录,取消删除记录
|
|
|
|
- executeWrapper(lqw, param, true, userId);
|
|
|
|
- if (Objects.equals(RecordType.COMMENT.getValue(), recordType)) {
|
|
|
|
- iDynamicCommentService.addNum(dynamicStatusType, param.getContentId());
|
|
|
|
- } else if(Objects.equals(RecordType.DYNAMIC.getValue(), recordType)){
|
|
|
|
- iDynamicContentService.addNum(dynamicStatusType, param.getContentId());
|
|
|
|
- }
|
|
|
|
- } else if (Objects.equals(ActionType.CANCEL.getValue(), actionType)) {
|
|
|
|
- lqw.eq(DynamicEvaluateRecord::getOperaterType, dynamicStatusType);
|
|
|
|
- //判断该用户是否有点赞/踩记录,点击新增记录,取消删除记录
|
|
|
|
- executeWrapper(lqw, param, false, userId);
|
|
|
|
- if (Objects.equals(RecordType.COMMENT.getValue(), recordType)) {
|
|
|
|
- iDynamicCommentService.reduceNum(dynamicStatusType, param.getContentId());
|
|
|
|
- } else if(Objects.equals(RecordType.DYNAMIC.getValue(), recordType)){
|
|
|
|
- iDynamicContentService.reduceNum(dynamicStatusType, param.getContentId());
|
|
|
|
- }
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 新增内容评价(点赞/踩)列
|
|
|
|
+ */
|
|
|
|
+ @Override
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
|
+ public Boolean updateRecord(AddDynamicEvaluateRecordParam param, Long userId) {
|
|
|
|
+ Integer actionType = param.getActionType().getValue();
|
|
|
|
+ Integer recordType = param.getRecordType().getValue();
|
|
|
|
+ Integer dynamicStatusType = param.getDynamicStatusType().getValue();
|
|
|
|
+ LambdaQueryWrapper<DynamicEvaluateRecord> lqw =
|
|
|
|
+ buildAddWrapper(param.getContentId(), userId);
|
|
|
|
+ if (Objects.equals(ActionType.ADD.getValue(), actionType)) {
|
|
|
|
+ //判断该用户是否有点赞/踩记录,点击新增记录,取消删除记录
|
|
|
|
+ executeWrapper(lqw, param, true, userId);
|
|
|
|
+ if (Objects.equals(RecordType.COMMENT.getValue(), recordType)) {
|
|
|
|
+ iDynamicCommentService.addNum(dynamicStatusType, param.getContentId());
|
|
|
|
+ } else if (Objects.equals(RecordType.DYNAMIC.getValue(), recordType)) {
|
|
|
|
+ iDynamicContentService.addNum(dynamicStatusType, param.getContentId());
|
|
|
|
+ }
|
|
|
|
+ } else if (Objects.equals(ActionType.CANCEL.getValue(), actionType)) {
|
|
|
|
+ lqw.eq(DynamicEvaluateRecord::getOperaterType, dynamicStatusType);
|
|
|
|
+ //判断该用户是否有点赞/踩记录,点击新增记录,取消删除记录
|
|
|
|
+ executeWrapper(lqw, param, false, userId);
|
|
|
|
+ if (Objects.equals(RecordType.COMMENT.getValue(), recordType)) {
|
|
|
|
+ iDynamicCommentService.reduceNum(dynamicStatusType, param.getContentId());
|
|
|
|
+ } else if (Objects.equals(RecordType.DYNAMIC.getValue(), recordType)) {
|
|
|
|
+ iDynamicContentService.reduceNum(dynamicStatusType, param.getContentId());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return true;
|
|
}
|
|
}
|
|
- return true;
|
|
|
|
- }
|
|
|
|
|
|
|
|
- @Override
|
|
|
|
- public DynamicEvaluateRecordDTO queryOperaterType(Long id, Long userId, Integer recordType) {
|
|
|
|
- LambdaQueryWrapper<DynamicEvaluateRecord> lwq = Wrappers.lambdaQuery();
|
|
|
|
- lwq.eq(DynamicEvaluateRecord::getContentId, id);
|
|
|
|
- lwq.eq(DynamicEvaluateRecord::getUserId, userId);
|
|
|
|
- lwq.eq(DynamicEvaluateRecord::getContentType, recordType);
|
|
|
|
- lwq.orderByDesc(DynamicEvaluateRecord::getCreateTime);
|
|
|
|
- List<DynamicEvaluateRecord> dynamicEvaluateRecordEntities = baseMapper.selectList(lwq);
|
|
|
|
- if (dynamicEvaluateRecordEntities != null && dynamicEvaluateRecordEntities.size() > 0){
|
|
|
|
- DynamicEvaluateRecord entity = dynamicEvaluateRecordEntities.get(0);
|
|
|
|
- return ObjectUtils.copying(entity, DynamicEvaluateRecordDTO.class);
|
|
|
|
|
|
+ @Override
|
|
|
|
+ public DynamicEvaluateRecordDTO queryOperaterType(Long id, Long userId, Integer recordType) {
|
|
|
|
+ LambdaQueryWrapper<DynamicEvaluateRecord> lwq = Wrappers.lambdaQuery();
|
|
|
|
+ lwq.eq(DynamicEvaluateRecord::getContentId, id);
|
|
|
|
+ lwq.eq(DynamicEvaluateRecord::getUserId, userId);
|
|
|
|
+ lwq.eq(DynamicEvaluateRecord::getContentType, recordType);
|
|
|
|
+ lwq.orderByDesc(DynamicEvaluateRecord::getCreateTime);
|
|
|
|
+ List<DynamicEvaluateRecord> dynamicEvaluateRecordEntities = baseMapper.selectList(lwq);
|
|
|
|
+ if (dynamicEvaluateRecordEntities != null && dynamicEvaluateRecordEntities.size() > 0) {
|
|
|
|
+ DynamicEvaluateRecord entity = dynamicEvaluateRecordEntities.get(0);
|
|
|
|
+ return ObjectUtils.copying(entity, DynamicEvaluateRecordDTO.class);
|
|
|
|
+ }
|
|
|
|
+ return null;
|
|
}
|
|
}
|
|
- return null;
|
|
|
|
- }
|
|
|
|
|
|
|
|
- @Override
|
|
|
|
- public Integer queryNewInformNum(Long userId) {
|
|
|
|
- LambdaQueryWrapper<DynamicEvaluateRecord> lwq = Wrappers.lambdaQuery();
|
|
|
|
- lwq.eq(DynamicEvaluateRecord::getTargetUserId, userId);
|
|
|
|
- lwq.eq(DynamicEvaluateRecord::getFlag, 0);
|
|
|
|
- return baseMapper.selectCount(lwq);
|
|
|
|
- }
|
|
|
|
|
|
+ @Override
|
|
|
|
+ public Integer queryNewInformNum(Long userId) {
|
|
|
|
+ LambdaQueryWrapper<DynamicEvaluateRecord> lwq = Wrappers.lambdaQuery();
|
|
|
|
+ lwq.eq(DynamicEvaluateRecord::getTargetUserId, userId);
|
|
|
|
+ lwq.eq(DynamicEvaluateRecord::getFlag, 0);
|
|
|
|
+ return baseMapper.selectCount(lwq);
|
|
|
|
+ }
|
|
|
|
|
|
- @Override
|
|
|
|
- public void changeEvaluateInformFlag(Long userId) {
|
|
|
|
- LambdaUpdateWrapper<DynamicEvaluateRecord> lwq = Wrappers.lambdaUpdate();
|
|
|
|
- lwq.eq(DynamicEvaluateRecord::getTargetUserId, userId);
|
|
|
|
- lwq.eq(DynamicEvaluateRecord::getFlag, 0);
|
|
|
|
- lwq.set(DynamicEvaluateRecord::getFlag, 1);
|
|
|
|
- baseMapper.update(null, lwq);
|
|
|
|
- }
|
|
|
|
|
|
+ @Override
|
|
|
|
+ public void changeEvaluateInformFlag(Long userId) {
|
|
|
|
+ LambdaUpdateWrapper<DynamicEvaluateRecord> lwq = Wrappers.lambdaUpdate();
|
|
|
|
+ lwq.eq(DynamicEvaluateRecord::getTargetUserId, userId);
|
|
|
|
+ lwq.eq(DynamicEvaluateRecord::getFlag, 0);
|
|
|
|
+ lwq.set(DynamicEvaluateRecord::getFlag, 1);
|
|
|
|
+ baseMapper.update(null, lwq);
|
|
|
|
+ }
|
|
|
|
|
|
- @Override
|
|
|
|
- public Pagination<EvaluateDTO> selectEvaluateListByUserId(Long userId, Paging paging) {
|
|
|
|
- Page<DynamicEvaluateRecord> page = this.lambdaQuery()
|
|
|
|
- .eq(DynamicEvaluateRecord::getTargetUserId, userId)
|
|
|
|
- .orderByAsc(DynamicEvaluateRecord::getCreateTime).page(DatabaseContextHolder.page(paging));
|
|
|
|
- List<DynamicEvaluateRecord> dynamicEvaluateRecords = page.getRecords();
|
|
|
|
- List<EvaluateDTO> copy = ObjectUtils.copying(dynamicEvaluateRecords, EvaluateDTO.class);
|
|
|
|
- if(copy != null && copy.size() > 0){
|
|
|
|
- for (EvaluateDTO evaluateDTO : copy) {
|
|
|
|
- Integer contentType = evaluateDTO.getContentType();
|
|
|
|
- if(contentType == 1){
|
|
|
|
- evaluateDTO.setDynamicContentDTO(iDynamicContentService.queryById(evaluateDTO.getContentId(), evaluateDTO.getUserId()));
|
|
|
|
- } else {
|
|
|
|
- DynamicCommentDTO dynamicCommentDTO = iDynamicCommentService.queryById(evaluateDTO.getContentId());
|
|
|
|
- if(dynamicCommentDTO != null){
|
|
|
|
- evaluateDTO.setDynamicContentDTO(iDynamicContentService.queryById(dynamicCommentDTO.getDynamicId(), evaluateDTO.getUserId()));
|
|
|
|
- }
|
|
|
|
- evaluateDTO.setDynamicCommentDTO(dynamicCommentDTO);
|
|
|
|
|
|
+ @Override
|
|
|
|
+ public Pagination<EvaluateDTO> selectEvaluateListByUserId(Long userId, Paging paging) {
|
|
|
|
+ Page<DynamicEvaluateRecord> page = this.lambdaQuery()
|
|
|
|
+ .eq(DynamicEvaluateRecord::getTargetUserId, userId)
|
|
|
|
+ .orderByAsc(DynamicEvaluateRecord::getCreateTime).page(DatabaseContextHolder.page(paging));
|
|
|
|
+ List<DynamicEvaluateRecord> dynamicEvaluateRecords = page.getRecords();
|
|
|
|
+ List<EvaluateDTO> copy = ObjectUtils.copying(dynamicEvaluateRecords, EvaluateDTO.class);
|
|
|
|
+ if (copy != null && copy.size() > 0) {
|
|
|
|
+ for (EvaluateDTO evaluateDTO : copy) {
|
|
|
|
+ Integer contentType = evaluateDTO.getContentType();
|
|
|
|
+ if (contentType == 1) {
|
|
|
|
+ evaluateDTO.setDynamicContentDTO(iDynamicContentService.queryById(evaluateDTO.getContentId(),
|
|
|
|
+ evaluateDTO.getUserId()));
|
|
|
|
+ } else {
|
|
|
|
+ DynamicCommentDTO dynamicCommentDTO = iDynamicCommentService.queryById(evaluateDTO.getContentId());
|
|
|
|
+ if (dynamicCommentDTO != null) {
|
|
|
|
+ evaluateDTO.setDynamicContentDTO(iDynamicContentService.queryById(dynamicCommentDTO.getDynamicId(), evaluateDTO.getUserId()));
|
|
|
|
+ }
|
|
|
|
+ evaluateDTO.setDynamicCommentDTO(dynamicCommentDTO);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- }
|
|
|
|
|
|
+ return DatabaseContextHolder.pagination(page, copy);
|
|
}
|
|
}
|
|
- return DatabaseContextHolder.pagination(page, copy);
|
|
|
|
- }
|
|
|
|
|
|
|
|
- /**
|
|
|
|
- * 判断该用户是否有点赞/踩记录,点击新增记录,取消删除记录
|
|
|
|
- * @param lqw
|
|
|
|
- * @param param
|
|
|
|
- * @param b
|
|
|
|
- */
|
|
|
|
- public void executeWrapper(LambdaQueryWrapper<DynamicEvaluateRecord> lqw,
|
|
|
|
- AddDynamicEvaluateRecordParam param, boolean b, Long userId){
|
|
|
|
- DynamicEvaluateRecord DynamicEvaluateRecord = baseMapper.selectOne(lqw);
|
|
|
|
- if(b){
|
|
|
|
- if(DynamicEvaluateRecord != null){
|
|
|
|
- throw new ResourceUnavailableException("处理失败");
|
|
|
|
- }
|
|
|
|
- DynamicEvaluateRecord contentEvaluateRecord = ObjectUtils.copying(param,
|
|
|
|
- DynamicEvaluateRecord.class);
|
|
|
|
- contentEvaluateRecord.setContentType(param.getRecordType().getValue());
|
|
|
|
- contentEvaluateRecord.setOperaterType(param.getDynamicStatusType().getValue());
|
|
|
|
- contentEvaluateRecord.setUserId(userId);
|
|
|
|
- contentEvaluateRecord.setFlag(0);
|
|
|
|
- contentEvaluateRecord.setCreateTime(new Date());
|
|
|
|
- baseMapper.insert(contentEvaluateRecord);
|
|
|
|
- } else {
|
|
|
|
- if(DynamicEvaluateRecord == null){
|
|
|
|
- throw new ResourceUnavailableException("处理失败");
|
|
|
|
- }
|
|
|
|
- baseMapper.deleteByRecordId(DynamicEvaluateRecord.getId());
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 判断该用户是否有点赞/踩记录,点击新增记录,取消删除记录
|
|
|
|
+ *
|
|
|
|
+ * @param lqw
|
|
|
|
+ * @param param
|
|
|
|
+ * @param b
|
|
|
|
+ */
|
|
|
|
+ public void executeWrapper(LambdaQueryWrapper<DynamicEvaluateRecord> lqw,
|
|
|
|
+ AddDynamicEvaluateRecordParam param, boolean b, Long userId) {
|
|
|
|
+ DynamicEvaluateRecord DynamicEvaluateRecord = baseMapper.selectOne(lqw);
|
|
|
|
+ if (b) {
|
|
|
|
+ if (DynamicEvaluateRecord != null) {
|
|
|
|
+ throw new ResourceUnavailableException("处理失败");
|
|
|
|
+ }
|
|
|
|
+ DynamicEvaluateRecord contentEvaluateRecord = ObjectUtils.copying(param,
|
|
|
|
+ DynamicEvaluateRecord.class);
|
|
|
|
+ contentEvaluateRecord.setContentType(param.getRecordType().getValue());
|
|
|
|
+ contentEvaluateRecord.setOperaterType(param.getDynamicStatusType().getValue());
|
|
|
|
+ contentEvaluateRecord.setUserId(userId);
|
|
|
|
+ contentEvaluateRecord.setFlag(0);
|
|
|
|
+ contentEvaluateRecord.setCreateTime(new Date());
|
|
|
|
+ baseMapper.insert(contentEvaluateRecord);
|
|
|
|
+ } else {
|
|
|
|
+ if (DynamicEvaluateRecord == null) {
|
|
|
|
+ throw new ResourceUnavailableException("处理失败");
|
|
|
|
+ }
|
|
|
|
+ baseMapper.deleteByRecordId(DynamicEvaluateRecord.getId());
|
|
|
|
+ }
|
|
|
|
+ log.info("用户:[{}]{}{}{}", userId, param.getRecordType().getDesc(),
|
|
|
|
+ param.getActionType().getDesc(), param.getDynamicStatusType().getDesc());
|
|
}
|
|
}
|
|
- log.info("用户:[{}]{}{}{}",userId, param.getRecordType().getDesc(),
|
|
|
|
- param.getActionType().getDesc(), param.getDynamicStatusType().getDesc());
|
|
|
|
- }
|
|
|
|
}
|
|
}
|