package com.ysu.graduationproject.service.impl;
import com.aliyuncs.dysmsapi.model.v20170525.QuerySendDetailsResponse;
import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse;
import com.aliyuncs.exceptions.ClientException;
import com.ysu.graduationproject.common.ServerResponse;
import com.ysu.graduationproject.dao.*;
import com.ysu.graduationproject.po.*;
import com.ysu.graduationproject.service.IdoctorService;
import com.ysu.graduationproject.utils.GDSessionUtils;
import com.ysu.graduationproject.utils.GDUtils;
import com.ysu.graduationproject.utils.S_SmsDemo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpSession;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.UUID;
@Service
public class doctorServiceImpl implements IdoctorService {
private String doctorId = "931bd723-0d84-4f3e-b3d2-222a0dadba4c";
@Autowired
DoctorMapper doctorMapper;
@Autowired
PatientMapper patientMapper;
@Autowired
PatientcaseMapper patientcaseMapper;
@Autowired
DetailsMapper detailsMapper;
@Autowired
BasedetailMapper basedetailMapper;
@Autowired
MoredetailsMapper moredetailsMapper;
//医生的手机号是否已经注册过
//存在 true ,没有 false
public boolean isDoctorAlive(String phone){
Doctor doctor = doctorMapper.selectByPhone(phone);
if(GDUtils.isNull(doctor)){
return false;
}
return true;
}
//通过patientId找到detailsId
public String findDetailsId(String patientId){
return basedetailMapper.findDetailsId(patientId);
}
@Override
public ServerResponse doctorRegister(Doctor doctor) {
if(GDUtils.isNull(doctor)){
return ServerResponse.createServerResponseByFail("请填写用户信息");
}
if(GDUtils.isNull(doctor.getPhone())){
return ServerResponse.createServerResponseByFail("请填写电话号码");
}
if (isDoctorAlive(doctor.getPhone())) {
return ServerResponse.createServerResponseByFail("该手机号已经注册过");
}
if(GDUtils.isNull(doctor.getPassword())){
return ServerResponse.createServerResponseByFail("请填写密码");
}
doctor.setTableid(UUID.randomUUID().toString().trim());
int row = doctorMapper.insertSelective(doctor);
return ServerResponse.createServerResponseBySucces("注册成功",doctor);
}
@Override
public ServerResponse doctorLogin(Doctor doctor) {
if(GDUtils.isNull(doctor)){
return ServerResponse.createServerResponseByFail("请填写用户信息");
}
if (GDUtils.isNull(doctor.getPhone())){
return ServerResponse.createServerResponseByFail("请填写手机号");
}
if (GDUtils.isNull(doctor.getPassword())){
return ServerResponse.createServerResponseByFail("请填写密码");
}
if(!isDoctorAlive(doctor.getPhone())){
return ServerResponse.createServerResponseByFail("该手机号尚未注册");
}
Doctor doctorCheck = doctorMapper.selectByPhoneAndPassword(doctor);
if(GDUtils.isNull(doctorCheck)){
return ServerResponse.createServerResponseByFail("密码错误");
}
SimpleDateFormat df = new SimpleDateFormat("yyyy-mm-dd");
doctorCheck.setBirthdayS(df.format(doctorCheck.getBirthday()));
return ServerResponse.createServerResponseBySucces("登陆成功",doctorCheck);
}
@Override
public ServerResponse updateNumb(Doctor doctor, HttpSession session) {
doctor.setTableid(GDSessionUtils.getDoctorSession(session).getTableid());
int row = doctorMapper.updateByPrimaryKeySelective(doctor);
if(row<1){
return ServerResponse.createServerResponseByFail("更新失败");
}
return ServerResponse.createServerResponseBySucces("更新成功");
}
@Override
public ServerResponse selectPatient(HttpSession session) {
String doctorId = GDSessionUtils.getDoctorSession(session).getTableid();
List<Patient> patientList = patientMapper.selectPatientByDoctorId(doctorId);
SimpleDateFormat df = new SimpleDateFormat("yyyy-mm-dd");
for (Patient p:patientList) {
p.setBirthdayS(df.format(p.getBirthday()));
p.setBasedetail(basedetailMapper.selectRecentData(p.getTableid()));
}
if(GDUtils.isNull(patientList)){
return ServerResponse.createServerResponseByFail("您还没有患者");
}
return ServerResponse.createServerResponseBySucces("查询成功",patientList);
}
//医生查看单个病人的病例
@Override
public ServerResponse selectPatientCase(Patient patient) {
System.out.println("======================="+patient.getTableid());
if(GDUtils.isNull(patient)){
return ServerResponse.createServerResponseByFail("请填写信息");
}
if(GDUtils.isNull(patient.getTableid())){
return ServerResponse.createServerResponseByFail("请选择患者");
}
//病例编号信息
Patientcase patientcase = patientcaseMapper.selectByPatientId(patient.getTableid());
System.out.println("===========patientcase==============="+patientcase.getTableid());
if(GDUtils.isNull(patientcase)){
return ServerResponse.createServerResponseByFail("您还没有病例");
}
Details details = detailsMapper.selectByPrimaryKey(patientcase.getDetailsid());
patientcase.setDetails(details);
//个人信息
Patient patientTest = patientMapper.selectByPrimaryKey(patient.getTableid());
//日常数据信息
List<Basedetail> basedetailList = basedetailMapper.selectByDetailsId(patientcase.getDetailsid());
SimpleDateFormat df = new SimpleDateFormat("MM/dd");
for (Basedetail b :basedetailList) {
b.setCreatetimeS(df.format(b.getCreatetime()).toString().trim());
}
//高级数据信息
List<Moredetails> moredetailsList = moredetailsMapper.selectByDetailsId(patientcase.getDetailsid());
patientcase.setPatient(patientTest);
patientcase.setBasedetailList(basedetailList);
patientcase.setMoredetails(moredetailsList);
return ServerResponse.createServerResponseBySucces("查询成功",patientcase);
}
@Override
public ServerResponse updatePatientType(Patient patient) {
if(GDUtils.isNull(patient)){
return ServerResponse.createServerResponseByFail("请填写糖尿病类型信息");
}
int row = patientMapper.updateByPrimaryKeySelective(patient);
if(row<1){
return ServerResponse.createServerResponseByFail("更新失败");
}
return ServerResponse.createServerResponseBySucces("更新成功",patient);
}
@Override
public ServerResponse notifyPatient(Patient patient) {
//发短信
SendSmsResponse response = null;
try {
response = S_SmsDemo.sendSms(patient.getName(),patient.getPhone());
} catch (ClientException e) {
e.printStackTrace();
}
System.out.println("短信接口返回的数据----------------");
System.out.println("Code=" + response.getCode());
System.out.println("Message=" + response.getMessage());
System.out.println("RequestId=" + response.getRequestId());
System.out.println("BizId=" + response.getBizId());
try {
Thread.sleep(3000L);
} catch (InterruptedException e) {
e.printStackTrace();
}
//查明细
if(response.getCode() != null && response.getCode().equals("OK")) {
QuerySendDetailsRe
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 3、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。 糖尿病健康信息管理系统源码.zip
资源推荐
资源详情
资源评论
收起资源包目录
糖尿病健康信息管理系统源码.zip (57个子文件)
code_20105
mvnw.cmd 6KB
pom.xml 5KB
src
test
java
com
ysu
graduationproject
GraduationprojectApplicationTests.java 1KB
main
resources
MyBatisConfig.xml 5KB
application.yml 2KB
com
ysu
graduationproject
mapper
BasedetailMapper.xml 10KB
ResultMapper.xml 5KB
DoctorMapper.xml 6KB
PatientMapper.xml 8KB
PatientcaseMapper.xml 6KB
DetailsMapper.xml 8KB
MoredetailsMapper.xml 7KB
java
com
ysu
graduationproject
MySpringBootConfig.java 2KB
controller
doctorController.java 3KB
basedetailsController.java 1KB
resultController.java 1KB
patientController.java 3KB
utils
Message.java 3KB
S_SmsDemo.java 5KB
JsonUtils.java 3KB
DateUtils.java 1KB
GDSessionUtils.java 701B
GDUtils.java 3KB
dao
DetailsMapper.java 2KB
PatientcaseMapper.java 2KB
DoctorMapper.java 2KB
BasedetailMapper.java 2KB
ResultMapper.java 2KB
MoredetailsMapper.java 2KB
PatientMapper.java 2KB
cors
CorsConfig.java 1KB
CORSFilter.java 1KB
service
IpatientService.java 826B
IdoctorService.java 837B
IresultService.java 488B
impl
resultServiceImpl.java 2KB
basedetailsImpl.java 9KB
PatientServiceImpl.java 9KB
doctorServiceImpl.java 11KB
Ibasedetails.java 620B
common
ServerResponse.java 2KB
po
MoreDetailsVO.java 528B
Patientcase.java 9KB
Result.java 5KB
Moredetails.java 8KB
Patient.java 6KB
Details.java 7KB
PatientKey.java 2KB
Basedetail.java 8KB
Doctor.java 7KB
GraduationprojectApplication.java 446B
interceptor
Interceptor.java 2KB
.mvn
wrapper
maven-wrapper.properties 218B
maven-wrapper.jar 50KB
MavenWrapperDownloader.java 5KB
mvnw 10KB
.gitignore 333B
共 57 条
- 1
资源评论
土豆片片
- 粉丝: 1558
- 资源: 5641
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功