在我们平时新建一个全新的 Java 类,这个类需要存放的包不存在,可以使用如下的方式进行创建:

含义就是说,将 ChannelVO 这个类放在 vo 这个包当中,如果存在则不创建,存在就将新建的类放入其中。

ChannelVO

/**
* @author BNTang
* @version 1.0
* @description 渠道管理,前端展示对象
* @since 2023-11-02
**/
public class ChannelVO extends BaseEntity {
/**
* 渠道名称
*/
@NotBlank(message = "{channel.name.notnull}")
private String channelName; /**
* 渠道状态
* 0 正常 1 停用
*/
@Max(value = 1, message = "{channel.status.invalid}")
@Min(value = 0, message = "{channel.status.invalid}")
@NotNull(message = "{channel.status.notnull}")
private Byte status; /**
* 备注信息
*/
private String remark; /**
* 渠道类型:1 线上渠道 2 线下渠道
*/
@Max(value = 2, message = "{channel.type.invalid}")
@Min(value = 1, message = "{channel.type.invalid}")
@NotNull(message = "{channel.type.notnull}")
private Integer type; /**
* 删除标志(0代表存在 2代表删除)
*/
private String delFlag; public String getChannelName() {
return channelName;
} public void setChannelName(String channelName) {
this.channelName = channelName;
} public Byte getStatus() {
return status;
} public void setStatus(Byte status) {
this.status = status;
} @Override
public String getRemark() {
return remark;
} @Override
public void setRemark(String remark) {
this.remark = remark;
} public Integer getType() {
return type;
} public void setType(Integer type) {
this.type = type;
} public String getDelFlag() {
return delFlag;
} public void setDelFlag(String delFlag) {
this.delFlag = delFlag;
}
}

ChannelController

/**
* 新增渠道
*/
@PreAuthorize("hasPermission('tienchin:channel:create')")
@Log(title = "渠道管理", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@Validated @RequestBody ChannelVO channelVO) {
return AjaxResult.success(iChannelService.addChannel(channelVO) > 0 ? "添加成功" : "添加失败");
}

IChannelService

/**
* 添加渠道
*
* @param channelVO 渠道信息
* @return int {@code 0} 失败 {@code 1} 成功
* @author BNTang
* @since 2023/09/02 12:11:42
*/
int addChannel(ChannelVO channelVO);

ChannelServiceImpl

@Override
public int addChannel(ChannelVO channelVO) {
// 渠道名称不能重复
QueryWrapper<Channel> channelQueryWrapper = new QueryWrapper<>();
channelQueryWrapper.lambda()
.eq(Channel::getChannelName, channelVO.getChannelName())
.eq(Channel::getDelFlag, "0");
Channel channelByDb = getOne(channelQueryWrapper);
if (channelByDb != null) {
// 说明渠道名称已经存在
return 0;
} // 保存渠道信息
Channel channel = new Channel();
BeanUtils.copyProperties(channelVO, channel); // 设置其它默认值
channel.setCreateBy(SecurityUtils.getUsername());
channel.setCreateTime(LocalDateTime.now());
return save(channel) ? 1 : 0;
}

