From e929e795be5dad7487e6e483a361b0bc27b34216 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Fri, 17 Feb 2023 12:09:53 +0800 Subject: [PATCH] 合伙人权益的后台编辑上传 接口 --- src/main/java/cc/mrbird/febs/mall/dto/AdminAgentDetailDto.java | 10 +++ src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java | 15 +++++ src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java | 6 ++ src/main/resources/templates/febs/views/modules/system/agentDetail.html | 95 +++++++++++++++++++++++++++++++ src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java | 15 +++++ src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java | 2 src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java | 2 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 11 +++ 8 files changed, 156 insertions(+), 0 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java b/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java index b8210ab..606d37c 100644 --- a/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java +++ b/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java @@ -8,6 +8,8 @@ //微信订阅模板ID, // 微信订单通知 // WX_TEMPLATE_ID_ONE("WX_TEMPLATE", "WX_TEMPLATE_ID_ONE"), + // 合伙人权益 + AGENT_DETAILS("AGENT_DETAILS", "AGENT_DETAILS"), // 成为合伙人的充值金额 PRICE_AMOUNT("AGENT_PRICE", "PRICE_AMOUNT"), // 充值到账通知 diff --git a/src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java b/src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java index 163c21a..6b0cc57 100644 --- a/src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java +++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java @@ -3,6 +3,7 @@ import cc.mrbird.febs.common.entity.FebsResponse; import cc.mrbird.febs.common.enumerates.DataDictionaryEnum; import cc.mrbird.febs.mall.dto.AdminAgentAmountDto; +import cc.mrbird.febs.mall.dto.AdminAgentDetailDto; import cc.mrbird.febs.mall.dto.CashOutSettingDto; import cc.mrbird.febs.mall.entity.DataDictionaryCustom; import cc.mrbird.febs.mall.mapper.DataDictionaryCustomMapper; @@ -59,4 +60,18 @@ dataDictionaryCustomMapper.updateById(dic); return new FebsResponse().success(); } + + @PostMapping(value = "/agentDetail") + public FebsResponse agentDetail(AdminAgentDetailDto adminAgentDetailDto) { + DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( + DataDictionaryEnum.AGENT_DETAILS.getType(), DataDictionaryEnum.AGENT_DETAILS.getCode() + ); + + if(ObjectUtil.isEmpty(dic)){ + return new FebsResponse().fail().message("请刷新页面重试"); + } + dic.setValue(adminAgentDetailDto.getAgentDetail()); + dataDictionaryCustomMapper.updateById(dic); + return new FebsResponse().success(); + } } diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java index d4f191a..7bc1690 100644 --- a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java +++ b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java @@ -201,4 +201,10 @@ return iApiMallAgentService.agentApply(apiAgentApplyDto); } + @ApiOperation(value = "合伙人权益") + @GetMapping(value = "/agentDetail") + public FebsResponse agentDetail() { + return memberService.agentDetail(); + } + } diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java b/src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java index 950abdd..e4ef506 100644 --- a/src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java +++ b/src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java @@ -4,10 +4,12 @@ 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.dto.AdminAgentDetailDto; import cc.mrbird.febs.mall.dto.CashOutSettingDto; import cc.mrbird.febs.mall.dto.ScoreSettingDto; import cc.mrbird.febs.mall.entity.DataDictionaryCustom; import cc.mrbird.febs.mall.mapper.DataDictionaryCustomMapper; +import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import org.apache.shiro.authz.annotation.RequiresPermissions; @@ -51,4 +53,17 @@ } return FebsUtil.view("modules/system/agentAmountSet"); } + + @GetMapping("agentDetail") + @RequiresPermissions("agentDetail:update") + public String agentDetail(Model model) { + DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.AGENT_DETAILS.getType(), + DataDictionaryEnum.AGENT_DETAILS.getCode()); + AdminAgentDetailDto adminAgentDetailDto = new AdminAgentDetailDto(); + if (ObjectUtil.isNotEmpty(dic)) { + adminAgentDetailDto.setAgentDetail(dic.getValue()); + model.addAttribute("agentDetail", adminAgentDetailDto); + } + return FebsUtil.view("modules/system/agentDetail"); + } } diff --git a/src/main/java/cc/mrbird/febs/mall/dto/AdminAgentDetailDto.java b/src/main/java/cc/mrbird/febs/mall/dto/AdminAgentDetailDto.java new file mode 100644 index 0000000..9af90b7 --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/dto/AdminAgentDetailDto.java @@ -0,0 +1,10 @@ +package cc.mrbird.febs.mall.dto; + +import lombok.Data; + +@Data +public class AdminAgentDetailDto { + + private String agentDetail; + +} diff --git a/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java b/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java index 8de90c2..3b9c789 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java +++ b/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java @@ -77,4 +77,6 @@ FebsResponse rechargeWallet(ApiRechargeWalletDto apiRechargeWalletDto); void updateMemberAgent(Long memberId); + + FebsResponse agentDetail(); } diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java index 3717948..aeb67dd 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java @@ -789,6 +789,17 @@ this.baseMapper.updateById(mallMember); } + @Override + public FebsResponse agentDetail() { + DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( + DataDictionaryEnum.AGENT_DETAILS.getType(), DataDictionaryEnum.AGENT_DETAILS.getCode()); + Map<String, Object> map = new HashMap<>(); + if(ObjectUtil.isNotEmpty(dataDictionaryCustom)){ + map.put("agentDetail", dataDictionaryCustom.getValue()); + } + return new FebsResponse().success().data(map); + } + private String getXcxLoginUrl(String code) { String wechatLoginUrl =xcxProperties.getWecharLoginUrl(); return String.format(wechatLoginUrl, xcxProperties.getXcxAppid(), xcxProperties.getXcxSecret(), code); diff --git a/src/main/resources/templates/febs/views/modules/system/agentDetail.html b/src/main/resources/templates/febs/views/modules/system/agentDetail.html new file mode 100644 index 0000000..8a9d1b5 --- /dev/null +++ b/src/main/resources/templates/febs/views/modules/system/agentDetail.html @@ -0,0 +1,95 @@ +<div class="layui-fluid layui-anim febs-anim" id="febs-agent-detail" lay-title="合伙人权益"> + <div class="layui-row febs-container"> + <div class="layui-col-md12"> + <div class="layui-fluid" id="agent-detail-add"> + <form class="layui-form" action="" lay-filter="agent-detail-form"> + <div class="layui-card"> + <div class="layui-card-body"> + <div class="layui-tab layui-tab-brief" lay-filter="docDemoTabBrief"> + <ul class="layui-tab-title"> + <li class="layui-this">合伙人权益</li> + </ul> + <div class="layui-tab-content"> + <div class="layui-tab-item layui-show"> + <div class="layui-form-item"> + <div class="layui-input-block"> + <div style="border: 1px solid #ccc;width: 400px;"> + <div id="toolbar-container" style="border-bottom: 1px solid #ccc;width: 400px;"></div> + <div id="editor-container" style="height: 450px;width: 400px;"></div> + </div> + </div> + </div> + </div> + </div> + </div> + </div> + <div class="layui-card-footer"> + <button class="layui-btn" lay-submit="" lay-filter="agent-detail-form-submit" id="submit">保存</button> + </div> + </div> + </form> + </div> + </div> + </div> +</div> +<style> +</style> +<script type="text/html" id="toolbar"> + <div class="layui-btn-container"> + <button class="layui-btn layui-btn-danger layui-btn-sm" type="button" lay-event="delSku">删除</button> + </div> +</script> +<script data-th-inline="javascript"> + layui.use(['febs', 'form', 'formSelects', 'validate', 'treeSelect', 'eleTree','dropdown', 'laydate', 'layedit', 'upload', 'element', 'table', 'xmSelect'], function () { + var $ = layui.jquery, + febs = layui.febs, + layer = layui.layer, + table = layui.table, + form = layui.form, + laydate = layui.laydate, + agentDetail = [[${agentDetail}]], + layedit = layui.layedit, + upload = layui.upload, + validate = layui.validate, + element = layui.element; + + form.render(); + + var E = window.wangEditor; + const editorConfig = { MENU_CONF: {} }; + editorConfig.MENU_CONF['uploadImage'] = { + server: '/admin/goods/uploadFileBase64', + fieldName : "file", + customInsert(res, insertFn) { + insertFn(res.data.src, res.data.title, '') + }, + } + + initAgentDetailValue(); + + function initAgentDetailValue() { + window.editor = E.createEditor({ + html: agentDetail.agentDetail, + selector: '#editor-container', + config : editorConfig, + mode: 'default' + }); + + window.toolbar = E.createToolbar({ + editor, + selector: '#toolbar-container', + mode: 'default' + }); + } + + form.on('submit(agent-detail-form-submit)', function (data) { + data.field.agentDetail = editor.getHtml(); + febs.post(ctx + 'admin/system/agentDetail', data.field, function (res) { + febs.alert.success('设置成功'); + }); + window.location.reload(); + return false; + }); + + }); +</script> \ No newline at end of file -- Gitblit v1.9.1