package vip.fuck.sm.service.impl; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import vip.fuck.sm.common.exception.BusinessException; import vip.fuck.sm.entity.SysDictDetailEntity; import vip.fuck.sm.entity.SysDictEntity; import vip.fuck.sm.mapper.SysDictDetailMapper; import vip.fuck.sm.mapper.SysDictMapper; import vip.fuck.sm.service.SysDictDetailService; import org.apache.ibatis.solon.annotation.Db; import org.noear.solon.annotation.Component; import org.noear.solon.annotation.Inject; import javax.annotation.Resource; /** * 数据字典 服务类 * * @author xian.zi.ming@qq.com fuck.vip * @version V1.0 * @date 2020年3月18日 */ @Component(value = "share:sysDictDetailService",typed = true) public class SysDictDetailServiceImpl extends ServiceImpl implements SysDictDetailService { @Db private SysDictDetailMapper sysDictDetailMapper; @Db private SysDictMapper sysDictMapper; @Override public IPage listByPage(Page page, String dictId) { SysDictEntity sysDictEntity = sysDictMapper.selectById(dictId); if (sysDictEntity == null) { throw new BusinessException("获取字典数据失败!"); } LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); wrapper.eq(SysDictDetailEntity::getDictId, dictId); wrapper.orderByAsc(SysDictDetailEntity::getSort); IPage result = sysDictDetailMapper.selectPage(page, wrapper); if (!ObjectUtil.isEmpty(result.getRecords())) { result.getRecords().stream().forEach(entity -> entity.setDictName(sysDictEntity.getName())); } return result; } }