From e15c348bc992de7331d14d76451032358aae9289 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Thu, 09 Jan 2025 15:44:14 +0800
Subject: [PATCH] feat(mall): 商品列表增加活动筛选功能
---
src/main/resources/mapper/modules/MallGoodsMapper.xml | 3 +++
src/main/java/cc/mrbird/febs/mall/vo/ApiCouponVo.java | 2 ++
src/main/java/cc/mrbird/febs/mall/service/impl/ActivityServiceImpl.java | 20 ++++++++++++++++++++
src/main/resources/templates/febs/views/modules/goods/goodsList.html | 27 +++++++++++++++++++++++++--
src/main/java/cc/mrbird/febs/mall/controller/AdminActivityController.java | 6 ++++++
src/main/java/cc/mrbird/febs/mall/service/IActivityService.java | 2 ++
6 files changed, 58 insertions(+), 2 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/AdminActivityController.java b/src/main/java/cc/mrbird/febs/mall/controller/AdminActivityController.java
index 2575c9d..e128691 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/AdminActivityController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminActivityController.java
@@ -57,6 +57,12 @@
return new FebsResponse().success().data(iActivityService.getAdminActivityList());
}
+
+ @GetMapping(value = "/activityListByType/{type}")
+ public FebsResponse activityListByType(@NotNull(message = "{required}") @PathVariable Integer type) {
+ return new FebsResponse().success().data(iActivityService.getAdminActivityListByType(type));
+ }
+
/**
* 活动-开启
*/
diff --git a/src/main/java/cc/mrbird/febs/mall/service/IActivityService.java b/src/main/java/cc/mrbird/febs/mall/service/IActivityService.java
index 13cc50d..f777311 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/IActivityService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/IActivityService.java
@@ -24,4 +24,6 @@
FebsResponse changeAdminState(Long id, Integer state);
FebsResponse delAdminActivity(Long id);
+
+ List<AdminMallActivityListVo> getAdminActivityListByType(Integer type);
}
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 7c6da9b..1ca5061 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
@@ -227,4 +227,24 @@
this.baseMapper.deleteById(id);
return new FebsResponse().success().message("操作成功");
}
+
+ @Override
+ public List<AdminMallActivityListVo> getAdminActivityListByType(Integer type) {
+ List<AdminMallActivityListVo> mallActivityList = new ArrayList<>();
+ 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());
+ mallActivityList.add(adminMallActivityListVo);
+ }
+ }
+ return mallActivityList;
+ }
}
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/ApiCouponVo.java b/src/main/java/cc/mrbird/febs/mall/vo/ApiCouponVo.java
index 7b38c7c..748ee31 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/ApiCouponVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/ApiCouponVo.java
@@ -10,6 +10,8 @@
@ApiModel(value = "ApiCouponVo", description = "信息返回类")
public class ApiCouponVo {
+ private Long id;
+
@ApiModelProperty(value = "名称")
private String name;
@ApiModelProperty(value = "过期天数")
diff --git a/src/main/resources/mapper/modules/MallGoodsMapper.xml b/src/main/resources/mapper/modules/MallGoodsMapper.xml
index 5006b94..4bf2c36 100644
--- a/src/main/resources/mapper/modules/MallGoodsMapper.xml
+++ b/src/main/resources/mapper/modules/MallGoodsMapper.xml
@@ -190,6 +190,9 @@
<if test="record.goodsType != null and record.goodsType != ''">
and a.goods_type=#{record.goodsType}
</if>
+ <if test="record.activityId != null">
+ and a.activity_id=#{record.activityId}
+ </if>
</if>
</where>
group by a.id
diff --git a/src/main/resources/templates/febs/views/modules/goods/goodsList.html b/src/main/resources/templates/febs/views/modules/goods/goodsList.html
index 518d7a3..42e075a 100644
--- a/src/main/resources/templates/febs/views/modules/goods/goodsList.html
+++ b/src/main/resources/templates/febs/views/modules/goods/goodsList.html
@@ -13,6 +13,14 @@
<input type="text" placeholder="商品名称" name="goodsName" autocomplete="off" class="layui-input">
</div>
</div>
+ <div class="layui-inline">
+ <label class="layui-form-label layui-form-label-sm">活动</label>
+ <div class="layui-input-inline">
+ <select name="activityId" class="activity-option">
+ <option value="">请选择</option>
+ </select>
+ </div>
+ </div>
</div>
</div>
<div class="layui-col-md2 layui-col-sm12 layui-col-xs12 table-action-area">
@@ -111,8 +119,22 @@
let currPageGoods = 1;//首先默认值为1,防止出错
//获取当前页
currPageGoods = $view.find(".layui-laypage-em").next().html();
+
+ //(下拉框)
+ $.get(ctx + 'admin/activity/activityListByType/1', function (res) {
+ var data = res.data;
+ for (var k in data)
+ {
+ $(".activity-option").append("<option value='" + data[k].id + "'>" + data[k].name + "</option>");
+ }
+ layui.use('form', function () {
+ var form = layui.form;
+ form.render();
+ });
+ });
+
// 表格初始化
- initTable();
+ initGoodsTable();
// 初始化表格操作栏各个按钮功能
table.on('tool(goodsListTable)', function (obj) {
@@ -224,7 +246,7 @@
});
});
- function initTable() {
+ function initGoodsTable() {
tableIns = febs.table.init({
elem: $view.find('table'),
id: 'goodsListTable',
@@ -283,6 +305,7 @@
function getQueryParams() {
return {
goodsName: $searchForm.find('input[name="goodsName"]').val().trim(),
+ activityId: $searchForm.find("select[name='activityId']").val(),
};
}
--
Gitblit v1.9.1