|
@@ -14,6 +14,7 @@ import com.chelvc.cloud.user.client.dto.UserDTO;
|
|
import com.chelvc.cloud.vehicle.client.dto.AssessMessageDto;
|
|
import com.chelvc.cloud.vehicle.client.dto.AssessMessageDto;
|
|
import com.chelvc.cloud.vehicle.client.dto.AssessRecoverDto;
|
|
import com.chelvc.cloud.vehicle.client.dto.AssessRecoverDto;
|
|
import com.chelvc.cloud.vehicle.client.dto.GoodsAssessDto;
|
|
import com.chelvc.cloud.vehicle.client.dto.GoodsAssessDto;
|
|
|
|
+import com.chelvc.cloud.vehicle.client.dto.OmsOrderItemDTO;
|
|
import com.chelvc.cloud.vehicle.client.param.AssessModifyParam;
|
|
import com.chelvc.cloud.vehicle.client.param.AssessModifyParam;
|
|
import com.chelvc.cloud.vehicle.client.param.AssessQueryParam;
|
|
import com.chelvc.cloud.vehicle.client.param.AssessQueryParam;
|
|
import com.chelvc.cloud.vehicle.client.param.AssessRecoverModifyParam;
|
|
import com.chelvc.cloud.vehicle.client.param.AssessRecoverModifyParam;
|
|
@@ -26,7 +27,9 @@ import com.chelvc.cloud.vehicle.server.entity.AssessRecover;
|
|
import com.chelvc.cloud.vehicle.server.entity.AssessScore;
|
|
import com.chelvc.cloud.vehicle.server.entity.AssessScore;
|
|
import com.chelvc.cloud.vehicle.server.entity.Goods;
|
|
import com.chelvc.cloud.vehicle.server.entity.Goods;
|
|
import com.chelvc.cloud.vehicle.server.entity.GoodsAssess;
|
|
import com.chelvc.cloud.vehicle.server.entity.GoodsAssess;
|
|
|
|
+import com.chelvc.cloud.vehicle.server.entity.OmsOrderItem;
|
|
import com.chelvc.cloud.vehicle.server.service.AssessService;
|
|
import com.chelvc.cloud.vehicle.server.service.AssessService;
|
|
|
|
+import com.chelvc.cloud.vehicle.server.service.OmsOrderItemService;
|
|
import com.chelvc.framework.base.context.Session;
|
|
import com.chelvc.framework.base.context.Session;
|
|
import com.chelvc.framework.base.context.SessionContextHolder;
|
|
import com.chelvc.framework.base.context.SessionContextHolder;
|
|
import com.chelvc.framework.common.model.Pagination;
|
|
import com.chelvc.framework.common.model.Pagination;
|
|
@@ -34,11 +37,13 @@ import com.chelvc.framework.common.model.Paging;
|
|
import com.chelvc.framework.common.util.AssertUtils;
|
|
import com.chelvc.framework.common.util.AssertUtils;
|
|
import com.chelvc.framework.common.util.ObjectUtils;
|
|
import com.chelvc.framework.common.util.ObjectUtils;
|
|
import com.chelvc.framework.database.context.DatabaseContextHolder;
|
|
import com.chelvc.framework.database.context.DatabaseContextHolder;
|
|
|
|
+import com.chelvc.framework.database.entity.ModifyEntity;
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.scheduling.annotation.Scheduled;
|
|
import org.springframework.scheduling.annotation.Scheduled;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
+import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
import java.math.RoundingMode;
|
|
import java.math.RoundingMode;
|
|
@@ -62,6 +67,7 @@ public class AssessServiceImpl extends ServiceImpl<GoodsAssessMapper, GoodsAsses
|
|
|
|
|
|
private final AssessRecoverMapper assessRecoverMapper;
|
|
private final AssessRecoverMapper assessRecoverMapper;
|
|
private final AssessScoreMapper assessScoreMapper;
|
|
private final AssessScoreMapper assessScoreMapper;
|
|
|
|
+ private final OmsOrderItemService omsOrderItemService;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public Long add(AssessModifyParam param) {
|
|
public Long add(AssessModifyParam param) {
|
|
@@ -69,11 +75,21 @@ public class AssessServiceImpl extends ServiceImpl<GoodsAssessMapper, GoodsAsses
|
|
AssertUtils.available(this.getOne(new QueryWrapper<GoodsAssess>().eq("order_id", param.getOrderId()).eq(
|
|
AssertUtils.available(this.getOne(new QueryWrapper<GoodsAssess>().eq("order_id", param.getOrderId()).eq(
|
|
"creator", user.getId())) == null, "该订单已评价");
|
|
"creator", user.getId())) == null, "该订单已评价");
|
|
GoodsAssess goodsAssess = GoodsAssessCopier.INSTANCE.copying(param);
|
|
GoodsAssess goodsAssess = GoodsAssessCopier.INSTANCE.copying(param);
|
|
|
|
+ List<OmsOrderItemDTO> orderItems = this.omsOrderItemService.getOrderItemByOrderId(param.getOrderId());
|
|
|
|
+ List<GoodsAssess> goodsAssessList = new ArrayList<>();
|
|
goodsAssess.setHits(0L);
|
|
goodsAssess.setHits(0L);
|
|
goodsAssess.setIsRecover(0);
|
|
goodsAssess.setIsRecover(0);
|
|
- this.save(goodsAssess);
|
|
|
|
|
|
+ if (CollectionUtils.isEmpty(orderItems)){
|
|
|
|
+ return null;
|
|
|
|
+ }else{
|
|
|
|
+ for (OmsOrderItemDTO omsOrderItem:orderItems){
|
|
|
|
+ goodsAssess.setGoodsId(omsOrderItem.getGoodsId());
|
|
|
|
+ goodsAssessList.add(goodsAssess);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ this.saveBatch(goodsAssessList,goodsAssessList.size());
|
|
baseMapper.updatePersonalAssessStatus(param.getOrderId());
|
|
baseMapper.updatePersonalAssessStatus(param.getOrderId());
|
|
- return goodsAssess.getId();
|
|
|
|
|
|
+ return param.getOrderId();
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -324,12 +340,23 @@ public class AssessServiceImpl extends ServiceImpl<GoodsAssessMapper, GoodsAsses
|
|
@Override
|
|
@Override
|
|
public List<GoodsAssessDto> merchantQuery(AssessQueryParam param) {
|
|
public List<GoodsAssessDto> merchantQuery(AssessQueryParam param) {
|
|
AssertUtils.nonnull(param.getMerchantId(), "query merchant assess merchantId must not be null");
|
|
AssertUtils.nonnull(param.getMerchantId(), "query merchant assess merchantId must not be null");
|
|
- QueryWrapper<GoodsAssess> wrapper = new QueryWrapper<>();
|
|
|
|
- wrapper.eq("merchant_id", param.getMerchantId());
|
|
|
|
- if (null != param.getGoodsId()) wrapper.eq("goods_id", param.getGoodsId());
|
|
|
|
- wrapper.orderByDesc("create_time");
|
|
|
|
- List<GoodsAssess> list = this.list(wrapper);
|
|
|
|
- return GoodsAssessCopier.INSTANCE.copying(list);
|
|
|
|
|
|
+ List<GoodsAssess> list = this.lambdaQuery()
|
|
|
|
+ .eq(GoodsAssess::getGoodsId,param.getGoodsId())
|
|
|
|
+ .eq(GoodsAssess::getMerchantId,param.getMerchantId())
|
|
|
|
+ .orderByDesc(ModifyEntity::getCreateTime).list();
|
|
|
|
+ List<GoodsAssessDto> goodsAssessDtoList = GoodsAssessCopier.INSTANCE.copying(list);
|
|
|
|
+ if (CollectionUtils.isEmpty(goodsAssessDtoList)){
|
|
|
|
+ return null;
|
|
|
|
+ }else{
|
|
|
|
+ goodsAssessDtoList.forEach(item ->{
|
|
|
|
+ UserDTO userDTO = this.userService.getUser(item.getCreator());
|
|
|
|
+ if (null != userDTO){
|
|
|
|
+ item.setCreatorAvatar(userDTO.getAvatar());
|
|
|
|
+ item.setCreatorNickName(userDTO.getNickname());
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ return goodsAssessDtoList;
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|