StationAccountServiceImpl.java 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package com.kym.service.impl;
  2. import cn.dev33.satoken.stp.StpUtil;
  3. import com.github.pagehelper.PageHelper;
  4. import com.kym.common.utils.CommUtil;
  5. import com.kym.entity.StationAccount;
  6. import com.kym.entity.common.PageBean;
  7. import com.kym.entity.queryParams.StationQueryParam;
  8. import com.kym.entity.vo.StationAccountVo;
  9. import com.kym.mapper.StationAccountMapper;
  10. import com.kym.service.StationAccountService;
  11. import com.kym.service.cache.KymCache;
  12. import com.kym.service.mybatisplus.MyBaseServiceImpl;
  13. import org.springframework.beans.BeanUtils;
  14. import org.springframework.stereotype.Service;
  15. /**
  16. * <p>
  17. * 商户账户表 服务实现类
  18. * </p>
  19. *
  20. * @author skyline
  21. * @since 2025-02-24
  22. */
  23. @Service
  24. public class StationAccountServiceImpl extends MyBaseServiceImpl<StationAccountMapper, StationAccount> implements StationAccountService {
  25. @Override
  26. public StationAccount getStationAccount(String stationId) {
  27. return lambdaQuery().eq(StationAccount::getStationId, stationId).one();
  28. }
  29. @Override
  30. public PageBean<StationAccountVo> listStationAccounts(StationQueryParam params) {
  31. // 判断数据权限
  32. var adminStationIds = KymCache.INSTANCE.getAdminUserStationIds(StpUtil.getLoginIdAsLong());
  33. if (CommUtil.isEmptyOrNull(params.getStationId()) && CommUtil.isNotEmptyAndNull(adminStationIds)) {
  34. params.setStationId(adminStationIds.get(0));
  35. }
  36. if (CommUtil.isNotEmptyAndNull(params.getStationId()) && CommUtil.isNotEmptyAndNull(adminStationIds) && !adminStationIds.contains(params.getStationId())) {
  37. params.setStationId(adminStationIds.get(0));
  38. }
  39. PageHelper.startPage(params.getPageNum(), params.getPageSize());
  40. var res = lambdaQuery()
  41. .eq(CommUtil.isNotEmptyAndNull(params.getStationId()), StationAccount::getStationId, params.getStationId())
  42. .orderByDesc(StationAccount::getId)
  43. .list();
  44. var voList = list().stream().map(item -> {
  45. var vo = new StationAccountVo();
  46. BeanUtils.copyProperties(item, vo);
  47. vo.setStationName(KymCache.INSTANCE.getStationNameById(item.getStationId()));
  48. return vo;
  49. }).toList();
  50. return new PageBean<>(voList);
  51. }
  52. }