Administrator
2025-05-08 1b4c8b8918825fea8e15b9b9368a2274b7e5a2df
feat(mall): 添加公共设置功能

- 新增 AdminCommonSetDto 和 AdminCommonSetVo 类用于公共设置
- 添加 AdminHappyCommonController 控制器处理公共设置请求
- 创建 CommonDictionaryEnum 枚举定义公共设置类型
- 实现公共设置页面模板 commonSet.html
- 添加 ViewHappyCommonController 控制器处理公共设置页面请求
- 修改 CommonController 中的图片上传路径
1 files modified
6 files added
206 ■■■■■ changed files
src/main/java/cc/mrbird/febs/common/enumerates/CommonDictionaryEnum.java 20 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/controller/CommonController.java 2 ●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/controller/common/AdminHappyCommonController.java 52 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/controller/common/ViewHappyCommonController.java 45 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/dto/common/AdminCommonSetDto.java 9 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/vo/common/AdminCommonSetVo.java 9 ●●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/common/commonSet.html 69 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/common/enumerates/CommonDictionaryEnum.java
New file
@@ -0,0 +1,20 @@
package cc.mrbird.febs.common.enumerates;
import lombok.Getter;
@Getter
public enum CommonDictionaryEnum {
    /**
     * 整体置灰
     */
    GRAY_SET("GRAY_SET", "GRAY_SET");
    private String type;
    private String code;
    CommonDictionaryEnum(String type, String code) {
        this.type = type;
        this.code = code;
    }
}
src/main/java/cc/mrbird/febs/mall/controller/CommonController.java
@@ -230,7 +230,7 @@
        String imageFuffix = ".jpg";
        String imageNames = System.currentTimeMillis() + IdUtil.simpleUUID() + imageFuffix;
        String imageName = "uploadeFile/" + imageNames;
        String imageName = "hc/" + imageNames;
        OssUtils.uploadFileWithBase64(base64Str, imageName);
        String bucket_name ="https://excoin.oss-cn-hangzhou.aliyuncs.com";
        String url = bucket_name + "/" + imageName;
