ButtonDetailAction.java
package com.mycim.webapp.actions.setting.security.button;
import com.fa.sesa.exception.Assert;
import com.fa.sesa.exception.Errors;
import com.fa.sesa.threadlocal.LocalContext;
import com.mycim.framework.utils.lang.StringUtils;
import com.mycim.valueobject.MessageIdList;
import com.mycim.valueobject.ObjectList;
import com.mycim.valueobject.consts.TransactionNames;
import com.mycim.valueobject.security.Button;
import com.mycim.webapp.actions.SystemSetupAction;
import com.mycim.webapp.forms.security.ButtonDetailForm;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
* 按钮定义功能
*
* @author Pinyan Song
* @version 0.0.1
* @since 2019-8-19 14:33
**/
public class ButtonDetailAction extends SystemSetupAction {
@Override
public ActionForward init(ActionMapping mapping, ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {
return mapping.getInputForward();
}
public List<Button> queryType(ButtonDetailForm theForm) {
Long menuRrn = getInstanceRrn(StringUtils.trim(theForm.getMenuId()), LocalContext.getFacilityRrn(),
ObjectList.MENU_KEY);
Assert.isFalse(menuRrn <= 0,
Errors.create().key(MessageIdList.MENU_MISSING_INSTANCERRN).content("菜单的instancerrn不存在!")
.build());
return securityService.getAllButtons(menuRrn);
}
public void addType(ButtonDetailForm detailForm) {
String buttonId = StringUtils.trimToUpperCase(detailForm.getButtonId());
String menuId = StringUtils.trimToUpperCase(detailForm.getMenuId());
String buttonDesc = detailForm.getButtonDesc();
Assert.isFalse(StringUtils.isEmpty(menuId),
Errors.create().key(MessageIdList.MENU_ID_NOT_EMPTY).content("菜单号不能为空!").build());
Assert.isFalse(StringUtils.isEmpty(buttonId),
Errors.create().key(MessageIdList.BUTTON_ID_NOT_EMPTY).content("Button Id cannot be empty!")
.build());
Assert.isFalse(StringUtils.isEmpty(buttonDesc),
Errors.create().key(MessageIdList.BUTTON_DESC_NOT_EMPTY).content("Button Desc cannot be empty!")
.build());
long buttonRrn = getInstanceRrn(buttonId, LocalContext.getFacilityRrn(), ObjectList.BUTTON_KEY);
Assert.isFalse(buttonRrn > 0,
Errors.create().key(MessageIdList.BUTTON_ID_ALREADY_EXISTS).content("按钮已存在!").build());
Long menuRrn = getInstanceRrn(menuId, LocalContext.getFacilityRrn(), ObjectList.MENU_KEY);
Assert.isFalse(menuRrn <= 0, Errors.create().key(MessageIdList.MENU_MISSING_ID).content("菜单号不存在!").build());
Button button = new Button(buttonId, getNamedSpace(ObjectList.BUTTON_KEY, LocalContext.getFacilityRrn()),
ObjectList.BUTTON_KEY);
button.setInstanceDesc(buttonDesc);
button.setMenuRrn(menuRrn);
button.setTransId("CREATE");
button.setTransPerformedby(LocalContext.getUserId());
securityService.addButton(button);
}
public void modifyType(ButtonDetailForm detailForm) {
String menuId = StringUtils.trimToUpperCase(detailForm.getMenuId());
Long menuRrn = getInstanceRrn(menuId, LocalContext.getFacilityRrn(), ObjectList.MENU_KEY);
Assert.isFalse(menuRrn <= 0, Errors.create().key(MessageIdList.MENU_MISSING_ID).content("菜单号不存在!").build());
String buttonId = StringUtils.trimToUpperCase(detailForm.getButtonId());
long buttonRrn = getInstanceRrn(buttonId, LocalContext.getFacilityRrn(), ObjectList.BUTTON_KEY);
Button button = new Button(buttonId, getNamedSpace(ObjectList.BUTTON_KEY, LocalContext.getFacilityRrn()),
ObjectList.BUTTON_KEY);
String buttonDesc = detailForm.getButtonDesc();
Assert.isFalse(StringUtils.isEmpty(buttonDesc),
Errors.create().key(MessageIdList.BUTTON_DESC_NOT_EMPTY).content("Button Desc cannot be empty!")
.build());
button.setInstanceRrn(buttonRrn);
button.setInstanceDesc(buttonDesc);
securityService.updateButton(button);
}
public void deleteType(ButtonDetailForm detailForm) {
String buttonId = StringUtils.trimToUpperCase(detailForm.getButtonId());
long buttonRrn = detailForm.getButtonRrn();
Button button = new Button(buttonId, getNamedSpace(ObjectList.BUTTON_KEY, LocalContext.getFacilityRrn()),
ObjectList.BUTTON_KEY);
button.setInstanceRrn(buttonRrn);
button.setTransId(TransactionNames.DELETE_KEY);
button.setTransPerformedby(LocalContext.getUserId());
securityService.deleteButton(button);
}
}