package com.oying.service.impl; import com.oying.domain.PayConfig; import com.oying.utils.FileUtil; import com.oying.utils.enums.PayTypeEnum; import lombok.RequiredArgsConstructor; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.oying.service.PayConfigService; import com.oying.domain.dto.PayConfigQueryCriteria; import com.oying.mapper.PayConfigMapper; import org.springframework.beans.factory.annotation.Value; 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; /** * @author lixin * @description 服务实现 * @date 2025-09-25 **/ @Service @RequiredArgsConstructor public class PayConfigServiceImpl extends ServiceImpl implements PayConfigService { private final PayConfigMapper payConfigMapper; @Value("${pay.type}") private String payType; @Override public PageResult queryAll(PayConfigQueryCriteria criteria, Page page) { return PageUtil.toPage(payConfigMapper.findAll(criteria, page)); } @Override public List queryAll(PayConfigQueryCriteria criteria) { return payConfigMapper.findAll(criteria); } @Override @Transactional(rollbackFor = Exception.class) public void create(PayConfig resources) { payConfigMapper.insert(resources); } @Override @Transactional(rollbackFor = Exception.class) public void update(PayConfig resources) { PayConfig payConfig = getById(resources.getConfigId()); payConfig.copy(resources); payConfigMapper.updateById(payConfig); } @Override @Transactional(rollbackFor = Exception.class) public void using(PayConfig resources) { payConfigMapper.disabled(resources.getConfigId()); payConfigMapper.using(resources.getConfigId()); } @Override public PayTypeEnum findInfo(Boolean oying) { PayConfig payConfig = payConfigMapper.findInfo(oying); if (payConfig != null) { return PayTypeEnum.find(payConfig.getConfigType()); } else { return PayTypeEnum.find(payType); } } @Override @Transactional(rollbackFor = Exception.class) public void deleteAll(List ids) { payConfigMapper.deleteBatchIds(ids); } @Override public void download(List all, HttpServletResponse response) throws IOException { List> list = new ArrayList<>(); for (PayConfig payConfig : all) { Map map = new LinkedHashMap<>(); map.put("名称", payConfig.getConfigName()); map.put("类型", payConfig.getConfigType()); map.put("环境", payConfig.getOying() ? "测试" : "生成"); map.put("门店编号", payConfig.getMchId()); map.put("是否启用", payConfig.getEnabled() ? "是" : "否"); map.put("创建者", payConfig.getCreateBy()); map.put("创建时间", payConfig.getCreateTime()); map.put("更新者", payConfig.getUpdateBy()); map.put("更新时间", payConfig.getUpdateTime()); list.add(map); } FileUtil.downloadExcel(list, response); } }