heheng
2025-12-03 430477c7e0777531f22fc18dc8906ea75cdc21d9
multi-system/src/main/java/com/gkhy/exam/system/service/impl/ItemReviewServiceImpl.java
@@ -5,20 +5,37 @@
import com.gkhy.exam.common.api.CommonResult;
import com.gkhy.exam.common.utils.PageUtils;
import com.gkhy.exam.common.utils.SecurityUtils;
import com.gkhy.exam.common.utils.StringUtils;
import com.gkhy.exam.system.domain.ItemReview;
import com.gkhy.exam.system.domain.ItemReviewUser;
import com.gkhy.exam.system.domain.ProductItem;
import com.gkhy.exam.system.domain.vo.ItemReviewUserVo;
import com.gkhy.exam.system.mapper.ItemReviewMapper;
import com.gkhy.exam.system.mapper.ItemReviewUserMapper;
import com.gkhy.exam.system.mapper.ProductItemMapper;
import com.gkhy.exam.system.service.ItemReviewService;
import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
@Service
public class ItemReviewServiceImpl extends ServiceImpl<ItemReviewMapper, ItemReview> implements ItemReviewService {
    @Autowired
    private ItemReviewMapper itemReviewMapper;
    @Autowired
    private ItemReviewUserMapper itemReviewUserMapper;
    @Autowired
    private ProductItemMapper productItemMapper;
    @Override
    public CommonPage selectItemList(ItemReview itemReview) {
@@ -29,9 +46,19 @@
        }
        PageUtils.startPage();
        List<ItemReview> itemReviews = itemReviewMapper.selectReviewList(itemReview);
        for (ItemReview review : itemReviews) {
            if (review.getType()==1){
                List<ItemReviewUser> itemReviewUsers = itemReviewUserMapper.selectByReviewId(review.getId());
                review.setReviewUsers(itemReviewUsers);
            }
            List<String> list = Arrays.asList(review.getProductItemIds().split(","));
            List<ProductItem> productItems = productItemMapper.selectBatchIds(list);
            review.setProductItems(productItems);
        }
        return CommonPage.restPage(itemReviews);
    }
    @Transactional
    @Override
    public CommonResult insertItem(ItemReview item) {
        item.setCreateBy(SecurityUtils.getUsername());
@@ -39,7 +66,17 @@
        if (item.getCompanyId()==null){
            item.setCompanyId(SecurityUtils.getCompanyId());
        }
        if (item.getType()==1){
            item.setStatus(1);
        }
        int insert = itemReviewMapper.insert(item);
        if (insert>0 && item.getType()==1){
            List<ItemReviewUser> reviewUsers = item.getReviewUsers();
            for (ItemReviewUser reviewUser : reviewUsers) {
                reviewUser.setReviewId(item.getId());
            }
            itemReviewUserMapper.insertBatchs(reviewUsers);
        }
        return CommonResult.success();
    }
@@ -48,11 +85,25 @@
        item.setUpdateBy(SecurityUtils.getUsername());
        item.setUpdateTime(LocalDateTime.now());
        int update = itemReviewMapper.updateById(item);
        if (update>0 && item.getType()==1){
            itemReviewUserMapper.deleteByReviewId(item.getId());
            List<ItemReviewUser> reviewUsers = item.getReviewUsers();
            for (ItemReviewUser reviewUser : reviewUsers) {
                reviewUser.setReviewId(item.getId());
            }
            itemReviewUserMapper.insertBatchs(reviewUsers);
        }
        return CommonResult.success();
    }
    @Override
    public CommonResult deletedItem(Integer itemReviewId) {
        ItemReview itemReview1 = itemReviewMapper.selectById(itemReviewId);
        if (itemReview1.getStatus()==2){
            if (!SecurityUtils.adminUser()){
                return CommonResult.failed("已发送,非管理员不可删除");
            }
        }
        ItemReview itemReview = new ItemReview();
        itemReview.setId(itemReviewId);
        itemReview.setUpdateTime(LocalDateTime.now());
@@ -61,4 +112,35 @@
        itemReviewMapper.updateById(itemReview);
        return CommonResult.success();
    }
    @Override
    public CommonResult sendItem(Integer itemReviewId) {
        ItemReview itemReview = new ItemReview();
        itemReview.setStatus(2);
        itemReview.setId(itemReviewId);
        int update1 = itemReviewMapper.updateById(itemReview);
        int update = itemReviewUserMapper.updateByReviewId(itemReviewId);
        return CommonResult.success();
    }
    @Override
    public CommonResult approvalList(Integer userId) {
        List<ItemReviewUserVo> itemReviewUserVos = itemReviewUserMapper.selectByUserId(userId);
        for (ItemReviewUserVo itemReviewUserVo : itemReviewUserVos) {
            List<String> list = Arrays.asList(itemReviewUserVo.getProductItemIds().split(","));
            List<ProductItem> productItems = productItemMapper.selectBatchIds(list);
            itemReviewUserVo.setProductItems(productItems);
        }
        return CommonResult.success(itemReviewUserVos);
    }
    @Override
    public CommonResult approval(ItemReviewUser itemReviewUser) {
        if (!StringUtils.isEmpty(itemReviewUser.getSign())){
            itemReviewUser.setStatus(3);
            itemReviewUser.setReviewTime(LocalDateTime.now());
        }
        int update = itemReviewUserMapper.updateById(itemReviewUser);
        return CommonResult.success();
    }
}