Helius
2022-05-13 52a29dfec5ebfcd72b46b5a0e3b46fa751dd49df
add news category
7 files modified
1 files added
160 ■■■■ changed files
src/main/java/cc/mrbird/febs/mall/controller/AdminNewsInfoController.java 11 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/controller/ViewNewsController.java 21 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/IMallNewsInfoService.java 4 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/MallNewsInfoServiceImpl.java 16 ●●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/news/newsCategory.html 36 ●●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/news/newsCategoryAdd.html 68 ●●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/news/newsInfoAdd.html 2 ●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/news/newsInfoUpdate.html 2 ●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/controller/AdminNewsInfoController.java
@@ -72,9 +72,16 @@
    @GetMapping("findNewsCategoryList")
    @ControllerEndpoint(operation = "")
    @ControllerEndpoint(operation = "新闻分类列表", exceptionMessage = "获取失败")
    public FebsResponse findNewsCategoryList(MallNewsCategory mallNewsCategory, QueryRequest request) {
        return null;
        return new FebsResponse().success().data(getDataTable(mallNewsInfoService.findNewsCategoryInPage(mallNewsCategory, request)));
    }
    @PostMapping("addOrModifyNewsCategory")
    @ControllerEndpoint(operation = "新闻分类", exceptionMessage = "新增失败")
    public FebsResponse addOrModifyNewsCategory(MallNewsCategory mallNewsCategory) {
        mallNewsInfoService.addOrModifyNewsCategory(mallNewsCategory);
        return new FebsResponse().success().message("新增成功");
    }
}
src/main/java/cc/mrbird/febs/mall/controller/ViewNewsController.java
@@ -2,6 +2,7 @@
import cc.mrbird.febs.common.entity.FebsConstant;
import cc.mrbird.febs.common.utils.FebsUtil;
import cc.mrbird.febs.mall.entity.MallNewsCategory;
import cc.mrbird.febs.mall.entity.MallNewsInfo;
import cc.mrbird.febs.mall.service.IMallNewsInfoService;
import lombok.RequiredArgsConstructor;
@@ -62,4 +63,24 @@
    public String newsCategory() {
        return FebsUtil.view("modules/news/newsCategory");
    }
    @GetMapping("addCategory")
    @RequiresPermissions("news:category:add")
    public String addCategory(Long id, Model model) {
        if (id != null) {
            MallNewsCategory obj = mallNewsInfoService.findNewsCategoryById(id);
            model.addAttribute("obj", obj);
        }
        return FebsUtil.view("modules/news/newsCategoryAdd");
    }
    @GetMapping("updateCategory/{id}")
    @RequiresPermissions("news:category:update")
    public String updateCategory(@PathVariable Long id, Model model) {
        if (id != null) {
            MallNewsCategory obj = mallNewsInfoService.findNewsCategoryById(id);
            model.addAttribute("obj", obj);
        }
        return FebsUtil.view("modules/news/newsCategoryAdd");
    }
}
src/main/java/cc/mrbird/febs/mall/service/IMallNewsInfoService.java
@@ -22,4 +22,8 @@
    MallNewsInfo getNewsInfoById(long id);
    IPage<MallNewsCategory> findNewsCategoryInPage(MallNewsCategory mallNewsCategory, QueryRequest request);
    void addOrModifyNewsCategory(MallNewsCategory mallNewsCategory);
    MallNewsCategory findNewsCategoryById(Long id);
}
src/main/java/cc/mrbird/febs/mall/service/impl/MallNewsInfoServiceImpl.java
@@ -97,7 +97,21 @@
    @Override
    public IPage<MallNewsCategory> findNewsCategoryInPage(MallNewsCategory mallNewsCategory, QueryRequest request) {
        Page<MallNewsCategory> page = new Page<>(request.getPageNum(), request.getPageNum());
        Page<MallNewsCategory> page = new Page<>(request.getPageNum(), request.getPageSize());
        return mallNewsCategoryMapper.selectInPage(mallNewsCategory, page);
    }
    @Override
    public void addOrModifyNewsCategory(MallNewsCategory mallNewsCategory) {
        if (mallNewsCategory.getId() != null) {
            mallNewsCategoryMapper.updateById(mallNewsCategory);
            return;
        }
        mallNewsCategoryMapper.insert(mallNewsCategory);
    }
    @Override
    public MallNewsCategory findNewsCategoryById(Long id) {
        return mallNewsCategoryMapper.selectById(id);
    }
}
src/main/resources/templates/febs/views/modules/news/newsCategory.html
@@ -18,7 +18,7 @@
                            </div>
                        </div>
                    </form>
                    <table lay-filter="newInfoTable" lay-data="{id: 'newInfoTable'}"></table>
                    <table lay-filter="newCategoryTable" lay-data="{id: 'newCategoryTable'}"></table>
                </div>
            </div>
        </div>
