diff --git a/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/model/vo/CareUserVO.java b/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/model/vo/CareUserVO.java new file mode 100644 index 0000000..fc64c95 --- /dev/null +++ b/functional-modules/xj-anyan-api/src/main/java/com/renkang/anyan/model/vo/CareUserVO.java @@ -0,0 +1,20 @@ +package com.renkang.anyan.model.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class CareUserVO { + private String userId; + @Schema(title = "关爱联络员姓名") + private String careLiaisonName; + @Schema(title = "关爱联络员电话") + private String careLiaisonPhone; + @Schema(title = "关爱联络员职务") + private String careLiaisonJob; + @Schema(title = "急救人员姓名") + private String lifeguardName; + @Schema(title = "急救人员电话") + private String lifeguardPhone; + +} diff --git a/health-emergency/health-emergency-api/src/main/java/com/renkang/emergency/bean/request/EmergencySocket.java b/health-emergency/health-emergency-api/src/main/java/com/renkang/emergency/bean/request/EmergencySocket.java index 3f5f269..de92565 100644 --- a/health-emergency/health-emergency-api/src/main/java/com/renkang/emergency/bean/request/EmergencySocket.java +++ b/health-emergency/health-emergency-api/src/main/java/com/renkang/emergency/bean/request/EmergencySocket.java @@ -28,7 +28,7 @@ public class EmergencySocket { private List hospitalList; private String type; private String centerId; - @Schema(title = "1:紧急求助 2:云坐席 3:终端报警") + @Schema(title = "0:120 1:紧急求助 2:云坐席 3:终端报警") private Integer popType; private String queue; private String noticeId; diff --git a/health-emergency/health-emergency-biz/pom.xml b/health-emergency/health-emergency-biz/pom.xml index 5a31bc8..47da39e 100644 --- a/health-emergency/health-emergency-biz/pom.xml +++ b/health-emergency/health-emergency-biz/pom.xml @@ -32,6 +32,10 @@ com.renkang xj-anyan-api + + com.renkang + health-watch-api + diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/api/service/impl/EmergencyApiServiceImpl.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/api/service/impl/EmergencyApiServiceImpl.java index a73c624..0b85df9 100644 --- a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/api/service/impl/EmergencyApiServiceImpl.java +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/api/service/impl/EmergencyApiServiceImpl.java @@ -688,14 +688,17 @@ public class EmergencyApiServiceImpl implements EmergencyApiService { order.setSalvageUserIdCard(loginUser.getIdCard()); order.setSalvageUserDepart(loginUser.getOrgCode()); order.setSalvageUserAvatar(loginUser.getAvatar()); + // 大屏推送及发送短信 + EmergencySocket socket = new EmergencySocket(); // 如果是120 插入应急中心 if (StrUtil.isBlank(emergencyCall.getCenterId()) && EmergencyConstants.CALL_TYPE_0.equals(emergencyCall.getCallType())) { Call call = officerOnDuty(); order.setCenterId(call.getCenterId()); + socket.setPopType(0); + }else { + socket.setPopType(1); } orderMapper.insert(order); - // 大屏推送及发送短信 - EmergencySocket socket = new EmergencySocket(); socket.setType(emergencyCall.getCallType()); socket.setCenterId(emergencyCall.getCenterId()); socket.setOrgCode(loginUser.getOrgCode()); diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/api/service/impl/EmergencyResourceApiServiceImpl.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/api/service/impl/EmergencyResourceApiServiceImpl.java index 812e68a..32168ef 100644 --- a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/api/service/impl/EmergencyResourceApiServiceImpl.java +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/api/service/impl/EmergencyResourceApiServiceImpl.java @@ -1,21 +1,20 @@ package com.renkang.emergency.api.service.impl; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.renkang.emergency.api.service.EmergencyResourceApiService; import com.renkang.emergency.bean.common.ResourceExt; import com.renkang.emergency.bean.response.ResourceHome; import com.renkang.emergency.constant.EmergencyConstants; -import com.renkang.emergency.entity.EmergencyHealthRoom; -import com.renkang.emergency.entity.EmergencyResourceDO; -import com.renkang.emergency.entity.Order; -import com.renkang.emergency.entity.Resource; +import com.renkang.emergency.entity.*; import com.renkang.emergency.manager.EmergencyCloudManager; import com.renkang.emergency.manager.ResourceManager; import com.renkang.emergency.mapper.OrderMapper; import com.renkang.emergency.mapper.ResourceMapper; import com.renkang.emergency.service.IEmergencyHealthRoomService; +import com.renkang.emergency.service.IXjAedService; import com.renkang.emergency.util.ResourceUtils;; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; @@ -50,6 +49,8 @@ public class EmergencyResourceApiServiceImpl implements EmergencyResourceApiServ private ResourceMapper resourceMapper; @Autowired private IEmergencyHealthRoomService roomService; + @Autowired + private IXjAedService xjAedService; @Autowired private ISysBaseAPI sysBaseAPI; @@ -71,7 +72,23 @@ public class EmergencyResourceApiServiceImpl implements EmergencyResourceApiServ // 字典数据 List dictItems = emergencyCloudManager.getDictItems(EmergencyConstants.EMERGENCY_RESOURCE_TYPE_DICT); - +// home.setDicts(dictItems); +// if ("4".equals(type)) { +// List list = xjAedService.list(); +// List extList = new ArrayList<>(); +// for (XjAed xjAed : list) { +// ResourceExt ext = new ResourceExt(); +// BeanUtil.copyProperties(xjAed, ext); +// ext.setName(xjAed.getName()); +// ext.setAddress(xjAed.getAddress()); +// ext.setLatitude(xjAed.getLatitude()); +// ext.setLongitude(xjAed.getLongitude()); +// extList.add(ext); +// } +// home.setResources(extList); +// } else { +// +// } if (ObjectUtils.isEmpty(longitude) || ObjectUtils.isEmpty(latitude)) { if (!"3".equals(type)) { home.setDicts(dictItems); diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/api/service/impl/LargeScreenImpl.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/api/service/impl/LargeScreenImpl.java index f4c4247..32fd7b7 100644 --- a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/api/service/impl/LargeScreenImpl.java +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/api/service/impl/LargeScreenImpl.java @@ -230,7 +230,6 @@ public class LargeScreenImpl { ListUser listUser = new ListUser(); listUser.setUserIds(Collections.singletonList(sysUser.getId())); List exList = sysBaseAPI.listEmployeeUserByIds(listUser); - socket.setPopType(1); socket.setUserId(sysUser.getId()); socket.setRealName(sysUser.getRealname()); socket.setAge(sysUser.getAge()); diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/controller/LargeScreenNewController.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/controller/LargeScreenNewController.java index c065f35..9fbf898 100644 --- a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/controller/LargeScreenNewController.java +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/controller/LargeScreenNewController.java @@ -1,6 +1,7 @@ package com.renkang.emergency.largeScreen.controller; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.renkang.anyan.model.dto.HealthRoomDTO; import com.renkang.anyan.model.dto.HealthSignListParam; import com.renkang.anyan.model.dto.MedicalAbnormalDTO; @@ -9,14 +10,8 @@ import com.renkang.emergency.entity.TblBaseHospitalVo; import com.renkang.emergency.entity.dto.*; import com.renkang.emergency.entity.vo.DataDetailVO; import com.renkang.emergency.entity.vo.MedicalDataVO; -import com.renkang.emergency.largeScreen.entity.dto.HealthRoomBaseDTO; -import com.renkang.emergency.largeScreen.entity.dto.HealthSignDTO; -import com.renkang.emergency.largeScreen.entity.dto.MedicalAbnormalStatisticsDTO; -import com.renkang.emergency.largeScreen.entity.dto.MedicalPeopleNumStatisticsDTO; -import com.renkang.emergency.largeScreen.entity.vo.HealthRoomVO; -import com.renkang.emergency.largeScreen.entity.vo.HealthSignVO; -import com.renkang.emergency.largeScreen.entity.vo.HospitalVO; -import com.renkang.emergency.largeScreen.entity.vo.LargeScreenMap; +import com.renkang.emergency.largeScreen.entity.dto.*; +import com.renkang.emergency.largeScreen.entity.vo.*; import com.renkang.emergency.largeScreen.service.ILargeScreenDataService; import com.renkang.emergency.largeScreen.service.ILargeScreenService; import com.renkang.emergency.service.ITbUserHelpMacService; @@ -253,4 +248,33 @@ public class LargeScreenNewController { return Result.ok(largeScreenDataService.nearResources(longitude,latitude)); } + /** + * 今日应急 + * @param dto 参数 + * @return vo + */ + @PostMapping("todayEmergencyList") + public Result> todayEmergencyList(@RequestBody TodayEmergencyDTO dto){ + return Result.ok(largeScreenDataService.todayEmergencyList(dto)); + } + + /** + * 健康档案 + * @param userId 用户id + * @return vo + */ + @GetMapping("healthArchives") + public Result healthArchives(@RequestParam(name = "userId") String userId){ + return Result.ok(largeScreenDataService.healthArchives(userId)); + } + + /** + * 获取应急及关爱人员 + * @param userId + * @return + */ + @GetMapping("careUser") + public Result careUser(@RequestParam(name = "userId") String userId){ + return Result.ok(largeScreenDataService.careUser(userId)); + } } diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/dto/TodayEmergencyDTO.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/dto/TodayEmergencyDTO.java new file mode 100644 index 0000000..159da3f --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/dto/TodayEmergencyDTO.java @@ -0,0 +1,36 @@ +package com.renkang.emergency.largeScreen.entity.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +@Data +public class TodayEmergencyDTO { + /** + * 开始时间 + */ + @Schema(title = "开始时间") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date startDate; + /** + *结束时间 + */ + @Schema(title = "结束时间") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date endDate; + /** + * pageNo + */ + @Schema(title = "pageNo") + private Integer pageNo = 1; + /** + * pageSize + */ + @Schema(title = "pageSize") + private Integer pageSize = 10; +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/HealthArchivesVO.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/HealthArchivesVO.java new file mode 100644 index 0000000..e6b80f1 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/HealthArchivesVO.java @@ -0,0 +1,32 @@ +package com.renkang.emergency.largeScreen.entity.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class HealthArchivesVO { + @Schema(title = "BMI") + private String bmi; + @Schema(title = "尿酸") + private String ua; + @Schema(title = "血同型半胱氨酸") + private String hcy; + @Schema(title = "空腹葡萄糖") + private String glu; + @Schema(title = "目测收缩压监测值") + private String sbp; + @Schema(title = "目测舒张压监测值") + private String dbp; + @Schema(title = "总胆固醇") + private String tc; + @Schema(title = "甘油三酯") + private String tg; + @Schema(title = "低密度脂蛋白") + private String ldl; + @Schema(title = "既往史") + private String pastHistory; + @Schema(title = "手术史") + private String surgicalHistory; + @Schema(title = "用药史") + private String medicationHistory; +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/TodayEmergencyVO.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/TodayEmergencyVO.java new file mode 100644 index 0000000..f927069 --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/entity/vo/TodayEmergencyVO.java @@ -0,0 +1,52 @@ +package com.renkang.emergency.largeScreen.entity.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.renkang.emergency.entity.TblQimoNotice; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.jeecg.common.aspect.annotation.Dict; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.util.Date; + +@Data +public class TodayEmergencyVO { + @Schema(title = "userId") + private String userId; + @Schema(title = "姓名") + private String realName; + @Schema(title = "0:120 1:紧急求助 2:云坐席 3:终端报警") + private String emergencyType; + @Schema(title = "事件类型(emergencyType=3 才有值)") + @Dict(dicCode = "watch_event_type") + private String eventType; + @Schema(title = "性别") + @Dict(dicCode = "sex2") + private Integer sex; + @Schema(title = "年龄") + private Integer age; + @Schema(title = "手机号码") + private String phone; + @Schema(title = "二级单位code") + private String departCode; + @Schema(title = "二级单位名称") + private String departName; + @Schema(title = "三级部门code") + private String orgCode; + @Schema(title = "三级部门名称") + private String orgName; + @Schema(title = "位置") + private String address; + @Schema(title = "经度") + private BigDecimal longitude; + @Schema(title = "纬度") + private BigDecimal latitude; + @Schema(title = "描述") + private String memo; + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Schema(title = "时间") + private Date time; +} diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/service/ILargeScreenDataService.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/service/ILargeScreenDataService.java index ea3106d..f8c1eb1 100644 --- a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/service/ILargeScreenDataService.java +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/service/ILargeScreenDataService.java @@ -3,11 +3,15 @@ package com.renkang.emergency.largeScreen.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.renkang.anyan.model.vo.CareUserListVo; +import com.renkang.anyan.model.vo.CareUserVO; import com.renkang.emergency.entity.LargeScreenData; import com.renkang.emergency.entity.TblBaseHospitalVo; import com.renkang.emergency.entity.dto.LargeScreenDataValueDTO; import com.renkang.emergency.entity.vo.DataDetailVO; import com.renkang.emergency.entity.vo.MedicalDataVO; +import com.renkang.emergency.largeScreen.entity.dto.TodayEmergencyDTO; +import com.renkang.emergency.largeScreen.entity.vo.HealthArchivesVO; +import com.renkang.emergency.largeScreen.entity.vo.TodayEmergencyVO; import java.util.List; @@ -34,4 +38,10 @@ public interface ILargeScreenDataService extends IService { IPage loveTrend(String centerId, String name, String orgName, Integer pageNo, Integer pageSize); List nearResources(String longitude, String latitude); + + IPage todayEmergencyList(TodayEmergencyDTO dto); + + HealthArchivesVO healthArchives(String userId); + + CareUserVO careUser(String userId); } diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/service/impl/LargeScreenDataServiceImpl.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/service/impl/LargeScreenDataServiceImpl.java index c990d48..c1e908f 100644 --- a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/service/impl/LargeScreenDataServiceImpl.java +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/largeScreen/service/impl/LargeScreenDataServiceImpl.java @@ -1,7 +1,11 @@ package com.renkang.emergency.largeScreen.service.impl; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.collection.ListUtil; +import cn.hutool.core.date.DateField; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjUtil; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.PageUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONUtil; @@ -11,18 +15,33 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.renkang.anyan.model.vo.CareUserListVo; -import com.renkang.emergency.entity.LargeScreenData; -import com.renkang.emergency.entity.Resource; -import com.renkang.emergency.entity.TblBaseHospitalVo; -import com.renkang.emergency.entity.XjAed; +import com.renkang.anyan.model.vo.CareUserVO; +import com.renkang.emergency.entity.*; import com.renkang.emergency.entity.dto.LargeScreenDataValueDTO; import com.renkang.emergency.entity.vo.DataDetailVO; import com.renkang.emergency.entity.vo.MedicalDataVO; +import com.renkang.emergency.largeScreen.entity.dto.TodayEmergencyDTO; +import com.renkang.emergency.largeScreen.entity.vo.HealthArchivesVO; +import com.renkang.emergency.largeScreen.entity.vo.TodayEmergencyVO; import com.renkang.emergency.largeScreen.mapper.LargeScreenDataMapper; import com.renkang.emergency.largeScreen.service.ILargeScreenDataService; +import com.renkang.emergency.mapper.TblUserHelpMapper; import com.renkang.emergency.service.IResourceService; +import com.renkang.emergency.service.ITbQimoNoticeService; +import com.renkang.emergency.service.ITbUserHelpMacService; import com.renkang.emergency.service.IXjAedService; +import com.renkang.emergency.util.HealthArchivesGenerator; +import com.renkang.watch.api.WatchApi; +import com.renkang.watch.vo.WatchMonitorDataVo; import lombok.RequiredArgsConstructor; +import org.jeecg.bean.request.ListUser; +import org.jeecg.common.system.api.ISysBaseAPI; +import org.jeecg.common.system.vo.LoginUser; +import org.jeecg.global.GlobalUtils; +import org.jeecg.modules.manager.ISysCache; +import org.jeecg.modules.system.entity.HealthUserEmployeeEx; +import org.jeecg.modules.system.entity.SysDepart; +import org.jeecg.modules.system.entity.SysUser; import org.jeecg.util.TypeConversionUtil; import org.springframework.core.io.ClassPathResource; import org.springframework.stereotype.Service; @@ -45,6 +64,11 @@ public class LargeScreenDataServiceImpl extends ServiceImpl todayEmergencyList(TodayEmergencyDTO dto) { + List list = new ArrayList<>(); + + Date date = new Date(); + Date startDate = ObjUtil.isNotEmpty(dto.getStartDate()) ? + DateUtil.beginOfDay(dto.getStartDate()) : DateUtil.beginOfDay(date); + Date endDate = ObjUtil.isNotEmpty(dto.getEndDate()) ? + DateUtil.endOfDay(dto.getEndDate()).offset(DateField.MILLISECOND, -999) : + DateUtil.endOfDay(date).offset(DateField.MILLISECOND, -999); + + // 获取数据 + emergencyData(startDate, endDate, list); + noticeData(startDate, endDate, list); + watchData(startDate, endDate, list); + if (CollUtil.isEmpty(list)) { + return new Page<>(); + } + // 使用HuTool工具类排序和分页 + return processWithHuTool(list, dto); + } + + /** + * 使用HuTool工具类处理排序和分页 + */ + private IPage processWithHuTool(List list, TodayEmergencyDTO dto) { + // 按时间字段倒序排序 + ListUtil.sort(list, (o1, o2) -> { + Date time1 = o1.getTime(); + Date time2 = o2.getTime(); + + if (time1 == null && time2 == null) return 0; + if (time1 == null) return 1; + if (time2 == null) return -1; + + return time2.compareTo(time1); + }); + + // 分页参数处理 + int pageNo = ObjectUtil.defaultIfNull(dto.getPageNo(), 1); + int pageSize = ObjectUtil.defaultIfNull(dto.getPageSize(), 10); + + int total = list.size(); + + // 计算分页范围 + int startIndex = (pageNo - 1) * pageSize; + if (startIndex > total) { + startIndex = total; + } + int endIndex = Math.min(startIndex + pageSize, total); + + List pageList = ListUtil.sub(list, startIndex, endIndex); + + // 创建分页结果 + IPage page = new Page<>(pageNo, pageSize, total); + page.setRecords(pageList); + + return page; + } + + /** + * 获取云坐席数据 + * + * @param startDate 开始时间 + * @param endDate 结束时间 + * @param list 列表 + */ + private void noticeData(Date startDate, Date endDate, List list) { + + List noticeList = noticeService.list( + new LambdaQueryWrapper().between(TblQimoNotice::getCreateDate, startDate, endDate)); + + if (noticeList != null && !noticeList.isEmpty()) { + List phoneList = noticeList.stream().map(TblQimoNotice::getCallNo).distinct().collect(Collectors.toList()); + List userList = sysBaseAPI.getUserByPhoneList(phoneList).getResult(); + // 根据手机号分组 + Map> userMap = userList.stream().collect(Collectors.groupingBy(SysUser::getPhone)); + for (TblQimoNotice notice : noticeList) { + TodayEmergencyVO vo = new TodayEmergencyVO(); + vo.setEmergencyType("2"); + vo.setPhone(notice.getCallNo()); + List users = userMap.get(notice.getCallNo()); + if (users != null) { + SysUser sysUser = users.get(0); + vo.setUserId(sysUser.getId()); + vo.setRealName(sysUser.getRealname()); + vo.setSex(sysUser.getSex()); + vo.setAge(sysUser.getAge()); + if (ObjUtil.isNotEmpty(sysUser.getOrgCode())) { + SysDepart secondDepart = sysCache.getDepartByOrgCode(GlobalUtils.getSecondDepartOrgCode(sysUser.getOrgCode())); + if (secondDepart != null) { + vo.setDepartCode(secondDepart.getOrgCode()); + vo.setDepartName(secondDepart.getDepartName()); + } + SysDepart thirdDepart = sysCache.getDepartByOrgCode(GlobalUtils.getThirdDepartOrgCode(sysUser.getOrgCode())); + if (thirdDepart != null) { + vo.setOrgCode(thirdDepart.getOrgCode()); + vo.setOrgName(thirdDepart.getDepartName()); + } + } + } else { + vo.setRealName("未知"); + vo.setDepartName("未知"); + vo.setOrgName("未知"); + } + vo.setTime(notice.getCreateDate()); + list.add(vo); + } + } + } + + /** + * 获取应急数据 + * @param startDate 开始时间 + * @param endDate 结束时间 + * @param list 列表 + */ + private void emergencyData(Date startDate, Date endDate, List list){ + + List userHelpList = userHelpMapper.selectList( + new LambdaQueryWrapper().between(TblUserHelp::getHelpTime, startDate, endDate).in(TblUserHelp::getType,Arrays.asList("0","1"))); + if (userHelpList != null && !userHelpList.isEmpty()) { + List userIdList = userHelpList.stream().map(TblUserHelp::getUserId).distinct().collect(Collectors.toList()); + List userList = sysBaseAPI.listUserByIdsNew(userIdList); + // 根据用户id分组 + Map userMap = userList.stream() + .collect(Collectors.toMap(LoginUser::getId, a -> a, (k1, k2) -> k1)); + + for (TblUserHelp tblUserHelp : userHelpList) { + TodayEmergencyVO vo = new TodayEmergencyVO(); + vo.setUserId(tblUserHelp.getUserId()); + if (tblUserHelp.getType().equals("0")){ + vo.setEmergencyType("0"); + } + if (tblUserHelp.getType().equals("1")){ + vo.setEmergencyType("1"); + } + vo.setPhone(tblUserHelp.getOutMobile()); + LoginUser user = userMap.get(tblUserHelp.getUserId()); + if (user != null) { + vo.setRealName(user.getRealname()); + vo.setSex(user.getSex()); + vo.setAge(user.getAge()); + if (ObjUtil.isNotEmpty(user.getOrgCode())) { + SysDepart secondDepart = sysCache.getDepartByOrgCode(GlobalUtils.getSecondDepartOrgCode(user.getOrgCode())); + if (secondDepart != null) { + vo.setDepartCode(secondDepart.getOrgCode()); + vo.setDepartName(secondDepart.getDepartName()); + } + SysDepart thirdDepart = sysCache.getDepartByOrgCode(GlobalUtils.getThirdDepartOrgCode(user.getOrgCode())); + if (thirdDepart != null) { + vo.setOrgCode(thirdDepart.getOrgCode()); + vo.setOrgName(thirdDepart.getDepartName()); + } + } + vo.setLongitude(tblUserHelp.getLon()); + vo.setLatitude(tblUserHelp.getLat()); + } else { + vo.setRealName("未知"); + vo.setDepartName("未知"); + vo.setOrgName("未知"); + } + vo.setTime(tblUserHelp.getHelpTime()); + list.add(vo); + } + } + } + + /** + * 获取预警数据 + * @param startDate 开始时间 + * @param endDate 结束时间 + * @param list 列表 + */ + private void watchData(Date startDate, Date endDate, List list){ + + IPage watchListResult = GlobalUtils.getCloudResultData( + watchApi.getMonitorList(null, null, DateUtil.formatDate(startDate), DateUtil.formatDate(endDate), + 1, -1)); + if (watchListResult != null) { + List watchList = watchListResult.getRecords(); + if (watchList != null && !watchList.isEmpty()) { + for (WatchMonitorDataVo watch : watchList) { + TodayEmergencyVO vo = new TodayEmergencyVO(); + vo.setUserId(watch.getUserId()); + vo.setRealName(watch.getRealName()); + vo.setEmergencyType("3"); + vo.setSex(watch.getSex()); + vo.setAge(watch.getAge()); + vo.setPhone(watch.getPhone()); + vo.setDepartName(watch.getOrgName1()); + vo.setOrgName(watch.getOrgName2()); + vo.setAddress(watch.getAddress()); + vo.setLongitude(watch.getLon()); + vo.setLatitude(watch.getLat()); + vo.setEventType(watch.getEventType()); + vo.setTime(watch.getWarnTime()); + list.add(vo); + } + } + } + } + + @Override + public HealthArchivesVO healthArchives(String userId) { + return HealthArchivesGenerator.generateRandomHealthArchives(); + } + + @Override + public CareUserVO careUser(String userId) { + ListUser user = new ListUser(); + user.setUserIds(Collections.singletonList(userId)); + List healthUserEmployeeExes = sysBaseAPI.listEmployeeUserByIds(user); + CareUserVO careUserVO = new CareUserVO(); + careUserVO.setUserId(userId); + if (healthUserEmployeeExes != null && !healthUserEmployeeExes.isEmpty()) { + careUserVO.setCareLiaisonName(healthUserEmployeeExes.get(0).getCareLiaisonName()); + careUserVO.setCareLiaisonPhone(healthUserEmployeeExes.get(0).getCareLiaisonPhone()); + careUserVO.setCareLiaisonJob(healthUserEmployeeExes.get(0).getCareLiaisonJob()); + careUserVO.setLifeguardName(healthUserEmployeeExes.get(0).getLifeguardName()); + careUserVO.setLifeguardPhone(healthUserEmployeeExes.get(0).getLifeguardPhone()); + } + return careUserVO; + } + } diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/service/impl/XjAedServiceImpl.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/service/impl/XjAedServiceImpl.java index 9820adc..41f000a 100644 --- a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/service/impl/XjAedServiceImpl.java +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/service/impl/XjAedServiceImpl.java @@ -137,7 +137,7 @@ public class XjAedServiceImpl extends ServiceImpl implements @Override public void aedDataUtil() { StringBuilder sb = new StringBuilder(); - String[] split = converter.run("东经E:85°02′51″" + "-" + "北纬N:45°37′34″").split("-"); + String[] split = converter.run("东经E:85°0′58″" + "-" + "北纬N:45°32′50″").split("-"); CoordinateConverter.Gps gps = CoordinateConverter.GPS84ToGCJ02( TypeConversionUtil.toDoubleOfNull(split[0]), TypeConversionUtil.toDoubleOfNull(split[1])); if (gps != null) { diff --git a/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/util/HealthArchivesGenerator.java b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/util/HealthArchivesGenerator.java new file mode 100644 index 0000000..7457bcf --- /dev/null +++ b/health-emergency/health-emergency-biz/src/main/java/com/renkang/emergency/util/HealthArchivesGenerator.java @@ -0,0 +1,206 @@ +package com.renkang.emergency.util; + +import com.renkang.emergency.largeScreen.entity.vo.HealthArchivesVO; + +import java.util.Random; + +public class HealthArchivesGenerator { + + private static final Random random = new Random(); + + // 常见疾病列表 + private static final String[] COMMON_DISEASES = { + "高血压", "糖尿病", "冠心病", "高血脂", "哮喘", "慢性支气管炎", + "胃炎", "胃溃疡", "关节炎", "骨质疏松", "甲状腺功能异常" + }; + + // 常见手术列表 + private static final String[] COMMON_SURGERIES = { + "阑尾切除术", "胆囊切除术", "甲状腺切除术", "疝气修补术", "骨折内固定术", + "白内障手术", "冠状动脉搭桥术", "子宫肌瘤切除术", "前列腺切除术" + }; + + // 常见药物列表 + private static final String[] COMMON_MEDICATIONS = { + "阿司匹林", "二甲双胍", "硝苯地平", "阿托伐他汀", "美托洛尔", + "氯沙坦", "胰岛素", "布洛芬", "奥美拉唑", "氨氯地平" + }; + + // 药物剂量单位 + private static final String[] DOSAGE_UNITS = {"mg", "g", "ml", "片", "粒"}; + + public static HealthArchivesVO generateRandomHealthArchives() { + HealthArchivesVO vo = new HealthArchivesVO(); + + // 生成BMI (正常范围18.5-24,可适当超出) + vo.setBmi(generateBMI()); + + // 生成尿酸 (正常范围150-420μmol/L) + vo.setUa(generateUA()); + + // 生成血同型半胱氨酸 (正常范围5-15μmol/L) + vo.setHcy(generateHCY()); + + // 生成空腹葡萄糖 (正常范围3.9-6.1mmol/L) + vo.setGlu(generateGLU()); + + // 生成收缩压 (正常范围90-140mmHg) + vo.setSbp(generateSBP()); + + // 生成舒张压 (正常范围60-90mmHg) + vo.setDbp(generateDBP()); + + // 生成总胆固醇 (正常范围2.8-5.7mmol/L) + vo.setTc(generateTC()); + + // 生成甘油三酯 (正常范围0.45-1.7mmol/L) + vo.setTg(generateTG()); + + // 生成低密度脂蛋白 (正常范围1.5-3.1mmol/L) + vo.setLdl(generateLDL()); + + // 生成既往史 + vo.setPastHistory(generatePastHistory()); + + // 生成手术史 + vo.setSurgicalHistory(generateSurgicalHistory()); + + // 生成用药史 + vo.setMedicationHistory(generateMedicationHistory()); + + return vo; + } + + private static String generateBMI() { + // BMI正常范围18.5-24,生成范围15-35 + double bmi = 15 + random.nextDouble() * 20; + return String.format("%.1f", bmi); + } + + private static String generateUA() { + // 尿酸正常150-420,生成范围100-600 + int ua = 100 + random.nextInt(500); + return String.valueOf(ua); + } + + private static String generateHCY() { + // 血同型半胱氨酸正常5-15,生成范围3-25 + double hcy = 3 + random.nextDouble() * 22; + return String.format("%.1f", hcy); + } + + private static String generateGLU() { + // 空腹葡萄糖正常3.9-6.1,生成范围2.5-12 + double glu = 2.5 + random.nextDouble() * 9.5; + return String.format("%.1f", glu); + } + + private static String generateSBP() { + // 收缩压正常90-140,生成范围70-180 + int sbp = 70 + random.nextInt(110); + return String.valueOf(sbp); + } + + private static String generateDBP() { + // 舒张压正常60-90,生成范围50-110 + int dbp = 50 + random.nextInt(60); + return String.valueOf(dbp); + } + + private static String generateTC() { + // 总胆固醇正常2.8-5.7,生成范围2.0-8.0 + double tc = 2.0 + random.nextDouble() * 6.0; + return String.format("%.1f", tc); + } + + private static String generateTG() { + // 甘油三酯正常0.45-1.7,生成范围0.3-5.0 + double tg = 0.3 + random.nextDouble() * 4.7; + return String.format("%.1f", tg); + } + + private static String generateLDL() { + // 低密度脂蛋白正常1.5-3.1,生成范围1.0-5.0 + double ldl = 1.0 + random.nextDouble() * 4.0; + return String.format("%.1f", ldl); + } + + private static String generatePastHistory() { + int diseaseCount = random.nextInt(3); // 0-2种疾病 + if (diseaseCount == 0) { + return "无重大既往病史"; + } + + StringBuilder history = new StringBuilder(); + for (int i = 0; i < diseaseCount; i++) { + String disease = COMMON_DISEASES[random.nextInt(COMMON_DISEASES.length)]; + int years = 1 + random.nextInt(20); // 患病年限1-20年 + history.append(String.format("%d年前诊断患有%s;", years, disease)); + } + return history.toString(); + } + + private static String generateSurgicalHistory() { + boolean hasSurgery = random.nextDouble() < 0.3; // 30%概率有手术史 + if (!hasSurgery) { + return "无手术史"; + } + + String surgery = COMMON_SURGERIES[random.nextInt(COMMON_SURGERIES.length)]; + int yearsAgo = 2 + random.nextInt(30); // 2-30年前的手术 + String hospital = getRandomHospital(); + + return String.format("%d年在%s医院接受%s,术后恢复良好。", yearsAgo, hospital, surgery); + } + + private static String generateMedicationHistory() { + boolean hasMedication = random.nextDouble() < 0.5; // 50%概率有用药史 + if (!hasMedication) { + return "无长期用药史"; + } + + int medCount = 1 + random.nextInt(2); // 1-2种药物 + StringBuilder medication = new StringBuilder(); + + for (int i = 0; i < medCount; i++) { + String drug = COMMON_MEDICATIONS[random.nextInt(COMMON_MEDICATIONS.length)]; + int dosage = 5 + random.nextInt(45); // 剂量5-50 + String unit = DOSAGE_UNITS[random.nextInt(DOSAGE_UNITS.length)]; + int timesPerDay = 1 + random.nextInt(3); // 每日1-3次 + boolean stillTaking = random.nextBoolean(); + + medication.append(String.format("%s %d%s/次,每日%d次,%s;", + drug, dosage, unit, timesPerDay, stillTaking ? "目前仍在服用" : "已停药")); + } + + return medication.toString(); + } + + private static String getRandomHospital() { + String[] hospitals = {"市人民医院", "省立医院", "协和医院", "华西医院", "中山医院", "瑞金医院"}; + return hospitals[random.nextInt(hospitals.length)]; + } + + // 重载方法,支持传入现有的VO对象进行赋值 + public static void populateRandomData(HealthArchivesVO vo) { + if (vo == null) { + return; + } + + HealthArchivesVO randomData = generateRandomHealthArchives(); + + // 使用反射或者直接setter赋值,这里使用直接赋值 + vo.setBmi(randomData.getBmi()); + vo.setUa(randomData.getUa()); + vo.setHcy(randomData.getHcy()); + vo.setGlu(randomData.getGlu()); + vo.setSbp(randomData.getSbp()); + vo.setDbp(randomData.getDbp()); + vo.setTc(randomData.getTc()); + vo.setTg(randomData.getTg()); + vo.setLdl(randomData.getLdl()); + vo.setPastHistory(randomData.getPastHistory()); + vo.setSurgicalHistory(randomData.getSurgicalHistory()); + vo.setMedicationHistory(randomData.getMedicationHistory()); + } +} \ No newline at end of file diff --git a/health-watch/health-watch-api/src/main/java/com/renkang/watch/api/WatchApi.java b/health-watch/health-watch-api/src/main/java/com/renkang/watch/api/WatchApi.java index 45fa7aa..f71c65b 100644 --- a/health-watch/health-watch-api/src/main/java/com/renkang/watch/api/WatchApi.java +++ b/health-watch/health-watch-api/src/main/java/com/renkang/watch/api/WatchApi.java @@ -1,5 +1,6 @@ package com.renkang.watch.api; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.fasterxml.jackson.annotation.JsonFormat; import com.renkang.watch.api.fallback.WatchApiFallBack; @@ -228,7 +229,7 @@ public interface WatchApi { @Operation(summary = "查询自记动数据", description = "查询自记动数据") @GetMapping(value = "/sports/record/today") - Result> queryUserTodaySportsList(@RequestParam(name = "dateStr",required = false) @Parameter(description = "日期(yyyy-MM-dd不传默认查当天)") String dateStr); + Result> queryUserTodaySportsList(@RequestParam(name = "dateStr", required = false) @Parameter(description = "日期(yyyy-MM-dd不传默认查当天)") String dateStr); @PostMapping("/sports/record/playSign") @Operation(summary = "查询用户当日运动打卡数据(目前供干预中体重管理功能使用)", description = "查询用户当日运动打卡数据(目前供干预中体重管理功能使用)") @@ -237,9 +238,10 @@ public interface WatchApi { @Operation(summary = "获取用户运动日历数据(目前供干预中体重管理功能使用)", description = "获取用户运动日历数据(目前供干预中体重管理功能使用)") @GetMapping(value = "/sports/record/playData") Result> playDataDayStatistic(@RequestParam(name = "startDate") @Parameter(description = "起始日期(yyyy-mm-dd)") String startDate, - @RequestParam(name = "endDate") @Parameter(description = "起始日期(yyyy-mm-dd)") String endDate, - @RequestParam(name = "userId",required = false) @Parameter(description = "默认从token中获取") String userId, - @RequestParam(name = "cardNo",required = false) @Parameter(description = "默认从token中获取") String cardNo); + @RequestParam(name = "endDate") @Parameter(description = "起始日期(yyyy-mm-dd)") String endDate, + @RequestParam(name = "userId", required = false) @Parameter(description = "默认从token中获取") String userId, + @RequestParam(name = "cardNo", required = false) @Parameter(description = "默认从token中获取") String cardNo); + /** * 该接口目前只有干预体重管理数据归档的定时任务中使用 */ @@ -249,17 +251,25 @@ public interface WatchApi { @PostMapping("/sports/weChat/upload") @Operation(summary = "同步微信步数", description = "同步微信步数") - Result uploadUserWeChatStep(@RequestBody List dataList ); + Result uploadUserWeChatStep(@RequestBody List dataList); @PostMapping("/sports/weChat/findByScope") @Operation(summary = "查询用户微信运动步数", description = "查询用户微信运动步数") - Result> findUserWeChatSportsScope(@Valid @RequestBody QueryWeChatSportParam param); + Result> findUserWeChatSportsScope(@Valid @RequestBody QueryWeChatSportParam param); @GetMapping("/sports/record/playDataDayDetailByUserId") @Operation(summary = "获取用户当天运动详情(目前供干预中体重管理功能使用)", description = "获取用户当天运动详情(目前供干预中体重管理功能使用)") Result> playDataDayDetailByUserId(@RequestParam(name = "date") @Parameter(description = "日期(yyyy-mm-dd)") String date, - @RequestParam(name = "userId") @Parameter(description = "用户id") String userId, - @RequestParam(name = "idCard") @Parameter(description = "身份证号") String idCard); + @RequestParam(name = "userId") @Parameter(description = "用户id") String userId, + @RequestParam(name = "idCard") @Parameter(description = "身份证号") String idCard); + + @GetMapping("/watch/watchMonitorData/getMonitorList") + Result> getMonitorList(@RequestParam(name = "orgCode", required = false) String orgCode, + @RequestParam(name = "orgCodeList", required = false) String orgCodeList, + @RequestParam(name = "startDate", required = false) String startDate, + @RequestParam(name = "endDate", required = false) String endDate, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize); } diff --git a/health-watch/health-watch-api/src/main/java/com/renkang/watch/vo/WatchMonitorDataVo.java b/health-watch/health-watch-api/src/main/java/com/renkang/watch/vo/WatchMonitorDataVo.java index 4b4ab53..a714e49 100644 --- a/health-watch/health-watch-api/src/main/java/com/renkang/watch/vo/WatchMonitorDataVo.java +++ b/health-watch/health-watch-api/src/main/java/com/renkang/watch/vo/WatchMonitorDataVo.java @@ -65,6 +65,9 @@ public class WatchMonitorDataVo { @Schema(title = "纬度") private BigDecimal lat; + @Schema(title = "userId") + private String userId; + /** * 用户真实姓名 */ diff --git a/health-watch/health-watch-biz/src/main/java/com/renkang/watch/controller/WatchMonitorDataController.java b/health-watch/health-watch-biz/src/main/java/com/renkang/watch/controller/WatchMonitorDataController.java index 77728ed..8a2f869 100644 --- a/health-watch/health-watch-biz/src/main/java/com/renkang/watch/controller/WatchMonitorDataController.java +++ b/health-watch/health-watch-biz/src/main/java/com/renkang/watch/controller/WatchMonitorDataController.java @@ -75,14 +75,14 @@ public class WatchMonitorDataController extends JeecgController> getMonitorList(@RequestParam(name = "orgCode",required = false) String orgCode, + public Result> getMonitorList(@RequestParam(name = "orgCode",required = false) String orgCode, @RequestParam(name = "orgCodeList", required = false) String orgCodeList, @RequestParam(name = "startDate", required = false) String startDate, @RequestParam(name = "endDate", required = false) String endDate, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { Page page = new Page(pageNo, pageSize); - IPage pageList = watchMonitorDataService.getMonitorList(page,orgCode,orgCodeList,startDate,endDate); + Page pageList = watchMonitorDataService.getMonitorList(page,orgCode,orgCodeList,startDate,endDate); return Result.OK(pageList); } diff --git a/health-watch/health-watch-biz/src/main/java/com/renkang/watch/service/IWatchMonitorDataService.java b/health-watch/health-watch-biz/src/main/java/com/renkang/watch/service/IWatchMonitorDataService.java index 0f91538..0dd543c 100644 --- a/health-watch/health-watch-biz/src/main/java/com/renkang/watch/service/IWatchMonitorDataService.java +++ b/health-watch/health-watch-biz/src/main/java/com/renkang/watch/service/IWatchMonitorDataService.java @@ -30,7 +30,7 @@ public interface IWatchMonitorDataService extends IService { * @return * @param page */ - IPage getMonitorList(Page page, String orgCode, String orgCodeList,String startDate,String endDate); + Page getMonitorList(Page page, String orgCode, String orgCodeList,String startDate,String endDate); /** * 手表报警 diff --git a/health-watch/health-watch-biz/src/main/java/com/renkang/watch/service/impl/WatchMonitorDataServiceImpl.java b/health-watch/health-watch-biz/src/main/java/com/renkang/watch/service/impl/WatchMonitorDataServiceImpl.java index 190f42e..bf7af22 100644 --- a/health-watch/health-watch-biz/src/main/java/com/renkang/watch/service/impl/WatchMonitorDataServiceImpl.java +++ b/health-watch/health-watch-biz/src/main/java/com/renkang/watch/service/impl/WatchMonitorDataServiceImpl.java @@ -625,7 +625,7 @@ public class WatchMonitorDataServiceImpl extends ServiceImpl getMonitorList(Page page, String orgCode, String orgCodes, String startDate, String endDate) { + public Page getMonitorList(Page page, String orgCode, String orgCodes, String startDate, String endDate) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); List orgCodeList = new ArrayList<>(); @@ -701,6 +701,7 @@ public class WatchMonitorDataServiceImpl extends ServiceImpl pageVo = new Page<>(); + Page pageVo = new Page<>(); GlobalUtils.copyPageDataToTarget(pageList, pageVo); pageVo.setRecords(voList); return pageVo; diff --git a/jeecg-system/jeecg-system-biz/src/main/java/org/jeecg/modules/api/controller/SysUserEmergencyContactApiController.java b/jeecg-system/jeecg-system-biz/src/main/java/org/jeecg/modules/api/controller/SysUserEmergencyContactApiController.java index d7498af..866ef3f 100644 --- a/jeecg-system/jeecg-system-biz/src/main/java/org/jeecg/modules/api/controller/SysUserEmergencyContactApiController.java +++ b/jeecg-system/jeecg-system-biz/src/main/java/org/jeecg/modules/api/controller/SysUserEmergencyContactApiController.java @@ -34,6 +34,11 @@ public class SysUserEmergencyContactApiController { return sysUserEmergencyContactService.selectEmergencyContactList(); } + @Operation(summary = "查询紧急联系人列表", description = "查询紧急联系人列表") + @GetMapping("/contactList") + public Result> contactList(@RequestParam(name = "userId") String userId) { + return sysUserEmergencyContactService.contactList(userId); + } /** * 添加或者修改紧急联系人 * diff --git a/jeecg-system/jeecg-system-biz/src/main/java/org/jeecg/modules/api/service/SysUserEmergencyContactService.java b/jeecg-system/jeecg-system-biz/src/main/java/org/jeecg/modules/api/service/SysUserEmergencyContactService.java index 078461a..2242d8c 100644 --- a/jeecg-system/jeecg-system-biz/src/main/java/org/jeecg/modules/api/service/SysUserEmergencyContactService.java +++ b/jeecg-system/jeecg-system-biz/src/main/java/org/jeecg/modules/api/service/SysUserEmergencyContactService.java @@ -9,6 +9,8 @@ public interface SysUserEmergencyContactService { Result> selectEmergencyContactList(); + Result> contactList(String userId); + Result updateAndInsertEmergencyContact(SysUserEmergencyContactDO sysUserEmergencyContactDO); diff --git a/jeecg-system/jeecg-system-biz/src/main/java/org/jeecg/modules/api/service/impl/SysUserEmergencyContactServiceImpl.java b/jeecg-system/jeecg-system-biz/src/main/java/org/jeecg/modules/api/service/impl/SysUserEmergencyContactServiceImpl.java index 3f2cde8..e975d1e 100644 --- a/jeecg-system/jeecg-system-biz/src/main/java/org/jeecg/modules/api/service/impl/SysUserEmergencyContactServiceImpl.java +++ b/jeecg-system/jeecg-system-biz/src/main/java/org/jeecg/modules/api/service/impl/SysUserEmergencyContactServiceImpl.java @@ -30,6 +30,11 @@ public class SysUserEmergencyContactServiceImpl implements SysUserEmergencyConta return Result.ok(list); } + @Override + public Result> contactList(String userId) { + return Result.ok(sysUserEmergencyContactMapper.selectEmergencyContactListByUserId(userId)); + } + @Override public Result updateAndInsertEmergencyContact(SysUserEmergencyContactDO sysUserEmergencyContactDO) { LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();