首页>代码>新年新气象,云端的Java开源共享论坛 —— XLineCode 0.9.4 正式版发布!欢迎大家下载>/src/main/java/com/vertonur/admin/action/GroupUpdateAction.java
package com.vertonur.admin.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import com.vertonur.context.SystemContextService;
import com.vertonur.dms.GroupService;
import com.vertonur.dms.constant.ServiceEnum;
import com.vertonur.admin.form.GroupConfigForm;
import com.vertonur.common.OperactionCheckAction;
import com.vertonur.pojo.security.Group;
import com.vertonur.pojo.security.Group.GroupType;
public class GroupUpdateAction extends OperactionCheckAction {
@Override
public ActionForward processRequest(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
if (!isTokenValid(request)) {
ActionMessages errors = new ActionMessages();
errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
"error.doublesubmit"));
saveErrors(request, errors);
return mapping.getInputForward();
}
GroupService groupService = SystemContextService.getService()
.getDataManagementService(ServiceEnum.GROUP_SERVICE);
GroupConfigForm castedForm = (GroupConfigForm) form;
String action = request.getParameter("action");
if (action != null && "delete".equals(action)) {
int[] ids = castedForm.getGroupIds();
for (int id : ids)
groupService.deleteGroup(id);
return mapping.findForward("ToGroupList");
}
int groupId = castedForm.getGroupId();
String name = castedForm.getGroupName();
String description = castedForm.getGroupDesc().trim();
int parentGroupId = castedForm.getParentGroupId();
String groupType = castedForm.getGroupType();
Group parentGroup = groupService.getGroupById(parentGroupId);
Group group = groupService.getGroupById(groupId);
if (group == null) {
group = new Group();
group.setName(name);
group.setGroupType(GroupType.valueOf(groupType));
group.setDescription(description);
if (parentGroupId == 0) {
group.setNestedLevel(0);
} else {
group.setParent(parentGroup);
parentGroup.addSubGroup(group);
group.setNestedLevel(parentGroup.getNestedLevel() + 1);
}
groupService.saveGroup(group);
} else {
group.setName(name);
group.setDescription(description);
group.setGroupType(GroupType.valueOf(groupType));
Group originalParent = group.getParent();
if (parentGroupId == 0) {
if (originalParent != null)
originalParent.removeSubGroup(group);
group.setParent(null);
group.setNestedLevel(0);
} else {
if (originalParent == null) {
parentGroup.addSubGroup(group);
group.setParent(parentGroup);
group.setNestedLevel(parentGroup.getNestedLevel() + 1);
} else if (originalParent != null
&& originalParent.getId() != parentGroupId) {
originalParent.removeSubGroup(group);
parentGroup.addSubGroup(group);
group.setParent(parentGroup);
group.setNestedLevel(parentGroup.getNestedLevel() + 1);
}
}
groupService.updateGroup(group);
}
return mapping.findForward("ToGroupList");
}
}
最近下载更多
xieguirong LV2
2023年5月23日
微信网友_6006224956723200 LV1
2022年6月17日
小燕子飞飞飞 LV2
2022年6月8日
固安琪 LV2
2022年3月10日
17361631173 LV8
2022年2月14日
18201280876 LV1
2021年12月9日
王茜12131 LV1
2020年6月15日
低调人 LV38
2020年3月24日
EMkiller LV3
2020年2月26日
158293 LV1
2019年12月24日

最近浏览