XcrXinyonghuaihuaBaseInfo2ServiceImpl.java 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. package com.zksy.data.service.impl;
  2. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  3. import com.zksy.data.domain.po.XcrXinyonghuaihuaBaseInfo2;
  4. import com.zksy.data.domain.response.XcrXinyonghuaihuaBaseInfo2Response;
  5. import com.zksy.data.mapper.XcrXinyonghuaihuaBaseInfo2Mapper;
  6. import com.zksy.data.service.XcrXinyonghuaihuaBaseInfo2Service;
  7. import com.zksy.data.utils.RedisService;
  8. import com.zksy.data.utils.XhRequestUtil;
  9. import lombok.extern.slf4j.Slf4j;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.stereotype.Service;
  12. import org.springframework.transaction.annotation.Transactional;
  13. import java.util.HashMap;
  14. import java.util.List;
  15. import java.util.Vector;
  16. /**
  17. * @author Administrator
  18. * @description 针对表【xcr_xinyonghuaihua_base_info2(信用怀化基础数据2)】的数据库操作Service实现
  19. * @createDate 2024-10-14 16:55:53
  20. */
  21. @Service
  22. @Slf4j
  23. public class XcrXinyonghuaihuaBaseInfo2ServiceImpl extends ServiceImpl<XcrXinyonghuaihuaBaseInfo2Mapper, XcrXinyonghuaihuaBaseInfo2>
  24. implements XcrXinyonghuaihuaBaseInfo2Service{
  25. @Autowired
  26. private XhRequestUtil xhRequestUtil;
  27. @Autowired
  28. private RedisService redisService;
  29. @Override
  30. @Transactional(rollbackFor = Exception.class)
  31. public void saveDataByUniCode(String address) {
  32. //模拟从数据库中取数据大约为3000-4000条
  33. List<String> creditCodes = (List<String>) redisService.getList("creditCodes").get(0);
  34. Vector<XcrXinyonghuaihuaBaseInfo2> toDatabaseList = new Vector<>();
  35. List<String> inventoryList = List.of("20", "21","22","23","24");
  36. inventoryList.parallelStream().forEach(inventory -> {
  37. creditCodes.parallelStream().limit(300).forEach(creditCode -> {
  38. HashMap<String, String> requestbodyMap = new HashMap<>();
  39. requestbodyMap.put("entityCode", creditCode);
  40. requestbodyMap.put("size", String.valueOf(10));
  41. requestbodyMap.put("page", String.valueOf(1));
  42. requestbodyMap.put("inventoryId", inventory);
  43. try {
  44. List<XcrXinyonghuaihuaBaseInfo2> list = xhRequestUtil.requestXinyonghuanhuai2(requestbodyMap,address,
  45. XcrXinyonghuaihuaBaseInfo2Response.class,
  46. XcrXinyonghuaihuaBaseInfo2.class);
  47. if(list != null){
  48. toDatabaseList.addAll(list);
  49. }
  50. } catch (Exception e) {
  51. List<XcrXinyonghuaihuaBaseInfo2> list = xhRequestUtil.requestXinyonghuanhuai2(requestbodyMap,address,
  52. XcrXinyonghuaihuaBaseInfo2Response.class,
  53. XcrXinyonghuaihuaBaseInfo2.class);
  54. if(list != null){
  55. toDatabaseList.addAll(list);
  56. }
  57. }
  58. });
  59. log.info("inventorywe为:{}完成",inventory);
  60. });
  61. this.remove(null);
  62. this.saveBatch(toDatabaseList);
  63. log.info("信用怀化基础信息同步完成");
  64. }
  65. }