src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/cc/mrbird/febs/mall/dto/AdminAgentDetailDto.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | ●●●●● patch | view | raw | blame | history | |
src/main/resources/templates/febs/views/modules/system/agentDetail.html | ●●●●● patch | view | raw | blame | history |
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"), // 充值到账通知 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(); } } 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(); } } 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"); } } src/main/java/cc/mrbird/febs/mall/dto/AdminAgentDetailDto.java
New file @@ -0,0 +1,10 @@ package cc.mrbird.febs.mall.dto; import lombok.Data; @Data public class AdminAgentDetailDto { private String agentDetail; } src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java
@@ -77,4 +77,6 @@ FebsResponse rechargeWallet(ApiRechargeWalletDto apiRechargeWalletDto); void updateMemberAgent(Long memberId); FebsResponse agentDetail(); } 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); src/main/resources/templates/febs/views/modules/system/agentDetail.html
New file @@ -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>