TienChin 活动管理-添加活动接口

简介: TienChin 活动管理-添加活动接口

ActivityController

@PreAuthorize("hasPermission('tienchin:activity:create')")
@Log(title = "活动管理", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@Validated @RequestBody ActivityVO activityVO) {
    return AjaxResult.success(iActivityService.addActivity(activityVO) > 0 ? "添加成功" : "添加失败");
}

IActivityService

/**
 * 添加活动
 *
 * @param activityVO 活动信息
 * @return 结果
 */
int addActivity(ActivityVO activityVO);

ActivityServiceImpl

@Override
public int addActivity(ActivityVO activityVO) {
    Activity activity = new Activity();
    BeanUtils.copyProperties(activityVO, activity);
    activity.setCreateTime(LocalDateTime.now());
    activity.setCreateBy(SecurityUtils.getUsername());
    return save(activity) ? 1 : 0;
}

ValidationMessages.properties

# 活动管理
activity.name.notBlank=活动名称不能为空
activity.name.size=活动名称最大长度为20个字符
activity.channelId.notnull=渠道ID不能为空
activity.info.notBlank=活动简介不能为空
activity.info.size=活动简介最多为255个字符
activity.type.notnull=活动类型不能为空
activity.status.max=活动状态最大值为1
activity.status.min=活动状态最小值为0
activity.discount.max=折扣最大值为1
activity.discount.min=折扣最小值为0
activity.voucher.min=代金券最小值为0
activity.beginTime.notnull=活动开始时间不能为空
activity.endTime.notnull=活动结束时间不能为空

ActivityVO

/**
 * 活动名称
 */
@NotBlank(message = "{activity.name.notBlank}")
@Size(max = 20, message = "{activity.name.size}")
private String activityName;
/**
 * 渠道ID
 */
@NotNull(message = "{activity.channelId.notnull}")
private Integer channelId;
/**
 * 渠道名称
 */
private String channelName;
/**
 * 活动简介
 */
@NotBlank(message = "{activity.info.notBlank}")
@Size(max = 255, message = "{activity.info.size}")
private String activityInfo;
/**
 * 活动类型,1.折扣券、2.代金券
 */
@NotNull(message = "{activity.type.notnull}")
private Integer activityType;
/**
 * 活动状态,0.表示禁用、1.表示正常
 */
@Max(value = 1, message = "{activity.status.max}")
@Min(value = 0, message = "{activity.status.min}")
private Integer activityStatus;
/**
 * 折扣券
 */
@Max(value = 10, message = "{activity.discount.max}")
@Min(value = 0, message = "{activity.discount.min}")
private Double discount;
/**
 * 代金券
 */
@Min(value = 0, message = "{activity.voucher.min}")
private Double voucher;
/**
 * 活动开始时间
 */
@NotNull(message = "{activity.beginTime.notnull}")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private LocalDateTime beginTime;
/**
 * 活动结束时间
 */
@NotNull(message = "{activity.endTime.notnull}")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private LocalDateTime endTime;

BaseEntity

给基础实体类时间字段添加时区属性。

/**
 * 创建时间
 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date createTime;
/**
 * 更新时间
 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private Date updateTime;


目录
相关文章
|
XML 监控 数据库
互联网架构演进:从传统单体到Service Mesh
互联网架构演进:从传统单体到Service Mesh
896 0
|
存储 NoSQL 关系型数据库
基于Tablestore的海量保险单查询平台
# 基于Tablestore的海量保险单查询平台 # 背景 随着人们风险意识的提高与普及,越来越多的人愿意为自己与家人投一份保险,保险行业的飞速发展也带来了许多问题:海量的保险单该如何存储?如何高效地对保险单进行检索?传统的解决方案一般使用MySQL等关系型数据库对数据进行持久化与检索,但是随着数据量的上涨如何进行水平扩展变成了一个问题。近年来使用NoSQL这种分布式架构的存储引擎来存
1346 0
|
前端开发 容器
带你熟悉CSS浮动
一、概念理解   浮动:顾名思义先浮后动,浮动的对象会先漂浮起来,离开自己原来的位置(也就是所谓的脱离文档流),后动的意思是,它的后面的元素会向它原来的位置动起来。 二、注意事项   1.当元素有浮动属性时,会对其父元素或后面的元素产生影响,会出现一个布局错乱的现象。
1231 0
|
Unix Linux
mkimage的-a 和 –c参数和内核引导
目录 一、mkimage工具简介二、-a参数与-e参数和内核引导的关系三、实例测试 3.1 -a参数与-e参数相同,可以将内核下载到SDRAM的任何地址,然后从这启动 3.2 -a参数与-e参数不同,只能将内核下载到-a参数后面的地址,然后从这启动;否则无法引导内核 3.3 -a参数与-e参数不同,下载地址和-a参数后面的地址不同(无法引导) 3.4 覆盖了U-Boot传给内核的参数,会导致这样情形(无法引导) 一、mkimage工具简介 U-Boot源代码的tools/目录下有mkimage工具,这个工具可以用来制作不压缩或者压缩的多种可启动映象文件。
1442 0
|
10天前
|
Linux 开发工具 iOS开发
Codex保姆级教程(下载+安装+登录+使用,含所有版本,2026最新)
Codex是OpenAI推出的开源AI编程智能体,本地运行,可理解整个代码库,支持自然语言指令改代码、执行命令、跑测试、修Bug,兼容Win/macOS/Linux。(239字)
3759 14
|
10天前
|
JavaScript API iOS开发
DeepSeek Harness下载、安装、配置一篇搞定(2026整理,送常用插件)
DeepSeek Harness(DSH)是DeepSeek于2026年开源的MIT协议AI Agent框架,支持插件化组装模型、工具、沙箱与UI,兼容主流大模型。本文提供免Node.js的桌面端安装包(Win/macOS),含详细图文教程及热门插件推荐。
4032 46
|
11天前
|
iOS开发 Docker MacOS
【2026实测】Docker Desktop下载、安装、汉化、配置教程(附官网安装包)
Docker Desktop 是 Docker 官方推出的桌面容器管理工具,集成引擎、CLI、图形界面与 Kubernetes,支持 Win/macOS/Linux。2026 最新版 4.88.1 强化 ARM 原生运行、镜像加速及资源可视化,附中文汉化与国内镜像配置指南。
1873 6
|
5天前
|
云安全 人工智能 安全