ResistRcpMappingAction.java

package com.mycim.webapp.actions.resistrcpmapping;

import com.fa.sesa.exception.Assert;
import com.fa.sesa.exception.Errors;
import com.fa.sesa.threadlocal.LocalContext;
import com.mycim.framework.jdbc.Page;
import com.mycim.framework.utils.lang.StringUtils;
import com.mycim.framework.utils.lang.collections.MapUtils;
import com.mycim.valueobject.MessageIdList;
import com.mycim.valueobject.ems.ResistRcpMapping;
import com.mycim.webapp.actions.ResistSetupAction;
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.HashMap;
import java.util.Map;

/**
 * Resist Recipe Mapping
 *
 * @author weike.li
 * @version 6.0.0
 * @date 2020/6/19
 **/
public class ResistRcpMappingAction extends ResistSetupAction {
    @Override
    public ActionForward init(ActionMapping mapping, ActionForm form, HttpServletRequest request,
                              HttpServletResponse response) throws Exception {
        return mapping.findForward("init");
    }

    public Map queryMappingByPage(Map argMap) {
        ResistRcpMapping mapping = new ResistRcpMapping();
        mapping.setResistNo(MapUtils.getString(argMap, "resistNo"));
        mapping.setCreateBy(MapUtils.getString(argMap, "createBy"));
        mapping.setModifyBy(MapUtils.getString(argMap, "modifyBy"));
        // mapping.setTransStartTime(MapUtils.getString(argMap, "startDate"));
        // mapping.setTransEndTime(MapUtils.getString(argMap, "endDate"));

        Page page = new Page(MapUtils.getInteger(argMap, "page"), MapUtils.getInteger(argMap, "limit"));
        page = resistService.qryResistRcpMappingByPage(mapping, page);
        Map pageJson = new HashMap();
        pageJson.put("totalItems", page.getTotalItems() + "");
        pageJson.put("items", page.getResults());
        return pageJson;
    }

    public void createMapping(ResistRcpMapping mapping) {
        validNotEmptyParam(mapping);
        mapping.setCreateBy(LocalContext.getUserId());
        //recipe的格式都是大写,这里也将字母转为大写
        mapping.setRecipe(StringUtils.trimToUpperCase(mapping.getRecipe()));
        resistService.addResistRcpMapping(mapping);
    }

    public void modifyMapping(ResistRcpMapping mapping) {
        validNotEmptyParam(mapping);
        mapping.setModifyBy(LocalContext.getUserId());
        mapping.setRecipe(StringUtils.trimToUpperCase(mapping.getRecipe()));
        resistService.modifyResistRcpMapping(mapping);
    }

    public void deleteMapping(ResistRcpMapping mapping) {
        resistService
                .deleteResistRcpMapping(mapping.getResistNo(),  mapping.getRecipe());
    }

    private void validNotEmptyParam(ResistRcpMapping mapping) {
        Assert.isFalse(StringUtils.isBlank(mapping.getResistNo()),
                       Errors.create().key(MessageIdList.RESIST_RESIST_MISSING).content("Resist not exist!").build());

        Assert.isFalse(StringUtils.isBlank(mapping.getRecipe()),
                       Errors.create().key(MessageIdList.RESIST_RCP_LETTER_MISSING)
                             .content("Rcp Letter cannot be empty!").build());
    }

}