SettingService.java 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. package com.qxgmat.service.inline;
  2. import com.github.pagehelper.Page;
  3. import com.nuliji.tools.AbstractService;
  4. import com.nuliji.tools.exception.ParameterException;
  5. import com.nuliji.tools.exception.SystemException;
  6. import com.nuliji.tools.mybatis.Example;
  7. import com.qxgmat.data.constants.enums.SettingKey;
  8. import com.qxgmat.data.dao.SettingMapper;
  9. import com.qxgmat.data.dao.entity.Setting;
  10. import org.slf4j.Logger;
  11. import org.slf4j.LoggerFactory;
  12. import org.springframework.cache.annotation.CacheEvict;
  13. import org.springframework.cache.annotation.CachePut;
  14. import org.springframework.cache.annotation.Cacheable;
  15. import org.springframework.stereotype.Service;
  16. import javax.annotation.Resource;
  17. import java.util.Collection;
  18. import java.util.List;
  19. @Service
  20. public class SettingService extends AbstractService {
  21. private static final Logger logger = LoggerFactory.getLogger(SettingService.class);
  22. @Resource
  23. private SettingMapper settingMapper;
  24. @Cacheable(value="setting", key="#settingKey.key", unless="#result==null")
  25. public Setting getByKey(SettingKey settingKey) {
  26. Example example = new Example(Setting.class);
  27. example.and(
  28. example.createCriteria()
  29. .andEqualTo("key", settingKey.key)
  30. );
  31. return one(settingMapper, example);
  32. }
  33. @CacheEvict(value = "setting", key="#settingKey.key")
  34. public boolean editByKey(SettingKey settingKey, Setting setting){
  35. Example example = new Example(Setting.class);
  36. example.and(
  37. example.createCriteria()
  38. .andEqualTo("key", settingKey.key)
  39. );
  40. int result = update(settingMapper, example, setting);
  41. return result > 0;
  42. }
  43. public Setting add(Setting setting){
  44. int result = insert(settingMapper, setting);
  45. setting = one(settingMapper, setting.getId());
  46. if(setting == null){
  47. throw new SystemException("配置添加失败");
  48. }
  49. return setting;
  50. }
  51. @CachePut(value = "setting", key="#setting.key", unless="#result==null")
  52. public Setting edit(Setting setting){
  53. Setting in = one(settingMapper, setting.getId());
  54. if(in == null){
  55. throw new ParameterException("配置不存在");
  56. }
  57. int result = update(settingMapper, setting);
  58. return setting;
  59. }
  60. public boolean delete(Number id){
  61. Setting in = one(settingMapper, id);
  62. if(in == null){
  63. throw new ParameterException("配置不存在");
  64. }
  65. int result = delete(settingMapper, id);
  66. return result > 0;
  67. }
  68. public Setting get(Number id){
  69. Setting in = one(settingMapper, id);
  70. if(in == null){
  71. throw new ParameterException("配置不存在");
  72. }
  73. return in;
  74. }
  75. public Page<Setting> select(int page, int pageSize){
  76. return select(settingMapper, page, pageSize);
  77. }
  78. public List<Setting> select(Collection ids){
  79. return select(settingMapper, ids);
  80. }
  81. }