From 9d407311491e0fb82cd4d9b55929527ac48a7afb Mon Sep 17 00:00:00 2001
From: dougang <78125310@kidgrow.com>
Date: Wed, 27 May 2020 10:33:55 +0800
Subject: [PATCH] 1、医院管理,增加帐号数量字段 2、医院管理,增加服务、销售人员,以及各自电话

---
 kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderDetailServiceImpl.java |   82 +++++++++++++++++++++++++++++++++++++++-
 1 files changed, 79 insertions(+), 3 deletions(-)

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 50fa2c3..65798d3 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
@@ -1,19 +1,28 @@
 package com.kidgrow.oprationcenter.service.impl;
 
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.kidgrow.common.model.PageResult;
-import com.kidgrow.common.model.ResultBody;
+import com.kidgrow.common.model.*;
 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.ProductOrderDetailMapper;
 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.usercenter.feign.SysDoctorService;
+import com.kidgrow.usercenter.feign.SysHospitalService;
+import com.kidgrow.usercenter.model.SysHospital;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.MapUtils;
+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;
 
@@ -28,6 +37,14 @@
 @Slf4j
 @Service
 public class ProductOrderDetailServiceImpl extends SuperServiceImpl<ProductOrderDetailMapper, ProductOrderDetail> implements IProductOrderDetailService {
+   @Autowired
+    DiagnosticService diagnosticService;
+    @Autowired
+    private RoleOrganizationService roleOrganizationService;
+    @Autowired
+    private SysDoctorService sysDoctorService;
+    @Autowired
+    private SysHospitalService sysHospitalService;
     /**
      * 列表
      * @param params
@@ -39,14 +56,26 @@
         List<ProductOrderDetail> list  =  baseMapper.findList(page, params);
         return PageResult.<ProductOrderDetail>builder().data(list).code(0).count(page.getTotal()).build();
     }
+
+    /**
+     * 获取诊断列表
+     * @param params
+     * @return
+     */
+    @Override
+    public PageResult<DiagnosisRecord> findAllDataList(Map<String, Object> params){
+        return  diagnosticService.getDiagnosticItemList(params).getData();
+    }
     /**
      * 列表
      * @param params
      * @return
      */
     @Override
-    public PageResult<ProductOrderJoinDetail> findAllList(Map<String, Object> params) {
+    public PageResult<ProductOrderJoinDetail> findAllList(Map<String, Object> params, SysUser sysUser) {
         Page<ProductOrderJoinDetail> page = new Page<>(MapUtils.getInteger(params, "page"), MapUtils.getInteger(params, "limit"));
+        Map<String, Object> roleOrgMap = roleOrganizationService.getRoleOrgMap(sysUser.getRoles());
+        params.putAll(roleOrgMap);
         List<ProductOrderJoinDetail> list  =  baseMapper.findAllList(page,params);
         return PageResult.<ProductOrderJoinDetail>builder().data(list).code(0).count(page.getTotal()).build();
     }
@@ -91,4 +120,51 @@
         int i = baseMapper.updateById(productOrder);
         return i > 0 ? ResultBody.ok().data(productOrder).msg("更新成功") : ResultBody.failed("更新失败");
     }
+
+    @Override
+    public ResultBody getTypeByUser(SysUser sysUser) {
+        List<SysOrganization> organizations = sysUser.getOrganizations();
+        if(organizations.size()>0){
+            SysOrganization sysOrganization = organizations.get(0);
+            List<ProductOrderJoinDetail> list=baseMapper.getTypeByUser(sysOrganization.getId());
+            if (list.size()>0) {
+                ProductOrderJoinDetail productOrderJoinDetail = list.get(0);
+                //查询用户的真实姓名
+                Map<String,Object> selectMap=new HashMap<>();
+                selectMap.put("user_id",sysUser.getId());
+                ResultBody listByMap = sysDoctorService.getListByMap(selectMap);
+                List<SysDoctor> sysDoctors = JSON.parseArray(JSON.toJSONString(listByMap.getData()), SysDoctor.class);
+                String str="";
+                if(sysDoctors!=null&&sysDoctors.size()>0){
+                    str= sysDoctors.get(0).getDoctorName();
+                }
+                //查询医院的 logo
+                Map<String,Object> map=new HashMap<>();
+                map.put("id",sysOrganization.getId());
+                ResultBody allByMap = sysHospitalService.findAllByMap(map);
+                List<SysHospital> hospitals = JSON.parseArray(JSON.toJSONString(allByMap.getData()), SysHospital.class);
+                String logo="";
+                if(hospitals.size()>0){
+                    logo = hospitals.get(0).getHospitalLogo();
+                }
+                Map<String,Object> mapVo=new HashMap<>();
+                mapVo.put("type",productOrderJoinDetail.getProType());
+                mapVo.put("realName",str);
+                //剩余时间
+                Date proEndtime = productOrderJoinDetail.getProEndtime();
+                Double surplusDay=DateUtils.getDays(proEndtime, new Date());
+                int surplus = surplusDay.intValue();
+                mapVo.put("surplus",surplus);
+                mapVo.put("logo",logo);
+                //获取 售后服务工程师********不能从sysOrganization获取,从department获取
+               /* mapVo.put("saleUserName",sysOrganization.getSaleUserName());
+                mapVo.put("saleUserTel",sysOrganization.getSaleUserTel());*/
+                return ResultBody.ok().data(mapVo);
+            }else {
+                return ResultBody.failed("该用户套餐已经失效");
+            }
+        }else {
+            return ResultBody.failed("该用户的组织已经失效");
+        }
+    }
 }

--
Gitblit v1.8.0