TienChin 渠道管理-添加渠道

发布时间 2023-09-17 13:35:20作者: BNTang

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

img

含义就是说,将 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;
}