|
|
@@ -0,0 +1,74 @@
|
|
|
+package com.mrxu.framework.boot.web;
|
|
|
+
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|
|
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.mrxu.framework.boot.entity.BaseEntity;
|
|
|
+
|
|
|
+import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+public class BaseService<M extends BaseMapper<T>, T extends BaseEntity> extends ServiceImpl<M,T> {
|
|
|
+
|
|
|
+ // 不用父类 saveOrUpdate 业务需要加上tenantId更新
|
|
|
+ public boolean saveOrUpdate(String tenantId, T bean,String username) {
|
|
|
+ bean.setTenantId(tenantId);
|
|
|
+ if(bean.getId() == null) {
|
|
|
+ if(username != null) {
|
|
|
+ bean.setCreatePerson(username);
|
|
|
+ bean.setCreateTime(new Date());
|
|
|
+ }
|
|
|
+ return save(bean);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ if(username != null) {
|
|
|
+ bean.setUpdatePerson(username);
|
|
|
+ bean.setUpdateTime(new Date());
|
|
|
+ }
|
|
|
+ QueryWrapper qw = new QueryWrapper<BaseEntity>();
|
|
|
+ qw.eq("id",bean.getId());
|
|
|
+ if(bean.getTenantId() != null) {
|
|
|
+ qw.eq("tenant_id",bean.getTenantId());
|
|
|
+ }
|
|
|
+ return baseMapper.update(bean,qw) > 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public T getById(String tenantId, Integer id) {
|
|
|
+ QueryWrapper<T> qw = new QueryWrapper<T>();
|
|
|
+ qw.eq("id",id);
|
|
|
+ if(tenantId != null) {
|
|
|
+ qw.eq("tenant_id",tenantId);
|
|
|
+ }
|
|
|
+ return baseMapper.selectOne(qw);
|
|
|
+ }
|
|
|
+
|
|
|
+ public T getByKey(String tenantId,String key,Object value) {
|
|
|
+ QueryWrapper<T> qw = new QueryWrapper<T>();
|
|
|
+ qw.eq(key,value);
|
|
|
+ if(tenantId != null) {
|
|
|
+ qw.eq("tenant_id",tenantId);
|
|
|
+ }
|
|
|
+ return baseMapper.selectOne(qw);
|
|
|
+ }
|
|
|
+
|
|
|
+ public boolean remove(String tenantId,Integer id) {
|
|
|
+ QueryWrapper qw = new QueryWrapper<T>();
|
|
|
+ qw.eq("id",id);
|
|
|
+ if(tenantId != null) {
|
|
|
+ qw.eq("tenant_id",tenantId);
|
|
|
+ }
|
|
|
+ return baseMapper.delete(qw) > 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ public boolean removeBatch(String tenantId,List<Integer> ids) {
|
|
|
+ QueryWrapper qw = new QueryWrapper<BaseEntity>();
|
|
|
+ qw.in("id",ids);
|
|
|
+ if(tenantId != null) {
|
|
|
+ qw.eq("tenant_id",tenantId);
|
|
|
+ }
|
|
|
+ return baseMapper.delete(qw) == ids.size();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+}
|