后端-排班接口功能


在这里插入图片描述

//上传排班信息

@PostMapping(“/saveSchedule”)

public Result saveSchedule(HttpServletRequest request){

//获取传递过来的科室信息

Map<String, String[]> requestMap = request.getParameterMap();

Map<String, Object> paramMap = HttpRequestHelper.switchMap(requestMap);

String hoscode = (String)paramMap.get(“hoscode”);

//签名校验

//1、获取医院传递过来的签名

String signKey = (String)paramMap.get(“sign”);

//2、获取医院签名

String hosSignKey = hospitalSetService.getSignKey(hoscode);

String hosSignKeyMD5 = MD5.encrypt(hosSignKey);

//3、如果两个签名不一致,则校验失败

if(!hosSignKeyMD5.equals(signKey)){

throw new YyghException(ResultCodeEnum.SIGN_ERROR);

}

//调用service方法

scheduleService.save(paramMap);

return Result.ok();

}

2.3、业务层


接口:

在这里插入图片描述

//上传排班信息

void save(Map<String, Object> paramMap);

实现类:

在这里插入图片描述

//上传排班信息

@Override

public void save(Map<String, Object> paramMap) {

//将数据转换成字符串

String paramMapString = JSONObject.toJSONString(paramMap);

//将字符串转换成对象

Schedule schedule = JSONObject.parseObject(paramMapString, Schedule.class);

//根据医院编号和排版编号查询

Schedule scheduleExist =

scheduleRepository.getScheduleByHoscodeAndHosScheduleId(schedule.getHoscode(),schedule.getHosScheduleId());

//scheduleExist不为空,修改操作

if(scheduleExist != null){

scheduleExist.setUpdateTime(new Date());

scheduleExist.setIsDeleted(0);

scheduleExist.setStatus(1);

scheduleRepository.save(scheduleExist);

}else{

//增加

schedule.setCreateTime(new Date());

schedule.setUpdateTime(new Date());

schedule.setIsDeleted(0);

schedule.setStatus(1);

scheduleRepository.save(schedule);

}

}

2.4、Repository


在这里插入图片描述

@Repository

public interface ScheduleRepository extends MongoRepository<Schedule,String> {

Schedule getScheduleByHoscodeAndHosScheduleId(String hoscode, String hosScheduleId);

}

3、查询排班信息接口

=========================================================================

3.1、需求


3.1.1、提交地址


http://localhost/api/hosp/schedule/list

3.1.2、请求参数


在这里插入图片描述

3.1.3、同步返回


在这里插入图片描述

3.2、控制层接口


在这里插入图片描述

//查询排班信息

@PostMapping(“/schedule/list”)

public Result getSchedule(HttpServletRequest request){

//获取传递过来的科室信息

Map<String, String[]> resultMap = request.getParameterMap();

Map<String, Object> paramMap = HttpRequestHelper.switchMap(resultMap);

//获取医院编号

String hoscode = (String)paramMap.get(“hoscode”);

//获取科室编号

String depcode = (String)paramMap.get(“depcode”);

//当前页和每页记录数

Integer page = StringUtils.isEmpty(paramMap.get(“page”)) ? 1:Integer.parseInt((String)paramMap.get(“page”));

Integer limit = StringUtils.isEmpty(paramMap.get(“limit”)) ? 1:Integer.parseInt((String)paramMap.get(“limit”));

//签名校验

//1、获取医院传递过来的签名

String signKey = (String)paramMap.get(“sign”);

//2、获取医院签名

String hosSignKey = hospitalSetService.getSignKey(hoscode);

String hosSignKeyMD5 = MD5.encrypt(hosSignKey);

//3、如果两个签名不一致,则校验失败

if(!hosSignKeyMD5.equals(signKey)){

throw new YyghException(ResultCodeEnum.SIGN_ERROR);

}

ScheduleQueryVo scheduleQueryVo = new ScheduleQueryVo();

scheduleQueryVo.setHoscode(hoscode);

scheduleQueryVo.setDoccode(depcode);

//调用service方法

Page pageModel = scheduleService.findPageSchedule(page,limit,scheduleQueryVo);

return Result.ok(pageModel);

}

3.3、业务层


接口:

在这里插入图片描述

//查询排班信息

Page findPageSchedule(Integer page, Integer limit, ScheduleQueryVo scheduleQueryVo);

实现类:

在这里插入图片描述

//查询排班信息

@Override

public Page findPageSchedule(Integer page, Integer limit, ScheduleQueryVo scheduleQueryVo) {

//设置分页信息

Pageable pageable = PageRequest.of(page,limit);

//创建Example对象

Schedule schedule = new Schedule();

BeanUtils.copyProperties(scheduleQueryVo,schedule);

schedule.setIsDeleted(0);

schedule.setStatus(1);

//设置查询规则

ExampleMatcher matcher = ExampleMatcher.matching()

.withStringMatcher(ExampleMatcher.StringMatcher.CONTAINING)

.withIgnoreCase(true);

Example example = Example.of(schedule,matcher);

//调用方法查询数据

Page all = scheduleRepository.findAll(example,pageable);

return all;

}

4、删除排班接口

=======================================================================

4.1、开发需求

=======================================================================

4.1.1、提交地址

http://localhost/api/hosp/department/remove

.

4.1.2、请求参数

在这里插入图片描述

4.1.3、同步返回

◎ 结果参数含义

在这里插入图片描述

4.2、控制层


在这里插入图片描述

//删除排班信息

@PostMapping(“/schedule/remove”)

public Result deleteSchedule(HttpServletRequest request){

//获取传递过来的科室信息

Map<String, String[]> resultMap = request.getParameterMap();

Map<String, Object> paramMap = HttpRequestHelper.switchMap(resultMap);

//获取医院编号和排班编号

String hoscode = (String)paramMap.get(“hoscode”);

String hosScheduleId = (String)paramMap.get(“hosScheduleId”);

//获取医院传递过来的签名

String hospSign = (String) paramMap.get(“sign”);

//从数据库中查询出平台中存放的医院签名

String signKey = hospitalSetService.getSignKey(hoscode);

String signKeyMD5 = MD5.encrypt(signKey);

if(!signKeyMD5.equals(hospSign)){

throw new YyghException(ResultCodeEnum.SIGN_ERROR);

}

scheduleService.remove(hoscode,hosScheduleId);

return Result.ok();

}

4.3、业务层


接口:

在这里插入图片描述

//删除排班信息

最后更多分享:前端字节跳动真题解析

CodeEnum.SIGN_ERROR);

}

scheduleService.remove(hoscode,hosScheduleId);

return Result.ok();

}

4.3、业务层


接口:

在这里插入图片描述

//删除排班信息

最后更多分享:前端字节跳动真题解析
  • [外链图片转存中…(img-xPdZqZjW-1718093199929)]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值