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.ProductOrderRecord;
import com.kidgrow.oprationcenter.vo.DiagnosisRecord;
import com.kidgrow.oprationcenter.vo.GroupProductDetail;
import com.kidgrow.oprationcenter.vo.ProductOrderJoinDetail;

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 IProductOrderRecordService extends ISuperService<ProductOrderRecord> {
    /**
     * 列表
     * @param params
     * @return
     */
    PageResult<ProductOrderRecord> findList(Map<String, Object> params);
    /**
     * 列表
     * @param params
     * @return
     */
    PageResult<ProductOrderJoinDetail> findAllList(Map<String, Object> params, SysUser sysUser);

    /**
     * 诊断列表
     * @param params
     * @return
     */
    PageResult<DiagnosisRecord> findAllDataList(Map<String, Object> params);

    /**
    * 根据ProductOrderRecord对象当做查询条件进行查询
    * @param productOrderRecord
    * @return ProductOrderRecord对象
    */
    ProductOrderRecord findByObject(ProductOrderRecord productOrderRecord);
    /**
     * 状态变更
     * @param params
     * @return
     */
    ResultBody updateEnabled(Map<String, Object> params);
    ResultBody getTypeByUser(SysUser sysUser);
    /**
     * 统计产品使用量列表
     * @param params
     * @return
     */
    PageResult<GroupProductDetail> groupList(Map<String, Object> params);
}