ExcelUtil util = new ExcelUtil(Channel.class); util.importTemplateExcel(response, "渠道数据..."); } @Log(title = "渠道管理", businessType = BusinessType.IMPORT) @PreAuthorize("hasPermission('tienchin...AjaxResult.success(iChannelService.importChannel(channelList, updateSupport)); } IChannelService /** * 导入渠道数据...* * @param channelList 渠道数据列表 * @param updateSupport 是否更新支持,如果已存在,则进行更新数据 * @return {@code boolean
在上一篇文章当中,表里面有一个渠道类型,我们这节主要是将这个渠道类型创建好,首先我们来看看字典表。...添加字典类型 添加字典数据 排个序,线下渠道显示排序值为 1。 最后将前端的若依文字替换一下:
更改一下菜单权限,将删除渠道的 delete 改为 remove: ChannelController.java @PreAuthorize("hasPermission('tienchin:channel...:remove')") @Log(title = "渠道管理", businessType = BusinessType.DELETE) @DeleteMapping("/{channelIds}")...return toAjax(iChannelService.deleteChannelByIds(channelIds)); } IChannelService.java /** * 删除渠道...* * @param channelIds 渠道ID * @return int {@code 0} 失败 {@code 1} 成功 * @author BNTang * @since 2023
iChannelService.selectChannelList(channelVO); return getDataTable(list); } IChannelService /** * 分页查询渠道列表...* * @param channelVO 渠道信息搜索条件 * @return {@code List } * @author BNTang * @since 2023/09...ChannelVO channelVO) { return channelMapper.selectChannelList(channelVO); } ChannelMapper /** * 分页查询渠道列表...* * @param channelVO 渠道信息搜索条件 * @return {@code List } * @author BNTang * @since 2023/09
ChannelVO /** * @author BNTang * @version 1.0 * @description 渠道管理,前端展示对象 * @since 2023-11-02 **/...:1 线上渠道 2 线下渠道 */ @Max(value = 2, message = "{channel.type.invalid}") @Min(value = 1, message...*/ @PreAuthorize("hasPermission('tienchin:channel:create')") @Log(title = "渠道管理", businessType = BusinessType.INSERT..."添加成功" : "添加失败"); } IChannelService /** * 添加渠道 * * @param channelVO 渠道信息 * @return int {@code 0}...= null) { // 说明渠道名称已经存在 return 0; } // 保存渠道信息 Channel channel = new Channel
ChannelController /** * 导出渠道列表 */ @PreAuthorize("hasPermission('tienchin:channel:export')") @Log(title...= "渠道管理", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse...渠道编号", cellType = Excel.ColumnType.NUMERIC) private Integer channelId; /** * 渠道名称 */ @Excel(name =..."渠道名称") private String channelName; /** * 渠道状态 * 1 正常,0 禁用 */ @Excel(name = "渠道状态", readConverterExp...:1 线上渠道 2 线下渠道 */ @Excel(name = "渠道类型", readConverterExp = "1=线上渠道,2=线下渠道") private Integer type;
Collectors.toList()); } return Collections.emptyList(); } 编写查询接口 更改 ChannelController: /** * * 渠道管理表...return getDataTable(iChannelService.selectChannelList()); } } 更改 IChannelService: /** * * 渠道管理表...08/26 09:32:57 */ List selectChannelList(); } 更改 ChannelServiceImpl: /** * * 渠道管理表...selectChannelList() { return channelMapper.selectChannelList(); } } 更改 ChannelMapper: /** * * 渠道管理表...since 2023-08-22 */ public interface ChannelMapper extends BaseMapper { /** * 查询渠道列表
简简单单介绍一个编写Vue时的一个小技巧,那么接下来进入核心内容,展示渠道信息的开发。...url: '/tienchin/channel/list', method: 'get', params: query }) } // 查询渠道详细...[{required: true, message: "渠道类型不能为空", trigger: "blur"}] }, }); /*** 渠道导入参数 */ const upload = reactive...({ // 是否显示弹出层(渠道导入) open: false, // 弹出层标题(渠道导入) title: "", // 是否禁用上传 isUploading: false,...$modal.confirm('是否确认删除渠道编号为"' + channelIds + '"的数据项?').
ChannelController /** * 修改渠道 */ @PreAuthorize("hasPermission('tienchin:channel:edit')") @Log(title...= "渠道管理", businessType = BusinessType.UPDATE) @PutMapping AjaxResult edit(@Validated @RequestBody ChannelVO..."更新成功" : "更新失败"); } /** * 根据渠道ID查询一个具体的渠道信息 * * @param channelId 渠道ID * @return {@link AjaxResult...channelId) { return AjaxResult.success(iChannelService.getById(channelId)); } IChannelService /** * 修改渠道...* * @param channelVO 渠道信息 * @return int {@code 0} 失败 {@code 1} 成功 * @author BNTang * @since 2023
添加权限 如果您不想手动添加可以使用我如下的SQL,但是有一个注意点就是 parent_id 是渠道管理菜单的主键 id 即可一键插入。 INSERT INTO `TienChin`....'0', '0', 'tienchin:channel:export', '#', 'admin', '2023-09-02 11:16:57', '', NULL, ''); 添加渠道管理的账号...在是添加一个账号,这个账号就是我们的渠道管理的账号,这个账号的角色就是我们刚刚添加的角色。 然后,我们在用刚刚创建的渠道管理员账号登录系统。...全局替换权限字符: system:role 替换为 tienchin:channel: 再将 tienchin:channel:add 替换为 tienchin:channel:create: 重启项目,在用渠道管理员账号登录你会发现只有分配的权限按钮...好了权限分配到此为止,下一章基于该账号进行渠道管理模块的后续功能开发,登录 admin 分配一下渠道管理的权限,全部分配一下利于测试与开发。
渠道管理最终的 pom.xml 内容: tienchin-channel 渠道管理模块...-- 渠道管理 --> top.it6666 tienchin-channel ${tienchin.version} 注意点: 渠道管理模块 version 的版本号要与当前父工程 pom.xml 内容中...-- 渠道管理 --> top.it6666 tienchin-channel</artifactId
渠道表设计,我这里就直接贴成品的创建表 SQL: -- ---------------------------- -- tienchin_channel -- ---------------------...channel_name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '渠道名称...status` tinyint NULL DEFAULT NULL COMMENT '渠道状态...:1 线上渠道 2 线下渠道', `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL...) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '渠道管理表
创建 和管理 通知渠道 从Android8.0(API26)开始,所有的通知必须分配一个渠道。每一个渠道,你都可以设置渠道中所有通知的视觉和听觉行为。然后,用户能够随意修改这些设置来决定通知的行为。...在用户界面渠道显示为 “类别” 渠道创建后就不能更改通知行为了,用户能够完全控制通知的行为,但我们还是可以更改说明和渠道名称 我们可以为每个不同类型的通知创建一个渠道; 如果 target>=26 就必须使用渠道...有关选择适当优先级的信息 ,查看 通知设计指南中的 正确设置和管理优先级 读取通知渠道设置 用户可以在设置界面设置渠道的行为(震动,声音等)可以通过以下步骤获取到用户对我们渠道的行为设置。...可以通过重装程序或者清楚数据来清除测试渠道 创建渠道分组 如果想要更好的在系统设置UI中显示渠道外观,可以创建渠道分组。当你的APP支持多用户的时候可以为每个账户创建一个渠道分组。...setGroup()来关联分组; 将渠道提交到通知管理后就无法改变关联关系了。
新建 ValidationMessages.properties: channel.name.notnull=渠道名称不能为空 channel.type.notnull=渠道类型不能为空 channel.status.notnull...=渠道状态不能为空 channel.type.invalid=渠道类型无效 channel.status.invalid=渠道状态无效
在字典管理当中添加渠道状态 channel_status:渠道状态 分别为: 正常,键值为1,回显样式为 success 禁用,键值为0,回显样式为 info !...在上一节编写前端展示渠道信息时,出现了如上图的警告,某个标签的type属性导致的,这是警告,查看官网文档改成最新的就可以了,看样子是el-tag标签,目前本人没有管继续往下开发即可。
在上一节当中,我们使用到了字典来进行翻译我们的渠道类型等等字段,那么这一节我们就来分析一下字典的原理。...从代码方面先开始分析,我们先来看一下字典的定义,我们是在如下图当中编写了我们的渠道类型,使用,proxy.useDict 进行的请求数据,proxy 相比之前的 Vue2,其实就是 Vue 本身,相当于
我国新能源行业目前处于蓬勃发展期,随着十四五一系列政策出台,补贴措施严加管控,市场竞争加剧,新能源企业渠道管理问题也层出不穷,导致业绩下滑,亟需整治渠道销售。...新能源行业渠道管理问题 1、渠道发展比较缓慢 新能源行业一般在开拓市场前期,以传统渠道方式为基础,将整个市场划分为不同区域并招揽当地渠道商进行维护,企业则负责产品配送,并逐渐启用深度分销的营销渠道模式。...2、加强渠道连接,新能源行业渠道商管理平台提升协同效率 通过建立新能源渠道商服务管理系统,渠道商可在渠道商系统实现在线下单、订单跟踪、往来对账和商报库存数据,新能源渠道商平台实现渠道信息的透明和协同运作...4、供销双方高效发展,新能源行业渠道商管理系统快速扩大渠道规模 新能源渠道商平台帮助新能源企业快速发现高效的渠道拓展方式,通过渠道商系统能够让销售组织快速找到新能源企业提供的产品,通过新能源渠道商管理平台...5、渠道商沟通内外顺畅,新能源渠道商管理系统提高销售转化效率 构建新能源行业渠道商平台内外的即时通讯、知识共享、团队激励、佣金奖励、业务竞赛,通过新能源行业渠道商管理平台有效提高新能源渠道组织的销售转化率
客户管理的目标和项目管理的目标是统一的,即实现客户的全面满意。一个项目的核心战略与客户也是密不可分的。...(一)项目客户关系管理有助于项目的获取 项目客户关系管理通过对项目客户的管理,建立起一种项目组织与客户之间的长期、良好的合作关系。...(二)项目客户关系管理有利于项目的顺利实施 通过项目客户关系管理,可以实施与客户之间的有效沟通,从而与客户培养出一种相互信任、尊重的伙伴关系,化解项目组织与客户之间的各种冲突。 ?...三)项目客户关系管理有助于项目成果的交付 客户从一开始就参与到项目管理过程中来,通过需求不断确认保证自己的期望与项目交付物目标的一致,校正偏差。...(四)项目客户关系管理有助于提高组织的竞争力 通过客户关系管理,提高客户的满意度的同时,也提高项目组织的市场声誉,不仅开发了客户的终身价值,还通过客户资产化,实现其增值和保值。
越来越多的企业为了提升零售业绩,逐渐在改变过去订货、铺货、压货、指标考核等传统的商业模式,将企业经营着力点聚焦到消费者需求、终端零售数据、消费者体验等,以消费者需求为导向,由此带来企业在产品研发、商品管理...3.从单一渠道转型全渠道 在批发向零售转型的导向下,家居企业渠道越来越趋向于多元化,其本质是通过多元渠道甚至是全渠道经营,更加全面、便捷的接触和服务消费者。...家居企业的转型,也带来了产业渠道的管理难题,极大提高了企业全渠道经营的复杂程度,基于此,企业可通过建立渠道管理系统,利用一个管理中心,处理、管控和分派来自所有渠道客户触点的订单,简化全渠道的运营管理,为品牌商...数 商 云 渠道分销系统能够为企业提供清晰管理渠道订单、精准掌握渠道库存、实时洞察市场动态、精准推行促销策略等强大功能,打造一站式、全流程、自动化的渠道销售系统,帮助企业轻松实现渠道互联网化,快速拓客锁客...2、线上线下一体化支持 结合渠道营销管理,实现卖场、经销商、门店与网上统一管理、统一调配,促进线上线上紧密结合,提升消费者购物体验、企业知名度与影响力,促进产品的设计的更新迭代。
怎样做好经销商渠道管理是大多企业较为关心的问题,特别是目前经销商的管理渠道开始逐渐旺盛,对企业现有经销商渠道进行管理,使公司和渠道成员间相互协调、通力合作,对于各企业而言十分重要。...2、渠道覆盖面过广,管理难触及 建立多层次、渗透力强、覆盖面广的渠道,不仅需要大量的资金投入及丰富的管理经验,更需要认真的长期经营。...B2B经销商渠道管理系统-管理渠道的最佳帮手 B2B经销商渠道管理系统借助互联网的延伸及便利性,使商务过程不再受时间、地点和人员的限制,企业实现与经销商之间端到端的供应链管理,有效缩短供销链,确保企业能够随时...而数商云则可基于整个大市场环境,针对渠道管理存在的痛点,为企业管理经销商销售渠道建立B2B经销商渠道管理系统,提供清晰管理渠道订单、精准掌握渠道库存、实时洞察市场动态、精准推行促销策略等功能,可助力企业做好渠道的内外部管理...B2B经销商渠道系统管理体系产品亮点 1、渠道业务统一管理 系统可助力企业总部整合上下游资源,实现在线订货、业务申请、客户投诉、产品推广、技术支持、业务交流等线上一体化管理, 满足经销商线上订货, 总部对多级别的经销商体系的管控
领取专属 10元无门槛券
手把手带您无忧上云