Files
jsowell-charger-web/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PileBillingTemplateMapper.java
2024-09-04 14:03:28 +08:00

185 lines
4.8 KiB
Java

package com.jsowell.pile.mapper;
import com.jsowell.pile.domain.PileBillingDetail;
import com.jsowell.pile.domain.PileBillingRelation;
import com.jsowell.pile.domain.PileBillingTemplate;
import com.jsowell.pile.vo.web.BillingTemplateVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* 计费模板Mapper接口
*
* @author jsowell
* @date 2022-09-20
*/
@Repository
public interface PileBillingTemplateMapper {
/**
* 查询计费模板
*
* @param id 计费模板主键
* @return 计费模板
*/
PileBillingTemplate selectPileBillingTemplateById(Long id);
/**
* 查询计费模板列表
*
* @param pileBillingTemplate 计费模板
* @return 计费模板集合
*/
List<PileBillingTemplate> selectPileBillingTemplateList(PileBillingTemplate pileBillingTemplate);
/**
* 新增计费模板
*
* @param pileBillingTemplate 计费模板
* @return 结果
*/
int insertPileBillingTemplate(PileBillingTemplate pileBillingTemplate);
/**
* 修改计费模板
*
* @param pileBillingTemplate 计费模板
* @return 结果
*/
int updatePileBillingTemplate(PileBillingTemplate pileBillingTemplate);
/**
* 删除计费模板
*
* @param id 计费模板主键
* @return 结果
*/
int deletePileBillingTemplateById(Long id);
/**
* 批量删除计费模板
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
int deletePileBillingTemplateByIds(Long[] ids);
/**
* 批量删除计费模板详情
*
* @param templateCodes 需要删除的templateCode集合
* @return 结果
*/
int deletePileBillingDetailByTemplateCodes(@Param("templateCodes") List<String> templateCodes);
/**
* 批量新增计费模板详情
*
* @param pileBillingDetailList 计费模板详情列表
* @return 结果
*/
int batchPileBillingDetail(List<PileBillingDetail> pileBillingDetailList);
/**
* 通过计费模板主键删除计费模板详情信息
*
* @param templateCode 计费模板code
* @return 结果
*/
int deletePileBillingDetailByTemplateCode(String templateCode);
/**
* 查询公共计费模板列表
* @return
*/
List<BillingTemplateVO> queryPublicBillingTemplateList();
/**
* 根据站点id查询站点计费模板列表
* 根据发布时间倒序,最新一条就是目前正在使用的计费模板
* @param stationId 站点id
* @return
*/
List<BillingTemplateVO> queryStationBillingTemplateListWithAuth(@Param("stationId") String stationId,
@Param("stationDeptIds") List<String> stationDeptIds,
@Param("memberFlag") String memberFlag);
/**
* 根据站点id查询站点计费模板列表
* 根据发布时间倒序,最新一条就是目前正在使用的计费模板
* @param stationId 站点id
* @return
*/
List<BillingTemplateVO> queryStationBillingTemplateList(@Param("stationId") String stationId);
/**
* 通过桩sn号查询计费模板
*
* @param pileSn 桩sn
* @return 计费模板编号
*/
BillingTemplateVO selectBillingTemplateByPileSn(@Param("pileSn") String pileSn);
/**
* 通过计费模板id查询
* @param templateId 计费模板id
* @return
*/
BillingTemplateVO selectBillingTemplateByTemplateId(@Param("templateId") String templateId);
/**
* 查询站点最新发布的计费模板
* @param stationId
* @return
*/
BillingTemplateVO selectBillingTemplateByStationId(@Param("stationId") String stationId);
/**
* 批量查询站点正在使用的计费模板信息
* @param stationIdList 站点id集合
* @return
*/
List<BillingTemplateVO> selectBillingTemplateByStationIdList(@Param("stationIdList") List<String> stationIdList);
/**
* 通过模板id数组批量查询计费模板详情列表
*/
List<PileBillingDetail> queryBillingDetailByTemplateIds(@Param("templateIds") Long[] templateIds);
/**
* 通过模板id查询计费模板详情列表
*/
List<PileBillingDetail> queryBillingDetailByTemplateId(@Param("templateId") Long templateId);
/**
* 插入充电桩和计费模板关系
*/
void insertPileBillingRelation(List<PileBillingRelation> relationList);
/**
* 根据桩号删除计费模板关系
* @param pileSnList
*/
void deleteRelationByPileSn(@Param("pileSnList") List<String> pileSnList);
/**
* 根据站点id修改状态
*
* @param stationId
* @param status
* @param deviceType
*/
void updateStatusByStationId(@Param("stationId") String stationId, @Param("status") String status, @Param("deviceType")String deviceType);
void updateStatusByTemplateId(@Param("templateId") String templateId, @Param("status") String status);
/**
* 查询站点的集团会员优惠计费模板
* @param stationId
* @return
*/
BillingTemplateVO queryPreferentialBillingTemplate(String stationId);
}