src/main/java/cc/mrbird/febs/mall/controller/common/AdminHappyCommonController.java
New file
@@ -0,0 +1,52 @@
package cc.mrbird.febs.mall.controller.common;
import cc.mrbird.febs.common.annotation.ControllerEndpoint;
import cc.mrbird.febs.common.controller.BaseController;
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.entity.QueryRequest;
import cc.mrbird.febs.common.enumerates.CommonDictionaryEnum;
import cc.mrbird.febs.common.enumerates.DataDictionaryEnum;
import cc.mrbird.febs.common.utils.RedisUtils;
import cc.mrbird.febs.mall.dto.AdminAgentAmountDto;
import cc.mrbird.febs.mall.dto.common.AdminCommonSetDto;
import cc.mrbird.febs.mall.dto.memberLevel.*;
import cc.mrbird.febs.mall.entity.DataDictionaryCustom;
import cc.mrbird.febs.mall.mapper.DataDictionaryCustomMapper;
import cc.mrbird.febs.mall.service.AdminMemberLevelService;
import cn.hutool.core.util.ObjectUtil;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.math.BigDecimal;
import java.util.Map;
@Slf4j
@Validated
@RestController
@RequiredArgsConstructor
@RequestMapping(value = "/admin/common")
public class AdminHappyCommonController extends BaseController {
    private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
    @PostMapping(value = "/commonSet")
    public FebsResponse commonSet(AdminCommonSetDto dto) {
        this.commonUpdate(CommonDictionaryEnum.GRAY_SET.getType(),CommonDictionaryEnum.GRAY_SET.getCode(),dto.getGrayState());
        return new FebsResponse().success().message("操作成功");
    }
    public void commonUpdate(String type,String code,String value) {
        DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
                type,
                code
        );
        if(ObjectUtil.isNotEmpty(dic)){
            dic.setValue(value);
            dataDictionaryCustomMapper.updateById(dic);
        }
    }
}
src/main/java/cc/mrbird/febs/mall/controller/common/ViewHappyCommonController.java
New file
@@ -0,0 +1,45 @@
package cc.mrbird.febs.mall.controller.common;
import cc.mrbird.febs.common.controller.BaseController;
import cc.mrbird.febs.common.entity.FebsConstant;
import cc.mrbird.febs.common.enumerates.CommonDictionaryEnum;
import cc.mrbird.febs.common.enumerates.DataDictionaryEnum;
import cc.mrbird.febs.common.utils.FebsUtil;
import cc.mrbird.febs.mall.dto.AdminAgentAmountDto;
import cc.mrbird.febs.mall.entity.DataDictionaryCustom;
import cc.mrbird.febs.mall.mapper.DataDictionaryCustomMapper;
import cc.mrbird.febs.mall.vo.common.AdminCommonSetVo;
import lombok.RequiredArgsConstructor;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.HashMap;
@Controller("commonView")
@RequestMapping(FebsConstant.VIEW_PREFIX + "modules/common")
@RequiredArgsConstructor
public class ViewHappyCommonController extends BaseController {
    private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
    @GetMapping("commonSet")
    @RequiresPermissions("commonSet:view")
    public String agentAmountSet(Model model) {
        DataDictionaryCustom grayStateDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
                CommonDictionaryEnum.GRAY_SET.getType(),
                CommonDictionaryEnum.GRAY_SET.getCode()
        );
        AdminCommonSetVo commonSet = new AdminCommonSetVo();
        if (grayStateDic != null) {
            commonSet.setGrayState(grayStateDic.getValue());
        }
        model.addAttribute("commonSet", commonSet);
        return FebsUtil.view("modules/common/commonSet");
    }
}
src/main/java/cc/mrbird/febs/mall/dto/common/AdminCommonSetDto.java
New file
@@ -0,0 +1,9 @@
package cc.mrbird.febs.mall.dto.common;
import lombok.Data;
@Data
public class AdminCommonSetDto {
    private String grayState;
}
src/main/java/cc/mrbird/febs/mall/vo/common/AdminCommonSetVo.java
New file
@@ -0,0 +1,9 @@
package cc.mrbird.febs.mall.vo.common;
import lombok.Data;
@Data
public class AdminCommonSetVo {
    private String grayState;
}
src/main/resources/templates/febs/views/modules/common/commonSet.html
New file
@@ -0,0 +1,69 @@
<div class="layui-fluid layui-anim febs-anim" id="common-set" lay-title="公共设置">
    <div class="layui-row layui-col-space8 febs-container">
        <form class="layui-form" action="" lay-filter="common-set-form">
            <div class="layui-card">
                <div class="layui-card-body">
                    <div class="layui-form-item">
                        <blockquote class="layui-elem-quote blue-border">公共设置:</blockquote>
                        <label class="layui-form-label">整体置灰:</label>
                        <div class="layui-input-block">
                            <input type="radio" name="grayState" value="1" title="开启" lay-filter="giveStateOpen" />
                            <input type="radio" name="grayState" value="0" title="关闭" lay-filter="giveStateOpen" checked/>
                        </div>
                    </div>
                </div>
                <div class="layui-card-footer">
                    <button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="common-set-form-submit" id="submit">保存</button>
                </div>
            </div>
        </form>
    </div>
</div>
<style>
    .layui-form-label {
        width: 120px;
    }
    .layui-form-item .layui-input-block {
        margin-left: 150px;
    }
    .layui-table-form .layui-form-item {
        margin-bottom: 20px !important;
    }
</style>
<script data-th-inline="javascript" type="text/javascript">
    layui.use(['dropdown', 'jquery', 'validate', 'febs', 'form', 'eleTree'], function () {
        var $ = layui.jquery,
            febs = layui.febs,
            form = layui.form,
            commonSet = [[${commonSet}]],
            validate = layui.validate,
            $view = $('#common-set');
        form.verify(validate);
        initCommonSetValue();
        form.render();
        function initCommonSetValue() {
            form.val("common-set-form", {
                "grayState": commonSet.grayState,
            });
        }
        form.on('submit(common-set-form-submit)', function (data) {
            console.log(data);
            febs.post(ctx + 'admin/common/commonSet', data.field, function (res) {
                if (res.code == 200) {
                    febs.alert.success(res.message);
                } else {
                    febs.alert.warn(res.message);
                }
            });
            return false;
        });
    });
</script>