Selaa lähdekoodia

角色名称验证

hefeng 5 vuotta sitten
vanhempi
commit
2d358f1c1a

+ 46 - 0
src/main/java/com/chinaitop/depot/system/controller/RoleInfoController.java

@@ -19,10 +19,15 @@ import com.fasterxml.jackson.databind.ObjectMapper;
19 19
 import com.github.pagehelper.PageHelper;
20 20
 import com.github.pagehelper.PageInfo;
21 21
 
22
+import io.swagger.annotations.ApiImplicitParam;
23
+import io.swagger.annotations.ApiImplicitParams;
24
+import io.swagger.annotations.ApiOperation;
25
+
22 26
 import org.apache.commons.lang.ObjectUtils;
23 27
 import org.apache.commons.lang3.StringUtils;
24 28
 import org.springframework.beans.factory.annotation.Value;
25 29
 import org.springframework.web.bind.annotation.RequestMapping;
30
+import org.springframework.web.bind.annotation.RequestMethod;
26 31
 import org.springframework.web.bind.annotation.RestController;
27 32
 
28 33
 import javax.annotation.Resource;
@@ -129,6 +134,47 @@ public class RoleInfoController {
129 134
 		}
130 135
 		return roleInfo;
131 136
 	}
137
+	
138
+	/**
139
+	 * 验证角色名称是否可用
140
+	 * @param roleName	角色名称
141
+	 * @param roleId	角色id
142
+	 * @param status	类型:1 粮库、2 出入库
143
+	 * @return
144
+	 */
145
+	@RequestMapping(value="/validRoleName", method = RequestMethod.GET)
146
+	@ApiOperation(value="验证角色名称", notes = "验证角色名称是否可用")
147
+	@ApiImplicitParams({
148
+			@ApiImplicitParam(name = "roleName", value = "移动端类型", paramType = "query"),
149
+			@ApiImplicitParam(name = "roleId", value = "角色id", paramType = "query"),
150
+			@ApiImplicitParam(name = "status", value = "类型:1 粮库、2 出入库", paramType = "query")
151
+	})
152
+	public Boolean validRoleName(String roleName,String roleId, String status) {
153
+		if("1".equals(status)) {
154
+			return roleInfoService.validRoleName(roleName,roleId);
155
+		}else {
156
+			try {
157
+				if("正常".equals(NetStateUtil.connectingAddress(wsdlUrl))) {
158
+					ExchangeServer wb = new ExchangeServer();
159
+					IExchangeService action = wb.getExchangeServiceImplPort();
160
+					//获取系统所有角色
161
+					String roles = action.getAllRoles(FLATID, KEY);
162
+					JSONObject obj = JSONObject.parseObject(roles);  
163
+					String result = obj.getString("result");
164
+					JSONArray data = JSONArray.parseArray(result);
165
+					for(int i=0;i<data.size();i++) {
166
+						Map<String,Object> map = (Map<String,Object>)data.get(i);
167
+						if(ObjectUtils.toString(map.get("roleName"),"").equals(roleName) && !ObjectUtils.toString(map.get("roleId"),"").equals(roleId)) {
168
+							return false;
169
+						}
170
+					}
171
+				}
172
+			}catch (Exception e) {
173
+				e.printStackTrace();
174
+			}
175
+			return true;
176
+		}
177
+	}
132 178
 
133 179
 	/**
134 180
 	 * 保存角色信息

+ 8 - 0
src/main/java/com/chinaitop/depot/system/service/RoleInfoService.java

@@ -46,5 +46,13 @@ public interface RoleInfoService {
46 46
 	 * @return
47 47
 	 */
48 48
 	List<RoleInfo> getRoleTreeByOrg(Map<String,Object> map);
49
+	
50
+	/**
51
+	 * 验证角色名称是否可用
52
+	 * @param roleName
53
+	 * @param roleId
54
+	 * @return
55
+	 */
56
+	boolean validRoleName(String roleName,String roleId);
49 57
 
50 58
 }

+ 16 - 0
src/main/java/com/chinaitop/depot/system/service/impl/RoleInfoServiceImpl.java

@@ -3,6 +3,7 @@ package com.chinaitop.depot.system.service.impl;
3 3
 import com.chinaitop.depot.system.mapper.RoleInfoMapper;
4 4
 import com.chinaitop.depot.system.model.RoleInfo;
5 5
 import com.chinaitop.depot.system.model.RoleInfoExample;
6
+import com.chinaitop.depot.system.model.RoleInfoExample.Criteria;
6 7
 import com.chinaitop.depot.system.service.RoleInfoService;
7 8
 import org.springframework.stereotype.Service;
8 9
 
@@ -51,4 +52,19 @@ public class RoleInfoServiceImpl implements RoleInfoService {
51 52
 		return RoleInfoMapper.getRoleTreeByOrg(map);
52 53
 	}
53 54
 
55
+	@Override
56
+	public boolean validRoleName(String roleName,String roleId) {
57
+		RoleInfoExample example = new RoleInfoExample();
58
+		Criteria criteria = example.createCriteria();
59
+		if(roleId != null && !roleId.isEmpty()) {
60
+			criteria.andRoleIdNotEqualTo(Integer.parseInt(roleId));
61
+		}
62
+		criteria.andRoleNameEqualTo(roleName);
63
+		List<RoleInfo> list = RoleInfoMapper.selectByExample(example);
64
+		if (list.size() > 0) {
65
+			return false;
66
+		}
67
+		return true;
68
+	}
69
+
54 70
 }