HagProductServiceImpl.java 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. package cn.efunbox.audio.impl.hag;
  2. import cn.efunbox.audio.entity.hag.HagProduct;
  3. import cn.efunbox.audio.repository.hag.HagProductRepository;
  4. import cn.efunbox.audio.service.hag.HagProductService;
  5. import cn.efunbox.audio.utils.DateUtil;
  6. import cn.efunbox.audio.vo.hag.*;
  7. import org.springframework.beans.factory.annotation.Autowired;
  8. import org.springframework.stereotype.Service;
  9. import org.springframework.util.CollectionUtils;
  10. import java.util.ArrayList;
  11. import java.util.Date;
  12. import java.util.List;
  13. import java.util.Objects;
  14. /**
  15. * HagProductServiceImpl
  16. * Created by xusq on 2019/12/25.
  17. */
  18. @Service
  19. public class HagProductServiceImpl implements HagProductService {
  20. @Autowired
  21. private HagProductRepository hagProductRepository;
  22. @Override
  23. public HagProductResp list(HagProductReq productReq) {
  24. Pagination paginationReq = productReq.getPagination();
  25. Integer limit = paginationReq.getLimit();
  26. if (Objects.isNull(limit)) {
  27. limit = 10;
  28. }
  29. Integer start = paginationReq.getStart();
  30. if (Objects.isNull(start)) {
  31. start = 0;
  32. }
  33. HagProductResp hagProductResp = new HagProductResp();
  34. String updateTime = productReq.getUpdateTime();
  35. Date date = DateUtil.strToDate(updateTime);
  36. if (Objects.isNull(date)) {
  37. hagProductResp.setErrorCode("400");
  38. hagProductResp.setErrorMessage("timestamp数据异常");
  39. return hagProductResp;
  40. }
  41. long count = hagProductRepository.countByGmtModifiedAfter(date);
  42. Pagination pagination = new Pagination();
  43. pagination.setTotal(count);
  44. if (count == 0) {
  45. pagination.setNext("0");
  46. hagProductResp.setPagination(pagination);
  47. hagProductResp.setContentItems(new ArrayList<>());
  48. return hagProductResp;
  49. }
  50. pagination.setNext(start + limit + "");
  51. List<HagProduct> hagProducts = hagProductRepository.findByGmtModifiedAfterPage(date,start,limit);
  52. List<String> albumIds = new ArrayList<>();
  53. hagProducts.forEach(product -> albumIds.add(product.getAlbumId()));
  54. List<ProductVO> productVOList = new ArrayList<>();
  55. if (!CollectionUtils.isEmpty(hagProducts)) {
  56. hagProducts.forEach(product ->
  57. productVOList.add(ProductConverter.productToProductVO(product))
  58. );
  59. }
  60. hagProductResp.setPagination(pagination);
  61. hagProductResp.setContentItems(productVOList);
  62. return hagProductResp;
  63. }
  64. }