TienChin 渠道管理-添加渠道的更多相关文章

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

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

  2. 【Devops】【docker】【CI/CD】Jenkins源代码管理 添加gitlab项目地址,报错Failed to connect to repository : Error performing command: ls-remote -h git@192.168.92.130:8090/root/swapping.git HEAD

    Jenkins源代码管理 添加gitlab项目地址 报错如下: Failed to connect to repository : Error performing command: ls-remot ...

  3. Windows ->> Windows Server 2012打开管理添加“我的电脑”桌面图标途径

    Windows Server 2012打开管理添加“我的电脑”桌面图标途径 rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,0

  4. 项目一:第五天 1、区域数据(pinyin4j-简码,城市编码) 2、Web层代码重构(model对象,分页代码提取) 3、区域分页查询 3、分区添加功能 4、定区管理管理-添加,分页

    Service: /** * @Description: 1.保存定区  2.让分区关联定区 * 对象三种状态 1.持久态(被session管理对象-一级缓存中有对象) 2.托管态(有OID标识,数据 ...

  5. 一种动态写入apk数据的方法(用于用户关系绑定、添加渠道号等)

    背景: 正在开发的APP需要记录业务员与客户的绑定关系.具体应用场景如下: 由流程图可知,并没有用户填写业务人员信息这一步,因此在用户下载的APP中就已经携带了业务人员的信息. 由于业务人员众多,不可 ...

  6. ERP客户关系渠管理添加和修改联系人(二十一)

    树形结构treeview 前端代码: <form id="form1" runat="server"> <div> <asp:Tr ...

  7. Vue小案例 之 商品管理------添加商品

    进行添加button,以及商品列表的创建 html: <div class="form-btn"> <button>确认添加</button> ...

  8. iOS文件的管理(添加,删除,拷贝,移动)

    #import "ViewController.h" @implementation ViewController - (void)viewDidLoad { [super vie ...

  9. 使用vue实现用户管理 添加及删除功能

    简单的管理系统-增删改查 添加及删除功能 <!DOCTYPE html> <html> <head> <meta charset="UTF-8&qu ...

  10. JQuery仿淘宝商家后台管理 之 管理添加分类

    先看一下效果图: 实现功能: 1.打开时加载分类信息,折叠所有分类 2.动态添加子类和父类 3.顺序的调整 4.无刷新删除,添加 5.保存到数据库 下面是HTML代码 : <title>分 ...

随机推荐

  1. Axure 安装使用 FontAwesome

    Axure 安装使用 FontAwesome. 字体下载:https://www.bootcss.com/p/font-awesome/ 解压后,到 font 目录,双击 FontAwesome.ot ...

  2. SQL Server 项目中 SQL 脚本更新、升级方式,防止多次重复执行

    MySQL 项目中 SQL 脚本更新.升级方式,防止多次重复执行 Oracle 项目中 SQL 脚本更新方式 一套代码,多家部署时,在SQL脚本升级时,通过一个SQL文件给运维,避免出现SQL执行序顺 ...

  3. Intellij 查找排除JAR包的依赖关系(Maven Helper)

    Intellij 查找排除JAR包的依赖关系(Maven Helper) 安装插件 Windows 类似

  4. MyBatis Mapper.XML 标签使用说明

    直接将值返回给对象 <select id="list" resultType="com.vipsoft.base.entity.UserInfo"> ...

  5. 数据工程师必备的8项技能,不要只知道Python!

    欢迎关注公众号:机器学习算法与Python实战(ID:tjxj666) 原作:Mohammed M Jubapu 译者:机器学习算法与Python实战(公众号ID:tjxj666) 英文:https: ...

  6. umount.nfs4: /home/videorec/sharedir: device is busy

    用umount取消挂载时报错设备繁忙:device is busy.原因是还有进程在打开目录下的文件,可以先杀死进程,再卸载,或者强制卸载 umount 使用umount强制卸载,参数如下: -l  ...

  7. Java 多线程上下文传递在复杂场景下的实践

    一.引言 海外商城从印度做起,慢慢的会有一些其他国家的诉求,这个时候需要我们针对当前的商城做一个改造,可以支撑多个国家的商城,这里会涉及多个问题,多语言,多国家,多时区,本地化等等.在多国家的情况下如 ...

  8. 阿里云 Serverless 应用引擎(SAE)2

    8月7日,阿里云 Serverless 应用引擎(SAE)2.0正式公测上线!全面升级后的SAE 2.0具备极简体验.标准开放.极致弹性三大优势,应用冷启动全面提效,秒级完成创建发布应用,应用成本下降 ...

  9. freeswitch的2833和inband对接方案

    概述 freeswitch支持三种模式的DTMF传输方式,分别时inband.INFO.2833. 在传统的PSTN网络中,所有的DTMF码都是inband模式,所以VOIP网络和PSTN网络对接中, ...

  10. Ceph学习笔记(1)- 架构概述

    简介 Ceph的目标是采用商业硬件来构建大规模的.具有高可用.高扩展.高性能的分布式存储系统,ceph具有如下特点: 软件定义存储:Ceph不需要特定的硬件,在主流的Linux发行版等类Unix操作系 ...