摘要:
删除签约医生信息
-
其中涉及到单张表( TbDoctor表,User表)
-
这个接口的设计思路:当后台管理中一个签约医生要退休了,不干了。我们将他的数据删除,删除了医生表外,还有一个user表中,有一条字段就是表示签约医生的,我们将刚刚删除的医生的id到user表中读取该医生签约的患者们,将他们的签约医生的id改为空
-
TbDoctorController
-
/**
* 删除签约医生
* @param doctorId
* @return
*/
-
-
ITbDoctorService
-
/**
* 删除医生信息
* @param doctorId
* @return
*/
public boolean delDoctorInfo(Long doctorId);
-
-
TbDoctorServiceImpl
-
/**
* 删除医生信息
* @param doctorId
* @return
*/
-
问题及解决
bug:userId为4的重复
问题分析:我在做删除医生接口的时候出现了bug,当一个签约医生的被删除时,原本属于这个签约的患者信息要修改,将这个user表中的doctorId清空。但是一直报这样的错误。
解决:后来我直接用原始的方法,将数据读取,再封装,然后删除数据,最后添加数据。这样就成功了
for (TbUser tbUser : list) {
LambdaQueryWrapper<TbUser> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(TbUser::getUserId,tbUser.getUserId());
TbUser one = iTbUserService.getOne(queryWrapper);
//封装数据
TbUser tbUser1 = new TbUser();
//拷贝实体类
BeanUtils.copyProperties(one,tbUser1);
tbUser1.setDoctorId(null);
remove1 = iTbUserService.remove(queryWrapper);
save = iTbUserService.save(tbUser1);
}
学习重点及理解
微信小程序登录接口
1、首先要到微信开发者工具中,注册一个AppId,数据邮箱和密码
-
如何得到了appid和secret,将其写入配置中
-
appId
-
-
代码写在DoctorController中
-
生成openId
-
-
绑定账号
-
/**
* //绑定这个用户的openId
* @param banDing
* @return
*/
-
-
创建了一个实体类(其中就要有openId,账号还有密码)
-
数据库中userId表,一些医生表也要加一个openId
-
总结
今天的状态是不错的,将其完成了用户端的登录接口,不过在删除医生信息这个接口上花费的时间很多,对于删除多个患者的签约医生时候,一直都删除一个,后来就用最老土的方法,先删在添加解决了这个问题。