Antiloveg 8 years ago
parent
commit
b6888c7918

+ 17 - 1
schema/2017-06-07.sql

@@ -41,4 +41,20 @@ CREATE TABLE `district_glossory` (
   `level` INT(1) NULL COMMENT '层级',
   PRIMARY KEY (`id`))
 ENGINE = InnoDB
-COMMENT = '地区数据字典';
+COMMENT = '地区数据字典';
+
+
+delete from `permission` where name = '系统设置--管理员列表';
+
+update `permission` set url = 'api/admin/supervise/insertAdmin'
+where url = 'api/admin/insertAdmin';
+
+update `permission` set url = 'api/admin/supervise/resetPwd'
+where url = 'api/admin/resetPwd';
+
+update `permission` set url = '/api/admin/supervise/updateAdmin'
+where url = 'api/admin/updateAdmin';
+
+insert into `permission`(`id`, `url`, `name`) 
+values 
+(UUID(), 'api/admin/supervise/adminList', '系统设置--管理员列表');

+ 8 - 6
schema/permission.sql

@@ -16,12 +16,12 @@ values
 
 insert into `permission`(`id`, `url`, `name`) 
 values 
-(UUID(), 'api/admin/adminInfo', '系统设置--管理员列表'), 
-(UUID(), 'api/admin/insertAdmin', '系统设置--新增管理员'), 
-(UUID(), 'api/admin/adminDetail', '系统设置--管理员详情'), 
-(UUID(), 'api/admin/updateAdmin', '系统设置--修改管理员信息'), 
-(UUID(), 'api/admin/resetPwd', '系统设置--重置管理员密码'),
-(UUID(), 'api/admin/role', '系统设置--获取管理员角色');
+(UUID(), 'api/admin/adminInfo', '管理员本人信息详情'), 
+(UUID(), 'api/admin/supervise/insertAdmin', '系统设置--新增管理员'), 
+(UUID(), 'api/admin/supervise/updateAdmin', '系统设置--修改管理员信息'), 
+(UUID(), 'api/admin/supervise/resetPwd', '系统设置--重置管理员密码'),
+(UUID(), 'api/admin/role', '系统设置--获取管理员角色'),
+(UUID(), 'api/admin/supervise/adminList', '系统设置--管理员列表');
 
 insert into `permission`(`id`, `url`, `name`) 
 values 
@@ -483,3 +483,5 @@ values
 (UUID(), 'api/admin/achievement/uploadPicture', '科技成果管理--图片上传'),
 (UUID(), 'api/admin/achievement/delete', '科技成果管理--删除');
 
+
+

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

@@ -2,7 +2,6 @@ package com.goafanti.admin.controller;
 
 import java.math.BigDecimal;
 import java.text.ParseException;
-import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Calendar;
 import java.util.Date;
@@ -24,11 +23,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestParam;
 
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.goafanti.admin.bo.AdminDetail;
-import com.goafanti.admin.bo.AdminLocationBo;
 import com.goafanti.admin.bo.InputAdmin;
 import com.goafanti.admin.service.AdminService;
 import com.goafanti.cognizance.bo.ActivityNumberBo;
@@ -100,7 +94,6 @@ import com.goafanti.common.enums.UserFields;
 import com.goafanti.common.enums.UserIdentityFields;
 import com.goafanti.common.enums.UserLevel;
 import com.goafanti.common.model.Admin;
-import com.goafanti.common.model.AdminLocation;
 import com.goafanti.common.model.OrgActivity;
 import com.goafanti.common.model.OrgActivityCost;
 import com.goafanti.common.model.OrgAnnualReport;
@@ -377,205 +370,7 @@ public class AdminApiController extends CertifyApiController {
 		return res;
 	}
 
