字典表功能开发
diff --git a/leaveschool/basics-data/src/main/java/com/supwisdom/leaveschool/basicsdata/Repository/DictionaryTypeRepository.java b/leaveschool/basics-data/src/main/java/com/supwisdom/leaveschool/basicsdata/Repository/DictionaryTypeRepository.java
index 496ccaf..eb72101 100644
--- a/leaveschool/basics-data/src/main/java/com/supwisdom/leaveschool/basicsdata/Repository/DictionaryTypeRepository.java
+++ b/leaveschool/basics-data/src/main/java/com/supwisdom/leaveschool/basicsdata/Repository/DictionaryTypeRepository.java
@@ -1,12 +1,41 @@
 package com.supwisdom.leaveschool.basicsdata.Repository;
 
+import java.util.Map;
+
+import org.springframework.data.domain.Example;
+import org.springframework.data.domain.ExampleMatcher;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageRequest;
 import org.springframework.stereotype.Repository;
 
 import com.supwisdom.leaveschool.basicsdata.domain.DictionaryType;
 import com.supwisdom.leaveschool.common.repository.BaseJpaRepository;
+import com.supwisdom.leaveschool.common.util.MapBeanUtils;
 
 @Repository
 public interface DictionaryTypeRepository extends BaseJpaRepository<DictionaryType> {
   
+	public default Page<DictionaryType> selectPageListByQuery(int pageIndex, int pageSize, Map<String, Object> mapBean) {
 
+		DictionaryType probe = new DictionaryType();
+		ExampleMatcher matcher = ExampleMatcher.matching();
+		
+//		probe.setEnabled(true);
+//		matcher.withMatcher("enabled", ExampleMatcher.GenericPropertyMatchers.exact());
+	    if (mapBean != null&&mapBean.keySet().size()>0) {
+	      probe.setName(MapBeanUtils.getString(mapBean, "name"));
+	      matcher.withMatcher("name", ExampleMatcher.GenericPropertyMatchers.contains());
+	    }
+//	    
+//	    matcher.withMatcher("code", ExampleMatcher.GenericPropertyMatchers.contains())
+//	        .withMatcher("name", ExampleMatcher.GenericPropertyMatchers.contains())
+//	        .withMatcher("enabled", ExampleMatcher.GenericPropertyMatchers.exact());
+	    
+	    PageRequest pageRequest = PageRequest.of(pageIndex, pageSize);
+	    Example<DictionaryType> example = Example.of(probe, matcher);
+	    
+	    Page<DictionaryType> page = this.findAll(example, pageRequest);
+	    
+	    return page;
+	  }
 }
diff --git a/leaveschool/basics-data/src/main/java/com/supwisdom/leaveschool/basicsdata/api/Api1DictionaryTypeController.java b/leaveschool/basics-data/src/main/java/com/supwisdom/leaveschool/basicsdata/api/Api1DictionaryTypeController.java
index 896d4b5..155e9a2 100644
--- a/leaveschool/basics-data/src/main/java/com/supwisdom/leaveschool/basicsdata/api/Api1DictionaryTypeController.java
+++ b/leaveschool/basics-data/src/main/java/com/supwisdom/leaveschool/basicsdata/api/Api1DictionaryTypeController.java
@@ -1,15 +1,28 @@
 package com.supwisdom.leaveschool.basicsdata.api;
 
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.http.HttpStatus;
+import org.springframework.util.MimeTypeUtils;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseStatus;
 import org.springframework.web.bind.annotation.RestController;
 
 import com.supwisdom.leaveschool.basicsdata.Repository.DictionaryTypeRepository;
 import com.supwisdom.leaveschool.basicsdata.domain.DictionaryType;
 import com.supwisdom.leaveschool.common.controller.api.CrudApiController;
+import com.supwisdom.leaveschool.common.model.PagerRequestModel;
+import com.supwisdom.leaveschool.common.model.PagerResponseModel;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
 
 @RestController
 @RequestMapping("/api/v1/basics-data/dictionary-types")
