package com.fdkankan.fusion.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.fdkankan.fusion.common.ResultCode; import com.fdkankan.fusion.entity.FusionMeter; import com.fdkankan.fusion.entity.Model; import com.fdkankan.fusion.exception.BusinessException; import com.fdkankan.fusion.entity.CaseView; import com.fdkankan.fusion.mapper.ICaseViewMapper; import com.fdkankan.fusion.service.ICaseViewService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.fdkankan.fusion.service.IModelService; import org.apache.commons.lang3.StringUtils; import org.apache.ibatis.annotations.Case; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; /** *

* 服务实现类 *

* * @author * @since 2022-08-02 */ @Service public class CaseViewServiceImpl extends ServiceImpl implements ICaseViewService { @Override public List allList(Integer caseId,Integer fusionId, String num,String smallImgH, String smallImgW){ if(caseId == null && StringUtils.isEmpty(num) && fusionId == null){ throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS); } LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); if(caseId != null){ wrapper.eq(CaseView::getCaseId,caseId); } if(StringUtils.isNotBlank(num)){ wrapper.eq(CaseView::getNum,num); } if(fusionId!=null){ wrapper.eq(CaseView::getFusionId,fusionId); } wrapper.eq(CaseView::getBindHide,0); wrapper.orderByAsc(CaseView::getSort); wrapper.orderByDesc(CaseView::getCreateTime); List list = list(wrapper); list.forEach(entity ->entity.setViewImgSmall(String.format(entity.getViewImgSmall(),smallImgH,smallImgW ))); return list; } @Override public CaseView add(CaseView caseView) { if(caseView.getCaseId() == null || ((StringUtils.isEmpty(caseView.getNum()) || caseView.getNumType() == null) && caseView.getFusionId() == null) || StringUtils.isEmpty(caseView.getViewImg()) || StringUtils.isEmpty(caseView.getViewTitle()) || StringUtils.isEmpty(caseView.getViewPoint())) { throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS); } String ImageSmall = caseView.getViewImg() ; caseView.setViewImgSmall(ImageSmall); this.save(caseView); return caseView; } @Override public void updateNameOrSort(CaseView caseView) { if(caseView.getViewId() == null || (caseView.getSort() == null && StringUtils.isEmpty(caseView.getViewTitle()))) { throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS); } LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); updateWrapper.eq(CaseView::getViewId,caseView.getViewId()); if(caseView.getSort() != null){ updateWrapper.set(CaseView::getSort,caseView.getSort()); } if(StringUtils.isNotBlank(caseView.getViewTitle())){ updateWrapper.set(CaseView::getViewTitle,caseView.getViewTitle()); } this.update(updateWrapper); } @Override public void deleteByNumList(Integer caseId, List delNumList,Integer type) { if(delNumList.size()<=0){ return; } LambdaQueryWrapper queryW = new LambdaQueryWrapper<>(); queryW.eq(CaseView::getCaseId,caseId); queryW.in(CaseView::getNum,delNumList); queryW.eq(CaseView::getNumType,type); this.remove(queryW); } @Override public void deleteByCaseId(Integer caseId) { LambdaQueryWrapper queryW = new LambdaQueryWrapper<>(); queryW.eq(CaseView::getCaseId,caseId); this.remove(queryW); } @Override public void deleteByNum(String num) { LambdaQueryWrapper queryW = new LambdaQueryWrapper<>(); queryW.eq(CaseView::getNum,num); this.remove(queryW); } @Override public void hideOrShow(String num,Integer hide) { LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); wrapper.eq(CaseView::getNum,num); wrapper.set(CaseView::getBindHide,hide); this.update(wrapper); } @Override public List getByCaseId(Integer oldCaseId) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(CaseView::getCaseId,oldCaseId); return this.list(wrapper); } @Override public List getByFusionId(Integer oldFusionId) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(CaseView::getFusionId,oldFusionId); return this.list(wrapper); } }