Просмотр исходного кода

Merge branch 'master' of
http://git.jishutao.com/jishutao/kede-server.git

Conflicts:
src/main/java/com/goafanti/core/auth/RestClient.java

limin лет назад: 7
Родитель
Сommit
65ca1cc381

+ 14 - 56
src/main/java/com/goafanti/admin/controller/AdminApiController.java

@@ -343,62 +343,7 @@ public class AdminApiController extends CertifyApiController {
 		return res;
 	}
 
-	/**
-	 * 管理员修改本人信息
-	 */
-	@RequestMapping(value = "/updateAdminInfo", method = RequestMethod.POST)
-	public Result updateAdminInfo(@Valid InputAdmin admin, String pwd, BindingResult bindingResult) {
-		Result res = new Result();
-		if (TokenManager.hasRole(AFTConstants.SUPERADMIN)) {
-			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "超级管理员"));
-			return res;
-		}
-
-		if (bindingResult.hasErrors()) {
-			res.getError().add(buildErrorByMsg(bindingResult.getFieldError().getDefaultMessage(),
-					AdminFields.getFieldDesc(bindingResult.getFieldError().getField())));
-			return res;
-		}
-		if (StringUtils.isBlank(admin.getId())) {
-			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "用户id"));
-			return res;
-		}
-
-		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 (!TokenManager.getAdminId().equals(a.getId())) {
-			res.getError().add(buildError(ErrorConstants.USER_ALREADY_EXIST, "当前用户已注册!"));
-			return res;
-		}
-		Admin ad = new Admin();
-		BeanUtils.copyProperties(admin, ad);
-		Admin aa = adminService.selectByPrimaryKey(TokenManager.getAdminId());
-		ad.setMobile(ad.getMobile().trim());
-		ad.setCreateTime(aa.getCreateTime());
-		if (StringUtils.isNotBlank(ad.getPassword())) {
-			if (StringUtils.isBlank(pwd)) {
-				res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "", "原密码"));
-				return res;
-			}
-			if (!aa.getPassword().equals(passwordUtil.getEncryptPwd(pwd, aa.getCreateTime()))) {
-				res.getError().add(buildError(ErrorConstants.PWD_NOT_MATCH_ERROR, "", "原密码"));
-				return res;
-			}
-			ad.setPassword(passwordUtil.getEncryptPwd(ad));
-		} else {
-			ad.setPassword(aa.getPassword());
-		}
-		res.setData(adminService.updateByPrimaryKey(ad));
-		return res;
-	}
+	
 
 	/**
 	 * 新增用户
@@ -3123,4 +3068,17 @@ public class AdminApiController extends CertifyApiController {
 		}
 		return res;
 	}
+	
+	
+
+	/**
+	 * 锁定密码未更改的用户
+	 */
+	@RequestMapping(value = "/lockAdmin", method = RequestMethod.POST)
+	public Result updateLockAdmin() {
+		Result res = new Result();
+		res.setData(adminService.updateLockAdmin());
+		return res;
+	}
+	
 }

+ 73 - 1
src/main/java/com/goafanti/admin/controller/AdminSystemController.java

@@ -1,16 +1,28 @@
 package com.goafanti.admin.controller;
 
+import javax.annotation.Resource;
+import javax.validation.Valid;
+
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpMethod;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.ModelMap;
+import org.springframework.validation.BindingResult;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 
 import com.alibaba.fastjson.JSONObject;
+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.BaseApiController;
+import com.goafanti.common.enums.AdminFields;
+import com.goafanti.common.model.Admin;
+import com.goafanti.common.utils.PasswordUtil;
+import com.goafanti.common.utils.StringUtils;
 import com.goafanti.core.shiro.token.TokenManager;
 import com.goafanti.easemob.EasemobUtils;
 import com.goafanti.easemob.bo.EasemobInfo;
@@ -22,7 +34,10 @@ public class AdminSystemController extends BaseApiController {
 
 	@Autowired
 	EasemobUtils easemobUtils;
-
+	@Resource
+	private AdminService					adminService;
+	@Resource(name = "passwordUtil")
+	private PasswordUtil					passwordUtil;
 	/**
 	 * 初始化系统消息用户
 	 */
@@ -40,6 +55,63 @@ public class AdminSystemController extends BaseApiController {
 		}
 		return res().data(false);
 	}
