123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188 |
- package com.inet.ailink.receiver.controller;
-
- import com.inet.ailink.receiver.common.enums.StatusCode;
- import com.inet.ailink.receiver.common.exception.BizException;
- import com.inet.ailink.receiver.common.utils.Base64TeaUitls;
- import com.inet.ailink.receiver.common.utils.JsonUtils;
- import com.inet.ailink.receiver.common.vo.Response;
- import com.inet.ailink.receiver.service.impl.SysAccoountServiceImpl;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.validation.BindingResult;
- import org.springframework.validation.FieldError;
-
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.io.IOException;
- import java.io.PrintWriter;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
-
- //import com.google.common.primitives.Bytes;
-
- public abstract class BaseController extends java.beans.PropertyEditorSupport
- {
- /**
- * 子类可以用这个Logger Log4J Logger for this class
- */
- protected final Logger log = LoggerFactory.getLogger(getClass());
-
- //系统统一的提示没有权限访问的界面
- protected static final String noRight_page="noRight";
-
- public final static String KEY_USER = "user";
-
- @Autowired
- private SysAccoountServiceImpl sysAccoountServiceImpl;
-
-
- /**
- * 写回加密数据
- * @param response
- * @param result
- * @throws IOException
- */
- public void writeOutResponse(HttpServletResponse response, Response<Object> result) throws IOException{
- response.setHeader("Access-Control-Allow-Origin","");
- response.setHeader("Access-Control-Allow-Credentials","");
- response.setHeader("Access-Control-Allow-Methods","");
- response.setHeader("Access-Control-Max-Age","");
- response.setHeader("Access-Control-Allow-Headers","");
- response.setHeader("X-Application-Context","");
- response.setHeader("Transfer-Encoding", "");
- PrintWriter out = response.getWriter();
- if(result.getData() != null){
- String dataValue = result.getData().toString();
- result.setData(Base64TeaUitls.encrypt(dataValue));
- }
- String resultJson = JsonUtils.toJson(result);
- response.setHeader("ResponseBodySize", resultJson.length()+"");
- out.write(resultJson);
- out.flush();
- out.close();
- }
-
- /**
- * 写回正常数据
- * @param response
- * @param result
- * @throws IOException
- */
- public void writeOutResponseNoEncrypt(HttpServletResponse response, Response<Object> result) throws IOException{
- response.setHeader("Access-Control-Allow-Origin","");
- response.setHeader("Access-Control-Allow-Credentials","");
- response.setHeader("Access-Control-Allow-Methods","");
- response.setHeader("Access-Control-Max-Age","");
- response.setHeader("Access-Control-Allow-Headers","");
- response.setHeader("X-Application-Context","");
- // response.setHeader("Transfer-Encoding", "chunked");
- //response.setBufferSize(result.toString().length());
- String resultJson = JsonUtils.toJson(result);
- response.setHeader("ResponseBodySize", resultJson.length()+"");
- PrintWriter out = response.getWriter();
- out.write(resultJson);
- out.flush();
- out.close();
- }
-
- /**
- * 写回任意原始数据
- * @param response
- * @param result
- * @throws IOException
- */
- public void writeOutResponseOld(HttpServletResponse response, String result) throws IOException{
- response.setHeader("Access-Control-Allow-Origin","");
- response.setHeader("Access-Control-Allow-Credentials","");
- response.setHeader("Access-Control-Allow-Methods","");
- response.setHeader("Access-Control-Max-Age","");
- response.setHeader("Access-Control-Allow-Headers","");
- response.setHeader("X-Application-Context","");
- response.setHeader("Transfer-Encoding", "");
- response.setHeader("ResponseBodySize", result.length()+"");
- PrintWriter out = response.getWriter();
- out.write(result);
- out.flush();
- out.close();
- }
-
- /**
- * 写回数据解析失败数据
- * @param response
- * @param result
- * @throws IOException
- */
- public void writeOutResponse(HttpServletResponse response, byte[] paramsByte) throws IOException {
- Response<Object> result = new Response<Object>();
- result.setStatus(paramsByte[0]+"");
- response.setHeader("Access-Control-Allow-Origin","");
- response.setHeader("Access-Control-Allow-Credentials","");
- response.setHeader("Access-Control-Allow-Methods","");
- response.setHeader("Access-Control-Max-Age","");
- response.setHeader("Access-Control-Allow-Headers","");
- response.setHeader("X-Application-Context","");
- response.setHeader("Transfer-Encoding", "");
- String resultJson = JsonUtils.toJson(result);
- response.setHeader("ResponseBodySize", resultJson.length()+"");
- PrintWriter out = response.getWriter();
- out.write(resultJson);
- out.flush();
- out.close();
-
- }
-
- /**
- * 校验参数是否为空
- * @param response
- * @param params
- * @throws IOException
- */
- public void checkParams(HttpServletResponse response, String params) throws IOException{
- Response<Object> result = new Response<Object>();
- if(params == null || params.isEmpty() || params.equals("")){
- result.setStatus(StatusCode.PARAM_EMPTY.getCode());
- writeOutResponse(response, result);
- }
- }
-
- /**
- * 解密数据
- * @param params
- * @return
- * @throws IOException
- */
- public byte[] decryptParams(HttpServletResponse response, String params) throws IOException{
- //解密数据失败
- byte[] paramsByte = new byte[]{};
- //数据格式不正确
- Map<String,String> paramsMap = new HashMap<String, String>();
- try {
- paramsMap = JsonUtils.fromJson(params, Map.class);
- // System.out.println("decryptParams() paramsMap: " + paramsMap);
- } catch (Exception e) {
- paramsByte = new byte[]{(byte) Integer.parseInt(StatusCode.PARAMS_JSON_ERROR.getCode())};
- // System.out.println("decryptParams() Exception: " + e);
- return paramsByte;
- }
- //关键参数字段获取失败
- String paramsValue = paramsMap.get("params");
- // System.out.println("decryptParams() paramsValue: " + paramsValue);
- if(paramsValue == null || paramsValue.equals("")){
- paramsByte = new byte[]{(byte) Integer.parseInt(StatusCode.PARAMS_JSON_KEY_ERROR.getCode())};
- return paramsByte;
- }
-
- try {
- paramsByte = Base64TeaUitls.decrypt(paramsValue);
- // System.out.println("decryptParams() paramsByte: " + paramsByte);
- } catch (Exception e) {
- paramsByte = new byte[]{(byte) Integer.parseInt(StatusCode.PARAMS_dECRYPT_ERROR.getCode())};
- // System.out.println("decryptParams() paramsByte2: " + paramsByte);
- return paramsByte;
- }
- return paramsByte;
- }
- }
-
|