后端 ActivityController.java @PreAuthorize("hasPermission('tienchin:activity:remove')") @Log(title = "活动管理...return toAjax(iActivityService.deleteActivityByIds(activityIds)); } IActivityService.java /** * 删除活动...* * @param activityIds 活动Ids * @return int 删除结果 * @author BNTang * @since 2023/09/22 01:37:35
return getDataTable(iActivityService.selectActivityList(activityVO)); } IActivityService.java /** * 查询活动列表...* * @param activityVO 活动信息 * @return {@code List} */ List selectActivityList...ActivityServiceImpl.java @Override public List selectActivityList(ActivityVO activityVO) { // 将超过当前时间的活动状态设置为禁用...expireActivity(); return activityMapper.selectActivityList(activityVO); } ActivityMapper.java /** * 查询活动列表...* * @param activityVO 活动信息 * @return {@code List} */ List selectActivityList
return AjaxResult.success(iChannelService.getById(channelId)); } ActivityController.java /** * 根据活动...ID查询一个具体的活动信息 * * @param activityId 活动ID * @return {@link AjaxResult} */ @PreAuthorize("hasPermission...AjaxResult.success(iActivityService.getActivityById(activityId)); } IActivityService.java /** * 根据活动...ID查询一个具体的活动信息 * * @param activityId 活动ID * @return {@link ActivityVO} */ ActivityVO getActivityById
ActivityController /** * 导出活动列表 */ @PreAuthorize("hasPermission('tienchin:activity:export')") @Log...(title = "渠道管理", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse...ActivityVO> util = new ExcelUtil(ActivityVO.class); util.exportExcel(response, activityVOList, "活动数据...}) @Excel(name = "活动ID") private Integer activityId; /** * 活动名称 */ @NotBlank(message = "{activity.name.notBlank...}", groups = {EditGroup.class, CreateGroup.class}) @Excel(name = "活动类型", readConverterExp = "1=折扣券,2=
修改字典 修改活动状态字典,将之前的数据键值为 0 的数据标签内容改为 过期: 更改下数据库的描述,禁用改为过期: ALTER TABLE `tienchin_activity` MODIFY COLUMN...`activity_status` int NULL DEFAULT NULL COMMENT '活动状态,0.表示过期、1.表示正常' AFTER `activity_type`; Activity.../** * 活动状态,0.表示过期、1.表示正常 */ private Integer activityStatus; ActivityServiceImpl 编写一个将超过当前时间的活动状态设置为禁用...@Override public List selectActivityList() { // 将超过当前时间的活动状态设置为禁用 expireActivity(...() { UpdateWrapper uw = new UpdateWrapper(); // 将原本状态为正常的活动状态为1,并且 endTime 小于当前时间的活动状态设置为过期
ActivityController @PreAuthorize("hasPermission('tienchin:activity:create')") @Log(title = "活动管理", businessType..."添加成功" : "添加失败"); } IActivityService /** * 添加活动 * * @param activityVO 活动信息 * @return 结果 */ int addActivity...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
channel.channelId" /> <el-form-item label="<em>活动</em>状态...value="dict.value" /> <el-table-column label="<em>活动</em>类型...activityInfo: [{required: true, message: "活动简介不能为空", trigger: "blur"}], activityType: [{required:...$modal.confirm('是否确认删除活动编号为"' + activityIds + '"的数据项?').
import request from '@/utils/request' /** * 查询活动列表 * @param query 查询条件参数 * @returns {*} 查询结果 */...* @param activityId 活动ID * @returns {*} 查询结果 */ export function getInfo(activityId) { return...} ActivityController.java @PreAuthorize("hasPermission('tienchin:activity:create')") @Log(title = "活动管理...= "活动管理", businessType = BusinessType.UPDATE) @PutMapping AjaxResult edit(@Validated(EditGroup.class..."更新成功" : "更新失败"); } ValidationMessages.properties 添加一个活动id不能为空的校验信息: activity.id.notnull=活动ID不能为空 ActivityVO
后端 ActivityVO /** * @author BNTang * @version 1.0 * @description 活动管理VO * @since 2023-23-05 **/.../ private Double discount; /** * 代金券 */ private Double voucher; ActivityController /** * * 活动管理表...11-05 23:53:17', null, null, null, null, '2023-09-05 23:53:22', '0'); IActivityService /** * * 活动管理表.../** * * 活动管理表 服务实现类 * * * @author BNTang * @since 2023-09-05 */ @Service public class...selectActivityList() { return activityMapper.selectActivityList(); } } ActivityMapper /** * * 活动管理表
理解新平台 对于新的设备平台,对于由新平台和不断迭代进化着的“旧”平台所构成的生态圈,应该怎样从产品和设计的角度去探索和理解?作为从业人员,面对全新的设备类型,我们与普通用户的起点相同而又不同。...– 这与在做事时使用MacBook,不做事时使用iPad,有片刻空闲时拿出iPhone与朋友们在微信上交流,忙碌时仅通过Watch与那些最重要的活动保持连接,等等,皆是相同的道理。...对于“半躺着看资讯、文章、视频”这类活动,一旦习惯了iPad带来的轻便、快捷、舒适,我们便很难再回到从前靠笔记本来完成的日子了,纵使在那些日子里一切看似都很正常,我们看似并不需要任何新设备。...在为产品设计Glance视图之前,要对其在样式与行为方面的特性有所了解: 样式 每个Glance都相当于一张尺寸固定、容量有限的卡片,其中的内容是无法滚动的。...希望届时我能和大家分享更多关于Watch产品设计的实战经验,同时希望与各位就更多的相关话题进行探讨交流。
一、背景 随着vivo悟空活动中台活动组件越来越多,活动中台开发的小伙伴们愈发的感知到我们缺少一个可以沉淀通用能力,提升代码复用性的组件库。...同时,在对外赋能时,也缺少了一个平台呈现我们抽离的组件,基于此目标,开发小伙伴们开始构思插件管理平台的开发计划。...2.2 架构拆解 首先我们来看一下插件管理平台的架构图: [eba60df2ca2d4ee794d4d8562db44c4b~tplv-k3u1fbpfcp-zoom-1.image] 通过对平台整体架构图的梳理...3.5 ast转译 背景:在对建站平台的基础组件库wk-base-ui引入时,由于组件库的index.js不是自动生成的,里面会出现冗余代码以及注释的情况,这样会导致插件管理平台根据入口文件无法精准的获取到所有的组件地址...,首先构思公共组件库,解决开发之间组件沉淀的问题,随着组件增多,发现产品和运营对于沉淀的公共组件也有诉求,对于此开始了插件管理平台的架构设计,解决公共组件对产品的黑盒问题,同时也可以很好的赋能悟空活动中台生态
工程模块的创建,与之前创建渠道管理一样的,所以这里就不贴图带着大家一起动手进行了,表结构我已经给到大家了,这里我只贴一下代码生成器的代码部分即可。
主题消息订阅/推送数据 通过异步队列的主题订阅,好处和优势在于:下游可以在平台订阅需要的主题,让平台进行主动、及时、精确的数据信息推送,减少接口轮询的压力。...启动平台推送数据服务 在根目录,手动执行: $ ....Admin管理后台发布一个新主题,例如订单推送:order。...产品使用 管理后台 使用管理员账号,可以在Admin管理后台 - 平台管理 - 消息队列管理,发布新的消息主题并进行管理。...开放平台 对于开发者,可以进入 开放平台 - 应用管理 - 我的消息订阅,申请订阅平台的主题消息。申请通过后,可以查看推送成功次数和总次数的统计。
理解新平台 对于新的设备平台,对于由新平台和不断迭代进化着的“旧”平台所构成的生态圈,应该怎样从产品和设计的角度去探索和理解?作为从业人员,面对全新的设备类型,我们与普通用户的起点相同而又不同。...– 这与在做事时使用MacBook,不做事时使用iPad,有片刻空闲时拿出iPhone与朋友们在微信上交流,忙碌时仅通过Watch与那些最重要的活动保持连接,等等,皆是相同的道理。...对于“半躺着看资讯、文章、视频”这类活动,一旦习惯了iPad带来的轻便、快捷、舒适,我们便很难再回到从前靠笔记本来完成的日子了,纵使在那些日子里一切看似都很正常,我们看似并不需要任何新设备。...在为产品设计Glance视图之前,要对其在样式与行为方面的特性有所了解: 样式 每个Glance都相当于一张尺寸固定、容量有限的卡片,其中的内容是无法滚动的。...结束语 本文到此也该画上一个句号了,但关于Apple Watch产品设计的话题才刚刚进入破土阶段。很快,Watch就会正式进入我们的生活,我们也将有机会在实际当中体验这款新设备。
一个开源代理),研究人员在其Stager Payload中发现了与威胁组织Transparent Tribe (APT36) 相关的代码,表明SideCopy和APT36使用相同的诱饵和命名约定同时进行多平台攻击...在本文中,我们将深入分析与该组织相关的两个攻击活动,并提供对应的技术细节。...攻击活动分析一 我们所要分析的第一个SideCopy攻击活动主要通过网络钓鱼链接进行传播,该链接将下载一个名为“Homosexuality – Indian Armed Forces.”的文档。...攻击活动分析二 在我们所观察到的第二个SideCopy攻击活动中,共享IP的不仅只有域名,而且还有C2基础设施。...除了这两个活动之外,研究人员也发现了该威胁组织同时针对Windows和Linux平台的恶意活动,相关的入侵威胁指标IoC请查看文末附录内容。
目录 前言 每周活动限时管理 时间数据 设置活动开始和结束时间 定时器管理活动状态 羹火活动示例 前言 当接到一个需求当时候,首先会想到有没有类似功能,或者当以后再接到这类功能时如何处理,这次接到一个每周限时活动的任务...,把具有共通点的活动时间统一管理,以后写活动只需专注自己的功能即可 每周活动限时管理 需求:活动日程为每周x日x点到y点 时间数据 时间放在全局配置表,对应活动id --全局变量 SettingConfig.SettingType...= { LuckyShop = 1, --幸运商店 TokenTimeMgr = 2, --战令活动时间管理 WeeklyActivityMgr = 3, --限时活动管理 }...return end data.startTime = startTime data.endTime = endTime - 1 end return true end 定时器管理活动状态...data.state = 0 end end end end 羹火活动示例 当活动开始,updateTime没更新时活动重置,活动结束时出啊一次AcitvityEnd,这里需要每分钟场景发放一次奖励
配置权限 INSERT INTO `sys_menu` VALUES (2014, '添加活动', 2003, 1, '', NULL, NULL, 1, 0, 'F', '0', '0', 'tienchin...create', '#', 'admin', '2023-09-04 23:56:19', '', NULL, ''); INSERT INTO `sys_menu` VALUES (2015, '删除活动...'tienchin:activity:import', '#', 'admin', '2023-09-04 23:58:23', '', NULL, ''); 可能需要更改一下父级ID,对应到你自己的活动管理菜单...配置字典 活动类型 活动状态 创建表 DROP TABLE IF EXISTS `tienchin_activity`; CREATE TABLE `tienchin_activity`...activity_id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '活动管理表
TDP运营团队为大家准备了一系列的活动一起共赴新春,希望有你的参与~ 篇章一:回望 2021年,我与腾讯云的那些事儿!分享有奖!...活动时间: 2022.1.14-2022.1.21 14:00 活动规则: 活动期间在本活动贴下方回帖参与互动,分享2021年你与腾讯云的故事。...篇章二:凝聚 王者荣耀线上友谊赛 活动时间: 2022.1.14-2022.1.23 活动规则: 1)自行组队(5人一队),组队成功后自行推选队长并建立队伍微信群,队长添加活动助手微信并将助手拉进群内,...注意事项: 1)建议队伍都选用微信平台账号登录游戏,以确保双方能在同区对阵; 2)比赛前,请确认手机状态良好、网络稳定;比赛时,不管是人为、还是非人为掉线、断网,比赛默认都照常进行; 3)原则上所有参与游戏的成员是要满足进腾云先锋相关群...更多活动详情,请扫码加入活动通知群!对活动有任何疑问,欢迎进群艾特活动助手(腾云先锋-饭团、腾云先锋-芋头) 微信截图_20220114172008.png
前言 接到一个需求的时候,首先会想有没有类似功能,或者以后再碰到这类功能如何处理,这次接到一个每周限时活动的任务,把具有共通点的活动时间统一管理,以后写活动只需专注业务功能即可 每周活动限时管理 需求:...= 1, --幸运商店 TokenTimeMgr = 2, --战令活动时间管理 WeeklyActivityMgr = 3, --限时活动管理 } function...方式:每天判定当日有活动,则设置当日活动时间 --每天检测活动 function WeeklyActivityMgr:onDayTimer() self:RefreshAcitvityTime...data.startTime = startTime data.endTime = endTime - 1 end return true end 定时器管理活动状态...data.state = 0 end end end end 羹火活动示例 当活动开始,updateTime没更新时活动重置
2022 开源新春活动 点击抽签 开启开源新年好运气 虎年 无bug 论坛 爆火 保持 健康 头发 狂长 告别 996 虎虎 生威 开源应用中心新春活动 打卡集好礼,礼包天天送 活动时间...:2022年01月14日-02月28日 活动内容:完成三项打卡任务即可获得领奖资格,活动期间每个工作日10个春节礼包 新年快乐 开源应用中心新春活动 打卡集好礼,礼包天天送 打卡内容 打卡1:体验开通应用...打卡2:分享体验心得至各大社交平台 打卡3:将开源历史文章分享至个人论坛(没有个人论坛的同学可以通过开源应用中心应用/插件创建哦) 完成三项打卡,添加活动群二维码,将打卡凭证截图发送给管理员【破特】,...即可解锁开源新春大礼包 新年快乐 开源应用中心新春活动 打卡集好礼,礼包天天送 开源春节大礼包 春节礼包:DNSPod春节口罩+5元域名续费代金劵+30元解析新购代金劵+DNSPod限量版玩偶 开源新用户...:开通应用,直接领取5元域名续费代金劵+30元解析新购代金劵 新年快乐 开源新春 礼包天天送 点击活动入口,快去领奖!
领取专属 10元无门槛券
手把手带您无忧上云