solon-manager/src/main/java/vip/fuck/sm/service/impl/SysDictDetailServiceImpl.java
2025-03-21 23:51:45 +08:00

53 lines
2.0 KiB
Java

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<SysDictDetailMapper, SysDictDetailEntity> implements SysDictDetailService {
@Db
private SysDictDetailMapper sysDictDetailMapper;
@Db
private SysDictMapper sysDictMapper;
@Override
public IPage<SysDictDetailEntity> listByPage(Page<SysDictDetailEntity> page, String dictId) {
SysDictEntity sysDictEntity = sysDictMapper.selectById(dictId);
if (sysDictEntity == null) {
throw new BusinessException("获取字典数据失败!");
}
LambdaQueryWrapper<SysDictDetailEntity> wrapper = Wrappers.lambdaQuery();
wrapper.eq(SysDictDetailEntity::getDictId, dictId);
wrapper.orderByAsc(SysDictDetailEntity::getSort);
IPage<SysDictDetailEntity> result = sysDictDetailMapper.selectPage(page, wrapper);
if (!ObjectUtil.isEmpty(result.getRecords())) {
result.getRecords().stream().forEach(entity -> entity.setDictName(sysDictEntity.getName()));
}
return result;
}
}