huliguo
10 天以前 6acf6357094588946b5528f1ef1ed84a0f1037fd
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsEvaluateServiceImpl.java
@@ -1,6 +1,7 @@
package com.ruoyi.other.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.StringUtils;
@@ -41,21 +42,22 @@
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void addGoodsEvaluate(GoodsEvaluate goodsEvaluate) {
    public R addGoodsEvaluate(GoodsEvaluate goodsEvaluate) {
            goodsEvaluate.setStatus(2);
            if (StringUtils.isNotEmpty(goodsEvaluate.getIdStr())){
                goodsEvaluate.setId(Long.valueOf(goodsEvaluate.getIdStr()));
                updateById(goodsEvaluate);
            }else {
                LoginUser loginUserApplet = tokenService.getLoginUserApplet();
                goodsEvaluate.setAppUserId(loginUserApplet.getUserid());
                goodsEvaluate.setCreateTime(LocalDateTime.now());
                save(goodsEvaluate);
        if (goodsEvaluate.getId() == null) {
            //新增
            GoodsEvaluate evaluate = this.getOne(new LambdaQueryWrapper<GoodsEvaluate>()
                    .eq(GoodsEvaluate::getStatus, 2)
                    .eq(GoodsEvaluate::getDelFlag, 0)
                    .eq(GoodsEvaluate::getOrderId, goodsEvaluate.getId()));
            if (evaluate != null) {
                return R.fail("已评价过");
            }
            goodsEvaluate.setStatus(2);
            LoginUser loginUserApplet = tokenService.getLoginUserApplet();
            goodsEvaluate.setAppUserId(loginUserApplet.getUserid());
            goodsEvaluate.setCreateTime(LocalDateTime.now());
            save(goodsEvaluate);
            Long orderId = goodsEvaluate.getOrderId();
            Order data = orderClient.getOrderById(orderId).getData();
            Order order = new Order();
@@ -63,10 +65,18 @@
            order.setOldOrderStatus(data.getOrderStatus());
            order.setOrderStatus(8);
            R<Void> r = remoteOrderGoodsClient.updateOrderStatus(order);
            if (R.isError(r)){
            if (R.isError(r)) {
                throw new RuntimeException("修改订单状态失败");
            }
        } else {
            GoodsEvaluate byId = getById(goodsEvaluate.getId());
            //修改
            if (byId.getStatus()!=2){
                return R.fail("修改失败,评论已被下架");
            }
            goodsEvaluate.setUpdateTime(LocalDateTime.now());
            updateById(goodsEvaluate);
        }
        return R.ok();
    }
}