在我们平时新建一个全新的 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. Apollo系列之架构设计(一)

    原创文章,转载请标注.https:https://www.cnblogs.com/boycelee/p/17967590 目录 一.什么是配置中心? 二.传统配置有什么问题? 三.配置中心的场景 四. ...

  2. LVS Nginx HAProxy区别

    LVS 抗负载能力强,性能高,能达到F5硬件的60%,对内存和cpu资源消耗比较低 工作在四层仅作分发之用,通过vrrp协议转发,具体流量由linux内核处理,没有流量的产生 稳定性.可靠性好,自身有 ...

  3. 前端规范:eslint与prettier使用(干货)

    https://blog.csdn.net/weixin_45077178/article/details/107226551 视频教程: https://xdclass.net/#/dplayer? ...

  4. 彻底解决 gcr、quay、DockerHub 镜像下载难题

    在使用 Docker 和 Kubernetes 时,我们经常需要访问 gcr.io 和 quay.io 镜像仓库,由于众所周知的原因,这些镜像仓库在中国都无法访问,唯一能访问的是 Docker Hub ...

  5. OpenShift image registry 概述

    0. 前言 docker 镜像管理之 overlay2 最佳实践 中介绍了 image 的底层逻辑联合文件系统和分层结构. image 存储在 registry 中,对于不同平台使用 registry ...

  6. 万字血书Vue—走近Vue

    Vue是什么? Vue是一套用于构建用户界面的渐进式JavaScript框架 构建用户界面:用vue往html页面中填充数据 渐进式:Vue可以自底向上逐层的应用,从轻量小巧核心库的简单应用,到引入各 ...

  7. HTTP 及 http 请求解析过程

    本文为博主原创,未经允许不得转载: HTTP 全称为:超文本传输协议(HyperText Transfer Protocol,HTTP),一种无状态的,以请求/应答方式运行的协议, 它使用可扩展的语义 ...

  8. redis-持久化-RDB-AOF.png

  9. blender 3D 汽车模型下载

    前言 因为之前需要模拟摄像头拍摄汽车车牌,从各种途径下载了一些blender 3D 汽车模型,现将模型分享出来,如有需要,直接去最后面下载地址下载即可 目前已经车型40多款 车型图 70年代Porsc ...

  10. [转帖]11GR2数据库审计日志自动清理

    审计日志如果把SYSTEM表空间撑爆,也会导致数据库停摆,且11g默认审计是开启状态. 今天就遇到了这样的情况,写了下面脚本来实现自动清理工作,记录操作过程. TRUNCATE TABLE SYS.A ...