AdminSysConfigBiz.java 5.9 KB
Newer Older
F
fengyw 已提交
1 2
package com.roncoo.education.system.service.admin.biz;

F
fengyw 已提交
3 4
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
F
fengyw 已提交
5 6 7
import com.roncoo.education.common.core.base.Page;
import com.roncoo.education.common.core.base.PageUtil;
import com.roncoo.education.common.core.base.Result;
F
fengyw 已提交
8 9 10
import com.roncoo.education.common.core.enums.SmsPlatformEnum;
import com.roncoo.education.common.core.enums.StoragePlatformEnum;
import com.roncoo.education.common.core.enums.VodPlatformEnum;
F
fengyw 已提交
11 12
import com.roncoo.education.common.core.tools.BeanUtil;
import com.roncoo.education.common.service.BaseBiz;
F
fengyw 已提交
13
import com.roncoo.education.common.video.VodUtil;
F
fengyw 已提交
14 15 16 17
import com.roncoo.education.system.dao.SysConfigDao;
import com.roncoo.education.system.dao.impl.mapper.entity.SysConfig;
import com.roncoo.education.system.dao.impl.mapper.entity.SysConfigExample;
import com.roncoo.education.system.dao.impl.mapper.entity.SysConfigExample.Criteria;
18
import com.roncoo.education.system.feign.interfaces.vo.VodConfig;
F
fengyw 已提交
19
import com.roncoo.education.system.service.admin.req.AdminSysConfigEditReq;
F
fengyw 已提交
20
import com.roncoo.education.system.service.admin.req.AdminSysConfigListReq;
F
fengyw 已提交
21 22
import com.roncoo.education.system.service.admin.req.AdminSysConfigPageReq;
import com.roncoo.education.system.service.admin.req.AdminSysConfigSaveReq;
F
fengyw 已提交
23
import com.roncoo.education.system.service.admin.resp.AdminSysConfigListResp;
F
fengyw 已提交
24 25 26 27 28 29
import com.roncoo.education.system.service.admin.resp.AdminSysConfigPageResp;
import com.roncoo.education.system.service.admin.resp.AdminSysConfigViewResp;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;

import javax.validation.constraints.NotNull;
F
fengyw 已提交
30
import java.util.List;
31 32
import java.util.Map;
import java.util.stream.Collectors;
F
fengyw 已提交
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51

/**
 * ADMIN-系统配置
 *
 * @author wujing
 */
@Component
@RequiredArgsConstructor
public class AdminSysConfigBiz extends BaseBiz {

    @NotNull
    private final SysConfigDao dao;

    /**
     * 系统配置分页
     *
     * @param req 系统配置分页查询参数
     * @return 系统配置分页查询结果
     */
F
fengyw 已提交
52
    public Result<Page<AdminSysConfigPageResp>> page(AdminSysConfigPageReq req) {
F
fengyw 已提交
53 54 55
        SysConfigExample example = new SysConfigExample();
        Criteria c = example.createCriteria();
        Page<SysConfig> page = dao.page(req.getPageCurrent(), req.getPageSize(), example);
F
fengyw 已提交
56
        Page<AdminSysConfigPageResp> respPage = PageUtil.transform(page, AdminSysConfigPageResp.class);
F
fengyw 已提交
57 58 59 60 61 62 63 64 65
        return Result.success(respPage);
    }

    /**
     * 系统配置添加
     *
     * @param req 系统配置
     * @return 添加结果
     */
F
fengyw 已提交
66
    public Result<String> save(AdminSysConfigSaveReq req) {
F
fengyw 已提交
67 68
        SysConfig record = BeanUtil.copyProperties(req, SysConfig.class);
        if (dao.save(record) > 0) {
F
fengyw 已提交
69
            return Result.success("操作成功");
F
fengyw 已提交
70
        }
F
fengyw 已提交
71
        return Result.error("操作失败");
F
fengyw 已提交
72 73 74 75 76 77 78 79
    }