+	
+	/**
+	 * 管理员修改本人信息
+	 */
+	@RequestMapping(value = "/updateAdminInfo", method = RequestMethod.POST)
+	public Result updateAdminInfo(@Valid InputAdmin admin, String pwd, BindingResult bindingResult) {
+		Result res = new Result();
+		if (TokenManager.hasRole(AFTConstants.SUPERADMIN)) {
+			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "超级管理员"));
+			return res;
+		}
+
+		if (bindingResult.hasErrors()) {
+			res.getError().add(buildErrorByMsg(bindingResult.getFieldError().getDefaultMessage(),
+					AdminFields.getFieldDesc(bindingResult.getFieldError().getField())));
+			return res;
+		}
+		if (StringUtils.isBlank(admin.getId())) {
+			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "用户id"));
+			return res;
+		}
+
+		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 (!TokenManager.getAdminId().equals(a.getId())) {
+			res.getError().add(buildError(ErrorConstants.USER_ALREADY_EXIST, "当前用户已注册!"));
+			return res;
+		}
+		Admin ad = new Admin();
+		BeanUtils.copyProperties(admin, ad);
+		Admin aa = adminService.selectByPrimaryKey(TokenManager.getAdminId());
+		ad.setMobile(ad.getMobile().trim());
+		ad.setCreateTime(aa.getCreateTime());
+		if (StringUtils.isNotBlank(ad.getPassword())) {
+			if (StringUtils.isBlank(pwd)) {
+				res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "", "原密码"));
+				return res;
+			}
+			if (!aa.getPassword().equals(passwordUtil.getEncryptPwd(pwd, aa.getCreateTime()))) {
+				res.getError().add(buildError(ErrorConstants.PWD_NOT_MATCH_ERROR, "", "原密码"));
+				return res;
+			}
+			ad.setPassword(passwordUtil.getEncryptPwd(ad));
+		} else {
+			ad.setPassword(aa.getPassword());
+		}
+		res.setData(adminService.updateByPrimaryKey(ad));
+		return res;
+	}
 
 	/**
 	 * 测试发送消息

+ 2 - 0
src/main/java/com/goafanti/admin/service/AdminService.java

@@ -64,4 +64,6 @@ public interface AdminService {
 	List<Admin> listAdminByName(String name);
 
 	List<AdminListBo> selectDepartmentStaff(String departmentId,String name);
+
+	int updateLockAdmin();
 }

+ 73 - 0
src/main/java/com/goafanti/admin/service/impl/AdminServiceImpl.java

@@ -1,10 +1,13 @@
 package com.goafanti.admin.service.impl;
 
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.TreeMap;
 
+import javax.annotation.Resource;
+
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -17,10 +20,13 @@ import com.goafanti.common.dao.AdminLocationMapper;
 import com.goafanti.common.dao.AdminMapper;
 import com.goafanti.common.dao.UserRoleMapper;
 import com.goafanti.common.model.Admin;
+import com.goafanti.common.utils.LoggerUtils;
+import com.goafanti.common.utils.PasswordUtil;
 import com.goafanti.common.utils.StringUtils;
 import com.goafanti.core.mybatis.BaseMybatisDao;
 import com.goafanti.core.mybatis.page.Pagination;
 import com.goafanti.core.shiro.token.TokenManager;
+import com.goafanti.customer.bo.LockingReleaseBo;
 
 @Service
 public class AdminServiceImpl extends BaseMybatisDao<AdminMapper> implements AdminService {
@@ -30,6 +36,8 @@ public class AdminServiceImpl extends BaseMybatisDao<AdminMapper> implements Adm
 	private UserRoleMapper		userRoleMapper;
 	@Autowired
 	private AdminLocationMapper	adminLocationMapper;
+	@Resource(name = "passwordUtil")
+	private PasswordUtil					passwordUtil;
 	@Override
 	public List<Admin> selectAllAdmin() {
 		return adminMapper.selectAllAdmin();
@@ -230,6 +238,71 @@ public class AdminServiceImpl extends BaseMybatisDao<AdminMapper> implements Adm
 		return adminMapper.selectDepartmentStaff( departmentId,  name);
 	}
 
+	@Override
+	public int updateLockAdmin() {
+		int count=0;
+		List<Admin> list=adminMapper.selectAllAdmin();//获取所有用户
+		List<List<Admin>>aList=groupList(list);//拆分成多个
+		String lockIds = "";
+		for(List<Admin> al:aList){
+			for (Admin a : al) {
+				String pwd=a.getPassword();
+				a.setPassword("123456");
+				String pwd2=passwordUtil.getEncryptPwd(a);
+				if (pwd.equals(pwd2)) {
+					lockIds += a.getId() + ",";
+				}
+			}
+			if(lockIds.length()>0){
+				try {
+				lockIds = "'" + lockIds.substring(0,lockIds.length()-1).replace(",", "','") + "'";
+				count+= adminMapper.updateLockIds(lockIds);
+				lockIds = "";
+					Thread.sleep(1000);
+				} catch (InterruptedException e) {
+					LoggerUtils.error(getClass(), "未修改管理员锁定失败", e);
+				}
+			}
+		}
+		return count;
+	}
+	
+	  /*
+     * List分割
+     */
+    public  List<List<Admin>> groupList(List<Admin> list) {
+        List<List<Admin>> listGroup = new ArrayList<List<Admin>>();
+        int listSize = list.size();
+        //子集合的长度
+        int toIndex = 100;
+        for (int i = 0; i < list.size(); i += toIndex) {
+            if (i + toIndex > listSize) {
+                toIndex = listSize - i;
+            }
+            List<Admin> newList = list.subList(i, i + toIndex);
+            listGroup.add(newList);
+        }
+        return listGroup;
+    }
+   /* public static void main(String[] args) {
+    	List<String> list=new ArrayList<>();
+		for (int i = 1; i < 888; i++) {
+			list.add(String.valueOf(i));
+		}
+		  List<List<String>> listGroup = new ArrayList<List<String>>();
+	        int listSize = list.size();
+	        //子集合的长度
+	        int toIndex = 100;
+	        for (int i = 0; i < list.size(); i += 100) {
+	            if (i + 100 > listSize) {
+	                toIndex = listSize - i;
+	            }
+	            List<String> newList = list.subList(i, i + toIndex);
+	            listGroup.add(newList);
+	        }
+	        System.out.println(listGroup);
+	}*/
+
 	
 
 }

