package com.gkhy.exam.system.service.impl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.gkhy.exam.common.api.CommonPage;
|
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) {
|
if (!SecurityUtils.adminUser()){
|
if (itemReview.getCompanyId()==null){
|
throw new RuntimeException("非管理员,查询条件不可为空");
|
}
|
}
|
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());
|
item.setCreateTime(LocalDateTime.now());
|
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();
|
}
|
|
@Override
|
public CommonResult updateItem(ItemReview item) {
|
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());
|
itemReview.setUpdateBy(SecurityUtils.getUsername());
|
itemReview.setDelFlag(2);
|
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();
|
}
|
}
|