在我们平时新建一个全新的 Java 类,这个类需要存放的包不存在,可以使用如下的方式进行创建:
含义就是说,将 ChannelVO 这个类放在 vo 这个包当中,如果存在则不创建,存在就将新建的类放入其中。
ChannelVO
代码语言:javascript复制/**
* @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
代码语言:javascript复制/**
* 新增渠道
*/
@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
代码语言:javascript复制/**
* 添加渠道
*
* @param channelVO 渠道信息
* @return int {@code 0} 失败 {@code 1} 成功
* @author BNTang
* @since 2023/09/02 12:11:42
*/
int addChannel(ChannelVO channelVO);
ChannelServiceImpl
代码语言:javascript复制@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;
}