PatentLicensorService.java 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. package cn.cslg.pas.service;
  2. import cn.cslg.pas.domain.PatentLicensor;
  3. import cn.cslg.pas.common.model.params.PatentLicensorParams;
  4. import cn.cslg.pas.mapper.PatentLicensorMapper;
  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. import java.util.stream.Collectors;
  14. /**
  15. * <p>
  16. * 专利信息许可人表 服务类
  17. * </p>
  18. *
  19. * @author 王岩
  20. * @since 2022-02-24
  21. */
  22. @Service
  23. @RequiredArgsConstructor(onConstructor_ = {@Lazy})
  24. public class PatentLicensorService extends ServiceImpl<PatentLicensorMapper, PatentLicensor> {
  25. public List<PatentLicensor> getPatentLicensorByPatentIds(List<Integer> patentIds) {
  26. if (patentIds == null || patentIds.size() == 0) {
  27. return new ArrayList<>();
  28. }
  29. LambdaQueryWrapper<PatentLicensor> queryWrapper = new LambdaQueryWrapper<>();
  30. queryWrapper.in(PatentLicensor::getPatentId, patentIds);
  31. return this.list(queryWrapper);
  32. }
  33. public void importPatentLicensor(Integer localPatentId, Integer importPatentId, List<PatentLicensor> importPatentLicensorList) {
  34. this.deletePatentLicensorByPatentId(localPatentId);
  35. List<PatentLicensor> patentLicensorList = importPatentLicensorList.stream().filter(item -> item.getPatentId().equals(importPatentId)).collect(Collectors.toList());
  36. for (PatentLicensor patentLicensor : patentLicensorList) {
  37. patentLicensor.setId(null);
  38. patentLicensor.setPatentId(localPatentId);
  39. }
  40. this.saveOrUpdateBatch(patentLicensorList);
  41. }
  42. public void updatePatentLicensor(PatentLicensorParams patentLicensorParams) {
  43. if (patentLicensorParams.getLicensor() == null || patentLicensorParams.getLicensee() == null || patentLicensorParams.getType() == null) {
  44. return;
  45. }
  46. if (patentLicensorParams.getLicensor().size() == patentLicensorParams.getLicensee().size() && patentLicensorParams.getLicensee().size() == patentLicensorParams.getType().size() && patentLicensorParams.getType().size() != 0) {
  47. this.deletePatentLicensorByPatentId(patentLicensorParams.getPatentId());
  48. List<PatentLicensor> patentLicensorList = new ArrayList<>();
  49. for (int i = 0; i < patentLicensorParams.getLicensor().size(); i++) {
  50. PatentLicensor patentLicensor = new PatentLicensor();
  51. patentLicensor.setType(patentLicensorParams.getType().get(i));
  52. patentLicensor.setLicensor(patentLicensorParams.getLicensor().get(i));
  53. patentLicensor.setLicensee(patentLicensorParams.getLicensee().get(i));
  54. patentLicensor.setPatentId(patentLicensorParams.getPatentId());
  55. patentLicensorList.add(patentLicensor);
  56. }
  57. this.saveOrUpdateBatch(patentLicensorList);
  58. }
  59. }
  60. public void deletePatentLicensorByPatentId(Integer patentId) {
  61. this.remove(Wrappers.<PatentLicensor>lambdaQuery().eq(PatentLicensor::getPatentId, patentId));
  62. }
  63. }