ApiRechargeServiceImpl.java 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. package com.ydd.app.service.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  3. import com.ydd.app.dto.RechargeOptionDto;
  4. import com.ydd.app.service.ApiRechargeService;
  5. import com.ydd.module.domain.Coupon;
  6. import com.ydd.module.domain.RechargeOption;
  7. import com.ydd.module.enums.StatusEnum;
  8. import com.ydd.module.service.ICouponService;
  9. import com.ydd.module.service.IRechargeOptionService;
  10. import com.ydd.module.service.IRechargeService;
  11. import lombok.RequiredArgsConstructor;
  12. import lombok.extern.slf4j.Slf4j;
  13. import org.apache.commons.lang3.StringUtils;
  14. import org.springframework.beans.BeanUtils;
  15. import org.springframework.beans.factory.annotation.Autowired;
  16. import org.springframework.stereotype.Service;
  17. import java.util.ArrayList;
  18. import java.util.List;
  19. /**
  20. * Project:lb-server
  21. * Class:ApiRechargeServiceImpl
  22. * Description:TODO
  23. * Time:2021/3/1 11:23
  24. *
  25. * @author zoe
  26. */
  27. @Slf4j
  28. @Service
  29. @RequiredArgsConstructor(onConstructor_ = @Autowired)
  30. public class ApiRechargeServiceImpl implements ApiRechargeService {
  31. private final IRechargeOptionService iRechargeOptionService;
  32. private final IRechargeService iRechargeService;
  33. private final ICouponService iCouponService;
  34. @Override
  35. public List<RechargeOptionDto> list(Long loginId) {
  36. List<RechargeOptionDto> optionDtoList = new ArrayList<>();
  37. List<RechargeOption > options = iRechargeOptionService.list(new QueryWrapper<RechargeOption>().eq("status", StatusEnum.SHOW.status).orderByDesc("sort"));
  38. for (RechargeOption option : options){
  39. if (option.getEndTime().getTime() < System.currentTimeMillis()){
  40. continue;
  41. }
  42. RechargeOptionDto dto = new RechargeOptionDto();
  43. BeanUtils.copyProperties(option,dto);
  44. if (StringUtils.isNoneBlank(option.getCouponIds())){
  45. String[] ids = option.getCouponIds().split(",");
  46. List<Coupon> list = new ArrayList<>();
  47. for (int i=0;i<ids.length;i++){
  48. Coupon coupon = iCouponService.getById(ids[i]);
  49. if (checkCoupon(coupon)){
  50. list.add(coupon);
  51. }
  52. }
  53. dto.setCouponList(list);
  54. }
  55. optionDtoList.add(dto);
  56. }
  57. return optionDtoList;
  58. }
  59. public boolean checkCoupon(Coupon coupon){
  60. boolean flg = true;
  61. if (coupon.getValidEndTime()!= null && coupon.getValidEndTime().getTime()<System.currentTimeMillis()){
  62. flg = false;
  63. }
  64. if (coupon.getStatus() == 0 || coupon.getDeleted() == 1){
  65. flg = false;
  66. }
  67. return flg;
  68. }
  69. }