金币系统后端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

58 lines
1.6 KiB

  1. package com.example.demo.serviceImpl;
  2. import com.example.demo.domain.entity.Detail;
  3. import com.example.demo.mapper.DetailMapper;
  4. import com.example.demo.sevice.DetailService;
  5. import com.github.pagehelper.PageHelper;
  6. import com.github.pagehelper.PageInfo;
  7. import lombok.RequiredArgsConstructor;
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.cache.annotation.CacheConfig;
  10. import org.springframework.cache.annotation.CachePut;
  11. import org.springframework.cache.annotation.Cacheable;
  12. import org.springframework.stereotype.Service;
  13. import org.springframework.transaction.annotation.Transactional;
  14. import java.util.List;
  15. @Service
  16. @Transactional
  17. @RequiredArgsConstructor
  18. @CacheConfig(cacheNames = "detail")
  19. public class DetailServiceImpl implements DetailService {
  20. @Autowired
  21. private DetailMapper detailMapper;
  22. @Override
  23. public int add(Detail detail) {
  24. return detailMapper.add(detail);
  25. }
  26. @Override
  27. public int edit(Detail detail) {
  28. return 0;
  29. }
  30. @Cacheable(key="#root.method.name")
  31. @Override
  32. public Detail getDetail(int id) {
  33. return null;
  34. }
  35. @Cacheable(key="#root.method.name+ #detail.hashCode()")
  36. @Override
  37. public List<Detail> getAllDetail(Detail detail) {
  38. return detailMapper.select(detail);
  39. }
  40. @Cacheable(key="#root.method.name + ':'+ #pageNum + '-' + #pageSize + '-' + #detail.hashCode() ")
  41. @Override
  42. public PageInfo<Detail> getDetailByPage(int pageNum, int pageSize, Detail detail) {
  43. PageHelper.startPage(pageNum, pageSize);
  44. List<Detail> list= detailMapper.select(detail);
  45. return new PageInfo<>(list);
  46. }
  47. }