50e956b0c1ea152ec10f88c060d42d04fbf11ace.svn-base 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. package cn.com.goldenwater.dcproj.service.impl.system;
  2. import cn.com.goldenwater.core.service.AbstractCrudService;
  3. import cn.com.goldenwater.dcproj.constValue.AdCodeLabel;
  4. import cn.com.goldenwater.dcproj.dao.OlBisInspOrgDao;
  5. import cn.com.goldenwater.dcproj.model.BisInspOrg;
  6. import cn.com.goldenwater.dcproj.model.OlBisInspOrg;
  7. import cn.com.goldenwater.dcproj.param.OlBisInspOrgParam;
  8. import cn.com.goldenwater.dcproj.service.OlBisInspOrgService;
  9. import org.apache.commons.lang3.StringUtils;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.data.redis.core.RedisTemplate;
  12. import org.springframework.stereotype.Service;
  13. import org.springframework.transaction.annotation.Transactional;
  14. import java.util.List;
  15. import java.util.concurrent.TimeUnit;
  16. /**
  17. * @author lune
  18. * @date 2019-2-25
  19. */
  20. @Service
  21. @Transactional
  22. public class OlBisInspOrgServiceImpl extends AbstractCrudService<OlBisInspOrg, OlBisInspOrgParam> implements OlBisInspOrgService {
  23. @Autowired
  24. private OlBisInspOrgDao olBisInspOrgDao;
  25. @Autowired
  26. private RedisTemplate redisTemplate;
  27. public OlBisInspOrgServiceImpl(OlBisInspOrgDao olBisInspOrgDao) {
  28. super(olBisInspOrgDao);
  29. this.olBisInspOrgDao = olBisInspOrgDao;
  30. }
  31. @Override
  32. public String getProvince(String orgId) {
  33. if (StringUtils.isBlank(orgId)) {
  34. return "";
  35. }
  36. OlBisInspOrg inspOrg = (OlBisInspOrg) redisTemplate.opsForValue().get(orgId);
  37. if (inspOrg == null) {
  38. synchronized (this) {
  39. inspOrg = (OlBisInspOrg) redisTemplate.opsForValue().get(orgId);
  40. if (inspOrg == null) {
  41. inspOrg = olBisInspOrgDao.get(orgId);
  42. redisTemplate.opsForValue().set(orgId, inspOrg, 10, TimeUnit.MINUTES);
  43. }
  44. }
  45. }
  46. if (inspOrg != null) {
  47. if (!inspOrg.getRlcode().startsWith(AdCodeLabel.START_PARENT_ADCODE)) {
  48. return inspOrg.getRlcode();
  49. }
  50. }
  51. return "";
  52. }
  53. @Override
  54. public String getRlProvince(String orgId) {
  55. if (StringUtils.isBlank(orgId)) {
  56. return "";
  57. }
  58. OlBisInspOrg inspOrg = olBisInspOrgDao.get(orgId);
  59. return inspOrg.getAdCode();
  60. }
  61. @Override
  62. public BisInspOrg getDefaultOrg(String orgId) {
  63. OlBisInspOrg inspOrg = olBisInspOrgDao.get(orgId);
  64. if (inspOrg != null) {
  65. BisInspOrg defaultOrg = new BisInspOrg();
  66. defaultOrg.setOrgId(inspOrg.getOrgId());
  67. defaultOrg.setOrgPid(inspOrg.getOrgPid());
  68. defaultOrg.setRlcode(inspOrg.getAdCode());
  69. defaultOrg.setAdCode(inspOrg.getAdCode());
  70. defaultOrg.setOrgNm(inspOrg.getOrgNm());
  71. return defaultOrg;
  72. }
  73. return null;
  74. }
  75. @Override
  76. public String getProvinceFlag(String orgId) {
  77. String province = getProvince(orgId);
  78. if (StringUtils.isNotBlank(province)) {
  79. province = province.substring(0, 2);
  80. return province;
  81. }
  82. return "";
  83. }
  84. @Override
  85. public List<OlBisInspOrg> getById(String id, String province) {
  86. return this.olBisInspOrgDao.getById(id, province);
  87. }
  88. @Override
  89. public List<OlBisInspOrg> getByPid(String pid, String province) {
  90. return this.olBisInspOrgDao.getByPid(pid, province);
  91. }
  92. @Override
  93. public List<OlBisInspOrg> getOrgList(String province) {
  94. return this.olBisInspOrgDao.getOrgList(province);
  95. }
  96. @Override
  97. public List<OlBisInspOrg> getNodeOne(String currentOrgId) {
  98. return olBisInspOrgDao.getNodeOne(currentOrgId);
  99. }
  100. @Override
  101. public List<OlBisInspOrg> getNodeNext(String pid, String currentOrgId) {
  102. return olBisInspOrgDao.getNodeNext(pid, currentOrgId);
  103. }
  104. @Override
  105. public String selectMax(String orgPid) {
  106. return olBisInspOrgDao.selectMax(orgPid);
  107. }
  108. }