DictionaryServiceImpl.java 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. package com.ghsc.partybuild.service.impl;
  2. import com.ghsc.partybuild.mapper.CfDictionaryMapper;
  3. import com.ghsc.partybuild.model.CfDictionary;
  4. import com.ghsc.partybuild.model.CfDictionaryExample;
  5. import com.ghsc.partybuild.service.DictionaryService;
  6. import com.ghsc.partybuild.util.MapUtils;
  7. import com.ghsc.partybuild.util.StringUtils;
  8. import com.github.pagehelper.PageHelper;
  9. import com.github.pagehelper.PageInfo;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.cache.annotation.Cacheable;
  12. import org.springframework.stereotype.Service;
  13. import java.util.Date;
  14. import java.util.List;
  15. import java.util.UUID;
  16. /**
  17. *
  18. * @author wufs
  19. * @date 2020/05/15
  20. */
  21. @Service("dictionaryService")
  22. public class DictionaryServiceImpl implements DictionaryService {
  23. @Autowired
  24. private CfDictionaryMapper cfDictionaryMapper;
  25. @Autowired
  26. private StringUtils stringUtils;
  27. @Autowired
  28. private MapUtils mapUtils;
  29. @Override
  30. public PageInfo<CfDictionary> getDictionaryList(String appId, String dicTypeKey, String dicvalue, int pageIndex, int pageSize) {
  31. PageHelper.startPage(pageIndex, pageSize);
  32. CfDictionaryExample exp = new CfDictionaryExample();
  33. CfDictionaryExample.Criteria cri = exp.or();
  34. exp.setOrderByClause("DicTypeKey ASC,DicKey ASC");
  35. cri.andOperatestateNotEqualTo("D");
  36. if (!stringUtils.IsNullOrEmpty(dicTypeKey)) {
  37. cri.andDictypekeyLike("%" + dicTypeKey + "%");
  38. }
  39. if (!stringUtils.IsNullOrEmpty(dicvalue)) {
  40. cri.andDicvalueLike("%" + dicvalue + "%");
  41. }
  42. List<CfDictionary> ListDic = cfDictionaryMapper.selectByExample(exp);
  43. PageInfo<CfDictionary> result = new PageInfo(ListDic);
  44. return result;
  45. }
  46. @Override
  47. public CfDictionary getDictionaryById(String dictionaryId) {
  48. return cfDictionaryMapper.selectByPrimaryKey(dictionaryId);
  49. }
  50. @Override
  51. public int saveDictionary(CfDictionary model) {
  52. int result = 0;
  53. if (stringUtils.IsNullOrEmpty(model.getDictionaryid())) {
  54. model.setDictionaryid(UUID.randomUUID().toString());
  55. model.setOperatestate("A");
  56. model.setOperatetime(new Date());
  57. model.setSyncstate("N");
  58. result = cfDictionaryMapper.insert(model);
  59. } else {
  60. model.setOperatestate("M");
  61. model.setOperatetime(new Date());
  62. model.setSyncstate("N");
  63. result = cfDictionaryMapper.updateByPrimaryKeyWithBLOBs(model);
  64. }
  65. return result;
  66. }
  67. @Override
  68. public int delDictionary(String dictionaryid) {
  69. //return cfDictionaryMapper.deleteByPrimaryKey(dictionaryid);
  70. CfDictionary model = getDictionaryById(dictionaryid);
  71. model.setOperatestate("D");
  72. model.setOperatetime(new Date());
  73. model.setSyncstate("N");
  74. return cfDictionaryMapper.updateByPrimaryKey(model);
  75. }
  76. @Override
  77. @Cacheable(value = "dictionary",key="#p0")
  78. public List<CfDictionary> getDictionaryListByDicTypeKey(String dicTypeKey) {
  79. CfDictionaryExample exp = new CfDictionaryExample();
  80. CfDictionaryExample.Criteria cri = exp.or().andDictypekeyEqualTo(dicTypeKey);
  81. cri.andOperatestateNotEqualTo("D");
  82. exp.setOrderByClause("DicKey ASC");
  83. List<CfDictionary> list = cfDictionaryMapper.selectByExampleWithBLOBs(exp);
  84. return list;
  85. }
  86. @Override
  87. public PageInfo<CfDictionary> findDictionaryList(String dicTypeKey, String DicType, int pageIndex, int pageSize) {
  88. CfDictionaryExample exp = new CfDictionaryExample();
  89. exp.or().andOperatestateNotEqualTo("D");
  90. PageHelper.startPage(pageIndex, pageSize);
  91. if (!stringUtils.IsNullOrEmpty(dicTypeKey)) {
  92. exp.or().andDictypekeyLike("%" + dicTypeKey + "%");
  93. }
  94. if (!stringUtils.IsNullOrEmpty(DicType)) {
  95. exp.or().andDicvalueLike("%" + DicType + "%");
  96. }
  97. List<CfDictionary> list = cfDictionaryMapper.selectByExample(exp);
  98. PageInfo<CfDictionary> result = new PageInfo(list);
  99. return result;
  100. }
  101. @Override
  102. public CfDictionary getDicByKey(Integer dicKey, List<CfDictionary> dicList) {
  103. CfDictionary dic = new CfDictionary();
  104. if(dicKey == null){
  105. return dic;
  106. }
  107. for (CfDictionary tIt : dicList) {
  108. /*
  109. CfDictionary tIt=null;
  110. if(it.getClass().equals(CfDictionary.class)){
  111. tIt=(CfDictionary)it;
  112. } else {
  113. tIt=mapUtils.mapToObject((Map<String,Object>)it,CfDictionary.class);
  114. }*/
  115. if (dicKey.equals(tIt.getDickey().intValue())) {
  116. dic = tIt;
  117. }
  118. }
  119. return dic;
  120. }
  121. @Override
  122. public Integer getDickeyByName(String name, List<CfDictionary> dataList) {
  123. if (stringUtils.IsNullOrEmpty(name))
  124. return null;
  125. CfDictionary cfDictionary = dataList.stream().filter(it -> it.getDicvalue().equals(name)).findFirst().orElse(null);
  126. return cfDictionary != null ? cfDictionary.getDickey() : null;
  127. }
  128. }