+@Api(value="字典表类型操作",tags={"字典表类型的操作接口"})
 public class Api1DictionaryTypeController extends CrudApiController<DictionaryType, DictionaryTypeRepository> {
 
   @Autowired
@@ -19,6 +32,22 @@
 	protected DictionaryTypeRepository getRepository() {
 		return dictionaryTypeRepository;
 	}
+	
+	  @GetMapping(path = "/page/sercher",produces = MimeTypeUtils.APPLICATION_JSON_VALUE)
+	  @ResponseStatus(value = HttpStatus.OK)
+	  @ApiOperation(value="根据查询条件获取字典表类型列表",notes="注意问题点")
+	  @ApiImplicitParams({
+	      @ApiImplicitParam(name = "pageIndex", value = "当前第页数,默认0,为第一页", dataType = "int", required = true, defaultValue = "0"),
+	      @ApiImplicitParam(name = "pageSize", value = "每页条数,默认20", required = true, dataType = "int", paramType = "query", defaultValue = "20"),
+	      @ApiImplicitParam(name = "name", value = "类型码或名称", required = false, dataType = "string", paramType = "query", defaultValue = "")
+	  })
+	  public Object list(int pageIndex,int pageSize,String name) {
+		 PagerRequestModel pagerRequestModel = new PagerRequestModel(pageIndex, pageSize);
+		 pagerRequestModel.getMapBean().put("name", name);
+		 Page<DictionaryType> page = dictionaryTypeRepository.selectPageListByQuery(pagerRequestModel.getPageIndex(), pagerRequestModel.getPageSize(), pagerRequestModel.getMapBean());
+		 PagerResponseModel<DictionaryType> pagerResponseModel = PagerResponseModel.of(pagerRequestModel,page);
+	    return pagerResponseModel;
+	  }
 
 
 }
diff --git a/leaveschool/basics-data/src/main/java/com/supwisdom/leaveschool/basicsdata/domain/DictionaryType.java b/leaveschool/basics-data/src/main/java/com/supwisdom/leaveschool/basicsdata/domain/DictionaryType.java
index 0361df8..4258939 100644
--- a/leaveschool/basics-data/src/main/java/com/supwisdom/leaveschool/basicsdata/domain/DictionaryType.java
+++ b/leaveschool/basics-data/src/main/java/com/supwisdom/leaveschool/basicsdata/domain/DictionaryType.java
@@ -13,6 +13,7 @@
  */
 @Entity
 @Table(name = "TB_B_DICTIONARY_TYPE")
