You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					160 lines
				
				4.8 KiB
			
		
		
			
		
	
	
					160 lines
				
				4.8 KiB
			| 
								 
											3 years ago
										 
									 | 
							
								package com.ynxbd.common.action.base;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								import com.ynxbd.common.helper.common.HttpHelper;
							 | 
						||
| 
								 | 
							
								import com.ynxbd.wx.wxfactory.ReqParamHelper;
							 | 
						||
| 
								 | 
							
								import org.apache.commons.lang3.StringUtils;
							 | 
						||
| 
								 | 
							
								import org.apache.struts2.ServletActionContext;
							 | 
						||
| 
								 | 
							
								import org.apache.struts2.action.ServletRequestAware;
							 | 
						||
| 
								 | 
							
								import org.apache.struts2.convention.annotation.ParentPackage;
							 | 
						||
| 
								 | 
							
								import org.slf4j.MDC;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								import javax.servlet.ServletContext;
							 | 
						||
| 
								 | 
							
								import javax.servlet.http.HttpServletRequest;
							 | 
						||
| 
								 | 
							
								import javax.servlet.http.HttpServletResponse;
							 | 
						||
| 
								 | 
							
								import javax.servlet.http.HttpSession;
							 | 
						||
| 
								 | 
							
								import java.io.IOException;
							 | 
						||
| 
								 | 
							
								import java.io.PrintWriter;
							 | 
						||
| 
								 | 
							
								import java.io.Serializable;
							 | 
						||
| 
								 | 
							
								import java.io.UnsupportedEncodingException;
							 | 
						||
| 
								 | 
							
								import java.math.BigDecimal;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * @author 王绍全
							 | 
						||
| 
								 | 
							
								 * @version v3.0.0
							 | 
						||
| 
								 | 
							
								 * @project:微信公众号
							 | 
						||
| 
								 | 
							
								 * @date 2022年02月21日下午12:39:32
							 | 
						||
| 
								 | 
							
								 * @copyright: 2022云南新八达科技有限公司 All rights reserved.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								@ParentPackage("default")
							 | 
						||
