package com.ruoyi.system.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.BeanUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
//import com.github.pagehelper.Page;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.id.IDGeneratorUtils;
import com.ruoyi.system.bo.AppDiseaseAddBo;
import com.ruoyi.system.bo.AppDiseaseEditBo;
import com.ruoyi.system.bo.AppDiseaseQueryBo;
import com.ruoyi.system.domain.AppDisease;
import com.ruoyi.system.mapper.MybatispulsMapper;
import com.ruoyi.system.service.IMybatisplustService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.sql.Wrapper;
import java.util.Collection;
import java.util.List;
/**
* @description:
* @author: li
*/
@Service
public class MybatisplustServiceImpl extends ServiceImpl<MybatispulsMapper,AppDisease> implements IMybatisplustService {
@Autowired
MybatispulsMapper mybatispulsMapper;
//
@Override
public List<AppDisease> queryList(AppDiseaseQueryBo bo) {
QueryWrapper<AppDisease> qw = new QueryWrapper<>();
qw.eq(StringUtils.isNotNull(bo.getType()),"type", bo.getType());
IPage<AppDisease> page = new Page<>(bo.getPageNum(),bo.getPageSize());
IPage<AppDisease> obj = this.page(page, qw);
long total = obj.getTotal();
List<AppDisease> records = obj.getRecords();
return records;
}
//标准查询使用IService
@Override
public List<AppDisease> queryList2(AppDiseaseQueryBo bo) {
LambdaQueryWrapper<AppDisease> lq = Wrappers.lambdaQuery();
lq.eq(StringUtils.isNotNull(bo.getType()), AppDisease::getType, bo.getType());
lq.orderByDesc(StringUtils.isNotNull(bo.getType()), AppDisease::getCreateTime);
IPage<AppDisease> page = new Page<>(bo.getPageNum(),bo.getPageSize());
IPage<AppDisease> obj = this.page(page, lq);
long total = obj.getTotal();
List<AppDisease> records = obj.getRecords();
return records;
}
//聚合 必须使用BaseMapper
@Override
public List<AppDisease> queryList3(AppDiseaseQueryBo bo) {
QueryWrapper<AppDisease> qw = new QueryWrapper<>();
qw.eq(StringUtils.isNotNull(bo.getType()), "type", bo.getType());
qw.select("count(*) as totalAcount");
List<AppDisease> appDiseases = this.list(qw);
return appDiseases;
}
//修改实体类内容 根据id,修改实体类的任意属性
// public List<>
@Override
public Boolean updateAppDiseaseById(AppDiseaseEditBo bo) {
AppDisease appDisease = BeanUtil.toBean(bo, AppDisease.class);
return this.updateById(appDisease);
}
// 根据非主键id(另一个唯一标识),修改实体类任意属性,适合更新多个属性字段
@Override
public Boolean updateAppDiseaseById2(AppDiseaseEditBo bo) {
UpdateWrapper<AppDisease> uw = new UpdateWrapper<>();
uw.eq("type", bo.getType());
AppDisease appDisease = new AppDisease();
appDisease.setName(bo.getName());
return this.update(appDisease, uw);
// return this.updateById(appDisease);
}
// 根据非主键id(另一个唯一标识),修改实体类一个属性,适合更新单个属性字段
@Override
public Boolean updateAppDiseaseById3(AppDiseaseEditBo bo) {
UpdateWrapper<AppDisease> uw = new UpdateWrapper<>();
uw.eq("type", bo.getType()).set("name", bo.getName());
boolean update = this.update(uw);
return update;
}
//添加
@Override
public Boolean addAppDisease(AppDiseaseAddBo bo) {
bo.setId(IDGeneratorUtils.getLongId());
AppDisease appDisease = BeanUtil.toBean(bo, AppDisease.class);
return this.save(appDisease);
}
//删除
// public Boolean addAppDisease(AppDiseaseAddBo bo) {
// bo.setId(IDGeneratorUtils.getLongId());
// AppDisease appDisease = BeanUtil.toBean(bo, AppDisease.class);
// return this.save(appDisease);
// }
}
网友评论