shuzheng 9 лет назад
Родитель
Сommit
f3a4c648f4

+ 45 - 0
zheng-common/src/main/java/com/zheng/common/base/BaseService.java

@@ -0,0 +1,45 @@
+package com.zheng.common.base;
+
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * BaseService接口
+ * Created by ZhangShuzheng on 2017/01/07.
+ */
+public interface BaseService<Mapper, Record, Example> {
+
+	int countByExample(Example example);
+
+	int deleteByExample(Example example);
+
+	int deleteByPrimaryKey(Integer id);
+
+	int insert(Record record);
+
+	int insertSelective(Record record);
+
+	List<Record> selectByExampleWithBLOBs(Example example);
+
+	List<Record> selectByExample(Example example);
+
+	Record selectByPrimaryKey(Integer id);
+
+	int updateByExampleSelective(@Param("record") Record record, @Param("example") Example example);
+
+	int updateByExampleWithBLOBs(@Param("record") Record record, @Param("example") Example example);
+
+	int updateByExample(@Param("record") Record record, @Param("example") Example example);
+
+	int updateByPrimaryKeySelective(Record record);
+
+	int updateByPrimaryKeyWithBLOBs(Record record);
+
+	int updateByPrimaryKey(Record record);
+
+	int deleteByPrimaryKeys(String ids);
+
+	void initMapper(Mapper mapper);
+
+}

+ 213 - 0
zheng-common/src/main/java/com/zheng/common/base/BaseServiceImpl.java

