MetaPlayerRoleClassifyService.java 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. package com.izouma.nineth.service;
  2. import com.izouma.nineth.config.Constants;
  3. import com.izouma.nineth.domain.Asset;
  4. import com.izouma.nineth.domain.MetaPlayerRoleClassify;
  5. import com.izouma.nineth.dto.MetaPlayerRole;
  6. import com.izouma.nineth.dto.PageQuery;
  7. import com.izouma.nineth.enums.UserHoldTypeEnum;
  8. import com.izouma.nineth.exception.BusinessException;
  9. import com.izouma.nineth.repo.AssetRepo;
  10. import com.izouma.nineth.repo.MetaPlayerRoleClassifyRepo;
  11. import com.izouma.nineth.utils.JpaUtils;
  12. import lombok.AllArgsConstructor;
  13. import org.apache.commons.collections.CollectionUtils;
  14. import org.springframework.data.domain.Page;
  15. import org.springframework.stereotype.Service;
  16. import java.util.List;
  17. @Service
  18. @AllArgsConstructor
  19. public class MetaPlayerRoleClassifyService {
  20. private AssetRepo assetRepo;
  21. private MetaPlayerRoleClassifyRepo metaPlayerRoleClassifyRepo;
  22. public Page<MetaPlayerRoleClassify> all(PageQuery pageQuery) {
  23. return metaPlayerRoleClassifyRepo.findAll(JpaUtils.toSpecification(pageQuery, MetaPlayerRoleClassify.class), JpaUtils.toPageRequest(pageQuery));
  24. }
  25. public List<MetaPlayerRoleClassify> metaPlayerRole(Long userId) {
  26. List<MetaPlayerRoleClassify> metaPlayerRoleClassifies = metaPlayerRoleClassifyRepo.findAllByDel(false);
  27. if (CollectionUtils.isEmpty(metaPlayerRoleClassifies)) {
  28. throw new BusinessException("缺少角色配置");
  29. }
  30. metaPlayerRoleClassifies.forEach(metaPlayerRoleClassify -> {
  31. metaPlayerRoleClassify.setMetaPlayerRoleList(build(userId, metaPlayerRoleClassify.getMetaPlayerRoleList()));
  32. });
  33. return metaPlayerRoleClassifies;
  34. }
  35. private List<MetaPlayerRole> build(Long userId, List<MetaPlayerRole> metaPlayerRoleList) {
  36. metaPlayerRoleList.forEach(metaPlayerRole -> {
  37. metaPlayerRole.setType(UserHoldTypeEnum.ASSET);
  38. metaPlayerRole.setAddress("https://www.raex.vip/9th/productSearch?search=" + metaPlayerRole
  39. .getName() + "&source=TRANSFER");
  40. List<Asset> assets = assetRepo
  41. .findAllByUserIdAndStatusInAndNameLike(userId, Constants.META_NORMAL_STATUS, "%" + metaPlayerRole
  42. .getName() + "%");
  43. metaPlayerRole.setHold(CollectionUtils.isNotEmpty(assets));
  44. });
  45. return metaPlayerRoleList;
  46. }
  47. }