package com.oying.modules.fee.service.impl; import com.oying.modules.fee.domain.DistanceSurchargeRules; import com.oying.utils.FileUtil; import lombok.RequiredArgsConstructor; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.oying.modules.fee.service.DistanceSurchargeRulesService; import com.oying.modules.fee.domain.dto.DistanceSurchargeRulesQueryCriteria; import com.oying.modules.fee.mapper.DistanceSurchargeRulesMapper; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.oying.utils.PageUtil; import java.util.List; import java.util.Map; import java.io.IOException; import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; import java.util.LinkedHashMap; import com.oying.utils.PageResult; /** * @description 服务实现 * @author lixin * @date 2025-10-07 **/ @Service @RequiredArgsConstructor public class DistanceSurchargeRulesServiceImpl extends ServiceImpl implements DistanceSurchargeRulesService { private final DistanceSurchargeRulesMapper distanceSurchargeRulesMapper; @Override public PageResult queryAll(DistanceSurchargeRulesQueryCriteria criteria, Page page){ return PageUtil.toPage(distanceSurchargeRulesMapper.findAll(criteria, page)); } @Override public List queryAll(DistanceSurchargeRulesQueryCriteria criteria){ return distanceSurchargeRulesMapper.findAll(criteria); } @Override @Transactional(rollbackFor = Exception.class) public void create(DistanceSurchargeRules resources) { distanceSurchargeRulesMapper.insert(resources); } @Override @Transactional(rollbackFor = Exception.class) public void update(DistanceSurchargeRules resources) { DistanceSurchargeRules distanceSurchargeRules = getById(resources.getRuleId()); distanceSurchargeRules.copy(resources); distanceSurchargeRulesMapper.updateById(distanceSurchargeRules); } @Override @Transactional(rollbackFor = Exception.class) public void deleteAll(List ids) { distanceSurchargeRulesMapper.deleteBatchIds(ids); } @Override public void download(List all, HttpServletResponse response) throws IOException { List> list = new ArrayList<>(); for (DistanceSurchargeRules distanceSurchargeRules : all) { Map map = new LinkedHashMap<>(); map.put("最小距离 (公里)", distanceSurchargeRules.getMinDistance()); map.put("最大距离 (公里)", distanceSurchargeRules.getMaxDistance()); map.put("每公里加价金额", distanceSurchargeRules.getFeePerKm()); map.put("生效日期", distanceSurchargeRules.getEffectiveDate()); map.put("创建者", distanceSurchargeRules.getCreateBy()); map.put("更新者", distanceSurchargeRules.getUpdateBy()); map.put("创建日期", distanceSurchargeRules.getCreateTime()); map.put("更新时间", distanceSurchargeRules.getUpdateTime()); list.add(map); } FileUtil.downloadExcel(list, response); } }