package cn.cslg.pas.service; import cn.cslg.pas.domain.PatentApplicant; import cn.cslg.pas.domain.PatentApplicantLink; import cn.cslg.pas.mapper.PatentApplicantLinkMapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; /** *

* 申请人属性表 服务类 *

* * @author 王岩 * @since 2022-02-24 */ @Service @RequiredArgsConstructor(onConstructor_ = {@Lazy}) public class PatentApplicantLinkService extends ServiceImpl { private final PatentApplicantService patentApplicantService; public List getPatentApplicantAttributesByPatentId(Integer patentId) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(PatentApplicantLink::getPatentId, patentId); return this.list(queryWrapper); } public List getApplicantAttributesListByPatentIds(List patentIds) { if (patentIds == null || patentIds.size() == 0) { return new ArrayList<>(); } LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.in(PatentApplicantLink::getPatentId, patentIds); return this.list(queryWrapper); } public void updatePatentApplicantLink(List name, List shortName, Integer type, Integer patentId,List patentApplicantList) { List applicableIds = patentApplicantService.updatePatentApplicant(name, shortName,patentApplicantList); if (applicableIds.size() != 0) { this.remove(Wrappers.lambdaQuery().eq(PatentApplicantLink::getPatentId, patentId).eq(PatentApplicantLink::getType, type)); for (int i = 0; i < applicableIds.size(); i++) { PatentApplicantLink patentApplicantLink = new PatentApplicantLink(); patentApplicantLink.setApplicantId(applicableIds.get(i)); patentApplicantLink.setPatentId(patentId); patentApplicantLink.setType(type); patentApplicantLink.setOrder(i); patentApplicantLink.insert(); } } } public void deleteByPatentId(Integer patentId) { this.remove(Wrappers.lambdaQuery().eq(PatentApplicantLink::getPatentId, patentId)); } }