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