package com.imed.costaccount.service.impl; import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.imed.costaccount.common.exception.CostException; import com.imed.costaccount.common.util.PageUtils; import com.imed.costaccount.mapper.HosptailMapper; import com.imed.costaccount.model.Hosptail; import com.imed.costaccount.model.User; import com.imed.costaccount.model.vo.CommonVO; import com.imed.costaccount.model.vo.UserVO; import com.imed.costaccount.service.HosptailService; import com.imed.costaccount.utils.BeanUtil; import org.springframework.stereotype.Service; import java.util.*; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @Service("hosptailService") public class HosptailServiceImpl extends ServiceImpl implements HosptailService { /** * 分页查询所有的医院信息 * * @param page * @param pageSize * @return */ @Override public PageUtils queryList(Integer page, Integer pageSize) { // Page hosptailPage = new Page<>(page, pageSize); // Page pages = this.page(hosptailPage); // List userVOS = com.imed.costaccount.common.util.BeanUtil.convertList(records, UserVO.class); // PageUtils pageUtils = new PageUtils(pages); // pageUtils.setList(userVOS); // return pageUtils; return null; } /** * 通过医院标识获取院区列表 * @param sign * @return */ @Override public List getHospArea(String sign) { Hosptail one = this.getBySign(sign); // 获取下面所有院区 List list = this.list( new LambdaQueryWrapper() .select(Hosptail::getId) .eq(Hosptail::getIsHosptail, 1) .eq(Hosptail::getParentId, one.getId()) ); // 如果不存在院区 if (CollUtil.isEmpty(list)) { return Collections.emptyList(); } return BeanUtil.convertList(list, CommonVO.class); } /** * 通过医院sign获取医院信息 * @param hospSign 医院唯一标识 * @return */ @Override public Hosptail getBySign(String hospSign) { Hosptail one = this.getOne( new LambdaQueryWrapper() .select(Hosptail::getId,Hosptail::getName) .eq(Hosptail::getIsHosptail, 0) .eq(Hosptail::getSign, hospSign) .last("limit 1") ); if (Objects.isNull(one)) { throw new CostException("当前医院不存在"); } return one; } }