PatentApplicantLinkService.java 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. package cn.cslg.pas.service;
  2. import cn.cslg.pas.domain.PatentApplicant;
  3. import cn.cslg.pas.domain.PatentApplicantLink;
  4. import cn.cslg.pas.mapper.PatentApplicantLinkMapper;
  5. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  6. import com.baomidou.mybatisplus.core.toolkit.Wrappers;
  7. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  8. import lombok.RequiredArgsConstructor;
  9. import org.springframework.context.annotation.Lazy;
  10. import org.springframework.stereotype.Service;
  11. import java.util.ArrayList;
  12. import java.util.List;
  13. /**
  14. * <p>
  15. * 申请人属性表 服务类
  16. * </p>
  17. *
  18. * @author 王岩
  19. * @since 2022-02-24
  20. */
  21. @Service
  22. @RequiredArgsConstructor(onConstructor_ = {@Lazy})
  23. public class PatentApplicantLinkService extends ServiceImpl<PatentApplicantLinkMapper, PatentApplicantLink> {
  24. private final PatentApplicantService patentApplicantService;
  25. public List<PatentApplicantLink> getPatentApplicantAttributesByPatentId(Integer patentId) {
  26. LambdaQueryWrapper<PatentApplicantLink> queryWrapper = new LambdaQueryWrapper<>();
  27. queryWrapper.eq(PatentApplicantLink::getPatentId, patentId);
  28. return this.list(queryWrapper);
  29. }
  30. public List<PatentApplicantLink> getApplicantAttributesListByPatentIds(List<Integer> patentIds) {
  31. if (patentIds == null || patentIds.size() == 0) {
  32. return new ArrayList<>();
  33. }
  34. LambdaQueryWrapper<PatentApplicantLink> queryWrapper = new LambdaQueryWrapper<>();
  35. queryWrapper.in(PatentApplicantLink::getPatentId, patentIds);
  36. return this.list(queryWrapper);
  37. }
  38. public void updatePatentApplicantLink(List<String> name, List<String> shortName, Integer type, Integer patentId, List<PatentApplicant> patentApplicantList) {
  39. if (shortName == null) {
  40. shortName = new ArrayList<>();
  41. }
  42. List<Integer> applicableIds = patentApplicantService.updatePatentApplicant(name, shortName, patentApplicantList);
  43. if (applicableIds.size() != 0) {
  44. this.remove(Wrappers.<PatentApplicantLink>lambdaQuery().eq(PatentApplicantLink::getPatentId, patentId).eq(PatentApplicantLink::getType, type));
  45. for (int i = 0; i < applicableIds.size(); i++) {
  46. PatentApplicantLink patentApplicantLink = new PatentApplicantLink();
  47. patentApplicantLink.setApplicantId(applicableIds.get(i));
  48. patentApplicantLink.setPatentId(patentId);
  49. patentApplicantLink.setType(type);
  50. patentApplicantLink.setOrder(i);
  51. patentApplicantLink.insert();
  52. }
  53. }
  54. }
  55. public void deleteByPatentId(Integer patentId) {
  56. this.remove(Wrappers.<PatentApplicantLink>lambdaQuery().eq(PatentApplicantLink::getPatentId, patentId));
  57. }
  58. }