+@org.hibernate.annotations.Table(appliesTo = "TB_B_DICTIONARY_TYPE",comment="字典类型表")
 public class DictionaryType extends ABaseDomain {
 
  
diff --git a/leaveschool/client/src/main/java/com/supwisdom/leaveschool/client/ClientApplication.java b/leaveschool/client/src/main/java/com/supwisdom/leaveschool/client/ClientApplication.java
index 181f6a5..71d7a7b 100644
--- a/leaveschool/client/src/main/java/com/supwisdom/leaveschool/client/ClientApplication.java
+++ b/leaveschool/client/src/main/java/com/supwisdom/leaveschool/client/ClientApplication.java
@@ -13,12 +13,15 @@
 import com.supwisdom.infras.security.configure.oauth2.EnableInfrasOAuth2;
 import com.supwisdom.leaveschool.feign.CharlesRequestInterceptor;
 
+import springfox.documentation.swagger2.annotations.EnableSwagger2;
+
 @SpringBootApplication
 @EnableCircuitBreaker
 @EnableFeignClients(value = "com.supwisdom.leaveschool.client.service")
 @EnableHystrixDashboard
 //@EnableInfrasOAuth2
 @EnableInfrasApiSecurity
+@EnableSwagger2
 public class ClientApplication {
 
   public static void main(String[] args) {
diff --git a/leaveschool/client/src/main/java/com/supwisdom/leaveschool/client/controller/api/HelloController.java b/leaveschool/client/src/main/java/com/supwisdom/leaveschool/client/controller/api/HelloController.java
index 5e71759..23824af 100644
--- a/leaveschool/client/src/main/java/com/supwisdom/leaveschool/client/controller/api/HelloController.java
+++ b/leaveschool/client/src/main/java/com/supwisdom/leaveschool/client/controller/api/HelloController.java
@@ -3,17 +3,23 @@
 import java.util.HashMap;
 
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
 import org.springframework.util.MimeTypeUtils;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseStatus;
 import org.springframework.web.bind.annotation.RestController;
 
 import com.supwisdom.leaveschool.client.security.core.userdetails.MyUser;
 import com.supwisdom.leaveschool.client.service.SampleUser1AdminUserRemoteService;
+import com.supwisdom.leaveschool.client.util.AuthenticationUtil;
 import com.supwisdom.leaveschool.client.util.MyUserUtil;
 import com.supwisdom.leaveschool.proxy.common.model.PagerRequestModel;
 
+import io.swagger.annotations.ApiOperation;
+
 @RestController
 @RequestMapping("/api/hello")
 public class HelloController {
@@ -22,7 +28,7 @@
 	SampleUser1AdminUserRemoteService sampleUser1AdminUserRemoteService;
 	
 	@GetMapping(path = "/{name}", produces = MimeTypeUtils.APPLICATION_JSON_VALUE)
-	public MyUser hello(@PathVariable("name") String name) {
+	public MyUser hello2(@PathVariable("name") String name) {
 		MyUser user = MyUserUtil.getCurrentMyUser();
 		
 		//PagerRequestModel pagerRequestModel = new PagerRequestModel();  // 分页请求,默认 pageIndex=0, pageSize=20
@@ -33,4 +39,11 @@
 		
 		return user;
 	}
+	
+	  @PostMapping(produces = MimeTypeUtils.APPLICATION_JSON_VALUE)
+	  @ResponseStatus(value = HttpStatus.OK)
+	  public Object create(String name) {
+			MyUser user = MyUserUtil.getCurrentMyUser();
+		  return user;
+	  }
 }
diff --git a/leaveschool/client/src/main/java/com/supwisdom/leaveschool/client/controller/basicsdata/DictionaryTypeController.java b/leaveschool/client/src/main/java/com/supwisdom/leaveschool/client/controller/basicsdata/DictionaryTypeController.java
index a82b46a..c84153a 100644
--- a/leaveschool/client/src/main/java/com/supwisdom/leaveschool/client/controller/basicsdata/DictionaryTypeController.java
+++ b/leaveschool/client/src/main/java/com/supwisdom/leaveschool/client/controller/basicsdata/DictionaryTypeController.java
@@ -6,16 +6,23 @@
 import org.springframework.http.HttpStatus;
 import org.springframework.util.MimeTypeUtils;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.bind.annotation.ResponseStatus;
 import org.springframework.web.bind.annotation.RestController;
 
-import com.supwisdom.leaveschool.client.service.basicsdata.DictionaryType1RemoteService;
+import com.supwisdom.leaveschool.client.service.DictionaryType1RemoteService;
+import com.supwisdom.leaveschool.client.util.AuthenticationUtil;
+import com.supwisdom.leaveschool.proxy.basicsdata.domain.DictionaryType;
+import com.supwisdom.leaveschool.proxy.common.model.SuccessResponseModel;
 
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
 
 @RestController
 @RequestMapping("/api/basics-data/dictionary-types")
@@ -27,18 +34,30 @@
 	@Autowired
 	DictionaryType1RemoteService dictionaryType1RemoteService;
 	
+	
 	  @GetMapping(produces = MimeTypeUtils.APPLICATION_JSON_VALUE)
 	  @ResponseStatus(value = HttpStatus.OK)
-	  @ApiOperation(value="获取字典表类型列表",tags={"获取字典表类型列表copy"},notes="注意问题点")
-//	  @ApiImplicitParams({
-//	      @ApiImplicitParam(name = "pageIndex", value = "当前第页数,默认0,为第一页", required = true, dataType = "int", paramType = "query", defaultValue = "0"),
-//	      @ApiImplicitParam(name = "pageSize", value = "每页条数,默认20", required = true, dataType = "int", paramType = "query", defaultValue = "20"),
-//	      @ApiImplicitParam(name = "name", value = "类型码或名称", required = false, dataType = "string", paramType = "query", defaultValue = "")
-//	  })
-	  @ResponseBody
-	  public Object list(@ApiParam(name="pageIndex",value="当前第页数,默认0,为第一页",required=true,defaultValue="0") int pageIndex,
-			  			 @ApiParam(name="pageIndex",value="每页条数,默认20",required=true,defaultValue="20") int pageSize,
-			  			@ApiParam(name="name",value="类型码或名称",required=true,defaultValue="20") String name) {
-	    return dictionaryType1RemoteService.list(pageIndex,pageSize,name);
+	  @ApiOperation(value="获取字典表类型列表",notes="注意问题点")
+	  @ApiImplicitParams({
+	      @ApiImplicitParam(name = "pageIndex", value = "当前第页数,默认0,为第一页", dataType = "int", required = true, defaultValue = "0"),
+	      @ApiImplicitParam(name = "pageSize", value = "每页条数,默认20", required = true, dataType = "int", paramType = "query", defaultValue = "20"),
+	      @ApiImplicitParam(name = "name", value = "类型码或名称", required = false, dataType = "string", paramType = "query", defaultValue = "")
+	  })
+//	  public Object list(@ApiParam(name="pageIndex",value="当前第页数,默认0,为第一页",required=true,defaultValue="0") int pageIndex,
+//			  			 @ApiParam(name="pageSize",value="每页条数,默认20",required=true,defaultValue="20") int pageSize,
+//			  			@ApiParam(name="name",value="类型码或名称",required=false,defaultValue="") String name) {
+//	    return dictionaryType1RemoteService.list(pageIndex,pageSize,name);
+//	  }
+	  public Object list(int pageIndex,@RequestParam(defaultValue="20") int pageSize,String name) {
+		return dictionaryType1RemoteService.list(pageIndex,pageSize,name);
+		}
+	  
+	  
+	  @PostMapping(produces = MimeTypeUtils.APPLICATION_JSON_VALUE)
+	  @ResponseStatus(value = HttpStatus.OK)
+	  @ApiOperation(value="新增字典表类型",notes="注意问题点")
+	  public Object create(String name) {
+		  logger.debug(AuthenticationUtil.currentUsername());
+		  return "";
 	  }
 }
diff --git a/leaveschool/client/src/main/java/com/supwisdom/leaveschool/client/service/DemoUserRemoteService.java b/leaveschool/client/src/main/java/com/supwisdom/leaveschool/client/service/DemoUserRemoteService.java
index 2fa6624..2072979 100644
--- a/leaveschool/client/src/main/java/com/supwisdom/leaveschool/client/service/DemoUserRemoteService.java
+++ b/leaveschool/client/src/main/java/com/supwisdom/leaveschool/client/service/DemoUserRemoteService.java
@@ -11,8 +11,8 @@
 import com.supwisdom.leaveschool.client.service.fallback.DemoUserRemoteHystrix;
 
 @FeignClient(
-    name = "sample-user", 
-    url = "${sample-user.api.url}/api/demo/users", 
+    name = "leaveschool-user", 
+    url = "${leaveschool-user.api.url}/api/demo/users", 
     fallback = DemoUserRemoteHystrix.class
 )
 public interface DemoUserRemoteService {
diff --git a/leaveschool/client/src/main/java/com/supwisdom/leaveschool/client/service/basicsdata/DictionaryType1RemoteService.java b/leaveschool/client/src/main/java/com/supwisdom/leaveschool/client/service/DictionaryType1RemoteService.java
similarity index 90%
rename from leaveschool/client/src/main/java/com/supwisdom/leaveschool/client/service/basicsdata/DictionaryType1RemoteService.java
rename to leaveschool/client/src/main/java/com/supwisdom/leaveschool/client/service/DictionaryType1RemoteService.java
index 329c550..1f36fc8 100644
--- a/leaveschool/client/src/main/java/com/supwisdom/leaveschool/client/service/basicsdata/DictionaryType1RemoteService.java
+++ b/leaveschool/client/src/main/java/com/supwisdom/leaveschool/client/service/DictionaryType1RemoteService.java
@@ -1,4 +1,4 @@
-package com.supwisdom.leaveschool.client.service.basicsdata;
+package com.supwisdom.leaveschool.client.service;
 
 import java.util.Map;
 
@@ -24,7 +24,7 @@
 public interface DictionaryType1RemoteService {
   
   @RequestMapping(method = RequestMethod.GET, produces = MimeTypeUtils.APPLICATION_JSON_VALUE)
-  public PagerResponseModel<DictionaryType> list(int pageIndex,int pageSize,String name);
+  public PagerResponseModel<DictionaryType> list(@RequestParam("pageIndex") int pageIndex,@RequestParam("pageSize") int pageSize,@RequestParam("name") String name);
 
   @RequestMapping(path = "/{id}", method = RequestMethod.GET, produces = MimeTypeUtils.APPLICATION_JSON_VALUE)
   public DictionaryType get(@PathVariable("id") String id);
diff --git a/leaveschool/client/src/main/java/com/supwisdom/leaveschool/client/service/SampleUser1AdminGroupRemoteService.java b/leaveschool/client/src/main/java/com/supwisdom/leaveschool/client/service/SampleUser1AdminGroupRemoteService.java
index a83980f..a29bbe1 100644
--- a/leaveschool/client/src/main/java/com/supwisdom/leaveschool/client/service/SampleUser1AdminGroupRemoteService.java
+++ b/leaveschool/client/src/main/java/com/supwisdom/leaveschool/client/service/SampleUser1AdminGroupRemoteService.java
@@ -14,8 +14,8 @@
 import com.supwisdom.leaveschool.proxy.user.domain.Group;
 
 @FeignClient(
-    name = "sample-user-1-admin-group", 
-    url = "${sample-user.api.url}/api/v1/admin/groups", 
+    name = "leaveschool-user-1-admin-group", 
+    url = "${leaveschool-user.api.url}/api/v1/admin/groups", 
     fallback = SampleUser1AdminGroupRemoteHystrix.class
 )
 public interface SampleUser1AdminGroupRemoteService {
diff --git a/leaveschool/client/src/main/java/com/supwisdom/leaveschool/client/service/SampleUser1AdminRoleRemoteService.java b/leaveschool/client/src/main/java/com/supwisdom/leaveschool/client/service/SampleUser1AdminRoleRemoteService.java
index 0f74258..80b387e 100644
--- a/leaveschool/client/src/main/java/com/supwisdom/leaveschool/client/service/SampleUser1AdminRoleRemoteService.java
+++ b/leaveschool/client/src/main/java/com/supwisdom/leaveschool/client/service/SampleUser1AdminRoleRemoteService.java
@@ -14,8 +14,8 @@
 import com.supwisdom.leaveschool.proxy.user.domain.Role;
 
 @FeignClient(
-    name = "sample-user-1-admin-role", 
-    url = "${sample-user.api.url}/api/v1/admin/roles", 
+    name = "leaveschool-user-1-admin-role", 
+    url = "${leaveschool-user.api.url}/api/v1/admin/roles", 
     fallback = SampleUser1AdminRoleRemoteHystrix.class
 )
 public interface SampleUser1AdminRoleRemoteService {
diff --git a/leaveschool/client/src/main/java/com/supwisdom/leaveschool/client/service/SampleUser1AdminUserRemoteService.java b/leaveschool/client/src/main/java/com/supwisdom/leaveschool/client/service/SampleUser1AdminUserRemoteService.java
index 6d361df..4fa2665 100644
--- a/leaveschool/client/src/main/java/com/supwisdom/leaveschool/client/service/SampleUser1AdminUserRemoteService.java
+++ b/leaveschool/client/src/main/java/com/supwisdom/leaveschool/client/service/SampleUser1AdminUserRemoteService.java
@@ -14,8 +14,8 @@
 import com.supwisdom.leaveschool.proxy.user.domain.User;
 
 @FeignClient(
-    name = "sample-user-1-admin-user", 
-    url = "${sample-user.api.url}/api/v1/admin/users", 
+    name = "leaveschool-user-1-admin-user", 
+    url = "${leaveschool-user.api.url}/api/v1/admin/users", 
     fallback = SampleUser1AdminUserRemoteHystrix.class
 )
 public interface SampleUser1AdminUserRemoteService {
diff --git a/leaveschool/client/src/main/java/com/supwisdom/leaveschool/client/service/SampleUser1SecurityUserRemoteService.java b/leaveschool/client/src/main/java/com/supwisdom/leaveschool/client/service/SampleUser1SecurityUserRemoteService.java
index 9a55516..fee6be2 100644
--- a/leaveschool/client/src/main/java/com/supwisdom/leaveschool/client/service/SampleUser1SecurityUserRemoteService.java
+++ b/leaveschool/client/src/main/java/com/supwisdom/leaveschool/client/service/SampleUser1SecurityUserRemoteService.java
@@ -11,8 +11,8 @@
 import com.supwisdom.leaveschool.proxy.user.model.SecurityUser;
 
 @FeignClient(
-    name = "sample-user-1-security-user", 
-    url = "${sample-user.api.url}/api/v1/security/users", 
+    name = "leaveschool-user-1-security-user", 
+    url = "${leaveschool-user.api.url}/api/v1/security/users", 
     fallback = SampleUser1SecurityUserRemoteHystrix.class
 )
 public interface SampleUser1SecurityUserRemoteService {
diff --git a/leaveschool/client/src/main/java/com/supwisdom/leaveschool/client/service/fallback/DictionaryType1RemoteHystrix.java b/leaveschool/client/src/main/java/com/supwisdom/leaveschool/client/service/fallback/DictionaryType1RemoteHystrix.java
index de6a7a7..7fccb1b 100644
--- a/leaveschool/client/src/main/java/com/supwisdom/leaveschool/client/service/fallback/DictionaryType1RemoteHystrix.java
+++ b/leaveschool/client/src/main/java/com/supwisdom/leaveschool/client/service/fallback/DictionaryType1RemoteHystrix.java
@@ -4,7 +4,7 @@
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Component;
 
-import com.supwisdom.leaveschool.client.service.basicsdata.DictionaryType1RemoteService;
+import com.supwisdom.leaveschool.client.service.DictionaryType1RemoteService;
 import com.supwisdom.leaveschool.proxy.basicsdata.domain.DictionaryType;
 import com.supwisdom.leaveschool.proxy.common.model.PagerResponseModel;
 import com.supwisdom.leaveschool.proxy.common.model.SuccessResponseModel;
diff --git a/leaveschool/common/src/main/java/com/supwisdom/leaveschool/common/controller/api/CrudApiController.java b/leaveschool/common/src/main/java/com/supwisdom/leaveschool/common/controller/api/CrudApiController.java
index 0f32960..130b35f 100644
--- a/leaveschool/common/src/main/java/com/supwisdom/leaveschool/common/controller/api/CrudApiController.java
+++ b/leaveschool/common/src/main/java/com/supwisdom/leaveschool/common/controller/api/CrudApiController.java
@@ -83,6 +83,7 @@
     return pagerResponseModel;
   }
   
+  
   /**
    * 
    * curl -i -s -X GET -H 'Accept:application/json' 'http://localhost:10010/${API_PATH_PREFIX}/domains/1' 
diff --git a/leaveschool/common/src/main/java/com/supwisdom/leaveschool/common/model/PagerRequestModel.java b/leaveschool/common/src/main/java/com/supwisdom/leaveschool/common/model/PagerRequestModel.java
index adc2db5..e141905 100644
--- a/leaveschool/common/src/main/java/com/supwisdom/leaveschool/common/model/PagerRequestModel.java
+++ b/leaveschool/common/src/main/java/com/supwisdom/leaveschool/common/model/PagerRequestModel.java
@@ -1,6 +1,7 @@
 package com.supwisdom.leaveschool.common.model;
 
 import java.io.Serializable;
+import java.util.HashMap;
 import java.util.Map;
 
 import io.swagger.annotations.ApiModelProperty;
@@ -14,8 +15,22 @@
 
   private int pageIndex = 0;
   private int pageSize = 20;
+  
+  public PagerRequestModel() {
+	super();
+  }
+  
+  
 
-  public int getPageIndex() {
+	public PagerRequestModel(int pageIndex, int pageSize) {
+		super();
+		this.pageIndex = pageIndex;
+		this.pageSize = pageSize;
+	}
+
+
+
+public int getPageIndex() {
     return pageIndex;
   }
 
@@ -32,7 +47,7 @@
   }
 
   @ApiModelProperty(hidden=true)
-  private Map<String, Object> mapBean;
+  private Map<String, Object> mapBean = new HashMap<String, Object>();
 
   public Map<String, Object> getMapBean() {
     return mapBean;
diff --git a/leaveschool/common/src/main/java/com/supwisdom/leaveschool/common/model/PagerResponseModel.java b/leaveschool/common/src/main/java/com/supwisdom/leaveschool/common/model/PagerResponseModel.java
index 5df7315..548440a 100644
--- a/leaveschool/common/src/main/java/com/supwisdom/leaveschool/common/model/PagerResponseModel.java
+++ b/leaveschool/common/src/main/java/com/supwisdom/leaveschool/common/model/PagerResponseModel.java
@@ -3,6 +3,8 @@
 import java.io.Serializable;
 import java.util.Collection;
 
+import org.springframework.data.domain.Page;
+
 public class PagerResponseModel<T> extends PagerRequestModel implements Serializable {
 
   /**
@@ -26,15 +28,38 @@
     super.setPageSize(pagerRequestModel.getPageSize());
     super.setMapBean(pagerRequestModel.getMapBean());
   }
+  
+  public PagerResponseModel(PagerRequestModel pagerRequestModel,Page<T> page) {
+	  super.setPageIndex(pagerRequestModel.getPageIndex());
+	  super.setPageSize(pagerRequestModel.getPageSize());
+	  super.setMapBean(pagerRequestModel.getMapBean());
+	  this.setCurrentItemCount(page.getNumberOfElements());
+	  this.setPageCount(page.getTotalPages());
+	  this.setRecordCount(page.getTotalElements());
+	  this.setItems(page.getContent());
+	  }
 
-  public static <T> PagerResponseModel<T> of(PagerRequestModel pagerRequestModel) {
+  public static <T> PagerResponseModel<T> of(PagerRequestModel pagerRequestModel,Page<T> page) {
     PagerResponseModel<T> pagerResponseModell = new PagerResponseModel<T>();
     pagerResponseModell.setPageIndex(pagerRequestModel.getPageIndex());
     pagerResponseModell.setPageSize(pagerRequestModel.getPageSize());
     pagerResponseModell.setMapBean(pagerRequestModel.getMapBean());
+    pagerResponseModell.setCurrentItemCount(page.getNumberOfElements());
+    pagerResponseModell.setPageCount(page.getTotalPages());
+    pagerResponseModell.setRecordCount(page.getTotalElements());
+    pagerResponseModell.setItems(page.getContent());
 
     return pagerResponseModell;
   }
+  
+  	public static <T> PagerResponseModel<T> of(PagerRequestModel pagerRequestModel) {
+	    PagerResponseModel<T> pagerResponseModell = new PagerResponseModel<T>();
+	    pagerResponseModell.setPageIndex(pagerRequestModel.getPageIndex());
+	    pagerResponseModell.setPageSize(pagerRequestModel.getPageSize());
+	    pagerResponseModell.setMapBean(pagerRequestModel.getMapBean());
+
+	    return pagerResponseModell;
+	  }
 
   public int getCurrentItemCount() {
     return currentItemCount;