    /**
     * 系统配置查看
     *
     * @param id 主键ID
     * @return 系统配置
     */
F
fengyw 已提交
80
    public Result<AdminSysConfigViewResp> view(Long id) {
F
fengyw 已提交
81 82 83 84 85 86 87 88 89
        return Result.success(BeanUtil.copyProperties(dao.getById(id), AdminSysConfigViewResp.class));
    }

    /**
     * 系统配置修改
     *
     * @param req 系统配置修改对象
     * @return 修改结果
     */
F
fengyw 已提交
90
    public Result<String> edit(AdminSysConfigEditReq req) {
F
fengyw 已提交
91 92
        SysConfig record = BeanUtil.copyProperties(req, SysConfig.class);
        if (dao.updateById(record) > 0) {
F
fengyw 已提交
93
            return Result.success("操作成功");
F
fengyw 已提交
94
        }
F
fengyw 已提交
95
        return Result.error("操作失败");
F
fengyw 已提交
96 97 98 99 100 101 102 103
    }

    /**
     * 系统配置删除
     *
     * @param id ID主键
     * @return 删除结果
     */
F
fengyw 已提交
104
    public Result<String> delete(Long id) {
F
fengyw 已提交
105
        if (dao.deleteById(id) > 0) {
F
fengyw 已提交
106
            return Result.success("操作成功");
F
fengyw 已提交
107
        }
F
fengyw 已提交
108
        return Result.error("操作失败");
F
fengyw 已提交
109
    }
F
fengyw 已提交
110 111 112 113 114 115 116 117

    public Result<List<AdminSysConfigListResp>> list(AdminSysConfigListReq req) {
        SysConfigExample example = new SysConfigExample();
        example.setOrderByClause("sort asc, id desc");

        Criteria c = example.createCriteria();
        if (ObjectUtil.isNotEmpty(req.getConfigType())) {
            c.andConfigTypeEqualTo(req.getConfigType());
F
fengyw 已提交
118
            if (req.getConfigType().equals(3)) {
F
fengyw 已提交
119 120
                c.andConfigKeyLike(VodPlatformEnum.byCode(Integer.valueOf(dao.getByConfigKey("vodPlatform").getConfigValue())).getTag());
            }
F
fengyw 已提交
121
            if (req.getConfigType().equals(4)) {
F
fengyw 已提交
122 123
                c.andConfigKeyLike(StoragePlatformEnum.byCode(Integer.valueOf(dao.getByConfigKey("storagePlatform").getConfigValue())).getTag());
            }
F
fengyw 已提交
124
            if (req.getConfigType().equals(5)) {
F
fengyw 已提交
125 126
                c.andConfigKeyLike(SmsPlatformEnum.byCode(Integer.valueOf(dao.getByConfigKey("smsPlatform").getConfigValue())).getTag());
            }
F
fengyw 已提交
127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146
        }
        if (ObjectUtil.isNotEmpty(req.getContentType())) {
            c.andContentTypeEqualTo(req.getContentType());
        }
        if (StrUtil.isNotBlank(req.getConfigName())) {
            c.andConfigNameLike(PageUtil.like(req.getConfigName()));
        }
        if (StrUtil.isNotBlank(req.getConfigKey())) {
            c.andConfigKeyLike(PageUtil.like(req.getConfigKey()));
        }
        if (ObjectUtil.isNotEmpty(req.getConfigShow())) {
            c.andConfigShowEqualTo(req.getConfigShow());
        }
        if (StrUtil.isNotBlank(req.getRemark())) {
            c.andRemarkLike(PageUtil.like(req.getRemark()));
        }

        List<SysConfig> configList = dao.listByExample(example);
        return Result.success(BeanUtil.copyProperties(configList, AdminSysConfigListResp.class));
    }
147 148 149 150

    public Result<String> init() {
        Map<String, String> configMap = dao.listByExample(new SysConfigExample()).stream().collect(Collectors.toMap(SysConfig::getConfigKey, SysConfig::getConfigValue));
        VodConfig vodConfig = BeanUtil.objToBean(configMap, VodConfig.class);
F
fengyw 已提交
151 152
        // 初始化
        VodUtil.init(vodConfig);
153 154
        return Result.success("操作成功");
    }
F
fengyw 已提交
155
}