KKSU
2025-01-10 59b5c5cdcdfcf29537a53b90aa01331cb8894792
refactor(mall): 优化活动列表展示和商品添加功能

- 修改活动列表展示逻辑,增加活动状态和类型字段
- 优化活动状态和类型描述获取方式
- 更新商品添加页面,调整商品信息输入顺序
- 设置商品编号为自动生成,不再手动输入
- 增加商品分类选择功能
8 files modified
98 ■■■■■ changed files
src/main/java/cc/mrbird/febs/common/enumerates/ActivityTypeEnum.java 15 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/common/enumerates/YesOrNoOrIngEnum.java 18 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/ActivityServiceImpl.java 10 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java 6 ●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/goods/goodsAddNew.html 33 ●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/goods/goodsUpdateNew.html 2 ●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/score/goodsAdd.html 12 ●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/score/goodsUpdate.html 2 ●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/common/enumerates/ActivityTypeEnum.java
@@ -26,4 +26,19 @@
        }
        return null;
    }
    public static String getActivityType(int value) {
        for (ActivityTypeEnum activityTypeEnum : ActivityTypeEnum.values()) {
            if (activityTypeEnum.getValue() == value) {
                switch (activityTypeEnum.getValue()){
                    case 1:
                        return "(折扣活动)";
                    case 2:
                        return "(优惠卷)";
                    default:
                        return "(未知)";
                }
            }
        }
        return "(未知)";
    }
}
src/main/java/cc/mrbird/febs/common/enumerates/YesOrNoOrIngEnum.java
@@ -32,4 +32,22 @@
        return null;
    }
    public static String getActivityDesc(int value) {
        for (YesOrNoOrIngEnum type : YesOrNoOrIngEnum.values()) {
            if (type.getValue() == value) {
                switch (type.getValue()){
                    case 1:
                        return "(开启)";
                    case 0:
                        return "(结束)";
                    case 2:
                        return "(进行中)";
                    default:
                        return "(未知异常)";
                }
            }
        }
        return "(未知异常)";
    }
}
src/main/java/cc/mrbird/febs/mall/service/impl/ActivityServiceImpl.java
@@ -201,14 +201,14 @@
        List<MallActivity> mallActivities = this.baseMapper.selectList(
                new LambdaQueryWrapper<MallActivity>()
                        .select(MallActivity::getId, MallActivity::getName)
                        .select(MallActivity::getId, MallActivity::getName, MallActivity::getState, MallActivity::getType)
        );
        if(CollUtil.isNotEmpty(mallActivities)){
            for (MallActivity mallActivity : mallActivities) {
                AdminMallActivityListVo adminMallActivityListVo = new AdminMallActivityListVo();
                adminMallActivityListVo.setId(mallActivity.getId());
                String desc = YesOrNoOrIngEnum.getEnum(mallActivity.getState()).getDesc();
                String desc1 = ActivityTypeEnum.getEnum(mallActivity.getType()).getDesc();
                String desc = YesOrNoOrIngEnum.YES.getActivityDesc(mallActivity.getState());
                String desc1 = ActivityTypeEnum.ZHE_KOU.getActivityType(mallActivity.getType());
                adminMallActivityListVo.setName(mallActivity.getName()+desc+desc1);
                mallActivityList.add(adminMallActivityListVo);
            }
@@ -250,14 +250,14 @@
        List<AdminMallActivityListVo> mallActivityList = new ArrayList<>();
        List<MallActivity> mallActivities = this.baseMapper.selectList(
                new LambdaQueryWrapper<MallActivity>()
                        .select(MallActivity::getId, MallActivity::getName)
                        .select(MallActivity::getId, MallActivity::getName, MallActivity::getState)
                        .eq(MallActivity::getType, type)
        );
        if(CollUtil.isNotEmpty(mallActivities)){
            for (MallActivity mallActivity : mallActivities) {
                AdminMallActivityListVo adminMallActivityListVo = new AdminMallActivityListVo();
                adminMallActivityListVo.setId(mallActivity.getId());
                String desc = YesOrNoOrIngEnum.getEnum(mallActivity.getState()).getDesc();
                String desc = YesOrNoOrIngEnum.YES.getActivityDesc(mallActivity.getState());
                adminMallActivityListVo.setName(mallActivity.getName()+desc);
                mallActivityList.add(adminMallActivityListVo);
            }
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java
@@ -2,6 +2,7 @@
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.entity.QueryRequest;
import cc.mrbird.febs.common.utils.MallUtils;
import cc.mrbird.febs.mall.conversion.MallGoodsConversion;
import cc.mrbird.febs.mall.dto.*;
import cc.mrbird.febs.mall.entity.*;
@@ -64,7 +65,8 @@
        if (mallGoodsByGoodsName > 0) {
            return new FebsResponse().fail().message("商品名称不能重复");
        }
        String goodsNo = addMallGoodsDto.getGoodsNo();
        String goodsNo = MallUtils.getOrderNum("PT");
        addMallGoodsDto.setGoodsNo(goodsNo);
        if (StrUtil.isEmpty(goodsNo)) {
            return new FebsResponse().fail().message("商品编号不能为空");
        }
@@ -1017,6 +1019,8 @@
                new LambdaQueryWrapper<MallGoods>()
                        .select(MallGoods::getId, MallGoods::getGoodsName)
                        .eq(MallGoods::getIsSale, MallGoods.ISSALE_STATUS_ENABLE)
                        .eq(MallGoods::getGoodsType, MallGoods.ISSALE_STATUS_ENABLE)
                        .eq(MallGoods::getIsNormal, MallGoods.ISSALE_STATUS_ENABLE)
        );
        List<AdminMallGoodsCouponTreeListVo> objects = new ArrayList<>();
src/main/resources/templates/febs/views/modules/goods/goodsAddNew.html
@@ -15,28 +15,29 @@
                                    <div class="layui-tab-item layui-show">
                                        <blockquote class="layui-elem-quote blue-border">基本信息设置</blockquote>
                                        <div class="layui-row layui-col-space10 layui-form-item">
                                            <div class="layui-col-lg6">
                                                <label class="layui-form-label febs-form-item-require">商品名称:</label>
                                                <div class="layui-input-block">
                                                    <input type="text" name="goodsName" lay-verify="required" placeholder="" autocomplete="off" class="layui-input">
                                                </div>
                                            </div>
                                            <div class="layui-col-lg6">
                                                <label class="layui-form-label febs-form-item-require">商品编号:</label>
                                                <div class="layui-input-block">
                                                    <input type="text" name="goodsNo" lay-verify="required" placeholder="" autocomplete="off" class="layui-input">
                                                </div>
                                            </div>
                                        </div>
                                        <div class="layui-form-item">
                                            <div class="layui-col-lg6">
                                                <label class="layui-form-label febs-form-item-require">商品分类:</label>
                                                <div class="layui-input-block">
                                                    <div id="goods-category"></div>
                                                </div>
                                            </div>
                                            <div class="layui-col-lg6">
                                                <label class="layui-form-label febs-form-item-require">商品名称:</label>
                                                <div class="layui-input-block">
                                                    <input type="text" name="goodsName" lay-verify="required" placeholder="" autocomplete="off" class="layui-input">
                                                </div>
                                            </div>
<!--                                            <div class="layui-col-lg6">-->
<!--                                                <label class="layui-form-label febs-form-item-require">商品编号:</label>-->
<!--                                                <div class="layui-input-block">-->
<!--                                                    <input type="text" name="goodsNo" lay-verify="required" placeholder="" autocomplete="off" class="layui-input">-->
<!--                                                </div>-->
<!--                                            </div>-->
                                        </div>
                                        <div class="layui-form-item">
                                            <div class="layui-col-lg3">
                                            <div class="layui-col-lg6">
                                                <label class="layui-form-label">是否主推:</label>
                                                <div class="layui-input-block">
                                                    <input type="radio" name="isHot" value="1" title="是" />
@@ -44,7 +45,7 @@
                                                </div>
                                            </div>
                                            <div class="layui-col-lg3">
                                            <div class="layui-col-lg6">
                                                <label class="layui-form-label febs-form-item-require">序号:</label>
                                                <div class="layui-input-block">
                                                    <input type="number" name="orderNumber" lay-verify="required" placeholder="" autocomplete="off" class="layui-input">
src/main/resources/templates/febs/views/modules/goods/goodsUpdateNew.html
@@ -28,7 +28,7 @@
                                                <label class="layui-form-label febs-form-item-require">商品编号:</label>
                                                <div class="layui-input-block">
                                                    <input type="text" name="goodsNo" lay-verify="required"
                                                           placeholder="" autoComplete="off" class="layui-input">
                                                           placeholder="" autoComplete="off" class="layui-input" readonly>
                                                </div>
                                            </div>
                                        </div>
src/main/resources/templates/febs/views/modules/score/goodsAdd.html
@@ -29,12 +29,12 @@
                    <input type="text" name="goodsName" lay-verify="required" placeholder="" autocomplete="off" class="layui-input">
                </div>
            </div>
            <div class="layui-col-lg6">
                <label class="layui-form-label febs-form-item-require">商品编号:</label>
                <div class="layui-input-block">
                    <input type="text" name="goodsNo" lay-verify="required" placeholder="" autocomplete="off" class="layui-input">
                </div>
            </div>
<!--            <div class="layui-col-lg6">-->
<!--                <label class="layui-form-label febs-form-item-require">商品编号:</label>-->
<!--                <div class="layui-input-block">-->
<!--                    <input type="text" name="goodsNo" lay-verify="required" placeholder="" autocomplete="off" class="layui-input">-->
<!--                </div>-->
<!--            </div>-->
        </div>
        <div class="layui-row layui-col-space10 layui-form-item">
src/main/resources/templates/febs/views/modules/score/goodsUpdate.html
@@ -33,7 +33,7 @@
            <div class="layui-col-lg6">
                <label class="layui-form-label febs-form-item-require">商品编号:</label>
                <div class="layui-input-block">
                    <input type="text" name="goodsNo" lay-verify="required" placeholder="" autocomplete="off" class="layui-input">
                    <input type="text" name="goodsNo" lay-verify="required" placeholder="" autocomplete="off" class="layui-input" readonly>
                </div>
            </div>
        </div>