From 85f6036ad23c66b97bc7c253f4d04c762fe2fde3 Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Fri, 10 Jan 2025 11:43:45 +0800 Subject: [PATCH] feat(activity): 优化活动列表展示和状态管理 --- src/main/java/cc/mrbird/febs/common/enumerates/ActivityTypeEnum.java | 8 ++++ src/main/java/cc/mrbird/febs/mall/service/impl/ActivityServiceImpl.java | 24 ++++++++++-- src/main/resources/templates/febs/views/modules/activity/list.html | 57 ++++++++++++++++++++-------- src/main/java/cc/mrbird/febs/common/enumerates/YesOrNoOrIngEnum.java | 9 ++++ 4 files changed, 77 insertions(+), 21 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/common/enumerates/ActivityTypeEnum.java b/src/main/java/cc/mrbird/febs/common/enumerates/ActivityTypeEnum.java index d27a2ea..aa7cb38 100644 --- a/src/main/java/cc/mrbird/febs/common/enumerates/ActivityTypeEnum.java +++ b/src/main/java/cc/mrbird/febs/common/enumerates/ActivityTypeEnum.java @@ -18,4 +18,12 @@ this.value = value; this.desc = desc; } + public static ActivityTypeEnum getEnum(int value) { + for (ActivityTypeEnum activityTypeEnum : ActivityTypeEnum.values()) { + if (activityTypeEnum.getValue() == value) { + return activityTypeEnum; + } + } + return null; + } } diff --git a/src/main/java/cc/mrbird/febs/common/enumerates/YesOrNoOrIngEnum.java b/src/main/java/cc/mrbird/febs/common/enumerates/YesOrNoOrIngEnum.java index 3b5ea6a..a87c4c9 100644 --- a/src/main/java/cc/mrbird/febs/common/enumerates/YesOrNoOrIngEnum.java +++ b/src/main/java/cc/mrbird/febs/common/enumerates/YesOrNoOrIngEnum.java @@ -23,4 +23,13 @@ this.desc = desc; } + public static YesOrNoOrIngEnum getEnum(int value) { + for (YesOrNoOrIngEnum type : YesOrNoOrIngEnum.values()) { + if (type.getValue() == value) { + return type; + } + } + return null; + } + } diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ActivityServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ActivityServiceImpl.java index 1ca5061..a84321d 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/ActivityServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ActivityServiceImpl.java @@ -201,13 +201,14 @@ List<MallActivity> mallActivities = this.baseMapper.selectList( new LambdaQueryWrapper<MallActivity>() .select(MallActivity::getId, MallActivity::getName) - .eq(MallActivity::getState, YesOrNoOrIngEnum.YES.getValue()) ); if(CollUtil.isNotEmpty(mallActivities)){ for (MallActivity mallActivity : mallActivities) { AdminMallActivityListVo adminMallActivityListVo = new AdminMallActivityListVo(); adminMallActivityListVo.setId(mallActivity.getId()); - adminMallActivityListVo.setName(mallActivity.getName()); + String desc = YesOrNoOrIngEnum.getEnum(mallActivity.getState()).getDesc(); + String desc1 = ActivityTypeEnum.getEnum(mallActivity.getType()).getDesc(); + adminMallActivityListVo.setName(mallActivity.getName()+desc+desc1); mallActivityList.add(adminMallActivityListVo); } } @@ -219,12 +220,27 @@ MallActivity mallActivity = this.baseMapper.selectById(id); mallActivity.setState(state); this.baseMapper.updateById(mallActivity); + + if(YesOrNoOrIngEnum.NO.getValue() == state){ + List<MallGoods> mallGoods = mallGoodsMapper.selectList( + new LambdaQueryWrapper<MallGoods>() + .eq(MallGoods::getActivityId, id) + ); + if(CollUtil.isNotEmpty(mallGoods)){ + mallGoodsMapper.update(null, + new LambdaQueryWrapper<MallGoods>() + .eq(MallGoods::getIsSale, MallGoods.ISSALE_STATUS_DISABLED) + .eq(MallGoods::getActivityId, id) + ); + } + } return new FebsResponse().success().message("操作成功"); } @Override public FebsResponse delAdminActivity(Long id) { this.baseMapper.deleteById(id); + return new FebsResponse().success().message("操作成功"); } @@ -234,14 +250,14 @@ List<MallActivity> mallActivities = this.baseMapper.selectList( new LambdaQueryWrapper<MallActivity>() .select(MallActivity::getId, MallActivity::getName) - .eq(MallActivity::getState, YesOrNoOrIngEnum.YES.getValue()) .eq(MallActivity::getType, type) ); if(CollUtil.isNotEmpty(mallActivities)){ for (MallActivity mallActivity : mallActivities) { AdminMallActivityListVo adminMallActivityListVo = new AdminMallActivityListVo(); adminMallActivityListVo.setId(mallActivity.getId()); - adminMallActivityListVo.setName(mallActivity.getName()); + String desc = YesOrNoOrIngEnum.getEnum(mallActivity.getState()).getDesc(); + adminMallActivityListVo.setName(mallActivity.getName()+desc); mallActivityList.add(adminMallActivityListVo); } } diff --git a/src/main/resources/templates/febs/views/modules/activity/list.html b/src/main/resources/templates/febs/views/modules/activity/list.html index 3cd2f66..0a1b66a 100644 --- a/src/main/resources/templates/febs/views/modules/activity/list.html +++ b/src/main/resources/templates/febs/views/modules/activity/list.html @@ -93,7 +93,7 @@ table.on('tool(activityTable)', function (obj) { var data = obj.data, layEvent = obj.event; - if (layEvent === 'delAct') { + if (layEvent === 'activityDeleteEvent') { febs.modal.confirm('删除', '确认删除该活动?', function () { delAct(data.id); }); @@ -184,25 +184,48 @@ {field: 'startTime', title: '开始时间', minWidth: 150,align:'left'}, {field: 'endTime', title: '结束时间', minWidth: 150,align:'left'}, {field: 'state', title: '状态', templet: '#activityStateSwitch', minWidth: 130,align:'center'}, - {field: 'actRemark', title: '活动说明', minWidth: 150,align:'left'}, - {title: '操作', toolbar: '#activityOption', minWidth: 200}, - ]], - done: function(res, curr, count) { - // 遍历每一行数据 - res.data.forEach(function(item, index) { - // 根据状态值控制按钮显示 - if (item.state === 0) { - // 如果状态为1,显示 - $('#activityOption' + index).show(); - } else { - // 否则,隐藏 - $('#activityOption' + index).hide(); - } - }); - } + ]] }); } + // function initTable() { + // tableIns = febs.table.init({ + // elem: $view.find('table'), + // id: 'activityTable', + // url: ctx + 'admin/activity/list', + // cols: [[ + // {field: 'name', title: '名称', minWidth: 150,align:'left'}, + // {field: 'code', title: '编码', minWidth: 150,align:'left'}, + // {field: 'maxImage', title: '大图', + // templet: function (d) { + // return '<a lay-event="seeImgThumb"><img id="seeImgThumb'+d.id+'" src="'+d.maxImage+'" alt=""></a>'; + // }, minWidth: 150,align:'center'}, + // {field: 'minImage', title: '小图', + // templet: function (d) { + // return '<a lay-event="seeImgThumb"><img id="seeImgThumb'+d.id+'" src="'+d.minImage+'" alt=""></a>'; + // }, minWidth: 150,align:'center'}, + // {field: 'startTime', title: '开始时间', minWidth: 150,align:'left'}, + // {field: 'endTime', title: '结束时间', minWidth: 150,align:'left'}, + // {field: 'state', title: '状态', templet: '#activityStateSwitch', minWidth: 130,align:'center'}, + // {field: 'actRemark', title: '活动说明', minWidth: 150,align:'left'}, + // {title: '操作', toolbar: '#activityOption', minWidth: 200}, + // ]], + // done: function(res, curr, count) { + // // 遍历每一行数据 + // res.data.forEach(function(item, index) { + // // 根据状态值控制按钮显示 + // if (item.state === 2) { + // // 如果状态为1,显示 + // $('#activityOption' + index).show(); + // } else { + // // 否则,隐藏 + // $('#activityOption' + index).hide(); + // } + // }); + // } + // }); + // } + form.on('switch(activityStateSwitch)', function (data) { if (data.elem.checked) { changeState(data.value,1); -- Gitblit v1.9.1