Browse Source

Accept Merge Request #93 merger : (master -> test)

Merge Request: merger
Created By: @Antiloveg
Accepted By: @Antiloveg
URL: https://coding.net/t/aft/p/AFT/git/merge/93
Antiloveg 9 years ago
parent
commit
ddb8ef6faa
28 changed files with 1550 additions and 371 deletions
  1. 15 0
      schema/2017-04-06.sql
  2. 22 15
      schema/permission.sql
  3. 18 1
      src/main/java/com/goafanti/admin/controller/AdminApiController.java
  4. 55 16
      src/main/java/com/goafanti/admin/controller/AdminCopyrightApiController.java
  5. 35 0
      src/main/java/com/goafanti/admin/controller/AdminPatentApiController.java
  6. 54 20
      src/main/java/com/goafanti/admin/controller/AdminTechProjectApiController.java
  7. 15 1
      src/main/java/com/goafanti/admin/service/AdminService.java
  8. 37 2
      src/main/java/com/goafanti/admin/service/impl/AdminServiceImpl.java
  9. 1 1
      src/main/java/com/goafanti/common/controller/PublicController.java
  10. 15 1
      src/main/java/com/goafanti/common/dao/AdminMapper.java
  11. 73 0
      src/main/java/com/goafanti/common/enums/OrgProFields.java
  12. 2 0
      src/main/java/com/goafanti/common/enums/OrganizationIdentityFields.java
  13. 64 0
      src/main/java/com/goafanti/common/enums/UserCareerFields.java
  14. 63 0
      src/main/java/com/goafanti/common/enums/UserEduFields.java
  15. 65 0
      src/main/java/com/goafanti/common/enums/UserInfoBoFields.java
  16. 52 1
      src/main/java/com/goafanti/common/mapper/AdminMapper.xml
  17. 143 132
      src/main/java/com/goafanti/common/model/UserInfo.java
  18. 1 0
      src/main/java/com/goafanti/core/shiro/filter/LoginFilter.java
  19. 76 74
      src/main/java/com/goafanti/core/shiro/filter/PermissionFilter.java
  20. 297 0
      src/main/java/com/goafanti/user/bo/InputOrgPro.java
  21. 4 0
      src/main/java/com/goafanti/user/bo/InputOrganizationIdentity.java
  22. 163 0
      src/main/java/com/goafanti/user/bo/InputUserCareer.java
  23. 153 0
      src/main/java/com/goafanti/user/bo/InputUserEdu.java
  24. 4 7
      src/main/java/com/goafanti/user/bo/OrgIdentityBo.java
  25. 2 1
      src/main/java/com/goafanti/user/bo/UserInfoBo.java
  26. 89 94
      src/main/java/com/goafanti/user/controller/UserApiController.java
  27. 3 0
      src/main/java/com/goafanti/user/service/OrganizationInfoService.java
  28. 29 5
      src/main/java/com/goafanti/user/service/impl/OrganizationInfoServiceImpl.java

+ 15 - 0
schema/2017-04-06.sql

@@ -0,0 +1,15 @@
+alter table `user_info` 
+MODIFY COLUMN `personal_profile` VARCHAR(1000) NULL COMMENT '个人简介' ;
+
+alter table `user_career` 
+MODIFY COLUMN `experiences` VARCHAR(1000) NULL COMMENT '从业经历',
+MODIFY COLUMN `achievement` VARCHAR(1000) NULL COMMENT '主要成就';
+
+alter table `organization_info` drop column `legal_person`;
+
+alter table `organization_info` 
+MODIFY COLUMN `publicity_picture_url` VARCHAR(1000) NULL COMMENT '宣传图片';
+
+alter table `organization_properties` 
+MODIFY COLUMN `education_lab` int(5) NULL COMMENT '教育部重点实验室';
+

+ 22 - 15
schema/permission.sql

@@ -134,7 +134,8 @@ values
 insert into `permission`(`id`, `url`, `name`) 
 values 
 (UUID(), 'api/admin/listCognizance', '高企认定--高企认定列表'), 
-(UUID(), 'api/admin/listCognizance', '高企认定--咨询师下拉列表'), 
+(UUID(), 'api/admin/getConsultant', '高企认定--咨询师下拉列表'), 
+(UUID(), 'api/admin/getPrincipal', '高企认定--负责人下拉列表'), 
 (UUID(), 'api/admin/applyCognizance', '高企认定--申请高企认定	'), 
 (UUID(), 'api/admin/cognizanceDetail', '高企认定--高企认定详情'), 
 (UUID(), 'api/admin/cognizanceStatus', '高企认定--高企认定流转状态下拉'),
@@ -185,21 +186,23 @@ values
 (UUID(), 'api/admin/copyright/detail', '软著申请管理--详情'),
 (UUID(), 'api/admin/copyright/download', '软著申请管理--下载附件'), 
 (UUID(), 'api/admin/copyright/status', '软著申请管理--流转状态下拉'),
-(UUID(), 'api/admin/copyright/logs', '软著申请管理--流转状态');
+(UUID(), 'api/admin/copyright/logs', '软著申请管理--流转状态'),
+(UUID(), 'api/admin/copyright/getConsultant', '软著申请管理--软著咨询师下拉'),
+(UUID(), 'api/admin/copyright/getPrincipal', '软著申请管理--软著负责人下拉');
 
 insert into `permission`(`id`, `url`, `name`) 
 values
-(UUID(), 'CopyrightStatus0', '创建'), 
-(UUID(), 'CopyrightStatus1', '签单'),
-(UUID(), 'CopyrightStatus2', '派单'), 
-(UUID(), 'CopyrightStatus3', '流转'),
-(UUID(), 'CopyrightStatus4', '材料提交'), 
-(UUID(), 'CopyrightStatus5', '受理'),
-(UUID(), 'CopyrightStatus6', '补正'), 
-(UUID(), 'CopyrightStatus7', '驳回'),
-(UUID(), 'CopyrightStatus8', '已下证'), 
-(UUID(), 'CopyrightStatus9', '已结款'),
-(UUID(), 'CopyrightStatus10', '撤销');
+(UUID(), 'CopyrightStatus0', '软著申请管理--创建'), 
+(UUID(), 'CopyrightStatus1', '软著申请管理--签单'),
+(UUID(), 'CopyrightStatus2', '软著申请管理--派单'), 
+(UUID(), 'CopyrightStatus3', '软著申请管理--流转'),
+(UUID(), 'CopyrightStatus4', '软著申请管理--材料提交'), 
+(UUID(), 'CopyrightStatus5', '软著申请管理--受理'),
+(UUID(), 'CopyrightStatus6', '软著申请管理--补正'), 
+(UUID(), 'CopyrightStatus7', '软著申请管理--驳回'),
+(UUID(), 'CopyrightStatus8', '软著申请管理--已下证'), 
+(UUID(), 'CopyrightStatus9', '软著申请管理--已结款'),
+(UUID(), 'CopyrightStatus10', '软著申请管理--撤销');
 
 insert into `permission`(`id`, `url`, `name`) 
 values
@@ -232,7 +235,9 @@ values
 (UUID(), 'api/admin/patent/registerApplicationFee', '专利申请管理--登记申请费用'),
 (UUID(), 'api/admin/patent/exportComposite', '专利申请管理--专利综合管理报表导出'),
 (UUID(), 'api/admin/patent/exportPending', '专利申请管理--待缴年登印费专利管理报表导出'), 
-(UUID(), 'api/admin/patent/exportApplicationFee', '专利申请管理--专利申请费用管理报表导出');
+(UUID(), 'api/admin/patent/exportApplicationFee', '专利申请管理--专利申请费用管理报表导出'),
+(UUID(), 'api/admin/patent/getAuthor', '专利申请管理--专利资料撰写人下拉'),
+(UUID(), 'api/admin/patent/getPrincipal', '专利申请管理--专利负责人下拉');
 
 
 insert into `permission`(`id`, `url`, `name`) 
@@ -263,7 +268,9 @@ values
 (UUID(), 'api/admin/techproject/updateTechProject', '科技项目申报管理--科技项目修改'),
 (UUID(), 'api/admin/techproject/status', '科技项目申报管理--流转状态下拉'),
 (UUID(), 'api/admin/techproject/getDepartment', '科技项目申报管理--获取科技部门'),
-(UUID(), 'api/admin/techproject/deleteTechProject', '科技项目申报管理--删除科技项目申报记录');
+(UUID(), 'api/admin/techproject/deleteTechProject', '科技项目申报管理--删除科技项目申报记录'),
+(UUID(), 'api/admin/techproject/getConsultant', '科技项目申报管理--咨询师下拉列表'),
+(UUID(), 'api/admin/techproject/getPrincipal', '科技项目申报管理--负责人下拉');
 
 insert into `permission`(`id`, `url`, `name`) 
 values

+ 18 - 1
src/main/java/com/goafanti/admin/controller/AdminApiController.java

