Commit 9a5deae9 LN

提示信息语言切换,入库单增加模板下载,BUG修改

1 个父辈 b3c77f8b
......@@ -30,7 +30,7 @@ public class ResultBean<T> {
ResultBean result = new ResultBean();
result.setCode(code);
result.setMsgKey(msgKey);
result.setParams(params);
result.setMsg(MessageUtils.getText(msgKey, params, new Locale(SecurityUtils.getCurrentUserLanguage()), msg));
if (writeLog) {
log.info(result.getMsg());
......@@ -44,6 +44,7 @@ public class ResultBean<T> {
ResultBean result = new ResultBean();
result.setCode(0);
result.setMsgKey(msgKey);
result.setParams(params);
result.setMsg(MessageUtils.getText(msgKey, params, new Locale(SecurityUtils.getCurrentUserLanguage()), msg));
result.setData(data);
return result;
......@@ -53,6 +54,11 @@ public class ResultBean<T> {
return newOkResult("smfcore.ok", "ok", data);
}
public void updateLocal( Locale locale) {
String newMsg=MessageUtils.getText(getMsgKey(), getParams(), locale, getMsg());
setMsg(newMsg);
}
@ApiModelProperty("结果码,0为正常,其他值表示异常")
private int code;
@ApiModelProperty("提示消息国际化key")
......@@ -61,6 +67,8 @@ public class ResultBean<T> {
@ApiModelProperty("提示信息")
private String msg;
private String[] params;
private T data;
/**
......
package com.neotel.smfcore.common.service;
import com.neotel.smfcore.common.bean.ResultBean;
import lombok.extern.slf4j.Slf4j;
import org.springframework.core.MethodParameter;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.http.server.ServerHttpRequest;
import org.springframework.http.server.ServerHttpResponse;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice;
import java.util.List;
import java.util.Locale;
@Slf4j
@ControllerAdvice
public class CommonResponseAdvice implements ResponseBodyAdvice<Object> {
@Override
public boolean supports(MethodParameter returnType, Class converterType) {
return filter(returnType);
}
/**
* 根据返回类型来判断是否需要进行后续操作
* @param methodParameter
* @return
*/
private boolean filter(MethodParameter methodParameter) {
return true;
}
@Override
public Object beforeBodyWrite(Object body, MethodParameter returnType, MediaType selectedContentType, Class selectedConverterType, ServerHttpRequest request, ServerHttpResponse response) {
try {
//获取返回值类型
String returnClassType = returnType.getParameterType().getSimpleName();
//如果返回值类型为void,则默认返回成功
if ("void".equals(returnClassType)) {
return body;
} else if ("ResultBean".equals(returnClassType)) {
ResultBean resultBean = (ResultBean) body;
HttpHeaders headers = request.getHeaders();
List<Locale> locales = headers.getAcceptLanguageAsLocales();
if (locales != null && locales.size() > 0) {
resultBean.updateLocal(locales.get(0));
}
return resultBean;
// resultBean.updateLocal(request.getLocale());
}
} catch (Exception ex) {
log.error("CommonResponseAdvice beforeBodyWrite 出错:" + ex.toString());
}
return body;
}
}
......@@ -122,7 +122,7 @@ public class QrcodeUtils {
float[] columnWidths = { 0.6f, 1f};
table.setWidths(columnWidths);
table.addCell(new Phrase("Reel Id:", boldFont));
table.addCell(new Phrase("Reel ID:", boldFont));
table.addCell(new Phrase(qrcodeContent, boldFont));
Barcode barcode = barcodeManager.findByBarcode(qrcodeContent);
......
......@@ -24,6 +24,7 @@ import com.neotel.smfcore.core.inList.util.InListCache;
import com.neotel.smfcore.core.storage.enums.DeviceType;
import com.neotel.smfcore.core.storage.service.manager.IStorageManager;
import com.neotel.smfcore.core.storage.service.po.Storage;
import com.neotel.smfcore.core.system.bean.OrderSetting;
import com.neotel.smfcore.security.annotation.AnonymousAccess;
import com.neotel.smfcore.security.bean.FileProperties;
import io.swagger.annotations.Api;
......@@ -38,7 +39,9 @@ import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.*;
......@@ -226,6 +229,33 @@ public class InListController {
return ResultBean.newOkResult("smfcore.inlist.setOk", "设置成功", "");
}
@ApiOperation("下载入库单模板")
@GetMapping(value = "/downloadModel")
@PreAuthorize("@el.check('inList')")
public void downloadModel(HttpServletResponse response) throws IOException {
downloadInListModel(response);
}
public void downloadInListModel( HttpServletResponse response) throws IOException {
try {
List<Map<String, Object>> maps = new ArrayList<>();
List<String> titles = new ArrayList<>();
OrderSetting orderSetting = dataCache.getOrderSetting();
titles.add("PN");
titles.add("NUM");
for (int i = 1; i <= 5; i++) {
Map<String, Object> map = new LinkedHashMap<>();
map.put("PN", "PN" + i);
map.put("NUM", i * 1000);
maps.add(map);
}
FileUtil.downloadCSV(maps, titles, response);
} catch (Exception e) {
log.error("导出失败" + e.getMessage(), e);
}
}
private Map<String, List<InListItem>> readCsvFile(String fileName, String fileURL) {
......
......@@ -15,5 +15,6 @@ public class InListQueryCondition {
//状态,0=等待,1=异常,2=OK
@QueryCondition
private Integer status;
}
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!