From 430477c7e0777531f22fc18dc8906ea75cdc21d9 Mon Sep 17 00:00:00 2001
From: heheng <475597332@qq.com>
Date: 星期三, 03 十二月 2025 16:53:53 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 multi-system/src/main/java/com/gkhy/exam/system/service/impl/ItemReviewServiceImpl.java |   82 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 82 insertions(+), 0 deletions(-)

diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ItemReviewServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ItemReviewServiceImpl.java
index 9693c37..88d4753 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ItemReviewServiceImpl.java
+++ b/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();
+    }
 }

--
Gitblit v1.9.2