@@ -2508,7 +2508,24 @@ public class AdminApiController extends CertifyApiController {
 	@RequestMapping(value = "/getConsultant", method = RequestMethod.GET)
 	public Result getConsultant(){
 		Result res = new Result();
-		List<Admin> list = adminService.selectConsultant();
+		List<Admin> list = adminService.selectCognizanceConsultant();
+		Map<String, String> map = new TreeMap<String, String>();
+		for (Admin o : list) {
+			map.put(o.getId(), o.getName());
+		}
+		res.setData(map);
+		return res;
+	}
+	
+	/**
+	 * 高企负责人下拉
+	 * 
+	 * @return
+	 */
+	@RequestMapping(value = "/getPrincipal", method = RequestMethod.GET)
+	public Result getPrincipal() {
+		Result res = new Result();
+		List<Admin> list = adminService.selectCognizancePrincipal();
 		Map<String, String> map = new TreeMap<String, String>();
 		for (Admin o : list) {
 			map.put(o.getId(), o.getName());

+ 55 - 16
src/main/java/com/goafanti/admin/controller/AdminCopyrightApiController.java

@@ -1,6 +1,7 @@
 package com.goafanti.admin.controller;
 
 import java.util.Arrays;
+import java.util.List;
 import java.util.Map;
 import java.util.TreeMap;
 
@@ -18,6 +19,7 @@ import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
+import com.goafanti.admin.service.AdminService;
 import com.goafanti.common.bo.Result;
 import com.goafanti.common.constant.AFTConstants;
 import com.goafanti.common.constant.ErrorConstants;
@@ -25,6 +27,7 @@ import com.goafanti.common.controller.CertifyApiController;
 import com.goafanti.common.enums.AttachmentType;
 import com.goafanti.common.enums.CopyrightFields;
 import com.goafanti.common.enums.CopyrightStatus;
+import com.goafanti.common.model.Admin;
 import com.goafanti.common.model.CopyrightInfo;
 import com.goafanti.common.model.CopyrightLog;
 import com.goafanti.common.model.User;
@@ -41,6 +44,8 @@ public class AdminCopyrightApiController extends CertifyApiController {
 	private CopyrightInfoService	copyrightInfoService;
 	@Resource
 	private UserService				userService;
+	@Resource
+	private AdminService			adminService;
 
 	@RequestMapping(value = "/apply", method = RequestMethod.POST)
 	public Result newApply(@Valid InputCopyright inputInfo, BindingResult bindingResult) {
@@ -99,11 +104,11 @@ public class AdminCopyrightApiController extends CertifyApiController {
 		BeanUtils.copyProperties(inputInfo, cl);
 		ci.setId(oci.getId());
 		ci.setUid(oci.getUid());
-		if (CopyrightStatus.CIRCULATION.getCode() == ci.getStatus()){
+		if (CopyrightStatus.CIRCULATION.getCode() == ci.getStatus()) {
 			ci.setStatus(CopyrightStatus.DELIVERD.getCode());
 		}
-		
-		if (CopyrightStatus.SETTLEMENT.getCode() == ci.getStatus()){
+
+		if (CopyrightStatus.SETTLEMENT.getCode() == ci.getStatus()) {
 			ci.setStatus(CopyrightStatus.AUTHORIZED.getCode());
 		}
 		cl.setCid(oci.getId());
@@ -228,9 +233,9 @@ public class AdminCopyrightApiController extends CertifyApiController {
 		}
 		return res;
 	}
-	
+
 	@RequestMapping(value = "/status", method = RequestMethod.GET)
-	public Result status(){
+	public Result status() {
 		Result res = new Result();
 		if (!checkAdminLogin(res)) {
 			return res;
@@ -239,6 +244,40 @@ public class AdminCopyrightApiController extends CertifyApiController {
 		return res;
 	}
 
+	/**
+	 * 软著咨询师下拉
+	 * 
+	 * @return
+	 */
+	@RequestMapping(value = "/getConsultant", method = RequestMethod.GET)
+	public Result getConsultant() {
+		Result res = new Result();
+		List<Admin> list = adminService.selectCopyrightConsultant();
+		Map<String, String> map = new TreeMap<String, String>();
+		for (Admin o : list) {
+			map.put(o.getId(), o.getName());
+		}
+		res.setData(map);
+		return res;
+	}
+
+	/**
+	 * 软著负责人下拉
+	 * 
+	 * @return
+	 */
+	@RequestMapping(value = "/getPrincipal", method = RequestMethod.GET)
+	public Result getPrincipal() {
+		Result res = new Result();
+		List<Admin> list = adminService.selectCopyrightPrincipal();
+		Map<String, String> map = new TreeMap<String, String>();
+		for (Admin o : list) {
+			map.put(o.getId(), o.getName());
+		}
+		res.setData(map);
+		return res;
+	}
+
 	private boolean handleBindingError(Result res, BindingResult bindingResult) {
 		if (bindingResult.hasErrors()) {
 			for (FieldError fe : bindingResult.getFieldErrors()) {
@@ -258,37 +297,37 @@ public class AdminCopyrightApiController extends CertifyApiController {
 		}
 		return false;
 	}
-	
+
 	private Map<String, String> disposeStatus() {
-		Map<String, String> status = new  TreeMap<String, String>();
+		Map<String, String> status = new TreeMap<String, String>();
 		if (TokenManager.hasRole(AFTConstants.SUPERADMIN)) {
-			for (CopyrightStatus p :  CopyrightStatus.values()){
+			for (CopyrightStatus p : CopyrightStatus.values()) {
 				status.put(p.getCode().toString(), p.getDesc());
 				status.remove(CopyrightStatus.OTHER.getCode().toString());
 			}
 		} else {
-			if (TokenManager.hasPermission("CopyrightStatus" + CopyrightStatus.CREATE.getCode())){
+			if (TokenManager.hasPermission("CopyrightStatus" + CopyrightStatus.CREATE.getCode())) {
 				status.put(CopyrightStatus.CREATE.getCode().toString(), CopyrightStatus.CREATE.getDesc());
 			}
-			if (TokenManager.hasPermission("CopyrightStatus" + CopyrightStatus.DELIVERD.getCode())){
+			if (TokenManager.hasPermission("CopyrightStatus" + CopyrightStatus.DELIVERD.getCode())) {
 				status.put(CopyrightStatus.DELIVERD.getCode().toString(), CopyrightStatus.DELIVERD.getDesc());
 			}
-			if (TokenManager.hasPermission("CopyrightStatus" + CopyrightStatus.SUBMIT.getCode())){
+			if (TokenManager.hasPermission("CopyrightStatus" + CopyrightStatus.SUBMIT.getCode())) {
 				status.put(CopyrightStatus.SUBMIT.getCode().toString(), CopyrightStatus.SUBMIT.getDesc());
 			}
-			if (TokenManager.hasPermission("CopyrightStatus" + CopyrightStatus.ACCEPT.getCode())){
+			if (TokenManager.hasPermission("CopyrightStatus" + CopyrightStatus.ACCEPT.getCode())) {
 				status.put(CopyrightStatus.ACCEPT.getCode().toString(), CopyrightStatus.ACCEPT.getDesc());
 			}
-			if (TokenManager.hasPermission("CopyrightStatus" + CopyrightStatus.AMEND.getCode())){
+			if (TokenManager.hasPermission("CopyrightStatus" + CopyrightStatus.AMEND.getCode())) {
 				status.put(CopyrightStatus.AMEND.getCode().toString(), CopyrightStatus.AMEND.getDesc());
 			}
-			if (TokenManager.hasPermission("CopyrightStatus" + CopyrightStatus.REJECT.getCode())){
+			if (TokenManager.hasPermission("CopyrightStatus" + CopyrightStatus.REJECT.getCode())) {
 				status.put(CopyrightStatus.REJECT.getCode().toString(), CopyrightStatus.REJECT.getDesc());
 			}
-			if (TokenManager.hasPermission("CopyrightStatus" + CopyrightStatus.AUTHORIZED.getCode())){
+			if (TokenManager.hasPermission("CopyrightStatus" + CopyrightStatus.AUTHORIZED.getCode())) {
 				status.put(CopyrightStatus.AUTHORIZED.getCode().toString(), CopyrightStatus.AUTHORIZED.getDesc());
 			}
-			if (TokenManager.hasPermission("CopyrightStatus" + CopyrightStatus.CALLBACK.getCode())){
+			if (TokenManager.hasPermission("CopyrightStatus" + CopyrightStatus.CALLBACK.getCode())) {
 				status.put(CopyrightStatus.CALLBACK.getCode().toString(), CopyrightStatus.CALLBACK.getDesc());
 			}
 		}

+ 35 - 0
src/main/java/com/goafanti/admin/controller/AdminPatentApiController.java

@@ -43,6 +43,7 @@ import com.goafanti.common.enums.PatentCostFields;
 import com.goafanti.common.enums.PatentInfoFields;
 import com.goafanti.common.enums.PatentInfoStatus;
 import com.goafanti.common.enums.PatentRegistrationFields;
+import com.goafanti.common.model.Admin;
 import com.goafanti.common.model.AftFile;
 import com.goafanti.common.model.OrgRatepay;
 import com.goafanti.common.model.PatentCost;
@@ -709,6 +710,40 @@ public class AdminPatentApiController extends CertifyApiController {
 
 		return res;
 	}
+	
+	/**
+	 * 获取资料撰写人下拉
+	 * @return
+	 */
+	@RequestMapping(value = "/getAuthor", method = RequestMethod.GET)
+	public Result getAuthor(){
+		Result res = new Result();
+		List<Admin> list = adminService.selectPatentAuthor();
+		Map<String, String> map = new TreeMap<String, String>();
+		for (Admin o : list) {
+			map.put(o.getId(), o.getName());
+		}
+		res.setData(map);
+		return res;
+	}
+	
+	/**
+	 * 专利负责人下拉
+	 * @return
+	 */
+	@RequestMapping(value = "/getPrincipal", method = RequestMethod.GET)
+	public Result getPrincipal(){
+		Result res = new Result();
+		List<Admin> list = adminService.selectPatentPrincipal();
+		Map<String, String> map = new TreeMap<String, String>();
+		for (Admin o : list) {
+			map.put(o.getId(), o.getName());
+		}
+		res.setData(map);
+		return res;
+	}
+	
+	
 
 	// 专利申请费用管理报表
 	private void exportFees(HttpServletResponse response, List<PatentApplicationFeeBo> fees) {

+ 54 - 20
src/main/java/com/goafanti/admin/controller/AdminTechProjectApiController.java

@@ -21,12 +21,14 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestParam;
 
+import com.goafanti.admin.service.AdminService;
 import com.goafanti.common.bo.Result;
 import com.goafanti.common.constant.AFTConstants;
 import com.goafanti.common.constant.ErrorConstants;
 import com.goafanti.common.controller.CertifyApiController;
 import com.goafanti.common.enums.TechProjectFields;
 import com.goafanti.common.enums.TechProjectStatus;
+import com.goafanti.common.model.Admin;
 import com.goafanti.common.model.TechProject;
 import com.goafanti.common.model.TechProjectLog;
 import com.goafanti.common.model.TechWebsite;
@@ -58,8 +60,42 @@ public class AdminTechProjectApiController extends CertifyApiController {
 	private TechProjectLogService	techProjectLogService;
 	@Resource
 	private UserService				userService;
-	
-	
+	@Resource
+	private AdminService			adminService;
+
+	/**
+	 * 咨询师下拉列表
+	 * 
+	 * @return
+	 */
+	@RequestMapping(value = "/getConsultant", method = RequestMethod.GET)
+	public Result getConsultant() {
+		Result res = new Result();
+		List<Admin> list = adminService.selectTechprojectConsultant();
+		Map<String, String> map = new TreeMap<String, String>();
+		for (Admin o : list) {
+			map.put(o.getId(), o.getName());
+		}
+		res.setData(map);
+		return res;
+	}
+
+	/**
+	 * 负责人下拉
+	 * 
+	 * @return
+	 */
+	@RequestMapping(value = "/getPrincipal", method = RequestMethod.GET)
+	public Result getPrincipal() {
+		Result res = new Result();
+		List<Admin> list = adminService.selectTechprojectPrincipal();
+		Map<String, String> map = new TreeMap<String, String>();
+		for (Admin o : list) {
+			map.put(o.getId(), o.getName());
+		}
+		res.setData(map);
+		return res;
+	}
 
 	/**
 	 * 科技项目申报列表
@@ -205,20 +241,19 @@ public class AdminTechProjectApiController extends CertifyApiController {
 		res.setData(techProjectService.updateTechProject(tp, tpl, recordTime));
 		return res;
 	}
-	
+
 	/**
 	 * 流转状态下拉
+	 * 
 	 * @return
 	 */
 	@RequestMapping(value = "/status", method = RequestMethod.GET)
-	public Result Status(){
+	public Result Status() {
 		Result res = new Result();
 		res.setData(disposeStatus());
 		return res;
 	}
 
-	
-
 	/**
 	 * 获取科技部门
 	 * 
@@ -355,7 +390,6 @@ public class AdminTechProjectApiController extends CertifyApiController {
 			return res;
 		}
 
-
 		if (null != w && null != (w.getPassword())) {
 			try {
 				w.setPassword(AesUtils.encrypt(w.getPassword().trim(), aesSecretKey));
@@ -417,43 +451,43 @@ public class AdminTechProjectApiController extends CertifyApiController {
 		downloadFile(response, t.getApprovalDownloadFileName(), t.getApprovalUrl());
 		return res;
 	}
-	
+
 	private Object disposeStatus() {
-		Map<String, String> status = new  TreeMap<String, String>();
+		Map<String, String> status = new TreeMap<String, String>();
 		if (TokenManager.hasRole(AFTConstants.SUPERADMIN)) {
-			for (TechProjectStatus p :  TechProjectStatus.values()){
+			for (TechProjectStatus p : TechProjectStatus.values()) {
 				status.put(p.getCode().toString(), p.getDesc());
 				status.remove(TechProjectStatus.OTHER.getCode().toString());
 			}
 		} else {
-			if (TokenManager.hasPermission("TechProjectStatus" + TechProjectStatus.CREATE.getCode())){
+			if (TokenManager.hasPermission("TechProjectStatus" + TechProjectStatus.CREATE.getCode())) {
 				status.put(TechProjectStatus.CREATE.getCode().toString(), TechProjectStatus.CREATE.getDesc());
 			}
-			if (TokenManager.hasPermission("TechProjectStatus" + TechProjectStatus.SIGN.getCode())){
+			if (TokenManager.hasPermission("TechProjectStatus" + TechProjectStatus.SIGN.getCode())) {
 				status.put(TechProjectStatus.SIGN.getCode().toString(), TechProjectStatus.SIGN.getDesc());
 			}
-			if (TokenManager.hasPermission("TechProjectStatus" + TechProjectStatus.DELIVERD.getCode())){
+			if (TokenManager.hasPermission("TechProjectStatus" + TechProjectStatus.DELIVERD.getCode())) {
 				status.put(TechProjectStatus.DELIVERD.getCode().toString(), TechProjectStatus.DELIVERD.getDesc());
 			}
-			if (TokenManager.hasPermission("TechProjectStatus" + TechProjectStatus.CIRCULATION.getCode())){
+			if (TokenManager.hasPermission("TechProjectStatus" + TechProjectStatus.CIRCULATION.getCode())) {
 				status.put(TechProjectStatus.CIRCULATION.getCode().toString(), TechProjectStatus.CIRCULATION.getDesc());
 			}
-			if (TokenManager.hasPermission("TechProjectStatus" + TechProjectStatus.SUBMIT.getCode())){
+			if (TokenManager.hasPermission("TechProjectStatus" + TechProjectStatus.SUBMIT.getCode())) {
 				status.put(TechProjectStatus.SUBMIT.getCode().toString(), TechProjectStatus.SUBMIT.getDesc());
 			}
-			if (TokenManager.hasPermission("TechProjectStatus" + TechProjectStatus.ACCEPT.getCode())){
+			if (TokenManager.hasPermission("TechProjectStatus" + TechProjectStatus.ACCEPT.getCode())) {
 				status.put(TechProjectStatus.ACCEPT.getCode().toString(), TechProjectStatus.ACCEPT.getDesc());
 			}
-			if (TokenManager.hasPermission("TechProjectStatus" + TechProjectStatus.APPRVOVED.getCode())){
+			if (TokenManager.hasPermission("TechProjectStatus" + TechProjectStatus.APPRVOVED.getCode())) {
 				status.put(TechProjectStatus.APPRVOVED.getCode().toString(), TechProjectStatus.APPRVOVED.getDesc());
 			}
-			if (TokenManager.hasPermission("TechProjectStatus" + TechProjectStatus.REJECT.getCode())){
+			if (TokenManager.hasPermission("TechProjectStatus" + TechProjectStatus.REJECT.getCode())) {
 				status.put(TechProjectStatus.REJECT.getCode().toString(), TechProjectStatus.REJECT.getDesc());
 			}
-			if (TokenManager.hasPermission("TechProjectStatus" + TechProjectStatus.SETTLEMENT.getCode())){
+			if (TokenManager.hasPermission("TechProjectStatus" + TechProjectStatus.SETTLEMENT.getCode())) {
 				status.put(TechProjectStatus.SETTLEMENT.getCode().toString(), TechProjectStatus.SETTLEMENT.getDesc());
 			}
-			if (TokenManager.hasPermission("TechProjectStatus" + TechProjectStatus.CALLBACK.getCode())){
+			if (TokenManager.hasPermission("TechProjectStatus" + TechProjectStatus.CALLBACK.getCode())) {
 				status.put(TechProjectStatus.CALLBACK.getCode().toString(), TechProjectStatus.CALLBACK.getDesc());
 			}
 		}

+ 15 - 1
src/main/java/com/goafanti/admin/service/AdminService.java

@@ -25,6 +25,20 @@ public interface AdminService {
 
 	AdminDetail selectAdminDetail(String id);
 
-	List<Admin> selectConsultant();
+	List<Admin> selectCognizanceConsultant();
+
+	List<Admin> selectPatentAuthor();
+
+	List<Admin> selectPatentPrincipal();
+
+	List<Admin> selectCopyrightConsultant();
+
+	List<Admin> selectCognizancePrincipal();
+
+	List<Admin> selectCopyrightPrincipal();
+
+	List<Admin> selectTechprojectConsultant();
+
+	List<Admin> selectTechprojectPrincipal();
 
 }

+ 37 - 2
src/main/java/com/goafanti/admin/service/impl/AdminServiceImpl.java

@@ -119,8 +119,43 @@ public class AdminServiceImpl extends BaseMybatisDao<AdminMapper> implements Adm
 	}
 
 	@Override
-	public List<Admin> selectConsultant() {
-		return adminMapper.selectConsultant();
+	public List<Admin> selectCognizanceConsultant() {
+		return adminMapper.selectCognizanceConsultant();
+	}
+
+	@Override
+	public List<Admin> selectPatentAuthor() {
+		return adminMapper.selectPatentAuthor();
+	}
+
+	@Override
+	public List<Admin> selectPatentPrincipal() {
+		return adminMapper.selectPatentPrincipal();
+	}
+
+	@Override
+	public List<Admin> selectCopyrightConsultant() {
+		return adminMapper.selectCopyrightConsultant();
+	}
+
+	@Override
+	public List<Admin> selectCognizancePrincipal() {
+		return adminMapper.selectCognizancePrincipal();
+	}
+
+	@Override
+	public List<Admin> selectCopyrightPrincipal() {
+		return adminMapper.selectCopyrightPrincipal();
+	}
+
+	@Override
+	public List<Admin> selectTechprojectConsultant() {
+		return adminMapper.selectTechprojectConsultant();
+	}
+
+	@Override
+	public List<Admin> selectTechprojectPrincipal() {
+		return adminMapper.selectTechprojectPrincipal();
 	}
 
 }

+ 1 - 1
src/main/java/com/goafanti/common/controller/PublicController.java

@@ -340,5 +340,5 @@ public class PublicController extends BaseController {
 		}
 		return res;
 	}
-
+	
 }

+ 15 - 1
src/main/java/com/goafanti/common/dao/AdminMapper.java

@@ -24,5 +24,19 @@ public interface AdminMapper {
 
 	List<Role> selectRolesByPrimaryKey(String uid);
 
-	List<Admin> selectConsultant();
+	List<Admin> selectCognizanceConsultant();
+	
+	List<Admin> selectCognizancePrincipal();
+
+	List<Admin> selectPatentAuthor();
+
+	List<Admin> selectPatentPrincipal();
+
+	List<Admin> selectCopyrightConsultant();
+
+	List<Admin> selectCopyrightPrincipal();
+
+	List<Admin> selectTechprojectConsultant();
+
+	List<Admin> selectTechprojectPrincipal();
 }

+ 73 - 0
src/main/java/com/goafanti/common/enums/OrgProFields.java

@@ -0,0 +1,73 @@
+package com.goafanti.common.enums;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public enum OrgProFields {
+
+	IDENTITYTYPE("identityType", "身份类型"),
+	COMPANYNAME("companyName", "公司名称"),
+	LOCATIONPROVINCE("locationProvince", "所在地--省"),
+	LOCATIONCITY("locationCity", "所在地--市"),
+	LOCATIONAREA("locationArea", "所在地--区"),
+	UNITSIZE("unitSize", "单位规模"),
+	COMPANYINTRODUCTION("companyIntroduction", "单位简介"),
+	HOMEUNIT("homeUnit", "所属单位"),
+	LOGOURL("logoUrl", "logo图URL"),
+	PUBLICITYPICTUREURL("publicityPictureUrl", "宣传图片URL"),
+	
+	QUALIFICATION("qualification", "企业资质"),
+	TURNOVER("turnover", "年营业额"),
+	COLLEGEATTRIBUTE("collegeAttribute", "院校属性"),
+	COLLEGEESTABLISHTIME("collegeEstablishTime", "院校创办时间"),
+	ACADEMICIAN("academician", "院士"),
+	DOCTORALTUTOR("doctoralTutor", "博士生导师"),
+	MASTERTUTOR("masterTutor", "硕士生导师"),
+	OTHEREXPERT("otherExpert", "其他专家"),
+	NATIONALLAB("nationalLab", "国家重点实验室"),
+	EDUCATIONLAB("educationLab", "教育部重点实验室"),
+	ENTERPRISECENTER("enterpriseCenter", "所在地--市"),
+	OTHERCENTER("otherCenter", "其他研究中心"),
+	INSTITUTIONESTABLISHTIME("institutionEstablishTime", "其他研究中心"),
+	
+	OTHER("", "未知参数");
+	
+	private String	code;
+	private String	desc;
+	
+	private static Map<String, OrgProFields> status = new HashMap<String, OrgProFields>();
+	
+	private OrgProFields(String code, String desc) {
+		this.code = code;
+		this.desc = desc;
+	}
+	
+	static {
+		for (OrgProFields value : OrgProFields.values()) {
+			status.put(value.getCode(), value);
+		}
+	}
+	
+	public static OrgProFields getField(String code) {
+		if (containsType(code)) {
+			return status.get(code);
+		}
+		return OTHER;
+	}
+	
+	public static String getFieldDesc(String code) {
+		return getField(code).getDesc();
+	}
+
+	public static boolean containsType(String code) {
+		return status.containsKey(code);
+	}
+	
+	public String getCode() {
+		return code;
+	}
+
+	public String getDesc() {
+		return desc;
+	}
+}

+ 2 - 0
src/main/java/com/goafanti/common/enums/OrganizationIdentityFields.java

@@ -58,6 +58,8 @@ public enum OrganizationIdentityFields {
 	COGCONTACTS("cogContacts", "高企认定联系人及联系方式"),
 	CONSULTANT("consultant", "高企认定咨询师"),
 	
+	EMAIL("email", "邮箱"),
+	
 	OTHER("", "未知参数");
 	
 	private String	code;

+ 64 - 0
src/main/java/com/goafanti/common/enums/UserCareerFields.java

@@ -0,0 +1,64 @@
+package com.goafanti.common.enums;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public enum UserCareerFields {
+	
+	UID("uid", "用户id"),
+	ENGAGEDFIELD("engagedField", "从事领域"),
+	WORKINGAGE("workingAge", "从业工龄"),
+	PROFESSIONALTITLE("professionalTitle", "职称名字"),
+	PROFESSIONALTITLEGETTIME("professionalTitleGettime", "职称取得时间(年份)"),
+	PROFESSIONALCERTIFICATEURL("professionalCertificateUrl", "职称证明图URL"),
+	QUALIFICATION("qualification", "执业资格"),
+	QUALIFICATIONGETTIME("qualificationGettime", "执业资格取得时间(年份)"),
+	QUALIFICATIONCERTIFICATEURL("qualificationCertificateUrl", "执业资格证明图URL"),
+	WORKUNIT("workUnit", "工作单位"),
+	POSITION("position", "职位/职务/头衔"),
+	EXPERIENCES("experiences", "从业经历"),
+	ACHIEVEMENT("achievement", "主要成就"),
+	
+	OTHER("", "未知参数");
+	
+	private String	code;
+	private String	desc;
+	
+	private static Map<String, UserCareerFields> status = new HashMap<String, UserCareerFields>();
+	
+	private UserCareerFields(String code, String desc) {
+		this.code = code;
+		this.desc = desc;
+	}
+	
+	static {
+		for (UserCareerFields value : UserCareerFields.values()) {
+			status.put(value.getCode(), value);
+		}
+	}
+	
+	public static UserCareerFields getField(String code) {
+		if (containsType(code)) {
+			return status.get(code);
+		}
+		return OTHER;
+	}
+	
+	public static String getFieldDesc(String code) {
+		return getField(code).getDesc();
+	}
+
+	public static boolean containsType(String code) {
+		return status.containsKey(code);
+	}
+	
+	public String getCode() {
+		return code;
+	}
+
+	public String getDesc() {
+		return desc;
+	}
+
+
+}

+ 63 - 0
src/main/java/com/goafanti/common/enums/UserEduFields.java

@@ -0,0 +1,63 @@
+package com.goafanti.common.enums;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public enum UserEduFields {
+	
+	UID("uid", "用户id"),
+	EDUCATION("education", "学历"),
+	MAJORCATEGORY("majorCategory", "专业类别"),
+	MAHORNAME("majorName", "专业名称"),
+	GRADUATESCHOOL("graduateSchool", "毕业学校"),
+	GRADUATIONTIMEYEAR("graduationTimeYear", "毕业时间(年份)"),
+	GRADUATIONTIMEMONTH("graduationTimeMonth", "毕业时间(月)"),
+	GRADUATIONTIMEDAY("graduationTimeDay", "毕业时间(日)"),
+	DIPLOMAURL("diplomaUrl", "毕业证图URL"),
+	DIPLOMACODE("diplomaCode", "毕业证编号"),
+	DEGREEDIPLOMAURL("degreeDiplomaUrl", "学位证明图URL"),
+	DEGREECODE("degreeCode", "学位证编号"),
+	
+	OTHER("", "未知参数");
+	
+	private String	code;
+	private String	desc;
+	
+	private static Map<String, UserEduFields> status = new HashMap<String, UserEduFields>();
+	
+	private UserEduFields(String code, String desc) {
+		this.code = code;
+		this.desc = desc;
+	}
+	
+	static {
+		for (UserEduFields value : UserEduFields.values()) {
+			status.put(value.getCode(), value);
+		}
+	}
+	
+	public static UserEduFields getField(String code) {
+		if (containsType(code)) {
+			return status.get(code);
+		}
+		return OTHER;
+	}
+	
+	public static String getFieldDesc(String code) {
+		return getField(code).getDesc();
+	}
+
+	public static boolean containsType(String code) {
+		return status.containsKey(code);
+	}
+	
+	public String getCode() {
+		return code;
+	}
+
+	public String getDesc() {
+		return desc;
+	}
+
+
+}

+ 65 - 0
src/main/java/com/goafanti/common/enums/UserInfoBoFields.java

@@ -0,0 +1,65 @@
+package com.goafanti.common.enums;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public enum UserInfoBoFields {
+	
+	UID("uid", "用户id"),
+	RESIDENCEPROVINCE("residenceProvince", "居住地--省"),
+	RESIDENCECITY("residenceCity", "居住地--市"),
+	RESIDENCEAREA("residenceArea", "居住地--区"),
+	PERSONPORTRAITURL("personPortraitUrl", "个人头像"),
+	LIFEPHOTOURL("lifePhotoUrl", "生活照"),
+	PERSONALPROFILE("personalProfile", "个人简介"),
+	FIXEDTELAREA("fixedTelArea", "固定电话区号"),
+	FIXEDTEL("fixedTel", "固定电话"),
+	FIXEDTELEXTENSION("fixedTelExtension", "固定电话分机号"),
+	QQ("qq", "QQ号码"),
+	POSTALADDRESS("postalAddress", "通讯地址"),
+	POSTCODE("postcode", "邮政编码"),
+	NICKNAME("nickname", "昵称"),
+	EMAIL("email", "邮箱"),
+	
+	OTHER("", "未知参数");
+	
+	private String	code;
+	private String	desc;
+	
+	private static Map<String, UserInfoBoFields> status = new HashMap<String, UserInfoBoFields>();
+	
+	private UserInfoBoFields(String code, String desc) {
+		this.code = code;
+		this.desc = desc;
+	}
+	
+	static {
+		for (UserInfoBoFields value : UserInfoBoFields.values()) {
+			status.put(value.getCode(), value);
+		}
+	}
+	
+	public static UserInfoBoFields getField(String code) {
+		if (containsType(code)) {
+			return status.get(code);
+		}
+		return OTHER;
+	}
+	
+	public static String getFieldDesc(String code) {
+		return getField(code).getDesc();
+	}
+
+	public static boolean containsType(String code) {
+		return status.containsKey(code);
+	}
+	
+	public String getCode() {
+		return code;
+	}
+
+	public String getDesc() {
+		return desc;
+	}
+
+}

+ 52 - 1
src/main/java/com/goafanti/common/mapper/AdminMapper.xml

@@ -186,11 +186,62 @@
     where ur.uid = #{uid,jdbcType=VARCHAR}
   </select>
   
-  <select id="selectConsultant" resultMap="BaseResultMap"  >
+  <select id="selectCognizanceConsultant" resultMap="BaseResultMap"  >
     select 
     <include refid="Base_Column_List" />
     from admin
     where id  <![CDATA[ <> ]]> '1'
   </select>
   
+  <select id="selectCognizancePrincipal" resultMap="BaseResultMap"  >
+    select 
+    <include refid="Base_Column_List" />
+    from admin
+    where id  <![CDATA[ <> ]]> '1'
+  </select>
+  
+  <select id="selectPatentAuthor" resultMap="BaseResultMap"  >
+    select 
+    <include refid="Base_Column_List" />
+    from admin
+    where id  <![CDATA[ <> ]]> '1'
+  </select>
+  
+  <select id="selectPatentPrincipal" resultMap="BaseResultMap"  >
+    select 
+    <include refid="Base_Column_List" />
+    from admin
+    where id  <![CDATA[ <> ]]> '1'
+  </select>
+  
+   <select id="selectCopyrightConsultant" resultMap="BaseResultMap"  >
+    select 
+    <include refid="Base_Column_List" />
+    from admin
+    where id  <![CDATA[ <> ]]> '1'
+  </select>
+  
+   <select id="selectCopyrightPrincipal" resultMap="BaseResultMap"  >
+    select 
+    <include refid="Base_Column_List" />
+    from admin
+    where id  <![CDATA[ <> ]]> '1'
+  </select>
+  
+   <select id="selectTechprojectConsultant" resultMap="BaseResultMap"  >
+    select 
+    <include refid="Base_Column_List" />
+    from admin
+    where id  <![CDATA[ <> ]]> '1'
+  </select>
+  
+   <select id="selectTechprojectPrincipal" resultMap="BaseResultMap"  >
+    select 
+    <include refid="Base_Column_List" />
+    from admin
+    where id  <![CDATA[ <> ]]> '1'
+  </select>
+  
+   
+  
 </mapper>

+ 143 - 132
src/main/java/com/goafanti/common/model/UserInfo.java

@@ -1,99 +1,111 @@
 package com.goafanti.common.model;
 
+import javax.validation.constraints.Size;
+
+import com.goafanti.common.constant.ErrorConstants;
+
 public class UserInfo {
-    private String id;
-
-    private String uid;
-
-    /**
-    * 居住地--省
-    */
-    private String residenceProvince;
-    
-    /**
-     * 居住地--市
-     */
-     private String residenceCity;
-     
-     /**
-      * 居住地--区
-      */
-      private String residenceArea;
-
-    /**
-    * 个人头像
-    */
-    private String personPortraitUrl;
-
-    /**
-    * 生活照
-    */
-    private String lifePhotoUrl;
-
-    /**
-    * 个人简介
-    */
-    private String personalProfile;
-
-    /**
-    * 固定电话区号
-    */
-    private String fixedTelArea;
-    
-
-    /**
-    * 固定电话
-    */
-    private String fixedTel;
-    
-
-    /**
-    * 固定电话分机号
-    */
-    private String fixedTelExtension;
+	private String	id;
+
+	private String	uid;
+
+	/**
+	 * 居住地--省
+	 */
+	@Size(min = 0, max = 8, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	residenceProvince;
+
+	/**
+	 * 居住地--市
+	 */
+	@Size(min = 0, max = 12, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	residenceCity;
+
+	/**
+	 * 居住地--区
+	 */
+	@Size(min = 0, max = 12, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	residenceArea;
+
+	/**
+	 * 个人头像
+	 */
+	@Size(min = 0, max = 255, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	personPortraitUrl;
+
+	/**
+	 * 生活照
+	 */
+	@Size(min = 0, max = 255, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	lifePhotoUrl;
 
+	/**
+	 * 个人简介
+	 */
+	@Size(min = 0, max = 1000, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	personalProfile;
+
+	/**
+	 * 固定电话区号
+	 */
+	@Size(min = 0, max = 8, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	fixedTelArea;
+
+	/**
+	 * 固定电话
+	 */
+	@Size(min = 0, max = 12, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	fixedTel;
+
+	/**
+	 * 固定电话分机号
+	 */
+	@Size(min = 0, max = 8, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	fixedTelExtension;
 
 	/**
-    * QQ号码
-    */
-    private String qq;
-
-    /**
-    * 通讯地址
-    */
-    private String postalAddress;
-
-    /**
-    * 邮政编码
-    */
-    private String postcode;
-    
-
-    public String getId() {
-        return id;
-    }
-
-    public void setId(String id) {
-        this.id = id;
-    }
-
-    public String getUid() {
-        return uid;
-    }
-
-    public void setUid(String uid) {
-        this.uid = uid;
-    }
-
-    public String getResidenceProvince() {
-        return residenceProvince;
-    }
-
-    public void setResidenceProvince(String residenceProvince) {
-        this.residenceProvince = residenceProvince;
-    }
-
-    public String getResidenceCity() {
+	 * QQ号码
+	 */
+	@Size(min = 0, max = 16, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	qq;
+
+	/**
+	 * 通讯地址
+	 */
+	@Size(min = 0, max = 255, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	postalAddress;
+
+	/**
+	 * 邮政编码
+	 */
+	@Size(min = 0, max = 8, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	postcode;
+
+	public String getId() {
+		return id;
+	}
+
+	public void setId(String id) {
+		this.id = id;
+	}
+
+	public String getUid() {
+		return uid;
+	}
+
+	public void setUid(String uid) {
+		this.uid = uid;
+	}
+
+	public String getResidenceProvince() {
+		return residenceProvince;
+	}
+
+	public void setResidenceProvince(String residenceProvince) {
+		this.residenceProvince = residenceProvince;
+	}
+
+	public String getResidenceCity() {
 		return residenceCity;
 	}
 
@@ -110,60 +122,60 @@ public class UserInfo {
 	}
 
 	public String getPersonPortraitUrl() {
-        return personPortraitUrl;
-    }
+		return personPortraitUrl;
+	}
 
-    public void setPersonPortraitUrl(String personPortraitUrl) {
-        this.personPortraitUrl = personPortraitUrl;
-    }
+	public void setPersonPortraitUrl(String personPortraitUrl) {
+		this.personPortraitUrl = personPortraitUrl;
+	}
 
-    public String getLifePhotoUrl() {
-        return lifePhotoUrl;
-    }
+	public String getLifePhotoUrl() {
+		return lifePhotoUrl;
+	}
 
-    public void setLifePhotoUrl(String lifePhotoUrl) {
-        this.lifePhotoUrl = lifePhotoUrl;
-    }
+	public void setLifePhotoUrl(String lifePhotoUrl) {
+		this.lifePhotoUrl = lifePhotoUrl;
+	}
 
-    public String getPersonalProfile() {
-        return personalProfile;
-    }
+	public String getPersonalProfile() {
+		return personalProfile;
+	}
 
-    public void setPersonalProfile(String personalProfile) {
-        this.personalProfile = personalProfile;
-    }
+	public void setPersonalProfile(String personalProfile) {
+		this.personalProfile = personalProfile;
+	}
 
-    public String getFixedTel() {
-        return fixedTel;
-    }
+	public String getFixedTel() {
+		return fixedTel;
+	}
 
-    public void setFixedTel(String fixedTel) {
-        this.fixedTel = fixedTel;
-    }
+	public void setFixedTel(String fixedTel) {
+		this.fixedTel = fixedTel;
+	}
 
-    public String getQq() {
-        return qq;
-    }
+	public String getQq() {
+		return qq;
+	}
 
-    public void setQq(String qq) {
-        this.qq = qq;
-    }
+	public void setQq(String qq) {
+		this.qq = qq;
+	}
 
-    public String getPostalAddress() {
-        return postalAddress;
-    }
+	public String getPostalAddress() {
+		return postalAddress;
+	}
 
-    public void setPostalAddress(String postalAddress) {
-        this.postalAddress = postalAddress;
-    }
+	public void setPostalAddress(String postalAddress) {
+		this.postalAddress = postalAddress;
+	}
 
-    public String getPostcode() {
-        return postcode;
-    }
+	public String getPostcode() {
+		return postcode;
+	}
 
-    public void setPostcode(String postcode) {
-        this.postcode = postcode;
-    }
+	public void setPostcode(String postcode) {
+		this.postcode = postcode;
+	}
 
 	public String getFixedTelArea() {
 		return fixedTelArea;
@@ -181,5 +193,4 @@ public class UserInfo {
 		this.fixedTelExtension = fixedTelExtension;
 	}
 
-	
 }

+ 1 - 0
src/main/java/com/goafanti/core/shiro/filter/LoginFilter.java

@@ -41,6 +41,7 @@ public class LoginFilter extends AccessControlFilter {
 		} else {
 			uri = uri.replaceAll("^\\/", "");
 		}
+		
 
 		if (token != null && uri.startsWith("api/admin/") && token instanceof Admin) {
 			return Boolean.TRUE;

+ 76 - 74
src/main/java/com/goafanti/core/shiro/filter/PermissionFilter.java

@@ -1,74 +1,76 @@
-package com.goafanti.core.shiro.filter;
-
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.shiro.subject.Subject;
-import org.apache.shiro.util.StringUtils;
-import org.apache.shiro.web.filter.AccessControlFilter;
-import org.apache.shiro.web.util.WebUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-
-import com.goafanti.common.bo.Error;
-import com.goafanti.common.bo.Result;
-import com.goafanti.common.constant.ShiroConstants;
-import com.goafanti.common.utils.LoggerUtils;
-
-public class PermissionFilter extends AccessControlFilter {
-
-	@Autowired
-	private ShiroFilterUtils shiroFilterUtils;
-
-	@Override
-	protected boolean isAccessAllowed(ServletRequest request, ServletResponse response, Object mappedValue)
-			throws Exception {
-
-		// 先判断带参数的权限判断
-		Subject subject = getSubject(request, response);
-		if (null != mappedValue) {
-			String[] arra = (String[]) mappedValue;
-			for (String permission : arra) {
-				if (subject.isPermitted(permission)) {
-					return Boolean.TRUE;
-				}
-			}
-		}
-		HttpServletRequest httpRequest = ((HttpServletRequest) request);
-
-		String uri = httpRequest.getRequestURI();// 获取URI
-		String basePath = httpRequest.getContextPath();// 获取basePath
-		if (null != uri && uri.startsWith(basePath)) {
-			uri = uri.replaceAll("^\\" + basePath + "\\/+", "").replaceAll("\\.html$", "");
-		}
-		if (subject.isPermitted(uri) || subject.isPermitted(uri) || subject.hasRole("999999")) {
-			return Boolean.TRUE;
-		}
-		if (shiroFilterUtils.isAjax(httpRequest)) {
-			LoggerUtils.debug(getClass(), "当前用户权限不够,并且是Ajax请求!");
-			Result res = new Result();
-			res.getError().add(new Error("", "403", "当前用户权限不够!"));// 当前用户没有登录!
-			shiroFilterUtils.out((HttpServletResponse) response, res);
-		}
-		return Boolean.FALSE;
-	}
-
-	@Override
-	protected boolean onAccessDenied(ServletRequest request, ServletResponse response) throws Exception {
-
-		Subject subject = getSubject(request, response);
-		if (null == subject.getPrincipal()) {// 表示没有登录,重定向到登录页面
-			saveRequest(request);
-			WebUtils.issueRedirect(request, response, ShiroConstants.LOGIN_URL);
-		} else {
-			if (StringUtils.hasText(ShiroConstants.UNAUTHORIZED_URL)) {// 如果有未授权页面跳转过去
-				WebUtils.issueRedirect(request, response, ShiroConstants.UNAUTHORIZED_URL);
-			} else {// 否则返回401未授权状态码
-				WebUtils.toHttp(response).sendError(HttpServletResponse.SC_UNAUTHORIZED);
-			}
-		}
-		return Boolean.FALSE;
-	}
-
-}
+package com.goafanti.core.shiro.filter;
+
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.shiro.subject.Subject;
+import org.apache.shiro.util.StringUtils;
+import org.apache.shiro.web.filter.AccessControlFilter;
+import org.apache.shiro.web.util.WebUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import com.goafanti.common.bo.Error;
+import com.goafanti.common.bo.Result;
+import com.goafanti.common.constant.ShiroConstants;
+import com.goafanti.common.utils.LoggerUtils;
+
+public class PermissionFilter extends AccessControlFilter {
+
+	@Autowired
+	private ShiroFilterUtils shiroFilterUtils;
+
+	@Override
+	protected boolean isAccessAllowed(ServletRequest request, ServletResponse response, Object mappedValue)
+			throws Exception {
+
+		// 先判断带参数的权限判断
+		Subject subject = getSubject(request, response);
+		if (null != mappedValue) {
+			String[] arra = (String[]) mappedValue;
+			for (String permission : arra) {
+				if (subject.isPermitted(permission)) {
+					return Boolean.TRUE;
+				}
+			}
+		}
+		HttpServletRequest httpRequest = ((HttpServletRequest) request);
+
+		String uri = httpRequest.getRequestURI();// 获取URI
+		String basePath = httpRequest.getContextPath();// 获取basePath
+		if (StringUtils.hasText(uri) && StringUtils.hasText(basePath) &&uri.startsWith(basePath)) {
+			uri = uri.replaceAll("^\\" + basePath + "\\/+", "").replaceAll("\\.html$", "");
+		} else {
+			uri = uri.replaceAll("^\\/", "");
+		}
+		if (subject.isPermitted(uri) || subject.hasRole("999999")) {
+			return Boolean.TRUE;
+		}
+		if (shiroFilterUtils.isAjax(httpRequest)) {
+			LoggerUtils.debug(getClass(), "当前用户权限不够,并且是Ajax请求!");
+			Result res = new Result();
+			res.getError().add(new Error("", "403", "当前用户权限不够!"));// 当前用户没有登录!
+			shiroFilterUtils.out((HttpServletResponse) response, res);
+		}
+		return Boolean.FALSE;
+	}
+
+	@Override
+	protected boolean onAccessDenied(ServletRequest request, ServletResponse response) throws Exception {
+
+		Subject subject = getSubject(request, response);
+		if (null == subject.getPrincipal()) {// 表示没有登录,重定向到登录页面
+			saveRequest(request);
+			WebUtils.issueRedirect(request, response, ShiroConstants.LOGIN_URL);
+		} else {
+			if (StringUtils.hasText(ShiroConstants.UNAUTHORIZED_URL)) {// 如果有未授权页面跳转过去
+				WebUtils.issueRedirect(request, response, ShiroConstants.UNAUTHORIZED_URL);
+			} else {// 否则返回401未授权状态码
+				WebUtils.toHttp(response).sendError(HttpServletResponse.SC_UNAUTHORIZED);
+			}
+		}
+		return Boolean.FALSE;
+	}
+
+}

+ 297 - 0
src/main/java/com/goafanti/user/bo/InputOrgPro.java

@@ -0,0 +1,297 @@
+package com.goafanti.user.bo;
+
+import javax.validation.constraints.Max;
+import javax.validation.constraints.Min;
+import javax.validation.constraints.Pattern;
+import javax.validation.constraints.Size;
+
+import com.goafanti.common.constant.ErrorConstants;
+
+public class InputOrgPro {
+	@Size(min = 0, max = 36, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	iid;
+
+	@Size(min = 0, max = 36, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	pid;
+
+	@Size(min = 0, max = 6, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	identityType;
+
+	@Size(min = 0, max = 45, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	companyName;
+
+	@Size(min = 0, max = 12, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	locationProvince;
+
+	@Size(min = 0, max = 12, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	locationCity;
+
+	@Size(min = 0, max = 12, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	locationArea;
+
+	@Size(min = 0, max = 12, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	@Pattern(regexp = "^([1-9])\\d{11}$", message = "{" + ErrorConstants.PARAM_PATTERN_ERROR + "}")
+	private String	unitSize;
+
+	@Size(min = 0, max = 1000, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	companyIntroduction;
+
+	@Size(min = 0, max = 45, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	homeUnit;
+
+	@Size(min = 0, max = 255, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	logoUrl;
+
+	@Size(min = 0, max = 1000, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	publicityPictureUrl;
+
+	@Size(min = 0, max = 45, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	qualification;
+
+	@Max(value = 99999999, message = "{" + ErrorConstants.PARAM_ERROR + "}")
+	@Min(value = 0, message = "{" + ErrorConstants.PARAM_ERROR + "}")
+	private Integer	turnover;
+
+	@Size(min = 0, max = 45, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	collegeAttribute;
+
+	@Size(min = 0, max = 12, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	collegeEstablishTime;
+
+	@Max(value = 99999, message = "{" + ErrorConstants.PARAM_ERROR + "}")
+	@Min(value = 0, message = "{" + ErrorConstants.PARAM_ERROR + "}")
+	private Integer	academician;
+
+	@Max(value = 99999, message = "{" + ErrorConstants.PARAM_ERROR + "}")
+	@Min(value = 0, message = "{" + ErrorConstants.PARAM_ERROR + "}")
+	private Integer	doctoralTutor;
+
+	@Max(value = 99999, message = "{" + ErrorConstants.PARAM_ERROR + "}")
+	@Min(value = 0, message = "{" + ErrorConstants.PARAM_ERROR + "}")
+	private Integer	masterTutor;
+	
+	@Max(value = 99999, message = "{" + ErrorConstants.PARAM_ERROR + "}")
+	@Min(value = 0, message = "{" + ErrorConstants.PARAM_ERROR + "}")
+	private Integer	otherExpert;
+
+	@Max(value = 99999, message = "{" + ErrorConstants.PARAM_ERROR + "}")
+	@Min(value = 0, message = "{" + ErrorConstants.PARAM_ERROR + "}")
+	private Integer	nationalLab;
+
+	@Max(value = 99999, message = "{" + ErrorConstants.PARAM_ERROR + "}")
+	@Min(value = 0, message = "{" + ErrorConstants.PARAM_ERROR + "}")
+	private Integer	educationLab;
+
+	@Max(value = 99999, message = "{" + ErrorConstants.PARAM_ERROR + "}")
+	@Min(value = 0, message = "{" + ErrorConstants.PARAM_ERROR + "}")
+	private Integer	enterpriseCenter;
+
+	@Max(value = 99999, message = "{" + ErrorConstants.PARAM_ERROR + "}")
+	@Min(value = 0, message = "{" + ErrorConstants.PARAM_ERROR + "}")
+	private Integer	otherCenter;
+
+	@Size(min = 0, max = 12, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	institutionEstablishTime;
+
+	public String getIid() {
+		return iid;
+	}
+
+	public void setIid(String iid) {
+		this.iid = iid;
+	}
+
+	public String getPid() {
+		return pid;
+	}
+
+	public void setPid(String pid) {
+		this.pid = pid;
+	}
+
+	public String getIdentityType() {
+		return identityType;
+	}
+
+	public void setIdentityType(String identityType) {
+		this.identityType = identityType;
+	}
+
+	public String getCompanyName() {
+		return companyName;
+	}
+
+	public void setCompanyName(String companyName) {
+		this.companyName = companyName;
+	}
+
+	public String getLocationProvince() {
+		return locationProvince;
+	}
+
+	public void setLocationProvince(String locationProvince) {
+		this.locationProvince = locationProvince;
+	}
+
+	public String getLocationCity() {
+		return locationCity;
+	}
+
+	public void setLocationCity(String locationCity) {
+		this.locationCity = locationCity;
+	}
+
+	public String getLocationArea() {
+		return locationArea;
+	}
+
+	public void setLocationArea(String locationArea) {
+		this.locationArea = locationArea;
+	}
+
+	public String getUnitSize() {
+		return unitSize;
+	}
+
+	public void setUnitSize(String unitSize) {
+		this.unitSize = unitSize;
+	}
+
+	public String getCompanyIntroduction() {
+		return companyIntroduction;
+	}
+
+	public void setCompanyIntroduction(String companyIntroduction) {
+		this.companyIntroduction = companyIntroduction;
+	}
+
+	public String getHomeUnit() {
+		return homeUnit;
+	}
+
+	public void setHomeUnit(String homeUnit) {
+		this.homeUnit = homeUnit;
+	}
+
+	public String getLogoUrl() {
+		return logoUrl;
+	}
+
+	public void setLogoUrl(String logoUrl) {
+		this.logoUrl = logoUrl;
+	}
+
+	public String getPublicityPictureUrl() {
+		return publicityPictureUrl;
+	}
+
+	public void setPublicityPictureUrl(String publicityPictureUrl) {
+		this.publicityPictureUrl = publicityPictureUrl;
+	}
+
+	public String getQualification() {
+		return qualification;
+	}
+
+	public void setQualification(String qualification) {
+		this.qualification = qualification;
+	}
+
+	public Integer getTurnover() {
+		return turnover;
+	}
+
+	public void setTurnover(Integer turnover) {
+		this.turnover = turnover;
+	}
+
+	public String getCollegeAttribute() {
+		return collegeAttribute;
+	}
+
+	public void setCollegeAttribute(String collegeAttribute) {
+		this.collegeAttribute = collegeAttribute;
+	}
+
+	public String getCollegeEstablishTime() {
+		return collegeEstablishTime;
+	}
+
+	public void setCollegeEstablishTime(String collegeEstablishTime) {
+		this.collegeEstablishTime = collegeEstablishTime;
+	}
+
+	public Integer getAcademician() {
+		return academician;
+	}
+
+	public void setAcademician(Integer academician) {
+		this.academician = academician;
+	}
+
+	public Integer getDoctoralTutor() {
+		return doctoralTutor;
+	}
+
+	public void setDoctoralTutor(Integer doctoralTutor) {
+		this.doctoralTutor = doctoralTutor;
+	}
+
+	public Integer getMasterTutor() {
+		return masterTutor;
+	}
+
+	public void setMasterTutor(Integer masterTutor) {
+		this.masterTutor = masterTutor;
+	}
+
+	public Integer getOtherExpert() {
+		return otherExpert;
+	}
+
+	public void setOtherExpert(Integer otherExpert) {
+		this.otherExpert = otherExpert;
+	}
+
+	public Integer getNationalLab() {
+		return nationalLab;
+	}
+
+	public void setNationalLab(Integer nationalLab) {
+		this.nationalLab = nationalLab;
+	}
+
+	public Integer getEducationLab() {
+		return educationLab;
+	}
+
+	public void setEducationLab(Integer educationLab) {
+		this.educationLab = educationLab;
+	}
+
+	public Integer getEnterpriseCenter() {
+		return enterpriseCenter;
+	}
+
+	public void setEnterpriseCenter(Integer enterpriseCenter) {
+		this.enterpriseCenter = enterpriseCenter;
+	}
+
+	public Integer getOtherCenter() {
+		return otherCenter;
+	}
+
+	public void setOtherCenter(Integer otherCenter) {
+		this.otherCenter = otherCenter;
+	}
+
+	public String getInstitutionEstablishTime() {
+		return institutionEstablishTime;
+	}
+
+	public void setInstitutionEstablishTime(String institutionEstablishTime) {
+		this.institutionEstablishTime = institutionEstablishTime;
+	}
+	
+	
+}

+ 4 - 0
src/main/java/com/goafanti/user/bo/InputOrganizationIdentity.java

@@ -5,6 +5,7 @@ import java.util.Date;
 
 import javax.validation.constraints.Max;
 import javax.validation.constraints.Min;
+import javax.validation.constraints.Pattern;
 import javax.validation.constraints.Size;
 
 import com.goafanti.common.constant.ErrorConstants;
@@ -121,18 +122,21 @@ public class InputOrganizationIdentity {
 	private String		firstContacts;
 
 	@Size(min = 0, max = 16, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	@Pattern(regexp = "^([1-9])\\d{10}$", message = "{" + ErrorConstants.MOBILE_PATTERN_ERROR + "}")
 	private String		firstMobile;
 
 	@Size(min = 0, max = 16, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
 	private String		secondContacts;
 
 	@Size(min = 0, max = 16, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	@Pattern(regexp = "^([1-9])\\d{10}$", message = "{" + ErrorConstants.MOBILE_PATTERN_ERROR + "}")
 	private String		secondMobile;
 
 	@Size(min = 0, max = 16, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
 	private String		thirdContacts;
 
 	@Size(min = 0, max = 16, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	@Pattern(regexp = "^([1-9])\\d{10}$", message = "{" + ErrorConstants.MOBILE_PATTERN_ERROR + "}")
 	private String		thirdMobile;
 
 	@Max(value = 1, message = "{" + ErrorConstants.PARAM_ERROR + "}")

+ 163 - 0
src/main/java/com/goafanti/user/bo/InputUserCareer.java

@@ -0,0 +1,163 @@
+package com.goafanti.user.bo;
+
+import javax.validation.constraints.Size;
+
+import com.goafanti.common.constant.ErrorConstants;
+
+public class InputUserCareer {
+	@Size(min = 0, max = 36, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	id;
+	@Size(min = 0, max = 36, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	uid;
+
+	@Size(min = 0, max = 255, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	engagedField;
+
+	@Size(min = 0, max = 3, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	workingAge;
+
+	@Size(min = 0, max = 45, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	professionalTitle;
+
+	@Size(min = 0, max = 6, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	professionalTitleGettime;
+
+	@Size(min = 0, max = 255, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	professionalCertificateUrl;
+
+	@Size(min = 0, max = 45, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	qualification;
+
+	@Size(min = 0, max = 6, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	qualificationGettime;
+
+	@Size(min = 0, max = 255, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	qualificationCertificateUrl;
+
+	@Size(min = 0, max = 32, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	workUnit;
+
+	@Size(min = 0, max = 16, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	position;
+
+	@Size(min = 0, max = 1000, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	experiences;
+
+	@Size(min = 0, max = 1000, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	achievement;
+
+	public String getId() {
+		return id;
+	}
+
+	public void setId(String id) {
+		this.id = id;
+	}
+
+	public String getUid() {
+		return uid;
+	}
+
+	public void setUid(String uid) {
+		this.uid = uid;
+	}
+
+	public String getEngagedField() {
+		return engagedField;
+	}
+
+	public void setEngagedField(String engagedField) {
+		this.engagedField = engagedField;
+	}
+
+	public String getWorkingAge() {
+		return workingAge;
+	}
+
+	public void setWorkingAge(String workingAge) {
+		this.workingAge = workingAge;
+	}
+
+	public String getProfessionalTitle() {
+		return professionalTitle;
+	}
+
+	public void setProfessionalTitle(String professionalTitle) {
+		this.professionalTitle = professionalTitle;
+	}
+
+	public String getProfessionalTitleGettime() {
+		return professionalTitleGettime;
+	}
+
+	public void setProfessionalTitleGettime(String professionalTitleGettime) {
+		this.professionalTitleGettime = professionalTitleGettime;
+	}
+
+	public String getProfessionalCertificateUrl() {
+		return professionalCertificateUrl;
+	}
+
+	public void setProfessionalCertificateUrl(String professionalCertificateUrl) {
+		this.professionalCertificateUrl = professionalCertificateUrl;
+	}
+
+	public String getQualification() {
+		return qualification;
+	}
+
+	public void setQualification(String qualification) {
+		this.qualification = qualification;
+	}
+
+	public String getQualificationGettime() {
+		return qualificationGettime;
+	}
+
+	public void setQualificationGettime(String qualificationGettime) {
+		this.qualificationGettime = qualificationGettime;
+	}
+
+	public String getQualificationCertificateUrl() {
+		return qualificationCertificateUrl;
+	}
+
+	public void setQualificationCertificateUrl(String qualificationCertificateUrl) {
+		this.qualificationCertificateUrl = qualificationCertificateUrl;
+	}
+
+	public String getWorkUnit() {
+		return workUnit;
+	}
+
+	public void setWorkUnit(String workUnit) {
+		this.workUnit = workUnit;
+	}
+
+	public String getPosition() {
+		return position;
+	}
+
+	public void setPosition(String position) {
+		this.position = position;
+	}
+
+	public String getExperiences() {
+		return experiences;
+	}
+
+	public void setExperiences(String experiences) {
+		this.experiences = experiences;
+	}
+
+	public String getAchievement() {
+		return achievement;
+	}
+
+	public void setAchievement(String achievement) {
+		this.achievement = achievement;
+	}
+	
+	
+
+}

+ 153 - 0
src/main/java/com/goafanti/user/bo/InputUserEdu.java

@@ -0,0 +1,153 @@
+package com.goafanti.user.bo;
+
+import javax.validation.constraints.Size;
+
+import com.goafanti.common.constant.ErrorConstants;
+
+public class InputUserEdu {
+	@Size(min = 0, max = 36, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String id;
+	
+	@Size(min = 0, max = 36, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	uid;
+
+	@Size(min = 0, max = 16, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	education;
+
+	@Size(min = 0, max = 8, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	majorCategory;
+
+	@Size(min = 0, max = 16, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	majorName;
+
+	@Size(min = 0, max = 45, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	graduateSchool;
+
+	@Size(min = 0, max = 4, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	graduationTimeYear;
+
+	@Size(min = 0, max = 2, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	graduationTimeMonth;
+
+	@Size(min = 0, max = 2, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	graduationTimeDay;
+
+	@Size(min = 0, max = 255, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	diplomaUrl;
+
+	@Size(min = 0, max = 32, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	diplomaCode;
+
+	@Size(min = 0, max = 255, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	degreeDiplomaUrl;
+
+	@Size(min = 0, max = 32, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String	degreeCode;
+
+	public String getId() {
+		return id;
+	}
+
+	public void setId(String id) {
+		this.id = id;
+	}
+
+	public String getUid() {
+		return uid;
+	}
+
+	public void setUid(String uid) {
+		this.uid = uid;
+	}
+
+	public String getEducation() {
+		return education;
+	}
+
+	public void setEducation(String education) {
+		this.education = education;
+	}
+
+	public String getMajorCategory() {
+		return majorCategory;
+	}
+
+	public void setMajorCategory(String majorCategory) {
+		this.majorCategory = majorCategory;
+	}
+
+	public String getMajorName() {
+		return majorName;
+	}
+
+	public void setMajorName(String majorName) {
+		this.majorName = majorName;
+	}
+
+	public String getGraduateSchool() {
+		return graduateSchool;
+	}
+
+	public void setGraduateSchool(String graduateSchool) {
+		this.graduateSchool = graduateSchool;
+	}
+
+	public String getGraduationTimeYear() {
+		return graduationTimeYear;
+	}
+
+	public void setGraduationTimeYear(String graduationTimeYear) {
+		this.graduationTimeYear = graduationTimeYear;
+	}
+
+	public String getGraduationTimeMonth() {
+		return graduationTimeMonth;
+	}
+
+	public void setGraduationTimeMonth(String graduationTimeMonth) {
+		this.graduationTimeMonth = graduationTimeMonth;
+	}
+
+	public String getGraduationTimeDay() {
+		return graduationTimeDay;
+	}
+
+	public void setGraduationTimeDay(String graduationTimeDay) {
+		this.graduationTimeDay = graduationTimeDay;
+	}
+
+	public String getDiplomaUrl() {
+		return diplomaUrl;
+	}
+
+	public void setDiplomaUrl(String diplomaUrl) {
+		this.diplomaUrl = diplomaUrl;
+	}
+
+	public String getDiplomaCode() {
+		return diplomaCode;
+	}
+
+	public void setDiplomaCode(String diplomaCode) {
+		this.diplomaCode = diplomaCode;
+	}
+
+	public String getDegreeDiplomaUrl() {
+		return degreeDiplomaUrl;
+	}
+
+	public void setDegreeDiplomaUrl(String degreeDiplomaUrl) {
+		this.degreeDiplomaUrl = degreeDiplomaUrl;
+	}
+
+	public String getDegreeCode() {
+		return degreeCode;
+	}
+
+	public void setDegreeCode(String degreeCode) {
+		this.degreeCode = degreeCode;
+	}
+	
+	
+
+}

+ 4 - 7
src/main/java/com/goafanti/user/bo/OrgIdentityBo.java

@@ -4,14 +4,13 @@ import javax.validation.constraints.Pattern;
 import javax.validation.constraints.Size;
 
 import com.goafanti.common.constant.ErrorConstants;
-import com.goafanti.common.model.OrganizationIdentity;
 
-public class OrgIdentityBo extends OrganizationIdentity{@Size(min = 0, max = 127, message = "{" + ErrorConstants.EMAIL_SIZE_ERROR + "}")
-    @Pattern(regexp = "^[0-9a-zA-Z]+([0-9a-zA-Z]*[-._+])*[0-9a-zA-Z]+@[0-9a-zA-Z]+([-.][0-9a-zA-Z]+)*([0-9a-zA-Z]*[.])[a-zA-Z]{2,6}$", message = "{"
-		+ ErrorConstants.EMAIL_PATTERN_ERROR + "}")
+public class OrgIdentityBo extends InputOrganizationIdentity {
+	@Size(min = 0, max = 127, message = "{" + ErrorConstants.EMAIL_SIZE_ERROR + "}")
+	@Pattern(regexp = "^([a-z0-9A-Z]+[_|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$", message = "{"
+			+ ErrorConstants.EMAIL_PATTERN_ERROR + "}")
 	private String email;
 
-
 	public String getEmail() {
 		return email;
 	}
@@ -19,7 +18,5 @@ public class OrgIdentityBo extends OrganizationIdentity{@Size(min = 0, max = 127
 	public void setEmail(String email) {
 		this.email = email;
 	}
-	
-	
 
 }

+ 2 - 1
src/main/java/com/goafanti/user/bo/UserInfoBo.java

@@ -9,10 +9,11 @@ import com.goafanti.common.model.UserInfo;
 
 public class UserInfoBo extends UserInfo{
 	
+	@Size(min = 0, max = 16, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
 	private String nickname;
 	
 	@Size(min = 0, max = 127, message = "{" + ErrorConstants.EMAIL_SIZE_ERROR + "}")
-	@Pattern(regexp = "^[0-9a-zA-Z]+([0-9a-zA-Z]*[-._+])*[0-9a-zA-Z]+@[0-9a-zA-Z]+([-.][0-9a-zA-Z]+)*([0-9a-zA-Z]*[.])[a-zA-Z]{2,6}$", message = "{"
+	@Pattern(regexp = "^([a-z0-9A-Z]+[_|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$", message = "{"
 			+ ErrorConstants.EMAIL_PATTERN_ERROR + "}")
 	private String email;
 	

+ 89 - 94
src/main/java/com/goafanti/user/controller/UserApiController.java

@@ -24,8 +24,13 @@ import com.goafanti.common.bo.Result;
 import com.goafanti.common.constant.AFTConstants;
 import com.goafanti.common.constant.ErrorConstants;
 import com.goafanti.common.controller.BaseApiController;
+import com.goafanti.common.enums.OrgProFields;
+import com.goafanti.common.enums.OrganizationIdentityFields;
+import com.goafanti.common.enums.UserAbilityFields;
+import com.goafanti.common.enums.UserCareerFields;
+import com.goafanti.common.enums.UserEduFields;
 import com.goafanti.common.enums.UserIdentityFields;
-import com.goafanti.common.model.AftUser;
+import com.goafanti.common.enums.UserInfoBoFields;
 import com.goafanti.common.model.OrgHumanResource;
 import com.goafanti.common.model.OrganizationIdentity;
 import com.goafanti.common.model.OrganizationInfo;
@@ -43,6 +48,10 @@ import com.goafanti.common.utils.TimeUtils;
 import com.goafanti.common.utils.VerifyCodeUtils;
 import com.goafanti.core.shiro.token.TokenManager;
 import com.goafanti.techproject.service.TechWebsiteService;
+import com.goafanti.user.bo.InputOrgPro;
+import com.goafanti.user.bo.InputUserAbility;
+import com.goafanti.user.bo.InputUserCareer;
+import com.goafanti.user.bo.InputUserEdu;
 import com.goafanti.user.bo.InputUserIdentity;
 import com.goafanti.user.bo.OrgIdentityBo;
 import com.goafanti.user.bo.OrgProBo;
@@ -322,43 +331,27 @@ public class UserApiController extends BaseApiController {
 	 * @return
 	 */
 	@RequestMapping(value = "/userInfo", method = RequestMethod.POST)
-	public Result personalData(UserInfoBo userInfoBo, BindingResult bindingResult) {
+	public Result personalData(@Valid UserInfoBo userInfoBo, BindingResult bindingResult) {
 		Result res = new Result();
 		if (bindingResult.hasErrors()) {
 			res.getError().add(buildErrorByMsg(bindingResult.getFieldError().getDefaultMessage(),
-					bindingResult.getFieldError().getField()));
+					UserInfoBoFields.getFieldDesc(bindingResult.getFieldError().getField())));
 			return res;
 		}
 		if (res.getError().isEmpty()) {
-			UserInfo info = userInfoService.selectUserInfoByUserId(TokenManager.getUserId());
 			User u = userService.selectByPrimaryKey(TokenManager.getUserId());
 			u.setNickname(userInfoBo.getNickname());
 			u.setEmail(userInfoBo.getEmail());
 			userService.updateByPrimaryKeySelective(u);
-			AftUser user = TokenManager.getToken();
-			if(user instanceof User) {
-				((User)user).setNickname(userInfoBo.getNickname());
-			}
-			UserInfo userInfo = new UserInfo();
-			userInfo.setResidenceProvince(userInfoBo.getResidenceProvince());
-			userInfo.setResidenceCity(userInfoBo.getResidenceCity());
-			userInfo.setResidenceArea(userInfoBo.getResidenceArea());
-			userInfo.setPersonPortraitUrl(userInfoBo.getPersonPortraitUrl());
-			userInfo.setPersonalProfile(userInfoBo.getPersonalProfile());
-			userInfo.setLifePhotoUrl(userInfoBo.getLifePhotoUrl());
-			userInfo.setFixedTelArea(userInfoBo.getFixedTelArea());
-			userInfo.setFixedTel(userInfoBo.getFixedTel());
-			userInfo.setFixedTelExtension(userInfoBo.getFixedTelExtension());
-			userInfo.setQq(userInfoBo.getQq());
-			userInfo.setPostalAddress(userInfoBo.getPostalAddress());
-			userInfo.setPostcode(userInfoBo.getPostcode());
-			if (info == null) {
-				userInfo.setId(UUID.randomUUID().toString());
-				userInfo.setUid(TokenManager.getUserId());
-				userInfoService.insert(userInfo);
+			
+			UserInfo ui = new UserInfo();
+			BeanUtils.copyProperties(userInfoBo, ui);
+			if (StringUtils.isBlank(ui.getId())) {
+				ui.setId(UUID.randomUUID().toString());
+				ui.setUid(TokenManager.getUserId());
+				userInfoService.insert(ui);
 			} else {
-				userInfo.setId(info.getId());
-				userInfoService.updateByPrimaryKeySelective(userInfo);
+				userInfoService.updateByPrimaryKeySelective(ui);
 			}
 		}
 		res.setData(userInfoBo);
@@ -372,17 +365,23 @@ public class UserApiController extends BaseApiController {
 	 * @return
 	 */
 	@RequestMapping(value = "/userEdu", method = RequestMethod.POST)
-	public Result educationInfo(UserEdu userEdu) {
+	public Result educationInfo(@Valid InputUserEdu userEdu, BindingResult bindingResult) {
 		Result res = new Result();
-		UserEdu edu = userEduService.selectUserEduByUserId(TokenManager.getUserId());
-
-		if (edu == null) {
+		if (bindingResult.hasErrors()) {
+			res.getError().add(buildErrorByMsg(bindingResult.getFieldError().getDefaultMessage(),
+					UserEduFields.getFieldDesc(bindingResult.getFieldError().getField())));
+			return res;
+		}
+		
+		UserEdu ue = new UserEdu();
+		BeanUtils.copyProperties(userEdu, ue);
+		
+		if (StringUtils.isBlank(ue.getId())) {
 			userEdu.setId(UUID.randomUUID().toString());
 			userEdu.setUid(TokenManager.getUserId());
-			userEduService.insert(userEdu);
+			userEduService.insert(ue);
 		} else {
-			userEdu.setId(edu.getId());
-			userEduService.updateByPrimaryKeySelective(userEdu);
+			userEduService.updateByPrimaryKeySelective(ue);
 		}
 		res.setData(userEdu);
 		return res;
@@ -396,17 +395,23 @@ public class UserApiController extends BaseApiController {
 	 */
 
 	@RequestMapping(value = "/userCareer", method = RequestMethod.POST)
-	public Result careerInfo(UserCareer userCareer) {
+	public Result careerInfo(@Valid InputUserCareer userCareer, BindingResult bindingResult) {
 		Result res = new Result();
-		UserCareer career = userCareerService.selectUserCareerByUserId(TokenManager.getUserId());
+		if (bindingResult.hasErrors()) {
+			res.getError().add(buildErrorByMsg(bindingResult.getFieldError().getDefaultMessage(),
+					UserCareerFields.getFieldDesc(bindingResult.getFieldError().getField())));
+			return res;
+		}
+		UserCareer uc = new UserCareer();
+		BeanUtils.copyProperties(userCareer, uc);
+		
 
-		if (career == null) {
-			userCareer.setId(UUID.randomUUID().toString());
-			userCareer.setUid(TokenManager.getUserId());
-			userCareerService.insert(userCareer);
+		if (StringUtils.isBlank(uc.getId())) {
+			uc.setId(UUID.randomUUID().toString());
+			uc.setUid(TokenManager.getUserId());
+			userCareerService.insert(uc);
 		} else {
-			userCareer.setId(career.getId());
-			userCareerService.updateByPrimaryKeySelective(userCareer);
+			userCareerService.updateByPrimaryKeySelective(uc);
 		}
 		res.setData(userCareer);
 		return res;
@@ -420,16 +425,21 @@ public class UserApiController extends BaseApiController {
 	 */
 
 	@RequestMapping(value = "/userAbility", method = RequestMethod.POST)
-	public Result abilityLabel(UserAbility userAbility) {
+	public Result abilityLabel(@Valid InputUserAbility userAbility, BindingResult bindingResult) {
 		Result res = new Result();
-		UserAbility ability = userAbilityService.selectUserAbilityByUserId(TokenManager.getUserId());
-		if (ability == null) {
-			userAbility.setId(UUID.randomUUID().toString());
-			userAbility.setUid(TokenManager.getUserId());
-			userAbilityService.insert(userAbility);
+		if (bindingResult.hasErrors()) {
+			res.getError().add(buildErrorByMsg(bindingResult.getFieldError().getDefaultMessage(),
+					UserAbilityFields.getFieldDesc(bindingResult.getFieldError().getField())));
+			return res;
+		}
+		UserAbility ua = new UserAbility();
+		BeanUtils.copyProperties(userAbility, ua);
+		if (StringUtils.isBlank(ua.getId())) {
+			ua.setId(UUID.randomUUID().toString());
+			ua.setUid(TokenManager.getUserId());
+			userAbilityService.insert(ua);
 		} else {
-			userAbility.setId(ability.getId());
-			userAbilityService.updateByPrimaryKeySelective(userAbility);
+			userAbilityService.updateByPrimaryKeySelective(ua);
 		}
 		res.setData(userAbility);
 		return res;
@@ -442,32 +452,24 @@ public class UserApiController extends BaseApiController {
 	 * @return
 	 */
 	@RequestMapping(value = "/orgIdentity", method = RequestMethod.POST)
-	public Result groupBasicInfo(OrgIdentityBo orgIdentityBo) {
+	public Result groupBasicInfo(@Valid OrgIdentityBo orgIdentityBo, BindingResult bindingResult) {
 		Result res = new Result();
-		OrganizationIdentity organizationIdentity = new OrganizationIdentity();
-		OrganizationIdentity identity = organizationIdentityService.selectOrgIdentityByUserId(TokenManager.getUserId());
+		if (bindingResult.hasErrors()) {
+			res.getError().add(buildErrorByMsg(bindingResult.getFieldError().getDefaultMessage(),
+					OrganizationIdentityFields.getFieldDesc(bindingResult.getFieldError().getField())));
+			return res;
+		}
+		OrganizationIdentity oi = new OrganizationIdentity();
+		BeanUtils.copyProperties(orgIdentityBo, oi);
 		User u = userService.selectByPrimaryKey(TokenManager.getUserId());
 		u.setEmail(orgIdentityBo.getEmail());
 		userService.updateByPrimaryKeySelective(u);
-		organizationIdentity.setContacts(orgIdentityBo.getContacts());
-		organizationIdentity.setFixedTel(orgIdentityBo.getFixedTel());
-		organizationIdentity.setQq(orgIdentityBo.getQq());
-		organizationIdentity.setPostalAddress(orgIdentityBo.getPostalAddress());
-		organizationIdentity.setPostcode(orgIdentityBo.getPostcode());
-		organizationIdentity.setLegalPerson(orgIdentityBo.getLegalPerson());
-		organizationIdentity.setFirstContacts(orgIdentityBo.getFirstContacts());
-		organizationIdentity.setSecondContacts(orgIdentityBo.getSecondContacts());
-		organizationIdentity.setThirdContacts(orgIdentityBo.getThirdContacts());
-		organizationIdentity.setFirstMobile(orgIdentityBo.getFirstMobile());
-		organizationIdentity.setSecondMobile(orgIdentityBo.getSecondMobile());
-		organizationIdentity.setThirdMobile(orgIdentityBo.getThirdMobile());
-		if (identity == null) {
-			organizationIdentity.setId(UUID.randomUUID().toString());
-			organizationIdentity.setUid(TokenManager.getUserId());
-			organizationIdentityService.insert(organizationIdentity);
+		if (StringUtils.isBlank(oi.getId())) {
+			oi.setId(UUID.randomUUID().toString());
+			oi.setUid(TokenManager.getUserId());
+			organizationIdentityService.insert(oi);
 		} else {
-			organizationIdentity.setId(identity.getId());
-			organizationIdentityService.updateByPrimaryKeySelective(organizationIdentity);
+			organizationIdentityService.updateByPrimaryKeySelective(oi);
 		}
 		res.setData(orgIdentityBo);
 		return res;
@@ -480,29 +482,22 @@ public class UserApiController extends BaseApiController {
 	 * @return
 	 */
 	@RequestMapping(value = "/orgPro", method = RequestMethod.POST)
-	public Result groupProInfo(OrgProBo proBo) {
-		Result res = new Result();
-		OrganizationInfo orgInfo = proBo.getInfo();
-		OrganizationProperties orgPro = proBo.getPro();
-		OrganizationInfo info = organizationInfoService.selectOrgInfoByUserId(TokenManager.getUserId());
-		OrganizationProperties pro = organizationPropertiesService.selectOrgProByUserId(TokenManager.getUserId());
-		if (info == null) {
-			orgInfo.setId(UUID.randomUUID().toString());
-			orgInfo.setUid(TokenManager.getUserId());
-			orgInfo = organizationInfoService.insert(orgInfo);
-		} else {
-			orgInfo.setId(info.getId());
-			organizationInfoService.updateByPrimaryKeySelective(orgInfo);
-		}
-		if (pro == null) {
-			orgPro.setId(UUID.randomUUID().toString());
-			orgPro.setOid(orgInfo.getId());
-			organizationPropertiesService.insert(orgPro);
-		} else {
-			orgPro.setId(pro.getId());
-			organizationPropertiesService.updateByPrimaryKeySelective(orgPro);
+	public Result groupProInfo(@Valid InputOrgPro pro, BindingResult bindingResult) {
+		Result res = new Result();
+		if (bindingResult.hasErrors()) {
+			res.getError().add(buildErrorByMsg(bindingResult.getFieldError().getDefaultMessage(),
+					OrgProFields.getFieldDesc(bindingResult.getFieldError().getField())));
+			return res;
 		}
-		res.setData(proBo);
+		
+		OrganizationInfo oi = new OrganizationInfo();
+		OrganizationProperties op = new OrganizationProperties();
+		BeanUtils.copyProperties(pro, oi);
+		BeanUtils.copyProperties(pro, op);
+		oi.setId(pro.getIid());
+		op.setId(pro.getPid());
+		organizationInfoService.insertInfoAndPro(oi, op);
+		res.setData(pro);
 		return res;
 	}
 
@@ -513,7 +508,7 @@ public class UserApiController extends BaseApiController {
 	 * @return
 	 */
 	@RequestMapping(value = "/orgTech", method = RequestMethod.POST)
-	public Result tech(OrganizationTech orgTech) {
+	public Result tech(OrganizationTech orgTech, BindingResult bindingResult) {
 		Result res = new Result();
 		OrganizationTech tech = organizationTechService.selectOrgTechByUserId(TokenManager.getUserId());
 		if (tech == null) {

+ 3 - 0
src/main/java/com/goafanti/user/service/OrganizationInfoService.java

@@ -1,6 +1,7 @@
 package com.goafanti.user.service;
 
 import com.goafanti.common.model.OrganizationInfo;
+import com.goafanti.common.model.OrganizationProperties;
 
 public interface OrganizationInfoService{
 
@@ -11,4 +12,6 @@ public interface OrganizationInfoService{
 
 	OrganizationInfo insert(OrganizationInfo orgInfo);
 
+	int insertInfoAndPro(OrganizationInfo oi, OrganizationProperties op);
+
 }

+ 29 - 5
src/main/java/com/goafanti/user/service/impl/OrganizationInfoServiceImpl.java

@@ -1,19 +1,24 @@
 package com.goafanti.user.service.impl;
 
+import java.util.UUID;
+
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import com.goafanti.common.dao.OrganizationInfoMapper;
 import com.goafanti.common.dao.OrganizationPropertiesMapper;
 import com.goafanti.common.model.OrganizationInfo;
+import com.goafanti.common.model.OrganizationProperties;
+import com.goafanti.core.shiro.token.TokenManager;
 import com.goafanti.user.service.OrganizationInfoService;
+
 @Service
 public class OrganizationInfoServiceImpl implements OrganizationInfoService {
-    @Autowired
-    OrganizationInfoMapper organizationInfoMapper;
-    @Autowired
-    OrganizationPropertiesMapper  organizationPropertiesMapper; 
-    
+	@Autowired
+	OrganizationInfoMapper			organizationInfoMapper;
+	@Autowired
+	OrganizationPropertiesMapper	organizationPropertiesMapper;
 
 	@Override
 	public OrganizationInfo selectOrgInfoByUserId(String uid) {
@@ -31,5 +36,24 @@ public class OrganizationInfoServiceImpl implements OrganizationInfoService {
 		return orgInfo;
 	}
 
+	@Override
+	public int insertInfoAndPro(OrganizationInfo oi, OrganizationProperties op) {
+		if (StringUtils.isBlank(oi.getId())) {
+			oi.setId(UUID.randomUUID().toString());
+			oi.setUid(TokenManager.getUserId());
+			organizationInfoMapper.insert(oi);
+		} else {
+			organizationInfoMapper.updateByPrimaryKeySelective(oi);
+		}
+
+		if (StringUtils.isBlank(op.getId())) {
+			op.setId(UUID.randomUUID().toString());
+			op.setOid(oi.getId());
+			organizationPropertiesMapper.insert(op);
+		} else {
+			organizationPropertiesMapper.updateByPrimaryKeySelective(op);
+		}
+		return 1;
+	}
 
 }