@@ -54,14 +54,16 @@
        initTable();
        // 初始化表格操作栏各个按钮功能
        table.on('tool(newInfoTable)', function (obj) {
        table.on('tool(newCategoryTable)', function (obj) {
            var data = obj.data,
                layEvent = obj.event;
            if (layEvent === 'newsInfoUpdate') {
                febs.modal.open('编辑', 'modules/news/newsInfoUpdate/' + data.id, {
                console.log(data);
                febs.modal.open('编辑', 'modules/news/updateCategory/'+data.id, {
                    btn: ['提交', '取消'],
                    area:['50%'],
                    yes: function (index, layero) {
                        $('#systemPay-update').find('#submit').trigger('click');
                        $('#newsCategory-add').find('#submit').trigger('click');
                    },
                    btn2: function () {
                        layer.closeAll();
@@ -96,10 +98,11 @@
        });
        $add.on('click', function () {
            febs.modal.open('新增', 'modules/news/newsInfoAdd/', {
            febs.modal.open('新增', 'modules/news/addCategory/', {
                btn: ['提交', '取消'],
                area:['50%'],
                yes: function (index, layero) {
                    $('#newsInfo-add').find('#submit').trigger('click');
                    $('#newsCategory-add').find('#submit').trigger('click');
                },
                btn2: function () {
                    layer.closeAll();
@@ -110,28 +113,15 @@
        function initTable() {
            tableIns = febs.table.init({
                elem: $view.find('table'),
                id: 'newInfoTable',
                url: ctx + 'admin/news/getNewInfoList',
                id: 'newCategoryTable',
                url: ctx + 'admin/news/findNewsCategoryList',
                cols: [[
                    {field: 'title', title: '标题', minWidth: 120,align:'center'},
                    {field: 'content', title: '内容', minWidth: 120,align:'center'},
                    {field: 'createdTime', title: '创建时间', minWidth: 120,align:'center'},
                    {field: 'type', title: '类型',
                        templet: function (d) {
                            if(d.type === 1){
                                return '<span>文章</span>'
                            }else if(d.type === 2){
                                return '<span>跳转到产品</span>'
                            }else{
                                return ''
                            }
                        }, minWidth: 100,align:'center'},
                    {field: 'targetId', title: '跳转到目标ID', minWidth: 200,align:'center'},
                    {field: 'targetName', title: '跳转到目标', minWidth: 200,align:'center'},
                    {title: '操作',
                        templet: function (d) {
                            return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="newsInfoUpdate" shiro:hasPermission="user:update">编辑</button>'
                                +'<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="delNewsInfo" shiro:hasPermission="user:update">删除</button>'
                            return '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="newsInfoUpdate" shiro:hasPermission="news:category:update">编辑</button>'
                                +'<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="delNewsInfo" shiro:hasPermission="news:category:update">删除</button>'
                        },minWidth: 300,align:'center'}
                ]]
            });
src/main/resources/templates/febs/views/modules/news/newsCategoryAdd.html
New file
@@ -0,0 +1,68 @@
<style>
    #newsCategory-add {
        padding: 20px 25px 25px 0;
    }
    #newsCategory-add .layui-treeSelect .ztree li a, .ztree li span {
        margin: 0 0 2px 3px !important;
    }
    #newsCategory-add #data-permission-tree-block {
        border: 1px solid #eee;
        border-radius: 2px;
        padding: 3px 0;
    }
    #newsCategory-add .layui-treeSelect .ztree li span.button.switch {
        top: 1px;
        left: 3px;
    }
    #newsCategory-add img{
        max-width:100px
    }
</style>
<div class="layui-fluid" id="newsCategory-add">
    <form class="layui-form" action="" lay-filter="newsCategory-add-form">
        <div class="layui-form-item febs-hide">
            <label class="layui-form-label">标题:</label>
            <div class="layui-input-block">
                <input type="text" name="id" autocomplete="off" data-th-value="${obj == null ? '':obj.id}" class="layui-input" >
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label febs-form-item-require">标题:</label>
            <div class="layui-input-block">
                <input type="text" name="title" lay-verify="required" autocomplete="off" data-th-value="${obj == null ? '':obj.title}" class="layui-input" >
            </div>
        </div>
        <div class="layui-form-item febs-hide">
            <button class="layui-btn" lay-submit="" lay-filter="newsCategory-add-form-submit" id="submit"></button>
        </div>
    </form>
</div>
<script data-th-inline="javascript">
    layui.use(['febs', 'form', 'formSelects', 'validate', 'treeSelect', 'eleTree', 'laydate'], function () {
        var $ = layui.$,
            febs = layui.febs,
            layer = layui.layer,
            formSelects = layui.formSelects,
            treeSelect = layui.treeSelect,
            form = layui.form,
            laydate = layui.laydate,
            eleTree = layui.eleTree,
            $view = $('#newsCategory-add'),
            validate = layui.validate;
        form.render();
        form.on('submit(newsCategory-add-form-submit)', function (data) {
            febs.post(ctx + 'admin/news/addOrModifyNewsCategory', data.field, function () {
                layer.closeAll();
                febs.alert.success('操作成功');
                $('#febs-new-category').find('#query').click();
            });
            return false;
        });
    });
</script>
src/main/resources/templates/febs/views/modules/news/newsInfoAdd.html
@@ -90,7 +90,7 @@
        formSelects.render();
        form.on('submit(newsInfo-add-form-submit)', function (data) {
            febs.post(ctx + 'admin/mallMember/addNewsInfo', data.field, function () {
            febs.post(ctx + 'admin/news/addNewsInfo', data.field, function () {
                layer.closeAll();
                febs.alert.success('操作成功');
                $('#febs-newInfo').find('#reset').click();
src/main/resources/templates/febs/views/modules/news/newsInfoUpdate.html
@@ -110,7 +110,7 @@
        }
        form.on('submit(newsInfo-update-form-submit)', function (data) {
            febs.post(ctx + 'admin/mallMember/updateNewsInfo', data.field, function () {
            febs.post(ctx + 'admin/news/updateNewsInfo', data.field, function () {
                layer.closeAll();
                febs.alert.success('操作成功');
                $('#febs-newInfo').find('#reset').click();