From c4bf5ac4f2316110c416fbf4cdec1dddc91f5860 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Thu, 12 Oct 2023 10:44:20 +0800
Subject: [PATCH] redbagprod
---
src/main/java/cc/mrbird/febs/mall/mapper/ChatUserMapper.java | 2
src/main/java/cc/mrbird/febs/mall/service/impl/AdminChatServiceImpl.java | 26 +++++
src/main/resources/templates/febs/views/modules/chat/userList.html | 63 +++++++++++-
src/main/java/cc/mrbird/febs/mall/service/IAdminChatService.java | 6 +
src/main/java/cc/mrbird/febs/rabbit/producter/AgentProducer.java | 4
src/main/java/cc/mrbird/febs/mall/controller/ViewChatController.java | 16 ++
src/main/java/cc/mrbird/febs/mall/entity/ChatUser.java | 4
src/main/java/cc/mrbird/febs/mall/vo/AdminRegisterMemberVo.java | 10 ++
src/main/java/cc/mrbird/febs/mall/controller/AdminChatController.java | 33 ++++++
src/main/resources/mapper/modules/ChatUserMapper.xml | 8 +
src/main/resources/application.yml | 2
src/main/resources/templates/febs/views/modules/chat/mallRegisterMember.html | 76 +++++++++++++++
12 files changed, 240 insertions(+), 10 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 8da5240..6ab9073 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/AdminChatController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminChatController.java
@@ -10,6 +10,7 @@
import cc.mrbird.febs.mall.entity.MallMember;
import cc.mrbird.febs.mall.service.IAdminChatService;
import cc.mrbird.febs.mall.vo.AdminGroupInfoVo;
+import cc.mrbird.febs.mall.vo.AdminRegisterMemberVo;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
@@ -41,6 +42,29 @@
public FebsResponse getUserList(ChatUser chatUser, QueryRequest request) {
Map<String, Object> data = getDataTable(iAdminChatService.getUserList(chatUser, request));
return new FebsResponse().success().data(data);
+ }
+
+ /**
+ * 用户列表---开启
+ *
+ * @param userId
+ * @return
+ */
+ @GetMapping("openModelType/{userId}")
+ @ControllerEndpoint(operation = "会员列表---开启", exceptionMessage = "操作失败")
+ public FebsResponse openModelType(@NotNull(message = "{required}") @PathVariable String userId) {
+ return iAdminChatService.openModelType(userId);
+ }
+ /**
+ * 用户列表---关闭
+ *
+ * @param userId
+ * @return
+ */
+ @GetMapping("closeModelType/{userId}")
+ @ControllerEndpoint(operation = "会员列表---关闭", exceptionMessage = "操作失败")
+ public FebsResponse closeModelType(@NotNull(message = "{required}") @PathVariable String userId) {
+ return iAdminChatService.closeModelType(userId);
}
/**
@@ -206,4 +230,13 @@
public FebsResponse registerMember() {
return iAdminChatService.registerMember();
}
+
+ /**
+ * 用户列表-添加会员
+ */
+ @PostMapping("updateRegisterMember")
+ @ControllerEndpoint(operation = "会员列表-添加会员", exceptionMessage = "操作失败")
+ public FebsResponse updateRegisterMember(@Valid AdminRegisterMemberVo adminRegisterMemberVo) {
+ return iAdminChatService.updateRegisterMember(adminRegisterMemberVo);
+ }
}
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 9378ff8..67ffb48 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ViewChatController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ViewChatController.java
@@ -14,6 +14,7 @@
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 com.alibaba.fastjson.JSONObject;
import lombok.RequiredArgsConstructor;
@@ -48,11 +49,22 @@
}
/**
- * 用户列表-系统拨付
- * @param userId
+ * 用户列表-新增会员
* @param model
* @return
*/
+ @GetMapping("mallRegisterMember/{inviteId}")
+ @RequiresPermissions("mallRegisterMember:update")
+ public String mallRegisterMember(@PathVariable String inviteId, Model model) {
+ AdminRegisterMemberVo data = new AdminRegisterMemberVo();
+ data.setInviteId(inviteId);
+ model.addAttribute("mallRegisterMember", data);
+ return FebsUtil.view("modules/chat/mallRegisterMember");
+ }
+
+ /**
+ * 用户列表-系统拨付
+ */
@GetMapping("mallSystemPay/{userId}")
@RequiresPermissions("mallSystemPay:update")
public String systemPay(@PathVariable String userId, Model model) {
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/ChatUser.java b/src/main/java/cc/mrbird/febs/mall/entity/ChatUser.java
index 23435eb..2e433b0 100644
--- a/src/main/java/cc/mrbird/febs/mall/entity/ChatUser.java
+++ b/src/main/java/cc/mrbird/febs/mall/entity/ChatUser.java
@@ -124,6 +124,10 @@
@TableField(exist = false)
private Integer state;
+ /**
+ * 模式类型 1:简单模式-正常模式 2:困难模式
+ */
+ private Integer modelType;
}
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 aae8f3a..90e02ce 100644
--- a/src/main/java/cc/mrbird/febs/mall/mapper/ChatUserMapper.java
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/ChatUserMapper.java
@@ -37,6 +37,8 @@
void updateIsRobotByUserId(@Param("userId")String userId, @Param("isRobot")int i);
+ void updateModelTypeByUserId(@Param("userId")String userId, @Param("modelType")int i);
+
DataDictionary selectDicDataByTypeAndCode(@Param("type") String type, @Param("code") String code);
IPage<AdminGroupVo> selectGroupListInPage(Page<AdminGroupVo> page, @Param("record")ChatUser chatUser);
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 b03500b..15e4b7f 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/IAdminChatService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/IAdminChatService.java
@@ -43,4 +43,10 @@
FebsResponse updateGroupInfo(AdminGroupInfoVo adminGroupInfoVo);
FebsResponse registerMember();
+
+ FebsResponse openModelType(String userId);
+
+ FebsResponse closeModelType(String userId);
+
+ FebsResponse updateRegisterMember(AdminRegisterMemberVo adminRegisterMemberVo);
}
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 2e91adf..9f8f4e4 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
@@ -226,4 +226,30 @@
agentProducer.sendAddRobotMsg("20845477");
return new FebsResponse().success();
}
+
+ @Override
+ public FebsResponse openModelType(String userId) {
+ ChatUser chatUser = this.baseMapper.selectByUserId(userId);
+ if(ObjectUtil.isEmpty(chatUser)) {
+ return new FebsResponse().fail().message("会员信息不存在");
+ }
+ this.baseMapper.updateModelTypeByUserId(userId,1);
+ return new FebsResponse().success();
+ }
+
+ @Override
+ public FebsResponse closeModelType(String userId) {
+ ChatUser chatUser = this.baseMapper.selectByUserId(userId);
+ if(ObjectUtil.isEmpty(chatUser)) {
+ return new FebsResponse().fail().message("会员信息不存在");
+ }
+ this.baseMapper.updateModelTypeByUserId(userId,2);
+ return new FebsResponse().success();
+ }
+
+ @Override
+ public FebsResponse updateRegisterMember(AdminRegisterMemberVo adminRegisterMemberVo) {
+ agentProducer.sendAddRobotMsg(adminRegisterMemberVo.getInviteId());
+ return new FebsResponse().success();
+ }
}
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/AdminRegisterMemberVo.java b/src/main/java/cc/mrbird/febs/mall/vo/AdminRegisterMemberVo.java
new file mode 100644
index 0000000..7e8e24a
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/vo/AdminRegisterMemberVo.java
@@ -0,0 +1,10 @@
+package cc.mrbird.febs.mall.vo;
+
+import lombok.Data;
+
+@Data
+public class AdminRegisterMemberVo {
+
+ private String inviteId;
+
+}
diff --git a/src/main/java/cc/mrbird/febs/rabbit/producter/AgentProducer.java b/src/main/java/cc/mrbird/febs/rabbit/producter/AgentProducer.java
index 1ccf8ea..fa8fc7c 100644
--- a/src/main/java/cc/mrbird/febs/rabbit/producter/AgentProducer.java
+++ b/src/main/java/cc/mrbird/febs/rabbit/producter/AgentProducer.java
@@ -47,10 +47,10 @@
}
/**
- * 添加机器人
+ * 添加会员
*/
public void sendAddRobotMsg(String inviteId) {
- log.info("发送机器人自动抢红包ID:{}", inviteId);
+ log.info("添加会员:{}", inviteId);
CorrelationData correlationData = new CorrelationData(IdUtil.simpleUUID());
rabbitTemplate.convertAndSend(RabbitQueueEnum.IM_REDBAG_GET_ADD_ROBOT.getExchange(),
RabbitQueueEnum.IM_REDBAG_GET_ADD_ROBOT.getRoute(),
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 08d60c0..4d4f4a5 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -1,5 +1,5 @@
server:
- port: 8098
+ port: 8095
tomcat:
uri-encoding: utf-8
diff --git a/src/main/resources/mapper/modules/ChatUserMapper.xml b/src/main/resources/mapper/modules/ChatUserMapper.xml
index b1172ca..cf2b4c5 100644
--- a/src/main/resources/mapper/modules/ChatUserMapper.xml
+++ b/src/main/resources/mapper/modules/ChatUserMapper.xml
@@ -7,6 +7,7 @@
a.user_id userId,
a.nick_name nickName,
a.chat_no chatNo,
+ a.model_type modelType,
a.phone phone,
a.status status,
a.invite_id inviteId,
@@ -164,6 +165,13 @@
where user_id = #{userId}
</update>
+ <update id="updateModelTypeByUserId">
+ update chat_user
+ set
+ model_type = #{modelType}
+ where user_id = #{userId}
+ </update>
+
<select id="selectDicDataByTypeAndCode" resultType="cc.mrbird.febs.mall.entity.DataDictionary">
select * from data_dictionary a
where a.type=#{type} and a.code=#{code}
diff --git a/src/main/resources/templates/febs/views/modules/chat/mallRegisterMember.html b/src/main/resources/templates/febs/views/modules/chat/mallRegisterMember.html
new file mode 100644
index 0000000..ce23b5d
--- /dev/null
+++ b/src/main/resources/templates/febs/views/modules/chat/mallRegisterMember.html
@@ -0,0 +1,76 @@
+<style>
+ #chat-register-member {
+ padding: 20px 25px 25px 0;
+ }
+
+ #chat-register-member .layui-treeSelect .ztree li a, .ztree li span {
+ margin: 0 0 2px 3px !important;
+ }
+ #chat-register-member #data-permission-tree-block {
+ border: 1px solid #eee;
+ border-radius: 2px;
+ padding: 3px 0;
+ }
+ #chat-register-member .layui-treeSelect .ztree li span.button.switch {
+ top: 1px;
+ left: 3px;
+ }
+ #chat-register-member img{
+ max-width:100px
+ }
+
+</style>
+<div class="layui-fluid" id="chat-register-member">
+ <form class="layui-form" action="" lay-filter="chat-register-member-form">
+ <div class="layui-form-item">
+ <label class="layui-form-label febs-form-item-require">邀请码:</label>
+ <div class="layui-input-block">
+ <input type="text" name="inviteId" lay-verify="required" autocomplete="off" class="layui-input" readonly>
+ </div>
+ </div>
+ <div class="layui-form-item febs-hide">
+ <button class="layui-btn" lay-submit="" lay-filter="chat-register-member-form-submit" id="submit"></button>
+ </div>
+ </form>
+</div>
+
+<script data-th-inline="javascript">
+ layui.use(['febs', 'form', 'formSelects', 'validate', 'treeSelect', 'eleTree', 'laydate'], function () {
+ var $ = layui.$,
+ febs = layui.febs,
+ layer = layui.layer,
+ formSelects = layui.formSelects,
+ treeSelect = layui.treeSelect,
+ form = layui.form,
+ laydate = layui.laydate,
+ eleTree = layui.eleTree,
+ mallRegisterMember = [[${mallRegisterMember}]],
+ $view = $('#chat-register-member'),
+ validate = layui.validate;
+
+ form.render();
+ laydate.render({
+ elem: '#febs-form-group-date'
+ });
+
+ formSelects.render();
+
+
+ initUserValue();
+
+ function initUserValue() {
+ form.val("chat-register-member-form", {
+ "inviteId": mallRegisterMember.inviteId,
+ });
+ }
+
+ form.on('submit(chat-register-member-form-submit)', function (data) {
+ febs.post(ctx + 'admin/chat/updateRegisterMember', data.field, function () {
+ layer.closeAll();
+ febs.alert.success('操作成功');
+ $('#febs-chat-user-list').find('#query').click();
+ });
+ return false;
+ });
+ });
+</script>
\ No newline at end of file
diff --git a/src/main/resources/templates/febs/views/modules/chat/userList.html b/src/main/resources/templates/febs/views/modules/chat/userList.html
index 2816edb..e9b1750 100644
--- a/src/main/resources/templates/febs/views/modules/chat/userList.html
+++ b/src/main/resources/templates/febs/views/modules/chat/userList.html
@@ -69,6 +69,13 @@
<input type="checkbox" value={{d.userId}} lay-text="是|否" lay-skin="switch" lay-filter="switchIsRobot">
{{# } }}
</script>
+<script type="text/html" id="switchModelType">
+ {{# if(d.modelType === 1) { }}
+ <input type="checkbox" value={{d.userId}} lay-text="简单模式|困难模式" checked lay-skin="switch" lay-filter="switchModelType">
+ {{# } else { }}
+ <input type="checkbox" value={{d.userId}} lay-text="简单模式|困难模式" lay-skin="switch" lay-filter="switchModelType">
+ {{# } }}
+</script>
<style>
.layui-form-onswitch {
background-color: #5FB878 !important;
@@ -76,7 +83,7 @@
</style>
<script type="text/html" id="toolbar">
<div class="layui-btn-container">
- <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" lay-event="registerMember">添加机器人</button>
+ <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" lay-event="registerMember">添加会员</button>
<button class="layui-btn layui-btn-normal layui-btn-sm" type="button" lay-event="balance">拨付余额</button>
</div>
</script>
@@ -140,6 +147,7 @@
{field: 'avaAmount', title: '账户余额', minWidth: 80,align:'left',totalRow: '{{= parseInt(d.avaAmount) }}',align:'center'},
{field: 'status', title: '账号状态', templet: '#switchStatus', minWidth: 80,align:'center'},
{field: 'isRobot', title: '机器人', templet: '#switchIsRobot', minWidth: 80,align:'center'},
+ {field: 'modelType', title: '模式', templet: '#switchModelType', minWidth: 80,align:'center'},
{field: 'createTime', title: '注册时间', minWidth: 180,align:'center'},
]]
});
@@ -149,11 +157,24 @@
var data = obj.data,
layEvent = obj.event;
+ // if (layEvent === 'registerMember') {
+ // febs.get(ctx + 'admin/chat/registerMember/', null, function () {
+ // febs.alert.success('操作成功');
+ // $query.click();
+ // });
+ // }
+
if (layEvent === 'registerMember') {
- febs.get(ctx + 'admin/chat/registerMember/', null, function () {
- febs.alert.success('操作成功');
- $query.click();
- });
+ var checkData = table.checkStatus('userChatTable').data;
+ if (checkData.length <= 0) {
+ febs.alert.warn('请选择需要的用户');
+ return;
+ }
+ if (checkData.length > 1) {
+ febs.alert.warn('请选择一个用户');
+ return;
+ }
+ registerMember("添加会员", checkData[0].inviteId, 1);
}
if (layEvent === 'balance') {
@@ -170,6 +191,18 @@
}
});
+ function registerMember(text, inviteId, type) {
+ febs.modal.open(text, 'modules/chat/mallRegisterMember/'+ inviteId, {
+ btn: ['提交', '取消'],
+ yes: function (index, layero) {
+ $('#chat-register-member').find('#submit').trigger('click');
+ },
+ btn2: function () {
+ layer.closeAll();
+ }
+ });
+ }
+
function systemPay(text, userId, type) {
febs.modal.open(text, 'modules/chat/mallSystemPay/'+ userId, {
btn: ['提交', '取消'],
@@ -182,6 +215,26 @@
});
}
+ form.on('switch(switchModelType)', function (data) {
+ if (data.elem.checked) {
+ openModelType(data.value);
+ } else {
+ closeModelType(data.value);
+ }
+ })
+ function openModelType(userId) {
+ febs.get(ctx + 'admin/chat/openModelType/' + userId, null, function () {
+ febs.alert.success('操作成功');
+ $query.click();
+ });
+ }
+ function closeModelType(userId) {
+ febs.get(ctx + 'admin/chat/closeModelType/' + userId, null, function () {
+ febs.alert.success('操作成功');
+ $query.click();
+ });
+ }
+
form.on('switch(switchStatus)', function (data) {
if (data.elem.checked) {
openAccount(data.value);
--
Gitblit v1.9.1