package com.example.mydemo1.controller;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.example.mydemo1.config.UserTheadLocal;
import com.example.mydemo1.domain.*;
import com.example.mydemo1.service.IDoctorService;
import com.example.mydemo1.service.IElderlyService;
import com.example.mydemo1.service.IFamilyService;
import com.example.mydemo1.service.IOrderService;
import com.example.mydemo1.utils.PageResult;
import com.example.mydemo1.utils.PageUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@Controller
@RequestMapping("/orderModule")
public class orderCtl {
@Autowired
private IOrderService orderService;
@Autowired
private IDoctorService doctorService;
@Autowired
private IFamilyService familyService;
@Autowired
private IElderlyService elderlyService;
@PostMapping("/save")
@ResponseBody
public void save(SysOrder order) {
SysUser sysUser = UserTheadLocal.get();
order.setUserId(sysUser.getUserId());
order.setCreateTime(new Date());
order.setCreateBy(sysUser.getUserName());
UserTheadLocal.remove();
orderService.saveOrder(order);
}
@PostMapping("/update")
@ResponseBody
public void update(SysOrder order) {
orderService.updateOrder(order);
}
//
//
// //getmapping传参法;
@PostMapping("/delete")
@ResponseBody
public void delete(@RequestParam Integer orderId) {
orderService.deleteOrder(orderId);
}
//
//多条件分页查询
@PostMapping("/queryDynamic")
@ResponseBody
public String queryDynamic(@RequestBody SysOrder dto) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
/**
* 多条件排序及多条件分页查询
*/
JSONObject result = new JSONObject();
SysUser sysUser = UserTheadLocal.get();
if (sysUser == null) {
result.put("rows", new ArrayList<>());
result.put("total", 0);
return result.toJSONString();
}
if (sysUser.getUsetRole().equals("2")) {
// dto.setUserId(sysUser.getUserId());
List<SysFamily> sysFamilies = familyService.getBaseMapper().selectList(new LambdaQueryWrapper<SysFamily>().eq(SysFamily::getUserId, sysUser.getUserId()));
List<Integer> userIds = new ArrayList<>();
if (CollectionUtils.isNotEmpty(sysFamilies)) {
userIds.addAll(sysFamilies.stream().mapToInt(SysFamily::getUserId).boxed().collect(Collectors.toList()));
List<Integer> elderlyIds = sysFamilies.stream().mapToInt(SysFamily::getRelationId).boxed().collect(Collectors.toList());
List<SysElderly> elderlyList = elderlyService.getBaseMapper().selectList(new LambdaQueryWrapper<SysElderly>().in(SysElderly::getElderlyId, elderlyIds));
if (CollectionUtils.isNotEmpty(elderlyList)) {
userIds.addAll(elderlyList.stream().mapToInt(SysElderly::getUserId).boxed().collect(Collectors.toList()));
}
}
dto.setUserIds(userIds);
} else if (sysUser.getUsetRole().equals("3")) {
//如果是医生账户,查询此账号关联的医生,医生只看分配给自己的订单
SysDoctor doctorQuery = new SysDoctor();
doctorQuery.setUserId(sysUser.getUserId());
List<SysDoctor> doctors = doctorService.getDoctorList(doctorQuery);
if (CollectionUtils.isNotEmpty(doctors)) {
List<Integer> doctorIds = doctors.stream().mapToInt(SysDoctor::getDoctorId).boxed().collect(Collectors.toList());
dto.setDoctorIds(doctorIds);
}
}
UserTheadLocal.remove();
List<SysUser> list = orderService.userList();
List<SysElderly> elderlies = orderService.elderlyList();
SysDoctor doctor = new SysDoctor();
List<SysDoctor> doctors = doctorService.getDoctorList(doctor);
List<SysOrder> pageinfo = orderService.getList(dto);
if (CollectionUtils.isNotEmpty(pageinfo)) {
for (SysOrder order : pageinfo) {
if (CollectionUtils.isNotEmpty(list)) {
List<SysUser> fList = list.stream().filter(f -> f.getUserId().equals(order.getUserId())).collect(Collectors.toList());
order.setUserName(fList.get(0).getUserName());
}
if (CollectionUtils.isNotEmpty(elderlies)) {
List<SysElderly> fElderlies = elderlies.stream().filter(f -> f.getUserId().equals(order.getUserId())).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(fElderlies)) {
order.setElderlyName(fElderlies.get(0).getName());
}
}
if (CollectionUtils.isNotEmpty(doctors)) {
List<SysDoctor> fDoctors = doctors.stream().filter(f -> f.getDoctorId().equals(order.getDoctorId())).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(fDoctors)) {
order.setDoctorName(fDoctors.get(0).getDoctorName());
}
}
if (order.getOrderStatus().equals("0")) {
order.setOrderStatus("未派单");
} else if (order.getOrderStatus().equals("1")) {
order.setOrderStatus("已分配");
} else if (order.getOrderStatus().equals("3")){
order.setOrderStatus("已完成");
}else {
order.setOrderStatus("待评价");
}
order.setOrderTimeStr(format.format(order.getOrderTime()));
}
}
PageResult<SysOrder> pageResult = PageUtil.toPageList(dto.getPage(), dto.getSize(), pageinfo);
//maven中配置alibaba的fastjson依赖
//"rows"和"total"这两个属性是为前端列表插件"bootstrap-table"服务的
result.put("rows", pageResult.getData());
result.put("total", pageResult.getTotal());
return result.toJSONString();
}
@GetMapping("/doctors")
@ResponseBody
public List<SysDoctor> doctors(@RequestParam Integer orderId) {
SysOrder sysOrder = orderService.getBaseMapper().selectById(orderId);
SysDoctor doctor = new SysDoctor();
doctor.setType(sysOrder.getType());
return doctorService.getDoctorList(doctor);
}
//查询医生评分列表
@PostMapping("/evaluation/list")
@ResponseBody
public String evaluationList(@RequestBody SysOrder dto) {
JSONObject result = new JSONObject();
//查询已完成的订单
List<SysOrder> orders = orderService.getListByStatus(dto);
if (CollectionUtils.isEmpty(orders)) {
result.put("rows", new ArrayList<>());
result.put("total", 0);
return result.toJSONString();
}
SysUser sysUser = UserTheadLocal.get();
if (sysUser == null) {
result.put("rows", new ArrayList<>());
result.put("total", 0);
return result.toJSONString();
}
Integer delFlag = 0;
if (sysUser.getUsetRole().equals("1")) {
delFlag = 1;
}
没有合适的资源?快使用搜索试试~ 我知道了~
基于javaweb的智慧养老管理系统源码+数据库(毕业设计).zip
共521个文件
xml:146个
html:108个
js:76个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 199 浏览量
2023-06-10
09:39:30
上传
评论 3
收藏 4.68MB ZIP 举报
温馨提示
基于javaweb的智慧养老管理系统源码+数据库(毕业设计).zip 高分设计项目,代码完整下载可用,纯手打高分设计,也可以作为期末大作业和课程设计,小白也可实战。 基于javaweb的智慧养老管理系统源码+数据库(毕业设计).zip 高分设计项目,代码完整下载可用,纯手打高分设计,也可以作为期末大作业和课程设计,小白也可实战。基于javaweb的智慧养老管理系统源码+数据库(毕业设计).zip 高分设计项目,代码完整下载可用,纯手打高分设计,也可以作为期末大作业和课程设计,小白也可实战。基于javaweb的智慧养老管理系统源码+数据库(毕业设计).zip 高分设计项目,代码完整下载可用,纯手打高分设计,也可以作为期末大作业和课程设计,小白也可实战。基于javaweb的智慧养老管理系统源码+数据库(毕业设计).zip 高分设计项目,代码完整下载可用,纯手打高分设计,也可以作为期末大作业和课程设计,小白也可实战。基于javaweb的智慧养老管理系统源码+数据库(毕业设计).zip 高分设计项目,代码完整下载可用,纯手打高分设计,也可以作为期末大作业和课程设计,小白也可实战。基于jav
资源推荐
资源详情
资源评论
收起资源包目录
基于javaweb的智慧养老管理系统源码+数据库(毕业设计).zip (521个子文件)
orderCtl.class 15KB
hNumberCtl.class 11KB
SysElderly.class 11KB
SysHealth.class 11KB
SysOrder.class 10KB
elderlyCtl.class 8KB
orderServiceImpl.class 8KB
SysFamily.class 8KB
HealNumServiceImpl.class 8KB
userCtl.class 7KB
familyServiceImpl.class 7KB
activity.class 6KB
doctorServiceImpl.class 6KB
elderlyServiceImpl.class 6KB
familyCtl.class 6KB
doctorCtl.class 6KB
userServiceImpl.class 6KB
SysDoctor.class 5KB
AjaxResult.class 5KB
JwtTokenUtils.class 4KB
SysUser.class 4KB
managerCtl.class 4KB
JSONUtils.class 4KB
ReceiveUploadFile.class 3KB
ParameterRequestWrapper.class 3KB
MyJwtInterceptor.class 3KB
loginCtl.class 3KB
SysUserLoginVo.class 3KB
InterceptorConfig.class 3KB
SysUserDto.class 2KB
UploadController.class 2KB
UserRoleEnum.class 2KB
activityServiceImpl.class 2KB
Page.class 2KB
PageUtil.class 2KB
PageResult.class 2KB
doctorUsingCtl.class 2KB
UserUsingCtl.class 1KB
IHealNumService.class 1KB
CustomException.class 1KB
IUserService.class 1KB
IElderlyService.class 1KB
UserTheadLocal.class 1020B
IFamilyService.class 1011B
IOrderService.class 1006B
SysFamilyMapper.class 960B
ActivityMapper.class 956B
IDoctorService.class 925B
Mydemo1Application.class 852B
SysOrderMapper.class 810B
SysElderlyMapper.class 756B
IActivityService.class 738B
SysDoctorMapper.class 678B
SysHealthMapper.class 678B
SysUserMapper.class 668B
JSONUtils$1.class 616B
JSONUtils$2.class 589B
Mydemo1ApplicationTests.class 546B
activityCtl.class 503B
commentCtl.class 499B
hDocCtl.class 487B
PassToken.class 469B
mvnw.cmd 7KB
custom.min.css 79KB
custom.min.css 79KB
upload.css 4KB
upload.css 4KB
nprogress.css 1KB
nprogress.css 1KB
.DS_Store 6KB
tables.html 31KB
tables.html 31KB
consult.html 13KB
consult.html 13KB
commonD.html 9KB
commonD.html 9KB
commonU.html 9KB
commonU.html 9KB
updateHealthDoc.html 8KB
updateHealthDoc.html 8KB
common.html 8KB
common.html 8KB
addHealthDoc.html 8KB
addHealthDoc.html 8KB
listHealthNumber.html 5KB
listHealthNumber.html 5KB
index.html 4KB
index.html 4KB
addActivity.html 4KB
addActivity.html 4KB
againLogin.html 4KB
againLogin.html 4KB
login.html 4KB
login.html 4KB
updateFamily.html 4KB
updateFamily.html 4KB
addFamily.html 4KB
addFamily.html 4KB
addHealthNumber.html 4KB
updateHealth.html 4KB
共 521 条
- 1
- 2
- 3
- 4
- 5
- 6
资源评论
猰貐的新时代
- 粉丝: 1w+
- 资源: 2886
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功