+ 2 - 0
src/main/java/com/goafanti/common/dao/AdminMapper.java

@@ -171,6 +171,8 @@ public interface AdminMapper {
 
 	List<Admin> selectAllAdmin();
 
+	int updateLockIds(@Param("lockIds")String lockIds);
+
 	
 
 }

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

@@ -512,6 +512,7 @@
     select 
     <include refid="Base_Column_List" />
     from admin 
+    where status !='锁定' 
   </select>
   
   <select id="selectByMobile" parameterType="java.lang.String" resultMap="BaseResultMap">
@@ -946,6 +947,8 @@
 	left join `role` c on b.rid=c.id
 	where c.role_name  = #{name,jdbcType=VARCHAR}
   </select>
-  
+   <update id="updateLockIds" parameterType="java.lang.String">
+  	update admin set status = '锁定' where id in (${lockIds})
+  </update>
   
 </mapper>

+ 0 - 2
src/main/java/com/goafanti/core/auth/RestClient.java

@@ -2,8 +2,6 @@ package com.goafanti.core.auth;
 
 import java.util.Base64;
 
-
-
 import org.junit.Test;
 import org.springframework.http.HttpEntity;
 import org.springframework.http.HttpHeaders;

+ 1 - 1
src/main/resources/props/config_test.properties

@@ -1,7 +1,7 @@
 #Driver
 jdbc.driverClassName=com.mysql.jdbc.Driver
 #\u6570\u636e\u5e93\u94fe\u63a5\uff0c
-jdbc.url=jdbc:mysql://127.0.0.1:3306/aft20180522?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false
+jdbc.url=jdbc:mysql://127.0.0.1:3306/aft?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false
 #\u5e10\u53f7
 jdbc.username=root
 #\u5bc6\u7801

+ 1 - 2
src/main/webapp/WEB-INF/views/common.html

@@ -385,8 +385,7 @@
 			window.showCustomer = /*[[${shiro.hasRole('999999') || shiro.isPermitted('admin/customer')}]]*/false;
 			window.showUserList = /*[[${shiro.hasRole('999999') || shiro.isPermitted('api/admin/userList')}]]*/false;
 			window.showOrgList = /*[[${shiro.hasRole('999999') || shiro.isPermitted('api/admin/orgList')}]]*/false;
-			window.showPermissionList = /*[[${shiro.hasRole('999999') || shiro.isPermitted('api/admin/permissionList')}]]*/
-			false;
+			window.showPermissionList = /*[[${shiro.hasRole('999999') || shiro.isPermitted('api/admin/permissionList')}]]*/false;
 			window.showRoleList = /*[[${shiro.hasRole('999999') || shiro.isPermitted('api/admin/roleList')}]]*/false;
 			window.showAuditStatus = /*[[${shiro.hasRole('999999') || shiro.isPermitted('api/admin/auditStatus')}]]*/false;