Files
jsowell-charger-web/jsowell-pile/src/main/java/com/jsowell/pile/service/PileBillingTemplateService.java
2024-09-06 14:52:00 +08:00

199 lines
4.7 KiB
Java

package com.jsowell.pile.service;
import com.jsowell.pile.domain.PileBillingDetail;
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.customer.BillingPriceVO;
import com.jsowell.pile.vo.uniapp.customer.CurrentTimePriceDetails;
import com.jsowell.pile.vo.web.BillingDetailVO;
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 PileBillingTemplateService {
/**
* 查询计费模板
*
* @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);
List<BillingTemplateVO> queryStationPreferentialBillingTemplateList(String stationId);
/**
* 查询站点计费模板
*
* @param stationId 站点id
* @return
*/
List<BillingTemplateVO> queryStationBillingTemplateListForUniApp(String stationId);
/**
* 查询正在使用中的计费模板
* @param stationId 站点id
* @return
*/
BillingTemplateVO queryUsedBillingTemplate(String stationId);
List<BillingPriceVO> conversionParameters(List<BillingDetailVO> billingDetailList);
/**
* 查询计费价格详情
* @param stationId 站点id
* @return
*/
List<BillingPriceVO> queryBillingPrice(String stationId);
List<BillingPriceVO> queryBillingPriceOld(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
*/
@Deprecated
void insertPileBillingRelation(List<PileBillingRelation> relationList);
/**
* 修改计费模板
*
* @param dto
*/
void updateBillingTemplate(CreateOrUpdateBillingTemplateDTO dto);
EchoBillingTemplateVO queryPileBillingTemplateById(Long id);
/**
* 通过站点id查询当前时间的收费详情
*/
CurrentTimePriceDetails getCurrentTimePriceDetails(String stationId);
List<PileBillingDetail> queryBillingDetailById(Long id);
int deletePreferentialBillingTemplate(String stationId);
// 批量查询站点计费模板
List<BillingTemplateVO> selectBillingTemplateByStationIdList(List<String> stationIdList);
/**
* 修改站点计费模板状态并下发最新模板
* @param stationId 充电站id
* @param templateId 模板id
* @param deviceType 设备类型
* @return
*/
int changeStationTemplate(String stationId, String templateId, String deviceType);
/**
* 创建优惠计费模板
* @param dto
* @return
*/
int createPreferentialBillingTemplate(CreateOrUpdateBillingTemplateDTO dto);
/**
* 查询优惠计费模板
*/
BillingTemplateVO queryPreferentialBillingTemplate(String stationId);
}