package com.xzx.gc.common.request;
|
|
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.io.IoUtil;
|
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.extra.servlet.ServletUtil;
|
import cn.hutool.http.useragent.UserAgent;
|
import cn.hutool.http.useragent.UserAgentUtil;
|
import cn.hutool.poi.excel.ExcelUtil;
|
import cn.hutool.poi.excel.ExcelWriter;
|
import com.sun.org.apache.regexp.internal.RE;
|
import com.xzx.gc.common.constant.CommonEnum;
|
import com.xzx.gc.common.utils.DateUtils;
|
import com.xzx.gc.common.utils.ExceptionUtils;
|
import com.xzx.gc.common.utils.MqUtil;
|
import com.xzx.gc.entity.CoreUser;
|
import com.xzx.gc.model.JsonResult;
|
import com.xzx.gc.util.BeanUtils;
|
import com.xzx.gc.util.SessionUtil;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.http.MediaType;
|
import org.springframework.web.bind.annotation.RequestBody;
|
|
import javax.servlet.ServletOutputStream;
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletResponse;
|
import java.io.IOException;
|
import java.nio.charset.Charset;
|
import java.util.Date;
|
import java.util.List;
|
|
/**
|
* @author :zz
|
*/
|
@Slf4j
|
public class BaseController<T> {
|
|
|
@Autowired
|
public MqUtil mqUtil;
|
|
public String getVersion(HttpServletRequest request){
|
return request.getHeader("version");
|
}
|
|
public String getClientType(HttpServletRequest request){
|
return request.getHeader("clientType");
|
}
|
|
public String getUserId(HttpServletRequest request){
|
return request.getHeader("userId");
|
|
}
|
|
|
|
/**
|
* 获取前端客户端类型
|
* @param request
|
* @return
|
*/
|
public String getFrontClient(HttpServletRequest request){
|
if (CommonEnum.安卓.getValue().equals(getClientType(request))||CommonEnum.苹果.getValue().equals(getClientType(request))) {
|
return CommonEnum.app.getValue();
|
}else {
|
return CommonEnum.小程序.getValue();
|
}
|
}
|
|
/**
|
* 是否是手机端
|
* @param request
|
* @return
|
*/
|
public boolean isMobile(HttpServletRequest request){
|
String frontClient = getFrontClient(request);
|
if(CommonEnum.app.getValue().equals(frontClient)){
|
return true;
|
}
|
return false;
|
}
|
|
|
/**
|
* 获取后台账户名称
|
* @param request
|
* @return
|
*/
|
public String getAdminName(HttpServletRequest request){
|
CoreUser obj = (CoreUser) request.getSession().getAttribute(SessionUtil.ACCESS_CURRENT_USER);
|
if(obj!=null){
|
return obj.getCode();
|
}
|
return "未知";
|
}
|
|
/**
|
* 导出
|
* @param rows
|
* @param response
|
*/
|
public void export(List<List<String>> rows, HttpServletResponse response){
|
ExcelWriter bigWriter = ExcelUtil.getBigWriter();
|
try {
|
response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
|
response.setHeader("Content-Disposition", bigWriter.getDisposition(DateUtil.format(new Date(), DateUtils.DATE_FORMAT_YMDHMS_LINE), Charset.forName("UTF-8")));
|
ServletOutputStream outputStream = response.getOutputStream();
|
bigWriter.write(rows);
|
bigWriter.flush(outputStream, true);
|
} catch (Exception e) {
|
log.error("导出异常终止:{}", e.getMessage());
|
}
|
}
|
|
|
}
|