From 20210ee1c0101cb9741e04592ae3daa419663c89 Mon Sep 17 00:00:00 2001
From: houruijun <411269194@kidgrow.com>
Date: Mon, 29 Jun 2020 16:20:48 +0800
Subject: [PATCH] 1.调整套餐信息查询接口 2.调整医生信息接口 3.调整获取医生列表接口

---
 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/ProductOrderDetailController.java |   15 +++++++
 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/IProductOrderDetailService.java         |    1 
 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysUserMapper.xml                                                        |    8 +++-
 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysUserMapper.java                                     |    4 +
 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java                          |    7 +--
 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ConsumptionRecordServiceImpl.java  |    6 +--
 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/vo/UserProductData.java                         |   25 ++++++++++++
 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderDetailServiceImpl.java |   37 +++++++++++++-----
 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/vo/HospitalDoctorListVo.java                                  |    2 +
 9 files changed, 83 insertions(+), 22 deletions(-)

diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/vo/UserProductData.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/vo/UserProductData.java
new file mode 100644
index 0000000..9e439f5
--- /dev/null
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/vo/UserProductData.java
@@ -0,0 +1,25 @@
+package com.kidgrow.oprationcenter.vo;
+
+
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class UserProductData extends Model<UserProductData> {
+private static final long serialVersionUID = 1L;
+    /**
+     * 套餐是否到期
+     */
+    private boolean isEnd;
+    /**
+     * 最晚到期时间
+     */
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date maxEndTime;
+}
diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/IProductOrderDetailService.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/IProductOrderDetailService.java
index da6a375..8dd1665 100644
--- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/IProductOrderDetailService.java
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/IProductOrderDetailService.java
@@ -71,5 +71,6 @@
     UserProductDetail getUserProductDetail(Long hospitalId, Long departmentId);
 
     ResultBody biUserNowProduct(Long hospitalId,Long departmentId);
+    ResultBody UserProductDetailData(Long hospitalId,Long departmentId);
 }
 
diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ConsumptionRecordServiceImpl.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ConsumptionRecordServiceImpl.java
index 400c2ff..52d07b4 100644
--- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ConsumptionRecordServiceImpl.java
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ConsumptionRecordServiceImpl.java
@@ -107,8 +107,6 @@
         if (VateParams(consumptionRequest)) {
             //先获取这个业务关联的扣费记录
             List<ConsumptionRecord> consumptionRecordList = GetBusinessConsumptionList(consumptionRequest.getBusinessId());
-            Long hospitalId = Long.valueOf(httpServletRequest.getHeader(SecurityConstants.USER_HOSPITAL_ID_HEADER));
-            Long departmentId = Long.valueOf(httpServletRequest.getHeader(SecurityConstants.USER_DEP_ID_HEADER));
             //1.先检查是否已经扣费
             if (!isBeforeDeduction(consumptionRecordList, ConsumptionConstant.DEDUCTION)) {
                 //2.没有扣费,检查是否已经预扣费
@@ -171,7 +169,7 @@
             //先获取这个业务关联的扣费记录
             List<ConsumptionRecord> consumptionRecordList = GetBusinessConsumptionList(consumptionRequest.getBusinessId());
             Long hospitalId = Long.valueOf(httpServletRequest.getHeader(SecurityConstants.USER_HOSPITAL_ID_HEADER));
-            Long departmentId = Long.valueOf(httpServletRequest.getHeader(SecurityConstants.USER_DEP_ID_HEADER));
+
             //1.先检查是否已经扣费
             if (!isBeforeDeduction(consumptionRecordList, ConsumptionConstant.DEDUCTION)) {
                 //2.没有扣费,检查是否已经预扣费
@@ -515,7 +513,7 @@
      */
     private Boolean beforeConsumption(ConsumptionRequest consumptionRequest) {
         Long hospitalId = Long.valueOf(httpServletRequest.getHeader(SecurityConstants.USER_HOSPITAL_ID_HEADER));
-        Long departmentId = Long.valueOf(httpServletRequest.getHeader(SecurityConstants.USER_DEP_ID_HEADER));
+
         ProductOrderDetail productOrderDetail = deductionDepartmentProduct(consumptionRequest.getConsumptionCount());
         if (productOrderDetail != null) {
             ConsumptionRecord consumptionRecord = new ConsumptionRecord();
diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderDetailServiceImpl.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderDetailServiceImpl.java
index b508878..fd3bbaf 100644
--- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderDetailServiceImpl.java
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderDetailServiceImpl.java
@@ -7,16 +7,12 @@
 import com.kidgrow.common.service.impl.SuperServiceImpl;
 import com.kidgrow.common.utils.DateUtils;
 import com.kidgrow.oprationcenter.feign.DiagnosticService;
-import com.kidgrow.oprationcenter.feign.RoleOrganizationService;
 import com.kidgrow.oprationcenter.mapper.ConsumptionRecordMapper;
 import com.kidgrow.oprationcenter.mapper.ProductOrderDetailMapper;
 import com.kidgrow.oprationcenter.model.ConsumptionRecord;
 import com.kidgrow.oprationcenter.model.ProductOrderDetail;
 import com.kidgrow.oprationcenter.service.IProductOrderDetailService;
-import com.kidgrow.oprationcenter.vo.DiagnosisRecord;
-import com.kidgrow.oprationcenter.vo.GroupProductDetail;
-import com.kidgrow.oprationcenter.vo.ProductOrderJoinDetail;
-import com.kidgrow.oprationcenter.vo.UserProductDetail;
+import com.kidgrow.oprationcenter.vo.*;
 import com.kidgrow.usercenter.feign.SysDoctorService;
 import com.kidgrow.usercenter.feign.SysHospitalService;
 import com.kidgrow.usercenter.model.SysHospital;
@@ -25,10 +21,7 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -44,8 +37,6 @@
 public class ProductOrderDetailServiceImpl extends SuperServiceImpl<ProductOrderDetailMapper, ProductOrderDetail> implements IProductOrderDetailService {
    @Autowired
     DiagnosticService diagnosticService;
-    @Autowired
-    private RoleOrganizationService roleOrganizationService;
     @Autowired
     private SysDoctorService sysDoctorService;
     @Autowired
@@ -74,6 +65,30 @@
     }
 
     /**
+     * 判定医院科室的套餐是否到期 以及到期时间
+     * @param hospitalId
+     * @param departmentId
+     * @return
+     */
+    public ResultBody UserProductDetailData(Long hospitalId,Long departmentId)
+    {
+        UserProductData userProductData=new UserProductData();
+        userProductData.setEnd(true);
+        UserProductDetail userProductDetail = this.getUserProductDetail(hospitalId, departmentId);
+        if (userProductDetail != null) {
+            //合并集合
+            userProductDetail.getProductOrderJoinDetailListShare().addAll(userProductDetail.getProductOrderJoinDetailsListDep());
+            List<ProductOrderJoinDetail> productOrderJoinDetailList = userProductDetail.getProductOrderJoinDetailListShare();
+            if (productOrderJoinDetailList.size() > 0) {
+                userProductData.setEnd(false);
+                //合并后按id排序并筛除已用完的套餐
+                List<ProductOrderJoinDetail> productOrderJoinDetailsNewList = productOrderJoinDetailList.stream().filter(f -> f.getAilightCount() >= 0).sorted(Comparator.comparing(ProductOrderJoinDetail::getProEndtime).reversed()).collect(Collectors.toList());
+                userProductData.setMaxEndTime(productOrderJoinDetailsNewList.get(0).getProEndtime());
+            }
+        }
+        return ResultBody.ok().data(userProductData);
+    }
+    /**
      * 获取诊断列表
      * @param params
      * @return
diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/ProductOrderDetailController.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/ProductOrderDetailController.java
index 71355b5..4200a39 100644
--- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/ProductOrderDetailController.java
+++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/ProductOrderDetailController.java
@@ -107,6 +107,21 @@
     }
 
     /**
+     * 获取医院套餐是否到期和到期时间
+     * data内 isend为true说明套餐到期
+     * endtime上套餐的到期时间
+     * @param hospitalId
+     * @param departmentId
+     * @return
+     */
+
+    @ApiOperation(value = "获取医院套餐是否到期和到期时间")
+    @GetMapping("/UserProductDetailData")
+    public ResultBody UserProductDetailData(@RequestParam Long hospitalId,Long departmentId) {
+        return productOrderDetailService.UserProductDetailData(hospitalId,departmentId);
+    }
+
+    /**
      * 查询
      */
     @ApiOperation(value = "查询")
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/vo/HospitalDoctorListVo.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/vo/HospitalDoctorListVo.java
index 8de54d2..e426509 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/vo/HospitalDoctorListVo.java
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-api/src/main/java/com/kidgrow/usercenter/vo/HospitalDoctorListVo.java
@@ -37,4 +37,6 @@
     private String userName;
     private boolean isDefaultAuth;
     private boolean enabled;
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long roleId;
 }
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysUserMapper.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysUserMapper.java
index a5d4183..c815678 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysUserMapper.java
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/mapper/SysUserMapper.java
@@ -47,7 +47,9 @@
      * 获取医院科室下的所有有效的医生
      * @param hospitalId
      * @param departmentId
+     * @param roleId1 管理员医生角色id
+     * @param roleId2 普通医生角色id
      * @return
      */
-    List<HospitalDoctorListVo> hospitalDoctorList(@Param("hospitalId") Long hospitalId, @Param("departmentId") Long departmentId);
+    List<HospitalDoctorListVo> hospitalDoctorList(@Param("hospitalId") Long hospitalId, @Param("departmentId") Long departmentId,@Param("roleId1") Long roleId1,@Param("roleId2") Long roleId2);
 }
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java
index ffd3b8b..19d6fdd 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java
@@ -86,7 +86,6 @@
     private SysRoleMapper sysRoleMapper;
     @Autowired
     private SysUserRoleMapper sysUserRoleMapper;
-
     @Override
     public LoginAppUser findByUsername(String username) {
         SysUser sysUser = this.selectByUsername(username);
@@ -648,7 +647,7 @@
         }
         //创建人id
         Long createUserId = CommonConstant.CREATE_USER_ID;
-        //创建人id
+        //创建人名称
         String createUserName = CommonConstant.CREATE_USER_NAME;
         //是否注册用户
         Boolean isReg = false;
@@ -912,7 +911,7 @@
     }
 
     /**
-     * 获取医院科室下的所有有效的医生
+     * 获取医院科室下的所有H端有效的医生
      *
      * @param hospitalId
      * @param departmentId
@@ -921,7 +920,7 @@
     @Override
     public ResultBody hospitalDoctorList(Long hospitalId, Long departmentId) {
         if (hospitalId > 0 && departmentId > 0) {
-            List<HospitalDoctorListVo> listVoList = baseMapper.hospitalDoctorList(hospitalId, departmentId);
+            List<HospitalDoctorListVo> listVoList = baseMapper.hospitalDoctorList(hospitalId, departmentId,CommonConstant.HOSPITAL_DOCTOR_ID,CommonConstant.HOSPITAL_ADMIN_ID);
             return ResultBody.ok().data(listVoList);
         } else {
             return ResultBody.failed("医院数据有误");
diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysUserMapper.xml b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysUserMapper.xml
index 5849181..c0e6a97 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysUserMapper.xml
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/resources/mapper/SysUserMapper.xml
@@ -163,10 +163,14 @@
         us.mobile,
         us.username,
         us.is_default_auth,
-        us.enabled
+        us.enabled,
+		roleuser.role_id
         FROM
         sys_doctor dc
         LEFT JOIN sys_user us ON dc.user_id = us.id
-        where dc.is_del=0 and dc.hospital_id=#{hospitalId} and dc.department_id=#{departmentId}
+        LEFT JOIN sys_role_user roleuser
+        ON roleuser.user_id=us.id
+        where  dc.is_del=0 and dc.enabled=1 and dc.hospital_id=1 and dc.department_id=1 and us.enabled=1
+        and dc.hospital_id=#{hospitalId} and dc.department_id=#{departmentId}  and (role_id=#{roleId1} or role_id=#{roleId2})
     </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0