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