forked from kidgrow-microservices-platform

zhaoxiaohao
2020-09-18 daa697719eb0ddfd170f1ab94c5422a4f5b93951
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/IProductOrderDetailService.java
New file
@@ -0,0 +1,135 @@
package com.kidgrow.oprationcenter.service;
import com.kidgrow.common.model.PageResult;
import com.kidgrow.common.model.ResultBody;
import com.kidgrow.common.model.SysUser;
import com.kidgrow.common.service.ISuperService;
import com.kidgrow.oprationcenter.model.ProductOrderDetail;
import com.kidgrow.oprationcenter.vo.*;
import java.util.List;
import java.util.Map;
/**
 * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br>
 * @Description: 产品/明显的充值记录<br>
 * @Project: 用户中心<br>
 * @CreateDate: Created in 2020-04-01 09:37:05 <br>
 * @Author: <a href="4345453@kidgrow.com">liuke</a>
 * @version 1.0
 */
public interface IProductOrderDetailService extends ISuperService<ProductOrderDetail> {
    /**
     * 列表
     * @param params
     * @return
     */
    PageResult<ProductOrderDetail> findList(Map<String, Object> params);
    /**
     * 诊断列表
     * @param params
     * @return
     */
    PageResult<DiagnosisRecord> findAllDataList(Map<String, Object> params);
    /**
     * 统计产品使用量列表
     * @param params
     * @return
     */
    PageResult<GroupProductDetail> groupList(Map<String, Object> params);
    /**
    * 根据ProductOrderDetail对象当做查询条件进行查询
    * @param productOrderDetail
    * @return ProductOrderDetail对象
    */
    ProductOrderDetail findByObject(ProductOrderDetail productOrderDetail);
    /**
     * 状态变更
     * @param params
     * @return
     */
    ResultBody updateEnabled(Map<String, Object> params);
    ResultBody getTypeByUser(SysUser sysUser);
    /**
     * 获取所有的套餐记录数据
     * @param params
     * @return
     */
    List<ProductOrderJoinDetail> findAllList(Map<String, Object> params);
    /**
     * 获取医院的套餐数据
     * @param hospitalId
     * @param departmentId
     * @return
     */
    UserProductDetail getUserProductDetail(Long hospitalId, Long departmentId);
    /**
     *
     * @param hospitalId
     * @param departmentId
     * @return
     */
    ResultBody biUserNowProduct(Long hospitalId,Long departmentId);
    /**
     * 获取医院的到期时间
     * @param hospitalId
     * @param departmentId
     * @param diagnosticId
     * @return
     */
    ResultBody<UserProductData> userProductDetailData(Long hospitalId, Long departmentId,String diagnosticId);
    /**
     * 试用审核的列表
     * @param params
     * @return
     */
    PageResult all(Map<String, Object> params);
    /**
     * 获取一个科室使用过多少个试用套餐
     * @param departmentId
     * @return
     */
    int getEnabledCount(Long departmentId);
    /**
     * 统计获取数据量
     * @param datatype
     * 0 试用审核量
     * 1 套餐总量
     * 2 未处理用户反馈
     * 3 未处理数据需求
     * @return
     */
    int oprationChart(int datatype);
    /**
     * 按指定类型统计合同数量
     * @param params
     *    datatype      1 按年
     *                 2 按月
     *                 3 按天
     *                 4 按周
     *    beginTime 查询时间段的开始时间
     *    endTime   结束时间
     * @return
     */
    List<OrderChartVo> productOrderChart(Map<String, Object> params);
    /**
     * 统计产品的使用数量
     * @return  ccount 是数量
     *          units 是产品名称
     */
    List<OrderChartVo> proCountChart();
    /**
     *获取该科室下的所有的套餐信息
     * @param params
     * @return
     */
    PageResult<ProductOrderDetail> departmentProductDetail(Map<String, Object> params);
}