TienChin 渠道管理-渠道导入

简介: TienChin 渠道管理-渠道导入

ChannelController

@PostMapping("/importTemplate")
void importTemplate(HttpServletResponse response) {
    ExcelUtil<Channel> util = new ExcelUtil<>(Channel.class);
    util.importTemplateExcel(response, "渠道数据");
}
@Log(title = "渠道管理", businessType = BusinessType.IMPORT)
@PreAuthorize("hasPermission('tienchin:channel:import')")
@PostMapping("/importData")
AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception {
    ExcelUtil<Channel> util = new ExcelUtil<>(Channel.class);
    List<Channel> channelList = util.importExcel(file.getInputStream());
    return AjaxResult.success(iChannelService.importChannel(channelList, updateSupport));
}

IChannelService

/**
 * 导入渠道数据
 *
 * @param channelList   渠道数据列表
 * @param updateSupport 是否更新支持,如果已存在,则进行更新数据
 * @return {@code boolean} {@code true} 导入成功 {@code false} 导入失败
 */
boolean importChannel(List<Channel> channelList, boolean updateSupport);

ChannelServiceImpl

@Override
@Transactional(rollbackFor = Exception.class)
public boolean importChannel(List<Channel> channelList, boolean updateSupport) {
    String username = SecurityUtils.getUsername();
    LocalDateTime currentTime = LocalDateTime.now();
    List<Channel> channels = channelList
            .stream()
            .peek(channel -> {
                if (updateSupport) {
                    channel.setUpdateBy(username);
                    channel.setUpdateTime(currentTime);
                } else {
                    channel.setCreateBy(username);
                    channel.setCreateTime(currentTime);
                    channel.setChannelId(null);
                }
            }).collect(Collectors.toList());
    if (updateSupport) {
        return updateBatchById(channels);
    } else {
        return saveBatch(channels);
    }
}

!> 修复若依框架导入数据 Byte 类型数据报错的问题


更改 ReflectUtils.java 中的 invokeMethodByName 方法:

2105804-20230917233341026-1413251200.png

...
else if (cs[i] == Byte.class) {
    args[i] = Convert.toByte(args[i]);
}
...

配置 MySQL 批量插入

# 批量插入
&rewriteBatchedStatements=true

配置在 MySQL 的连接地址后面即可:



因为 MyBatisPlus 当中的批量插入,并没有达到我的预料效果的批量插入,所以我们需要进行配置,配置方式如上。

目录
相关文章
|
6月前
|
存储 前端开发 NoSQL
电商4.0项目【三】: 用户模块(8081)
电商4.0项目【三】: 用户模块(8081)
95 0
TienChin 渠道管理-渠道导出
TienChin 渠道管理-渠道导出
43 0
|
SQL
TienChin 渠道管理-渠道页面完善
TienChin 渠道管理-渠道页面完善
39 0
|
6月前
|
监控 供应链 API
为多渠道销售集成商品API接口的正式步骤指南
摘要: 在当今的零售环境中,企业通过多渠道销售策略来扩大市场覆盖范围并提高客户接触率。商品API接口的集成是实现这一目标的关键技术手段之一。本文旨在提供一套系统的步骤指南,帮助企业高效地为其多渠道销售体系集成商品API接口。
|
前端开发 JavaScript API
TienChin 渠道管理-前端展示渠道信息
TienChin 渠道管理-前端展示渠道信息
56 0
TienChin 渠道管理-前端展示渠道信息
TienChin 渠道管理-删除渠道
TienChin 渠道管理-删除渠道
55 0
|
Java
TienChin 渠道管理-添加渠道
TienChin 渠道管理-添加渠道
64 0
TienChin 渠道管理-更新渠道接口开发
TienChin 渠道管理-更新渠道接口开发
64 0
TienChin 渠道管理-渠道搜索
TienChin 渠道管理-渠道搜索
56 0
|
SQL 前端开发
TienChin 渠道管理-权限分配
TienChin 渠道管理-权限分配
56 0