From df998a061e22b13297e02eee97e2418e4bbeaa1a Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Mon, 23 Oct 2023 10:25:57 +0800
Subject: [PATCH] 版本管理
---
src/main/java/cc/mrbird/febs/mall/mapper/ChatUserMapper.java | 4
src/main/java/cc/mrbird/febs/mall/service/impl/AdminChatServiceImpl.java | 26 +++
src/main/java/cc/mrbird/febs/mall/entity/ChatVersion.java | 43 ++++++
src/main/java/cc/mrbird/febs/mall/mapper/ChatVersionMapper.java | 7 +
src/main/java/cc/mrbird/febs/mall/service/IAdminChatService.java | 4
src/main/java/cc/mrbird/febs/mall/controller/ViewChatController.java | 27 +++
src/main/java/cc/mrbird/febs/mall/vo/AdminVersionVo.java | 20 ++
src/main/java/cc/mrbird/febs/mall/controller/AdminChatController.java | 21 ++
src/main/resources/templates/febs/views/modules/chat/versionEdit.html | 112 ++++++++++++++++
src/main/resources/templates/febs/views/modules/chat/versionList.html | 109 +++++++++++++++
src/main/resources/mapper/modules/ChatUserMapper.xml | 13 +
11 files changed, 377 insertions(+), 9 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/AdminChatController.java b/src/main/java/cc/mrbird/febs/mall/controller/AdminChatController.java
index 3f31982..d4bd762 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/AdminChatController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminChatController.java
@@ -11,6 +11,7 @@
import cc.mrbird.febs.mall.service.IAdminChatService;
import cc.mrbird.febs.mall.vo.AdminGroupInfoVo;
import cc.mrbird.febs.mall.vo.AdminRegisterMemberVo;
+import cc.mrbird.febs.mall.vo.AdminVersionVo;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
@@ -206,11 +207,20 @@
}
/**
- * 会员充值
+ * 群组管理
*/
@GetMapping("groupList")
public FebsResponse groupList(ChatUser chatUser, QueryRequest request) {
Map<String, Object> data = getDataTable(iAdminChatService.getGroupList(chatUser, request));
+ return new FebsResponse().success().data(data);
+ }
+
+ /**
+ * 版本管理
+ */
+ @GetMapping("versionTable")
+ public FebsResponse versionTable(ChatUser chatUser, QueryRequest request) {
+ Map<String, Object> data = getDataTable(iAdminChatService.getVersionList(chatUser, request));
return new FebsResponse().success().data(data);
}
@@ -268,6 +278,15 @@
public FebsResponse updateGroupInfo(AdminGroupInfoVo adminGroupInfoVo) {
return iAdminChatService.updateGroupInfo(adminGroupInfoVo);
}
+
+ /**
+ * 版本管理-更新
+ */
+ @PostMapping("updateVersionInfo")
+ @ControllerEndpoint(operation = "版本管理-更新", exceptionMessage = "操作失败")
+ public FebsResponse updateVersionInfo(AdminVersionVo adminVersionVo) {
+ return iAdminChatService.updateVersionInfo(adminVersionVo);
+ }
/**
* 添加会员
*/
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ViewChatController.java b/src/main/java/cc/mrbird/febs/mall/controller/ViewChatController.java
index 3e61cde..94ad52e 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ViewChatController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ViewChatController.java
@@ -12,10 +12,7 @@
import cc.mrbird.febs.mall.mapper.ChatUserMapper;
import cc.mrbird.febs.mall.mapper.DataDictionaryMapper;
import cc.mrbird.febs.mall.service.IAdminMallMemberService;
-import cc.mrbird.febs.mall.vo.AdminChatWalletVo;
-import cc.mrbird.febs.mall.vo.AdminGroupInfoVo;
-import cc.mrbird.febs.mall.vo.AdminRegisterMemberVo;
-import cc.mrbird.febs.mall.vo.MallMemberVo;
+import cc.mrbird.febs.mall.vo.*;
import com.alibaba.fastjson.JSONObject;
import lombok.RequiredArgsConstructor;
import org.apache.shiro.authz.annotation.RequiresPermissions;
@@ -134,6 +131,16 @@
}
/**
+ * 版本管理
+ * @return
+ */
+ @GetMapping("versionList")
+ @RequiresPermissions("versionList:view")
+ public String versionList() {
+ return FebsUtil.view("modules/chat/versionList");
+ }
+
+ /**
* 群组管理-详情
* @return
*/
@@ -146,6 +153,18 @@
}
/**
+ * 群组管理-详情
+ * @return
+ */
+ @GetMapping("versionInfo/{id}")
+ @RequiresPermissions("versionInfo:info")
+ public String versionInfo(@PathVariable long id, Model model) {
+ AdminVersionVo data = chatUserMapper.getVersionInfoById(id);
+ model.addAttribute("versionInfo", data);
+ return FebsUtil.view("modules/chat/versionEdit");
+ }
+
+ /**
* 红包列表
* @return
*/
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/ChatVersion.java b/src/main/java/cc/mrbird/febs/mall/entity/ChatVersion.java
new file mode 100644
index 0000000..299d109
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/entity/ChatVersion.java
@@ -0,0 +1,43 @@
+package cc.mrbird.febs.mall.entity;
+
+import cc.mrbird.febs.common.entity.BaseEntity;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 版本实体类
+ * q3z3
+ * </p>
+ */
+@Data
+@TableName("chat_version")
+public class ChatVersion implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+ /**
+ * 版本
+ */
+ private String version;
+ /**
+ * 地址
+ */
+ private String url;
+ /**
+ * 内容
+ */
+ private String content;
+
+ private String descr;
+
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/ChatUserMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/ChatUserMapper.java
index 0140916..361a1bc 100644
--- a/src/main/java/cc/mrbird/febs/mall/mapper/ChatUserMapper.java
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/ChatUserMapper.java
@@ -43,10 +43,14 @@
IPage<AdminGroupVo> selectGroupListInPage(Page<AdminGroupVo> page, @Param("record")ChatUser chatUser);
+ IPage<AdminVersionVo> selectVersionListInPage(Page<AdminVersionVo> page, @Param("record")ChatUser chatUser);
+
void updateIsRobotByGroupId(@Param("id")String id, @Param("useRobot")int i);
AdminGroupInfoVo getGroupInfoById(@Param("id")long id);
+ AdminVersionVo getVersionInfoById(@Param("id")long id);
+
void updateAutoSendByGroupId(@Param("id")String id, @Param("autoSend")int i);
IPage<AdminRedBagVo> selectRedBagListInPage(Page<AdminRedBagVo> page, @Param("record")ChatUser chatUser);
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/ChatVersionMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/ChatVersionMapper.java
new file mode 100644
index 0000000..36d8704
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/ChatVersionMapper.java
@@ -0,0 +1,7 @@
+package cc.mrbird.febs.mall.mapper;
+
+import cc.mrbird.febs.mall.entity.ChatVersion;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+public interface ChatVersionMapper extends BaseMapper<ChatVersion> {
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/IAdminChatService.java b/src/main/java/cc/mrbird/febs/mall/service/IAdminChatService.java
index 5d6fb39..8701469 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/IAdminChatService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/IAdminChatService.java
@@ -36,12 +36,16 @@
IPage<AdminGroupVo> getGroupList(ChatUser chatUser, QueryRequest request);
+ IPage<AdminVersionVo> getVersionList(ChatUser chatUser, QueryRequest request);
+
FebsResponse closeSwitchUseRobot(String id);
FebsResponse openSwitchUseRobot(String id);
FebsResponse updateGroupInfo(AdminGroupInfoVo adminGroupInfoVo);
+ FebsResponse updateVersionInfo(AdminVersionVo adminVersionVo);
+
FebsResponse registerMember();
FebsResponse openModelType(String userId);
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminChatServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminChatServiceImpl.java
index 70d34c3..286ef51 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminChatServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminChatServiceImpl.java
@@ -6,10 +6,7 @@
import cc.mrbird.febs.mall.YesOrNoEnum;
import cc.mrbird.febs.mall.dto.AdminSystemPayDto;
import cc.mrbird.febs.mall.entity.*;
-import cc.mrbird.febs.mall.mapper.ChatAmountFlowMapper;
-import cc.mrbird.febs.mall.mapper.ChatGroupMapper;
-import cc.mrbird.febs.mall.mapper.ChatUserMapper;
-import cc.mrbird.febs.mall.mapper.DataDictionaryMapper;
+import cc.mrbird.febs.mall.mapper.*;
import cc.mrbird.febs.mall.service.IAdminChatService;
import cc.mrbird.febs.mall.vo.*;
import cc.mrbird.febs.rabbit.producter.AgentProducer;
@@ -35,6 +32,7 @@
private final ChatAmountFlowMapper chatAmountFlowMapper;
private final DataDictionaryMapper dataDictionaryMapper;
private final ChatGroupMapper chatGroupMapper;
+ private final ChatVersionMapper chatVersionMapper;
private final AgentProducer agentProducer;
private final RedisUtils redisUtils;
@@ -196,6 +194,12 @@
}
@Override
+ public IPage<AdminVersionVo> getVersionList(ChatUser chatUser, QueryRequest request) {
+ Page<AdminVersionVo> page = new Page<>(request.getPageNum(), request.getPageSize());
+ return this.baseMapper.selectVersionListInPage(page, chatUser);
+ }
+
+ @Override
public FebsResponse closeSwitchUseRobot(String id) {
this.baseMapper.updateIsRobotByGroupId(id,0);
return new FebsResponse().success();
@@ -222,6 +226,20 @@
}
@Override
+ public FebsResponse updateVersionInfo(AdminVersionVo adminVersionVo) {
+ ChatVersion chatVersion = chatVersionMapper.selectById(adminVersionVo.getId());
+ if(ObjectUtil.isEmpty(chatVersion)) {
+ return new FebsResponse().fail().message("信息不存在");
+ }
+ chatVersion.setVersion(adminVersionVo.getVersion());
+ chatVersion.setContent(adminVersionVo.getContent());
+ chatVersion.setUrl(adminVersionVo.getUrl());
+ chatVersion.setDescr(adminVersionVo.getDescr());
+ chatVersionMapper.updateById(chatVersion);
+ return new FebsResponse().success();
+ }
+
+ @Override
public FebsResponse registerMember() {
agentProducer.sendAddRobotMsg("20845477");
return new FebsResponse().success();
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/AdminVersionVo.java b/src/main/java/cc/mrbird/febs/mall/vo/AdminVersionVo.java
new file mode 100644
index 0000000..a6c35f4
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/vo/AdminVersionVo.java
@@ -0,0 +1,20 @@
+package cc.mrbird.febs.mall.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class AdminVersionVo {
+
+ private Long id;
+
+ private String version;
+
+ private String url;
+
+ private String content;
+
+ private String descr;
+}
diff --git a/src/main/resources/mapper/modules/ChatUserMapper.xml b/src/main/resources/mapper/modules/ChatUserMapper.xml
index 7f16fce..a9c4960 100644
--- a/src/main/resources/mapper/modules/ChatUserMapper.xml
+++ b/src/main/resources/mapper/modules/ChatUserMapper.xml
@@ -203,6 +203,12 @@
order by a.create_time desc
</select>
+ <select id="selectVersionListInPage" resultType="cc.mrbird.febs.mall.vo.AdminVersionVo">
+ select
+ a.*
+ from chat_version a
+ </select>
+
<update id="updateIsRobotByGroupId">
update chat_group
set
@@ -226,6 +232,13 @@
where id = #{id}
</select>
+ <select id="getVersionInfoById" resultType="cc.mrbird.febs.mall.vo.AdminVersionVo">
+ select
+ a.*
+ from chat_version a
+ where id = #{id}
+ </select>
+
<update id="updateAutoSendByGroupId">
update chat_group
set
diff --git a/src/main/resources/templates/febs/views/modules/chat/versionEdit.html b/src/main/resources/templates/febs/views/modules/chat/versionEdit.html
new file mode 100644
index 0000000..869b72e
--- /dev/null
+++ b/src/main/resources/templates/febs/views/modules/chat/versionEdit.html
@@ -0,0 +1,112 @@
+<style>
+ #febs-version-edit {
+ padding: 20px 25px 25px 0;
+ }
+
+ #febs-version-edit .layui-treeSelect .ztree li a, .ztree li span {
+ margin: 0 0 2px 3px !important;
+ }
+ #febs-version-edit #data-permission-tree-block {
+ border: 1px solid #eee;
+ border-radius: 2px;
+ padding: 3px 0;
+ }
+ #febs-version-edit .layui-treeSelect .ztree li span.button.switch {
+ top: 1px;
+ left: 3px;
+ }
+ #febs-version-edit img{
+ max-width:100px
+ }
+
+</style>
+<div class="layui-fluid" id="febs-version-edit">
+ <form class="layui-form" action="" lay-filter="febs-version-edit-form">
+ <div class="layui-form-item febs-hide">
+ <label class="layui-form-label febs-form-item-require">id:</label>
+ <div class="layui-input-block">
+ <input type="text" name="id" data-th-value="${versionInfo.id}">
+ </div>
+ </div>
+ <blockquote class="layui-elem-quote blue-border">基本信息</blockquote>
+
+ <div class="layui-row layui-col-space10 layui-form-item">
+ <div class="layui-col-lg6">
+ <label class="layui-form-label febs-form-item-require">版本:</label>
+ <div class="layui-input-block">
+ <input type="text" name="version" autocomplete="off" class="layui-input">
+ </div>
+ </div>
+ </div>
+
+ <div class="layui-row layui-col-space10 layui-form-item">
+ <div class="layui-col-lg6">
+ <label class="layui-form-label febs-form-item-require">地址:</label>
+ <div class="layui-input-block">
+ <input type="text" name="url" autocomplete="off" class="layui-input">
+ </div>
+ </div>
+ </div>
+
+ <div class="layui-row layui-col-space10 layui-form-item">
+ <div class="layui-col-lg6">
+ <label class="layui-form-label febs-form-item-require">内容:</label>
+ <div class="layui-input-block">
+ <input type="text" name="content" autocomplete="off" class="layui-input">
+ </div>
+ </div>
+ </div>
+
+ <div class="layui-row layui-col-space10 layui-form-item">
+ <div class="layui-col-lg6">
+ <label class="layui-form-label febs-form-item-require">描述:</label>
+ <div class="layui-input-block">
+ <input type="text" name="descr" autocomplete="off" class="layui-input">
+ </div>
+ </div>
+ </div>
+
+ <div class="layui-form-item febs-hide">
+ <button class="layui-btn" lay-submit="" lay-filter="febs-version-edit-form-submit" id="submit"></button>
+ </div>
+ </form>
+</div>
+
+<script data-th-inline="javascript">
+ layui.use(['febs', 'form', 'formSelects', 'validate', 'treeSelect', 'eleTree','layedit', 'laydate', 'upload'], function () {
+ var $ = layui.$,
+ febs = layui.febs,
+ layer = layui.layer,
+ upload = layui.upload,
+ formSelects = layui.formSelects,
+ form = layui.form,
+ laydate = layui.laydate,
+ layedit = layui.layedit,
+ versionInfo = [[${versionInfo}]],
+ $view = $('#febs-version-edit');
+
+ initVersionInfoValue();
+
+ form.render();
+
+ formSelects.render();
+ form.on('submit(febs-version-edit-form-submit)', function (data) {
+ febs.post(ctx + 'admin/chat/updateVersionInfo', data.field, function () {
+ layer.closeAll();
+ febs.alert.success('操作成功');
+ $('#febs-version-list').find('#reset').click();
+ });
+ return false;
+ });
+
+ function initVersionInfoValue() {
+ form.val("febs-version-edit-form", {
+ "id": versionInfo.id,
+ "version": versionInfo.version,
+ "url": versionInfo.url,
+ "content": versionInfo.content,
+ "descr": versionInfo.descr,
+ });
+ }
+ });
+</script>
\ No newline at end of file
diff --git a/src/main/resources/templates/febs/views/modules/chat/versionList.html b/src/main/resources/templates/febs/views/modules/chat/versionList.html
new file mode 100644
index 0000000..3dbd307
--- /dev/null
+++ b/src/main/resources/templates/febs/views/modules/chat/versionList.html
@@ -0,0 +1,109 @@
+<div class="layui-fluid layui-anim febs-anim" id="febs-version-list" lay-title="版本管理">
+ <div class="layui-row febs-container">
+ <div class="layui-col-md12">
+ <div class="layui-card">
+ <div class="layui-card-body febs-table-full">
+ <form class="layui-form layui-table-form" lay-filter="group-table-form">
+ <div class="layui-row">
+ <div class="layui-col-md2 layui-col-sm12 layui-col-xs12 table-action-area">
+ <div class="layui-btn layui-btn-sm layui-btn-primary febs-button-blue-plain table-action" id="query">
+ <i class="layui-icon"></i>
+ </div>
+ <div class="layui-btn layui-btn-sm layui-btn-primary febs-button-green-plain table-action" id="reset">
+ <i class="layui-icon"></i>
+ </div>
+ </div>
+ </div>
+ </form>
+ <table lay-filter="versionTable" lay-data="{id: 'versionTable'}"></table>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
+<style>
+ .layui-form-onswitch {
+ background-color: #5FB878 !important;
+ }
+</style>
+<!-- 表格操作栏 end -->
+<script data-th-inline="none" type="text/javascript">
+ // 引入组件并初始化
+ layui.use([ 'jquery', 'form', 'table', 'febs'], function () {
+ var $ = layui.jquery,
+ febs = layui.febs,
+ form = layui.form,
+ table = layui.table,
+ $view = $('#febs-version-list'),
+ $query = $view.find('#query'),
+ $reset = $view.find('#reset'),
+ $searchForm = $view.find('form'),
+ sortObject = {field: 'phone', type: null},
+ tableIns;
+
+ form.render();
+ let currPageGroup = 1;//首先默认值为1,防止出错
+ //获取当前页
+ currPageGroup = $view.find(".layui-laypage-em").next().html();
+
+ // 表格初始化
+ initTable();
+ table.on('tool(versionTable)', function (obj) {
+ var data = obj.data,
+ layEvent = obj.event;
+ if (layEvent === 'editVersion') {
+ febs.modal.open('编辑', 'modules/chat/versionInfo/' + data.id, {
+ btn: ['提交', '取消'],
+ // area:['100%','100%'],
+ yes: function (index, layero) {
+ $('#febs-version-edit').find('#submit').trigger('click');
+ },
+ btn2: function () {
+ layer.closeAll();
+ }
+ });
+ }
+ });
+
+ // 查询按钮
+ $query.on('click', function () {
+ var params = $.extend(getQueryParams(), {field: sortObject.field, order: sortObject.type});
+ tableIns.reload({where: params, page: {curr: 1}});
+ });
+
+ // 刷新按钮
+ $reset.on('click', function () {
+ $searchForm[0].reset();
+ sortObject.type = 'null';
+ tableIns.reload({where: getQueryParams(), page: {curr: currPageGroup}, initSort: sortObject});
+ });
+
+ // 获取查询参数
+ function getQueryParams() {
+ return {
+ name: $searchForm.find('input[name="name"]').val().trim(),
+ };
+ }
+
+ function initTable() {
+ tableIns = febs.table.init({
+ elem: $view.find('table'),
+ id: 'versionTable',
+ url: ctx + 'admin/chat/versionTable',
+ cols: [[
+ {field: 'id', title: '编号', minWidth: 100,align:'center'},
+ {field: 'version', title: '名称', minWidth: 150,align:'center'},
+ {field: 'url', title: '地址', minWidth: 150,align:'center'},
+ {field: 'content', title: '内容', minWidth: 150,align:'center'},
+ {field: 'descr', title: '描述', minWidth: 100,align:'center'},
+ {title: '操作',
+ templet: function (d) {
+ return '<button class="layui-btn layui-btn-normal layui-btn-xs layui-btn-success" lay-event="editVersion" shiro:hasPermission="editVersion:info">编辑</button>'
+ },minWidth: 150,align:'center'}
+ ]]
+ });
+ }
+
+
+ })
+</script>
\ No newline at end of file
--
Gitblit v1.9.1