-	/**
-	 * 管理员列表
-	 */
-	@RequestMapping(value = "/adminList", method = RequestMethod.GET)
-	public Result adminList(Integer province, Integer number, String mobile, String name, String pageNo,
-			String pageSize) {
-		Result res = new Result();
-		Integer pNo = 1;
-		Integer pSize = 10;
-		if (StringUtils.isNumeric(pageSize)) {
-			pSize = Integer.parseInt(pageSize);
-		}
-		if (StringUtils.isNumeric(pageNo)) {
-			pNo = Integer.parseInt(pageNo);
-		}
-		res.setData(adminService.listAdmin(province, number, mobile, name, pNo, pSize));
-		return res;
-	}
-
-	/**
-	 * 新增管理员
-	 */
-	@RequestMapping(value = "/insertAdmin", method = RequestMethod.POST)
-	public Result insertAdmin(String data) {
-		Result res = new Result();
-		JSONObject jo = (JSONObject) JSON.parse(data);
-		if (null != jo) {
-			Admin admin = jo.toJavaObject(Admin.class);
-
-			if (StringUtils.isBlank(admin.getMobile())) {
-				res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "登录帐号为空", "登录帐号"));
-				return res;
-			}
-
-			if (StringUtils.isBlank(admin.getName())) {
-				res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "用户名为空", "用户名"));
-				return res;
-			}
-
-			Admin a = adminService.selectByMobile(admin.getMobile().trim());
-			if (null != a) {
-				res.getError().add(buildError(ErrorConstants.USER_ALREADY_EXIST, "当前用户已注册!"));
-				return res;
-			}
-
-			Admin ad = new Admin();
-			BeanUtils.copyProperties(admin, ad);
-			ad.setId(UUID.randomUUID().toString());
-			JSONArray locations = jo.getJSONArray("locations");
-			List<AdminLocation> adminLocationList = new ArrayList<>();
-			AdminLocation al = null;
-			for (int i = 0; i < locations.size(); i++) {
-				AdminLocationBo alb = locations.getJSONObject(i).toJavaObject(AdminLocationBo.class);
-				Integer province = alb.getProvince();
-				String city = alb.getCity();
-				if (null == province) {
-					res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "省份为空", "所在省份"));
-					return res;
-				}
-
-				if (province.intValue() > AFTConstants.PROVINCEMAXNUM) {
-					res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "所在省份"));
-					return res;
-				}
-
-				if (!StringUtils.isBlank(city)) {
-					String[] arr = city.trim().split(",|,");
-					if (null != arr && arr.length > 0) {
-						for (String s : arr) {
-							Integer c = Integer.valueOf(s);
-							if (c.intValue() > AFTConstants.CITYMAXNUM) {
-								res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "所在市"));
-								return res;
-							}
-
-							al = new AdminLocation();
-							al.setId(UUID.randomUUID().toString());
-							al.setAdminId(ad.getId());
-							al.setProvince(province);
-							al.setCity(c);
-							adminLocationList.add(al);
-						}
-					}
-				} else {
-					al = new AdminLocation();
-					al.setId(UUID.randomUUID().toString());
-					al.setAdminId(ad.getId());
-					al.setProvince(province);
-					adminLocationList.add(al);
-				}
-			}
-
-			Calendar now = Calendar.getInstance();
-			now.set(Calendar.MILLISECOND, 0);
-
-			ad.setCreateTime(now.getTime());
-			if (StringUtils.isBlank(ad.getPassword())) {
-				ad.setPassword(AFTConstants.INITIALPASSWORD);
-			}
-			ad.setPassword(passwordUtil.getEncryptPwd(ad));
-			res.setData(adminService.insertNewAdmin(ad, adminLocationList));
-		}
-
-		return res;
-	}
-
-	/**
-	 * 管理员详情
-	 */
-	@RequestMapping(value = "/adminDetail", method = RequestMethod.GET)
-	public Result adminDetail(String id) {
-		Result res = new Result();
-
-		if (StringUtils.isBlank(id)) {
-			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "用户id"));
-			return res;
-		}
-
-		AdminDetail ad = adminService.selectAdminDetail(id);
-		res.setData(ad);
-		return res;
-	}
-
-	/**
-	 * 修改管理员信息
-	 */
-	@RequestMapping(value = "/updateAdmin", method = RequestMethod.POST)
-	public Result updateAdmin(@RequestParam(value = "roles[]", required = false) String[] roleIds,
-			@Valid InputAdmin admin, BindingResult bindingResult) {
-		Result res = new Result();
-		if (bindingResult.hasErrors()) {
-			res.getError().add(buildErrorByMsg(bindingResult.getFieldError().getDefaultMessage(),
-					AdminFields.getFieldDesc(bindingResult.getFieldError().getField())));
-			return res;
-		}
-
-		if (null == admin.getId()) {
-			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "用户id"));
-			return res;
-		}
-
-		if (null == admin.getMobile()) {
-			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "登录帐号为空", "登录帐号"));
-			return res;
-		}
-
-		if (null == admin.getName()) {
-			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "用户名为空", "用户名"));
-			return res;
-		}
-
-		Admin aa = adminService.selectByMobile(admin.getMobile().trim());
-		if (null != aa && !admin.getId().equals(aa.getId())) {
-			res.getError().add(buildError(ErrorConstants.USER_ALREADY_EXIST, "当前用户已注册!"));
-			return res;
-		}
-
-		Admin a = adminService.selectByPrimaryKey(admin.getId());
-
-		if (null == a) {
-			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "用户id"));
-			return res;
-		}
-		Admin ad = new Admin();
-		BeanUtils.copyProperties(admin, ad);
-		List<String> roles = new ArrayList<String>();
-		if (roleIds != null && roleIds.length > 0) {
-			for (String role : roleIds) {
-				roles.add(role);
-			}
-		}
-		res.setData(adminService.updateByPrimaryKeySelective(ad, roles));
-		return res;
-	}
-
-	/**
-	 * 重置管理员密码
-	 */
-	@RequestMapping(value = "/resetPwd", method = RequestMethod.POST)
-	public Result resetPwd(String id) {
-		Result res = new Result();
-		if (StringUtils.isBlank(id)) {
-			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "用户id"));
-			return res;
-		}
-
-		Admin admin = adminService.selectByPrimaryKey(id);
-		if (null == admin) {
-			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "用户id"));
-			return res;
-		}
-		Admin a = new Admin();
-		a.setId(admin.getId());
-		a.setCreateTime(admin.getCreateTime());
-		a.setPassword("123456");
-		a.setPassword(passwordUtil.getEncryptPwd(a));
-		res.setData(adminService.updateByPrimaryKey(a));
-		return res;
-	}
+	
 
 	/**
 	 * 新增用户

+ 226 - 0
src/main/java/com/goafanti/admin/controller/AdminSuperviseApiController.java

@@ -0,0 +1,226 @@
+package com.goafanti.admin.controller;
+
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.List;
+import java.util.UUID;
+
+import javax.annotation.Resource;
+import javax.validation.Valid;
+
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Controller;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.goafanti.admin.bo.AdminLocationBo;
+import com.goafanti.admin.bo.InputAdmin;
+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.AdminFields;
+import com.goafanti.common.model.Admin;
+import com.goafanti.common.model.AdminLocation;
+import com.goafanti.common.utils.PasswordUtil;
+import com.goafanti.common.utils.StringUtils;
+
+@Controller
+@RequestMapping(value = "/api/admin/supervise")
+public class AdminSuperviseApiController extends CertifyApiController {
+	@Resource
+	private AdminService	adminService;
+	@Resource(name = "passwordUtil")
+	private PasswordUtil	passwordUtil;
+	
+
+	/**
+	 * 管理员列表
+	 */
+	@RequestMapping(value = "/adminList", method = RequestMethod.GET)
+	public Result adminList(Integer province, Integer number, String mobile, String name, String pageNo,
+			String pageSize) {
+		Result res = new Result();
+		Integer pNo = 1;
+		Integer pSize = 10;
+		if (StringUtils.isNumeric(pageSize)) {
+			pSize = Integer.parseInt(pageSize);
+		}
+		if (StringUtils.isNumeric(pageNo)) {
+			pNo = Integer.parseInt(pageNo);
+		}
+		res.setData(adminService.listAdmin(province, number, mobile, name, pNo, pSize));
+		return res;
+	}
+
+	/**
+	 * 新增管理员
+	 */
+	@RequestMapping(value = "/insertAdmin", method = RequestMethod.POST)
+	public Result insertAdmin(String data) {
+		Result res = new Result();
+		JSONObject jo = (JSONObject) JSON.parse(data);
+		if (null != jo) {
+			Admin admin = jo.toJavaObject(Admin.class);
+
+			if (StringUtils.isBlank(admin.getMobile())) {
+				res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "登录帐号为空", "登录帐号"));
+				return res;
+			}
+
+			if (StringUtils.isBlank(admin.getName())) {
+				res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "用户名为空", "用户名"));
+				return res;
+			}
+
+			Admin a = adminService.selectByMobile(admin.getMobile().trim());
+			if (null != a) {
+				res.getError().add(buildError(ErrorConstants.USER_ALREADY_EXIST, "当前用户已注册!"));
+				return res;
+			}
+
+			Admin ad = new Admin();
+			BeanUtils.copyProperties(admin, ad);
+			ad.setId(UUID.randomUUID().toString());
+			JSONArray locations = jo.getJSONArray("locations");
+			List<AdminLocation> adminLocationList = new ArrayList<>();
+			AdminLocation al = null;
+			for (int i = 0; i < locations.size(); i++) {
+				AdminLocationBo alb = locations.getJSONObject(i).toJavaObject(AdminLocationBo.class);
+				Integer province = alb.getProvince();
+				String city = alb.getCity();
+				if (null == province) {
+					res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "省份为空", "所在省份"));
+					return res;
+				}
+
+				if (province.intValue() > AFTConstants.PROVINCEMAXNUM) {
+					res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "所在省份"));
+					return res;
+				}
+
+				if (!StringUtils.isBlank(city)) {
+					String[] arr = city.trim().split(",|,");
+					if (null != arr && arr.length > 0) {
+						for (String s : arr) {
+							Integer c = Integer.valueOf(s);
+							if (c.intValue() > AFTConstants.CITYMAXNUM) {
+								res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "所在市"));
+								return res;
+							}
+
+							al = new AdminLocation();
+							al.setId(UUID.randomUUID().toString());
+							al.setAdminId(ad.getId());
+							al.setProvince(province);
+							al.setCity(c);
+							adminLocationList.add(al);
+						}
+					}
+				} else {
+					al = new AdminLocation();
+					al.setId(UUID.randomUUID().toString());
+					al.setAdminId(ad.getId());
+					al.setProvince(province);
+					adminLocationList.add(al);
+				}
+			}
+
+			Calendar now = Calendar.getInstance();
+			now.set(Calendar.MILLISECOND, 0);
+
+			ad.setCreateTime(now.getTime());
+			if (StringUtils.isBlank(ad.getPassword())) {
+				ad.setPassword(AFTConstants.INITIALPASSWORD);
+			}
+			ad.setPassword(passwordUtil.getEncryptPwd(ad));
+			res.setData(adminService.insertNewAdmin(ad, adminLocationList));
+		}
+
+		return res;
+	}
+
+
+	/**
+	 * 修改管理员信息
+	 */
+	@RequestMapping(value = "/updateAdmin", method = RequestMethod.POST)
+	public Result updateAdmin(@RequestParam(value = "roles[]", required = false) String[] roleIds,
+			@Valid InputAdmin admin, BindingResult bindingResult) {
+		Result res = new Result();
+		if (bindingResult.hasErrors()) {
+			res.getError().add(buildErrorByMsg(bindingResult.getFieldError().getDefaultMessage(),
+					AdminFields.getFieldDesc(bindingResult.getFieldError().getField())));
+			return res;
+		}
+
+		if (null == admin.getId()) {
+			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "用户id"));
+			return res;
+		}
+
+		if (null == admin.getMobile()) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "登录帐号为空", "登录帐号"));
+			return res;
+		}
+
+		if (null == admin.getName()) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "用户名为空", "用户名"));
+			return res;
+		}
+
+		Admin aa = adminService.selectByMobile(admin.getMobile().trim());
+		if (null != aa && !admin.getId().equals(aa.getId())) {
+			res.getError().add(buildError(ErrorConstants.USER_ALREADY_EXIST, "当前用户已注册!"));
+			return res;
+		}
+
+		Admin a = adminService.selectByPrimaryKey(admin.getId());
+
+		if (null == a) {
+			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "用户id"));
+			return res;
+		}
+		Admin ad = new Admin();
+		BeanUtils.copyProperties(admin, ad);
+		List<String> roles = new ArrayList<String>();
+		if (roleIds != null && roleIds.length > 0) {
+			for (String role : roleIds) {
+				roles.add(role);
+			}
+		}
+		res.setData(adminService.updateByPrimaryKeySelective(ad, roles));
+		return res;
+	}
+
+	/**
+	 * 重置管理员密码
+	 */
+	@RequestMapping(value = "/resetPwd", method = RequestMethod.POST)
+	public Result resetPwd(String id) {
+		Result res = new Result();
+		if (StringUtils.isBlank(id)) {
+			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "用户id"));
+			return res;
+		}
+
+		Admin admin = adminService.selectByPrimaryKey(id);
+		if (null == admin) {
+			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "用户id"));
+			return res;
+		}
+		Admin a = new Admin();
+		a.setId(admin.getId());
+		a.setCreateTime(admin.getCreateTime());
+		a.setPassword("123456");
+		a.setPassword(passwordUtil.getEncryptPwd(a));
+		res.setData(adminService.updateByPrimaryKey(a));
+		return res;
+	}
+}