@@ -0,0 +1,213 @@
+package com.zheng.common.base;
+
+import org.apache.commons.lang.StringUtils;
+import org.apache.ibatis.annotations.Param;
+
+import java.lang.reflect.Method;
+import java.util.List;
+
+/**
+ * 实现BaseService抽象类
+ * Created by ZhangShuzheng on 2017/01/07.
+ */
+public abstract class BaseServiceImpl<Mapper, Record, Example> implements BaseService<Mapper, Record, Example> {
+
+	public Mapper mapper;
+
+	@Override
+	public int countByExample(Example example) {
+		try {
+			Method countByExample = mapper.getClass().getDeclaredMethod("countByExample", example.getClass());
+			Object result = countByExample.invoke(mapper, example);
+			return Integer.parseInt(String.valueOf(result));
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		return 0;
+	}
+
+	@Override
+	public int deleteByExample(Example example) {
+		try {
+			Method deleteByExample = mapper.getClass().getDeclaredMethod("deleteByExample", example.getClass());
+			Object result = deleteByExample.invoke(mapper, example);
+			return Integer.parseInt(String.valueOf(result));
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		return 0;
+	}
+
+	@Override
+	public int deleteByPrimaryKey(Integer id) {
+		try {
+			Method deleteByPrimaryKey = mapper.getClass().getDeclaredMethod("deleteByPrimaryKey", id.getClass());
+			Object result = deleteByPrimaryKey.invoke(mapper, id);
+			return Integer.parseInt(String.valueOf(result));
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		return 0;
+	}
+
+	@Override
+	public int insert(Record record) {
+		try {
+			Method insert = mapper.getClass().getDeclaredMethod("insert", record.getClass());
+			Object result = insert.invoke(mapper, record);
+			return Integer.parseInt(String.valueOf(result));
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		return 0;
+	}
+
+	@Override
+	public int insertSelective(Record record) {
+		try {
+			Method insertSelective = mapper.getClass().getDeclaredMethod("insertSelective", record.getClass());
+			Object result = insertSelective.invoke(mapper, record);
+			return Integer.parseInt(String.valueOf(result));
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		return 0;
+	}
+
+	@Override
+	public List<Record> selectByExampleWithBLOBs(Example example) {
+		try {
+			Method selectByExampleWithBLOBs = mapper.getClass().getDeclaredMethod("selectByExampleWithBLOBs", example.getClass());
+			Object result = selectByExampleWithBLOBs.invoke(mapper, example);
+			return (List<Record>) result;
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		return null;
+	}
+
+	@Override
+	public List<Record> selectByExample(Example example) {
+		try {
+			Method selectByExample = mapper.getClass().getDeclaredMethod("selectByExample", example.getClass());
+			Object result = selectByExample.invoke(mapper, example);
+			return (List<Record>) result;
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		return null;
+	}
+
+	@Override
+	public Record selectByPrimaryKey(Integer id) {
+		try {
+			Method selectByPrimaryKey = mapper.getClass().getDeclaredMethod("selectByPrimaryKey", id.getClass());
+			Object result = selectByPrimaryKey.invoke(mapper, id);
+			return (Record) result;
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		return null;
+	}
+
+	@Override
+	public int updateByExampleSelective(@Param("record") Record record, @Param("example") Example example) {
+		try {
+			Method updateByExampleSelective = mapper.getClass().getDeclaredMethod("updateByExampleSelective", record.getClass(), example.getClass());
+			Object result = updateByExampleSelective.invoke(mapper, record, example);
+			return Integer.parseInt(String.valueOf(result));
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		return 0;
+	}
+
+	@Override
+	public int updateByExampleWithBLOBs(@Param("record") Record record, @Param("example") Example example) {
+		try {
+			Method updateByExampleWithBLOBs = mapper.getClass().getDeclaredMethod("updateByExampleWithBLOBs", record.getClass(), example.getClass());
+			Object result = updateByExampleWithBLOBs.invoke(mapper, record, example);
+			return Integer.parseInt(String.valueOf(result));
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		return 0;
+	}
+
+	@Override
+	public int updateByExample(@Param("record") Record record, @Param("example") Example example) {
+		try {
+			Method updateByExample = mapper.getClass().getDeclaredMethod("updateByExample", record.getClass(), example.getClass());
+			Object result = updateByExample.invoke(mapper, record, example);
+			return Integer.parseInt(String.valueOf(result));
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		return 0;
+	}
+
+	@Override
+	public int updateByPrimaryKeySelective(Record record) {
+		try {
+			Method updateByPrimaryKeySelective = mapper.getClass().getDeclaredMethod("updateByPrimaryKeySelective", record.getClass());
+			Object result = updateByPrimaryKeySelective.invoke(mapper, record);
+			return Integer.parseInt(String.valueOf(result));
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		return 0;
+	}
+
+	@Override
+	public int updateByPrimaryKeyWithBLOBs(Record record) {
+		try {
+			Method updateByPrimaryKeyWithBLOBs = mapper.getClass().getDeclaredMethod("updateByPrimaryKeyWithBLOBs", record.getClass());
+			Object result = updateByPrimaryKeyWithBLOBs.invoke(mapper, record);
+			return Integer.parseInt(String.valueOf(result));
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		return 0;
+	}
+
+	@Override
+	public int updateByPrimaryKey(Record record) {
+		try {
+			Method updateByPrimaryKey = mapper.getClass().getDeclaredMethod("updateByPrimaryKey", record.getClass());
+			Object result = updateByPrimaryKey.invoke(mapper, record);
+			return Integer.parseInt(String.valueOf(result));
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		return 0;
+	}
+
+	@Override
+	public int deleteByPrimaryKeys(String ids) {
+		try {
+			if (StringUtils.isBlank(ids)) {
+				return 0;
+			}
+			String[] idArray = ids.split("-");
+			int count = 0;
+			for (String id : idArray) {
+				if (StringUtils.isBlank(id)) {
+					continue;
+				}
+				Method deleteByPrimaryKey = mapper.getClass().getDeclaredMethod("deleteByPrimaryKey", id.getClass());
+				Object result = deleteByPrimaryKey.invoke(mapper, id);
+				count += Integer.parseInt(String.valueOf(result));
+			}
+			return count;
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		return 0;
+	}
+
+	@Override
+	public void initMapper(Mapper mapper) {
+		this.mapper = mapper;
+	}
+
+}

+ 3 - 1
zheng-upms/zheng-upms-rpc-api/src/main/java/com/zheng/upms/rpc/api/UpmsSystemService.java

@@ -1,5 +1,7 @@
 package com.zheng.upms.rpc.api;
 
+import com.zheng.common.base.BaseService;
+import com.zheng.upms.dao.mapper.UpmsSystemMapper;
 import com.zheng.upms.dao.model.UpmsSystem;
 import com.zheng.upms.dao.model.UpmsSystemExample;
 
@@ -7,7 +9,7 @@ import com.zheng.upms.dao.model.UpmsSystemExample;
  * 系统service接口
  * Created by shuzheng on 2016/12/18.
  */
-public interface UpmsSystemService extends BaseService<UpmsSystem, UpmsSystemExample> {
+public interface UpmsSystemService extends BaseService<UpmsSystemMapper, UpmsSystem, UpmsSystemExample> {
 
 
 }

+ 3 - 98
zheng-upms/zheng-upms-rpc-service/src/main/java/com/zheng/upms/rpc/service/impl/UpmsSystemServiceImpl.java

@@ -1,123 +1,28 @@
 package com.zheng.upms.rpc.service.impl;
 
+import com.zheng.common.base.BaseServiceImpl;
 import com.zheng.upms.dao.mapper.UpmsSystemMapper;
 import com.zheng.upms.dao.model.UpmsSystem;
 import com.zheng.upms.dao.model.UpmsSystemExample;
 import com.zheng.upms.rpc.api.UpmsSystemService;
-import org.apache.commons.lang.StringUtils;
-import org.apache.ibatis.annotations.Param;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.List;
-
 /**
  * 系统service实现
  * Created by shuzheng on 2016/12/18.
  */
 @Service
 @Transactional
-public class UpmsSystemServiceImpl implements UpmsSystemService {
+public class UpmsSystemServiceImpl extends BaseServiceImpl<UpmsSystemMapper, UpmsSystem, UpmsSystemExample> implements UpmsSystemService {
 
     private static Logger _log = LoggerFactory.getLogger(UpmsSystemServiceImpl.class);
 
     @Autowired
-    private UpmsSystemMapper upmsSystemMapper;
-
-    @Override
-    public int countByExample(UpmsSystemExample upmsSystemExample) {
-        return upmsSystemMapper.countByExample(upmsSystemExample);
-    }
-
-    @Override
-    public int deleteByExample(UpmsSystemExample upmsSystemExample) {
-        return upmsSystemMapper.deleteByExample(upmsSystemExample);
-    }
-
-    @Override
-    public int deleteByPrimaryKey(Integer id) {
-        return upmsSystemMapper.deleteByPrimaryKey(id);
-    }
-
-    @Override
-    public int insert(UpmsSystem upmsSystem) {
-        return upmsSystemMapper.insert(upmsSystem);
-    }
-
-    @Override
-    public int insertSelective(UpmsSystem upmsSystem) {
-        return upmsSystemMapper.insertSelective(upmsSystem);
-    }
-
-    @Override
-    public List<UpmsSystem> selectByExampleWithBLOBs(UpmsSystemExample upmsSystemExample) {
-        return upmsSystemMapper.selectByExample(upmsSystemExample);
-    }
-
-    @Override
-    public List<UpmsSystem> selectByExample(UpmsSystemExample upmsSystemExample) {
-        return upmsSystemMapper.selectByExample(upmsSystemExample);
-    }
-
-    @Override
-    public UpmsSystem selectByPrimaryKey(Integer id) {
-        return upmsSystemMapper.selectByPrimaryKey(id);
-    }
-
-    @Override
-    public int updateByExampleSelective(@Param("record") UpmsSystem upmsSystem, @Param("example") UpmsSystemExample upmsSystemExample) {
-        return upmsSystemMapper.updateByExampleSelective(upmsSystem, upmsSystemExample);
-    }
-
-    @Override
-    public int updateByExampleWithBLOBs(@Param("record") UpmsSystem upmsSystem, @Param("example") UpmsSystemExample upmsSystemExample) {
-        return upmsSystemMapper.updateByExample(upmsSystem, upmsSystemExample);
-    }
-
-    @Override
-    public int updateByExample(@Param("record") UpmsSystem upmsSystem, @Param("example") UpmsSystemExample upmsSystemExample) {
-        return upmsSystemMapper.updateByExample(upmsSystem, upmsSystemExample);
-    }
-
-    @Override
-    public int updateByPrimaryKeySelective(UpmsSystem upmsSystem) {
-        return upmsSystemMapper.updateByPrimaryKeySelective(upmsSystem);
-    }
-
-    @Override
-    public int updateByPrimaryKeyWithBLOBs(UpmsSystem upmsSystem) {
-        return upmsSystemMapper.updateByPrimaryKey(upmsSystem);
-    }
-
-    @Override
-    public int updateByPrimaryKey(UpmsSystem upmsSystem) {
-        return upmsSystemMapper.updateByPrimaryKey(upmsSystem);
-    }
+    UpmsSystemMapper upmsSystemMapper;
 
-    // 批量删除
-    @Override
-    public int deleteByPrimaryKeys(String ids) {
-        _log.info("批量删除:ids={}", ids);
-        if (StringUtils.isBlank(ids)) {
-            return 0;
-        }
-        String[] idArray = ids.split("-");
-        int count = 0;
-        for (String id : idArray) {
-            if (StringUtils.isBlank(id)) {
-                continue;
-            }
-            try {
-                count += upmsSystemMapper.deleteByPrimaryKey(Integer.parseInt(id));
-            } catch (Exception e) {
-                e.printStackTrace();
-                return 0;
-            }
-        }
-        return count;
-    }
 
 }