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

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"), JSON_ADDRESS("999","\\dataConfig\\homeQualitySet.json"),
//接收二级节点 //接收二级节点
MSG("201","Msg"), MSG("201","Msg"),
//错误日志编号
ERROR_CODE("500","12"),
//接收三级节点 //接收三级节点
// PAT_INFO("202","PatInfo"), // PAT_INFO("202","PatInfo"),
//静态文件根元素名 //静态文件根元素名

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