| 
								 | 
							
								public class BaseAction implements Serializable, ServletRequestAware {
							 | 
						||
| 
								 | 
							
								    private static final long serialVersionUID = 3878349193368881604L;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    protected HttpServletRequest request;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    protected HttpServletResponse response;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @Override
							 | 
						||
| 
								 | 
							
								    public void withServletRequest(HttpServletRequest request) {
							 | 
						||
| 
								 | 
							
								        try {
							 | 
						||
| 
								 | 
							
								            request.setCharacterEncoding("utf-8");
							 | 
						||
| 
								 | 
							
								            MDC.remove("ip");
							 | 
						||
| 
								 | 
							
								            MDC.put("ip", HttpHelper.getIpAddress(request));
							 | 
						||
| 
								 | 
							
								        } catch (UnsupportedEncodingException e) {
							 | 
						||
| 
								 | 
							
								            e.printStackTrace();
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        this.request = request;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        HttpServletResponse response = ServletActionContext.getResponse();
							 | 
						||
| 
								 | 
							
								        response.setContentType("application/json;charset=utf-8");
							 | 
						||
| 
								 | 
							
								        /* 允许跨域的主机地址 */
							 | 
						||
| 
								 | 
							
								        response.setHeader("Access-Control-Allow-Origin", "*");
							 | 
						||
| 
								 | 
							
								        /* 允许跨域的请求方法GET, POST, HEAD 等 */
							 | 
						||
| 
								 | 
							
								        response.setHeader("Access-Control-Allow-Methods", "*");
							 | 
						||
| 
								 | 
							
								        /* 重新预检验跨域的缓存时间 (s) */
							 | 
						||
| 
								 | 
							
								        response.setHeader("Access-Control-Max-Age", "3600");
							 | 
						||
| 
								 | 
							
								        /* 允许跨域的请求头 */
							 | 
						||
| 
								 | 
							
								        response.setHeader("Access-Control-Allow-Headers", "*");
							 | 
						||
| 
								 | 
							
								        /* 是否携带cookie */
							 | 
						||
| 
								 | 
							
								        response.setHeader("Access-Control-Allow-Credentials", "true");
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    protected HttpServletRequest getRequest() {
							 | 
						||
| 
								 | 
							
								        return ServletActionContext.getRequest();
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    protected HttpServletResponse getResponse() {
							 | 
						||
| 
								 | 
							
								        return ServletActionContext.getResponse();
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    protected HttpSession getSession() {
							 | 
						||
| 
								 | 
							
								        return this.getRequest().getSession();
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    protected ServletContext getServletContext() {
							 | 
						||
| 
								 | 
							
								        return ServletActionContext.getServletContext();
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    protected String getString(String param) {
							 | 
						||
| 
								 | 
							
								        String parameter = this.request.getParameter(param);
							 | 
						||
| 
								 | 
							
								        if ("".equals(parameter)) {
							 | 
						||
| 
								 | 
							
								            return null;
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        return parameter;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    protected String getDecodeString(String param) {
							 | 
						||
| 
								 | 
							
								        return ReqParamHelper.decode(param);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    protected Integer getInteger(String param) {
							 | 
						||
| 
								 | 
							
								        try {
							 | 
						||
| 
								 | 
							
								            String val = this.request.getParameter(param);
							 | 
						||
| 
								 | 
							
								            return StringUtils.isEmpty(val) ? null : Integer.valueOf(val);
							 | 
						||
| 
								 | 
							
								        } catch (Exception e) {
							 | 
						||
| 
								 | 
							
								            return null;
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    protected Long getLong(String param) {
							 | 
						||
| 
								 | 
							
								        try {
							 | 
						||
| 
								 | 
							
								            String val = this.request.getParameter(param);
							 | 
						||
| 
								 | 
							
								            return StringUtils.isEmpty(val) ? null : Long.valueOf(val);
							 | 
						||
| 
								 | 
							
								        } catch (Exception e) {
							 | 
						||
| 
								 | 
							
								            return null;
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    protected Double getDouble(String param) {
							 | 
						||
| 
								 | 
							
								        try {
							 | 
						||
| 
								 | 
							
								            String val = this.request.getParameter(param);
							 | 
						||
| 
								 | 
							
								            return StringUtils.isEmpty(val) ? null : Double.valueOf(val);
							 | 
						||
| 
								 | 
							
								        } catch (Exception e) {
							 | 
						||
| 
								 | 
							
								            return null;
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    protected BigDecimal getBigDecimal(String param) {
							 | 
						||
| 
								 | 
							
								        try {
							 | 
						||
| 
								 | 
							
								            String val = this.request.getParameter(param);
							 | 
						||
| 
								 | 
							
								            return StringUtils.isEmpty(val) ? null : new BigDecimal(val);
							 | 
						||
| 
								 | 
							
								        } catch (Exception e) {
							 | 
						||
| 
								 | 
							
								            return null;
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    protected Boolean getBoolean(String param) {
							 | 
						||
| 
								 | 
							
								        try {
							 | 
						||
| 
								 | 
							
								            String val = this.request.getParameter(param);
							 | 
						||
| 
								 | 
							
								            return StringUtils.isEmpty(val) ? null : Boolean.valueOf(val);
							 | 
						||
| 
								 | 
							
								        } catch (Exception e) {
							 | 
						||
| 
								 | 
							
								            return null;
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * 设置响应内容
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param message 响应信息
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    protected String respEnd(String message) {
							 | 
						||
| 
								 | 
							
								        HttpServletResponse response = this.getResponse();
							 | 
						||
| 
								 | 
							
								        response.setContentType("application/json;charset=utf-8");
							 | 
						||
| 
								 | 
							
								        try (PrintWriter pw = response.getWriter()) {
							 | 
						||
| 
								 | 
							
								            pw.write(message);
							 | 
						||
| 
								 | 
							
								            pw.flush();
							 | 
						||
| 
								 | 
							
								        } catch (IOException e) {
							 | 
						||
| 
								 | 
							
								            e.printStackTrace();
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        return "SUCCESS";
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								}
							 |