lilt085163@126.com 3 år sedan
förälder
incheckning
1cb8b80486
74 ändrade filer med 1707 tillägg och 370 borttagningar
  1. 1 1
      src/main/java/com/care/bigscreen/controller/CommonController.java
  2. 92 50
      src/main/java/com/care/bms/controller/EventHandleController.java
  3. 2 2
      src/main/java/com/care/bms/controller/LoginController.java
  4. 388 0
      src/main/java/com/care/bms/service/BmsEventOrderService.java
  5. 7 8
      src/main/java/com/care/bms/service/impl/CareSysUserServiceImpl.java
  6. 0 37
      src/main/java/com/care/bms/service/CareEventOrderService.java
  7. 0 18
      src/main/java/com/care/bms/service/impl/CareChamberlainOlderRelServiceImpl.java
  8. 0 110
      src/main/java/com/care/bms/service/impl/CareEventOrderServiceImpl.java
  9. 0 18
      src/main/java/com/care/bms/service/impl/CareOlderContactServiceImpl.java
  10. 4 0
      src/main/java/com/care/common/cache/RedisKeyConstant.java
  11. 25 1
      src/main/java/com/care/common/cache/RedisUtil.java
  12. 16 1
      src/main/java/com/care/common/config/SwaggerConfig.java
  13. 2 2
      src/main/java/com/care/common/entity/CareChamberlainOlderRel.java
  14. 2 2
      src/main/java/com/care/common/entity/CareEventOrder.java
  15. 35 5
      src/main/java/com/care/common/entity/CareEventOrderContactStatus.java
  16. 40 15
      src/main/java/com/care/common/entity/CareEventOrderHandleHis.java
  17. 100 0
      src/main/java/com/care/common/entity/CareEventOrderKeyApply.java
  18. 10 5
      src/main/java/com/care/common/entity/CareOlderContact.java
  19. 1 1
      src/main/java/com/care/common/entity/CareSysUser.java
  20. 0 1
      src/main/java/com/care/common/entity/CcCallResult.java
  21. 59 0
      src/main/java/com/care/common/enums/ContactorStatusEnum.java
  22. 41 0
      src/main/java/com/care/common/enums/KeyAuthEnum.java
  23. 21 21
      src/main/java/com/care/common/enums/OlderStatusEnum.java
  24. 4 4
      src/main/java/com/care/common/enums/OrderStatusEnum.java
  25. 15 15
      src/main/java/com/care/common/enums/OrderTypeEnum.java
  26. 47 0
      src/main/java/com/care/common/enums/RelationTypeEnum.java
  27. 47 0
      src/main/java/com/care/common/enums/UserRoleEnum.java
  28. 0 1
      src/main/java/com/care/common/exception/BDException.java
  29. 1 1
      src/main/java/com/care/common/interceptor/ControllerInterceptor.java
  30. 15 0
      src/main/java/com/care/common/mapper/CareEventOrderKeyApplyMapper.java
  31. 2 1
      src/main/java/com/care/common/mapper/CcCallResultMapper.java
  32. 10 2
      src/main/java/com/care/bms/service/CareChamberlainOlderRelService.java
  33. 1 1
      src/main/java/com/care/bms/service/CareDeviceService.java
  34. 1 1
      src/main/java/com/care/bms/service/CareEventOrderContactStatusService.java
  35. 1 1
      src/main/java/com/care/bms/service/CareEventOrderHandleHisService.java
  36. 14 0
      src/main/java/com/care/common/service/CareEventOrderKeyApplyService.java
  37. 13 0
      src/main/java/com/care/common/service/CareEventOrderService.java
  38. 10 1
      src/main/java/com/care/bms/service/CareOlderContactService.java
  39. 1 1
      src/main/java/com/care/bms/service/CareOlderDeviceRelService.java
  40. 1 1
      src/main/java/com/care/bms/service/CareOlderService.java
  41. 1 1
      src/main/java/com/care/bms/service/CareOrganizationService.java
  42. 1 1
      src/main/java/com/care/bms/service/CareStationService.java
  43. 1 2
      src/main/java/com/care/bms/service/CareSysUserService.java
  44. 9 3
      src/main/java/com/care/bms/service/CcCallResultService.java
  45. 1 1
      src/main/java/com/care/bms/service/CommonService.java
  46. 1 1
      src/main/java/com/care/bms/service/SysDimCodeService.java
  47. 1 1
      src/main/java/com/care/bms/service/SysDimTypeService.java
  48. 45 0
      src/main/java/com/care/common/service/impl/CareChamberlainOlderRelServiceImpl.java
  49. 2 2
      src/main/java/com/care/bms/service/impl/CareDeviceServiceImpl.java
  50. 2 2
      src/main/java/com/care/bms/service/impl/CareEventOrderContactStatusServiceImpl.java
  51. 2 2
      src/main/java/com/care/bms/service/impl/CareEventOrderHandleHisServiceImpl.java
  52. 18 0
      src/main/java/com/care/common/service/impl/CareEventOrderKeyApplyServiceImpl.java
  53. 17 0
      src/main/java/com/care/common/service/impl/CareEventOrderServiceImpl.java
  54. 34 0
      src/main/java/com/care/common/service/impl/CareOlderContactServiceImpl.java
  55. 2 2
      src/main/java/com/care/bms/service/impl/CareOlderDeviceRelServiceImpl.java
  56. 2 2
      src/main/java/com/care/bms/service/impl/CareOlderServiceImpl.java
  57. 2 2
      src/main/java/com/care/bms/service/impl/CareOrganizationServiceImpl.java
  58. 2 2
      src/main/java/com/care/bms/service/impl/CareStationServiceImpl.java
  59. 27 0
      src/main/java/com/care/common/service/impl/CareSysUserServiceImpl.java
  60. 14 3
      src/main/java/com/care/bms/service/impl/CcCallResultServiceImpl.java
  61. 3 3
      src/main/java/com/care/bms/service/impl/CommonServiceImpl.java
  62. 2 2
      src/main/java/com/care/bms/service/impl/SysDimCodeServiceImpl.java
  63. 2 2
      src/main/java/com/care/bms/service/impl/SysDimTypeServiceImpl.java
  64. 32 0
      src/main/java/com/care/common/vo/event/ChamberlainVO.java
  65. 1 6
      src/main/java/com/care/common/vo/event/CareEventOrderVO.java
  66. 57 0
      src/main/java/com/care/common/vo/event/KeyApplyVO.java
  67. 85 0
      src/main/java/com/care/common/vo/event/OrderContactorVO.java
  68. 72 0
      src/main/java/com/care/common/vo/event/OrderHandleHisVO.java
  69. 83 0
      src/main/java/com/care/common/vo/event/OrderKeyApplyVO.java
  70. 44 0
      src/main/java/com/care/common/vo/event/OrderOlderVO.java
  71. 82 0
      src/main/java/com/care/common/vo/outcall/CcCallResultVO.java
  72. 1 1
      src/main/java/com/care/outcall/controller/KoalaOutCallController.java
  73. 6 0
      src/main/resources/mybatis/CareEventOrderKeyApplyMapper.xml
  74. 24 1
      src/main/resources/mybatis/CcCallResultMapper.xml

+ 1 - 1
src/main/java/com/care/bigscreen/controller/CommonController.java

@@ -2,8 +2,8 @@ package com.care.bigscreen.controller;
 
 import com.care.bigscreen.service.BigScreenService;
 import com.care.common.annotation.Permission;
+import com.care.common.service.CommonService;
 import com.care.common.vo.UserLogindConvertVO;
-import com.care.bms.service.CommonService;
 import com.care.common.util.Result;
 import com.care.common.util.WebPageUtils;
 import lombok.extern.slf4j.Slf4j;

+ 92 - 50
src/main/java/com/care/bms/controller/EventHandleController.java

@@ -1,22 +1,26 @@
 package com.care.bms.controller;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.care.bms.service.CareEventOrderService;
+import com.care.bms.service.BmsEventOrderService;
+import com.care.common.vo.event.EventOrderVO;
+import com.care.common.vo.event.OrderHandleHisVO;
+import com.care.common.vo.event.OrderKeyApplyVO;
+import com.care.common.vo.event.OrderOlderVO;
 import com.care.common.annotation.Permission;
 import com.care.common.enums.OrderStatusEnum;
 import com.care.common.exception.BDException;
 import com.care.common.util.PageResult;
+import com.care.common.util.Result;
 import com.care.common.util.WebPageUtils;
 import com.care.common.vo.PageReqVO;
 import com.care.common.vo.UserLogindConvertVO;
