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 活动管理-添加活动接口的更多相关文章

  1. Alpha2版本-组织管理、党员管理、活动管理测试

    小程序组织管理.党员管理.活动管理测试-测试报告   一.测试工具的选择 微信安卓版v7.0.8 微擎工具v1.7.0 PHPstorm Google Chrome 76.0.3623 二.测试用例 ...

  2. Android活动管理工具

    ActivityCollector.java import android.app.Activity; import java.util.ArrayList; import java.util.Lis ...

  3. Android笔记:管理所有活动

    以关闭所有活动为例 public class ActivityCollector { public static List<Activity> activities = new Array ...

  4. ERP渠道活动管理(二十六)

    设计意义: 渠道活动的方式方法多种多样.不过,大至可分为销售型促销与市场型促销(一般来说,销售型促销以完成销售额为唯一目的,以奖励返点为唯一手段,以增大经销商库存为最终结果,短期行为明显.而市场型促销 ...

  5. Android训练课程(Android Training) - 添加活动栏(使用action bar)

    2014-10-28 张云飞VIR 翻译自:https://developer.android.com/training/basics/actionbar/index.html 添加活动栏(Addin ...

  6. 玩转Windows服务系列——给Windows服务添加COM接口

    当我们运行一个Windows服务的时候,一般情况下,我们会选择以非窗口或者非控制台的方式运行,这样,它就只是一个后台程序,没有界面供我们进行交互. 那么当我们想与Windows服务进行实时交互的时候, ...

  7. Vue之状态管理(vuex)与接口调用

    Vue之状态管理(vuex)与接口调用 一,介绍与需求 1.1,介绍 1,状态管理(vuex) Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态 ...

  8. 项目一:第五天 1、区域数据(pinyin4j-简码,城市编码) 2、Web层代码重构(model对象,分页代码提取) 3、区域分页查询 3、分区添加功能 4、定区管理管理-添加,分页

    Service: /** * @Description: 1.保存定区  2.让分区关联定区 * 对象三种状态 1.持久态(被session管理对象-一级缓存中有对象) 2.托管态(有OID标识,数据 ...

  9. 阶段5 3.微服务项目【学成在线】_day09 课程预览 Eureka Feign_14-课程预览功能开发-CMS添加页面接口

    5.3 CMS添加页面接口 cms服务对外提供添加页面接口,实现:如果不存在页面则添加,否则就更新页面信息. 此接口由课程管理服务在课程预览时调用. 接口方法.:页面没有就添加.有了更新数据 之前的接 ...

  10. 电商管理后台 API 接口文档

    1. 电商管理后台 API 接口文档 1.1. API V1 接口说明 接口基准地址:http://127.0.0.1:8888/api/private/v1/ 服务端已开启 CORS 跨域支持 AP ...

随机推荐

  1. kill 进程时遇到的一件有意思的事情

    案例现象 一般来讲,我们在 kill 掉一个进程的时候通常有两个选择: 找到进程的 pid 号,然后执行 kill 命令 找到进程的名字,然后执行 pkill 命令 pkill 和 kill 命令都是 ...

  2. Step by step guide to becoming a C++ developer in 2023

    https://roadmap.sh/cpp https://roadmap.sh/backend

  3. 【网络爬虫学习】Python 爬虫初步

    本系列基于 C语言中文网的 Python爬虫教程(从入门到精通)来进行学习的, 部分转载的文章内容仅作学习使用! 前言 网络爬虫又称网络蜘蛛.网络机器人,它是一种按照一定的规则自动浏览.检索网页信息的 ...

  4. 华东交通大学2019年ACM 双基 程序设计竞赛 个人题解(A - K)

    目前先放几道题面,等晚上做完实验补 Update:A ~ D,更新剩余的题面(题面复制会有链接水印,懒得一一去除.直接截图) A.签到 真·签到题 输出祝贺祖国成立70周年!即可 B.欧涛的烦恼 思路 ...

  5. 【Vue CLI】手把手教你撸插件

    本文首发于 vivo互联网技术 微信公众号链接:https://mp.weixin.qq.com/s/Rl8XLUX7isjXNUmbw0-wow作者:ZhuPing 现如今 Vue 作为主流的前端框 ...

  6. 一、swift对象存储环境搭建

    系列导航 一.swift对象存储环境搭建 二.swift添加存储策略 三.swift大对象--动态大对象 四.swift大对象--静态态大对象 五.java操作swift对象存储(官网样例) 六.ja ...

  7. 3、springboot连接数据库

    系列导航 springBoot项目打jar包 1.springboot工程新建(单模块) 2.springboot创建多模块工程 3.springboot连接数据库 4.SpringBoot连接数据库 ...

  8. 四、java对mongo数据库增删改查操作

    系列导航 一.linux单机版mongo安装(带密码验证) 二.mongo集群搭建 三.java连接mongo数据库 四.java对mongo数据库增删改查操作 五.mongo备份篇 mongoexp ...

  9. Element-ui 之 form表单套数组、表单数组套数组的校验rules

    https://blog.csdn.net/qq_61553794/article/details/135451461

  10. opensips简介

    概述 在众多的sip服务器中,主要有俩大类,一类侧重于媒体/业务服务器,比如freeswitch/asterisk,另一类侧重于代理/负载服务器,比如opensips/kamailio. 今天我们对o ...