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;
TienChin 活动管理-添加活动接口的更多相关文章
- Alpha2版本-组织管理、党员管理、活动管理测试
小程序组织管理.党员管理.活动管理测试-测试报告 一.测试工具的选择 微信安卓版v7.0.8 微擎工具v1.7.0 PHPstorm Google Chrome 76.0.3623 二.测试用例 ...
- Android活动管理工具
ActivityCollector.java import android.app.Activity; import java.util.ArrayList; import java.util.Lis ...
- Android笔记:管理所有活动
以关闭所有活动为例 public class ActivityCollector { public static List<Activity> activities = new Array ...
- ERP渠道活动管理(二十六)
设计意义: 渠道活动的方式方法多种多样.不过,大至可分为销售型促销与市场型促销(一般来说,销售型促销以完成销售额为唯一目的,以奖励返点为唯一手段,以增大经销商库存为最终结果,短期行为明显.而市场型促销 ...
- Android训练课程(Android Training) - 添加活动栏(使用action bar)
2014-10-28 张云飞VIR 翻译自:https://developer.android.com/training/basics/actionbar/index.html 添加活动栏(Addin ...
- 玩转Windows服务系列——给Windows服务添加COM接口
当我们运行一个Windows服务的时候,一般情况下,我们会选择以非窗口或者非控制台的方式运行,这样,它就只是一个后台程序,没有界面供我们进行交互. 那么当我们想与Windows服务进行实时交互的时候, ...
- Vue之状态管理(vuex)与接口调用
Vue之状态管理(vuex)与接口调用 一,介绍与需求 1.1,介绍 1,状态管理(vuex) Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态 ...
- 项目一:第五天 1、区域数据(pinyin4j-简码,城市编码) 2、Web层代码重构(model对象,分页代码提取) 3、区域分页查询 3、分区添加功能 4、定区管理管理-添加,分页
Service: /** * @Description: 1.保存定区 2.让分区关联定区 * 对象三种状态 1.持久态(被session管理对象-一级缓存中有对象) 2.托管态(有OID标识,数据 ...
- 阶段5 3.微服务项目【学成在线】_day09 课程预览 Eureka Feign_14-课程预览功能开发-CMS添加页面接口
5.3 CMS添加页面接口 cms服务对外提供添加页面接口,实现:如果不存在页面则添加,否则就更新页面信息. 此接口由课程管理服务在课程预览时调用. 接口方法.:页面没有就添加.有了更新数据 之前的接 ...
- 电商管理后台 API 接口文档
1. 电商管理后台 API 接口文档 1.1. API V1 接口说明 接口基准地址:http://127.0.0.1:8888/api/private/v1/ 服务端已开启 CORS 跨域支持 AP ...
随机推荐
- PPT 渐变入门
光圈 线性渐变 路径渐变 案例 一个圆 渐变 二个圆 渐变叠加 加阴影 阴影 金属字体
- Kubernetes(K8S) Deployment 拉取阿里云镜像部署
Docker Image 推到阿里云仓库,可以看 SpringBoot Docker 发布到 阿里仓库 1. 阿里镜像仓库加了授权,所以 K8S 拉之前要做下授权处理 [root@k8smaster ...
- Nacos 1.2.1 集群搭建(三) Nginx 配置 集群
配置 Nginx 可以把.conf 文件拉到本地,配置好再传上去 #gzip on; upstream cluster{ server 192.168.0.113:8848; server 192.1 ...
- VS 进行了无法编译的编辑
Debug的时候碰到这个很烦人得重新运行 工具=>选项=>常规=>调试=>常规 将启用"编辑"并继续,勾取消掉
- Xml Entity 实体互转(JAXB)
感觉比 xStream 操作起来复杂些 Xml Entity 实体互转(XStream).但学习成本低些,不需要引用第三方依赖包 需要注意的是 实体中如果加了 getXX 需要在上面加上 @XmlTr ...
- 在低代码开发平台 ILLA Cloud 中使用 Hugging Face 上的模型
ILLA Cloud 是一个面向开发者的开源低代码开发平台,平台专注于帮助开发者快速建立企业内部应用,为开发者节约数据调用与页面设计的时间.平台具有面向开发者.数据整合.协同开发.灵活部署等功能与特点 ...
- 一个IT老码农的创业和生活(一)抑郁和自杀
2019年2月18日,离我的38周岁生日还差两个月,我的编程培训班"源栈"开张了. 在此之前,从我2002年大学毕业,6年时间,我先后做过英语教师.实习律师.公司法务.装修公司 ...
- 在原生 html 中使用 vue,在浏览器中直接运行 .vue 文件,在 vue 中使用 leaflet
vue3-in-html 在html中使用vue3,不依赖nodejs和webpack,不依赖脚手架 demo源码 https://gitee.com/s0611163/vue3-in-html 功能 ...
- POJ: 2236 Wireless Network 题解
POJ 2236 Wireless Network 加工并储存数据的数据结构 并查集 这是并查集的基本应用,两台修好的电脑若距离d内则加入合并.不过不小心的话会TLE,比如: #include < ...
- ACM:快读读入技巧
快速读入:当数据输入较大时,比scanf快 inline int read(){ int s=0,w=1; char ch=getchar(); while(ch<'0'||ch>'9') ...