1:controller
@ApiOperation(value = "1.1 批量角色删除", httpMethod = "GET", notes = " 说明:retCode 0:失败 1:成功 retDesc:状态描述 返回结果示例:{\"retCode\": 1,\"retDesc\": \"接口调用成功\",\"cost\": \"6\"}", response = String.class)
@RequestMapping(value = "/batchRemove" ,method = RequestMethod.GET, produces = "application/json;charset=UTF-8")
@BussinessLog(value = "删除角色", key = "roleIds", dict = Dict.ROLE)
@ResponseBody
public String batchRemove(@ApiParam(required = true, name = "roleIds", value = "角色ID集合,以逗号分割示例:1,3", defaultValue = "示例:1,3") @RequestParam(required = true) String roleIds) {
logger.info("batchRemove roleIds:{}",roleIds);
long begin = System.currentTimeMillis();
//默认返回成功
Map<String, Object> result = PassengerFlowCountingUIUtil.getSuccessResult();
if (StringUtils.isNotEmpty(roleIds)) {
//逗号分隔数组
String roleIdsArray[] = roleIds.split(",");
if (roleIdsArray != null && roleIdsArray.length > 0) {
for (String roleId : roleIdsArray) {
try {
roleService.deleteRole(Integer.parseInt(roleId));
} catch (Exception e) {
logger.error("batchRemove role errror roleID is:" + roleId, e);
throw new PassengerFlowBussinessException("删除角色ID:" + roleId + "发生错误!");
}
}
}
}
logger.info("batchRemove role costs:" + (System.currentTimeMillis() - begin) + " ms");
return PassengerFlowCountingUIUtil.toJSONString(result);
}
2:service:
/**
* 删除角色
* @param roleId 角色ID
*/
public void deleteRole(Integer roleId) {
roleDao.delRoleRefUser(roleId);
roleDao.delRoleRefMenu(roleId);
roleDao.deleteRole(roleId);
}
有个联动的删除 所以要一个一个删除(所以前台要传来一个字符串,要分割)