新增错误日志记录,新增增加创建时间,修改增加修改时间

docus_webservice_1.1
lzy 4 years ago
parent 88118250d7
commit 639ac226a6

@ -0,0 +1,23 @@
package com.docus.webservice.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@Data
@ApiModel("错误日志表")
public class MrReportError {
@ApiModelProperty(value = "id")
@TableId(value = "id", type = IdType.ASSIGN_ID)
private Long id;
@ApiModelProperty("上报信息")
private String xml;
@ApiModelProperty("上报类型")
private Integer reportType;
@ApiModelProperty("上报时间")
private Date createTime;
}

@ -22,6 +22,8 @@ public enum Codes {
JSON_ADDRESS("999","\\dataConfig\\homeQualitySet.json"),
//接收二级节点
MSG("201","Msg"),
//错误日志编号
ERROR_CODE("500","12"),
//接收三级节点
// PAT_INFO("202","PatInfo"),
//静态文件根元素名

@ -2,22 +2,25 @@ package com.docus.webservice.handler;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.docus.webservice.dto.SelectColumn;
import com.docus.webservice.enums.Codes;
import com.docus.webservice.entity.MrReportError;
import com.docus.webservice.entity.TBasic;
import com.docus.webservice.entity.TBasicSub;
import com.docus.webservice.mapper.TBasicMapper;
import com.docus.webservice.mapper.TBasicSubMapper;
import com.docus.webservice.enums.Codes;
import com.docus.webservice.service.IMrReportErrorService;
import com.docus.webservice.service.ITBasicService;
import com.docus.webservice.utils.JsonUtils;
import com.docus.webservice.utils.ResultUtils;
import com.docus.webservice.utils.XmlUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import javax.jws.WebService;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.IOException;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -26,14 +29,19 @@ import java.util.Map;
public class TBasicWebService implements ITBasicWebService {
@Autowired
private TBasicMapper tBasicMapper;
private ITBasicService itBasicService;
@Autowired
private TBasicSubMapper tBasicSubMapper;
private IMrReportErrorService mrReportErrorService;
private String CurrentPath(){
/**
* jar
*
* @return
*/
private String CurrentPath() {
File dir = new File(".");
String currentpath ="";
String currentpath = "";
try {
currentpath = dir.getCanonicalPath();
} catch (IOException e) {
@ -42,6 +50,17 @@ public class TBasicWebService implements ITBasicWebService {
return currentpath;
}
/**
*
*/
private void insertLog(String xml) {
MrReportError mrReportError = new MrReportError();
mrReportError.setCreateTime(new Date());
mrReportError.setReportType(Integer.parseInt(Codes.ERROR_CODE.getMessage()));
mrReportError.setXml(xml);
mrReportErrorService.save(mrReportError);
}
@Override
public String savaAndSub(String tbasic) {
XmlUtils xmlUtils;
@ -49,7 +68,7 @@ public class TBasicWebService implements ITBasicWebService {
//解析xml
xmlUtils = new XmlUtils(new ByteArrayInputStream(tbasic.getBytes("UTF-8")));
//解析json映射文件
String json = JsonUtils.readJsonFile(CurrentPath()+Codes.JSON_ADDRESS.getMessage());
String json = JsonUtils.readJsonFile(CurrentPath() + Codes.JSON_ADDRESS.getMessage());
Map jsonMap = JSON.parseObject(json, Map.class);
HashMap<String, Object> tBasicMap = new HashMap<>();
HashMap<String, Object> tBasicSubMap = new HashMap<>();
@ -64,6 +83,7 @@ public class TBasicWebService implements ITBasicWebService {
}
if (StringUtils.isBlank(value)) {
if (selectColumn.getByNull() == 0) {
insertLog(tbasic);
return ResultUtils.fail(selectColumn.getQualityColumn() + " 字段不能为空值");
} else {
continue;
@ -79,28 +99,18 @@ public class TBasicWebService implements ITBasicWebService {
}
//处理业务
TBasic tBasic;
TBasicSub tBasicSub;
int insert;
if (tBasicMap != null && tBasicMap.size() > 0) {
tBasic = JSON.parseObject(JSON.toJSONString(tBasicMap), TBasic.class);
TBasic selectTBasic = tBasicMapper.selectOne(new QueryWrapper<TBasic>().eq("emp_id", tBasic.getEmpId()));
if (selectTBasic == null) {
//新增
insert = tBasicMapper.insert(tBasic);
if (insert <= 0) {
return ResultUtils.fail("数据库执行出错,请重试");
}
tBasicSub = JSON.parseObject(JSON.toJSONString(tBasicSubMap), TBasicSub.class);
tBasicSub.setPatientId(tBasic.getPatientId());
insert = tBasicSubMapper.insert(tBasicSub);
if (insert <= 0) {
return ResultUtils.fail("数据库执行出错,请重试");
}
} else {
return ResultUtils.fail("emp_id不能和已有的重复");
tBasic.setCreateTime(new Date());
try {
itBasicService.savaAndSub(tBasic, tBasicSubMap);
} catch (RuntimeException e) {
insertLog(tbasic);
return ResultUtils.fail(e.getMessage());
}
}else {
ResultUtils.fail("请提供完整的xml");
} else {
insertLog(tbasic);
return ResultUtils.fail("请提供完整的xml");
}
} catch (Exception e) {
e.printStackTrace();
@ -116,8 +126,7 @@ public class TBasicWebService implements ITBasicWebService {
//解析xml
xmlUtils = new XmlUtils(new ByteArrayInputStream(tbasic.getBytes("UTF-8")));
//解析json映射文件
String path=CurrentPath()+Codes.JSON_ADDRESS.getMessage();
System.out.println(path);
String path = CurrentPath() + Codes.JSON_ADDRESS.getMessage();
String json = JsonUtils.readJsonFile(path);
Map jsonMap = JSON.parseObject(json, Map.class);
HashMap<String, Object> tBasicMap = new HashMap<>();
@ -133,6 +142,7 @@ public class TBasicWebService implements ITBasicWebService {
}
if (StringUtils.isBlank(value)) {
if (selectColumn.getByNull() == 0) {
insertLog(tbasic);
return ResultUtils.fail(selectColumn.getQualityColumn() + " 字段不能为空值");
} else {
continue;
@ -148,38 +158,29 @@ public class TBasicWebService implements ITBasicWebService {
}
//处理业务
TBasic tBasic;
TBasicSub tBasicSub;
int insert;
if (tBasicMap != null && tBasicMap.size() > 0) {
tBasic = JSON.parseObject(JSON.toJSONString(tBasicMap), TBasic.class);
if(StringUtils.isBlank(tBasic.getEmpId())){
if (StringUtils.isBlank(tBasic.getEmpId())) {
insertLog(tbasic);
return ResultUtils.fail("emp_id字段不能为空值");
}
TBasic selectTBasic = tBasicMapper.selectOne(new QueryWrapper<TBasic>().eq("emp_id", tBasic.getEmpId()));
if(selectTBasic!=null){
insert = tBasicMapper.update(tBasic, new QueryWrapper<TBasic>().eq("emp_id", tBasic.getEmpId()));
if (insert <= 0) {
return ResultUtils.fail("数据库执行出错,请重试");
}
if (tBasicSubMap != null && tBasicSubMap.size() > 0) {
tBasicSub = JSON.parseObject(JSON.toJSONString(tBasicSubMap), TBasicSub.class);
tBasicSub.setPatientId(selectTBasic.getPatientId());
insert = tBasicSubMapper.updateById(tBasicSub);
if (insert <= 0) {
return ResultUtils.fail("数据库执行出错,请重试");
}
}
}else {
ResultUtils.fail("修改时,需提供有效的emp_id");
tBasic.setUpdateTime(new Date());
try {
itBasicService.updateAndSub(tBasic, tBasicSubMap);
} catch (RuntimeException e) {
insertLog(tbasic);
return ResultUtils.fail(e.getMessage());
}
}else {
ResultUtils.fail("请提供完整的xml");
} else {
insertLog(tbasic);
return ResultUtils.fail("请提供完整的xml");
}
}catch (Exception e) {
} catch (Exception e) {
e.printStackTrace();
return ResultUtils.fail();
}
return ResultUtils.success().asXML();
}
}

@ -0,0 +1,7 @@
package com.docus.webservice.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.docus.webservice.entity.MrReportError;
public interface MrReportErrorMapper extends BaseMapper<MrReportError> {
}

@ -0,0 +1,8 @@
package com.docus.webservice.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.docus.webservice.entity.MrReportError;
import com.docus.webservice.entity.TBasic;
public interface IMrReportErrorService extends IService<MrReportError> {
}

@ -0,0 +1,21 @@
package com.docus.webservice.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.docus.webservice.entity.TBasic;
import java.util.HashMap;
/**
* <p>
*
* </p>
*
* @author jiashi
* @since 2021-04-14
*/
public interface ITBasicService extends IService<TBasic> {
void savaAndSub(TBasic tBasic, HashMap<String, Object> tBasicSubMap);
void updateAndSub(TBasic tBasic, HashMap<String, Object> tBasicSubMap);
}

@ -0,0 +1,13 @@
package com.docus.webservice.service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.docus.webservice.entity.MrReportError;
import com.docus.webservice.mapper.MrReportErrorMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@Slf4j
@Service
public class MrReportErrorServiceImpl extends ServiceImpl<MrReportErrorMapper, MrReportError> implements IMrReportErrorService {
}

@ -0,0 +1,77 @@
package com.docus.webservice.service;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.docus.webservice.entity.TBasic;
import com.docus.webservice.entity.TBasicSub;
import com.docus.webservice.mapper.TBasicMapper;
import com.docus.webservice.mapper.TBasicSubMapper;
import com.docus.webservice.utils.ResultUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.HashMap;
/**
* <p>
*
* </p>
*
* @author jiashi
* @since 2021-04-14
*/
@Slf4j
@Service
public class TBasicServiceImpl extends ServiceImpl<TBasicMapper, TBasic> implements ITBasicService {
@Autowired
private TBasicMapper tBasicMapper;
@Autowired
private TBasicSubMapper tBasicSubMapper;
@Transactional
@Override
public void savaAndSub(TBasic tBasic, HashMap<String, Object> tBasicSubMap) {
TBasic selectTBasic = tBasicMapper.selectOne(new QueryWrapper<TBasic>().eq("emp_id", tBasic.getEmpId()));
if (selectTBasic == null) {
int insert = tBasicMapper.insert(tBasic);
if (insert <= 0) {
throw new RuntimeException("数据库执行出错,请重试");
}
TBasicSub tBasicSub = JSON.parseObject(JSON.toJSONString(tBasicSubMap), TBasicSub.class);
tBasicSub.setPatientId(tBasic.getPatientId());
insert = tBasicSubMapper.insert(tBasicSub);
if (insert <= 0) {
throw new RuntimeException("数据库执行出错,请重试");
}
} else {
throw new RuntimeException("emp_id不能和已有的重复");
}
}
@Override
public void updateAndSub(TBasic tBasic, HashMap<String, Object> tBasicSubMap) {
TBasic selectTBasic = tBasicMapper.selectOne(new QueryWrapper<TBasic>().eq("emp_id", tBasic.getEmpId()));
if (selectTBasic != null) {
int insert = tBasicMapper.update(tBasic, new QueryWrapper<TBasic>().eq("emp_id", tBasic.getEmpId()));
if (insert <= 0) {
throw new RuntimeException("数据库执行出错,请重试");
}
if (tBasicSubMap != null && tBasicSubMap.size() > 0) {
TBasicSub tBasicSub = JSON.parseObject(JSON.toJSONString(tBasicSubMap), TBasicSub.class);
tBasicSub.setPatientId(selectTBasic.getPatientId());
insert = tBasicSubMapper.updateById(tBasicSub);
if (insert <= 0) {
throw new RuntimeException("数据库执行出错,请重试");
}
}
} else {
throw new RuntimeException("ResultUtils.fail(\"修改时,需提供有效的emp_id\");");
}
}
}
Loading…
Cancel
Save