From 18fb219ee5ed5c267665b4c84d2306eea25349f6 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 10 Oct 2023 16:09:33 +0800
Subject: [PATCH] redbagprod
---
src/main/java/cc/mrbird/febs/mall/mapper/ChatUserMapper.java | 9
src/main/java/cc/mrbird/febs/mall/service/impl/AdminChatServiceImpl.java | 53 ++
src/main/resources/templates/febs/views/modules/chat/groupEdit.html | 136 ++++++++
src/main/java/cc/mrbird/febs/pay/service/impl/PayServiceImplAli.java | 1
src/main/java/cc/mrbird/febs/mall/dto/AdminBasicSettingDto.java | 13
src/main/java/cc/mrbird/febs/rabbit/consumer/AgentConsumer.java | 39 --
src/main/java/cc/mrbird/febs/pay/service/impl/WxPayServiceImpl.java | 2
src/main/java/cc/mrbird/febs/mall/mapper/ChatGroupMapper.java | 7
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java | 4
src/main/resources/application-prod.yml | 2
src/main/java/cc/mrbird/febs/mall/controller/AdminChatController.java | 59 +++
src/main/java/cc/mrbird/febs/mall/entity/ChatAmountFlow.java | 3
src/main/resources/templates/febs/views/modules/chat/basicSetting.html | 73 ++++
src/main/resources/mapper/modules/ChatUserMapper.xml | 52 +++
src/main/java/cc/mrbird/febs/common/configure/RabbitConfigure.java | 92 -----
src/main/java/cc/mrbird/febs/mall/entity/ChatGroup.java | 69 ++++
src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java | 7
src/main/java/cc/mrbird/febs/mall/service/IAdminChatService.java | 15
src/main/java/cc/mrbird/febs/rabbit/producter/AgentProducer.java | 31 -
src/main/java/cc/mrbird/febs/mall/vo/AdminGroupVo.java | 41 ++
src/main/java/cc/mrbird/febs/rabbit/enumerates/RabbitQueueEnum.java | 7
src/main/java/cc/mrbird/febs/mall/controller/ViewChatController.java | 54 +++
src/main/java/cc/mrbird/febs/pay/controller/UnipayController.java | 4
src/main/java/cc/mrbird/febs/mall/vo/AdminGroupInfoVo.java | 37 ++
src/main/java/cc/mrbird/febs/mall/entity/ChatUser.java | 3
src/main/java/cc/mrbird/febs/mall/entity/DataDictionary.java | 30 +
src/main/resources/templates/febs/views/modules/chat/groupList.html | 164 +++++++++
src/main/java/cc/mrbird/febs/mall/mapper/DataDictionaryMapper.java | 7
28 files changed, 817 insertions(+), 197 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/common/configure/RabbitConfigure.java b/src/main/java/cc/mrbird/febs/common/configure/RabbitConfigure.java
index 1e7d307..c744e5e 100644
--- a/src/main/java/cc/mrbird/febs/common/configure/RabbitConfigure.java
+++ b/src/main/java/cc/mrbird/febs/common/configure/RabbitConfigure.java
@@ -31,96 +31,4 @@
return new RabbitTemplate(connectionFactory);
}
- @Bean
- public DirectExchange defaultExchange() {
- return new DirectExchange(ExchangeConstants.EXCHANGE_DEFAULT);
- }
-
- @Bean
- public Queue defaultQueue() {
- return new Queue(QueueConstants.QUEUE_DEFAULT);
- }
-
- @Bean
- public Binding defaultBind() {
- return BindingBuilder.bind(defaultQueue()).to(defaultExchange()).with(RouteKeyConstants.ROUTE_KEY_DEFAULT);
- }
-
- @Bean
- public DirectExchange delayTtlExchange() {
- return new DirectExchange(RabbitQueueEnum.ORDER_CANCEL_DELAY_TTL.getExchange());
- }
-
- @Bean
- public DirectExchange orderDelayExchange() {
- return new DirectExchange(RabbitQueueEnum.ORDER_CANCEL_DELAY.getExchange());
- }
-
- @Bean
- public Queue orderDelayQueue() {
- return new Queue(RabbitQueueEnum.ORDER_CANCEL_DELAY.getQueue());
- }
-
- @Bean
- public Queue orderDelayQueueTtl() {
- return QueueBuilder.durable(RabbitQueueEnum.ORDER_CANCEL_DELAY_TTL.getQueue())
- //到期后转发的交换机
- .withArgument("x-dead-letter-exchange", RabbitQueueEnum.ORDER_CANCEL_DELAY.getExchange())
- //到期后转发的路由键
- .withArgument("x-dead-letter-routing-key", RabbitQueueEnum.ORDER_CANCEL_DELAY.getRoute())
- .build();
- }
-
- @Bean
- public Binding orderDelayBind() {
- return BindingBuilder.bind(orderDelayQueue()).to(orderDelayExchange()).with(RabbitQueueEnum.ORDER_CANCEL_DELAY.getRoute());
- }
-
- @Bean
- public Binding orderDelayBindTtl() {
- return BindingBuilder.bind(orderDelayQueueTtl()).to(delayTtlExchange()).with(RabbitQueueEnum.ORDER_CANCEL_DELAY_TTL.getRoute());
- }
-
- @Bean
- public Queue autoLevelUpAgentQueue() {
- return new Queue(QueueConstants.AGENT_AUTO_LEVEL_UP);
- }
-
- @Bean
- public Binding autoLevelUpBind() {
- return BindingBuilder.bind(autoLevelUpAgentQueue()).to(defaultExchange()).with(RouteKeyConstants.ROUTE_KEY_DEFAULT);
- }
- // 订单返利 开始
- @Bean
- public DirectExchange agentReturnMoneyExchange() {
- return new DirectExchange(RabbitQueueEnum.AGENT_RETURN_MONEY.getExchange());
- }
-
- @Bean
- public Queue agentReturnMoneyQueue() {
- return new Queue(QueueConstants.AGENT_RETURN_MONEY);
- }
-
- @Bean
- public Binding agentReturnMoneyBind() {
- return BindingBuilder.bind(agentReturnMoneyQueue()).to(agentReturnMoneyExchange()).with(RabbitQueueEnum.AGENT_RETURN_MONEY.getRoute());
- }
- // 订单返利 结束
-
-
- @Bean
- public DirectExchange orderReturnMoneyExchange() {
- return new DirectExchange(RabbitQueueEnum.ORDER_RETURN_MONEY.getExchange());
- }
-
- @Bean
- public Queue orderReturnMoneyQueue() {
- return new Queue(QueueConstants.ORDER_RETURN_MONEY);
- }
-
- @Bean
- public Binding orderReturnMoneyBind() {
- return BindingBuilder.bind(orderReturnMoneyQueue()).to(orderReturnMoneyExchange()).with(RabbitQueueEnum.ORDER_RETURN_MONEY.getRoute());
- }
-
}
diff --git a/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java b/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java
index 2c105ef..d164dd2 100644
--- a/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java
+++ b/src/main/java/cc/mrbird/febs/common/enumerates/DataDictionaryEnum.java
@@ -6,6 +6,13 @@
@Getter
public enum DataDictionaryEnum {
+
+ /**
+ * 模式类型
+ * 1:简单模式-正常模式
+ * 2:困难模式
+ */
+ MODEL_TYPE("MODEL_TYPE", "MODEL_TYPE"),
//积分池设置{"everydayRatio":10,"dividEquallyRatio":1}每日订单的百分之几,增加到积分池;每日平分百分比
SCORE_POOR_RADIO("SCORE_POOR", "SCORE_POOR_RADIO"),
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 6691826..7c0ceed 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/AdminChatController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminChatController.java
@@ -4,11 +4,12 @@
import cc.mrbird.febs.common.controller.BaseController;
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.entity.QueryRequest;
-import cc.mrbird.febs.mall.dto.AdminSystemPayDto;
-import cc.mrbird.febs.mall.dto.MallSystemPayDto;
+import cc.mrbird.febs.common.enumerates.DataDictionaryEnum;
+import cc.mrbird.febs.mall.dto.*;
import cc.mrbird.febs.mall.entity.ChatUser;
import cc.mrbird.febs.mall.entity.MallMember;
import cc.mrbird.febs.mall.service.IAdminChatService;
+import cc.mrbird.febs.mall.vo.AdminGroupInfoVo;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
@@ -66,7 +67,7 @@
}
/**
- * 用户列表---开启
+ * 是否是机器人---开启
*
* @param userId
* @return
@@ -77,7 +78,7 @@
return iAdminChatService.openSwitchIsRobot(userId);
}
/**
- * 用户列表---关闭
+ * 是否是机器人---关闭
*
* @param userId
* @return
@@ -147,4 +148,54 @@
public FebsResponse disagreeEvent(@NotNull(message = "{required}") @PathVariable String id) {
return iAdminChatService.disagreeEvent(id);
}
+
+ @PostMapping(value = "/basicSetting")
+ public FebsResponse basicSetting(AdminBasicSettingDto adminBasicSettingDto) {
+ iAdminChatService.updateDataDic(
+ DataDictionaryEnum.MODEL_TYPE.getType(),
+ DataDictionaryEnum.MODEL_TYPE.getCode(),
+ adminBasicSettingDto.getModelType());
+ return new FebsResponse().success();
+ }
+
+ /**
+ * 会员充值
+ */
+ @GetMapping("groupList")
+ public FebsResponse groupList(ChatUser chatUser, QueryRequest request) {
+ Map<String, Object> data = getDataTable(iAdminChatService.getGroupList(chatUser, request));
+ return new FebsResponse().success().data(data);
+ }
+
+ /**
+ * 使用机器人---开启
+ *
+ * @param id
+ * @return
+ */
+ @GetMapping("openSwitchUseRobot/{id}")
+ @ControllerEndpoint(operation = "会员列表---开启", exceptionMessage = "操作失败")
+ public FebsResponse openSwitchUseRobot(@NotNull(message = "{required}") @PathVariable String id) {
+ return iAdminChatService.openSwitchUseRobot(id);
+ }
+ /**
+ * 使用机器人---关闭
+ *
+ * @param id
+ * @return
+ */
+ @GetMapping("closeSwitchUseRobot/{id}")
+ @ControllerEndpoint(operation = "会员列表---关闭", exceptionMessage = "操作失败")
+ public FebsResponse closeSwitchUseRobot(@NotNull(message = "{required}") @PathVariable String id) {
+ return iAdminChatService.closeSwitchUseRobot(id);
+ }
+
+ /**
+ * 群组管理-更新
+ */
+ @PostMapping("updateGroupInfo")
+ @ControllerEndpoint(operation = "新闻中心-更新", exceptionMessage = "操作失败")
+ public FebsResponse updateGroupInfo(AdminGroupInfoVo adminGroupInfoVo) {
+ return iAdminChatService.updateGroupInfo(adminGroupInfoVo);
+ }
}
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 cebaa2f..9378ff8 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ViewChatController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ViewChatController.java
@@ -2,11 +2,20 @@
import cc.mrbird.febs.common.controller.BaseController;
import cc.mrbird.febs.common.entity.FebsConstant;
+import cc.mrbird.febs.common.enumerates.DataDictionaryEnum;
import cc.mrbird.febs.common.utils.FebsUtil;
+import cc.mrbird.febs.mall.dto.AdminBasicSettingDto;
+import cc.mrbird.febs.mall.dto.CashOutSettingDto;
+import cc.mrbird.febs.mall.entity.DataDictionary;
+import cc.mrbird.febs.mall.entity.DataDictionaryCustom;
+import cc.mrbird.febs.mall.entity.MallNewsInfo;
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.MallMemberVo;
+import com.alibaba.fastjson.JSONObject;
import lombok.RequiredArgsConstructor;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.stereotype.Controller;
@@ -24,6 +33,9 @@
@Resource
private ChatUserMapper chatUserMapper;
+
+ @Resource
+ private DataDictionaryMapper dataDictionaryMapper;
/**
* 用户列表
@@ -78,4 +90,46 @@
public String chatWithDrawList() {
return FebsUtil.view("modules/chat/chatWithDrawList");
}
+
+ /**
+ * 基础设置
+ * @param model
+ * @return
+ */
+ @GetMapping("basicSetting")
+ @RequiresPermissions("basicSetting:update")
+ public String cashOutSetting(Model model) {
+ AdminBasicSettingDto adminBasicSettingDto = new AdminBasicSettingDto();
+
+ DataDictionary modelTypeDic = chatUserMapper.selectDicDataByTypeAndCode(
+ DataDictionaryEnum.MODEL_TYPE.getType(),
+ DataDictionaryEnum.MODEL_TYPE.getCode());
+ if (modelTypeDic != null) {
+ adminBasicSettingDto.setModelType(modelTypeDic.getValue());
+ }
+ model.addAttribute("basicSet", adminBasicSettingDto);
+ return FebsUtil.view("modules/chat/basicSetting");
+ }
+
+ /**
+ * 群组管理
+ * @return
+ */
+ @GetMapping("groupList")
+ @RequiresPermissions("groupList:view")
+ public String groupList() {
+ return FebsUtil.view("modules/chat/groupList");
+ }
+
+ /**
+ * 群组管理-详情
+ * @return
+ */
+ @GetMapping("groupInfo/{id}")
+ @RequiresPermissions("editGroup:info")
+ public String groupInfo(@PathVariable long id, Model model) {
+ AdminGroupInfoVo data = chatUserMapper.getGroupInfoById(id);
+ model.addAttribute("groupInfo", data);
+ return FebsUtil.view("modules/chat/groupEdit");
+ }
}
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/AdminBasicSettingDto.java b/src/main/java/cc/mrbird/febs/mall/dto/AdminBasicSettingDto.java
new file mode 100644
index 0000000..b8b3f67
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/dto/AdminBasicSettingDto.java
@@ -0,0 +1,13 @@
+package cc.mrbird.febs.mall.dto;
+
+import lombok.Data;
+
+@Data
+public class AdminBasicSettingDto {
+ /**
+ * 模式类型
+ * 1:简单模式-正常模式
+ * 2:困难模式
+ */
+ private String modelType;
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/ChatAmountFlow.java b/src/main/java/cc/mrbird/febs/mall/entity/ChatAmountFlow.java
index bcfb5ec..e5f8989 100644
--- a/src/main/java/cc/mrbird/febs/mall/entity/ChatAmountFlow.java
+++ b/src/main/java/cc/mrbird/febs/mall/entity/ChatAmountFlow.java
@@ -1,5 +1,6 @@
package cc.mrbird.febs.mall.entity;
+import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@@ -16,7 +17,7 @@
/**
* 主键
*/
- @TableId
+ @TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 1:充值 2:提现 3:红包 4:转账 5:创建群聊
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/ChatGroup.java b/src/main/java/cc/mrbird/febs/mall/entity/ChatGroup.java
new file mode 100644
index 0000000..82b7eff
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/entity/ChatGroup.java
@@ -0,0 +1,69 @@
+package cc.mrbird.febs.mall.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * <p>
+ * 群组实体类
+ * q3z3
+ * </p>
+ */
+@Data
+@TableName("chat_group")
+public class ChatGroup {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+
+ @TableId(value = "id",type = IdType.AUTO)
+ private Long id;
+ /**
+ * 群名
+ */
+ private String name;
+ /**
+ * 公告
+ */
+ private String notice;
+ /**
+ * 头像
+ */
+ private String portrait;
+ /**
+ * 群主
+ */
+ private Long master;
+ /**
+ * 创建时间
+ */
+ private Date createTime;
+ /**
+ * 金额下限
+ */
+ private Integer amountMin;
+ /**
+ * 金额上限
+ */
+ private Integer amountMax;
+ /**
+ * 红包个数
+ */
+ private Integer redBagCnt;
+ /**
+ * 是否使用机器人 1:是 0:否
+ */
+ private Integer useRobot;
+ /**
+ * 模式类型 1:简单模式-正常模式 2:困难模式
+ */
+ private Integer modelType;
+
+}
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 09f7039..23435eb 100644
--- a/src/main/java/cc/mrbird/febs/mall/entity/ChatUser.java
+++ b/src/main/java/cc/mrbird/febs/mall/entity/ChatUser.java
@@ -120,6 +120,9 @@
private String address;
@TableField(exist = false)
+ private String name;
+
+ @TableField(exist = false)
private Integer state;
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/DataDictionary.java b/src/main/java/cc/mrbird/febs/mall/entity/DataDictionary.java
new file mode 100644
index 0000000..9eba521
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/entity/DataDictionary.java
@@ -0,0 +1,30 @@
+package cc.mrbird.febs.mall.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.Date;
+
+@Data
+@TableName("data_dictionary")
+public class DataDictionary implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+ private String type;
+
+ private String code;
+
+ private String value;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date createTime;
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/ChatGroupMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/ChatGroupMapper.java
new file mode 100644
index 0000000..78e3b5b
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/ChatGroupMapper.java
@@ -0,0 +1,7 @@
+package cc.mrbird.febs.mall.mapper;
+
+import cc.mrbird.febs.mall.entity.ChatGroup;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+public interface ChatGroupMapper extends BaseMapper<ChatGroup> {
+}
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 cbb40b3..aae8f3a 100644
--- a/src/main/java/cc/mrbird/febs/mall/mapper/ChatUserMapper.java
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/ChatUserMapper.java
@@ -1,6 +1,7 @@
package cc.mrbird.febs.mall.mapper;
import cc.mrbird.febs.mall.entity.ChatUser;
+import cc.mrbird.febs.mall.entity.DataDictionary;
import cc.mrbird.febs.mall.entity.MemberCoinWithdraw;
import cc.mrbird.febs.mall.vo.*;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -35,4 +36,12 @@
void updateAmountFlowListByWithdrawId(@Param("id")String id, @Param("userId")String userId, @Param("state")int i);
void updateIsRobotByUserId(@Param("userId")String userId, @Param("isRobot")int i);
+
+ DataDictionary selectDicDataByTypeAndCode(@Param("type") String type, @Param("code") String code);
+
+ IPage<AdminGroupVo> selectGroupListInPage(Page<AdminGroupVo> page, @Param("record")ChatUser chatUser);
+
+ void updateIsRobotByGroupId(@Param("id")String id, @Param("useRobot")int i);
+
+ AdminGroupInfoVo getGroupInfoById(@Param("id")long id);
}
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/DataDictionaryMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/DataDictionaryMapper.java
new file mode 100644
index 0000000..8d7f907
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/DataDictionaryMapper.java
@@ -0,0 +1,7 @@
+package cc.mrbird.febs.mall.mapper;
+
+import cc.mrbird.febs.mall.entity.DataDictionary;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+public interface DataDictionaryMapper extends BaseMapper<DataDictionary> {
+}
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 620c028..436b7be 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/IAdminChatService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/IAdminChatService.java
@@ -4,10 +4,7 @@
import cc.mrbird.febs.common.entity.QueryRequest;
import cc.mrbird.febs.mall.dto.AdminSystemPayDto;
import cc.mrbird.febs.mall.entity.ChatUser;
-import cc.mrbird.febs.mall.vo.AdminChatAmountFlowVo;
-import cc.mrbird.febs.mall.vo.AdminChatCahrgeVo;
-import cc.mrbird.febs.mall.vo.AdminChatUserVo;
-import cc.mrbird.febs.mall.vo.AdminChatWithDrawVo;
+import cc.mrbird.febs.mall.vo.*;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
@@ -34,4 +31,14 @@
FebsResponse openSwitchIsRobot(String userId);
FebsResponse closeSwitchIsRobot(String userId);
+
+ void updateDataDic(String type, String code, String modelType);
+
+ IPage<AdminGroupVo> getGroupList(ChatUser chatUser, QueryRequest request);
+
+ FebsResponse closeSwitchUseRobot(String id);
+
+ FebsResponse openSwitchUseRobot(String id);
+
+ FebsResponse updateGroupInfo(AdminGroupInfoVo adminGroupInfoVo);
}
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 49a1b50..3c01c3c 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
@@ -5,16 +5,13 @@
import cc.mrbird.febs.common.utils.RedisUtils;
import cc.mrbird.febs.mall.YesOrNoEnum;
import cc.mrbird.febs.mall.dto.AdminSystemPayDto;
-import cc.mrbird.febs.mall.entity.ChatAmountFlow;
-import cc.mrbird.febs.mall.entity.ChatUser;
-import cc.mrbird.febs.mall.entity.MemberCoinWithdraw;
+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.service.IAdminChatService;
-import cc.mrbird.febs.mall.vo.AdminChatAmountFlowVo;
-import cc.mrbird.febs.mall.vo.AdminChatCahrgeVo;
-import cc.mrbird.febs.mall.vo.AdminChatUserVo;
-import cc.mrbird.febs.mall.vo.AdminChatWithDrawVo;
+import cc.mrbird.febs.mall.vo.*;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -35,6 +32,8 @@
public class AdminChatServiceImpl extends ServiceImpl<ChatUserMapper, ChatUser> implements IAdminChatService {
private final ChatAmountFlowMapper chatAmountFlowMapper;
+ private final DataDictionaryMapper dataDictionaryMapper;
+ private final ChatGroupMapper chatGroupMapper;
private final RedisUtils redisUtils;
@Override
@@ -179,4 +178,44 @@
return new FebsResponse().success();
}
+ @Override
+ public void updateDataDic(String type, String code, String modelType) {
+ DataDictionary dic = this.baseMapper.selectDicDataByTypeAndCode(type, code);
+ if (dic != null) {
+ dic.setValue(modelType);
+ dataDictionaryMapper.updateById(dic);
+ }
+ }
+
+ @Override
+ public IPage<AdminGroupVo> getGroupList(ChatUser chatUser, QueryRequest request) {
+ Page<AdminGroupVo> page = new Page<>(request.getPageNum(), request.getPageSize());
+ return this.baseMapper.selectGroupListInPage(page, chatUser);
+ }
+
+ @Override
+ public FebsResponse closeSwitchUseRobot(String id) {
+ this.baseMapper.updateIsRobotByGroupId(id,0);
+ return new FebsResponse().success();
+ }
+
+ @Override
+ public FebsResponse openSwitchUseRobot(String id) {
+ this.baseMapper.updateIsRobotByGroupId(id,1);
+ return new FebsResponse().success();
+ }
+
+ @Override
+ public FebsResponse updateGroupInfo(AdminGroupInfoVo adminGroupInfoVo) {
+ ChatGroup chatGroup = chatGroupMapper.selectById(adminGroupInfoVo.getId());
+ if(ObjectUtil.isEmpty(chatGroup)) {
+ return new FebsResponse().fail().message("信息不存在");
+ }
+ chatGroup.setAmountMin(adminGroupInfoVo.getAmountMin());
+ chatGroup.setAmountMax(adminGroupInfoVo.getAmountMax());
+ chatGroup.setRedBagCnt(adminGroupInfoVo.getRedBagCnt());
+ chatGroup.setModelType(adminGroupInfoVo.getModelType());
+ chatGroupMapper.updateById(chatGroup);
+ return new FebsResponse().success();
+ }
}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
index 8f3f3ae..1d3a04c 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -215,7 +215,6 @@
}
this.baseMapper.updateById(orderInfo);
- agentProducer.sendOrderCancelDelayMsg(orderInfo.getId(), 15 * 60 * 1000L);
return orderInfo.getId();
}
@@ -346,9 +345,6 @@
commonService.addAchieveAndUpdateLevel(orderInfo.getId(),orderInfo.getMemberId());
mallMoneyFlowService.addMoneyFlow(member.getId(), orderInfo.getAmount().negate(), MoneyFlowTypeEnum.PAY.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue());
- agentProducer.sendAutoLevelUpMsg(member.getId());
-// agentProducer.sendOrderReturn(orderInfo.getId());
- agentProducer.sendReturnMoneyMsg(orderInfo.getId());
break;
case "4":
if (orderInfo.getOrderType() != 2) {
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/AdminGroupInfoVo.java b/src/main/java/cc/mrbird/febs/mall/vo/AdminGroupInfoVo.java
new file mode 100644
index 0000000..1b2a6aa
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/vo/AdminGroupInfoVo.java
@@ -0,0 +1,37 @@
+package cc.mrbird.febs.mall.vo;
+
+import lombok.Data;
+
+import java.util.Date;
+@Data
+public class AdminGroupInfoVo {
+
+ private Long id;
+
+ private String name;
+
+ private String phone;
+
+ private String nickName;
+
+ /**
+ * 是否使用机器人 1:是 0:否
+ */
+ private Integer useRobot;
+ /**
+ * 金额下限
+ */
+ private Integer amountMin;
+ /**
+ * 金额上限
+ */
+ private Integer amountMax;
+ /**
+ * 红包个数
+ */
+ private Integer redBagCnt;
+ /**
+ * 模式类型 1:简单模式-正常模式 2:困难模式
+ */
+ private Integer modelType;
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/AdminGroupVo.java b/src/main/java/cc/mrbird/febs/mall/vo/AdminGroupVo.java
new file mode 100644
index 0000000..cef953b
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/vo/AdminGroupVo.java
@@ -0,0 +1,41 @@
+package cc.mrbird.febs.mall.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class AdminGroupVo {
+
+ private Long id;
+
+ private String name;
+
+ private String phone;
+
+ private String nickName;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date createTime;
+ /**
+ * 是否使用机器人 1:是 0:否
+ */
+ private Integer useRobot;
+ /**
+ * 金额下限
+ */
+ private Integer amountMin;
+ /**
+ * 金额上限
+ */
+ private Integer amountMax;
+ /**
+ * 红包个数
+ */
+ private Integer redBagCnt;
+ /**
+ * 模式类型 1:简单模式-正常模式 2:困难模式
+ */
+ private Integer modelType;
+}
diff --git a/src/main/java/cc/mrbird/febs/pay/controller/UnipayController.java b/src/main/java/cc/mrbird/febs/pay/controller/UnipayController.java
index e26ca2d..49a2210 100644
--- a/src/main/java/cc/mrbird/febs/pay/controller/UnipayController.java
+++ b/src/main/java/cc/mrbird/febs/pay/controller/UnipayController.java
@@ -137,8 +137,6 @@
}
mallMoneyFlowService.addMoneyFlow(mallMember.getId(), orderInfo.getAmount().negate(), MoneyFlowTypeEnum.PAY.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue());
- agentProducer.sendAutoLevelUpMsg(mallMember.getId());
- agentProducer.sendOrderReturn(orderInfo.getId());
}
}
}
@@ -250,8 +248,6 @@
}
mallMoneyFlowService.addMoneyFlow(mallMember.getId(), orderInfo.getAmount().negate(), MoneyFlowTypeEnum.PAY.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue());
- agentProducer.sendAutoLevelUpMsg(mallMember.getId());
- agentProducer.sendOrderReturn(orderInfo.getId());
}
}
}
diff --git a/src/main/java/cc/mrbird/febs/pay/service/impl/PayServiceImplAli.java b/src/main/java/cc/mrbird/febs/pay/service/impl/PayServiceImplAli.java
index 487bd21..d64f8b9 100644
--- a/src/main/java/cc/mrbird/febs/pay/service/impl/PayServiceImplAli.java
+++ b/src/main/java/cc/mrbird/febs/pay/service/impl/PayServiceImplAli.java
@@ -102,7 +102,6 @@
orderInfoMapper.updateById(orderInfo);
// agentProducer.sendReturnMoneyMsg(orderInfo.getId());
- agentProducer.sendAutoLevelUpMsg(orderInfo.getMemberId());
// memberService.addMoneyFlow(orderInfo.getMemberId(), orderInfo.getAmount().negate(), MoneyFlowTypeEnum.PAY.getValue(), orderInfo.getOrderNo(), null, null, null, null, FlowTypeEnum.BALANCE.getValue());
}
diff --git a/src/main/java/cc/mrbird/febs/pay/service/impl/WxPayServiceImpl.java b/src/main/java/cc/mrbird/febs/pay/service/impl/WxPayServiceImpl.java
index 7cc9574..92941d0 100644
--- a/src/main/java/cc/mrbird/febs/pay/service/impl/WxPayServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/pay/service/impl/WxPayServiceImpl.java
@@ -117,8 +117,6 @@
commonService.addAchieveAndUpdateLevel(orderInfo.getId(),orderInfo.getMemberId());
mallMoneyFlowService.addMoneyFlow(orderInfo.getMemberId(), orderInfo.getAmount().negate(), MoneyFlowTypeEnum.PAY.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.WX.getValue());
- agentProducer.sendAutoLevelUpMsg(orderInfo.getMemberId());
- agentProducer.sendReturnMoneyMsg(orderInfo.getId());
}
}
diff --git a/src/main/java/cc/mrbird/febs/rabbit/consumer/AgentConsumer.java b/src/main/java/cc/mrbird/febs/rabbit/consumer/AgentConsumer.java
index d6a96f2..8b4612d 100644
--- a/src/main/java/cc/mrbird/febs/rabbit/consumer/AgentConsumer.java
+++ b/src/main/java/cc/mrbird/febs/rabbit/consumer/AgentConsumer.java
@@ -24,15 +24,6 @@
@Autowired
private IApiMallOrderInfoService orderInfoService;
- @Autowired
- private IAgentService agentService;
- @Autowired
- private IMemberProfitService memberProfitService;
-
-// @RabbitListener(queues = QueueConstants.QUEUE_DEFAULT)
-// public void agentReturn(Message message, Channel channel) {
-// log.info("消费者:{}", new String(message.getBody()));
-// }
@RabbitListener(queues = "queue_h_order_delay")
public void orderCancelDelay(String id) {
@@ -42,34 +33,4 @@
log.error("订单超时支付异常", e);
}
}
-
- @RabbitListener(queues = QueueConstants.AGENT_AUTO_LEVEL_UP)
- public void agentAutoLevelUp(String id) {
- log.info("收到代理自动升级消息:{}", id);
- try {
- agentService.autoUpAgentLevel(Long.parseLong(id));
- } catch (Exception e) {
- log.error("代理自动升级异常", e);
- }
- }
-
- @RabbitListener(queues = QueueConstants.AGENT_RETURN_MONEY)
- public void agentReturnMoney(String orderId) {
- log.info("收到返利消息:{}", orderId);
- try {
- agentService.returnMoneyToAgent(Long.parseLong(orderId));
- } catch (Exception e) {
- log.error("返利异常", e);
- }
- }
-
-// @RabbitListener(queues = QueueConstants.ORDER_RETURN_MONEY)
-// public void orderReturnMoney(String orderId) {
-// log.info("收到订单返利消息:{}", orderId);
-// try {
-// memberProfitService.dynamicProfit(Long.parseLong(orderId));
-// } catch (Exception e) {
-// log.error("订单返利异常:", e);
-// }
-// }
}
diff --git a/src/main/java/cc/mrbird/febs/rabbit/enumerates/RabbitQueueEnum.java b/src/main/java/cc/mrbird/febs/rabbit/enumerates/RabbitQueueEnum.java
index 3e0a65d..1952f7e 100644
--- a/src/main/java/cc/mrbird/febs/rabbit/enumerates/RabbitQueueEnum.java
+++ b/src/main/java/cc/mrbird/febs/rabbit/enumerates/RabbitQueueEnum.java
@@ -5,13 +5,6 @@
@Getter
public enum RabbitQueueEnum {
- DEFAULT("exchange_h_default", "route_key_h_default", "queue_h_default"),
-
- ORDER_CANCEL_DELAY_TTL("exchange_h_order_delay_ttl", "route_key_h_order_delay_ttl", "queue_h_order_delay_ttl"),
- ORDER_CANCEL_DELAY("exchange_h_order_delay", "route_key_h_order_delay", "queue_h_order_delay"),
-
- AGENT_RETURN_MONEY("exchange_h_agent_return_money", "route_key_h_agent_return_money", "queue_h_agent_return_money"),
-
ORDER_RETURN_MONEY("exchange_h_order_return_money", "route_key_h_order_return_money", "queue_h_order_return_money");
private String exchange;
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 f859499..f29cc87 100644
--- a/src/main/java/cc/mrbird/febs/rabbit/producter/AgentProducer.java
+++ b/src/main/java/cc/mrbird/febs/rabbit/producter/AgentProducer.java
@@ -45,35 +45,4 @@
}
- public void sendOrderReturn(Long id) {
- log.info("发送消息:{}", id);
- CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString());
- rabbitTemplate.convertAndSend(RabbitQueueEnum.ORDER_RETURN_MONEY.getExchange(), RabbitQueueEnum.ORDER_RETURN_MONEY.getRoute(), id, correlationData);
- }
-
- public void sendOrderCancelDelayMsg(Long id, Long times) {
- log.info("发送自动取消订单消息:{}, {}", id, times);
- rabbitTemplate.convertAndSend(RabbitQueueEnum.ORDER_CANCEL_DELAY_TTL.getExchange(), RabbitQueueEnum.ORDER_CANCEL_DELAY_TTL.getRoute(), id, new MessagePostProcessor() {
- @Override
- public Message postProcessMessage(Message message) throws AmqpException {
- message.getMessageProperties().setExpiration(String.valueOf(times));
- return message;
- }
- });
- }
-
- /**
- * 发送代理自动升级消息
- *
- * @param memberId
- */
- public void sendAutoLevelUpMsg(@NotNull Long memberId) {
- log.info("发送代理自动升级消息:{}", memberId);
- rabbitTemplate.convertAndSend(ExchangeConstants.EXCHANGE_DEFAULT, RouteKeyConstants.ROUTE_KEY_DEFAULT, memberId);
- }
-
- public void sendReturnMoneyMsg(Long orderId) {
- log.info("发送返利消息:{}", orderId);
- rabbitTemplate.convertAndSend(RabbitQueueEnum.AGENT_RETURN_MONEY.getExchange(), RabbitQueueEnum.AGENT_RETURN_MONEY.getRoute(), orderId);
- }
}
diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml
index 1246144..fc9b536 100644
--- a/src/main/resources/application-prod.yml
+++ b/src/main/resources/application-prod.yml
@@ -2,7 +2,7 @@
datasource:
dynamic:
# 是否开启 SQL日志输出,生产环境建议关闭,有性能损耗
- p6spy: false
+ p6spy: true
hikari:
connection-timeout: 30000
max-lifetime: 1800000
diff --git a/src/main/resources/mapper/modules/ChatUserMapper.xml b/src/main/resources/mapper/modules/ChatUserMapper.xml
index 556cd0f..b1172ca 100644
--- a/src/main/resources/mapper/modules/ChatUserMapper.xml
+++ b/src/main/resources/mapper/modules/ChatUserMapper.xml
@@ -164,4 +164,56 @@
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}
+ </select>
+
+ <select id="selectGroupListInPage" resultType="cc.mrbird.febs.mall.vo.AdminGroupVo">
+ select
+ a.id id,
+ a.use_robot useRobot,
+ a.name name,
+ a.model_type modelType,
+ a.amount_min amountMin,
+ a.amount_max amountMax,
+ a.red_bag_cnt redBagCnt,
+ b.phone phone,
+ b.nick_name nickName,
+ a.create_time createTime
+ from chat_group a
+ left join chat_user b on b.user_id = a.master
+ <where>
+ <if test="record != null">
+ <if test="record.name != null and record.name != ''">
+ and a.name like CONCAT('%', CONCAT(#{record.name}, '%'))
+ </if>
+ </if>
+ </where>
+ order by a.create_time desc
+ </select>
+
+ <update id="updateIsRobotByGroupId">
+ update chat_group
+ set
+ use_robot = #{useRobot}
+ where id = #{id}
+ </update>
+
+ <select id="getGroupInfoById" resultType="cc.mrbird.febs.mall.vo.AdminGroupInfoVo">
+ select
+ a.id id,
+ a.name name,
+ b.phone phone,
+ a.model_type modelType,
+ b.nick_name nickName,
+ a.use_robot useRobot,
+ a.amount_min amountMin,
+ a.amount_max amountMax,
+ a.red_bag_cnt redBagCnt
+ from chat_group a
+ left join chat_user b on b.user_id = a.master
+ where id = #{id}
+ </select>
+
</mapper>
\ No newline at end of file
diff --git a/src/main/resources/templates/febs/views/modules/chat/basicSetting.html b/src/main/resources/templates/febs/views/modules/chat/basicSetting.html
new file mode 100644
index 0000000..f1940c5
--- /dev/null
+++ b/src/main/resources/templates/febs/views/modules/chat/basicSetting.html
@@ -0,0 +1,73 @@
+<div class="layui-fluid layui-anim febs-anim" id="basic-setting" lay-title="基础设置">
+ <div class="layui-row layui-col-space8 febs-container">
+ <form class="layui-form" action="" lay-filter="basic-setting-form">
+ <div class="layui-card">
+ <div class="layui-card-body">
+ <blockquote class="layui-elem-quote blue-border">模式设置</blockquote>
+ <div class="layui-form-item">
+ <label class="layui-form-label febs-form-item-require">模式:</label>
+ <div class="layui-input-block">
+ <input type="radio" name="modelType" value="1" title="简单模式">
+ <input type="radio" name="modelType" value="2" title="困难模式">
+ </div>
+ <div class="layui-word-aux" style="margin-left: 150px;">简单模式-正常模式</div>
+ <div class="layui-word-aux" style="margin-left: 150px;">困难模式</div>
+ </div>
+ </div>
+
+ <div class="layui-card-footer">
+ <button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="basic-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;
+ }
+</style>
+<script data-th-inline="javascript" type="text/javascript">
+ layui.use(['dropdown', 'jquery', 'validate', 'febs', 'form', 'eleTree'], function () {
+ var $ = layui.jquery,
+ febs = layui.febs,
+ form = layui.form,
+ basicSet = [[${basicSet}]],
+ validate = layui.validate,
+ $view = $('#basic-setting');
+
+
+ form.verify({
+ integer: [
+ /^[1-9]\d*$/
+ , '只能输入正整数'
+ ]
+ });
+
+ initBasicSetValue();
+
+ form.render();
+
+ function initBasicSetValue() {
+ form.val("basic-setting-form", {
+ "modelType": basicSet.modelType,
+ });
+ }
+
+ form.on('submit(basic-setting-form-submit)', function (data) {
+ febs.post(ctx + 'admin/chat/basicSetting', data.field, function (res) {
+ febs.alert.success('设置成功');
+ });
+ window.location.reload();
+ return false;
+ });
+ });
+</script>
\ No newline at end of file
diff --git a/src/main/resources/templates/febs/views/modules/chat/groupEdit.html b/src/main/resources/templates/febs/views/modules/chat/groupEdit.html
new file mode 100644
index 0000000..2c8b774
--- /dev/null
+++ b/src/main/resources/templates/febs/views/modules/chat/groupEdit.html
@@ -0,0 +1,136 @@
+<style>
+ #febs-group-edit {
+ padding: 20px 25px 25px 0;
+ }
+
+ #febs-group-edit .layui-treeSelect .ztree li a, .ztree li span {
+ margin: 0 0 2px 3px !important;
+ }
+ #febs-group-edit #data-permission-tree-block {
+ border: 1px solid #eee;
+ border-radius: 2px;
+ padding: 3px 0;
+ }
+ #febs-group-edit .layui-treeSelect .ztree li span.button.switch {
+ top: 1px;
+ left: 3px;
+ }
+ #febs-group-edit img{
+ max-width:100px
+ }
+
+</style>
+<div class="layui-fluid" id="febs-group-edit">
+ <form class="layui-form" action="" lay-filter="febs-group-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="${groupInfo.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="phone" autocomplete="off" class="layui-input" readonly>
+ </div>
+ </div>
+ <div class="layui-col-lg6">
+ <label class="layui-form-label febs-form-item-require">群主账号:</label>
+ <div class="layui-input-block">
+ <input type="text" name="nickName" autocomplete="off" class="layui-input" readonly>
+ </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="name" autocomplete="off" class="layui-input" readonly>
+ </div>
+ </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="amountMin" autocomplete="off" class="layui-input">
+ </div>
+ </div>
+ <div class="layui-col-lg6">
+ <label class="layui-form-label febs-form-item-require">最大金额:</label>
+ <div class="layui-input-block">
+ <input type="text" name="amountMax" 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="redBagCnt" autocomplete="off" class="layui-input">
+ </div>
+ <div class="layui-word-aux" style="margin-left: 150px;">设置为7,则每次红包可以有7个人抢。</div>
+ </div>
+ </div>
+ <div class="layui-row layui-col-space10 layui-form-item">
+ <div class="layui-col-lg6">
+ <label class="layui-form-label">模式:</label>
+ <div class="layui-input-block">
+ <input type="radio" name="modelType" value="1" title="简单模式" checked="">
+ <input type="radio" name="modelType" value="2" title="困难模式" >
+ </div>
+ <div class="layui-word-aux" style="margin-left: 150px;">困难模式,红包中只有一个不会中雷。</div>
+ </div>
+
+ </div>
+
+ <div class="layui-form-item febs-hide">
+ <button class="layui-btn" lay-submit="" lay-filter="febs-group-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,
+ groupInfo = [[${groupInfo}]],
+ $view = $('#febs-group-edit');
+
+ initGroupInfoValue();
+
+ form.render();
+
+ formSelects.render();
+ form.on('submit(febs-group-edit-form-submit)', function (data) {
+ febs.post(ctx + 'admin/chat/updateGroupInfo', data.field, function () {
+ layer.closeAll();
+ febs.alert.success('操作成功');
+ $('#febs-group-list').find('#reset').click();
+ });
+ return false;
+ });
+
+ function initGroupInfoValue() {
+ form.val("febs-group-edit-form", {
+ "id": groupInfo.id,
+ "name": groupInfo.name,
+ "phone": groupInfo.phone,
+ "nickName": groupInfo.nickName,
+ "amountMin": groupInfo.amountMin,
+ "amountMax": groupInfo.amountMax,
+ "redBagCnt": groupInfo.redBagCnt,
+ "modelType": groupInfo.modelType,
+ });
+ }
+ });
+</script>
\ No newline at end of file
diff --git a/src/main/resources/templates/febs/views/modules/chat/groupList.html b/src/main/resources/templates/febs/views/modules/chat/groupList.html
new file mode 100644
index 0000000..39f11bd
--- /dev/null
+++ b/src/main/resources/templates/febs/views/modules/chat/groupList.html
@@ -0,0 +1,164 @@
+<div class="layui-fluid layui-anim febs-anim" id="febs-group-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-md10">
+ <div class="layui-form-item">
+ <div class="layui-inline">
+ <label class="layui-form-label">群组名称:</label>
+ <div class="layui-input-inline">
+ <input type="text" placeholder="群组名称" name="name" autocomplete="off" class="layui-input">
+ </div>
+ </div>
+ </div>
+ </div>
+ <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="groupTable" lay-data="{id: 'groupTable'}"></table>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
+<!--1:成功 2:失败 3:进行中-->
+<script type="text/html" id="status-type">
+ {{#
+ var status = {
+ 1: {title: '-', color: ''},
+ 2: {title: '成功', color: 'green'},
+ 3: {title: '进行中', color: 'orange'},
+ }[d.status];
+ }}
+ <span class="layui-badge febs-bg-{{status.color}}">{{ status.title }}</span>
+</script>
+<script type="text/html" id="switchUseRobot">
+ {{# if(d.useRobot === 1) { }}
+ <input type="checkbox" value={{d.id}} lay-text="是|否" checked lay-skin="switch" lay-filter="switchUseRobot">
+ {{# } else { }}
+ <input type="checkbox" value={{d.id}} lay-text="是|否" lay-skin="switch" lay-filter="switchUseRobot">
+ {{# } }}
+</script>
+<script type="text/html" id="isModelType">
+ {{# if(d.modelType === 1) { }}
+ <span>简单模式</span>
+ {{# } else { }}
+ <span>困难模式</span>
+ {{# } }}
+</script>
+<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-group-list'),
+ $query = $view.find('#query'),
+ $reset = $view.find('#reset'),
+ $searchForm = $view.find('form'),
+ sortObject = {field: 'phone', type: null},
+ tableIns;
+
+ form.render();
+
+ // 表格初始化
+ initTable();
+ table.on('tool(groupTable)', function (obj) {
+ var data = obj.data,
+ layEvent = obj.event;
+ if (layEvent === 'editGroup') {
+ febs.modal.open('编辑', 'modules/chat/groupInfo/' + data.id, {
+ btn: ['提交', '取消'],
+ // area:['100%','100%'],
+ yes: function (index, layero) {
+ $('#febs-group-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: 1}, initSort: sortObject});
+ });
+
+ // 获取查询参数
+ function getQueryParams() {
+ return {
+ name: $searchForm.find('input[name="name"]').val().trim(),
+ };
+ }
+
+ function initTable() {
+ tableIns = febs.table.init({
+ elem: $view.find('table'),
+ id: 'groupTable',
+ url: ctx + 'admin/chat/groupList',
+ cols: [[
+ {field: 'id', title: '编号', minWidth: 100,align:'center'},
+ {field: 'name', title: '名称', minWidth: 150,align:'center'},
+ {field: 'nickName', title: '群主昵称', minWidth: 150,align:'center'},
+ {field: 'phone', title: '群主电话', minWidth: 150,align:'center'},
+ {field: 'amountMin', title: '上限', minWidth: 100,align:'center'},
+ {field: 'amountMax', title: '下限', minWidth: 100,align:'center'},
+ {field: 'redBagCnt', title: '红包个数', minWidth: 100,align:'center'},
+ {field: 'useRobot', title: '使用机器人', templet: '#switchUseRobot', minWidth: 80,align:'center'},
+ {templet:"#isModelType", title: '模式', minWidth: 150,align:'center'},
+ {field: 'createTime', title: '创建时间', minWidth: 180,align:'center'},
+ {title: '操作',
+ templet: function (d) {
+ return '<button class="layui-btn layui-btn-normal layui-btn-xs layui-btn-success" lay-event="editGroup" shiro:hasPermission="editGroup:info">编辑</button>'
+ },minWidth: 150,align:'center'}
+ ]]
+ });
+ }
+ form.on('switch(switchUseRobot)', function (data) {
+ if (data.elem.checked) {
+ openSwitchUseRobot(data.value);
+ } else {
+ closeSwitchUseRobot(data.value);
+ }
+ })
+ function openSwitchUseRobot(id) {
+ febs.get(ctx + 'admin/chat/openSwitchUseRobot/' + id, null, function () {
+ febs.alert.success('操作成功');
+ $query.click();
+ });
+ }
+ function closeSwitchUseRobot(id) {
+ febs.get(ctx + 'admin/chat/closeSwitchUseRobot/' + id, null, function () {
+ febs.alert.success('操作成功');
+ $query.click();
+ });
+ }
+
+ })
+</script>
\ No newline at end of file
--
Gitblit v1.9.1