Java接口参数校验及异常处理:同步考勤数据

该接口用于同步考勤数据,接收以下参数:

  • compCode: 公司代码(必填)
  • monthStr: 月结月份(必填)
  • empName: 员工姓名(可选)
  • empNum: 员工编号(可选)
public JsonResult syncAttendance(@RequestBody Map<String, String> map) {
  try {
    String compCode = map.get('compCode');
    String monthStr = map.get('monthStr');
    String empName = map.get('empName');
    String empNum = map.get('empNum');

    if (StringUtils.isBlank(compCode)) {
      return JsonResult.getErrorResult('公司代码不能为空');
    }
    if (StringUtils.isBlank(monthStr)) {
      return JsonResult.getErrorResult('月结月份不能为空');
    }

    MonthFinalQueryToSalaryDto monthFinalQueryToSalaryDto = new MonthFinalQueryToSalaryDto();
    monthFinalQueryToSalaryDto.setCompCode(compCode);
    monthFinalQueryToSalaryDto.setMonthStr(monthStr);

    JsonResult<List<MonthFinalPaperToSalaryVo>> monthFinalPaper = attendanceClient.getMonthFinalPaper(monthFinalQueryToSalaryDto);
    List<MonthFinalPaperToSalaryVo> data = monthFinalPaper.getData();

    return JsonResult.getSuccessResult(data);
  } catch (Exception e) {
    return JsonResult.getErrorResult('发生异常:' + e.getMessage());
  }
}

参数说明:

  • @RequestBody Map<String, String> map: 接收请求体中的参数,以键值对的形式存储。
  • StringUtils.isBlank(compCode): 判断公司代码是否为空,若为空,则返回错误信息。
  • StringUtils.isBlank(monthStr): 判断月结月份是否为空,若为空,则返回错误信息。
  • MonthFinalQueryToSalaryDto: 用于封装查询参数的类。
  • attendanceClient.getMonthFinalPaper(monthFinalQueryToSalaryDto): 调用考勤服务接口获取考勤数据。
  • JsonResult.getSuccessResult(data): 返回成功结果,包含考勤数据。
  • JsonResult.getErrorResult('发生异常:' + e.getMessage()): 捕获异常并返回错误信息。

接口调用示例:

{
  "compCode": "1670",
  "monthStr": "2023-08",
  "empName": "张三",
  "empNum": "123456"
}

返回值示例:

  • 成功:
{
  "code": 200,
  "message": "成功",
  "data": [
    // 考勤数据
  ]
}
  • 失败:
{
  "code": 500,
  "message": "发生异常:XXX"
}
Java接口参数校验及异常处理:同步考勤数据

原文地址: https://www.cveoy.top/t/topic/qvDJ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录