|
@@ -1,6 +1,10 @@
|
|
|
package com.chelvc.cloud.vehicle.server.service.impl;
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.chelvc.cloud.user.client.UserClient;
|
|
|
import com.chelvc.cloud.user.client.dto.UserDTO;
|
|
@@ -20,7 +24,10 @@ import com.chelvc.cloud.vehicle.server.entity.GoodsAssess;
|
|
|
import com.chelvc.cloud.vehicle.server.service.AssessService;
|
|
|
import com.chelvc.framework.base.context.Session;
|
|
|
import com.chelvc.framework.base.context.SessionContextHolder;
|
|
|
+import com.chelvc.framework.common.model.Pagination;
|
|
|
+import com.chelvc.framework.common.model.Paging;
|
|
|
import com.chelvc.framework.common.util.AssertUtils;
|
|
|
+import com.chelvc.framework.database.context.DatabaseContextHolder;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -57,7 +64,6 @@ public class AssessServiceImpl extends ServiceImpl<GoodsAssessMapper, GoodsAsses
|
|
|
Session user = SessionContextHolder.getSession();
|
|
|
AssertUtils.available(this.getOne(new QueryWrapper<GoodsAssess>().eq("order_id", param.getOrderId()).eq(
|
|
|
"creator", user.getId())) == null, "该订单已评价");
|
|
|
-
|
|
|
GoodsAssess goodsAssess = GoodsAssessCopier.INSTANCE.copying(param);
|
|
|
goodsAssess.setHits(0L);
|
|
|
goodsAssess.setIsRecover(0);
|
|
@@ -216,4 +222,54 @@ public class AssessServiceImpl extends ServiceImpl<GoodsAssessMapper, GoodsAsses
|
|
|
data.put("weekScore", assessScore.getWeekScore());
|
|
|
return data;
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void changeCommentInformFlag(Long userId) {
|
|
|
+ LambdaUpdateWrapper<GoodsAssess> lwq = Wrappers.lambdaUpdate();
|
|
|
+ lwq.eq(GoodsAssess::getCreator, userId);
|
|
|
+ lwq.eq(GoodsAssess::getFlag, 0);
|
|
|
+ lwq.set(GoodsAssess::getFlag, 1);
|
|
|
+ baseMapper.update(null, lwq);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Integer queryNewInformNum(Long userId) {
|
|
|
+ LambdaQueryWrapper<GoodsAssess> lwq = Wrappers.lambdaQuery();
|
|
|
+ lwq.eq(GoodsAssess::getCreator, userId);
|
|
|
+ lwq.eq(GoodsAssess::getFlag, 0);
|
|
|
+ return baseMapper.selectCount(lwq);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Pagination<GoodsAssessDto> selectCommentListByUserId(Long userId, Paging paging) {
|
|
|
+ Page<GoodsAssess> page = this.lambdaQuery()
|
|
|
+ .eq(GoodsAssess::getCreator, userId)
|
|
|
+ .orderByDesc(GoodsAssess::getCreateTime).page(DatabaseContextHolder.page(paging));
|
|
|
+ List<GoodsAssess> goodsAssesses = page.getRecords();
|
|
|
+ List<GoodsAssessDto> goodsAssesseDtos = GoodsAssessCopier.INSTANCE.copying(goodsAssesses);
|
|
|
+ //个人信息获取
|
|
|
+ UserDTO user = userService.getUser(userId);
|
|
|
+ List<GoodsAssessDto> result = goodsAssesseDtos.stream().peek(item -> {
|
|
|
+ item.setCreatorAvatar(user.getAvatar());
|
|
|
+ item.setCreatorNickName(user.getNickname());
|
|
|
+ item.setCreatorTimeFormat(SDF.format(item.getCreateTime()));
|
|
|
+ AssessRecover assessRecover = assessRecoverMapper.selectOne(new QueryWrapper<AssessRecover>().eq(
|
|
|
+ "assess_id", item.getId()));
|
|
|
+ if (assessRecover != null) {
|
|
|
+ AssessRecoverDto assessRecoverDto = AssessRecoverCopier.INSTANCE.copying(assessRecover);
|
|
|
+ assessRecoverDto.setRecoverTimeFormat(SDF.format(assessRecoverDto.getRecoverTime()));
|
|
|
+ item.setAssessRecoverDto(assessRecoverDto);
|
|
|
+ }
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ return DatabaseContextHolder.pagination(page, result);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Integer queryAssessStatus(Long orderId, Long goodsId, Long userId) {
|
|
|
+ LambdaQueryWrapper<GoodsAssess> wrapper = Wrappers.lambdaQuery();
|
|
|
+ wrapper.eq(GoodsAssess::getOrderId, orderId);
|
|
|
+ wrapper.eq(GoodsAssess::getGoodsId, goodsId);
|
|
|
+ wrapper.eq(GoodsAssess::getCreator, userId);
|
|
|
+ return baseMapper.selectCount(wrapper) > 0 ? 1 : 0;
|
|
|
+ }
|
|
|
}
|