Files
jsowell-charger-web/jsowell-pile/src/main/java/com/jsowell/pile/service/IPileBillingTemplateService.java
2023-03-14 09:19:47 +08:00

161 lines
3.6 KiB
Java

package com.jsowell.pile.service;
import com.jsowell.pile.domain.PileBillingRelation;
import com.jsowell.pile.domain.PileBillingTemplate;
import com.jsowell.pile.dto.CreateOrUpdateBillingTemplateDTO;
import com.jsowell.pile.dto.ImportBillingTemplateDTO;
import com.jsowell.pile.vo.uniapp.BillingPriceVO;
import com.jsowell.pile.vo.uniapp.CurrentTimePriceDetails;
import com.jsowell.pile.vo.web.BillingTemplateVO;
import com.jsowell.pile.vo.web.EchoBillingTemplateVO;
import java.util.List;
/**
* 计费模板Service接口
*
* @author jsowell
* @date 2022-09-20
*/
public interface IPileBillingTemplateService {
/**
* 查询计费模板
*
* @param id 计费模板主键
* @return 计费模板
*/
public PileBillingTemplate selectPileBillingTemplateById(Long id);
/**
* 查询计费模板列表
*
* @param pileBillingTemplate 计费模板
* @return 计费模板集合
*/
public List<PileBillingTemplate> selectPileBillingTemplateList(PileBillingTemplate pileBillingTemplate);
/**
* 新增计费模板
*
* @param pileBillingTemplate 计费模板
* @return 结果
*/
public int insertPileBillingTemplate(PileBillingTemplate pileBillingTemplate);
/**
* 修改计费模板
*
* @param pileBillingTemplate 计费模板
* @return 结果
*/
public int updatePileBillingTemplate(PileBillingTemplate pileBillingTemplate);
/**
* 批量删除计费模板
*
* @param ids 需要删除的计费模板主键集合
* @return 结果
*/
public int deletePileBillingTemplateByIds(Long[] ids);
/**
* 删除计费模板信息
*
* @param id 计费模板主键
* @return 结果
*/
public int deletePileBillingTemplateById(Long id);
/**
* 新增计费模板
*
* @param dto 参数
* @return 计费模板id
*/
void createBillingTemplate(CreateOrUpdateBillingTemplateDTO dto);
/**
* 查询公共计费模板
*
* @return
*/
List<BillingTemplateVO> queryPublicBillingTemplateList();
/**
* 查询站点计费模板
*
* @param stationId 站点id
* @return
*/
List<BillingTemplateVO> queryStationBillingTemplateList(String stationId);
/**
* 查询站点计费模板
*
* @param stationId 站点id
* @return
*/
List<BillingTemplateVO> queryStationBillingTemplateListForUniApp(String stationId);
/**
* 查询正在使用中的计费模板
* @param stationId 站点id
* @return
*/
BillingTemplateVO queryUsedBillingTemplate(String stationId);
/**
* 查询计费价格详情
* @param stationId 站点id
* @return
*/
List<BillingPriceVO> queryBillingPrice(String stationId);
/**
* 通过桩sn号查询计费模板信息
*
* @param pileSn 桩sn
* @return 计费模板编号
*/
BillingTemplateVO selectBillingTemplateDetailByPileSn(String pileSn);
/**
* 站点导入计费模板
*
* @param dto
* @return
*/
boolean stationImportBillingTemplate(ImportBillingTemplateDTO dto);
byte[] generateBillingTemplateMsgBody(String pileSn, BillingTemplateVO billingTemplateVO);
/**
* 根据计费模板id查询计费模板信息
*
* @param templateId 计费模板id
* @return 计费模板信息
*/
BillingTemplateVO selectBillingTemplateByTemplateId(String templateId);
/**
* 保存计费模板和桩关系
*
* @param relationList
*/
void insertPileBillingRelation(List<PileBillingRelation> relationList);
/**
* 修改计费模板
*
* @param dto
*/
void updateBillingTemplate(CreateOrUpdateBillingTemplateDTO dto);
EchoBillingTemplateVO queryPileBillingTemplateById(Long id);
/**
* 通过站点id查询当前时间的收费详情
*/
CurrentTimePriceDetails getCurrentTimePriceDetails(String stationId);
}