添加配置与系统错误持久请求

首页签出2023/07/24
wyb 2 years ago
parent 38d6032c34
commit 17edf03886

@ -0,0 +1,15 @@
[
{
"hospital": "emr",
"wzh": "1"
},{
"hospital": "hl",
"wzh": "3"
},{
"hospital": "sy",
"wzh": "6"
},{
"hospital": "hz",
"wzh": "13"
}
]

@ -0,0 +1,77 @@
package com.docus.server.collection.config;
import com.docus.infrastructure.core.utils.TableJsonRead;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
*
*
* @author wyb
*/
public class SystemMappingConfig {
private static final String CONFIG_FILE_PATH = "dataConfig";
private static final String CONFIG_FILE_NAME = "System-Mapping.json";
private static volatile boolean FLUSH;
private static volatile SystemMappingConfig INSTANCE;
private final List<SystemMapping> systemMappingList;
@Override
public String toString() {
return "SystemMappingConfig{" +
"systemMappingList=" + systemMappingList +
'}';
}
private SystemMappingConfig() {
TableJsonRead jsonRead = new TableJsonRead();
List<SystemMapping> list = jsonRead.Read(CONFIG_FILE_PATH, CONFIG_FILE_NAME, ArrayList.class);
this.systemMappingList = list;
}
public static SystemMappingConfig getInstance() {
if (INSTANCE == null || FLUSH) {
synchronized (SystemMappingConfig.class) {
if (INSTANCE == null || FLUSH) {
INSTANCE = new SystemMappingConfig();
}
}
}
return INSTANCE;
}
/**
*
*/
public static void flush() {
FLUSH = true;
}
public List<SystemMapping> getSystemMappingList() {
return systemMappingList;
}
public static void main(String[] args) {
SystemMappingConfig instance = getInstance();
System.out.println(instance);
SystemMappingConfig instance2 = getInstance();
System.out.println(instance == instance2);
SystemMappingConfig.flush();
SystemMappingConfig instance3 = getInstance();
System.out.println(instance3 == instance2);
}
@Data
public static class SystemMapping {
/**
*
*/
private String hospital;
/**
*
*/
private String wzh;
}
}

@ -1,12 +1,14 @@
package com.docus.server.collection.controller;
import com.docus.core.util.Func;
import com.docus.infrastructure.core.exception.BaseException;
import com.docus.infrastructure.web.api.CommonResult;
import com.docus.infrastructure.web.api.ResultCode;
import com.docus.server.collection.converter.FirstPageCheckoutConverter;
import com.docus.server.collection.dto.FirstPageCheckoutInDTO;
import com.docus.server.collection.dto.FirstPageCheckoutRequest;
import com.docus.server.collection.service.MzZyHisService;
import com.docus.server.collection.util.PersistRequestUtil;
import com.docus.server.collection.validator.RequestValidator;
import com.docus.server.collection.validator.ValidateResult;
import com.docus.server.collection.validator.impl.FirstPageCheckoutRequestValidator;
@ -19,6 +21,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@Api("梅州中西HIS相关接口")
@Slf4j
@ -30,7 +33,8 @@ public class MzZyHisController {
@ApiOperation("首页签出")
@PostMapping("/firstPageCheckout")
public CommonResult<String> firstPageCheckout(@RequestBody FirstPageCheckoutRequest firstPageCheckoutRequest) {
public CommonResult<String> firstPageCheckout(@RequestBody FirstPageCheckoutRequest firstPageCheckoutRequest, HttpServletRequest servletRequest) {
String method = servletRequest.getRequestURI().replace("/", "_").replace("\\", "_");
log.info("首页签出接口参数:{}", Func.toJson(firstPageCheckoutRequest));
// 验证数据
RequestValidator validator = new FirstPageCheckoutRequestValidator(firstPageCheckoutRequest);
@ -41,8 +45,17 @@ public class MzZyHisController {
// 转换数据,业务处理
FirstPageCheckoutConverter converter = new FirstPageCheckoutConverter(firstPageCheckoutRequest);
FirstPageCheckoutInDTO checkoutInDTO = converter.req2dto();
mzZyHisService.firstPageCheckout(checkoutInDTO);
return CommonResult.success("操作成功!");
try {
mzZyHisService.firstPageCheckout(checkoutInDTO);
return CommonResult.success("操作成功!");
} catch (BaseException ex) {
log.error(ex.getMessage(), ex);
return CommonResult.failed(ex.getMessage());
} catch (Exception ex) {
log.error(ex.getMessage(), ex);
PersistRequestUtil.persistRequest(method,Func.toJson(firstPageCheckoutRequest));
return CommonResult.failed("系统出错啦,请稍后再试!");
}
}
}

@ -19,6 +19,6 @@ public class FirstPageCheckoutInDTO {
@ApiModelProperty("同步文件方式ALL 或者 BY_SYS_ID")
private FileSyncMethod syncMethod;
@ApiModelProperty("系统id")
@ApiModelProperty("系统id,当同步文件方式为 BY_SYS_ID 时,此值必传")
private List<String> sysId;
}

@ -14,6 +14,12 @@ public class MzZyHisServiceImpl implements MzZyHisService {
@Override
public void firstPageCheckout(FirstPageCheckoutInDTO dto) {
System.out.println(dto);
throw new RuntimeException("");
//验证基础数据是否存在
// if(!false){
// throw new BaseException("系统未找到患者数据!");
//
// }
// todo 首页签出处理逻辑
}
}

@ -0,0 +1,63 @@
package com.docus.server.collection.util;
import com.docus.core.util.DateUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.*;
import java.util.Date;
/**
* @author wyb
*/
public class PersistRequestUtil {
private final static Logger logger = LoggerFactory.getLogger(PersistRequestUtil.class);
public static void persistRequest(String method, String content) {
String persistDir = currentPath() + File.separator + "persist";
FileWriter fileWriter = null;
BufferedWriter bufferedWriter = null;
try {
File persistDirFile = new File(persistDir);
if (!persistDirFile.exists()) {
persistDirFile.mkdirs();
}
String persistFilePath = persistDir + File.separator + method;
fileWriter = new FileWriter(persistFilePath, true);
bufferedWriter = new BufferedWriter(fileWriter);
content = "[" + DateUtil.formatDateTime(new Date()) + "] " + content + "\n";
bufferedWriter.write(content);
} catch (Exception ex) {
logger.error(ex.getMessage(), ex);
} finally {
if (bufferedWriter != null) {
try {
bufferedWriter.close();
} catch (Exception ex) {
}
}
if (fileWriter != null) {
try {
fileWriter.close();
} catch (Exception ex) {
}
}
}
}
public static void main(String[] args) {
persistRequest("test","{xxcc}");
}
public static String currentPath() {
File dir = new File(".");
String currentpath = "";
try {
currentpath = dir.getCanonicalPath();
} catch (IOException var4) {
var4.printStackTrace();
}
return currentpath;
}
}
Loading…
Cancel
Save