package com.yunzhi.demo.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.TableInfo; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; import com.yunzhi.demo.service.IBaseService; import java.io.Serializable; public class BaseServiceImpl, T> extends ServiceImpl implements IBaseService { @Override public boolean removeLogicById(Serializable id) { TableInfo tableInfo = SqlHelper.table(currentModelClass()); UpdateWrapper updateWrapper = new UpdateWrapper<>(); updateWrapper.set("state", -1) .eq(tableInfo.getKeyColumn(), id); return update(updateWrapper); } @Override public int countBy(String column, Object value, boolean notDelete) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq(column, value); queryWrapper.gt(notDelete, "state", -1); return count(queryWrapper); } @Override public T getByButNot(String column, Object value, String col, Object val, boolean notDelete) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq(column, value); queryWrapper.ne(col, val); queryWrapper.gt(notDelete, "state", -1); queryWrapper.last("limit 1"); return getOne(queryWrapper); } @Override public T getExistBy(String column, Object value, boolean normal, boolean notDelete) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq(column, value); queryWrapper.eq(normal, "state", 1); queryWrapper.gt(notDelete, "state", -1); queryWrapper.last("limit 1"); return getOne(queryWrapper); } }