-import com.care.common.vo.event.CareEventOrderVO;
+import com.care.common.vo.outcall.CcCallResultVO;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.validation.BindingResult;
-import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
@@ -35,7 +39,7 @@ import java.util.List;
 public class EventHandleController {
 
     @Autowired
-    private CareEventOrderService careEventOrderService;
+    private BmsEventOrderService bmsEventOrderService;
 
 
     /**
@@ -46,11 +50,11 @@ public class EventHandleController {
      */
     @GetMapping("/not-handle/list")
     @ApiOperation(tags = {"未处理事件"},value = "未处理事件查询-分页")
-    public PageResult<List<CareEventOrderVO>> listNotHandle(HttpServletRequest request,@RequestHeader(value = "token") String token,
-                                                            PageReqVO pageReqVo){
+    public PageResult<List<EventOrderVO>> listNotHandle(HttpServletRequest request, @RequestHeader(value = "token") String token,
+                                                        PageReqVO pageReqVo){
         try {
             UserLogindConvertVO loginUser = WebPageUtils.getCurrentLoginedUser(request);
-            IPage<CareEventOrderVO> pageResponse = this.careEventOrderService.listEvent(OrderStatusEnum.TODO.getValue(), null,loginUser ,pageReqVo);
+            IPage<EventOrderVO> pageResponse = this.bmsEventOrderService.listEvent(OrderStatusEnum.TODO.getValue(), null,loginUser ,pageReqVo);
             return PageResult.success(pageResponse.getRecords(),pageResponse.getCurrent(),pageResponse.getSize(),pageResponse.getTotal());
         }catch (BDException e) {
             log.error("未处理事件查询-分页列表出现异常",e);
@@ -62,13 +66,18 @@ public class EventHandleController {
     }
     @GetMapping("/my-handle/list")
     @ApiOperation(tags = {"我的处理事件"},value = "我的处理事件查询 分页")
-    public PageResult<List<CareEventOrderVO>> listMyHandle(HttpServletRequest request,@RequestHeader(value = "token") String token,
+    @ApiImplicitParams(value = {
+            @ApiImplicitParam(paramType = "header", name = "status", value = "状态"),
+            @ApiImplicitParam(paramType = "query", name = "status", value = "状态"),
+            @ApiImplicitParam(paramType = "query", name = "olderName", value = "老人姓名"),
+    })
+    public PageResult<List<EventOrderVO>> listMyHandle(HttpServletRequest request,@RequestHeader(value = "token") String token,
                                                            @RequestParam(value = "status", required = false) String status,
                                                            @RequestParam(value = "olderName", required = false) String olderName,
                                                             PageReqVO pageReqVo){
         try {
             UserLogindConvertVO loginUser = WebPageUtils.getCurrentLoginedUser(request);
-            IPage<CareEventOrderVO> pageResponse = this.careEventOrderService.listEvent4MyDo(status, olderName,loginUser ,pageReqVo);
+            IPage<EventOrderVO> pageResponse = this.bmsEventOrderService.listEvent4MyDo(status, olderName,loginUser ,pageReqVo);
             return PageResult.success(pageResponse.getRecords(),pageResponse.getCurrent(),pageResponse.getSize(),pageResponse.getTotal());
         }catch (BDException e) {
             log.error("我的处理事件查询-分页列表出现异常",e);
@@ -81,13 +90,13 @@ public class EventHandleController {
 
     @GetMapping("/list")
     @ApiOperation(tags = {"事件查询"},value = "事件查询 分页")
-    public PageResult<List<CareEventOrderVO>> list(HttpServletRequest request,
+    public PageResult<List<EventOrderVO>> list(HttpServletRequest request,
                                                            @RequestParam(value = "status", required = false) String status,
                                                            @RequestParam(value = "olderName", required = false) String olderName,
                                                            PageReqVO pageReqVo){
         try {
             UserLogindConvertVO loginUser = WebPageUtils.getCurrentLoginedUser(request);
-            IPage<CareEventOrderVO> pageResponse = this.careEventOrderService.listEvent(status, olderName,loginUser ,pageReqVo);
+            IPage<EventOrderVO> pageResponse = this.bmsEventOrderService.listEvent(status, olderName,loginUser ,pageReqVo);
             return PageResult.success(pageResponse.getRecords(),pageResponse.getCurrent(),pageResponse.getSize(),pageResponse.getTotal());
         }catch (BDException e) {
             log.error("我的处理事件查询-分页列表出现异常",e);
@@ -97,48 +106,81 @@ public class EventHandleController {
             return PageResult.error( "获取列表失败");
         }
     }
+    @PostMapping("/receive/{orderId}")
+    @ApiOperation(tags = {"未处理事件"},value = "立即处理-领取工单")
+    public Result<Object> receiveOrder(HttpServletRequest request,@RequestHeader("token") String token,@PathVariable("orderId") Long orderId){
+        UserLogindConvertVO loginUser = WebPageUtils.getCurrentLoginedUser(request);
+        this.bmsEventOrderService.receiveOrder(orderId,loginUser);
+        return  Result.success("领取工单成功!");
+    }
 
-    //TODO 老人基本信息查询-事件ID
-
-    //TODO 事件统计
-
-    //TODO 某个事件处理记录查询 - 事件ID
-   /* *//**
-     * 复制线路
-     * @param mapAddReqVO
-     * @return
-     *//*
-    @PostMapping("/copyLine")
-    @ApiOperation(tags = {"定单管理"},value = "复制线路")
-    public Result<RimsLineResVO> copyLine(@RequestHeader("Authorization") String authorization, @Validated @RequestBody RimsLineOrderMapAddReqVO mapAddReqVO, BindingResult bindingResult){
-        if(bindingResult.hasErrors()){
-            return Result.error(bindingResult.getFieldErrors().get(0).getDefaultMessage());
-        }
-        try {
-            UserDTO userDTO = this.sysUserService.queryUserInfo(authorization,null);
-            RimsLine line = this.rimsLineService.copyLine(mapAddReqVO.getLineId(),userDTO);
-            RimsLineResVO vo = null;
-            if(line!=null){
-                mapAddReqVO.setLineId(line.getId());
-                this.rimsLineOrderMapService.insertLineOrderMap(mapAddReqVO);
-                vo = new RimsLineResVO();
-                BeanUtils.copyProperties(line,vo);
-            }
-            return  Result.success("复制成功",vo);
-        } catch (Exception e) {
-            log.warn("线路管理:复制线路出现异常",e);
-            return  Result.error("复制线路失败");
-        }
-    }*/
-    //todo 紧急联系人和管家查询 - 事件ID
+    @GetMapping("/getOlderInfo/{orderId}")
+    @ApiOperation(tags = {"事件处理"},value = "被监护人信息")
+    public Result<OrderOlderVO> getOlderInfo(HttpServletRequest request,@RequestHeader("token") String token,@PathVariable("orderId") Long orderId){
+        OrderOlderVO older = this.bmsEventOrderService.getOrderOlderInfo(orderId);
+        return  Result.success("查询成功!",older);
+    }
 
-    //todo 呼叫: 事件ID、呼叫人、呼叫角色
+    @GetMapping("/queryDoHis/{orderId}")
+    @ApiOperation(tags = {"事件处理"},value = "事件处理历史记录")
+    public Result<List<OrderHandleHisVO>> queryDoHis(HttpServletRequest request, @RequestHeader("token") String token, @PathVariable("orderId") Long orderId){
+        return  Result.success("查询成功!",this.bmsEventOrderService.queryOrderHandleHis(orderId));
+    }
 
-    //TODO 发送短信: 事件ID、接收人ID
+    @GetMapping("/queryContactList/{orderId}")
+    @ApiOperation(tags = {"事件处理"},value = "跟事件相关的联系人列表")
+    public Result<Object> queryContactList(HttpServletRequest request,@RequestHeader("token") String token,@PathVariable("orderId") Long orderId){
+        return  Result.success("查询成功!",this.bmsEventOrderService.queryContactList(orderId));
+    }
 
-    //TODO 联系人 状态设置:  事件ID、联系人ID、状态
+    @PostMapping("/complete/{orderId}")
+    @ApiOperation(tags = {"事件处理"},value = "完成工单")
+    public Result<Object> complete(HttpServletRequest request,@RequestHeader("token") String token,@PathVariable("orderId") Long orderId){
+        this.bmsEventOrderService.updateOrderStatus(orderId,OrderStatusEnum.COMPLETE);
+        return  Result.success("操作成功!");
+    }
 
-    //TODO 完成工单: 事件工单ID
+    @GetMapping("/keyAuth/list/{orderId}")
+    @ApiOperation(tags = {"事件处理"},value = "钥匙申请列表")
+    public Result<List<OrderKeyApplyVO>> queryKeyAuthList(HttpServletRequest request, @RequestHeader("token") String token, @PathVariable("orderId") Long orderId){
+        return  Result.success("查询成功!",this.bmsEventOrderService.queryKeyAuthList(orderId));
+    }
+    @PostMapping("/key/auth/{applyId}")
+    @ApiOperation(tags = {"事件处理"},value = "钥匙授权")
+    public Result<Object> keyAuth(HttpServletRequest request,@RequestHeader("token") String token,@PathVariable("applyId") Long applyId){
+        if (this.bmsEventOrderService.keyAuth(applyId)) {
+            return  Result.success("钥匙授权成功!");
+        }else{
+            return  Result.error("钥匙授权失败!");
+        }
+    }
+    @PostMapping("/contact/updateStatus/{orderContactId}/{status}")
+    @ApiOperation(tags = {"事件处理"},value = "更新联系人状态")
+    public Result<Object> updateOrderContactStatus(HttpServletRequest request,@RequestHeader("token") String token,
+                                                   @PathVariable("orderContactId") Long orderContactId,
+                                                   @PathVariable("status") Integer status){
+        if (this.bmsEventOrderService.updateOrderContactStatus(orderContactId,status)) {
+            return  Result.success("更新成功!");
+        }else{
+            return  Result.error("更新失败!");
+        }
 
+    }
+    @PostMapping("/sendSms")
+    @ApiOperation(tags = {"事件处理"},value = "发送短信")
+    public Result<Object> sendSms(HttpServletRequest request,@RequestHeader("token") String token,@PathVariable("orderId") Long orderId){
+        UserLogindConvertVO loginUser = WebPageUtils.getCurrentLoginedUser(request);
 
+        return  Result.success("发送短信成功!");
+    }
+    @GetMapping("/getCallRadio/{hisId}")
+    @ApiOperation(tags = {"事件处理"},value = "获取通话录音")
+    public Result<Object> getCallRadio(HttpServletRequest request,@RequestHeader("token") String token,@PathVariable("hisId") Long hisId){
+        CcCallResultVO ccCallResultVO = this.bmsEventOrderService.getCallRadio(hisId);
+        if (ccCallResultVO != null) {
+            return  Result.success("获取通话录音!");
+        }else{
+            return  Result.error("通话记录不存在!");
+        }
+    }
 }

+ 2 - 2
src/main/java/com/care/bms/controller/LoginController.java

@@ -2,10 +2,10 @@ package com.care.bms.controller;
 
 import cn.hutool.json.JSONUtil;
 import com.care.bms.params.UserLoginParams;
+import com.care.bms.service.BmsSysUserService;
 import com.care.common.constant.Constants;
 import com.care.common.exception.BDException;
 import com.care.common.vo.UserLogindConvertVO;
-import com.care.bms.service.CareSysUserService;
 import com.care.common.util.JwtUtils;
 import com.care.common.util.Result;
 import com.care.common.util.ResultCode;
@@ -32,7 +32,7 @@ import java.util.Map;
 public class LoginController {
 
     @Autowired
-    CareSysUserService careSysUserService;
+    BmsSysUserService careSysUserService;
 
     @PostMapping(value = "/login", produces = MediaType.APPLICATION_JSON_VALUE)
     @ApiOperation(value = "登陆", notes = "登陆")

+ 388 - 0
src/main/java/com/care/bms/service/BmsEventOrderService.java

@@ -0,0 +1,388 @@
+package com.care.bms.service;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.care.common.cache.RedisKeyConstant;
+import com.care.common.cache.RedisUtil;
+import com.care.common.entity.*;
+import com.care.common.enums.*;
+import com.care.common.exception.BDException;
+import com.care.common.service.*;
+import com.care.common.vo.PageReqVO;
+import com.care.common.vo.UserLogindConvertVO;
+import com.care.common.vo.event.*;
+import com.care.common.vo.outcall.CcCallResultVO;
+import org.apache.commons.compress.utils.Lists;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 事件定单表(CareEventOrder)表服务实现类
+ *
+ * @author makejava
+ * @since 2021-05-21 00:08:29
+ */
+@Service
+@Transactional(rollbackFor = Exception.class)
+public class BmsEventOrderService {
+    @Autowired
+    RedisUtil redisUtil;
+    @Resource
+    private CareOlderContactService careOlderContactService;
+    @Resource
+    private CareOlderService careOlderService;
+    @Resource
+    private CareEventOrderService careEventOrderService;
+    @Resource
+    private CareSysUserService careSysUserService;
+    @Resource
+    private CareChamberlainOlderRelService careChamberlainOlderRelService;
+    @Resource
+    private CareEventOrderContactStatusService careEventOrderContactStatusService;
+    @Resource
+    private CareEventOrderHandleHisService careEventOrderHandleHisService;
+    @Resource
+    private CareEventOrderKeyApplyService careEventOrderKeyApplyService;
+    @Resource
+    private CcCallResultService ccCallResultService;
+    /**
+     * 工单查询
+     * @param orderStatus
+     * @param olderName
+     * @param loginUser
+     * @param pageReqVo
+     * @return
+     */
+    public IPage<EventOrderVO> listEvent(String orderStatus, String olderName, UserLogindConvertVO loginUser, PageReqVO pageReqVo) {
+        IPage<CareEventOrder> page = new Page<>(pageReqVo.getCurrent(), pageReqVo.getPageSize());
+        QueryWrapper<CareEventOrder> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(StrUtil.isNotEmpty(orderStatus),CareEventOrder::getStatus, orderStatus)
+                .like(StrUtil.isNotEmpty(olderName),CareEventOrder::getOlderName,olderName)
+                .eq(CareEventOrder::getOrgId,loginUser.getOrgId())
+                .eq(loginUser.getStationId()!=null,CareEventOrder::getStationId,loginUser.getStationId())
+                .orderByAsc(CareEventOrder::getCreateTime);
+
+        IPage<CareEventOrder> pageRes = this.careEventOrderService.page(page, queryWrapper);
+        IPage<EventOrderVO> results = new Page<>(pageRes.getCurrent(),pageRes.getSize(),pageRes.getTotal());
+        if(CollUtil.isNotEmpty(pageRes.getRecords())){
+            List<EventOrderVO> list = new ArrayList<>();
+            pageRes.getRecords().forEach(item -> {
+                EventOrderVO  resVO = new EventOrderVO();
+                BeanUtils.copyProperties(item,resVO);
+                resVO.setOrderTypeName(OrderTypeEnum.getCodeToName(item.getOrderType()));
+                resVO.setStatusName(OrderStatusEnum.getCodeToName(item.getStatus()));
+                list.add(resVO);
+            });
+            results.setRecords(list);
+        }
+        return results;
+    }
+
+    /**
+     * 我的处理事件 - 坐席
+     *
+     * @param orderStatus
+     * @param olderName
+     * @param loginUser
+     * @param pageReqVo
+     * @return
+     */
+    public IPage<EventOrderVO> listEvent4MyDo(String orderStatus, String olderName, UserLogindConvertVO loginUser, PageReqVO pageReqVo) {
+        IPage<CareEventOrder> page = new Page<>(pageReqVo.getCurrent(), pageReqVo.getPageSize());
+        QueryWrapper<CareEventOrder> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(StrUtil.isNotEmpty(orderStatus),CareEventOrder::getStatus, orderStatus)
+                .like(StrUtil.isNotEmpty(olderName),CareEventOrder::getOlderName,olderName)
+                .eq(CareEventOrder::getOrgId,loginUser.getOrgId())
+                .eq(CareEventOrder::getSeatId,loginUser.getId())
+                .orderByAsc(CareEventOrder::getModifyTime);
+        IPage<CareEventOrder> pageRes = this.careEventOrderService.page(page, queryWrapper);
+        IPage<EventOrderVO> results = new Page<>(pageRes.getCurrent(),pageRes.getSize(),pageRes.getTotal());
+        if(CollUtil.isNotEmpty(pageRes.getRecords())){
+            List<EventOrderVO> list = new ArrayList<>();
+            pageRes.getRecords().forEach(item -> {
+                EventOrderVO  resVO = new EventOrderVO();
+                BeanUtils.copyProperties(item,resVO);
+                resVO.setOrderTypeName(OrderTypeEnum.getCodeToName(item.getOrderType()));
+                resVO.setStatusName(OrderStatusEnum.getCodeToName(item.getStatus()));
+                list.add(resVO);
+            });
+            results.setRecords(list);
+        }
+        return results;
+    }
+
+    /**
+     * 处理工单
+     * 使用分布式锁
+     *
+     * @param orderId
+     * @param loginUser
+     */
+
+    public void receiveOrder(Long orderId, UserLogindConvertVO loginUser) {
+        String key = RedisKeyConstant.DO_ORDER+":"+orderId;
+        boolean result = redisUtil.tryLock(key,3000);
+        try{
+            if (result){
+                CareEventOrder order = this.careEventOrderService.getById(orderId);
+                //1.判断工单的状态,如果不是未处理状态,则不能处理
+                if (OrderStatusEnum.TODO.getValue().equals(order.getStatus())){
+                    UpdateWrapper<CareEventOrder> updateWrapper = new UpdateWrapper<>();
+                    updateWrapper.lambda().eq(CareEventOrder::getId,orderId)
+                            .set(CareEventOrder::getStatus,OrderStatusEnum.DOING)
+                            .set(CareEventOrder::getSeatId,loginUser.getId())
+                            .set(CareEventOrder::getModifyTime,DateUtil.date());
+                    this.careEventOrderService.update(updateWrapper);
+                    //2. 将老人的联系人、管家 插入到 事件工单 联系人中
+                    List<CareEventOrderContactStatus> orderContactList = Lists.newArrayList();
+                    //查询老人
+                    addOlderToOrderContact(order,orderContactList);
+                    //查询管家
+                    addChamberlainToOrderContact(order,orderContactList);
+                    //查询紧急联系人
+                    addContactToOrderContact(order,orderContactList);
+                    this.careEventOrderContactStatusService.saveBatch(orderContactList);
+                }else{
+                    throw  new BDException("该工单状态已变化,请刷新");
+                }
+
+            }else {
+                throw  new BDException("该工单已经再被处理");
+            }
+        }finally {
+            redisUtil.releaseLock(key);
+        }
+    }
+
+    /**
+     * 查询老人信息
+     * @param orderId
+     * @return
+     */
+    public OrderOlderVO  getOrderOlderInfo(Long orderId){
+        OrderOlderVO orderOlderVo = new OrderOlderVO();
+        CareEventOrder order = this.careEventOrderService.getById(orderId);
+        if (order!=null){
+            CareOlder older =  this.careOlderService.getById(order.getOlderId());
+            BeanUtil.copyProperties(older,orderOlderVo);
+            orderOlderVo.setEventType(order.getOrderType());
+            orderOlderVo.setEventTypeDesc(OrderTypeEnum.getCodeToName(order.getOrderType()));
+            //查看老人联系状态
+            QueryWrapper<CareEventOrderContactStatus> queryWrapper = new QueryWrapper<>();
+            queryWrapper.lambda().eq(CareEventOrderContactStatus::getOrderId,orderId)
+                    .eq(CareEventOrderContactStatus::getContactRole,UserRoleEnum.OLDER.getValue())
+                    .eq(CareEventOrderContactStatus::getContactId,older.getId());
+            List<CareEventOrderContactStatus> ceocs = this.careEventOrderContactStatusService.list(queryWrapper);
+            if (CollUtil.isNotEmpty(ceocs)){
+                CareEventOrderContactStatus contactStatus = ceocs.get(0);
+                orderOlderVo.setContactStatus(contactStatus.getStatus());
+                orderOlderVo.setContactStatusDesc(ContactorStatusEnum.getCodeToName(contactStatus.getStatus()));
+            }
+
+            //查询管家
+            ChamberlainVO chamberlainVO = new ChamberlainVO();
+            CareSysUser user = this.careChamberlainOlderRelService.getMainChamberlainByOlderId(older.getId());
+            if (user!= null){
+                BeanUtil.copyProperties(user,chamberlainVO);
+                orderOlderVo.setChamberlain(chamberlainVO);
+            }
+        }
+        return orderOlderVo;
+    }
+
+    /**
+     * 查询事件处理历史
+     * @param orderId
+     * @return
+     */
+    public List<OrderHandleHisVO> queryOrderHandleHis(Long orderId){
+        List<OrderHandleHisVO> result = Lists.newArrayList();
+        QueryWrapper<CareEventOrderHandleHis> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(CareEventOrderHandleHis::getOrderId,orderId)
+                .orderByDesc(CareEventOrderHandleHis::getCreateTime);
+        List<CareEventOrderHandleHis> datas = this.careEventOrderHandleHisService.list(queryWrapper);
+        if (CollUtil.isNotEmpty(datas)){
+            datas.forEach(item ->{
+                OrderHandleHisVO hisVO = new OrderHandleHisVO();
+                BeanUtil.copyProperties(item,hisVO);
+                result.add(hisVO);
+            });
+        }
+        return result;
+    }
+
+    /**
+     *  查询工单的相关联系人
+     * @param orderId
+     * @return
+     */
+    public List<OrderContactorVO> queryContactList(Long orderId){
+        List<OrderContactorVO> result = Lists.newArrayList();
+        QueryWrapper<CareEventOrderContactStatus> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(CareEventOrderContactStatus::getOrderId,orderId).orderByAsc(CareEventOrderContactStatus::getContactLevel);
+        List<CareEventOrderContactStatus> ceocs = this.careEventOrderContactStatusService.list(queryWrapper);
+        if (CollUtil.isNotEmpty(ceocs)){
+            ceocs.forEach(item -> {
+                OrderContactorVO contactorVO = new OrderContactorVO();
+                BeanUtil.copyProperties(item,contactorVO);
+                contactorVO.setStatusDesc(ContactorStatusEnum.getCodeToName(item.getStatus()));
+            });
+        }
+        return  result;
+    }
+
+    /**
+     * 更新工单状态
+     * @param orderId
+     * @param orderStatusEnum
+     */
+    public void updateOrderStatus(Long orderId,OrderStatusEnum orderStatusEnum){
+        UpdateWrapper<CareEventOrder> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.lambda().eq(CareEventOrder::getId,orderId)
+                .set(CareEventOrder::getStatus,orderStatusEnum.getValue())
+                .set(CareEventOrder::getModifyTime,DateUtil.date());
+    }
+    public  List<OrderKeyApplyVO> queryKeyAuthList(Long orderId){
+        List<OrderKeyApplyVO> result = Lists.newArrayList();
+        QueryWrapper<CareEventOrderKeyApply> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(CareEventOrderKeyApply::getOrderId,orderId).orderByDesc(CareEventOrderKeyApply::getCreateTime);
+        List<CareEventOrderKeyApply> ceocs = this.careEventOrderKeyApplyService.list(queryWrapper);
+        if (CollUtil.isNotEmpty(ceocs)){
+            ceocs.forEach(item -> {
+                OrderKeyApplyVO keyApplyVO = new OrderKeyApplyVO();
+                BeanUtil.copyProperties(item,keyApplyVO);
+            });
+        }
+        return  result;
+    }
+
+    /**
+     * 钥匙授权
+     * @param applyId
+     * @return
+     */
+    public boolean keyAuth(Long applyId){
+        UpdateWrapper<CareEventOrderKeyApply> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.lambda().eq(CareEventOrderKeyApply::getId,applyId)
+                .set(CareEventOrderKeyApply::getStatus,KeyAuthEnum.AUTHED.getValue());
+        return  this.careEventOrderKeyApplyService.update(updateWrapper);
+    }
+
+    /**
+     * 修改联系人状态
+     * @param orderContactId
+     * @param status
+     * @return
+     */
+    public boolean updateOrderContactStatus(Long orderContactId,Integer status){
+        UpdateWrapper<CareEventOrderContactStatus> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.lambda().eq(CareEventOrderContactStatus::getId,orderContactId)
+                .set(CareEventOrderContactStatus::getStatus,status);
+        return  this.careEventOrderContactStatusService.update(updateWrapper);
+    }
+
+    /**
+     * 获取通话结果
+     * @param hisId
+     */
+    public CcCallResultVO getCallRadio(Long hisId){
+        CareEventOrderHandleHis his = this.careEventOrderHandleHisService.getById(hisId);
+        if (his.getCallResultId()!= null){
+            return this.ccCallResultService.getCallResult(his.getCallResultId());
+        }else {
+            return null;
+        }
+
+    }
+    /**
+     * 将老人加入到 工单联系人
+     * @param order
+     * @param orderContactList
+     */
+    private void addOlderToOrderContact(CareEventOrder order,List<CareEventOrderContactStatus> orderContactList){
+        CareOlder older = this.careOlderService.getById(order.getOlderId());
+        CareEventOrderContactStatus orderContactStatus = new CareEventOrderContactStatus();
+        orderContactStatus.setOrgId(order.getOrgId());
+        orderContactStatus.setStationId(order.getStationId());
+        orderContactStatus.setOrderId(order.getId());
+        orderContactStatus.setContactRole(UserRoleEnum.OLDER.getValue());
+        orderContactStatus.setContactId(older.getId());
+        orderContactStatus.setStatus(ContactorStatusEnum.WEI_LIAN_XI.getValue());
+        orderContactStatus.setContactName(older.getName());
+        orderContactStatus.setContactPhone(older.getPhone());
+        orderContactStatus.setLongitude(older.getLongitude());
+        orderContactStatus.setLatitude(older.getLatitude());
+        orderContactStatus.setCreateTime(DateUtil.date());
+        orderContactStatus.setModifyTime(DateUtil.date());
+        orderContactStatus.setRelationTypeDesc(RelationTypeEnum.OLDER.getValue());
+        orderContactList.add(orderContactStatus);
+    }
+
+    /**
+     * 将管家加入到联系人当中
+     * @param order
+     * @param orderContactList
+     */
+    private void addChamberlainToOrderContact(CareEventOrder order,List<CareEventOrderContactStatus> orderContactList){
+        CareSysUser user = careChamberlainOlderRelService.getMainChamberlainByOlderId(order.getOlderId());
+        if (user != null){
+            CareEventOrderContactStatus orderContactStatus = new CareEventOrderContactStatus();
+            orderContactStatus.setOrgId(order.getOrgId());
+            orderContactStatus.setStationId(order.getStationId());
+            orderContactStatus.setOrderId(order.getId());
+            orderContactStatus.setContactRole(UserRoleEnum.CHANMB.getValue());
+            orderContactStatus.setContactId(user.getId());
+            orderContactStatus.setStatus(ContactorStatusEnum.WEI_LIAN_XI.getValue());
+            orderContactStatus.setContactName(user.getName());
+            orderContactStatus.setContactPhone(user.getPhone());
+            orderContactStatus.setLongitude(user.getLongitude());
+            orderContactStatus.setLatitude(user.getLatitude());
+            orderContactStatus.setCreateTime(DateUtil.date());
+            orderContactStatus.setModifyTime(DateUtil.date());
+            orderContactStatus.setRelationTypeDesc(RelationTypeEnum.CHANMB.getValue());
+            orderContactList.add(orderContactStatus);
+        }
+    }
+
+    /**
+     * 将紧急联系人加入到联系人当中
+     * @param order
+     * @param orderContactList
+     */
+    private void addContactToOrderContact(CareEventOrder order,List<CareEventOrderContactStatus> orderContactList){
+        List<CareOlderContact> cons = this.careOlderContactService.queryContactByOlderId(order.getOlderId());
+        if (CollUtil.isNotEmpty(cons)){
+            cons.forEach(item ->{
+                CareEventOrderContactStatus orderContactStatus = new CareEventOrderContactStatus();
+                orderContactStatus.setOrgId(order.getOrgId());
+                orderContactStatus.setStationId(order.getStationId());
+                orderContactStatus.setOrderId(order.getId());
+                orderContactStatus.setContactRole(UserRoleEnum.CONTACT.getValue());
+                orderContactStatus.setContactId(item.getId());
+                orderContactStatus.setStatus(ContactorStatusEnum.WEI_LIAN_XI.getValue());
+                orderContactStatus.setContactName(item.getName());
+                orderContactStatus.setContactPhone(item.getPhone());
+                orderContactStatus.setLongitude(item.getLongitude());
+                orderContactStatus.setLatitude(item.getLatitude());
+                orderContactStatus.setRelationTypeDesc(RelationTypeEnum.getCodeToName(item.getRelationType()));
+                orderContactStatus.setContactLevel(item.getContactLevel());
+                orderContactStatus.setCreateTime(DateUtil.date());
+                orderContactStatus.setModifyTime(DateUtil.date());
+                orderContactList.add(orderContactStatus);
+            });
+        }
+
+    }
+}

+ 7 - 8
src/main/java/com/care/bms/service/impl/CareSysUserServiceImpl.java

@@ -1,15 +1,13 @@
-package com.care.bms.service.impl;
+package com.care.bms.service;
 
 import cn.hutool.core.bean.BeanUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.care.common.entity.CareOrganization;
 import com.care.common.entity.CareSysUser;
 import com.care.common.exception.BDException;
+import com.care.common.service.CareOrganizationService;
+import com.care.common.service.CareSysUserService;
 import com.care.common.vo.UserLogindConvertVO;
-import com.care.common.mapper.CareSysUserMapper;
-import com.care.bms.service.CareOrganizationService;
-import com.care.bms.service.CareSysUserService;
 import org.apache.commons.codec.digest.DigestUtils;
 import org.springframework.stereotype.Service;
 
@@ -22,12 +20,13 @@ import javax.annotation.Resource;
  * @since 2021-05-21 00:08:38
  */
 @Service
-public class CareSysUserServiceImpl extends ServiceImpl<CareSysUserMapper, CareSysUser> implements CareSysUserService {
+public class BmsSysUserService{
 
     @Resource
     private CareOrganizationService careOrganizationService;
+    @Resource
+    private CareSysUserService careSysUserService;
 
-    @Override
     public UserLogindConvertVO getLoginUser(String orgCode, String phone,String password) {
         UserLogindConvertVO userLogindConvertVO = null;
         QueryWrapper<CareOrganization>  organizationQueryWrapper = new QueryWrapper<>();
@@ -39,7 +38,7 @@ public class CareSysUserServiceImpl extends ServiceImpl<CareSysUserMapper, CareS
         QueryWrapper<CareSysUser>  userQueryWrapper = new QueryWrapper<>();
         userQueryWrapper.lambda().eq(CareSysUser::getOrgId,org.getId())
                                 .eq(CareSysUser::getPhone,phone);
-        CareSysUser user = this.getOne(userQueryWrapper);
+        CareSysUser user = this.careSysUserService.getOne(userQueryWrapper);
         if (user != null){
             userLogindConvertVO = new UserLogindConvertVO();
             BeanUtil.copyProperties(user,userLogindConvertVO);

+ 0 - 37
src/main/java/com/care/bms/service/CareEventOrderService.java

@@ -1,37 +0,0 @@
-package com.care.bms.service;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.care.common.entity.CareEventOrder;
-import com.care.common.vo.PageReqVO;
-import com.care.common.vo.UserLogindConvertVO;
-import com.care.common.vo.event.CareEventOrderVO;
-
-/**
- * 事件定单表(CareEventOrder)表服务接口
- *
- * @author makejava
- * @since 2021-05-21 00:08:29
- */
-public interface CareEventOrderService extends IService<CareEventOrder> {
-
-    /**
-     * 事件查询
-     * @param orderStatus
-     * @param olderName
-     * @param loginUser
-     * @param pageReqVo
-     * @return
-     */
-    IPage<CareEventOrderVO> listEvent(String orderStatus, String olderName, UserLogindConvertVO loginUser, PageReqVO pageReqVo);
-
-    /**
-     * 我的处理事件 - 坐席
-     * @param orderStatus
-     * @param olderName
-     * @param loginUser
-     * @param pageReqVo
-     * @return
-     */
-    IPage<CareEventOrderVO> listEvent4MyDo(String orderStatus, String olderName, UserLogindConvertVO loginUser, PageReqVO pageReqVo);
-}

+ 0 - 18
src/main/java/com/care/bms/service/impl/CareChamberlainOlderRelServiceImpl.java

@@ -1,18 +0,0 @@
-package com.care.bms.service.impl;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.care.common.entity.CareChamberlainOlderRel;
-import com.care.common.mapper.CareChamberlainOlderRelMapper;
-import com.care.bms.service.CareChamberlainOlderRelService;
-import org.springframework.stereotype.Service;
-
-/**
- * 安全管家-被监护人关系表(CareChamberlainOlderRel)表服务实现类
- *
- * @author makejava
- * @since 2021-05-21 00:08:34
- */
-@Service
-public class CareChamberlainOlderRelServiceImpl extends ServiceImpl<CareChamberlainOlderRelMapper, CareChamberlainOlderRel> implements CareChamberlainOlderRelService {
-
-}

+ 0 - 110
src/main/java/com/care/bms/service/impl/CareEventOrderServiceImpl.java

@@ -1,110 +0,0 @@
-package com.care.bms.service.impl;
-
-import cn.hutool.core.collection.CollUtil;
-import cn.hutool.core.util.StrUtil;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-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.care.bms.service.CareEventOrderService;
-import com.care.common.entity.CareEventOrder;
-import com.care.common.enums.OrderStatusEnum;
-import com.care.common.enums.OrderTypeEnum;
-import com.care.common.mapper.CareEventOrderMapper;
-import com.care.common.vo.PageReqVO;
-import com.care.common.vo.UserLogindConvertVO;
-import com.care.common.vo.event.CareEventOrderVO;
-import org.springframework.beans.BeanUtils;
-import org.springframework.stereotype.Service;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * 事件定单表(CareEventOrder)表服务实现类
- *
- * @author makejava
- * @since 2021-05-21 00:08:29
- */
-@Service
-public class CareEventOrderServiceImpl extends ServiceImpl<CareEventOrderMapper, CareEventOrder> implements CareEventOrderService {
-
-    /**
-     * 工单查询
-     * @param orderStatus
-     * @param olderName
-     * @param loginUser
-     * @param pageReqVo
-     * @return
-     */
-    @Override
-    public IPage<CareEventOrderVO> listEvent(String orderStatus, String olderName, UserLogindConvertVO loginUser, PageReqVO pageReqVo) {
-        IPage<CareEventOrder> page = new Page<>(pageReqVo.getCurrent(), pageReqVo.getPageSize());
-        QueryWrapper<CareEventOrder> queryWrapper = new QueryWrapper<>();
-        queryWrapper.lambda().eq(StrUtil.isNotEmpty(orderStatus),CareEventOrder::getStatus, orderStatus)
-                .like(StrUtil.isNotEmpty(olderName),CareEventOrder::getOlderName,olderName)
-                .eq(CareEventOrder::getOrgId,loginUser.getOrgId())
-                .eq(loginUser.getStationId()!=null,CareEventOrder::getStationId,loginUser.getStationId())
-                .orderByAsc(CareEventOrder::getCreateTime);
-        /*if ("asc".equalsIgnoreCase(pageReqVo.getOrderBy())){
-            queryWrapper.lambda().orderByAsc(pageReqVo.getOrderField()!=null,pageReqVo.getOrderField());
-        }else{
-            queryWrapper.orderByDesc(pageReqVo.getOrderField()!=null,pageReqVo.getOrderField());
-        }*/
-
-
-        IPage<CareEventOrder> pageRes = this.page(page, queryWrapper);
-        IPage<CareEventOrderVO> results = new Page<>(pageRes.getCurrent(),pageRes.getSize(),pageRes.getTotal());
-        if(CollUtil.isNotEmpty(pageRes.getRecords())){
-            List<CareEventOrderVO> list = new ArrayList<>();
-            pageRes.getRecords().forEach(item -> {
-                CareEventOrderVO  resVO = new CareEventOrderVO();
-                BeanUtils.copyProperties(item,resVO);
-                resVO.setOrderTypeName(OrderTypeEnum.getCodeToName(item.getOrderType()));
-                resVO.setStatusName(OrderStatusEnum.getCodeToName(item.getStatus()));
-                list.add(resVO);
-            });
-            results.setRecords(list);
-        }
-        return results;
-    }
-
-    /**
-     * 我的处理事件 - 坐席
-     *
-     * @param orderStatus
-     * @param olderName
-     * @param loginUser
-     * @param pageReqVo
-     * @return
-     */
-    @Override
-    public IPage<CareEventOrderVO> listEvent4MyDo(String orderStatus, String olderName, UserLogindConvertVO loginUser, PageReqVO pageReqVo) {
-        IPage<CareEventOrder> page = new Page<>(pageReqVo.getCurrent(), pageReqVo.getPageSize());
-        QueryWrapper<CareEventOrder> queryWrapper = new QueryWrapper<>();
-        queryWrapper.lambda().eq(StrUtil.isNotEmpty(orderStatus),CareEventOrder::getStatus, orderStatus)
-                .like(StrUtil.isNotEmpty(olderName),CareEventOrder::getOlderName,olderName)
-                .eq(CareEventOrder::getOrgId,loginUser.getOrgId())
-                .eq(CareEventOrder::getSeatId,loginUser.getId())
-                .orderByAsc(CareEventOrder::getModifyTime);;
-       /* if ("asc".equalsIgnoreCase(pageReqVo.getOrderBy())){
-            queryWrapper.orderByAsc(pageReqVo.getOrderField()!=null,pageReqVo.getOrderField());
-        }else{
-            queryWrapper.orderByDesc(pageReqVo.getOrderField()!=null,pageReqVo.getOrderField());
-        }*/
-        IPage<CareEventOrder> pageRes = this.page(page, queryWrapper);
-        IPage<CareEventOrderVO> results = new Page<>(pageRes.getCurrent(),pageRes.getSize(),pageRes.getTotal());
-        if(CollUtil.isNotEmpty(pageRes.getRecords())){
-            List<CareEventOrderVO> list = new ArrayList<>();
-            pageRes.getRecords().forEach(item -> {
-                CareEventOrderVO  resVO = new CareEventOrderVO();
-                BeanUtils.copyProperties(item,resVO);
-                resVO.setOrderTypeName(OrderTypeEnum.getCodeToName(item.getOrderType()));
-                resVO.setStatusName(OrderStatusEnum.getCodeToName(item.getStatus()));
-                list.add(resVO);
-            });
-            results.setRecords(list);
-        }
-        return results;
-    }
-}

+ 0 - 18
src/main/java/com/care/bms/service/impl/CareOlderContactServiceImpl.java

@@ -1,18 +0,0 @@
-package com.care.bms.service.impl;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.care.common.entity.CareOlderContact;
-import com.care.common.mapper.CareOlderContactMapper;
-import com.care.bms.service.CareOlderContactService;
-import org.springframework.stereotype.Service;
-
-/**
- * 被监护人紧急联系人(BigSreenOlderContactVO)表服务实现类
- *
- * @author makejava
- * @since 2021-05-21 00:08:27
- */
-@Service
-public class CareOlderContactServiceImpl extends ServiceImpl<CareOlderContactMapper, CareOlderContact> implements CareOlderContactService {
-
-}

+ 4 - 0
src/main/java/com/care/common/cache/RedisKeyConstant.java

@@ -30,4 +30,8 @@ public class RedisKeyConstant {
     // 绑定手机号短信验证码 5min
     public static final String V_CODE_BIND_MSG = "V_CODE:MSG";
     public static final int V_CODE_BIND_MSG_TIME = 60 * 5;
+
+    //工单处理,同一工单仅1个人处理
+    public static final String DO_ORDER = "SEAT_DO_ORDER:LOCK";
+
 }

+ 25 - 1
src/main/java/com/care/common/cache/RedisUtil.java

@@ -545,5 +545,29 @@ public class RedisUtil {
             e.printStackTrace();  
             return 0;  
         }  
-    }  
+    }
+
+    // ===============lock ==================
+
+    /**
+     * 加锁
+     * @param key
+     * @param time
+     * @return
+     */
+    public Boolean tryLock(String key,long time) {
+        return redisTemplate.opsForValue().setIfAbsent(key,"1",time,TimeUnit.SECONDS);
+    }
+
+    /**
+     * 释放锁
+     * @param key
+     * @return
+     */
+    public void releaseLock(String key) {
+        Object currentValue = redisTemplate.opsForValue().get(key);
+        if (currentValue != null) {
+            redisTemplate.delete(key);
+        }
+    }
 }

+ 16 - 1
src/main/java/com/care/common/config/SwaggerConfig.java

@@ -81,7 +81,22 @@ public class SwaggerConfig {
     public Docket docketB(){
         return new Docket(DocumentationType.SWAGGER_2)
                 //设置分组名
-                .groupName("模块接口文档B");
+                .groupName("后台接口文档")
+                .apiInfo(new ApiInfo(
+                        "Swagger API文档标题",
+                        "Swagger API文档描述",
+                        "V1.0",
+                        "106",
+                        new Contact("作者名", "作者博客Url", "作者邮箱Email"),
+                        "Apache 2.0",
+                        "http://www.apache.org/licenses/LICENSE-2.0",
+                        new ArrayList<>()
+                ))
+                //配置 Swagger 信息
+                .select()
+                //basePackage("相对包路径"):指定要扫描的包(常用)
+                .apis(RequestHandlerSelectors.basePackage("com.care.bms"))
+                .build();
     }
 
 }

+ 2 - 2
src/main/java/com/care/common/entity/CareChamberlainOlderRel.java

@@ -16,7 +16,7 @@ import java.io.Serializable;
  * 安全管家-被监护人关系表(CareChamberlainOlderRel)实体类
  *
  * @author makejava
- * @since 2021-05-21 00:08:33
+ * @since 2021-05-29 14:38:06
  */
 
 @Data
@@ -25,7 +25,7 @@ import java.io.Serializable;
 @TableName("care_chamberlain_older_rel")
 @ApiModel(value = "安全管家-被监护人关系表", description = "")
 public class CareChamberlainOlderRel implements Serializable {
-    private static final long serialVersionUID = 444367176801175730L;
+    private static final long serialVersionUID = -59191434539586970L;
 
     @TableId(value = "ID", type = IdType.AUTO)
     private Long id;

+ 2 - 2
src/main/java/com/care/common/entity/CareEventOrder.java

@@ -17,7 +17,7 @@ import java.util.Date;
  * 事件定单表(CareEventOrder)实体类
  *
  * @author makejava
- * @since 2021-05-27 23:33:24
+ * @since 2021-05-29 14:38:09
  */
 
 @Data
@@ -26,7 +26,7 @@ import java.util.Date;
 @TableName("care_event_order")
 @ApiModel(value = "事件定单表", description = "")
 public class CareEventOrder implements Serializable {
-    private static final long serialVersionUID = -76796386405624927L;
+    private static final long serialVersionUID = 237959753917020691L;
 
     @TableId(value = "ID", type = IdType.AUTO)
     private Long id;

+ 35 - 5
src/main/java/com/care/common/entity/CareEventOrderContactStatus.java

@@ -17,7 +17,7 @@ import java.util.Date;
  * 事件-紧急联系人/管家状态(CareEventOrderContactStatus)实体类
  *
  * @author makejava
- * @since 2021-05-21 00:08:39
+ * @since 2021-05-29 16:02:23
  */
 
 @Data
@@ -26,7 +26,7 @@ import java.util.Date;
 @TableName("care_event_order_contact_status")
 @ApiModel(value = "事件-紧急联系人/管家状态", description = "")
 public class CareEventOrderContactStatus implements Serializable {
-    private static final long serialVersionUID = -12626611302622664L;
+    private static final long serialVersionUID = 834255079963159982L;
 
     @TableId(value = "ID", type = IdType.AUTO)
     private Long id;
@@ -47,7 +47,7 @@ public class CareEventOrderContactStatus implements Serializable {
     private Long orderId;
 
 
-    @ApiModelProperty("联系角色: 1:紧急联系人 2:管家")
+    @ApiModelProperty("联系角色 chanmb管家 contact紧联系人 older 老人")
     @TableField("CONTACT_ROLE")
     private String contactRole;
 
@@ -57,9 +57,19 @@ public class CareEventOrderContactStatus implements Serializable {
     private Long contactId;
 
 
-    @ApiModelProperty("状态:1未联系,2未接通,3:已赶往 4:已到达 5已获取钥匙 ")
+    @ApiModelProperty("状态:1未联系,2未接通,3已联系 4无法赶往 5:已赶往 6:已到达 7申请钥匙 8已获取钥匙")
     @TableField("STATUS")
-    private String status;
+    private Integer status;
+
+
+    @ApiModelProperty("联系人姓名")
+    @TableField("CONTACT_NAME")
+    private String contactName;
+
+
+    @ApiModelProperty("联系电话")
+    @TableField("CONTACT_PHONE")
+    private String contactPhone;
 
 
     @ApiModelProperty("处理结果")
@@ -82,4 +92,24 @@ public class CareEventOrderContactStatus implements Serializable {
     private Date modifyTime;
 
 
+    @ApiModelProperty("关系类别")
+    @TableField("RELATION_TYPE_DESC")
+    private String relationTypeDesc;
+
+
+    @ApiModelProperty("联系级别")
+    @TableField("CONTACT_LEVEL")
+    private Integer contactLevel;
+
+
+    @ApiModelProperty("经度")
+    @TableField("LONGITUDE")
+    private Double longitude;
+
+
+    @ApiModelProperty("纬度")
+    @TableField("LATITUDE")
+    private Double latitude;
+
+
 }

+ 40 - 15
src/main/java/com/care/common/entity/CareEventOrderHandleHis.java

@@ -14,19 +14,19 @@ import java.io.Serializable;
 import java.util.Date;
 
 /**
- * 事件-坐席处理历史(CareEventOrderHandleHis)实体类
+ * 事件-处理历史(CareEventOrderHandleHis)实体类
  *
  * @author makejava
- * @since 2021-05-21 00:08:34
+ * @since 2021-05-30 13:15:41
  */
 
 @Data
 @EqualsAndHashCode(callSuper = false)
 @Accessors(chain = true)
 @TableName("care_event_order_handle_his")
-@ApiModel(value = "事件-坐席处理历史", description = "")
+@ApiModel(value = "事件-处理历史", description = "")
 public class CareEventOrderHandleHis implements Serializable {
-    private static final long serialVersionUID = 186961543532866383L;
+    private static final long serialVersionUID = 457100022870050091L;
 
     @TableId(value = "ID", type = IdType.AUTO)
     private Long id;
@@ -47,27 +47,42 @@ public class CareEventOrderHandleHis implements Serializable {
     private Long orderId;
 
 
-    @ApiModelProperty("处理分类: 1:联系老人 2:联系紧急联系人 3联系管家 4联系120  5钥匙授权 ")
-    @TableField("HANDLE_TYPE")
-    private Integer handleType;
+    @ApiModelProperty("日志类型:0: 老人事件  1:联系老人 2:联系紧急联系人 3联系管家 4联系120  5钥匙申请 6钥匙授权 7管家到达打卡 8管家归还钥匙 9管家离开打卡 10上报处理结果")
+    @TableField("LOG_TYPE")
+    private Integer logType;
 
 
-    @ApiModelProperty("处理结果")
-    @TableField("HANDLE_RESULT")
-    private String handleResult;
+    @ApiModelProperty("操作对象")
+    @TableField("LOG_OBJECT_ID")
+    private Long logObjectId;
+
+
+    @ApiModelProperty("操作对象")
+    @TableField("LOG_OBJECT_NAME")
+    private String logObjectName;
+
+
+    @ApiModelProperty("操作结果")
+    @TableField("LOG_RESULT")
+    private String logResult;
+
+
+    @ApiModelProperty("chanmb管家 contact紧联系人")
+    @TableField("OP_USER_ROLE")
+    private String opUserRole;
 
 
     @ApiModelProperty("处理人ID")
-    @TableField("SEAT_ID")
-    private Long seatId;
+    @TableField("OP_USER_ID")
+    private Long opUserId;
 
 
     @ApiModelProperty("处理人姓名")
-    @TableField("SEAT_NAME")
-    private String seatName;
+    @TableField("OP_USER_NAME")
+    private String opUserName;
 
 
-     @ApiModelProperty("createTime")
+    @ApiModelProperty("createTime")
     @TableField("CREATE_TIME")
     private Date createTime;
 
@@ -77,4 +92,14 @@ public class CareEventOrderHandleHis implements Serializable {
     private Date modifyTime;
 
 
+    @ApiModelProperty("关系类别")
+    @TableField("RELATION_TYPE_DESC")
+    private String relationTypeDesc;
+
+
+    @ApiModelProperty("呼叫结果ID")
+    @TableField("CALL_RESULT_ID")
+    private Long callResultId;
+
+
 }

+ 100 - 0
src/main/java/com/care/common/entity/CareEventOrderKeyApply.java

@@ -0,0 +1,100 @@
+package com.care.common.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 事件工单-钥匙申请记录(CareEventOrderKeyApply)实体类
+ *
+ * @author makejava
+ * @since 2021-05-30 12:37:50
+ */
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("care_event_order_key_apply")
+@ApiModel(value = "事件工单-钥匙申请记录", description = "")
+public class CareEventOrderKeyApply implements Serializable {
+    private static final long serialVersionUID = -10293834624867160L;
+
+    @TableId(value = "ID", type = IdType.AUTO)
+    private Long id;
+
+
+    @ApiModelProperty("机构ID")
+    @TableField("ORG_ID")
+    private Long orgId;
+
+
+    @ApiModelProperty("服务站ID")
+    @TableField("STATION_ID")
+    private Long stationId;
+
+
+    @ApiModelProperty("工单ID")
+    @TableField("ORDER_ID")
+    private Long orderId;
+
+
+    @ApiModelProperty("申请人角色 chanmb管家 contact紧联系人")
+    @TableField("APPLY_ROLE")
+    private String applyRole;
+
+
+    @ApiModelProperty("申请人ID")
+    @TableField("APPLY_USER_ID")
+    private Long applyUserId;
+
+
+    @ApiModelProperty("联系人姓名")
+    @TableField("APPLY_USER_NAME")
+    private String applyUserName;
+
+
+    @ApiModelProperty("状态:0:未处理 1 已授权 2已归还")
+    @TableField("STATUS")
+    private String status;
+
+
+    @ApiModelProperty("钥匙密码")
+    @TableField("KEY_PASS")
+    private String keyPass;
+
+
+    @ApiModelProperty("处理结果")
+    @TableField("HANDLE_RESULT")
+    private String handleResult;
+
+
+    @ApiModelProperty("坐席ID")
+    @TableField("SEAT_ID")
+    private Long seatId;
+
+
+    @ApiModelProperty("createTime")
+    @TableField("CREATE_TIME")
+    private Date createTime;
+
+
+    @ApiModelProperty("modifyTime")
+    @TableField("MODIFY_TIME")
+    private Date modifyTime;
+
+
+    @ApiModelProperty("关系类别")
+    @TableField("RELATION_TYPE_DESC")
+    private String relationTypeDesc;
+
+
+}

+ 10 - 5
src/main/java/com/care/common/entity/CareOlderContact.java

@@ -14,10 +14,10 @@ import java.io.Serializable;
 import java.util.Date;
 
 /**
- * 被监护人紧急联系人(BigSreenOlderContactVO)实体类
+ * 被监护人紧急联系人(CareOlderContact)实体类
  *
  * @author makejava
- * @since 2021-05-21 00:08:19
+ * @since 2021-05-29 14:43:25
  */
 
 @Data
@@ -26,7 +26,7 @@ import java.util.Date;
 @TableName("care_older_contact")
 @ApiModel(value = "被监护人紧急联系人", description = "")
 public class CareOlderContact implements Serializable {
-    private static final long serialVersionUID = -65396308103537399L;
+    private static final long serialVersionUID = -95022212755613351L;
 
     @TableId(value = "ID", type = IdType.AUTO)
     private Long id;
@@ -42,6 +42,11 @@ public class CareOlderContact implements Serializable {
     private Long stationId;
 
 
+    @ApiModelProperty("被监护人ID")
+    @TableField("OLDER_ID")
+    private Long olderId;
+
+
     @ApiModelProperty("姓名")
     @TableField("NAME")
     private String name;
@@ -62,9 +67,9 @@ public class CareOlderContact implements Serializable {
     private String gender;
 
 
-    @ApiModelProperty("关系类别:1:亲属  2:邻居")
+    @ApiModelProperty("关系类别:kinsman亲属  neighbor:邻居")
     @TableField("RELATION_TYPE")
-    private Integer relationType;
+    private String relationType;
 
 
     @ApiModelProperty("联系级别")

+ 1 - 1
src/main/java/com/care/common/entity/CareSysUser.java

@@ -62,7 +62,7 @@ public class CareSysUser implements Serializable {
     private String gender;
 
 
-    @ApiModelProperty("状态:1正常;2:休假")
+    @ApiModelProperty("状态:1正常;2:休假 3忙碌")
     @TableField("STATUS")
     private String status;
 

+ 0 - 1
src/main/java/com/care/common/entity/CcCallResult.java

@@ -96,5 +96,4 @@ public class CcCallResult implements Serializable {
     @TableField("update_time")
     private Date updateTime;
 
-
 }

+ 59 - 0
src/main/java/com/care/common/enums/ContactorStatusEnum.java

@@ -0,0 +1,59 @@
+package com.care.common.enums;
+
+
+import cn.hutool.core.util.StrUtil;
+
+/**
+ * @Author:java
+ * @Date: 2021/05/27
+ */
+public enum ContactorStatusEnum {
+    /**
+     *
+     */
+    WEI_LIAN_XI(1,"未联系"),
+    WEI_JIE_TONG(2,"未接通"),
+    YI_LIAN_XI(3,"已联系"),
+    WU_FA_GAN_WANG(4,"无法赶往"),
+    YI_GAN_WANG(5,"已赶往"),
+    YI_DAO_DA(6,"已到达"),
+    SHEN_QING_YAO_SHI(7,"申请钥匙"),
+    YI_HUO_QU_YAOS_HI(8,"已获取钥匙"),
+    GUI_HUAN_YAOS_HI(9,"归还钥匙");
+    private Integer value;
+    private String name;
+    ContactorStatusEnum(Integer value, String name) {
+        this.value = value;
+        this.name = name;
+    }
+    public Integer getValue() {
+        return value;
+    }
+
+    public static String getCodeToName(Integer code){
+        if (code == null){
+            return null;
+        }
+        if (WEI_LIAN_XI.getValue().intValue() == code.intValue()){
+            return  WEI_LIAN_XI.name;
+        }else if (WEI_JIE_TONG.getValue().intValue() == code.intValue()){
+            return  WEI_JIE_TONG.name;
+        }else if (YI_LIAN_XI.getValue().intValue() == code.intValue()){
+            return  YI_LIAN_XI.name;
+        }else if (WU_FA_GAN_WANG.getValue().intValue() == code.intValue()){
+            return WU_FA_GAN_WANG.name;
+        }else if (YI_GAN_WANG.getValue().intValue() == code.intValue()){
+            return YI_GAN_WANG.name;
+        }else if (YI_DAO_DA.getValue().intValue() == code.intValue()){
+            return YI_DAO_DA.name;
+        }else if (SHEN_QING_YAO_SHI.getValue().intValue() == code.intValue()){
+            return SHEN_QING_YAO_SHI.name;
+        }else if (YI_HUO_QU_YAOS_HI.getValue().intValue() == code.intValue()){
+            return YI_HUO_QU_YAOS_HI.name;
+        }else if (GUI_HUAN_YAOS_HI.getValue().intValue() == code.intValue()){
+            return GUI_HUAN_YAOS_HI.name;
+        }
+
+        return null;
+    }
+}

+ 41 - 0
src/main/java/com/care/common/enums/KeyAuthEnum.java

@@ -0,0 +1,41 @@
+package com.care.common.enums;
+
+
+import cn.hutool.core.util.StrUtil;
+
+/**
+ * @Author:java
+ * @Date: 2021/05/27
+ */
+public enum KeyAuthEnum {
+    /**
+     * 钥匙授权
+     */
+    TODO("1","申请授权"),
+    AUTHED("SEAT","已授权"),
+    RETURN("older","归还");
+    private String value;
+    private String name;
+    KeyAuthEnum(String value, String name) {
+        this.value = value;
+        this.name = name;
+    }
+    public String getValue() {
+        return value;
+    }
+
+    public static String getCodeToName(String code){
+        if (StrUtil.isEmpty(code)){
+            return null;
+        }
+        if (TODO.getValue().equals(code)){
+            return  TODO.name;
+        }else if (AUTHED.getValue().equals(code)){
+            return  AUTHED.name;
+        }else if (RETURN.getValue().equals(code)){
+            return  RETURN.name;
+        }
+
+        return null;
+    }
+}

+ 21 - 21
src/main/java/com/care/common/enums/OlderStatusEnum.java

@@ -11,13 +11,13 @@ public enum OlderStatusEnum {
     /**
      *
      */
-    ZHENGCHANG("10","正常"),
-    LIKAI_FANGJIAN("11","离开房间"),
-    JIUZHI("21","久滞"),
-    DIEDAO("22",""),
-    ZHUICHUANG("23","坠床"),
-    ZHUDONGHUJIAO("31","4主动呼叫"),
-    HUWAIHUJIAO("32","户外呼叫");
+    ZHENG_CHANG("10","正常"),
+    LI_KAI_FANG_JIAN("11","离开房间"),
+    JIU_ZHI("21","久滞"),
+    DIE_DAO("22",""),
+    ZHUI_CHUANG("23","坠床"),
+    ZHU_DONG_HU_JIAO("31","主动呼叫"),
+    HU_WAI_HU_JIAO("32","户外呼叫");
     private String value;
     private String name;
     OlderStatusEnum(String value, String name) {
@@ -32,20 +32,20 @@ public enum OlderStatusEnum {
         if (StrUtil.isEmpty(code)){
             return null;
         }
-        if (ZHENGCHANG.getValue().equals(code)){
-            return  ZHENGCHANG.name;
-        }else if (LIKAI_FANGJIAN.getValue().equals(code)){
-            return  LIKAI_FANGJIAN.name;
-        }else if (DIEDAO.getValue().equals(code)){
-            return  DIEDAO.name;
-        }else if (JIUZHI.getValue().equals(code)){
-            return JIUZHI.name;
-        }else if (ZHUICHUANG.getValue().equals(code)){
-            return ZHUICHUANG.name;
-        }else if (ZHUDONGHUJIAO.getValue().equals(code)){
-            return ZHUDONGHUJIAO.name;
-        }else if (HUWAIHUJIAO.getValue().equals(code)){
-            return HUWAIHUJIAO.name;
+        if (ZHENG_CHANG.getValue().equals(code)){
+            return  ZHENG_CHANG.name;
+        }else if (LI_KAI_FANG_JIAN.getValue().equals(code)){
+            return  LI_KAI_FANG_JIAN.name;
+        }else if (DIE_DAO.getValue().equals(code)){
+            return  DIE_DAO.name;
+        }else if (JIU_ZHI.getValue().equals(code)){
+            return JIU_ZHI.name;
+        }else if (ZHUI_CHUANG.getValue().equals(code)){
+            return ZHUI_CHUANG.name;
+        }else if (ZHU_DONG_HU_JIAO.getValue().equals(code)){
+            return ZHU_DONG_HU_JIAO.name;
+        }else if (HU_WAI_HU_JIAO.getValue().equals(code)){
+            return HU_WAI_HU_JIAO.name;
         }
 
         return null;

+ 4 - 4
src/main/java/com/care/common/enums/OrderStatusEnum.java

@@ -14,8 +14,8 @@ public enum OrderStatusEnum {
      */
     TODO("0","未处理"),
     DOING("1","处理中"),
-    CANCEL("2","已完成"),
-    DONE("3","主动取消"),
+    COMPLETE("2","已完成"),
+    CANCEL("3","主动取消"),
     FILING("4","已归档");
     private String value;
     private String name;
@@ -35,10 +35,10 @@ public enum OrderStatusEnum {
             return  TODO.name;
         }else if (DOING.getValue().equals(code)){
             return DOING.name;
+        }else if (COMPLETE.getValue().equals(code)){
+            return COMPLETE.name;
         }else if (CANCEL.getValue().equals(code)){
             return CANCEL.name;
-        }else if (DONE.getValue().equals(code)){
-            return DONE.name;
         }else if (FILING.getValue().equals(code)){
             return FILING.name;
         }

+ 15 - 15
src/main/java/com/care/common/enums/OrderTypeEnum.java

@@ -12,11 +12,11 @@ public enum OrderTypeEnum {
     /**
      * 1:跌倒 2:久滞 3坠床 4主动呼叫 5户外呼叫
      */
-    DIEDAO("21","跌倒"),
-    JIUZHI("22","久滞"),
-    ZHUICHUANG("23","坠床"),
-    ZHUDONGHUJIAO("31","主动呼叫"),
-    HUWAIHUJIAO("32","户外呼叫");
+    DI_EDAO("21","跌倒"),
+    JIU_ZHI("22","久滞"),
+    ZHUI_CHUANG("23","坠床"),
+    ZHU_DONG_HU_JIAO("31","主动呼叫"),
+    HU_WAI_HU_JIAO("32","户外呼叫");
     private String value;
     private String name;
     OrderTypeEnum(String value, String name) {
@@ -31,16 +31,16 @@ public enum OrderTypeEnum {
         if (StrUtil.isEmpty(code)){
             return null;
         }
-        if (DIEDAO.getValue().equals(code)){
-            return  DIEDAO.name;
-        }else if (JIUZHI.getValue().equals(code)){
-            return JIUZHI.name;
-        }else if (ZHUICHUANG.getValue().equals(code)){
-            return ZHUICHUANG.name;
-        }else if (ZHUDONGHUJIAO.getValue().equals(code)){
-            return ZHUDONGHUJIAO.name;
-        }else if (HUWAIHUJIAO.getValue().equals(code)){
-            return HUWAIHUJIAO.name;
+        if (DI_EDAO.getValue().equals(code)){
+            return  DI_EDAO.name;
+        }else if (JIU_ZHI.getValue().equals(code)){
+            return JIU_ZHI.name;
+        }else if (ZHUI_CHUANG.getValue().equals(code)){
+            return ZHUI_CHUANG.name;
+        }else if (ZHU_DONG_HU_JIAO.getValue().equals(code)){
+            return ZHU_DONG_HU_JIAO.name;
+        }else if (HU_WAI_HU_JIAO.getValue().equals(code)){
+            return HU_WAI_HU_JIAO.name;
         }
 
         return null;

+ 47 - 0
src/main/java/com/care/common/enums/RelationTypeEnum.java

@@ -0,0 +1,47 @@
+package com.care.common.enums;
+
+
+import cn.hutool.core.util.StrUtil;
+
+/**
+ * @Author:java
+ * @Date: 2021/05/27
+ */
+public enum RelationTypeEnum {
+    /**
+     * 关系
+     */
+    OLDER("older","本人"),
+    KINSMAN("kinsman","亲属"),
+    NEIGHBOR("neighbor","邻居"),
+    CHANMB("chanmb","管家"),
+    OTHER("other","其他");
+    private String value;
+    private String name;
+    RelationTypeEnum(String value, String name) {
+        this.value = value;
+        this.name = name;
+    }
+    public String getValue() {
+        return value;
+    }
+
+    public static String getCodeToName(String code){
+        if (StrUtil.isEmpty(code)){
+            return null;
+        }
+        if (OLDER.getValue().equals(code)){
+            return  OLDER.name;
+        }else if (KINSMAN.getValue().equals(code)){
+            return  KINSMAN.name;
+        }else if (NEIGHBOR.getValue().equals(code)){
+            return  NEIGHBOR.name;
+        }else if (CHANMB.getValue().equals(code)){
+            return CHANMB.name;
+        }else if (OTHER.getValue().equals(code)){
+            return OTHER.name;
+        }
+
+        return null;
+    }
+}

+ 47 - 0
src/main/java/com/care/common/enums/UserRoleEnum.java

@@ -0,0 +1,47 @@
+package com.care.common.enums;
+
+
+import cn.hutool.core.util.StrUtil;
+
+/**
+ * @Author:java
+ * @Date: 2021/05/27
+ */
+public enum UserRoleEnum {
+    /**
+     *
+     */
+    CHANMB("chanmb","管家"),
+    SEAT("SEAT","坐席"),
+    OLDER("older","老人"),
+    CONTACT("contact","紧急联系人"),
+    ADMIN("admin","管理员");
+    private String value;
+    private String name;
+    UserRoleEnum(String value, String name) {
+        this.value = value;
+        this.name = name;
+    }
+    public String getValue() {
+        return value;
+    }
+
+    public static String getCodeToName(String code){
+        if (StrUtil.isEmpty(code)){
+            return null;
+        }
+        if (CHANMB.getValue().equals(code)){
+            return  CHANMB.name;
+        }else if (SEAT.getValue().equals(code)){
+            return  SEAT.name;
+        }else if (OLDER.getValue().equals(code)){
+            return  OLDER.name;
+        }else if (CONTACT.getValue().equals(code)){
+            return CONTACT.name;
+        }else if (ADMIN.getValue().equals(code)){
+            return ADMIN.name;
+        }
+
+        return null;
+    }
+}

+ 0 - 1
src/main/java/com/care/common/exception/BDException.java

@@ -59,5 +59,4 @@ public class BDException extends RuntimeException {
         this.code = code;
     }
 
-
 }

+ 1 - 1
src/main/java/com/care/common/interceptor/ControllerInterceptor.java

@@ -157,7 +157,7 @@ public class ControllerInterceptor {
             }
         } catch (Throwable e) {
             logger.error("exception: ", e);
-            result = new PageResult(ResultCode.UNKNOWN, StrUtil.isNotBlank(e.getMessage()) ? e.getMessage() : "请求服务器出现异常, 请稍后重试.",null);
+            result = new PageResult(ResultCode.UNKNOWN, StrUtil.isNotBlank(e.getMessage()) ? e.getMessage() : "请求服务器出现异常, 请稍后重试.",e.getMessage());
         }
         if (result instanceof Result) {
             logger.debug("请求结束,方法:{} -> 耗时:{}ms", methodName, System.currentTimeMillis() - beginTime);

+ 15 - 0
src/main/java/com/care/common/mapper/CareEventOrderKeyApplyMapper.java

@@ -0,0 +1,15 @@
+package com.care.common.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.care.common.entity.CareEventOrderKeyApply;
+
+
+/**
+ * 事件工单-钥匙申请记录(CareEventOrderKeyApply)表数据库访问层
+ *
+ * @author makejava
+ * @since 2021-05-29 15:45:38
+ */
+public interface CareEventOrderKeyApplyMapper extends BaseMapper<CareEventOrderKeyApply> {
+
+}

+ 2 - 1
src/main/java/com/care/common/mapper/CcCallResultMapper.java

@@ -2,6 +2,7 @@ package com.care.common.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.care.common.entity.CcCallResult;
+import com.care.common.vo.outcall.CcCallResultVO;
 
 
 /**
@@ -11,5 +12,5 @@ import com.care.common.entity.CcCallResult;
  * @since 2021-05-21 00:08:28
  */
 public interface CcCallResultMapper extends BaseMapper<CcCallResult> {
-
+    CcCallResultVO getCallResult(Long id);
 }

+ 10 - 2
src/main/java/com/care/bms/service/CareChamberlainOlderRelService.java

@@ -1,7 +1,10 @@
-package com.care.bms.service;
+package com.care.common.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.care.common.entity.CareChamberlainOlderRel;
+import com.care.common.entity.CareSysUser;
+
+import java.util.List;
 
 /**
  * 安全管家-被监护人关系表(CareChamberlainOlderRel)表服务接口
@@ -10,5 +13,10 @@ import com.care.common.entity.CareChamberlainOlderRel;
  * @since 2021-05-21 00:08:34
  */
 public interface CareChamberlainOlderRelService extends IService<CareChamberlainOlderRel> {
-
+    /**
+     * 获取老人的管家
+     * @param olderId
+     * @return
+     */
+    CareSysUser getMainChamberlainByOlderId(Long olderId);
 }

+ 1 - 1
src/main/java/com/care/bms/service/CareDeviceService.java

@@ -1,4 +1,4 @@
-package com.care.bms.service;
+package com.care.common.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.care.common.entity.CareDevice;

+ 1 - 1
src/main/java/com/care/bms/service/CareEventOrderContactStatusService.java

@@ -1,4 +1,4 @@
-package com.care.bms.service;
+package com.care.common.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.care.common.entity.CareEventOrderContactStatus;

+ 1 - 1
src/main/java/com/care/bms/service/CareEventOrderHandleHisService.java

@@ -1,4 +1,4 @@
-package com.care.bms.service;
+package com.care.common.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.care.common.entity.CareEventOrderHandleHis;

+ 14 - 0
src/main/java/com/care/common/service/CareEventOrderKeyApplyService.java

@@ -0,0 +1,14 @@
+package com.care.common.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.care.common.entity.CareEventOrderKeyApply;
+
+/**
+ * 事件工单-钥匙申请记录(CareEventOrderKeyApply)表服务接口
+ *
+ * @author makejava
+ * @since 2021-05-29 15:45:39
+ */
+public interface CareEventOrderKeyApplyService extends IService<CareEventOrderKeyApply> {
+
+}

+ 13 - 0
src/main/java/com/care/common/service/CareEventOrderService.java

@@ -0,0 +1,13 @@
+package com.care.common.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.care.common.entity.CareEventOrder;
+
+/**
+ * 事件定单表(CareEventOrder)表服务接口
+ *
+ * @author makejava
+ * @since 2021-05-21 00:08:29
+ */
+public interface CareEventOrderService extends IService<CareEventOrder> {
+}

+ 10 - 1
src/main/java/com/care/bms/service/CareOlderContactService.java

@@ -1,8 +1,10 @@
-package com.care.bms.service;
+package com.care.common.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.care.common.entity.CareOlderContact;
 
+import java.util.List;
+
 /**
  * 被监护人紧急联系人(BigSreenOlderContactVO)表服务接口
  *
@@ -11,4 +13,11 @@ import com.care.common.entity.CareOlderContact;
  */
 public interface CareOlderContactService extends IService<CareOlderContact> {
 
+    /**
+     * 查询老人-紧急联系人
+     * @param olderId
+     * @return
+     */
+    List<CareOlderContact> queryContactByOlderId(Long olderId);
+
 }

+ 1 - 1
src/main/java/com/care/bms/service/CareOlderDeviceRelService.java

@@ -1,4 +1,4 @@
-package com.care.bms.service;
+package com.care.common.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.care.common.entity.CareOlderDeviceRel;

+ 1 - 1
src/main/java/com/care/bms/service/CareOlderService.java

@@ -1,4 +1,4 @@
-package com.care.bms.service;
+package com.care.common.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.care.common.entity.CareOlder;

+ 1 - 1
src/main/java/com/care/bms/service/CareOrganizationService.java

@@ -1,4 +1,4 @@
-package com.care.bms.service;
+package com.care.common.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.care.common.entity.CareOrganization;

+ 1 - 1
src/main/java/com/care/bms/service/CareStationService.java

@@ -1,4 +1,4 @@
-package com.care.bms.service;
+package com.care.common.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.care.common.entity.CareStation;

+ 1 - 2
src/main/java/com/care/bms/service/CareSysUserService.java

@@ -1,4 +1,4 @@
-package com.care.bms.service;
+package com.care.common.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.care.common.entity.CareSysUser;
@@ -11,5 +11,4 @@ import com.care.common.vo.UserLogindConvertVO;
  * @since 2021-05-21 00:08:38
  */
 public interface CareSysUserService extends IService<CareSysUser> {
-    UserLogindConvertVO getLoginUser(String orgCode, String phone,String password);
 }

+ 9 - 3
src/main/java/com/care/bms/service/CcCallResultService.java

@@ -1,14 +1,20 @@
-package com.care.bms.service;
+package com.care.common.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.care.common.entity.CcCallResult;
+import com.care.common.vo.outcall.CcCallResultVO;
 
 /**
  * 外呼结果表(CcCallResult)表服务接口
  *
  * @author makejava
- * @since 2021-05-21 00:08:28
+ * @since 2021-05-30 13:13:26
  */
 public interface CcCallResultService extends IService<CcCallResult> {
-
+    /**
+     * 获取呼叫结果
+     * @param id
+     * @return
+     */
+    CcCallResultVO getCallResult(Long id);
 }

+ 1 - 1
src/main/java/com/care/bms/service/CommonService.java

@@ -1,4 +1,4 @@
-package com.care.bms.service;
+package com.care.common.service;
 
 import com.care.common.entity.SysDimCode;
 

+ 1 - 1
src/main/java/com/care/bms/service/SysDimCodeService.java

@@ -1,4 +1,4 @@
-package com.care.bms.service;
+package com.care.common.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.care.common.entity.SysDimCode;

+ 1 - 1
src/main/java/com/care/bms/service/SysDimTypeService.java

@@ -1,4 +1,4 @@
-package com.care.bms.service;
+package com.care.common.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.care.common.entity.SysDimType;

+ 45 - 0
src/main/java/com/care/common/service/impl/CareChamberlainOlderRelServiceImpl.java

@@ -0,0 +1,45 @@
+package com.care.common.service.impl;
+
+import cn.hutool.core.collection.CollUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.care.common.entity.CareChamberlainOlderRel;
+import com.care.common.entity.CareSysUser;
+import com.care.common.mapper.CareChamberlainOlderRelMapper;
+import com.care.common.service.CareChamberlainOlderRelService;
+import com.care.common.service.CareSysUserService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 安全管家-被监护人关系表(CareChamberlainOlderRel)表服务实现类
+ *
+ * @author makejava
+ * @since 2021-05-21 00:08:34
+ */
+@Service
+public class CareChamberlainOlderRelServiceImpl extends ServiceImpl<CareChamberlainOlderRelMapper, CareChamberlainOlderRel> implements CareChamberlainOlderRelService {
+
+    @Resource
+    private CareSysUserService careSysUserService;
+    /**
+     * 获取老人的管家
+     *
+     * @param olderId
+     * @return
+     */
+    @Override
+    public CareSysUser getMainChamberlainByOlderId(Long olderId) {
+        CareSysUser user = null;
+        QueryWrapper<CareChamberlainOlderRel> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(CareChamberlainOlderRel::getOlderId,olderId);
+        List<CareChamberlainOlderRel> datas = this.list(queryWrapper);
+        if (CollUtil.isNotEmpty(datas)){
+            CareChamberlainOlderRel rel = datas.get(0);
+            user = this.careSysUserService.getById(rel.getChamberlainId());
+        }
+        return user;
+    }
+}

+ 2 - 2
src/main/java/com/care/bms/service/impl/CareDeviceServiceImpl.java

@@ -1,9 +1,9 @@
-package com.care.bms.service.impl;
+package com.care.common.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.care.common.entity.CareDevice;
 import com.care.common.mapper.CareDeviceMapper;
-import com.care.bms.service.CareDeviceService;
+import com.care.common.service.CareDeviceService;
 import org.springframework.stereotype.Service;
 
 /**

+ 2 - 2
src/main/java/com/care/bms/service/impl/CareEventOrderContactStatusServiceImpl.java

@@ -1,9 +1,9 @@
-package com.care.bms.service.impl;
+package com.care.common.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.care.common.entity.CareEventOrderContactStatus;
 import com.care.common.mapper.CareEventOrderContactStatusMapper;
-import com.care.bms.service.CareEventOrderContactStatusService;
+import com.care.common.service.CareEventOrderContactStatusService;
 import org.springframework.stereotype.Service;
 
 /**

+ 2 - 2
src/main/java/com/care/bms/service/impl/CareEventOrderHandleHisServiceImpl.java

@@ -1,9 +1,9 @@
-package com.care.bms.service.impl;
+package com.care.common.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.care.common.entity.CareEventOrderHandleHis;
 import com.care.common.mapper.CareEventOrderHandleHisMapper;
-import com.care.bms.service.CareEventOrderHandleHisService;
+import com.care.common.service.CareEventOrderHandleHisService;
 import org.springframework.stereotype.Service;
 
 /**

+ 18 - 0
src/main/java/com/care/common/service/impl/CareEventOrderKeyApplyServiceImpl.java

@@ -0,0 +1,18 @@
+package com.care.common.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.care.common.entity.CareEventOrderKeyApply;
+import com.care.common.mapper.CareEventOrderKeyApplyMapper;
+import com.care.common.service.CareEventOrderKeyApplyService;
+import org.springframework.stereotype.Service;
+
+/**
+ * 事件工单-钥匙申请记录(CareEventOrderKeyApply)表服务实现类
+ *
+ * @author makejava
+ * @since 2021-05-29 15:45:39
+ */
+@Service
+public class CareEventOrderKeyApplyServiceImpl extends ServiceImpl<CareEventOrderKeyApplyMapper, CareEventOrderKeyApply> implements CareEventOrderKeyApplyService {
+
+}

+ 17 - 0
src/main/java/com/care/common/service/impl/CareEventOrderServiceImpl.java

@@ -0,0 +1,17 @@
+package com.care.common.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.care.common.entity.CareEventOrder;
+import com.care.common.mapper.CareEventOrderMapper;
+import com.care.common.service.CareEventOrderService;
+import org.springframework.stereotype.Service;
+
+/**
+ * 事件定单表(CareEventOrder)表服务实现类
+ *
+ * @author makejava
+ * @since 2021-05-21 00:08:29
+ */
+@Service
+public class CareEventOrderServiceImpl extends ServiceImpl<CareEventOrderMapper, CareEventOrder> implements CareEventOrderService {
+}

+ 34 - 0
src/main/java/com/care/common/service/impl/CareOlderContactServiceImpl.java

@@ -0,0 +1,34 @@
+package com.care.common.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.care.common.entity.CareOlderContact;
+import com.care.common.mapper.CareOlderContactMapper;
+import com.care.common.service.CareOlderContactService;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 被监护人紧急联系人(BigSreenOlderContactVO)表服务实现类
+ *
+ * @author makejava
+ * @since 2021-05-21 00:08:27
+ */
+@Service
+public class CareOlderContactServiceImpl extends ServiceImpl<CareOlderContactMapper, CareOlderContact> implements CareOlderContactService {
+
+    /**
+     * 查询老人-紧急联系人
+     *
+     * @param olderId
+     * @return
+     */
+    @Override
+    public List<CareOlderContact> queryContactByOlderId(Long olderId) {
+        QueryWrapper<CareOlderContact> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(CareOlderContact::getOlderId,olderId)
+                .eq(CareOlderContact::getStatus,"1");
+        return this.list(queryWrapper);
+    }
+}

+ 2 - 2
src/main/java/com/care/bms/service/impl/CareOlderDeviceRelServiceImpl.java

@@ -1,9 +1,9 @@
-package com.care.bms.service.impl;
+package com.care.common.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.care.common.entity.CareOlderDeviceRel;
 import com.care.common.mapper.CareOlderDeviceRelMapper;
-import com.care.bms.service.CareOlderDeviceRelService;
+import com.care.common.service.CareOlderDeviceRelService;
 import org.springframework.stereotype.Service;
 
 /**

+ 2 - 2
src/main/java/com/care/bms/service/impl/CareOlderServiceImpl.java

@@ -1,9 +1,9 @@
-package com.care.bms.service.impl;
+package com.care.common.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.care.common.entity.CareOlder;
 import com.care.common.mapper.CareOlderMapper;
-import com.care.bms.service.CareOlderService;
+import com.care.common.service.CareOlderService;
 import org.springframework.stereotype.Service;
 
 /**

+ 2 - 2
src/main/java/com/care/bms/service/impl/CareOrganizationServiceImpl.java

@@ -1,9 +1,9 @@
-package com.care.bms.service.impl;
+package com.care.common.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.care.common.entity.CareOrganization;
 import com.care.common.mapper.CareOrganizationMapper;
-import com.care.bms.service.CareOrganizationService;
+import com.care.common.service.CareOrganizationService;
 import org.springframework.stereotype.Service;
 
 /**

+ 2 - 2
src/main/java/com/care/bms/service/impl/CareStationServiceImpl.java

@@ -1,9 +1,9 @@
-package com.care.bms.service.impl;
+package com.care.common.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.care.common.entity.CareStation;
 import com.care.common.mapper.CareStationMapper;
-import com.care.bms.service.CareStationService;
+import com.care.common.service.CareStationService;
 import org.springframework.stereotype.Service;
 
 /**

+ 27 - 0
src/main/java/com/care/common/service/impl/CareSysUserServiceImpl.java

@@ -0,0 +1,27 @@
+package com.care.common.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.care.common.entity.CareOrganization;
+import com.care.common.entity.CareSysUser;
+import com.care.common.exception.BDException;
+import com.care.common.mapper.CareSysUserMapper;
+import com.care.common.service.CareOrganizationService;
+import com.care.common.service.CareSysUserService;
+import com.care.common.vo.UserLogindConvertVO;
+import org.apache.commons.codec.digest.DigestUtils;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+/**
+ * 安全管家表(CareSysUser)表服务实现类
+ *
+ * @author makejava
+ * @since 2021-05-21 00:08:38
+ */
+@Service
+public class CareSysUserServiceImpl extends ServiceImpl<CareSysUserMapper, CareSysUser> implements CareSysUserService {
+
+}

+ 14 - 3
src/main/java/com/care/bms/service/impl/CcCallResultServiceImpl.java

@@ -1,18 +1,29 @@
-package com.care.bms.service.impl;
+package com.care.common.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.care.bms.service.CcCallResultService;
 import com.care.common.entity.CcCallResult;
 import com.care.common.mapper.CcCallResultMapper;
+import com.care.common.service.CcCallResultService;
+import com.care.common.vo.outcall.CcCallResultVO;
 import org.springframework.stereotype.Service;
 
 /**
  * 外呼结果表(CcCallResult)表服务实现类
  *
  * @author makejava
- * @since 2021-05-21 00:08:28
+ * @since 2021-05-30 13:13:26
  */
 @Service
 public class CcCallResultServiceImpl extends ServiceImpl<CcCallResultMapper, CcCallResult> implements CcCallResultService {
 
+    /**
+     * 获取呼叫结果
+     *
+     * @param id
+     * @return
+     */
+    @Override
+    public CcCallResultVO getCallResult(Long id) {
+        return this.baseMapper.getCallResult(id);
+    }
 }

+ 3 - 3
src/main/java/com/care/bms/service/impl/CommonServiceImpl.java

@@ -1,11 +1,11 @@
-package com.care.bms.service.impl;
+package com.care.common.service.impl;
 
 import cn.hutool.cache.CacheUtil;
 import cn.hutool.cache.impl.TimedCache;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.care.common.entity.SysDimCode;
-import com.care.bms.service.CommonService;
-import com.care.bms.service.SysDimCodeService;
+import com.care.common.service.CommonService;
+import com.care.common.service.SysDimCodeService;
 import com.google.common.collect.Maps;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;

+ 2 - 2
src/main/java/com/care/bms/service/impl/SysDimCodeServiceImpl.java

@@ -1,9 +1,9 @@
-package com.care.bms.service.impl;
+package com.care.common.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.care.common.entity.SysDimCode;
 import com.care.common.mapper.SysDimCodeMapper;
-import com.care.bms.service.SysDimCodeService;
+import com.care.common.service.SysDimCodeService;
 import org.springframework.stereotype.Service;
 
 /**

+ 2 - 2
src/main/java/com/care/bms/service/impl/SysDimTypeServiceImpl.java

@@ -1,9 +1,9 @@
-package com.care.bms.service.impl;
+package com.care.common.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.care.common.entity.SysDimType;
 import com.care.common.mapper.SysDimTypeMapper;
-import com.care.bms.service.SysDimTypeService;
+import com.care.common.service.SysDimTypeService;
 import org.springframework.stereotype.Service;
 
 /**

+ 32 - 0
src/main/java/com/care/common/vo/event/ChamberlainVO.java

@@ -0,0 +1,32 @@
+package com.care.common.vo.event;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @Author: lilt
+ * @Date: 2021/5/30
+ * @Desc: 管家
+ */
+@Data
+public class ChamberlainVO {
+
+    private Long id;
+
+    @ApiModelProperty("姓名")
+    private String name;
+
+
+    @ApiModelProperty("电话")
+    private String phone;
+
+    @ApiModelProperty("经度")
+    private Double longitude;
+
+
+    @ApiModelProperty("纬度")
+    private Double latitude;
+
+    @ApiModelProperty("状态:1正常;2:休假 3忙碌")
+    private String status;
+}

+ 1 - 6
src/main/java/com/care/common/vo/event/CareEventOrderVO.java

@@ -1,15 +1,10 @@
 package com.care.common.vo.event;
 
 import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
-import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
 
 import java.io.Serializable;
 import java.util.Date;
@@ -22,7 +17,7 @@ import java.util.Date;
  */
 
 @Data
-public class CareEventOrderVO implements Serializable {
+public class EventOrderVO implements Serializable {
     private static final long serialVersionUID = -78566992201198077L;
 
     @TableId(value = "ID", type = IdType.AUTO)

+ 57 - 0
src/main/java/com/care/common/vo/event/KeyApplyVO.java

@@ -0,0 +1,57 @@
+package com.care.common.vo.event;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 事件工单-钥匙申请记录(CareEventOrderKeyApply)实体类
+ *
+ * @author makejava
+ * @since 2021-05-29 15:45:38
+ */
+
+@Data
+@ApiModel(value = "事件工单-钥匙申请记录", description = "")
+public class KeyApplyVO implements Serializable {
+    private static final long serialVersionUID = 225803583759698088L;
+
+    @TableId(value = "ID", type = IdType.AUTO)
+    private Long id;
+
+    @ApiModelProperty("申请人角色 chanmb管家 contact紧联系人")
+    private String applyRole;
+
+
+    @ApiModelProperty("申请人ID")
+    private Long applyUserId;
+
+
+    @ApiModelProperty("状态:0:待授权 1 已授权")
+    private String status;
+
+
+    @ApiModelProperty("联系人姓名")
+    private String applyUserName;
+
+
+    @ApiModelProperty("处理结果")
+    private String handleResult;
+
+
+    @ApiModelProperty("createTime")
+    private Date createTime;
+
+
+    @ApiModelProperty("modifyTime")
+    private Date modifyTime;
+
+    @ApiModelProperty("关系类别")
+    private String relationTypeDesc;
+
+}

+ 85 - 0
src/main/java/com/care/common/vo/event/OrderContactorVO.java

@@ -0,0 +1,85 @@
+package com.care.common.vo.event;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 事件-紧急联系人/管家状态(CareEventOrderContactStatus)实体类
+ *
+ * @author makejava
+ * @since 2021-05-29 14:46:38
+ */
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class OrderContactorVO implements Serializable {
+    private static final long serialVersionUID = -77087502578795347L;
+
+    @TableId(value = "ID", type = IdType.AUTO)
+    private Long id;
+
+
+    @ApiModelProperty("机构ID")
+    private Long orgId;
+
+
+    @ApiModelProperty("服务站ID")
+    private Long stationId;
+
+
+    @ApiModelProperty("工单ID")
+    private Long orderId;
+
+
+    @ApiModelProperty("联系角色 chanmb管家 contact紧联系人 older 老人")
+    private String contactRole;
+
+
+    @ApiModelProperty("联系人ID")
+    private Long contactId;
+
+
+    @ApiModelProperty("状态:1未联系,2未接通,3已联系 4无法赶往 5:已赶往 6:已到达 7申请钥匙 8已获取钥匙")
+    private String status;
+
+    @ApiModelProperty("状态描述")
+    private String statusDesc;
+
+
+    @ApiModelProperty("联系人姓名")
+    private String contactName;
+
+
+    @ApiModelProperty("联系电话")
+    private String contactPhone;
+
+    @ApiModelProperty("坐席ID")
+    private Long seatId;
+
+
+    @ApiModelProperty("modifyTime")
+    private Date modifyTime;
+
+    @ApiModelProperty("关系类别描述")
+    private String relationTypeDesc;
+
+
+    @ApiModelProperty("联系级别")
+    private Integer contactLevel;
+
+
+    @ApiModelProperty("经度")
+    private Double longitude;
+
+
+    @ApiModelProperty("纬度")
+    private Double latitude;
+
+
+}

+ 72 - 0
src/main/java/com/care/common/vo/event/OrderHandleHisVO.java

@@ -0,0 +1,72 @@
+package com.care.common.vo.event;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 事件-坐席处理历史(CareEventOrderHandleHis)实体类
+ *
+ * @author makejava
+ * @since 2021-05-29 16:02:24
+ */
+
+@Data
+@ApiModel(value = "事件-处理历史", description = "")
+public class OrderHandleHisVO implements Serializable {
+    private static final long serialVersionUID = 231064386588299579L;
+
+    @TableId(value = "ID", type = IdType.AUTO)
+    private Long id;
+
+    @ApiModelProperty("日志类型:0: 老人事件  1:联系老人 2:联系紧急联系人 3联系管家 4联系120  5钥匙申请 6钥匙授权 7管家到达打卡 8管家归还钥匙 9管家离开打卡 10上报处理结果")
+    private Integer logType;
+
+
+    @ApiModelProperty("操作对象")
+    private Long logObjectId;
+
+
+    @ApiModelProperty("操作对象")
+    private String logObjectName;
+
+
+    @ApiModelProperty("操作结果")
+    private String logResult;
+
+
+    @ApiModelProperty("chanmb管家 contact紧联系人")
+    private String opUserRole;
+
+
+    @ApiModelProperty("处理人ID")
+    private Long opUserId;
+
+
+    @ApiModelProperty("处理人姓名")
+    private String opUserName;
+
+
+    @ApiModelProperty("createTime")
+    private Date createTime;
+
+
+    @ApiModelProperty("modifyTime")
+    private Date modifyTime;
+
+
+    @ApiModelProperty("关系类别")
+    private String relationTypeDesc;
+
+
+    @ApiModelProperty("呼叫结果ID")
+    private Long callResultId;
+
+
+}

+ 83 - 0
src/main/java/com/care/common/vo/event/OrderKeyApplyVO.java

@@ -0,0 +1,83 @@
+package com.care.common.vo.event;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 事件工单-钥匙申请记录(CareEventOrderKeyApply)实体类
+ *
+ * @author makejava
+ * @since 2021-05-29 16:02:24
+ */
+
+@Data
+@ApiModel(value = "事件工单-钥匙申请记录", description = "")
+public class OrderKeyApplyVO implements Serializable {
+    private static final long serialVersionUID = -45257658982462134L;
+
+    @TableId(value = "ID", type = IdType.AUTO)
+    private Long id;
+
+
+    @ApiModelProperty("机构ID")
+    private Long orgId;
+
+
+    @ApiModelProperty("服务站ID")
+    private Long stationId;
+
+
+    @ApiModelProperty("工单ID")
+    private Long orderId;
+
+
+    @ApiModelProperty("申请人角色 chanmb管家 contact紧联系人")
+    private String applyRole;
+
+
+    @ApiModelProperty("申请人ID")
+    private Long applyUserId;
+
+
+    @ApiModelProperty("联系人姓名")
+    private String applyUserName;
+
+
+    @ApiModelProperty("状态:0:未处理 1 已授权 2已归还")
+    private String status;
+
+
+    @ApiModelProperty("钥匙密码")
+    private String keyPass;
+
+
+    @ApiModelProperty("处理结果")
+    private String handleResult;
+
+
+    @ApiModelProperty("坐席ID")
+    private Long seatId;
+
+
+    @ApiModelProperty("createTime")
+    private Date createTime;
+
+
+    @ApiModelProperty("modifyTime")
+    private Date modifyTime;
+
+
+    @ApiModelProperty("关系类别")
+    private String relationTypeDesc;
+
+}

+ 44 - 0
src/main/java/com/care/common/vo/event/OrderOlderVO.java

@@ -0,0 +1,44 @@
+package com.care.common.vo.event;
+
+import cn.hutool.core.date.DateUtil;
+import com.care.common.entity.CareOlder;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * @Author: lilt
+ * @Date: 2021/5/29
+ * @Desc:
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+@ApiModel(value = "老人详细信息", description = "老人详细信息响应类")
+public class OrderOlderVO extends CareOlder {
+
+    @ApiModelProperty("老人联系状态描述")
+    private String contactStatusDesc;
+    @ApiModelProperty("老人联系状态")
+    private Integer contactStatus;
+
+    @ApiModelProperty("年龄")
+    private Integer age;
+
+    @ApiModelProperty("事件类型")
+    private String eventType;
+    @ApiModelProperty("事件类型描述")
+    private String eventTypeDesc;
+
+    @ApiModelProperty("管家")
+    private ChamberlainVO chamberlain;
+
+    public Integer getAge(){
+        if (super.getBirthday() != null){
+            return DateUtil.ageOfNow(super.getBirthday());
+        }else{
+            return null;
+        }
+    }
+
+}

+ 82 - 0
src/main/java/com/care/common/vo/outcall/CcCallResultVO.java

@@ -0,0 +1,82 @@
+package com.care.common.vo.outcall;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 被监护人-设备(CareDevice)实体类
+ *
+ * @author makejava
+ * @since 2021-05-21 00:08:36
+ */
+
+@Data
+@ApiModel(value = "外呼结果表", description = "")
+public class CcCallResultVO implements Serializable {
+    private static final long serialVersionUID = 905583520337157262L;
+
+    private Long id;
+
+    @ApiModelProperty("被呼叫人ID")
+    private Long calledId;
+
+    @ApiModelProperty(dataType = "String", name = "calledName", value = "被呼叫人姓名")
+    private String calledName;
+
+    @ApiModelProperty("关系类别")
+    private String relationTypeDesc;
+
+    @ApiModelProperty("联系级别")
+    private  Integer contactLevel;
+
+    @ApiModelProperty("被呼叫人类型: chanmb管家 contact紧联系人 older 老人  120:120")
+    private String calledType;
+
+    @ApiModelProperty("电话")
+    private String phone;
+
+    @ApiModelProperty("机构ID")
+    private Long orgId;
+
+
+    @ApiModelProperty("服务站ID")
+    private Long stationId;
+
+    @ApiModelProperty("被监护人ID")
+    private Long olderId;
+
+
+    @ApiModelProperty("事件工单ID")
+    private Long orderId;
+
+    @ApiModelProperty("会话id,通话唯一标识")
+    private String sessionId;
+
+
+    @ApiModelProperty("外呼结果状态,,2未接通 4无法赶往 5:已赶往 6:已到达 7申请钥匙 8已获取钥匙")
+    private String callStatus;
+
+    @ApiModelProperty("外呼结果描述信息")
+    private String descMsg;
+
+
+    @ApiModelProperty("创建时间")
+    private Date createTime;
+
+
+    @ApiModelProperty("更新时间")
+    private Date updateTime;
+
+    private String audioUrl;
+
+}

+ 1 - 1
src/main/java/com/care/outcall/controller/KoalaOutCallController.java

@@ -2,8 +2,8 @@ package com.care.outcall.controller;
 
 
 import cn.hutool.json.JSONUtil;
-import com.care.bms.service.CcCallResultService;
 import com.care.common.entity.CcCallResult;
+import com.care.common.service.CcCallResultService;
 import com.care.common.util.JsonUtil;
 import com.care.common.util.JwtUtils;
 import com.care.common.util.Result;

+ 6 - 0
src/main/resources/mybatis/CareEventOrderKeyApplyMapper.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.care.common.mapper.CareEventOrderKeyApplyMapper">
+   
+
+</mapper>

+ 24 - 1
src/main/resources/mybatis/CcCallResultMapper.xml

@@ -1,6 +1,29 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.care.common.mapper.CcCallResultMapper">
-   
+   <select id="getCallResult" resultType="com.care.common.vo.outcall.CcCallResultVO">
+        select
+        t.id  as id,
+        t.called_id as calledId,
+        t.called_name as calledName,
+        t.called_type as calledType,
+        t.phone as phone,
+        t.org_id as orgId,
+        t.station_id as stationId,
+        t.older_id as olderId,
+        t.order_id as orderId,
+        t.session_id as sessionId,
+        t.call_status as callStatus,
+        t.desc_msg as descMsg,
+        t.create_time as createTime,
+        t.update_time as updateTime,
+        t.relation_type_desc as relationType,
+        t.contact_level as contactLevel,
+        ctb.audio_url as audioUrl
+        from cc_call_result t
+        left join cc_traffic_billed ctb on t.session_id = ctb.session_id
+        where
+         t.id = #{id}
+    </select>
 
 </mapper>