package com.lyms.talkonlineweb.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.lyms.talkonlineweb.annotation.TokenRequired;
import com.lyms.talkonlineweb.domain.*;
import com.lyms.talkonlineweb.result.BaseResponse;
import com.lyms.talkonlineweb.service.IndexService;
import com.lyms.talkonlineweb.service.LymsHospitalService;
import com.lyms.talkonlineweb.service.TkRecordStatService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@RestController
@RequestMapping("index")
public class IndexController {
@Autowired
private IndexService indexService;
@Autowired
private TkRecordStatService tkRecordStatService;
/**
* 访问统计
* @return
*/
@GetMapping("getVsStat")
@TokenRequired
public BaseResponse getVsStat(){
BaseResponse baseResponse=new BaseResponse();
Map<String,Object> rs=indexService.getVsStat();
baseResponse.setObject(rs);
return baseResponse;
}
/**
* 首页-今日问诊数量
* @param hid 不传默认返回所有医院今日问诊量。
* @return
*/
@GetMapping("getTkRecordStatH")
@TokenRequired
public BaseResponse getTkRecordStatH(Integer hid){
BaseResponse baseResponse=new BaseResponse();
List<TkRecordStatHInfo> tkRecordStatH = tkRecordStatService.getTkRecordStatH(hid);
baseResponse.setObject(tkRecordStatH);
return baseResponse;
}
/**
* 首页-本周问诊数量
* @param hid 不传默认返回所有医院本周问诊量。
* @return
*/
@GetMapping("getTkRecordStatW")
@TokenRequired
public BaseResponse getTkRecordStatW(Integer hid){
BaseResponse baseResponse=new BaseResponse();
List<TkRecordStatWInfo> tkRecordStatW = tkRecordStatService.getTkRecordStatW(hid);
baseResponse.setObject(tkRecordStatW);
return baseResponse;
}
/**
* 首页-本月问诊数量
* @param hid 不传默认返回所有医院本月问诊量。
* @return
*/
@GetMapping("getTkRecordStatM")
@TokenRequired
public BaseResponse getTkRecordStatM(Integer hid){
BaseResponse baseResponse=new BaseResponse();
List<TkRecordStatMInfo> tkRecordStatM = tkRecordStatService.getTkRecordStatM(hid);
baseResponse.setObject(tkRecordStatM);
return baseResponse;
}
/**
* 首页-本年问诊数量
* @param hid 不传默认返回所有医院本年问诊量。
* @return
*/
@GetMapping("getTkRecordStatY")
@TokenRequired
public BaseResponse getTkRecordStatY(Integer hid){
BaseResponse baseResponse=new BaseResponse();
List<TkRecordStatYInfo> tkRecordStatY = tkRecordStatService.getTkRecordStatY(hid);
baseResponse.setObject(tkRecordStatY);
return baseResponse;
}
/**
* 首页-日期筛选问诊量
* @param hid 不传默认返回所有医院日起筛选问诊量。
* @return
*/
@GetMapping("getTkRecordStatDate")
@TokenRequired
public BaseResponse getTkRecordStatDate(String startdate,String enddate,Integer hid){
BaseResponse baseResponse=new BaseResponse();
List<TkRecordStatDateInfo> tkRecordStatDate = tkRecordStatService.getTkRecordStatDate(startdate,enddate,hid);
baseResponse.setObject(tkRecordStatDate);
return baseResponse;
}
/**
* 首页-医院总问诊量排名
* @param
* @return
*/
@GetMapping("getTkRecordStatRanking")
@TokenRequired
public BaseResponse getTkRecordStatRanking(){
BaseResponse baseResponse=new BaseResponse();
List<TkRecordStatRankingInfo> tkRecordStatRanking = tkRecordStatService.getTkRecordStatRanking();
baseResponse.setObject(tkRecordStatRanking);
return baseResponse;
}
/**
* 首页-转化率-按医院分时段筛选
* @param
* @return
*/
@GetMapping("getLogsRecordVisitsInfo")
@TokenRequired
public BaseResponse getLogsRecordVisitsInfo(String startdate,String enddate,Integer hid){
BaseResponse baseResponse=new BaseResponse();
Map<String,Object>map=new HashMap<>();
List<LogsRecordVisitsInfo> listVisits = tkRecordStatService.getLogsRecordVisits(startdate,enddate);
List<LogsRecordVisitsInfo> listRecord = tkRecordStatService.getLogsRecordRecord(startdate,enddate,hid);
map.put("listVisits",listVisits);
map.put("listRecord",listRecord);
baseResponse.setObject(map);
return baseResponse;
}
/**
* 首页科室占比统计
* @param hid
* @return
*/
@GetMapping("getDepartStat")
@TokenRequired
public BaseResponse getDepartStat(Integer hid){
BaseResponse baseResponse=new BaseResponse();
Map<String,Object> param=new HashMap<>();
param.put("hid",hid);
Map<String,Object> rs=indexService.getDepartStat(param);
baseResponse.setObject(rs);
return baseResponse;
}
}