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 方法:

...

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

配置 MySQL 批量插入

# 批量插入
&rewriteBatchedStatements=true

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

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

TienChin 渠道管理-渠道导入的更多相关文章

  1. 用c#开发微信 (7) 微渠道 - 推广渠道管理系统 2 业务逻辑实现

    我们可以使用微信的“生成带参数二维码接口”和 “用户管理接口”,来实现生成能标识不同推广渠道的二维码,记录分配给不同推广渠道二维码被扫描的信息.这样就可以统计和分析不同推广渠道的推广效果. 上次介绍了 ...

  2. 用c#开发微信 (8) 微渠道 - 推广渠道管理系统 3 UI设计及后台处理

    我们可以使用微信的“生成带参数二维码接口”和 “用户管理接口”,来实现生成能标识不同推广渠道的二维码,记录分配给不同推广渠道二维码被扫描的信息.这样就可以统计和分析不同推广渠道的推广效果. 前面二篇& ...

  3. ERP渠道管理添加验证和查询(二十二)

    添加联系人的后台代码: protected void btnSubmit_Click(object sender, EventArgs e) { BioErpCrmManageChannel chan ...

  4. 用c#开发微信 (6) 微渠道 - 推广渠道管理系统 1 基础架构搭建

    我们可以使用微信的“生成带参数二维码接口”和 “用户管理接口”,来实现生成能标识不同推广渠道的二维码,记录分配给不同推广渠道二维码被扫描的信息.这样就可以统计和分析不同推广渠道的推广效果. 本系统使用 ...

  5. 用c#开发微信 (9) 微渠道 - 推广渠道管理系统 4 部署测试 (最终效果图)

    我们可以使用微信的“生成带参数二维码接口”和 “用户管理接口”,来实现生成能标识不同推广渠道的二维码,记录分配给不同推广渠道二维码被扫描的信息.这样就可以统计和分析不同推广渠道的推广效果. 本文是微渠 ...

  6. 使用__autoload()来管理文件导入

    其基本思想是把要使用到的其他资源文件统一使用__autoload()方法来管理,我们在使用的时候只需要引入包含__autoload()方法的文件即可.其对性能的影响是微乎其微的,但是带来的好处是巨大的 ...

  7. python 模块化管理,导入自己的模块(包)

    很多东西似懂非懂,或者当时看懂了,但是感觉不是很重要,经常不用,时间久了,也就变得似懂非懂了.今天被某度电话面试问道一个问题,就是模块倒入,其实我之前也是很仔细的研究过的,不过由于平时做的东西太简单, ...

  8. 数据库创建,用户管理,导入dmp文件

    创建数据库文件 CREATE TABLESPACE toolset LOGGING DATAFILE '/home/oracle/app/oracle/oradata/orcl/toolset.dbf ...

  9. 数据搬运组件:基于Sqoop管理数据导入和导出

    本文源码:GitHub || GitEE 一.Sqoop概述 Sqoop是一款开源的大数据组件,主要用来在Hadoop(Hive.HBase等)与传统的数据库(mysql.postgresql.ora ...

  10. Maven对坐标的管理 自动导入传递依赖 坐标和传递依赖分级显示

随机推荐

  1. Solon 的多配置文件切换

    比如有配置文件: app.yml app-dev.yml app-pro.yml 可以通过启动参数:-env java -jar demoapp.jar -env=dev

  2. C# 跳过值班时间代码逻辑

    /// <summary> /// 当前时间是否是值班时间 /// </summary> private bool IsDutyTime { get { var dutyTim ...

  3. web自动化-selenium携带cookie免密登录

    在我们做web自动化的时候,经常会遇到含有登录的页面,我们必须登录之后才能够对我们想要操作的页面元素进行定位,也就是说所有的操作都在登录前提下,其实没必要每次请求都先登录,当我们登录成功了,会在coo ...

  4. shardingsphere 5.1.1 分库分表

    1. mysql配置: application-dubboService = spring-csc-campaign-agent-context.xml kafka.topics.redisAcces ...

  5. vue 状态管理 五、Module用法

    系列导航 vue 状态管理 一.状态管理概念和基本结构 vue 状态管理 二.状态管理的基本使用 vue 状态管理 三.Mutations和Getters用法 vue 状态管理 四.Action用法 ...

  6. px2vw一个px单位转成vw单位的VSCode插件

    px2vw 一个 px 单位转成 vw 单位的 VSCode 插件

  7. 机器学习-无监督机器学习-SVD奇异值分解-24

    [POC] 1. 奇异值分解的本质 特征值分解只能够对于方阵提取重要特征, Ax=λx λ为特征值 x为对应的特征向量 奇异值分解可以对于任意矩阵: 注意看中间的矩阵是一个对角矩阵,颜色越深越起作用- ...

  8. 基于python+django的外卖点餐网站-外卖点餐系统

    该系统是基于python+django开发的外卖点餐系统.适用场景:大学生.课程作业.毕业设计.学习过程中,如遇问题可以在github给作者留言. 演示地址 前台地址: http://food.git ...

  9. SQL—排序专用窗口函数

    下面介绍三种用于进行排序的专用窗口函数: 1.RANK()     在计算排序时,若存在相同位次,会跳过之后的位次.     例如,有3条排在第1位时,排序为:1,1,1,4······ 2.DENS ...

  10. 【C/C++】 变参函数

    #include <stdio.h> #include <stdbool.h> #include <stdarg.h> #define MLA_ASSERT(exp ...