package com.ym.mec.biz.service;

import com.ym.mec.biz.dal.dto.DegreeRegistrationActivityDto;
import com.ym.mec.biz.dal.dto.PageInfoDegree;
import com.ym.mec.biz.dal.dto.PageInfoOrder;
import com.ym.mec.biz.dal.entity.DegreeRegistration;
import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
import com.ym.mec.biz.dal.page.DegreeQueryInfo;
import com.ym.mec.common.entity.HttpResponseResult;
import com.ym.mec.common.service.BaseService;
import com.ym.mec.util.date.DateUtil;

import java.util.*;

public interface DegreeRegistrationService extends BaseService<Integer, DegreeRegistration> {

    String ACTIVITY_TAG = "DEGREE_REGISTRATION_2020_12";

    Set<String> FREE_PRICE_LEVEL = new HashSet<>(Arrays.asList(new String[]{"一级", "二级", "三级"}));

    Date ACTIVITY_END_TIME = DateUtil.stringToDate("2021-01-31 23:59:59", "yyyy-MM-dd HH:mm:ss");

    HttpResponseResult pay(DegreeRegistrationActivityDto degreeRegistration) throws Exception;

    HttpResponseResult theoryPay(DegreeRegistrationActivityDto degreeRegistration) throws Exception;

    Boolean updateStatus(StudentPaymentOrder order);

    PageInfoDegree<DegreeRegistration> getPageList(DegreeQueryInfo queryInfo);
}
