From 6f36eac9e93e6268374f4fde2fcd9a43f8bf6655 Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Fri, 10 Jan 2025 11:00:41 +0800 Subject: [PATCH] feat(mall): 添加客服设置功能 --- src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java | 5 ++ src/main/resources/templates/febs/views/modules/system/kefu.html | 97 ++++++++++++++++++++++++++++++++++++++++++++++++ src/main/java/cc/mrbird/febs/mall/service/impl/CommonService.java | 17 ++++++++ 3 files changed, 119 insertions(+), 0 deletions(-) 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 d3277d0..93e3249 100644 --- a/src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java +++ b/src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java @@ -119,4 +119,9 @@ public String vipCenterSetting() { return FebsUtil.view("modules/system/vipCenterSetting"); } + + @GetMapping("kefu") + public String kefu() { + return FebsUtil.view("modules/system/kefu"); + } } diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/CommonService.java b/src/main/java/cc/mrbird/febs/mall/service/impl/CommonService.java index 08902f7..b890d8d 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/CommonService.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/CommonService.java @@ -8,6 +8,7 @@ import cc.mrbird.febs.mall.mapper.AppVersionMapper; import cc.mrbird.febs.mall.mapper.DataDictionaryCustomMapper; import cc.mrbird.febs.mall.service.ICommonService; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; import com.best.javaSdk.Client; @@ -53,6 +54,22 @@ @Override public List<DataDictionaryCustom> findDataDicByType(String type) { + List<DataDictionaryCustom> dataDictionaryCustoms = dataDictionaryCustomMapper.selectDicByType(type); + if(type.equals("KEFU_SET")){ + if(CollUtil.isEmpty(dataDictionaryCustoms)){ + DataDictionaryCustom dataDictionaryCustom = new DataDictionaryCustom(); + dataDictionaryCustom.setType(type); + dataDictionaryCustom.setCode("WEIXIN"); + dataDictionaryCustom.setDescription("微信客服"); + dataDictionaryCustomMapper.insert(dataDictionaryCustom); + DataDictionaryCustom dataDictionaryCustom2 = new DataDictionaryCustom(); + dataDictionaryCustom2.setType(type); + dataDictionaryCustom2.setCode("WHATSAPP"); + dataDictionaryCustom2.setDescription("WhatsApp客服"); + dataDictionaryCustomMapper.insert(dataDictionaryCustom2); + } + } + return dataDictionaryCustomMapper.selectDicByType(type); } diff --git a/src/main/resources/templates/febs/views/modules/system/kefu.html b/src/main/resources/templates/febs/views/modules/system/kefu.html new file mode 100644 index 0000000..6917deb --- /dev/null +++ b/src/main/resources/templates/febs/views/modules/system/kefu.html @@ -0,0 +1,97 @@ +<div class="layui-fluid layui-anim febs-anim" id="kefu-setting" lay-title="客服"> + <div class="layui-row layui-col-space8 febs-container"> + <form class="layui-form" action="" lay-filter="kefu-setting-form"> + <div class="layui-card"> + <div class="layui-card-body flex" id="cardBody"> + + </div> + + <div class="layui-card-footer"> + <button class="layui-btn layui-btn-normal save-btn" lay-submit="" lay-filter="kefu-setting-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; + } + .flex{ + display: flex; + flex-wrap: wrap; + } + .save-btn{ + display: block; + margin: 0 auto; + } + .layui-upload-list{ + height: 200px; + } +</style> +<script type="text/html" id="kefuOperate"> + {{# layui.each(d, function(index, item){ }} + <div class="layui-form-item"> + <label class="layui-form-label febs-form-item-require">{{item.description}}:</label> + <input type="text" lay-verify="required" name="{{item.code}}" + autoComplete="off" value="{{item.value}}" class="layui-input"> + </div> + {{# }) }} +</script> +<script data-th-inline="javascript" type="text/javascript"> + layui.use(['dropdown', 'jquery', 'validate', 'febs', 'form', 'eleTree', 'laytpl', 'upload'], function () { + var $ = layui.jquery, + febs = layui.febs, + form = layui.form, + validate = layui.validate + , templateHtml = kefuOperate.innerHTML + , $cardBody = $("#cardBody") + , laytpl = layui.laytpl + , upload = layui.upload + , $view = $('#kefu-setting'); + + form.verify(validate); + form.render(); + + dicDataReq("KEFU_SET"); + function dicDataReq(type) { + $cardBody.empty(); + $.get(ctx + 'admin/common/findDicByType/' + type, function (r) { + if (r.code === 200) { + var data = r.data; + laytpl(templateHtml).render(data, function(html) { + $cardBody.append(html); + }) + } + }); + } + + form.on('submit(kefu-setting-form-submit)', function (data) { + $.ajax({ + 'url':ctx + 'admin/system/bonusSystemSetting', + 'type':'post', + 'dataType':'json', + 'headers' : {'Content-Type' : 'application/json;charset=utf-8'}, + 'traditional': true, + 'data':JSON.stringify(data.field), + 'success':function (data) { + if (data.code == 200) { + febs.alert.success(data.message); + } + }, + 'error':function () { + febs.alert.warn('服务器繁忙'); + } + }) + return false; + }); + }); +</script> \ No newline at end of file -- Gitblit v1.9.1