Commit bc51b08e by shiwenbo

同步接口增加修改各项数据的接口

parent 9dba739e
...@@ -144,25 +144,31 @@ public class SyncOaController { ...@@ -144,25 +144,31 @@ public class SyncOaController {
@RequestMapping(value = "/oa/addRoleToUser", method = RequestMethod.POST) @RequestMapping(value = "/oa/addRoleToUser", method = RequestMethod.POST)
public Object addRoleToUser(@RequestBody String body) { public Object addRoleToUser(@RequestBody String body) {
JSONObject paramData = new JSONObject(body); JSONObject paramData = new JSONObject(body);
JSONArray roleIds = paramData.getJSONArray("roleIds"); JSONArray roleIds = paramData.optJSONArray("roleIds");
JSONArray staffIds = paramData.getJSONArray("staffIds"); JSONArray staffIds = paramData.optJSONArray("staffIds");
JSONArray deptIds = paramData.getJSONArray("deptIds"); JSONArray deptIds = paramData.optJSONArray("deptIds");
List<String> roleTitleList = new ArrayList<String>(); List<String> roleTitleList = new ArrayList<String>();
List<String> staffNameList = new ArrayList<String>(); List<String> staffNameList = new ArrayList<String>();
for(int i = 0; i < roleIds.length(); i++) { if(null != roleIds) {
Optional<Role> role = roleService.get(UUID.fromString(roleIds.getString(i))); for(int i = 0; i < roleIds.length(); i++) {
if(role.isPresent()) { Optional<Role> role = roleService.get(UUID.fromString(roleIds.getString(i)));
roleTitleList.add(role.get().getTitle()); if(role.isPresent()) {
roleTitleList.add(role.get().getTitle());
}
} }
} }
for(int i = 0; i < staffIds.length(); i++) { if(null != staffIds) {
staffNameList.add(staffService.getById(UUID.fromString(staffIds.getString(i))).getString("name")); for(int i = 0; i < staffIds.length(); i++) {
staffNameList.add(staffService.getById(UUID.fromString(staffIds.getString(i))).getString("name"));
}
} }
for(int i = 0; i < deptIds.length(); i++) { if(null != deptIds) {
List<KObject> staffList = staffService.getByDept(UUID.fromString(deptIds.getString(i))); for(int i = 0; i < deptIds.length(); i++) {
for(int j = 0; j < staffList.size(); j++) { List<KObject> staffList = staffService.getByDept(UUID.fromString(deptIds.getString(i)));
if(staffNameList.contains(staffList.get(j).getString("name"))) { for(int j = 0; j < staffList.size(); j++) {
staffNameList.add(staffList.get(j).getString("name")); if(staffNameList.contains(staffList.get(j).getString("name"))) {
staffNameList.add(staffList.get(j).getString("name"));
}
} }
} }
} }
...@@ -187,4 +193,131 @@ public class SyncOaController { ...@@ -187,4 +193,131 @@ public class SyncOaController {
} }
return param.toString(); return param.toString();
} }
/**
* 修改组织
* @param body
* @return
*/
@ResponseBody
@RequestMapping(value = "/oa/modifyOrg", method = RequestMethod.POST)
public Object modifyOrg(@RequestBody String body) {
JSONObject paramData = new JSONObject(body);
String result = this.httpClientUtil.postJson(dnaOaUrl + "/oa/modifyOrg", paramData, "");
JSONObject param = new JSONObject(result);
String resultStr = param.optString("result");
if(resultStr.equals("fail")){
logger.error("向DNA服务修改组织时失败! "+ param.optString("errorMessage"));
}
return param.toString();
}
/**
* 修改用户
* @param body
* @return
*/
@ResponseBody
@RequestMapping(value = "/oa/modifyUser", method = RequestMethod.POST)
public Object modifyUser(@RequestBody String body) {
JSONObject paramData = new JSONObject(body);
JSONArray array = paramData.getJSONArray("datas");
JSONObject json = array.getJSONObject(0);
String departmentId = json.getString("departmentId");
KObject department = departmentService.getById(UUID.fromString(departmentId));
json.put("orgName", department.getString("name"));
json.put("orgLevel", department.getInt("level") + 1);
String result = this.httpClientUtil.postJson(dnaOaUrl + "/oa/modifyUser", paramData, "");
JSONObject param = new JSONObject(result);
String resultStr = param.optString("result");
if(resultStr.equals("fail")){
logger.error("向DNA服务修改用户时失败! "+ param.optString("errorMessage"));
} else {
String result2 = this.httpClientUtil.postJson(dnaOaUrl + "/oa/modifyStaff", paramData, "");
JSONObject param2 = new JSONObject(result2);
String resultStr2 = param2.optString("result");
if(resultStr2.equals("fail")){
logger.error("向DNA服务修改职员时失败! "+ param.optString("errorMessage"));
}
return param.toString();
}
return param.toString();
}
/**
* 修改角色
* @param body
* @return
*/
@ResponseBody
@RequestMapping(value = "/oa/modifyRole", method = RequestMethod.POST)
public Object modifyRole(@RequestBody String body) {
JSONObject paramData = new JSONObject(body);
String result = this.httpClientUtil.postJson(dnaOaUrl + "/oa/modifyRole", paramData, "");
JSONObject param = new JSONObject(result);
String resultStr = param.optString("result");
if(resultStr.equals("fail")){
logger.error("向DNA服务修改角色时失败! "+ param.optString("errorMessage"));
}
return param.toString();
}
/**
* 同步用户与角色关系
* @param body
* @return
*/
@ResponseBody
@RequestMapping(value = "/oa/removeRoleToUser", method = RequestMethod.POST)
public Object removeRoleToUser(@RequestBody String body) {
JSONObject paramData = new JSONObject(body);
JSONArray roleIds = paramData.optJSONArray("roleIds");
JSONArray staffIds = paramData.optJSONArray("staffIds");
JSONArray deptIds = paramData.optJSONArray("deptIds");
List<String> roleTitleList = new ArrayList<String>();
List<String> staffNameList = new ArrayList<String>();
if(null != roleIds) {
for(int i = 0; i < roleIds.length(); i++) {
Optional<Role> role = roleService.get(UUID.fromString(roleIds.getString(i)));
if(role.isPresent()) {
roleTitleList.add(role.get().getTitle());
}
}
}
if(null != staffIds) {
for(int i = 0; i < staffIds.length(); i++) {
staffNameList.add(staffService.getById(UUID.fromString(staffIds.getString(i))).getString("name"));
}
}
if(null != deptIds) {
for(int i = 0; i < deptIds.length(); i++) {
List<KObject> staffList = staffService.getByDept(UUID.fromString(deptIds.getString(i)));
for(int j = 0; j < staffList.size(); j++) {
if(staffNameList.contains(staffList.get(j).getString("name"))) {
staffNameList.add(staffList.get(j).getString("name"));
}
}
}
}
JSONObject paramData2 = new JSONObject();
JSONArray array = new JSONArray();
paramData2.put("datas", array);
for(int i = 0; i < roleTitleList.size(); i++) {
String roleTitle = roleTitleList.get(i);
for(int j = 0; j < staffNameList.size(); j++) {
String staffName = staffNameList.get(j);
JSONObject json = new JSONObject();
json.put("userName", staffName);
json.put("roleTitle", roleTitle);
array.put(json);
}
}
String result = this.httpClientUtil.postJson(dnaOaUrl + "/oa/removeRoleToUser", paramData2, "");
JSONObject param = new JSONObject(result);
String resultStr = param.optString("result");
if(resultStr.equals("fail")){
logger.error("向DNA服务同步用户与角色关系时失败! "+ param.optString("errorMessage"));
}
return param.toString();
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment