From 9093c08bb411cce7c7847ea63f0378f23317b516 Mon Sep 17 00:00:00 2001 From: wxz Date: Thu, 4 Mar 2021 10:30:51 +0800 Subject: [PATCH 01/99] =?UTF-8?q?=E4=BF=AE=E6=94=B9rocketmq=E7=9A=84?= =?UTF-8?q?=E6=B3=A8=E5=86=8C=E6=96=B9=E5=BC=8F=EF=BC=9Aspringboot?= =?UTF-8?q?=E6=B3=A8=E5=86=8C->=E6=89=8B=E5=8A=A8api=E6=B3=A8=E5=86=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../InitCustomerOrgRolesListener.java | 3 +- .../epmet/mq/RocketMQConsumerRegister.java | 62 +++++++++++++++++ .../InitCustomerComponentsListener.java | 68 +++++++++++++++++++ .../InitCustomerCustomizeListener.java | 11 +-- 4 files changed, 138 insertions(+), 6 deletions(-) create mode 100644 epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java create mode 100644 epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/mq/listener/InitCustomerComponentsListener.java diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/mq/listener/InitCustomerOrgRolesListener.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/mq/listener/InitCustomerOrgRolesListener.java index 1225da9abd..97a15d7e56 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/mq/listener/InitCustomerOrgRolesListener.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/mq/listener/InitCustomerOrgRolesListener.java @@ -37,7 +37,8 @@ public class InitCustomerOrgRolesListener implements MessageListenerConcurrently try { msgs.forEach(msg -> consumeMessage(msg)); } catch (Exception e) { - return ConsumeConcurrentlyStatus.CONSUME_SUCCESS; + logger.error(ExceptionUtils.getErrorStackTrace(e)); + return ConsumeConcurrentlyStatus.RECONSUME_LATER; } return ConsumeConcurrentlyStatus.CONSUME_SUCCESS; } diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java new file mode 100644 index 0000000000..057cf3c501 --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java @@ -0,0 +1,62 @@ +package com.epmet.mq; + +import com.epmet.commons.rocketmq.constants.ConsomerGroupConstants; +import com.epmet.commons.rocketmq.constants.TopicConstants; +import com.epmet.mq.listener.InitCustomerComponentsListener; +import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer; +import org.apache.rocketmq.client.consumer.listener.MessageListener; +import org.apache.rocketmq.client.exception.MQClientException; +import org.apache.rocketmq.common.protocol.heartbeat.MessageModel; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; + +@Component +public class RocketMQConsumerRegister { + + @Value("${rocketmq.name-server}") + private String nameServer; + + /** + * @return + * @Description 注册监听器 + * @author wxz + * @date 2021.03.03 16:09 + */ + @PostConstruct + public void registerAllListeners() { + try { + register(nameServer, ConsomerGroupConstants.INIT_CUSTOMER_COMPONENTS_GROUP, MessageModel.CLUSTERING, TopicConstants.INIT_CUSTOMER, "*", new InitCustomerComponentsListener()); + } catch (MQClientException e) { + e.printStackTrace(); + } + } + + public void register(String nameServer, String group, MessageModel messageModel, String topic, String subException, MessageListener listener) throws MQClientException { + // 实例化消费者 + DefaultMQPushConsumer consumer = new DefaultMQPushConsumer(group); + + // 设置NameServer的地址 + consumer.setNamesrvAddr(nameServer); + consumer.setMessageModel(messageModel); + consumer.setInstanceName(buildInstanceName()); + // 订阅一个或者多个Topic,以及Tag来过滤需要消费的消息 + consumer.subscribe(topic, subException); + // 注册回调实现类来处理从broker拉取回来的消息 + consumer.registerMessageListener(listener); + // 启动消费者实例 + consumer.start(); + } + + private String buildInstanceName() { + String instanceName = ""; + for (int i = 0; i < 4; i++) { + int t = (int) (Math.random() * 10); + instanceName = instanceName.concat(t + ""); + } + + return instanceName; + } + +} diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/mq/listener/InitCustomerComponentsListener.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/mq/listener/InitCustomerComponentsListener.java new file mode 100644 index 0000000000..147d716674 --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/mq/listener/InitCustomerComponentsListener.java @@ -0,0 +1,68 @@ +package com.epmet.mq.listener; + +import com.alibaba.fastjson.JSON; +import com.epmet.commons.rocketmq.messages.InitCustomerMQMsg; +import com.epmet.commons.tools.distributedlock.DistributedLock; +import com.epmet.commons.tools.exception.ExceptionUtils; +import com.epmet.commons.tools.exception.RenException; +import com.epmet.commons.tools.utils.SpringContextUtils; +import com.epmet.dto.CustomerHomeDTO; +import com.epmet.service.CustomerHomeService; +import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext; +import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus; +import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently; +import org.apache.rocketmq.common.message.MessageExt; +import org.redisson.api.RLock; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.List; +import java.util.concurrent.TimeUnit; + +/** + * 监听初始化客户动作,为客户初始化角色列表 + */ +public class InitCustomerComponentsListener implements MessageListenerConcurrently { + + private Logger logger = LoggerFactory.getLogger(getClass()); + + @Override + public ConsumeConcurrentlyStatus consumeMessage(List msgs, ConsumeConcurrentlyContext context) { + try { + msgs.forEach(msg -> consumeMessage(msg)); + } catch (Exception e) { + logger.error(ExceptionUtils.getErrorStackTrace(e)); + return ConsumeConcurrentlyStatus.RECONSUME_LATER; + } + return ConsumeConcurrentlyStatus.CONSUME_SUCCESS; + } + + private void consumeMessage(MessageExt messageExt) { + String msg = new String(messageExt.getBody()); + logger.info("初始化客户-初始化客户自定义信息-收到消息内容:{}", msg); + InitCustomerMQMsg msgObj = JSON.parseObject(msg, InitCustomerMQMsg.class); + + CustomerHomeDTO customerHomeDTO = new CustomerHomeDTO(); + customerHomeDTO.setCustomerId(msgObj.getCustomerId()); + + DistributedLock distributedLock = null; + RLock lock = null; + try { + distributedLock = SpringContextUtils.getBean(DistributedLock.class); + lock = distributedLock.getLock(String.format("lock:init_customer_home:%s", msgObj.getCustomerId()), + 30l, 30l, TimeUnit.SECONDS); + + CustomerHomeService customerHomeService = SpringContextUtils.getBean(CustomerHomeService.class); + customerHomeService.init(customerHomeDTO); + } catch (RenException e) { + // 如果是我们手动抛出的异常,说明在业务可控范围内。目前不需要MQ重试 + logger.error("【RocketMQ】初始化客户组件失败:".concat(ExceptionUtils.getErrorStackTrace(e))); + } catch (Exception e) { + // 不是我们自己抛出的异常,可以让MQ重试 + logger.error("【RocketMQ】初始化客户组件失败:".concat(ExceptionUtils.getErrorStackTrace(e))); + throw e; + } finally { + distributedLock.unLock(lock); + } + } +} \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/mq/listener/InitCustomerCustomizeListener.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/mq/listener/InitCustomerCustomizeListener.java index 6fa846c46c..7f7ddd5644 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/mq/listener/InitCustomerCustomizeListener.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/mq/listener/InitCustomerCustomizeListener.java @@ -23,12 +23,13 @@ import java.util.concurrent.TimeUnit; /** * 监听初始化客户动作,为客户初始化角色列表 + * 已废弃 */ -@RocketMQMessageListener(topic = TopicConstants.INIT_CUSTOMER, - consumerGroup = ConsomerGroupConstants.INIT_CUSTOMER_COMPONENTS_GROUP, - messageModel = MessageModel.CLUSTERING, - selectorExpression = "*") -@Component +//@RocketMQMessageListener(topic = TopicConstants.INIT_CUSTOMER, +// consumerGroup = ConsomerGroupConstants.INIT_CUSTOMER_COMPONENTS_GROUP, +// messageModel = MessageModel.CLUSTERING, +// selectorExpression = "*") +//@Component public class InitCustomerCustomizeListener implements RocketMQListener { private Logger logger = LoggerFactory.getLogger(getClass()); From 2c49647feeb663355fea9b7510bc2641be27fe23 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Mon, 19 Apr 2021 13:58:14 +0800 Subject: [PATCH 02/99] =?UTF-8?q?=E5=B0=8F=E7=BB=84=E6=88=90=E5=B0=B1?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E8=A1=A8=E4=BB=A3=E7=A0=81=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../group/ResiGroupMilestoneConfigDTO.java | 96 +++++++++++++++ .../dto/group/ResiGroupMilestoneStatsDTO.java | 111 ++++++++++++++++++ .../dao/ResiGroupMilestoneConfigDao.java | 33 ++++++ .../group/dao/ResiGroupMilestoneStatsDao.java | 33 ++++++ .../ResiGroupMilestoneConfigEntity.java | 66 +++++++++++ .../entity/ResiGroupMilestoneStatsEntity.java | 81 +++++++++++++ .../ResiGroupMilestoneConfigService.java | 95 +++++++++++++++ .../ResiGroupMilestoneStatsService.java | 95 +++++++++++++++ .../ResiGroupMilestoneConfigServiceImpl.java | 101 ++++++++++++++++ .../ResiGroupMilestoneStatsServiceImpl.java | 101 ++++++++++++++++ .../group/ResiGroupMilestoneConfigDao.xml | 22 ++++ .../group/ResiGroupMilestoneStatsDao.xml | 25 ++++ 12 files changed, 859 insertions(+) create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupMilestoneConfigDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupMilestoneStatsDTO.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupMilestoneConfigDao.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupMilestoneStatsDao.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupMilestoneConfigEntity.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupMilestoneStatsEntity.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupMilestoneConfigService.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupMilestoneStatsService.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupMilestoneConfigServiceImpl.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupMilestoneStatsServiceImpl.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupMilestoneConfigDao.xml create mode 100644 epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupMilestoneStatsDao.xml diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupMilestoneConfigDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupMilestoneConfigDTO.java new file mode 100644 index 0000000000..5e7ea7a3f8 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupMilestoneConfigDTO.java @@ -0,0 +1,96 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.resi.group.dto.group; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 小组成就配置表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-04-19 + */ +@Data +public class ResiGroupMilestoneConfigDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + private String id; + + /** + * 客户Id + */ + private String customerId; + + /** + * 里程名称 + */ + private String mileageName; + + /** + * 前一个里程值 + */ + private Integer preValue; + + /** + * 目标值 + */ + private Integer targetValue; + + /** + * 里程类型:小组人数:member;topic:话题数;转议题数:toIssue;话题解决数:resloveTopic + */ + private String mileageType; + + /** + * 删除标记 0:未删除,1:已删除 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupMilestoneStatsDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupMilestoneStatsDTO.java new file mode 100644 index 0000000000..43883314d1 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupMilestoneStatsDTO.java @@ -0,0 +1,111 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.resi.group.dto.group; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 小组成就统计表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-04-19 + */ +@Data +public class ResiGroupMilestoneStatsDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + private String id; + + /** + * 客户Id + */ + private String customerId; + + /** + * 小组Id + */ + private String groupId; + + /** + * 里程ID + */ + private String mileageId; + + /** + * 里程名称 + */ + private String mileageName; + + /** + * 实现时间 + */ + private Date arriveTime; + + /** + * 当前值 + */ + private Integer currentValue; + + /** + * 目标值 + */ + private Integer targetValue; + + /** + * 目标是否实现,是:1;否:0 + */ + private Integer isArrive; + + /** + * 删除标记 0:未删除,1:已删除 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupMilestoneConfigDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupMilestoneConfigDao.java new file mode 100644 index 0000000000..95a922301c --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupMilestoneConfigDao.java @@ -0,0 +1,33 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.modules.group.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.modules.group.entity.ResiGroupMilestoneConfigEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 小组成就配置表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-04-19 + */ +@Mapper +public interface ResiGroupMilestoneConfigDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupMilestoneStatsDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupMilestoneStatsDao.java new file mode 100644 index 0000000000..a4772a09f5 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupMilestoneStatsDao.java @@ -0,0 +1,33 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.modules.group.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.modules.group.entity.ResiGroupMilestoneStatsEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 小组成就统计表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-04-19 + */ +@Mapper +public interface ResiGroupMilestoneStatsDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupMilestoneConfigEntity.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupMilestoneConfigEntity.java new file mode 100644 index 0000000000..f0e2a9f078 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupMilestoneConfigEntity.java @@ -0,0 +1,66 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.modules.group.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 小组成就配置表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-04-19 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("resi_group_milestone_config") +public class ResiGroupMilestoneConfigEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户Id + */ + private String customerId; + + /** + * 里程名称 + */ + private String mileageName; + + /** + * 前一个里程值 + */ + private Integer preValue; + + /** + * 目标值 + */ + private Integer targetValue; + + /** + * 里程类型:小组人数:member;topic:话题数;转议题数:toIssue;话题解决数:resloveTopic + */ + private String mileageType; + +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupMilestoneStatsEntity.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupMilestoneStatsEntity.java new file mode 100644 index 0000000000..a1bfc86c7e --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupMilestoneStatsEntity.java @@ -0,0 +1,81 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.modules.group.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 小组成就统计表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-04-19 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("resi_group_milestone_stats") +public class ResiGroupMilestoneStatsEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户Id + */ + private String customerId; + + /** + * 小组Id + */ + private String groupId; + + /** + * 里程ID + */ + private String mileageId; + + /** + * 里程名称 + */ + private String mileageName; + + /** + * 实现时间 + */ + private Date arriveTime; + + /** + * 当前值 + */ + private Integer currentValue; + + /** + * 目标值 + */ + private Integer targetValue; + + /** + * 目标是否实现,是:1;否:0 + */ + private Integer isArrive; + +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupMilestoneConfigService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupMilestoneConfigService.java new file mode 100644 index 0000000000..e10cb0bd2a --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupMilestoneConfigService.java @@ -0,0 +1,95 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.modules.group.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.modules.group.entity.ResiGroupMilestoneConfigEntity; +import com.epmet.resi.group.dto.group.ResiGroupMilestoneConfigDTO; + +import java.util.List; +import java.util.Map; + +/** + * 小组成就配置表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-04-19 + */ +public interface ResiGroupMilestoneConfigService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2021-04-19 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2021-04-19 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return ResiGroupMilestoneConfigDTO + * @author generator + * @date 2021-04-19 + */ + ResiGroupMilestoneConfigDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2021-04-19 + */ + void save(ResiGroupMilestoneConfigDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2021-04-19 + */ + void update(ResiGroupMilestoneConfigDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2021-04-19 + */ + void delete(String[] ids); +} \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupMilestoneStatsService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupMilestoneStatsService.java new file mode 100644 index 0000000000..64ce84523e --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupMilestoneStatsService.java @@ -0,0 +1,95 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.modules.group.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.modules.group.entity.ResiGroupMilestoneStatsEntity; +import com.epmet.resi.group.dto.group.ResiGroupMilestoneStatsDTO; + +import java.util.List; +import java.util.Map; + +/** + * 小组成就统计表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-04-19 + */ +public interface ResiGroupMilestoneStatsService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2021-04-19 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2021-04-19 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return ResiGroupMilestoneStatsDTO + * @author generator + * @date 2021-04-19 + */ + ResiGroupMilestoneStatsDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2021-04-19 + */ + void save(ResiGroupMilestoneStatsDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2021-04-19 + */ + void update(ResiGroupMilestoneStatsDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2021-04-19 + */ + void delete(String[] ids); +} \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupMilestoneConfigServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupMilestoneConfigServiceImpl.java new file mode 100644 index 0000000000..85735fa5ff --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupMilestoneConfigServiceImpl.java @@ -0,0 +1,101 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.modules.group.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.modules.group.dao.ResiGroupMilestoneConfigDao; +import com.epmet.modules.group.entity.ResiGroupMilestoneConfigEntity; +import com.epmet.modules.group.service.ResiGroupMilestoneConfigService; +import com.epmet.resi.group.dto.group.ResiGroupMilestoneConfigDTO; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 小组成就配置表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-04-19 + */ +@Service +public class ResiGroupMilestoneConfigServiceImpl extends BaseServiceImpl implements ResiGroupMilestoneConfigService { + + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, ResiGroupMilestoneConfigDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, ResiGroupMilestoneConfigDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public ResiGroupMilestoneConfigDTO get(String id) { + ResiGroupMilestoneConfigEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, ResiGroupMilestoneConfigDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(ResiGroupMilestoneConfigDTO dto) { + ResiGroupMilestoneConfigEntity entity = ConvertUtils.sourceToTarget(dto, ResiGroupMilestoneConfigEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(ResiGroupMilestoneConfigDTO dto) { + ResiGroupMilestoneConfigEntity entity = ConvertUtils.sourceToTarget(dto, ResiGroupMilestoneConfigEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + +} \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupMilestoneStatsServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupMilestoneStatsServiceImpl.java new file mode 100644 index 0000000000..48c32bad71 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupMilestoneStatsServiceImpl.java @@ -0,0 +1,101 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.modules.group.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.modules.group.dao.ResiGroupMilestoneStatsDao; +import com.epmet.modules.group.entity.ResiGroupMilestoneStatsEntity; +import com.epmet.modules.group.service.ResiGroupMilestoneStatsService; +import com.epmet.resi.group.dto.group.ResiGroupMilestoneStatsDTO; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 小组成就统计表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-04-19 + */ +@Service +public class ResiGroupMilestoneStatsServiceImpl extends BaseServiceImpl implements ResiGroupMilestoneStatsService { + + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, ResiGroupMilestoneStatsDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, ResiGroupMilestoneStatsDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public ResiGroupMilestoneStatsDTO get(String id) { + ResiGroupMilestoneStatsEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, ResiGroupMilestoneStatsDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(ResiGroupMilestoneStatsDTO dto) { + ResiGroupMilestoneStatsEntity entity = ConvertUtils.sourceToTarget(dto, ResiGroupMilestoneStatsEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(ResiGroupMilestoneStatsDTO dto) { + ResiGroupMilestoneStatsEntity entity = ConvertUtils.sourceToTarget(dto, ResiGroupMilestoneStatsEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + +} \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupMilestoneConfigDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupMilestoneConfigDao.xml new file mode 100644 index 0000000000..7340b2f1d9 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupMilestoneConfigDao.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupMilestoneStatsDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupMilestoneStatsDao.xml new file mode 100644 index 0000000000..3de4a16d99 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupMilestoneStatsDao.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From 3890aa10022864a7bca095b20cbfa18df54f5e3e Mon Sep 17 00:00:00 2001 From: jianjun Date: Mon, 19 Apr 2021 16:06:13 +0800 Subject: [PATCH 03/99] =?UTF-8?q?=E7=A7=AF=E5=88=86=E8=A7=84=E5=88=99?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20=E6=9C=AA=E5=88=A0=E9=99=A4=E6=9D=A1?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/PointRuleDao.xml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/PointRuleDao.xml b/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/PointRuleDao.xml index 23d372e0e7..c18c78976b 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/PointRuleDao.xml +++ b/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/PointRuleDao.xml @@ -28,7 +28,11 @@ SELECT DISTINCT FUNCTION_ID FROM point_rule WHERE CUSTOMER_ID = #{customerId,jdbcType=VARCHAR} UPDATE point_rule @@ -50,4 +54,4 @@ - \ No newline at end of file + From c49b7a8c4678c45febbce1e237bbeb2350462e4b Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Mon, 19 Apr 2021 17:14:56 +0800 Subject: [PATCH 04/99] =?UTF-8?q?=E5=B0=8F=E7=BB=84=E6=88=90=E5=B0=B1?= =?UTF-8?q?=E8=AF=A6=E6=83=85=20=E7=BB=84=E9=95=BF=E8=A7=A3=E5=86=B3?= =?UTF-8?q?=E8=AF=9D=E9=A2=98=E7=A7=AF=E5=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/commons/tools/enums/EventEnum.java | 1 + .../epmet/commons/tools/utils/DateUtils.java | 11 ++++ .../impl/UserPointActionLogServiceImpl.java | 4 +- .../resi/group/constant/TopicConstant.java | 2 + .../group/dto/group/form/GroupFormDTO.java | 17 ++++++ .../result/AchievementDetailResultDTO.java | 37 ++++++++++++ .../group/controller/ResiGroupController.java | 13 ++++ .../group/dao/ResiGroupMilestoneStatsDao.java | 13 +++- .../ResiGroupMilestoneStatsService.java | 18 ++++++ .../group/service/ResiGroupService.java | 9 +++ .../ResiGroupMilestoneStatsServiceImpl.java | 33 +++++++++++ .../service/impl/ResiGroupServiceImpl.java | 59 ++++++++++++++++--- .../service/impl/ResiTopicServiceImpl.java | 35 +++++++++++ .../group/ResiGroupMilestoneStatsDao.xml | 15 +++++ 14 files changed, 257 insertions(+), 10 deletions(-) create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/GroupFormDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/AchievementDetailResultDTO.java diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/EventEnum.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/EventEnum.java index c1409342d6..44d229ec3b 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/EventEnum.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/EventEnum.java @@ -17,6 +17,7 @@ public enum EventEnum { TOPIC_SHIFTED_TO_ISSUE("topic_to_issue","resi_group","话题被转为议题(小组中发布的话题被组长转为议题)"), SHIFT_TOPIC_TO_ISSUE("shift_topic_to_issue","resi_group","转话题为议题(将自建小组中话题转为议题)"), TOPIC_SHIFTED_TO_PROJECT("topic_to_project","resi_group","话题被转为项目"), + LEADER_RESOLVE_TOPIC("leader_resolve_topic","resi_group","组长解决组内话题"), ; private String eventClass; diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java index 3217260019..1886bd8300 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java @@ -558,6 +558,17 @@ public class DateUtils { return format.format(timestamp * 1000); } + /** + * 日期格式转时间戳 + * @author zhaoqifeng + * @date 2021/4/19 14:52 + * @param date + * @return java.lang.Long + */ + public static Long dateToTimestamp(Date date) { + return date.getTime()/NumConstant.ONE_THOUSAND; + } + /** * @return java.util.Date * @param minStr yyyy-MM-dd HH:mm字符串 diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java index 3fce5f3edd..aeaa5210cf 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java @@ -263,7 +263,9 @@ public class UserPointActionLogServiceImpl extends BaseServiceImpl NumConstant.ZERO){ //不按照sourceId查询,查询指定日期内的相关积分规则的总和 Integer sum = baseDao.selectSumByEvent(event.getUserId(),eventCode,null,event.getCustomerId(),dateCheck,right); - if(null == sum) sum = NumConstant.ZERO; + if(null == sum) { + sum = NumConstant.ZERO; + } if(StringUtils.equals(ModuleConstant.OPERATION_TYPE_PLUS,ruleInfo.getOperateType())){ if(ruleInfo.getPoint() < NumConstant.ZERO){ //保证要加的积分是正数 diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/TopicConstant.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/TopicConstant.java index 5aa7c8d3a30..ab20bb2ec4 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/TopicConstant.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/TopicConstant.java @@ -117,4 +117,6 @@ public interface TopicConstant { * 字段 附件类型 大写 下划线 */ String FIELD_TOPIC_ATTACHMENT_TYPE = "ATTACHMENT_TYPE"; + + String RESOLVED = "resolved"; } diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/GroupFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/GroupFormDTO.java new file mode 100644 index 0000000000..2fc8ba7b9a --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/GroupFormDTO.java @@ -0,0 +1,17 @@ +package com.epmet.resi.group.dto.group.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author zhaoqifeng + * @dscription + * @date 2021/4/19 15:57 + */ +@Data +public class GroupFormDTO implements Serializable { + private static final long serialVersionUID = 5330629771935235995L; + private String groupId; + private String gridId; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/AchievementDetailResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/AchievementDetailResultDTO.java new file mode 100644 index 0000000000..1abbdc4dd3 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/AchievementDetailResultDTO.java @@ -0,0 +1,37 @@ +package com.epmet.resi.group.dto.group.result; + +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.List; + +/** + * @author zhaoqifeng + * @dscription + * @date 2021/4/19 14:19 + */ +@NoArgsConstructor +@Data +public class AchievementDetailResultDTO implements Serializable { + + private static final long serialVersionUID = 2426917315141725167L; + /** + * 小组创建时间 + */ + private Long createdDate; + private List achievement; + + @NoArgsConstructor + @Data + public static class AchievementBean { + /** + * 达成时间 + */ + private Long completionDate; + /** + * 成就描述(分拼在一起) + */ + private String describe; + } +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java index 23ffab9d29..fb867c8a72 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java @@ -31,6 +31,7 @@ import com.epmet.resi.group.dto.group.form.*; import com.epmet.resi.group.dto.group.result.*; import com.epmet.resi.group.dto.member.form.EditAuditSwitchFormDTO; import com.epmet.resi.group.dto.member.form.ResiIdentityFormDTO; +import oracle.jdbc.proxy.annotation.Post; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.PostMapping; @@ -502,4 +503,16 @@ public class ResiGroupController { return new Result(); } + /** + * 小组成就详情 + * @author zhaoqifeng + * @date 2021/4/19 14:25 + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + */ + @PostMapping("achievementdetail") + public Result achievementDetail(@RequestBody GroupFormDTO formDTO) { + return new Result().ok(resiGroupService.achievementDetail(formDTO)); + } + } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupMilestoneStatsDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupMilestoneStatsDao.java index a4772a09f5..6bc60c045e 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupMilestoneStatsDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupMilestoneStatsDao.java @@ -19,7 +19,11 @@ package com.epmet.modules.group.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.modules.group.entity.ResiGroupMilestoneStatsEntity; +import com.epmet.resi.group.dto.group.ResiGroupMilestoneStatsDTO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 小组成就统计表 @@ -29,5 +33,12 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface ResiGroupMilestoneStatsDao extends BaseDao { - + /** + * 获取未完成的成就 + * @author zhaoqifeng + * @date 2021/4/19 15:52 + * @param groupId + * @return java.util.List + */ + List selectUnAchieved(@Param("groupId") String groupId); } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupMilestoneStatsService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupMilestoneStatsService.java index 64ce84523e..8c64dde861 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupMilestoneStatsService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupMilestoneStatsService.java @@ -92,4 +92,22 @@ public interface ResiGroupMilestoneStatsService extends BaseService + */ + List getAchieved(String groupId); + + /** + * 未达成的成就 + * @author zhaoqifeng + * @date 2021/4/19 15:15 + * @param groupId + * @return java.util.List + */ + List getUnAchieved(String groupId); } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java index b4bccf14e9..c335dfe438 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java @@ -370,4 +370,13 @@ public interface ResiGroupService extends BaseService { * @return void */ void setVisitSwitch(ManageInitFormDTO formDTO); + + /** + * 小组成就详情 + * @author zhaoqifeng + * @date 2021/4/19 14:25 + * @param formDTO + * @return com.epmet.resi.group.dto.group.result.AchievementDetailResultDTO + */ + AchievementDetailResultDTO achievementDetail(GroupFormDTO formDTO); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupMilestoneStatsServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupMilestoneStatsServiceImpl.java index 48c32bad71..57dd5f1fbb 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupMilestoneStatsServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupMilestoneStatsServiceImpl.java @@ -20,6 +20,7 @@ package com.epmet.modules.group.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.constant.FieldConstant; @@ -98,4 +99,36 @@ public class ResiGroupMilestoneStatsServiceImpl extends BaseServiceImpl + * @author zhaoqifeng + * @date 2021/4/19 15:15 + */ + @Override + public List getAchieved(String groupId) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("GROUP_ID", groupId); + wrapper.eq("IS_ARRIVE", NumConstant.ONE); + wrapper.eq("DEL_FLAG", NumConstant.ZERO); + wrapper.orderByDesc("ARRIVE_TIME"); + List list = baseDao.selectList(wrapper); + return ConvertUtils.sourceToTarget(list, ResiGroupMilestoneStatsDTO.class); + } + + /** + * 未达成的成就 + * + * @param groupId + * @return java.util.List + * @author zhaoqifeng + * @date 2021/4/19 15:15 + */ + @Override + public List getUnAchieved(String groupId) { + return baseDao.selectUnAchieved(groupId); + } + } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java index 26f1b8c746..54846ac828 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java @@ -51,10 +51,7 @@ import com.epmet.modules.group.entity.GroupEditSubmitRecordEntity; import com.epmet.modules.group.entity.ResiGroupEntity; import com.epmet.modules.group.entity.ResiGroupOperationEntity; import com.epmet.modules.group.redis.ResiGroupRedis; -import com.epmet.modules.group.service.ResiGroupCodeService; -import com.epmet.modules.group.service.ResiGroupOperationService; -import com.epmet.modules.group.service.ResiGroupService; -import com.epmet.modules.group.service.ResiGroupStatisticalService; +import com.epmet.modules.group.service.*; import com.epmet.modules.member.dao.GroupMemeberOperationDao; import com.epmet.modules.member.dao.ResiGroupMemberDao; import com.epmet.modules.member.redis.ResiGroupMemberRedis; @@ -73,6 +70,7 @@ import com.epmet.resi.group.dto.member.ResiGroupMemberDTO; import com.epmet.resi.group.dto.member.ResiGroupMemberInfoRedisDTO; import com.epmet.resi.group.dto.member.form.EditAuditSwitchFormDTO; import com.github.pagehelper.PageHelper; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -82,7 +80,6 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.support.TransactionSynchronizationAdapter; import org.springframework.transaction.support.TransactionSynchronizationManager; -import org.springframework.util.CollectionUtils; import java.text.SimpleDateFormat; import java.util.*; @@ -159,6 +156,9 @@ public class ResiGroupServiceImpl extends BaseServiceImpl page(Map params) { IPage page = baseDao.selectPage( @@ -943,7 +943,9 @@ public class ResiGroupServiceImpl extends BaseServiceImpl getGroupIdByGridId(String gridId) { - if(StringUtils.isBlank(gridId)) return null; + if(StringUtils.isBlank(gridId)) { + return null; + } return baseDao.getGroupIdByGridId(gridId); } @@ -956,8 +958,9 @@ public class ResiGroupServiceImpl extends BaseServiceImpl> getGroupIdsByGridIdList(List gridIdList) { - if(null == gridIdList || gridIdList.size() < NumConstant.ONE) - return null; + if(null == gridIdList || gridIdList.size() < NumConstant.ONE) { + return null; + } Map> result = new HashMap<>(); List groups = new ArrayList<>(); Map> groupMap @@ -1166,6 +1169,46 @@ public class ResiGroupServiceImpl extends BaseServiceImpl achievementList = new ArrayList<>(); + //1.小组创建时间 + ResiGroupEntity group = baseDao.selectById(formDTO.getGroupId()); + resultDTO.setCreatedDate(DateUtils.dateToTimestamp(group.getCreatedTime())); + + //2.即将完成的3个成就 + List unAchievedList = resiGroupMilestoneStatsService.getUnAchieved(formDTO.getGroupId()); + if (CollectionUtils.isNotEmpty(unAchievedList)) { + unAchievedList.forEach(item -> { + AchievementDetailResultDTO.AchievementBean bean = new AchievementDetailResultDTO.AchievementBean(); + String describe = item.getMileageName() + "(" + item.getCurrentValue().toString() + "/" + item.getTargetValue().toString() + ")"; + bean.setDescribe(describe); + achievementList.add(bean); + }); + } + //3.已完成的成就 + List achievedList = resiGroupMilestoneStatsService.getAchieved(formDTO.getGroupId()); + if (CollectionUtils.isNotEmpty(achievedList)) { + achievedList.forEach(item -> { + AchievementDetailResultDTO.AchievementBean bean = new AchievementDetailResultDTO.AchievementBean(); + bean.setDescribe(item.getMileageName()); + bean.setCompletionDate(DateUtils.dateToTimestamp(item.getArriveTime())); + achievementList.add(bean); + }); + } + resultDTO.setAchievement(achievementList); + return resultDTO; + } + @Override public GroupDetailResultDTO getGroupDetail(String groupId) { GroupDetailResultDTO groupDetail = new GroupDetailResultDTO(); diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java index 36199596a1..3d44bd7053 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java @@ -704,6 +704,41 @@ public class ResiTopicServiceImpl extends BaseServiceImpl pointEventMsgList = new ArrayList<>(); + + BasePointEventMsg pointEventMsg = new BasePointEventMsg(); + pointEventMsg.setCustomerId(tokenDto.getCustomerId()); + pointEventMsg.setUserId(tokenDto.getUserId()); + pointEventMsg.setActionFlag(MqConstant.PLUS); + pointEventMsg.setIsCommon(false); + pointEventMsg.setEventTag(EventEnum.LEADER_RESOLVE_TOPIC.getEventTag()); + //将话题“某某某…” (前十个字后面省略号) 转为议题 + String content = CharMatcher.WHITESPACE.trimFrom(topic.getTopicContent()); + pointEventMsg.setRemark(groupCache.getGroupName() + "小组中发布的" + + (StringUtils.isBlank(content) + || StringUtils.equals("语音话题", content) ? "语音话题" : + "话题\"" + + content + .substring(NumConstant.ZERO, content.length() < NumConstant.TEN ? content.length() : NumConstant.TEN) + + (NumConstant.TEN > content.length() ? "\"" : "…\"")) + + "解决"); + pointEventMsgList.add(pointEventMsg); + + mqBaseMsgDTO.setMsg(JSON.toJSONString(pointEventMsgList)); + if(!SendMqMsgUtils.sendMsg(mqBaseMsgDTO).success()){ + log.error("组长解决话题事件发送失败,参数:{}",JSON.toJSONString(closeFormDTO)); + } + } + return new Result(); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupMilestoneStatsDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupMilestoneStatsDao.xml index 3de4a16d99..1c854f0bc4 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupMilestoneStatsDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupMilestoneStatsDao.xml @@ -20,6 +20,21 @@ + \ No newline at end of file From 0edd01a4d4cac9e7630ec480675aed3af2e0b933 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Tue, 20 Apr 2021 14:04:06 +0800 Subject: [PATCH 05/99] =?UTF-8?q?=E5=B0=8F=E7=BB=84=E6=88=90=E5=B0=B1?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E8=A1=A8=E8=A1=A8=E5=90=8D=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ava => ResiGroupAchievementConfigDTO.java} | 6 +-- ...java => ResiGroupAchievementStatsDTO.java} | 6 +-- ...ava => ResiGroupAchievementConfigDao.java} | 4 +- ...java => ResiGroupAchievementStatsDao.java} | 8 +-- ... => ResiGroupAchievementConfigEntity.java} | 8 +-- ...a => ResiGroupAchievementStatsEntity.java} | 8 +-- ...=> ResiGroupAchievementConfigService.java} | 16 +++--- ... => ResiGroupAchievementStatsService.java} | 20 ++++---- ...esiGroupAchievementConfigServiceImpl.java} | 41 ++++++++------- ...ResiGroupAchievementStatsServiceImpl.java} | 51 +++++++++---------- .../service/impl/ResiGroupServiceImpl.java | 10 ++-- ....xml => ResiGroupAchievementConfigDao.xml} | 8 +-- ...o.xml => ResiGroupAchievementStatsDao.xml} | 16 +++--- 13 files changed, 100 insertions(+), 102 deletions(-) rename epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/{ResiGroupMilestoneConfigDTO.java => ResiGroupAchievementConfigDTO.java} (93%) rename epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/{ResiGroupMilestoneStatsDTO.java => ResiGroupAchievementStatsDTO.java} (93%) rename epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/{ResiGroupMilestoneConfigDao.java => ResiGroupAchievementConfigDao.java} (84%) rename epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/{ResiGroupMilestoneStatsDao.java => ResiGroupAchievementStatsDao.java} (79%) rename epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/{ResiGroupMilestoneConfigEntity.java => ResiGroupAchievementConfigEntity.java} (89%) rename epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/{ResiGroupMilestoneStatsEntity.java => ResiGroupAchievementStatsEntity.java} (90%) rename epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/{ResiGroupMilestoneConfigService.java => ResiGroupAchievementConfigService.java} (77%) rename epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/{ResiGroupMilestoneStatsService.java => ResiGroupAchievementStatsService.java} (77%) rename epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/{ResiGroupMilestoneConfigServiceImpl.java => ResiGroupAchievementConfigServiceImpl.java} (57%) rename epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/{ResiGroupMilestoneStatsServiceImpl.java => ResiGroupAchievementStatsServiceImpl.java} (59%) rename epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/{ResiGroupMilestoneConfigDao.xml => ResiGroupAchievementConfigDao.xml} (68%) rename epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/{ResiGroupMilestoneStatsDao.xml => ResiGroupAchievementStatsDao.xml} (71%) diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupMilestoneConfigDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupAchievementConfigDTO.java similarity index 93% rename from epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupMilestoneConfigDTO.java rename to epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupAchievementConfigDTO.java index 5e7ea7a3f8..26b9567bd5 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupMilestoneConfigDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupAchievementConfigDTO.java @@ -29,7 +29,7 @@ import lombok.Data; * @since v1.0.0 2021-04-19 */ @Data -public class ResiGroupMilestoneConfigDTO implements Serializable { +public class ResiGroupAchievementConfigDTO implements Serializable { private static final long serialVersionUID = 1L; @@ -46,7 +46,7 @@ public class ResiGroupMilestoneConfigDTO implements Serializable { /** * 里程名称 */ - private String mileageName; + private String achievementName; /** * 前一个里程值 @@ -61,7 +61,7 @@ public class ResiGroupMilestoneConfigDTO implements Serializable { /** * 里程类型:小组人数:member;topic:话题数;转议题数:toIssue;话题解决数:resloveTopic */ - private String mileageType; + private String achievementType; /** * 删除标记 0:未删除,1:已删除 diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupMilestoneStatsDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupAchievementStatsDTO.java similarity index 93% rename from epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupMilestoneStatsDTO.java rename to epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupAchievementStatsDTO.java index 43883314d1..81d83e18af 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupMilestoneStatsDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupAchievementStatsDTO.java @@ -29,7 +29,7 @@ import lombok.Data; * @since v1.0.0 2021-04-19 */ @Data -public class ResiGroupMilestoneStatsDTO implements Serializable { +public class ResiGroupAchievementStatsDTO implements Serializable { private static final long serialVersionUID = 1L; @@ -51,12 +51,12 @@ public class ResiGroupMilestoneStatsDTO implements Serializable { /** * 里程ID */ - private String mileageId; + private String achievementId; /** * 里程名称 */ - private String mileageName; + private String achievementName; /** * 实现时间 diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupMilestoneConfigDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupAchievementConfigDao.java similarity index 84% rename from epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupMilestoneConfigDao.java rename to epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupAchievementConfigDao.java index 95a922301c..24d35a5edd 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupMilestoneConfigDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupAchievementConfigDao.java @@ -18,7 +18,7 @@ package com.epmet.modules.group.dao; import com.epmet.commons.mybatis.dao.BaseDao; -import com.epmet.modules.group.entity.ResiGroupMilestoneConfigEntity; +import com.epmet.modules.group.entity.ResiGroupAchievementConfigEntity; import org.apache.ibatis.annotations.Mapper; /** @@ -28,6 +28,6 @@ import org.apache.ibatis.annotations.Mapper; * @since v1.0.0 2021-04-19 */ @Mapper -public interface ResiGroupMilestoneConfigDao extends BaseDao { +public interface ResiGroupAchievementConfigDao extends BaseDao { } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupMilestoneStatsDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupAchievementStatsDao.java similarity index 79% rename from epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupMilestoneStatsDao.java rename to epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupAchievementStatsDao.java index 6bc60c045e..0de55fe72e 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupMilestoneStatsDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupAchievementStatsDao.java @@ -18,8 +18,8 @@ package com.epmet.modules.group.dao; import com.epmet.commons.mybatis.dao.BaseDao; -import com.epmet.modules.group.entity.ResiGroupMilestoneStatsEntity; -import com.epmet.resi.group.dto.group.ResiGroupMilestoneStatsDTO; +import com.epmet.modules.group.entity.ResiGroupAchievementStatsEntity; +import com.epmet.resi.group.dto.group.ResiGroupAchievementStatsDTO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -32,7 +32,7 @@ import java.util.List; * @since v1.0.0 2021-04-19 */ @Mapper -public interface ResiGroupMilestoneStatsDao extends BaseDao { +public interface ResiGroupAchievementStatsDao extends BaseDao { /** * 获取未完成的成就 * @author zhaoqifeng @@ -40,5 +40,5 @@ public interface ResiGroupMilestoneStatsDao extends BaseDao */ - List selectUnAchieved(@Param("groupId") String groupId); + List selectUnAchieved(@Param("groupId") String groupId); } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupMilestoneConfigEntity.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupAchievementConfigEntity.java similarity index 89% rename from epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupMilestoneConfigEntity.java rename to epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupAchievementConfigEntity.java index f0e2a9f078..be6fc3a745 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupMilestoneConfigEntity.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupAchievementConfigEntity.java @@ -33,8 +33,8 @@ import java.util.Date; */ @Data @EqualsAndHashCode(callSuper=false) -@TableName("resi_group_milestone_config") -public class ResiGroupMilestoneConfigEntity extends BaseEpmetEntity { +@TableName("resi_group_achievement_config") +public class ResiGroupAchievementConfigEntity extends BaseEpmetEntity { private static final long serialVersionUID = 1L; @@ -46,7 +46,7 @@ public class ResiGroupMilestoneConfigEntity extends BaseEpmetEntity { /** * 里程名称 */ - private String mileageName; + private String achievementName; /** * 前一个里程值 @@ -61,6 +61,6 @@ public class ResiGroupMilestoneConfigEntity extends BaseEpmetEntity { /** * 里程类型:小组人数:member;topic:话题数;转议题数:toIssue;话题解决数:resloveTopic */ - private String mileageType; + private String achievementType; } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupMilestoneStatsEntity.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupAchievementStatsEntity.java similarity index 90% rename from epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupMilestoneStatsEntity.java rename to epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupAchievementStatsEntity.java index a1bfc86c7e..8710dc43d9 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupMilestoneStatsEntity.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupAchievementStatsEntity.java @@ -33,8 +33,8 @@ import java.util.Date; */ @Data @EqualsAndHashCode(callSuper=false) -@TableName("resi_group_milestone_stats") -public class ResiGroupMilestoneStatsEntity extends BaseEpmetEntity { +@TableName("resi_group_achievement_stats") +public class ResiGroupAchievementStatsEntity extends BaseEpmetEntity { private static final long serialVersionUID = 1L; @@ -51,12 +51,12 @@ public class ResiGroupMilestoneStatsEntity extends BaseEpmetEntity { /** * 里程ID */ - private String mileageId; + private String achievementId; /** * 里程名称 */ - private String mileageName; + private String achievementName; /** * 实现时间 diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupMilestoneConfigService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupAchievementConfigService.java similarity index 77% rename from epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupMilestoneConfigService.java rename to epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupAchievementConfigService.java index e10cb0bd2a..cb45a821ef 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupMilestoneConfigService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupAchievementConfigService.java @@ -19,8 +19,8 @@ package com.epmet.modules.group.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; -import com.epmet.modules.group.entity.ResiGroupMilestoneConfigEntity; -import com.epmet.resi.group.dto.group.ResiGroupMilestoneConfigDTO; +import com.epmet.modules.group.entity.ResiGroupAchievementConfigEntity; +import com.epmet.resi.group.dto.group.ResiGroupAchievementConfigDTO; import java.util.List; import java.util.Map; @@ -31,7 +31,7 @@ import java.util.Map; * @author generator generator@elink-cn.com * @since v1.0.0 2021-04-19 */ -public interface ResiGroupMilestoneConfigService extends BaseService { +public interface ResiGroupAchievementConfigService extends BaseService { /** * 默认分页 @@ -41,7 +41,7 @@ public interface ResiGroupMilestoneConfigService extends BaseService page(Map params); + PageData page(Map params); /** * 默认查询 @@ -51,7 +51,7 @@ public interface ResiGroupMilestoneConfigService extends BaseService list(Map params); + List list(Map params); /** * 单条查询 @@ -61,7 +61,7 @@ public interface ResiGroupMilestoneConfigService extends BaseService { +public interface ResiGroupAchievementStatsService extends BaseService { /** * 默认分页 @@ -41,7 +41,7 @@ public interface ResiGroupMilestoneStatsService extends BaseService page(Map params); + PageData page(Map params); /** * 默认查询 @@ -51,7 +51,7 @@ public interface ResiGroupMilestoneStatsService extends BaseService list(Map params); + List list(Map params); /** * 单条查询 @@ -61,7 +61,7 @@ public interface ResiGroupMilestoneStatsService extends BaseService */ - List getAchieved(String groupId); + List getAchieved(String groupId); /** * 未达成的成就 @@ -109,5 +109,5 @@ public interface ResiGroupMilestoneStatsService extends BaseService */ - List getUnAchieved(String groupId); + List getUnAchieved(String groupId); } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupMilestoneConfigServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupAchievementConfigServiceImpl.java similarity index 57% rename from epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupMilestoneConfigServiceImpl.java rename to epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupAchievementConfigServiceImpl.java index 85735fa5ff..42ff9f7288 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupMilestoneConfigServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupAchievementConfigServiceImpl.java @@ -23,12 +23,11 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.constant.FieldConstant; -import com.epmet.modules.group.dao.ResiGroupMilestoneConfigDao; -import com.epmet.modules.group.entity.ResiGroupMilestoneConfigEntity; -import com.epmet.modules.group.service.ResiGroupMilestoneConfigService; -import com.epmet.resi.group.dto.group.ResiGroupMilestoneConfigDTO; +import com.epmet.modules.group.dao.ResiGroupAchievementConfigDao; +import com.epmet.modules.group.entity.ResiGroupAchievementConfigEntity; +import com.epmet.modules.group.service.ResiGroupAchievementConfigService; +import com.epmet.resi.group.dto.group.ResiGroupAchievementConfigDTO; import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -43,51 +42,51 @@ import java.util.Map; * @since v1.0.0 2021-04-19 */ @Service -public class ResiGroupMilestoneConfigServiceImpl extends BaseServiceImpl implements ResiGroupMilestoneConfigService { +public class ResiGroupAchievementConfigServiceImpl extends BaseServiceImpl implements ResiGroupAchievementConfigService { @Override - public PageData page(Map params) { - IPage page = baseDao.selectPage( + public PageData page(Map params) { + IPage page = baseDao.selectPage( getPage(params, FieldConstant.CREATED_TIME, false), getWrapper(params) ); - return getPageData(page, ResiGroupMilestoneConfigDTO.class); + return getPageData(page, ResiGroupAchievementConfigDTO.class); } @Override - public List list(Map params) { - List entityList = baseDao.selectList(getWrapper(params)); + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); - return ConvertUtils.sourceToTarget(entityList, ResiGroupMilestoneConfigDTO.class); + return ConvertUtils.sourceToTarget(entityList, ResiGroupAchievementConfigDTO.class); } - private QueryWrapper getWrapper(Map params){ + private QueryWrapper getWrapper(Map params){ String id = (String)params.get(FieldConstant.ID_HUMP); - QueryWrapper wrapper = new QueryWrapper<>(); + QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); return wrapper; } @Override - public ResiGroupMilestoneConfigDTO get(String id) { - ResiGroupMilestoneConfigEntity entity = baseDao.selectById(id); - return ConvertUtils.sourceToTarget(entity, ResiGroupMilestoneConfigDTO.class); + public ResiGroupAchievementConfigDTO get(String id) { + ResiGroupAchievementConfigEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, ResiGroupAchievementConfigDTO.class); } @Override @Transactional(rollbackFor = Exception.class) - public void save(ResiGroupMilestoneConfigDTO dto) { - ResiGroupMilestoneConfigEntity entity = ConvertUtils.sourceToTarget(dto, ResiGroupMilestoneConfigEntity.class); + public void save(ResiGroupAchievementConfigDTO dto) { + ResiGroupAchievementConfigEntity entity = ConvertUtils.sourceToTarget(dto, ResiGroupAchievementConfigEntity.class); insert(entity); } @Override @Transactional(rollbackFor = Exception.class) - public void update(ResiGroupMilestoneConfigDTO dto) { - ResiGroupMilestoneConfigEntity entity = ConvertUtils.sourceToTarget(dto, ResiGroupMilestoneConfigEntity.class); + public void update(ResiGroupAchievementConfigDTO dto) { + ResiGroupAchievementConfigEntity entity = ConvertUtils.sourceToTarget(dto, ResiGroupAchievementConfigEntity.class); updateById(entity); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupMilestoneStatsServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupAchievementStatsServiceImpl.java similarity index 59% rename from epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupMilestoneStatsServiceImpl.java rename to epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupAchievementStatsServiceImpl.java index 57dd5f1fbb..be9f4c8431 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupMilestoneStatsServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupAchievementStatsServiceImpl.java @@ -24,12 +24,11 @@ import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.constant.FieldConstant; -import com.epmet.modules.group.dao.ResiGroupMilestoneStatsDao; -import com.epmet.modules.group.entity.ResiGroupMilestoneStatsEntity; -import com.epmet.modules.group.service.ResiGroupMilestoneStatsService; -import com.epmet.resi.group.dto.group.ResiGroupMilestoneStatsDTO; +import com.epmet.modules.group.dao.ResiGroupAchievementStatsDao; +import com.epmet.modules.group.entity.ResiGroupAchievementStatsEntity; +import com.epmet.modules.group.service.ResiGroupAchievementStatsService; +import com.epmet.resi.group.dto.group.ResiGroupAchievementStatsDTO; import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -44,51 +43,51 @@ import java.util.Map; * @since v1.0.0 2021-04-19 */ @Service -public class ResiGroupMilestoneStatsServiceImpl extends BaseServiceImpl implements ResiGroupMilestoneStatsService { +public class ResiGroupAchievementStatsServiceImpl extends BaseServiceImpl implements ResiGroupAchievementStatsService { @Override - public PageData page(Map params) { - IPage page = baseDao.selectPage( + public PageData page(Map params) { + IPage page = baseDao.selectPage( getPage(params, FieldConstant.CREATED_TIME, false), getWrapper(params) ); - return getPageData(page, ResiGroupMilestoneStatsDTO.class); + return getPageData(page, ResiGroupAchievementStatsDTO.class); } @Override - public List list(Map params) { - List entityList = baseDao.selectList(getWrapper(params)); + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); - return ConvertUtils.sourceToTarget(entityList, ResiGroupMilestoneStatsDTO.class); + return ConvertUtils.sourceToTarget(entityList, ResiGroupAchievementStatsDTO.class); } - private QueryWrapper getWrapper(Map params){ + private QueryWrapper getWrapper(Map params){ String id = (String)params.get(FieldConstant.ID_HUMP); - QueryWrapper wrapper = new QueryWrapper<>(); + QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); return wrapper; } @Override - public ResiGroupMilestoneStatsDTO get(String id) { - ResiGroupMilestoneStatsEntity entity = baseDao.selectById(id); - return ConvertUtils.sourceToTarget(entity, ResiGroupMilestoneStatsDTO.class); + public ResiGroupAchievementStatsDTO get(String id) { + ResiGroupAchievementStatsEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, ResiGroupAchievementStatsDTO.class); } @Override @Transactional(rollbackFor = Exception.class) - public void save(ResiGroupMilestoneStatsDTO dto) { - ResiGroupMilestoneStatsEntity entity = ConvertUtils.sourceToTarget(dto, ResiGroupMilestoneStatsEntity.class); + public void save(ResiGroupAchievementStatsDTO dto) { + ResiGroupAchievementStatsEntity entity = ConvertUtils.sourceToTarget(dto, ResiGroupAchievementStatsEntity.class); insert(entity); } @Override @Transactional(rollbackFor = Exception.class) - public void update(ResiGroupMilestoneStatsDTO dto) { - ResiGroupMilestoneStatsEntity entity = ConvertUtils.sourceToTarget(dto, ResiGroupMilestoneStatsEntity.class); + public void update(ResiGroupAchievementStatsDTO dto) { + ResiGroupAchievementStatsEntity entity = ConvertUtils.sourceToTarget(dto, ResiGroupAchievementStatsEntity.class); updateById(entity); } @@ -108,14 +107,14 @@ public class ResiGroupMilestoneStatsServiceImpl extends BaseServiceImpl getAchieved(String groupId) { - QueryWrapper wrapper = new QueryWrapper<>(); + public List getAchieved(String groupId) { + QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("GROUP_ID", groupId); wrapper.eq("IS_ARRIVE", NumConstant.ONE); wrapper.eq("DEL_FLAG", NumConstant.ZERO); wrapper.orderByDesc("ARRIVE_TIME"); - List list = baseDao.selectList(wrapper); - return ConvertUtils.sourceToTarget(list, ResiGroupMilestoneStatsDTO.class); + List list = baseDao.selectList(wrapper); + return ConvertUtils.sourceToTarget(list, ResiGroupAchievementStatsDTO.class); } /** @@ -127,7 +126,7 @@ public class ResiGroupMilestoneStatsServiceImpl extends BaseServiceImpl getUnAchieved(String groupId) { + public List getUnAchieved(String groupId) { return baseDao.selectUnAchieved(groupId); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java index 54846ac828..7ea4720a69 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java @@ -157,7 +157,7 @@ public class ResiGroupServiceImpl extends BaseServiceImpl page(Map params) { @@ -1186,21 +1186,21 @@ public class ResiGroupServiceImpl extends BaseServiceImpl unAchievedList = resiGroupMilestoneStatsService.getUnAchieved(formDTO.getGroupId()); + List unAchievedList = resiGroupAchievementStatsService.getUnAchieved(formDTO.getGroupId()); if (CollectionUtils.isNotEmpty(unAchievedList)) { unAchievedList.forEach(item -> { AchievementDetailResultDTO.AchievementBean bean = new AchievementDetailResultDTO.AchievementBean(); - String describe = item.getMileageName() + "(" + item.getCurrentValue().toString() + "/" + item.getTargetValue().toString() + ")"; + String describe = item.getAchievementName() + "(" + item.getCurrentValue().toString() + "/" + item.getTargetValue().toString() + ")"; bean.setDescribe(describe); achievementList.add(bean); }); } //3.已完成的成就 - List achievedList = resiGroupMilestoneStatsService.getAchieved(formDTO.getGroupId()); + List achievedList = resiGroupAchievementStatsService.getAchieved(formDTO.getGroupId()); if (CollectionUtils.isNotEmpty(achievedList)) { achievedList.forEach(item -> { AchievementDetailResultDTO.AchievementBean bean = new AchievementDetailResultDTO.AchievementBean(); - bean.setDescribe(item.getMileageName()); + bean.setDescribe(item.getAchievementName()); bean.setCompletionDate(DateUtils.dateToTimestamp(item.getArriveTime())); achievementList.add(bean); }); diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupMilestoneConfigDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupAchievementConfigDao.xml similarity index 68% rename from epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupMilestoneConfigDao.xml rename to epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupAchievementConfigDao.xml index 7340b2f1d9..5531c7228e 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupMilestoneConfigDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupAchievementConfigDao.xml @@ -1,15 +1,15 @@ - + - + - + - + diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupMilestoneStatsDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupAchievementStatsDao.xml similarity index 71% rename from epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupMilestoneStatsDao.xml rename to epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupAchievementStatsDao.xml index 1c854f0bc4..7705832ba7 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupMilestoneStatsDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupAchievementStatsDao.xml @@ -1,14 +1,14 @@ - + - + - - + + @@ -20,14 +20,14 @@ - SELECT - MILEAGE_ID, - MILEAGE_NAME, + ACHIEVEMENT_ID, + ACHIEVEMENT_NAME, CURRENT_VALUE, TARGET_VALUE FROM - resi_group_milestone_stats + resi_group_achievement_stats WHERE DEL_FLAG = '0' AND GROUP_ID = #{groupId} AND IS_ARRIVE = 0 From dcb2ec8168bf712c6785601ef10319657af2630c Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Tue, 20 Apr 2021 17:53:08 +0800 Subject: [PATCH 06/99] =?UTF-8?q?=E5=B0=8F=E7=BB=84=E7=A7=AF=E5=88=86?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../form/mq/eventmsg/BasePointEventMsg.java | 13 ++ .../com/epmet/dto/BizPointTotalDetailDTO.java | 101 +++++++++++++ .../epmet/dto/BizPointUserTotalDetailDTO.java | 106 +++++++++++++ .../com/epmet/dao/BizPointTotalDetailDao.java | 43 ++++++ .../epmet/dao/BizPointUserTotalDetailDao.java | 33 ++++ .../entity/BizPointTotalDetailEntity.java | 71 +++++++++ .../entity/BizPointUserTotalDetailEntity.java | 76 ++++++++++ .../service/BizPointTotalDetailService.java | 105 +++++++++++++ .../BizPointUserTotalDetailService.java | 117 +++++++++++++++ .../impl/BizPointTotalDetailServiceImpl.java | 115 ++++++++++++++ .../BizPointUserTotalDetailServiceImpl.java | 142 ++++++++++++++++++ .../impl/UserPointActionLogServiceImpl.java | 51 ++++++- .../mapper/BizPointTotalDetailDao.xml | 33 ++++ .../mapper/BizPointUserTotalDetailDao.xml | 24 +++ .../GroupMemeberOperationServiceImpl.java | 55 +++++-- .../impl/ResiGroupMemberServiceImpl.java | 25 ++- .../impl/ResiTopicCommentServiceImpl.java | 24 ++- .../service/impl/ResiTopicServiceImpl.java | 107 +++++++++++-- .../service/impl/TopicDraftServiceImpl.java | 37 ++++- 19 files changed, 1241 insertions(+), 37 deletions(-) create mode 100644 epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/BizPointTotalDetailDTO.java create mode 100644 epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/BizPointUserTotalDetailDTO.java create mode 100644 epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/BizPointTotalDetailDao.java create mode 100644 epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/BizPointUserTotalDetailDao.java create mode 100644 epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/entity/BizPointTotalDetailEntity.java create mode 100644 epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/entity/BizPointUserTotalDetailEntity.java create mode 100644 epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/BizPointTotalDetailService.java create mode 100644 epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/BizPointUserTotalDetailService.java create mode 100644 epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointTotalDetailServiceImpl.java create mode 100644 epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointUserTotalDetailServiceImpl.java create mode 100644 epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/BizPointTotalDetailDao.xml create mode 100644 epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/BizPointUserTotalDetailDao.xml diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/mq/eventmsg/BasePointEventMsg.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/mq/eventmsg/BasePointEventMsg.java index 6f371a1e09..6c9044b499 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/mq/eventmsg/BasePointEventMsg.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/mq/eventmsg/BasePointEventMsg.java @@ -29,6 +29,17 @@ public class BasePointEventMsg implements Serializable { * 客户Id */ private String customerId; + + /** + * 机关Id + */ + private String agencyId; + + /** + * 网格Id + */ + private String gridId; + /** * 被操作用户id */ @@ -69,4 +80,6 @@ public class BasePointEventMsg implements Serializable { private Date targetDate; private String eventTag; + + private String eventClass; } diff --git a/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/BizPointTotalDetailDTO.java b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/BizPointTotalDetailDTO.java new file mode 100644 index 0000000000..f057816b87 --- /dev/null +++ b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/BizPointTotalDetailDTO.java @@ -0,0 +1,101 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dto; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 按业务类型积分总计 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-04-20 + */ +@Data +public class BizPointTotalDetailDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + private String id; + + /** + * 客户ID + */ + private String customerId; + + /** + * 组织Id + */ + private String agencyId; + + /** + * 网格ID + */ + private String gridId; + + /** + * 业务类型:小组:group + */ + private String bizType; + + /** + * 业务类型的对象id + */ + private String objectId; + + /** + * OBJECTID的总积分 总积分=objectId下所有的用户积分 + */ + private Integer totalPoint; + + /** + * 删除标识 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/BizPointUserTotalDetailDTO.java b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/BizPointUserTotalDetailDTO.java new file mode 100644 index 0000000000..3e5dc04f11 --- /dev/null +++ b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/BizPointUserTotalDetailDTO.java @@ -0,0 +1,106 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dto; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 按业务类型积分总计 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-04-20 + */ +@Data +public class BizPointUserTotalDetailDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + private String id; + + /** + * 客户ID + */ + private String customerId; + + /** + * 组织Id + */ + private String agencyId; + + /** + * 网格ID + */ + private String gridId; + + /** + * 用户ID + */ + private String userId; + + /** + * 业务类型:小组:group + */ + private String bizType; + + /** + * 业务类型的对象id + */ + private String objectId; + + /** + * OBJECTID的总积分 总积分=objectId下所有的用户积分 + */ + private Integer totalPoint; + + /** + * 删除标识 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/BizPointTotalDetailDao.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/BizPointTotalDetailDao.java new file mode 100644 index 0000000000..26e05f5a7b --- /dev/null +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/BizPointTotalDetailDao.java @@ -0,0 +1,43 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.BizPointTotalDetailDTO; +import com.epmet.entity.BizPointTotalDetailEntity; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 按业务类型积分总计 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-04-20 + */ +@Mapper +public interface BizPointTotalDetailDao extends BaseDao { + /** + * 根据业务类型查找数据 + * @author zhaoqifeng + * @date 2021/4/20 16:57 + * @param type + * @param objectId + * @return com.epmet.dto.BizPointTotalDetailDTO + */ + BizPointTotalDetailDTO selectDataByObject(@Param("type")String type, @Param("objectId")String objectId); +} \ No newline at end of file diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/BizPointUserTotalDetailDao.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/BizPointUserTotalDetailDao.java new file mode 100644 index 0000000000..f195ab4c82 --- /dev/null +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/BizPointUserTotalDetailDao.java @@ -0,0 +1,33 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.entity.BizPointUserTotalDetailEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 按业务类型积分总计 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-04-20 + */ +@Mapper +public interface BizPointUserTotalDetailDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/entity/BizPointTotalDetailEntity.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/entity/BizPointTotalDetailEntity.java new file mode 100644 index 0000000000..b05bc59705 --- /dev/null +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/entity/BizPointTotalDetailEntity.java @@ -0,0 +1,71 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 按业务类型积分总计 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-04-20 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("biz_point_total_detail") +public class BizPointTotalDetailEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户ID + */ + private String customerId; + + /** + * 组织Id + */ + private String agencyId; + + /** + * 网格ID + */ + private String gridId; + + /** + * 业务类型:小组:group + */ + private String bizType; + + /** + * 业务类型的对象id + */ + private String objectId; + + /** + * OBJECTID的总积分 总积分=objectId下所有的用户积分 + */ + private Integer totalPoint; + +} diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/entity/BizPointUserTotalDetailEntity.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/entity/BizPointUserTotalDetailEntity.java new file mode 100644 index 0000000000..e0f2960604 --- /dev/null +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/entity/BizPointUserTotalDetailEntity.java @@ -0,0 +1,76 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 按业务类型积分总计 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-04-20 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("biz_point_user_total_detail") +public class BizPointUserTotalDetailEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户ID + */ + private String customerId; + + /** + * 组织Id + */ + private String agencyId; + + /** + * 网格ID + */ + private String gridId; + + /** + * 用户ID + */ + private String userId; + + /** + * 业务类型:小组:group + */ + private String bizType; + + /** + * 业务类型的对象id + */ + private String objectId; + + /** + * OBJECTID的总积分 总积分=objectId下所有的用户积分 + */ + private Integer totalPoint; + +} diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/BizPointTotalDetailService.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/BizPointTotalDetailService.java new file mode 100644 index 0000000000..5b0c12f479 --- /dev/null +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/BizPointTotalDetailService.java @@ -0,0 +1,105 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dto.BizPointTotalDetailDTO; +import com.epmet.entity.BizPointTotalDetailEntity; + +import java.util.List; +import java.util.Map; + +/** + * 按业务类型积分总计 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-04-20 + */ +public interface BizPointTotalDetailService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2021-04-20 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2021-04-20 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return BizPointTotalDetailDTO + * @author generator + * @date 2021-04-20 + */ + BizPointTotalDetailDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2021-04-20 + */ + void save(BizPointTotalDetailDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2021-04-20 + */ + void update(BizPointTotalDetailDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2021-04-20 + */ + void delete(String[] ids); + + /** + * 根据业务类型查找数据 + * @author zhaoqifeng + * @date 2021/4/20 16:53 + * @param type + * @param objectId + * @return com.epmet.dto.BizPointTotalDetailDTO + */ + BizPointTotalDetailDTO getDataByObject(String type, String objectId); +} \ No newline at end of file diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/BizPointUserTotalDetailService.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/BizPointUserTotalDetailService.java new file mode 100644 index 0000000000..a57b72223a --- /dev/null +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/BizPointUserTotalDetailService.java @@ -0,0 +1,117 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dto.BizPointUserTotalDetailDTO; +import com.epmet.entity.BizPointUserTotalDetailEntity; + +import java.util.List; +import java.util.Map; + +/** + * 按业务类型积分总计 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-04-20 + */ +public interface BizPointUserTotalDetailService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2021-04-20 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2021-04-20 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return BizPointUserTotalDetailDTO + * @author generator + * @date 2021-04-20 + */ + BizPointUserTotalDetailDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2021-04-20 + */ + void save(BizPointUserTotalDetailDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2021-04-20 + */ + void update(BizPointUserTotalDetailDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2021-04-20 + */ + void delete(String[] ids); + + + /** + * 根据业务类型查找用户数据 + * @author zhaoqifeng + * @date 2021/4/20 16:53 + * @param type + * @param objectId + * @param userId + * @return com.epmet.dto.BizPointTotalDetailDTO + */ + BizPointUserTotalDetailDTO getDataByObject(String type, String objectId, String userId); + + /** + * 根据业务类型查找积分总和 + * @author zhaoqifeng + * @date 2021/4/20 17:21 + * @param type + * @param objectId + * @return java.lang.Integer + */ + Integer getTotalByObject(String type, String objectId); +} \ No newline at end of file diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointTotalDetailServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointTotalDetailServiceImpl.java new file mode 100644 index 0000000000..b48c131c73 --- /dev/null +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointTotalDetailServiceImpl.java @@ -0,0 +1,115 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.dao.BizPointTotalDetailDao; +import com.epmet.dto.BizPointTotalDetailDTO; +import com.epmet.entity.BizPointTotalDetailEntity; +import com.epmet.service.BizPointTotalDetailService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 按业务类型积分总计 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-04-20 + */ +@Service +public class BizPointTotalDetailServiceImpl extends BaseServiceImpl implements BizPointTotalDetailService { + + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, BizPointTotalDetailDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, BizPointTotalDetailDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public BizPointTotalDetailDTO get(String id) { + BizPointTotalDetailEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, BizPointTotalDetailDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(BizPointTotalDetailDTO dto) { + BizPointTotalDetailEntity entity = ConvertUtils.sourceToTarget(dto, BizPointTotalDetailEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(BizPointTotalDetailDTO dto) { + BizPointTotalDetailEntity entity = ConvertUtils.sourceToTarget(dto, BizPointTotalDetailEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + + /** + * 根据业务类型查找数据 + * + * @param type + * @param objectId + * @return com.epmet.dto.BizPointTotalDetailDTO + * @author zhaoqifeng + * @date 2021/4/20 16:53 + */ + @Override + public BizPointTotalDetailDTO getDataByObject(String type, String objectId) { + return baseDao.selectDataByObject(type, objectId); + } + +} \ No newline at end of file diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointUserTotalDetailServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointUserTotalDetailServiceImpl.java new file mode 100644 index 0000000000..e071670bd0 --- /dev/null +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointUserTotalDetailServiceImpl.java @@ -0,0 +1,142 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.dao.BizPointUserTotalDetailDao; +import com.epmet.dto.BizPointUserTotalDetailDTO; +import com.epmet.entity.BizPointUserTotalDetailEntity; +import com.epmet.service.BizPointUserTotalDetailService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 按业务类型积分总计 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-04-20 + */ +@Service +public class BizPointUserTotalDetailServiceImpl extends BaseServiceImpl implements BizPointUserTotalDetailService { + + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, BizPointUserTotalDetailDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, BizPointUserTotalDetailDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public BizPointUserTotalDetailDTO get(String id) { + BizPointUserTotalDetailEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, BizPointUserTotalDetailDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(BizPointUserTotalDetailDTO dto) { + BizPointUserTotalDetailEntity entity = ConvertUtils.sourceToTarget(dto, BizPointUserTotalDetailEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(BizPointUserTotalDetailDTO dto) { + BizPointUserTotalDetailEntity entity = ConvertUtils.sourceToTarget(dto, BizPointUserTotalDetailEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + + /** + * 根据业务类型查找用户数据 + * + * @param type + * @param objectId + * @param userId + * @return com.epmet.dto.BizPointTotalDetailDTO + * @author zhaoqifeng + * @date 2021/4/20 16:53 + */ + @Override + public BizPointUserTotalDetailDTO getDataByObject(String type, String objectId, String userId) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("BIZ_TYPE", type) + .eq("OBJECT_ID", objectId) + .eq("USER_ID", userId); + BizPointUserTotalDetailEntity entity = baseDao.selectOne(wrapper); + return ConvertUtils.sourceToTarget(entity, BizPointUserTotalDetailDTO.class); + } + + /** + * 根据业务类型查找积分总和 + * + * @param type + * @param objectId + * @return java.lang.Integer + * @author zhaoqifeng + * @date 2021/4/20 17:21 + */ + @Override + public Integer getTotalByObject(String type, String objectId) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.select("sum(TOTAL_POINT) as TOTAL_POINT").eq("BIZ_TYPE", type) + .eq("OBJECT_ID", objectId); + BizPointUserTotalDetailEntity entity = baseDao.selectOne(wrapper); + if (null == entity) { + return NumConstant.ZERO; + } + return entity.getTotalPoint(); + } + +} \ No newline at end of file diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java index aeaa5210cf..326a9515b2 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java @@ -31,6 +31,8 @@ import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dao.UserPointActionLogDao; +import com.epmet.dto.BizPointTotalDetailDTO; +import com.epmet.dto.BizPointUserTotalDetailDTO; import com.epmet.dto.UserPointActionLogDTO; import com.epmet.dto.form.CommonPageUserFormDTO; import com.epmet.dto.result.ResiPointLogListResultDTO; @@ -39,9 +41,7 @@ import com.epmet.entity.PointRuleEntity; import com.epmet.entity.UserPointActionLogEntity; import com.epmet.entity.UserPointStatisticalDailyEntity; import com.epmet.entity.UserPointTotalEntity; -import com.epmet.service.UserPointActionLogService; -import com.epmet.service.UserPointStatisticalDailyService; -import com.epmet.service.UserPointTotalService; +import com.epmet.service.*; import com.epmet.utils.DimIdGenerator; import com.epmet.utils.ModuleConstant; import com.epmet.utils.RuleCycleEnum; @@ -77,6 +77,10 @@ public class UserPointActionLogServiceImpl extends BaseServiceImpl page(Map params) { IPage page = baseDao.selectPage( @@ -344,6 +348,47 @@ public class UserPointActionLogServiceImpl extends BaseServiceImpl + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/BizPointUserTotalDetailDao.xml b/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/BizPointUserTotalDetailDao.xml new file mode 100644 index 0000000000..1ecd690a58 --- /dev/null +++ b/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/BizPointUserTotalDetailDao.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/GroupMemeberOperationServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/GroupMemeberOperationServiceImpl.java index 11760b07b3..2adeef419e 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/GroupMemeberOperationServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/GroupMemeberOperationServiceImpl.java @@ -35,10 +35,13 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.SendMqMsgUtils; import com.epmet.dto.IssueShareLinkRecordDTO; import com.epmet.dto.IssueShareLinkVisitRecordDTO; +import com.epmet.dto.form.CommonGridIdFormDTO; import com.epmet.dto.form.GetRoleKeyListFormDTO; +import com.epmet.dto.result.CommonDataFilterResultDTO; import com.epmet.dto.result.UserBaseInfoResultDTO; import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.feign.GovIssueOpenFeignClient; +import com.epmet.modules.feign.GovOrgFeignClient; import com.epmet.modules.group.dao.ResiGroupDao; import com.epmet.modules.group.entity.ResiGroupEntity; import com.epmet.modules.group.redis.ResiGroupRedis; @@ -114,6 +117,8 @@ public class GroupMemeberOperationServiceImpl extends BaseServiceImpl page(Map params) { @@ -279,11 +284,12 @@ public class GroupMemeberOperationServiceImpl extends BaseServiceImpl visitRecordResult = issueOpenFeignClient.visitRecord(param.getShareLinkId(), param.getUserId()); if(!visitRecordResult.success() || null == visitRecordResult.getData()){ log.error("【{}】该用户入组方式为议题分享链接入组,但未查询到链接访问记录,链接Id【{}】",param.getUserId(),param.getShareLinkId()); throw new RenException("未找到链接访问记录"); } - if(NumConstant.ZERO == visitRecordResult.getData().getIsInviteRegister()) isNew = true; + if(NumConstant.ZERO == visitRecordResult.getData().getIsInviteRegister()) { + isNew = true; + } } if(StringUtils.isNotBlank(inviter)){ + + CommonGridIdFormDTO dataFilterParam = new CommonGridIdFormDTO(); + dataFilterParam.setGridId(resiGroupDTO.getGridId()); + dataFilterParam.setUserId(param.getUserId()); + Result dataFilterResult = govOrgFeignClient.gridDataFilter(dataFilterParam); + if (!dataFilterResult.success() || null == dataFilterResult.getData()) { + throw new RenException(dataFilterResult.getMsg()); + } + //mq的事件类型 MqBaseMsgDTO mqBaseMsgDTO = new MqBaseMsgDTO(); //事件code @@ -327,11 +346,15 @@ public class GroupMemeberOperationServiceImpl extends BaseServiceImpl pointEventMsgList = new ArrayList<>(); BasePointEventMsg pointEventMsg = new BasePointEventMsg(); pointEventMsg.setCustomerId(resiGroupDTO.getCustomerId()); + pointEventMsg.setAgencyId(dataFilterResult.getData().getAgencyId()); + pointEventMsg.setGridId(resiGroupDTO.getGridId()); + pointEventMsg.setSourceId(groupId); pointEventMsg.setUserId(inviter); pointEventMsg.setActionFlag(MqConstant.PLUS); pointEventMsg.setIsCommon(false); pointEventMsg.setTargetDate(current); pointEventMsg.setEventTag(mqBaseMsgDTO.getEventTag()); + pointEventMsg.setEventClass(mqBaseMsgDTO.getEventClass()); //pointEventMsg.setRemark("通过".concat(StringUtils.equals(param.getShareLinkType(),"topic") // ? "话题":"议题").concat("分享链接邀请").concat(isNew ? "新" : "").concat("用户进组")); @@ -378,15 +401,21 @@ public class GroupMemeberOperationServiceImpl extends BaseServiceImpl page(Map params) { @@ -543,7 +548,9 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl response = issueClient.visitRecord(groupMemeberOperationDTO.getGroupInvitationId(), groupMemeberOperationDTO.getCustomerUserId()); @@ -552,7 +559,9 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl dataFilterResult = govOrgFeignClient.gridDataFilter(dataFilterParam); + if (!dataFilterResult.success() || null == dataFilterResult.getData()) { + throw new RenException(dataFilterResult.getMsg()); + } + //mq的事件类型 MqBaseMsgDTO mqBaseMsgDTO = new MqBaseMsgDTO(); mqBaseMsgDTO.setEventClass("resi_group"); @@ -568,6 +586,9 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl pointEventMsgList = new ArrayList<>(); BasePointEventMsg pointEventMsg = new BasePointEventMsg(); pointEventMsg.setCustomerId(groupCache.getCustomerId()); + pointEventMsg.setAgencyId(dataFilterResult.getData().getAgencyId()); + pointEventMsg.setGridId(groupCache.getGridId()); + pointEventMsg.setSourceId(groupCache.getGroupId()); pointEventMsg.setUserId(inviter); pointEventMsg.setActionFlag(MqConstant.PLUS); pointEventMsg.setIsCommon(false); diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicCommentServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicCommentServiceImpl.java index c930e96965..68bfea53f2 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicCommentServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicCommentServiceImpl.java @@ -39,12 +39,15 @@ import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.ScanContentUtils; import com.epmet.commons.tools.utils.SendMqMsgUtils; +import com.epmet.dto.form.CommonGridIdFormDTO; import com.epmet.dto.form.UserResiInfoListFormDTO; +import com.epmet.dto.result.CommonDataFilterResultDTO; import com.epmet.dto.result.UserResiInfoResultDTO; import com.epmet.modules.comment.entity.ResiTopicCommentEntity; import com.epmet.modules.constant.ResiGroupRedisKeys; import com.epmet.modules.constant.WxmpSubscribeConstant; import com.epmet.modules.feign.EpmetUserFeignClient; +import com.epmet.modules.feign.GovOrgFeignClient; import com.epmet.modules.group.redis.ResiGroupRedis; import com.epmet.modules.member.dao.ResiGroupMemberDao; import com.epmet.modules.member.redis.ResiGroupMemberRedis; @@ -58,6 +61,7 @@ import com.epmet.resi.group.constant.MemberStateConstant; import com.epmet.resi.group.constant.TopicConstant; import com.epmet.resi.group.dto.comment.form.ResiQueryCommentFormDTO; import com.epmet.resi.group.dto.comment.result.ResiCommentResultDTO; +import com.epmet.resi.group.dto.group.ResiGroupInfoRedisDTO; import com.epmet.resi.group.dto.member.ResiGroupMemberDTO; import com.epmet.resi.group.dto.member.ResiGroupMemberInfoRedisDTO; import com.epmet.resi.group.dto.member.result.ResiGroupMemberInfoRedisResultDTO; @@ -112,6 +116,8 @@ public class ResiTopicCommentServiceImpl extends BaseServiceImpl dataFilterResult = govOrgFeignClient.gridDataFilter(dataFilterParam); + if (!dataFilterResult.success() || null == dataFilterResult.getData()) { + throw new RenException(dataFilterResult.getMsg()); + } + pointEventMsg.setCustomerId(customerId); + pointEventMsg.setAgencyId(dataFilterResult.getData().getAgencyId()); + pointEventMsg.setGridId(groupCache.getGridId()); + pointEventMsg.setSourceId(topic.getGroupId()); pointEventMsg.setUserId(tokenDto.getUserId()); // 加分 pointEventMsg.setActionFlag(MqConstant.PLUS); pointEventMsg.setIsCommon(false); pointEventMsg.setEventTag(mqBaseMsgDTO.getEventTag()); + pointEventMsg.setEventClass(mqBaseMsgDTO.getEventClass()); //某某小组中评论话题“某某某…” StringBuilder builder = new StringBuilder(groupRedis.get(topic.getGroupId()).getGroupName()).append("小组中评论"); String content = CharMatcher.WHITESPACE.trimFrom(topic.getTopicContent()); @@ -270,7 +290,9 @@ public class ResiTopicCommentServiceImpl extends BaseServiceImpl dataFilterResult = govOrgFeignClient.gridDataFilter(dataFilterParam); + if (!dataFilterResult.success() || null == dataFilterResult.getData()) { + throw new RenException(dataFilterResult.getMsg()); } + pointEventMsg.setAgencyId(dataFilterResult.getData().getAgencyId()); pointEventMsg.setUserId(tokenDto.getUserId()); // 加分 pointEventMsg.setActionFlag(MqConstant.PLUS); pointEventMsg.setIsCommon(false); pointEventMsg.setEventTag(mqBaseMsgDTO.getEventTag()); + pointEventMsg.setEventClass(mqBaseMsgDTO.getEventClass()); pointEventMsgList.add(pointEventMsg); mqBaseMsgDTO.setMsg(JSON.toJSONString(pointEventMsgList)); @@ -708,6 +725,15 @@ public class ResiTopicServiceImpl extends BaseServiceImpl dataFilterResult = govOrgFeignClient.gridDataFilter(dataFilterParam); + if (!dataFilterResult.success() || null == dataFilterResult.getData()) { + throw new RenException(dataFilterResult.getMsg()); + } + + //mq的事件类型 MqBaseMsgDTO mqBaseMsgDTO = new MqBaseMsgDTO(); mqBaseMsgDTO.setEventClass("resi_group"); @@ -717,20 +743,24 @@ public class ResiTopicServiceImpl extends BaseServiceImpl content.length() ? "\"" : "…\"")) + - "解决"); + "已被解决"); pointEventMsgList.add(pointEventMsg); mqBaseMsgDTO.setMsg(JSON.toJSONString(pointEventMsgList)); @@ -855,8 +885,12 @@ public class ResiTopicServiceImpl extends BaseServiceImpl>> badgeR = userOpenFeignClient.userShowBadge(new UserGroupFormDTO(customerId, userId)); @@ -867,7 +901,9 @@ public class ResiTopicServiceImpl extends BaseServiceImpl().ok(resultDTO); } @@ -1649,7 +1685,9 @@ public class ResiTopicServiceImpl extends BaseServiceImpl dataFilterResult = govOrgFeignClient.gridDataFilter(dataFilterParam); + if (!dataFilterResult.success() || null == dataFilterResult.getData()) { + throw new RenException(dataFilterResult.getMsg()); + } //发送积分 //mq的事件类型 @@ -1810,10 +1869,14 @@ public class ResiTopicServiceImpl extends BaseServiceImpl dataFilterResult = govOrgFeignClient.gridDataFilter(dataFilterParam); + if (!dataFilterResult.success() || null == dataFilterResult.getData()) { + throw new RenException(dataFilterResult.getMsg()); + } + //某某小组中发布的话题“某某某…” (前十个字后面省略号) 被转为项目 if(EventEnum.TOPIC_SHIFTED_TO_PROJECT == param.getEvent()){ @@ -2188,10 +2263,14 @@ public class ResiTopicServiceImpl extends BaseServiceImpl dataFilterResult = govOrgFeignClient.gridDataFilter(dataFilterParam); + if (!dataFilterResult.success() || null == dataFilterResult.getData()) { + throw new RenException(dataFilterResult.getMsg()); + } + + sendMqMsg(draft.getCreatedBy(), draft.getCustomerId(), draft.getCreatedTime(),resiGroupRedis.get(draft.getGroupId()).getGroupName(), + breviary.toString(), dataFilterResult.getData().getAgencyId(), draft.getGridId(), draft.getGroupId()); } //记录操作记录 entity = baseDao.selectById(formDTO.getTopicDraftId()); @@ -903,8 +917,18 @@ public class TopicDraftServiceImpl extends BaseServiceImpl NumConstant.TEN ? (content.substring(NumConstant.ZERO,NumConstant.TEN) + "…") : content); breviary.append("\""); - }else breviary.append("语音话题"); - sendMqMsg(tokenDto.getUserId(), formDTO.getCustomerId(),draft.getCreatedTime(),resiGroupRedis.get(draft.getGroupId()).getGroupName(),breviary.toString()); + }else { + breviary.append("语音话题"); + } + CommonGridIdFormDTO dataFilterParam = new CommonGridIdFormDTO(); + dataFilterParam.setGridId(formDTO.getGridId()); + dataFilterParam.setUserId(tokenDto.getUserId()); + Result dataFilterResult = govOrgFeignClient.gridDataFilter(dataFilterParam); + if (!dataFilterResult.success() || null == dataFilterResult.getData()) { + throw new RenException(dataFilterResult.getMsg()); + } + sendMqMsg(tokenDto.getUserId(), formDTO.getCustomerId(), draft.getCreatedTime(), resiGroupRedis.get(draft.getGroupId()).getGroupName(), + breviary.toString(), dataFilterResult.getData().getAgencyId(), formDTO.getGridId(), formDTO.getGroupId()); } @@ -919,7 +943,8 @@ public class TopicDraftServiceImpl extends BaseServiceImpl actPointEventMsgList=new ArrayList<>(); BasePointEventMsg actPointEventMsg=new BasePointEventMsg(); actPointEventMsg.setCustomerId(customerId); + actPointEventMsg.setAgencyId(agencyId); + actPointEventMsg.setGridId(gridId); + actPointEventMsg.setSourceId(groupId); actPointEventMsg.setUserId(userId); actPointEventMsg.setActionFlag(MqConstant.PLUS); actPointEventMsg.setIsCommon(false); actPointEventMsg.setRemark(new StringBuilder(groupName).append("小组中发布").append(topicBreviary).toString()); actPointEventMsg.setTargetDate(targetDate); actPointEventMsg.setEventTag(EventEnum.PUBLISH_ONE_TOPIC.getEventTag()); + actPointEventMsg.setEventClass(EventEnum.PUBLISH_ONE_TOPIC.getEventClass()); actPointEventMsgList.add(actPointEventMsg); mqBaseMsgDTO.setMsg(JSON.toJSONString(actPointEventMsgList)); From 84419143729ff72746ae91352cfafc0cd5860485 Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 21 Apr 2021 10:18:30 +0800 Subject: [PATCH 07/99] =?UTF-8?q?=E5=B0=8F=E7=BB=84=E7=AD=89=E7=BA=A7?= =?UTF-8?q?=E5=B7=A5=E5=85=B7=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../commons/tools/constant/NumConstant.java | 1 + .../support/GroupAchievementUtils.java | 53 +++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/support/GroupAchievementUtils.java diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/NumConstant.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/NumConstant.java index 8f416ef8e9..7946935ffd 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/NumConstant.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/NumConstant.java @@ -40,6 +40,7 @@ public interface NumConstant { int FIFTY_ONE = 51; int SIXTY = 60; int ONE_HUNDRED = 100; + int FIVE_HUNDRED = 500; BigDecimal ONE_HUNDRED_DECIMAL = new BigDecimal(100); BigDecimal ZERO_DECIMAL = new BigDecimal(0); int ONE_THOUSAND = 1000; diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/support/GroupAchievementUtils.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/support/GroupAchievementUtils.java new file mode 100644 index 0000000000..0f135804a8 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/support/GroupAchievementUtils.java @@ -0,0 +1,53 @@ +package com.epmet.modules.support; + +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.RenException; + +/** + * desc:小组成就下一等级规则工具类 + * + * @author: LiuJanJun + * @date: 2021/4/19 4:11 下午 + * @version: 1.0 + * @remark 利用此工具类生成下一等级的目标值 + */ +public class GroupAchievementUtils { + //小组人数、话题数、转议题数、小组内问题解决数 + + /** + * desc:获取下一等级的话题数目标值 步长500 起始值 500 + * + * @param currentValue + */ + public static Integer getNextTopicTargetValue(Integer currentValue) { + if (currentValue < NumConstant.FIVE_HUNDRED) { + throw new RenException(EpmetErrorCode.INTERNAL_VALIDATE_ERROR.getCode()); + } + return currentValue + NumConstant.FIVE_HUNDRED; + } + + /** + * desc:获取下一等级的转议题数目标值 步长50 起始值 100 + * + * @param currentValue + */ + public static Integer getNextToIssueTargetValue(Integer currentValue) { + if (currentValue < NumConstant.ONE_HUNDRED) { + throw new RenException(EpmetErrorCode.INTERNAL_VALIDATE_ERROR.getCode()); + } + return currentValue + NumConstant.FIFTY; + } + + /** + * desc:获取下一等级的话题解决数目标值 步长100 起始值 100 + * + * @param currentValue + */ + public static Integer getNextResolveTopicTargetValue(Integer currentValue) { + if (currentValue < NumConstant.ONE_HUNDRED) { + throw new RenException(EpmetErrorCode.INTERNAL_VALIDATE_ERROR.getCode()); + } + return currentValue + NumConstant.ONE_HUNDRED; + } +} From b946c123a2366ab02a2306f05a46b4a602a186b7 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Wed, 21 Apr 2021 10:27:29 +0800 Subject: [PATCH 08/99] =?UTF-8?q?=E5=B0=8F=E7=BB=84=E7=AD=89=E7=BA=A7?= =?UTF-8?q?=E7=A7=AF=E5=88=86=E5=B7=A5=E5=85=B7=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/support/GroupLevelUtils.java | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/support/GroupLevelUtils.java diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/support/GroupLevelUtils.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/support/GroupLevelUtils.java new file mode 100644 index 0000000000..266cc096f0 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/support/GroupLevelUtils.java @@ -0,0 +1,35 @@ +package com.epmet.modules.support; + +/** + * 小组等级积分工具类 + * + * @author zhaoqifeng + * @date 2021/4/21 10:22 + */ +public class GroupLevelUtils { + /** + * 根据等级算出升级所需的积分 + * + * @param level + * @return java.lang.Integer + * @author zhaoqifeng + * @date 2021/4/21 10:25 + */ + public static Integer getPoint(Integer level) { + Integer point = 0; + return point; + } + + /** + * 根据积分算出当前的等级 + * + * @param point + * @return java.lang.Integer + * @author zhaoqifeng + * @date 2021/4/21 10:25 + */ + public static Integer getLevel(Integer point) { + Integer level = 0; + return level; + } +} From 68faf0e6c5929593e3e34be5ad3c1490c3f68071 Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 21 Apr 2021 15:49:49 +0800 Subject: [PATCH 09/99] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E5=B0=8F=E7=BB=84?= =?UTF-8?q?=E7=AD=89=E7=BA=A7=E7=BA=A7=E5=88=86=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/support/GroupLevelUtils.java | 91 ++++++++++++++----- 1 file changed, 66 insertions(+), 25 deletions(-) diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/support/GroupLevelUtils.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/support/GroupLevelUtils.java index 266cc096f0..b6c6b12b8a 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/support/GroupLevelUtils.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/support/GroupLevelUtils.java @@ -1,35 +1,76 @@ package com.epmet.modules.support; +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.RenException; +import lombok.extern.slf4j.Slf4j; + +import java.util.concurrent.atomic.AtomicBoolean; +import java.util.concurrent.atomic.AtomicInteger; + /** * 小组等级积分工具类 * * @author zhaoqifeng * @date 2021/4/21 10:22 */ +@Slf4j public class GroupLevelUtils { - /** - * 根据等级算出升级所需的积分 - * - * @param level - * @return java.lang.Integer - * @author zhaoqifeng - * @date 2021/4/21 10:25 - */ - public static Integer getPoint(Integer level) { - Integer point = 0; - return point; - } - - /** - * 根据积分算出当前的等级 - * - * @param point - * @return java.lang.Integer - * @author zhaoqifeng - * @date 2021/4/21 10:25 - */ - public static Integer getLevel(Integer point) { - Integer level = 0; - return level; - } + + /** + * 根据等级算出升级所需的积分 + * + * @param level + * @return java.lang.Integer + * @author zhaoqifeng + * @date 2021/4/21 10:25 + * @remark 通项公式:an=n(n-1)/2+2n-2(n∈N+) -3+n(n-1)/2(需要特殊处理,所以引用前面的) + */ + public static Integer getPoint(Integer level) { + if (level == null || level < NumConstant.ONE) { + throw new RenException(EpmetErrorCode.INTERNAL_VALIDATE_ERROR.getCode()); + } + Integer point = (level * (level - NumConstant.ONE) / NumConstant.TWO + NumConstant.TWO * level - NumConstant.TWO) * NumConstant.ONE_HUNDRED; + log.info("getPoint level:{},point:{}", level, point); + return point; + } + + /** + * 根据积分算出当前的等级 + * + * @param point + * @return java.lang.Integer + * @author zhaoqifeng + * @date 2021/4/21 10:25 + */ + public static Integer getLevel(Integer point) { + if (point == null || point < NumConstant.ZERO) { + throw new RenException(EpmetErrorCode.INTERNAL_VALIDATE_ERROR.getCode()); + } + //如果是0 则返回等级1 + if (point == NumConstant.ZERO) { + return NumConstant.ONE; + } + AtomicBoolean flag = new AtomicBoolean(false); + AtomicInteger initLevel = new AtomicInteger(1); + do { + Integer point1 = getPoint(initLevel.incrementAndGet()); + if (point < point1) { + int i = initLevel.decrementAndGet(); + log.info("getLevel level:{},point:{}", i, point); + return i; + } + + } while (!flag.get()); + return null; + } + + public static void main(String[] args) { + for (int i = 1; i < 10; i++) { + System.out.println("lv" + i + ":" + getPoint(i)); + } + System.out.println(getLevel(3300)); + System.out.println(getLevel(299)); + + } } From 406ee7d44c813ebf7f18f2d0376b97a692f9fe67 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Thu, 22 Apr 2021 10:16:56 +0800 Subject: [PATCH 10/99] =?UTF-8?q?=E5=B0=8F=E7=BB=84=E6=88=90=E5=B0=B1?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dto/form/GroupPointFormDTO.java | 17 ++ .../result/GroupPointRankingResultDTO.java | 38 ++++ .../dto/result/PointRankingResultDTO.java | 44 +++++ .../epmet-point/epmet-point-server/pom.xml | 6 + .../controller/GroupPointController.java | 76 ++++++++ .../epmet/dao/BizPointUserTotalDetailDao.java | 13 +- .../service/BizPointTotalDetailService.java | 150 ++++++++------- .../BizPointUserTotalDetailService.java | 172 ++++++++++-------- .../impl/BizPointTotalDetailServiceImpl.java | 83 +++++++++ .../BizPointUserTotalDetailServiceImpl.java | 99 +++++++++- .../mapper/BizPointUserTotalDetailDao.xml | 8 + .../resi/group/dto/group/ResiGroupDTO.java | 10 + .../result/GroupPointDetailResultDTO.java | 46 +++++ .../member/result/AchievementResultDTO.java | 17 ++ .../member/result/GroupAchievementDTO.java | 17 ++ .../group/feign/ResiGroupOpenFeignClient.java | 35 +++- .../ResiGroupOpenFeignClientFallback.java | 44 ++++- .../group/controller/ResiGroupController.java | 55 +++++- .../epmet/modules/group/dao/ResiGroupDao.java | 10 + .../modules/group/entity/ResiGroupEntity.java | 10 + .../group/service/ResiGroupService.java | 30 +++ .../service/impl/ResiGroupServiceImpl.java | 65 +++++++ .../resources/mapper/group/ResiGroupDao.xml | 15 ++ 23 files changed, 908 insertions(+), 152 deletions(-) create mode 100644 epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/GroupPointFormDTO.java create mode 100644 epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/GroupPointRankingResultDTO.java create mode 100644 epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/PointRankingResultDTO.java create mode 100644 epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/GroupPointController.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupPointDetailResultDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/result/AchievementResultDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/result/GroupAchievementDTO.java diff --git a/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/GroupPointFormDTO.java b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/GroupPointFormDTO.java new file mode 100644 index 0000000000..8da5ab5729 --- /dev/null +++ b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/GroupPointFormDTO.java @@ -0,0 +1,17 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author zhaoqifeng + * @dscription + * @date 2021/4/21 9:50 + */ +@Data +public class GroupPointFormDTO implements Serializable { + private static final long serialVersionUID = -3231073030413434313L; + private String groupId; + private String gridId; +} diff --git a/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/GroupPointRankingResultDTO.java b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/GroupPointRankingResultDTO.java new file mode 100644 index 0000000000..275a5917ba --- /dev/null +++ b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/GroupPointRankingResultDTO.java @@ -0,0 +1,38 @@ +package com.epmet.dto.result; + +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +/** + * @author zhaoqifeng + * @dscription + * @date 2021/4/21 10:34 + */ +@NoArgsConstructor +@Data +public class GroupPointRankingResultDTO implements Serializable { + + private static final long serialVersionUID = -9215609608003827403L; + /** + * 排名 + */ + private String ranking; + /** + * 小组名 + */ + private String groupName; + /** + * 小组积分 + */ + private String point; + /** + * 是否本小组 + */ + private String isMine; + /** + * 小组ID + */ + private String groupId; +} diff --git a/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/PointRankingResultDTO.java b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/PointRankingResultDTO.java new file mode 100644 index 0000000000..c063eb8286 --- /dev/null +++ b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/PointRankingResultDTO.java @@ -0,0 +1,44 @@ +package com.epmet.dto.result; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +/** + * @author zhaoqifeng + * @dscription + * @date 2021/4/21 10:05 + */ +@NoArgsConstructor +@Data +public class PointRankingResultDTO implements Serializable { + + private static final long serialVersionUID = -5383837225811609227L; + /** + * 头像 + */ + private String headPhoto; + /** + * 支部小组-姓名/普通小组-昵称 + */ + private String name; + /** + * 积分 + */ + private String point; + /** + * 排名 + */ + private String ranking; + /** + * 是否本人 + */ + private String isMine; + /** + * 用户ID + */ + @JsonIgnore + private String userId; +} diff --git a/epmet-module/epmet-point/epmet-point-server/pom.xml b/epmet-module/epmet-point/epmet-point-server/pom.xml index d582216f11..8669a27eb7 100644 --- a/epmet-module/epmet-point/epmet-point-server/pom.xml +++ b/epmet-module/epmet-point/epmet-point-server/pom.xml @@ -87,6 +87,12 @@ 2.0.0 compile + + com.epmet + resi-group-client + 2.0.0 + compile + diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/GroupPointController.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/GroupPointController.java new file mode 100644 index 0000000000..0715bb6c8e --- /dev/null +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/GroupPointController.java @@ -0,0 +1,76 @@ +package com.epmet.controller; + +import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.GroupPointFormDTO; +import com.epmet.resi.group.dto.group.result.GroupPointDetailResultDTO; +import com.epmet.dto.result.GroupPointRankingResultDTO; +import com.epmet.dto.result.PointRankingResultDTO; +import com.epmet.service.BizPointTotalDetailService; +import com.epmet.service.BizPointUserTotalDetailService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * @author zhaoqifeng + * 小组积分 + * @date 2021/4/21 9:45 + */ +@RestController +@RequestMapping("group/point") +public class GroupPointController { + + @Autowired + private BizPointUserTotalDetailService bizPointUserTotalDetailService; + @Autowired + private BizPointTotalDetailService bizPointTotalDetailService; + + /** + * 小组积分贡献榜 + * + * @param tokenDto + * @param formDTO + * @return com.epmet.commons.tools.utils.Result> + * @author zhaoqifeng + * @date 2021/4/21 14:02 + */ + @PostMapping("pointranking") + public Result> pointRanking(@LoginUser TokenDto tokenDto, @RequestBody GroupPointFormDTO formDTO) { + List list = bizPointUserTotalDetailService.pointRanking(tokenDto, formDTO); + return new Result>().ok(list); + } + + /** + * 网格小组积分排行 + * + * @param formDTO + * @return com.epmet.commons.tools.utils.Result> + * @author zhaoqifeng + * @date 2021/4/21 14:02 + */ + @PostMapping("grouppointranking") + public Result> groupPointRanking(@RequestBody GroupPointFormDTO formDTO) { + List list = bizPointTotalDetailService.groupPointRanking(formDTO); + return new Result>().ok(list); + } + + /** + * 小组积分详情 + * + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @author zhaoqifeng + * @date 2021/4/21 14:02 + */ + @PostMapping("pointdetail") + public Result pointDetail(@RequestBody GroupPointFormDTO formDTO) { + GroupPointDetailResultDTO result = bizPointTotalDetailService.pointDetail(formDTO); + return new Result().ok(result); + } +} diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/BizPointUserTotalDetailDao.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/BizPointUserTotalDetailDao.java index f195ab4c82..0813114d27 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/BizPointUserTotalDetailDao.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/BizPointUserTotalDetailDao.java @@ -20,6 +20,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.entity.BizPointUserTotalDetailEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * 按业务类型积分总计 @@ -29,5 +30,15 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface BizPointUserTotalDetailDao extends BaseDao { - + + /** + * 获取今日积分增量 + * @author zhaoqifeng + * @date 2021/4/21 16:56 + * @param type + * @param objectId + * @return java.lang.Integer + */ + Integer selectIncrease(@Param("type")String type, @Param("objectId")String objectId); + } \ No newline at end of file diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/BizPointTotalDetailService.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/BizPointTotalDetailService.java index 5b0c12f479..f72e49ba39 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/BizPointTotalDetailService.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/BizPointTotalDetailService.java @@ -20,6 +20,9 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.BizPointTotalDetailDTO; +import com.epmet.dto.form.GroupPointFormDTO; +import com.epmet.resi.group.dto.group.result.GroupPointDetailResultDTO; +import com.epmet.dto.result.GroupPointRankingResultDTO; import com.epmet.entity.BizPointTotalDetailEntity; import java.util.List; @@ -33,73 +36,94 @@ import java.util.Map; */ public interface BizPointTotalDetailService extends BaseService { - /** - * 默认分页 - * - * @param params - * @return PageData - * @author generator - * @date 2021-04-20 - */ - PageData page(Map params); + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2021-04-20 + */ + PageData page(Map params); - /** - * 默认查询 - * - * @param params - * @return java.util.List - * @author generator - * @date 2021-04-20 - */ - List list(Map params); + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2021-04-20 + */ + List list(Map params); - /** - * 单条查询 - * - * @param id - * @return BizPointTotalDetailDTO - * @author generator - * @date 2021-04-20 - */ - BizPointTotalDetailDTO get(String id); + /** + * 单条查询 + * + * @param id + * @return BizPointTotalDetailDTO + * @author generator + * @date 2021-04-20 + */ + BizPointTotalDetailDTO get(String id); - /** - * 默认保存 - * - * @param dto - * @return void - * @author generator - * @date 2021-04-20 - */ - void save(BizPointTotalDetailDTO dto); + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2021-04-20 + */ + void save(BizPointTotalDetailDTO dto); - /** - * 默认更新 - * - * @param dto - * @return void - * @author generator - * @date 2021-04-20 - */ - void update(BizPointTotalDetailDTO dto); + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2021-04-20 + */ + void update(BizPointTotalDetailDTO dto); - /** - * 批量删除 - * - * @param ids - * @return void - * @author generator - * @date 2021-04-20 - */ - void delete(String[] ids); + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2021-04-20 + */ + void delete(String[] ids); - /** - * 根据业务类型查找数据 - * @author zhaoqifeng - * @date 2021/4/20 16:53 - * @param type - * @param objectId - * @return com.epmet.dto.BizPointTotalDetailDTO - */ - BizPointTotalDetailDTO getDataByObject(String type, String objectId); + /** + * 根据业务类型查找数据 + * + * @param type + * @param objectId + * @return com.epmet.dto.BizPointTotalDetailDTO + * @author zhaoqifeng + * @date 2021/4/20 16:53 + */ + BizPointTotalDetailDTO getDataByObject(String type, String objectId); + + /** + * 小组积分详情 + * + * @param formDTO + * @return com.epmet.resi.group.dto.group.result.GroupPointDetailResultDTO + * @author zhaoqifeng + * @date 2021/4/21 14:05 + */ + GroupPointDetailResultDTO pointDetail(GroupPointFormDTO formDTO); + + /** + * 网格小组积分排行 + * + * @param formDTO + * @return java.util.List + * @author zhaoqifeng + * @date 2021/4/21 14:05 + */ + List groupPointRanking(GroupPointFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/BizPointUserTotalDetailService.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/BizPointUserTotalDetailService.java index a57b72223a..51e8172f7c 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/BizPointUserTotalDetailService.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/BizPointUserTotalDetailService.java @@ -19,7 +19,10 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.dto.BizPointUserTotalDetailDTO; +import com.epmet.dto.form.GroupPointFormDTO; +import com.epmet.dto.result.PointRankingResultDTO; import com.epmet.entity.BizPointUserTotalDetailEntity; import java.util.List; @@ -33,85 +36,108 @@ import java.util.Map; */ public interface BizPointUserTotalDetailService extends BaseService { - /** - * 默认分页 - * - * @param params - * @return PageData - * @author generator - * @date 2021-04-20 - */ - PageData page(Map params); + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2021-04-20 + */ + PageData page(Map params); - /** - * 默认查询 - * - * @param params - * @return java.util.List - * @author generator - * @date 2021-04-20 - */ - List list(Map params); + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2021-04-20 + */ + List list(Map params); - /** - * 单条查询 - * - * @param id - * @return BizPointUserTotalDetailDTO - * @author generator - * @date 2021-04-20 - */ - BizPointUserTotalDetailDTO get(String id); + /** + * 单条查询 + * + * @param id + * @return BizPointUserTotalDetailDTO + * @author generator + * @date 2021-04-20 + */ + BizPointUserTotalDetailDTO get(String id); - /** - * 默认保存 - * - * @param dto - * @return void - * @author generator - * @date 2021-04-20 - */ - void save(BizPointUserTotalDetailDTO dto); + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2021-04-20 + */ + void save(BizPointUserTotalDetailDTO dto); - /** - * 默认更新 - * - * @param dto - * @return void - * @author generator - * @date 2021-04-20 - */ - void update(BizPointUserTotalDetailDTO dto); + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2021-04-20 + */ + void update(BizPointUserTotalDetailDTO dto); - /** - * 批量删除 - * - * @param ids - * @return void - * @author generator - * @date 2021-04-20 - */ - void delete(String[] ids); + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2021-04-20 + */ + void delete(String[] ids); - /** - * 根据业务类型查找用户数据 - * @author zhaoqifeng - * @date 2021/4/20 16:53 - * @param type - * @param objectId - * @param userId - * @return com.epmet.dto.BizPointTotalDetailDTO - */ - BizPointUserTotalDetailDTO getDataByObject(String type, String objectId, String userId); + /** + * 根据业务类型查找用户数据 + * + * @param type + * @param objectId + * @param userId + * @return com.epmet.dto.BizPointTotalDetailDTO + * @author zhaoqifeng + * @date 2021/4/20 16:53 + */ + BizPointUserTotalDetailDTO getDataByObject(String type, String objectId, String userId); - /** - * 根据业务类型查找积分总和 - * @author zhaoqifeng - * @date 2021/4/20 17:21 - * @param type - * @param objectId - * @return java.lang.Integer - */ - Integer getTotalByObject(String type, String objectId); + /** + * 根据业务类型查找积分总和 + * + * @param type + * @param objectId + * @return java.lang.Integer + * @author zhaoqifeng + * @date 2021/4/20 17:21 + */ + Integer getTotalByObject(String type, String objectId); + + /** + * 小组积分贡献榜 + * + * @param tokenDto + * @param formDTO + * @return java.util.List + * @author zhaoqifeng + * @date 2021/4/21 14:06 + */ + List pointRanking(TokenDto tokenDto, GroupPointFormDTO formDTO); + + /** + * 获取今日增量 + * @author zhaoqifeng + * @date 2021/4/21 16:41 + * @param type + * @param objectId + * @return java.lang.Integer + */ + Integer getIncrease(String type, String objectId); } \ No newline at end of file diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointTotalDetailServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointTotalDetailServiceImpl.java index b48c131c73..e0a03fe667 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointTotalDetailServiceImpl.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointTotalDetailServiceImpl.java @@ -20,21 +20,32 @@ package com.epmet.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.utils.Result; import com.epmet.dao.BizPointTotalDetailDao; import com.epmet.dto.BizPointTotalDetailDTO; +import com.epmet.dto.form.GroupPointFormDTO; +import com.epmet.resi.group.dto.group.result.GroupPointDetailResultDTO; +import com.epmet.dto.result.GroupPointRankingResultDTO; import com.epmet.entity.BizPointTotalDetailEntity; +import com.epmet.resi.group.dto.group.ResiGroupDTO; +import com.epmet.resi.group.feign.ResiGroupOpenFeignClient; import com.epmet.service.BizPointTotalDetailService; +import com.epmet.service.BizPointUserTotalDetailService; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * 按业务类型积分总计 @@ -45,6 +56,10 @@ import java.util.Map; @Service public class BizPointTotalDetailServiceImpl extends BaseServiceImpl implements BizPointTotalDetailService { + @Autowired + private ResiGroupOpenFeignClient resiGroupOpenFeignClient; + @Autowired + private BizPointUserTotalDetailService bizPointUserTotalDetailService; @Override public PageData page(Map params) { @@ -112,4 +127,72 @@ public class BizPointTotalDetailServiceImpl extends BaseServiceImpl result = resiGroupOpenFeignClient.groupPointDetail(formDTO.getGroupId()); + if (!result.success() || null == result.getData()) { + throw new RenException(result.getCode(), result.getMsg()); + } + GroupPointDetailResultDTO detail = result.getData(); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("BIZ_TYPE", "group") + .eq("OBJECT_ID", formDTO.getGroupId()) + .eq("DEL_FLAG", NumConstant.ZERO_STR); + BizPointTotalDetailEntity entity = baseDao.selectOne(wrapper); + int toUpgrade = Integer.parseInt(detail.getNextLevelPoint()) - entity.getTotalPoint(); + detail.setToUpgrade(Integer.toString(toUpgrade)); + Integer increase = bizPointUserTotalDetailService.getIncrease("group", formDTO.getGroupId()); + detail.setIncrease(increase.toString()); + detail.setTotal(entity.getTotalPoint().toString()); + detail.setCurrentPoint(entity.getTotalPoint().toString()); + return detail; + } + + /** + * 网格小组积分排行 + * + * @param formDTO + * @return java.util.List + * @author zhaoqifeng + * @date 2021/4/21 14:05 + */ + @Override + public List groupPointRanking(GroupPointFormDTO formDTO) { + List list = new ArrayList<>(); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("BIZ_TYPE", "group") + .eq("GRID_ID", formDTO.getGridId()) + .eq("DEL_FLAG", NumConstant.ZERO_STR) + .orderByDesc("TOTAL_POINT"); + List totalDetailList = baseDao.selectList(wrapper); + Result> groupList = resiGroupOpenFeignClient.getGroupListByGrid(formDTO.getGridId()); + list = + totalDetailList.stream().flatMap(detail -> groupList.getData().stream().filter(item -> item.getId().equals(detail.getObjectId())).map(group -> { + GroupPointRankingResultDTO dto = new GroupPointRankingResultDTO(); + dto.setGroupId(group.getId()); + dto.setGroupName(group.getGroupName()); + dto.setPoint(detail.getTotalPoint().toString()); + if (formDTO.getGroupId().equals(group.getId())) { + dto.setIsMine(NumConstant.ONE_STR); + } else { + dto.setIsMine(NumConstant.ZERO_STR); + } + return dto; + })).collect(Collectors.toList()); + int i = 1; + for (GroupPointRankingResultDTO dto : list) { + dto.setRanking(String.valueOf(i)); + i++; + } + return list; + } + } \ No newline at end of file diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointUserTotalDetailServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointUserTotalDetailServiceImpl.java index e071670bd0..e6fc360f26 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointUserTotalDetailServiceImpl.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointUserTotalDetailServiceImpl.java @@ -21,20 +21,32 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.utils.Result; import com.epmet.dao.BizPointUserTotalDetailDao; import com.epmet.dto.BizPointUserTotalDetailDTO; +import com.epmet.dto.form.GroupPointFormDTO; +import com.epmet.dto.result.PointRankingResultDTO; +import com.epmet.dto.result.UserBaseInfoResultDTO; import com.epmet.entity.BizPointUserTotalDetailEntity; +import com.epmet.feign.EpmetUserOpenFeignClient; +import com.epmet.resi.group.dto.group.ResiGroupDTO; +import com.epmet.resi.group.feign.ResiGroupOpenFeignClient; import com.epmet.service.BizPointUserTotalDetailService; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * 按业务类型积分总计 @@ -45,6 +57,10 @@ import java.util.Map; @Service public class BizPointUserTotalDetailServiceImpl extends BaseServiceImpl implements BizPointUserTotalDetailService { + @Autowired + private EpmetUserOpenFeignClient epmetUserOpenFeignClient; + @Autowired + private ResiGroupOpenFeignClient resiGroupOpenFeignClient; @Override public PageData page(Map params) { @@ -113,7 +129,8 @@ public class BizPointUserTotalDetailServiceImpl extends BaseServiceImpl wrapper = new QueryWrapper<>(); wrapper.eq("BIZ_TYPE", type) .eq("OBJECT_ID", objectId) - .eq("USER_ID", userId); + .eq("USER_ID", userId) + .eq("DEL_FLAG", NumConstant.ZERO_STR); BizPointUserTotalDetailEntity entity = baseDao.selectOne(wrapper); return ConvertUtils.sourceToTarget(entity, BizPointUserTotalDetailDTO.class); } @@ -130,8 +147,10 @@ public class BizPointUserTotalDetailServiceImpl extends BaseServiceImpl wrapper = new QueryWrapper<>(); - wrapper.select("sum(TOTAL_POINT) as TOTAL_POINT").eq("BIZ_TYPE", type) - .eq("OBJECT_ID", objectId); + wrapper.select("IFNULL(SUM(TOTAL_POINT), 0) as TOTAL_POINT") + .eq("BIZ_TYPE", type) + .eq("OBJECT_ID", objectId) + .eq("DEL_FLAG", NumConstant.ZERO_STR); BizPointUserTotalDetailEntity entity = baseDao.selectOne(wrapper); if (null == entity) { return NumConstant.ZERO; @@ -139,4 +158,78 @@ public class BizPointUserTotalDetailServiceImpl extends BaseServiceImpl + * @author zhaoqifeng + * @date 2021/4/21 14:06 + */ + @Override + public List pointRanking(TokenDto tokenDto, GroupPointFormDTO formDTO) { + List list = new ArrayList<>(); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("BIZ_TYPE", "group") + .eq("OBJECT_ID", formDTO.getGroupId()) + .eq("DEL_FLAG", NumConstant.ZERO_STR) + .orderByDesc("TOTAL_POINT"); + List userTotalList = baseDao.selectList(wrapper); + int i = 1; + list = userTotalList.stream().map(item -> { + PointRankingResultDTO dto = new PointRankingResultDTO(); + dto.setUserId(item.getUserId()); + dto.setPoint(item.getTotalPoint().toString()); + if (tokenDto.getUserId().equals(item.getUserId())) { + dto.setIsMine(NumConstant.ONE_STR); + } else { + dto.setIsMine(NumConstant.ZERO_STR); + } + return dto; + }).collect(Collectors.toList()); + for (PointRankingResultDTO dto : list) { + dto.setRanking(String.valueOf(i)); + i++; + } + + //获取小组信息 + Result group = resiGroupOpenFeignClient.getGroupDetail(formDTO.getGroupId()); + if (!group.success() || null == group.getData()) { + throw new RenException(group.getCode(), group.getMsg()); + } + //获取用户信息 + List userIds = userTotalList.stream().map(BizPointUserTotalDetailEntity :: getUserId).collect(Collectors.toList()); + Result> userInfoListResult = epmetUserOpenFeignClient.queryUserBaseInfo(userIds); + if (!userInfoListResult.success() || null == userInfoListResult.getData()) { + throw new RenException(userInfoListResult.getCode(), userInfoListResult.getMsg()); + } + list.forEach(item -> userInfoListResult.getData().stream().filter(baseInfo -> item.getUserId().equals(baseInfo.getUserId())).forEach( + user -> { + //楼院小组显示昵称,支部小组显示姓名 + if (("ordinary").equals(group.getData().getGroupType())) { + item.setName(user.getNickname()); + } else { + item.setName(user.getName()); + } + item.setHeadPhoto(user.getHeadImgUrl()); + } + )); + return list; + } + + /** + * 获取今日增量 + * + * @param type + * @param objectId + * @return java.lang.Integer + * @author zhaoqifeng + * @date 2021/4/21 16:41 + */ + @Override + public Integer getIncrease(String type, String objectId) { + return baseDao.selectIncrease(type, objectId); + } + } \ No newline at end of file diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/BizPointUserTotalDetailDao.xml b/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/BizPointUserTotalDetailDao.xml index 1ecd690a58..a846469881 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/BizPointUserTotalDetailDao.xml +++ b/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/BizPointUserTotalDetailDao.xml @@ -19,6 +19,14 @@ + \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupDTO.java index b2d57ecc1d..3153903240 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupDTO.java @@ -85,6 +85,16 @@ Ps: 如果一个小组被拒绝,当前小组的状态将永久停留在“审 */ private String visitSwitch; + /** + * 小组类型(ordinary:楼院小组 branch:支部小组) + */ + private String groupType; + + /** + * 小组等级 + */ + private Integer level; + /** * 删除标记 0:未删除,1:已删除 */ diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupPointDetailResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupPointDetailResultDTO.java new file mode 100644 index 0000000000..bc98f16da2 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupPointDetailResultDTO.java @@ -0,0 +1,46 @@ +package com.epmet.resi.group.dto.group.result; + +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +/** + * @author zhaoqifeng + * @dscription + * @date 2021/4/21 10:37 + */ +@NoArgsConstructor +@Data +public class GroupPointDetailResultDTO implements Serializable { + + private static final long serialVersionUID = -1158521486690554498L; + /** + * 小组当前等级 + */ + private String level; + /** + * 总积分 + */ + private String total; + /** + * 今日增长 + */ + private String increase; + /** + * 距离升级所需积分 + */ + private String toUpgrade; + /** + * 下一等级积分 + */ + private String nextLevelPoint; + /** + * 下一等级 + */ + private String nextLevel; + /** + * 当前积分 + */ + private String currentPoint; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/result/AchievementResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/result/AchievementResultDTO.java new file mode 100644 index 0000000000..f8daf7af21 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/result/AchievementResultDTO.java @@ -0,0 +1,17 @@ +package com.epmet.resi.group.dto.member.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @author zhaoqifeng + * @dscription + * @date 2021/4/22 9:24 + */ +@Data +public class AchievementResultDTO implements Serializable { + private static final long serialVersionUID = 8079550501852632061L; + private List achievement; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/result/GroupAchievementDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/result/GroupAchievementDTO.java new file mode 100644 index 0000000000..312a5759c2 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/result/GroupAchievementDTO.java @@ -0,0 +1,17 @@ +package com.epmet.resi.group.dto.member.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author zhaoqifeng + * @dscription + * @date 2021/4/22 9:42 + */ +@Data +public class GroupAchievementDTO implements Serializable { + private static final long serialVersionUID = 2195790168656351743L; + private String groupName; + private String achievementName; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java index d604e0abc6..ff0039c9d9 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java @@ -5,10 +5,7 @@ import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.Result; import com.epmet.resi.group.dto.group.ResiGroupDTO; import com.epmet.resi.group.dto.group.form.*; -import com.epmet.resi.group.dto.group.result.ApplicationDetailCopyResultDTO; -import com.epmet.resi.group.dto.group.result.ApplyingGroupResultDTO; -import com.epmet.resi.group.dto.group.result.GroupEditionDetailResultDTO; -import com.epmet.resi.group.dto.group.result.GroupInfoResultDTO; +import com.epmet.resi.group.dto.group.result.*; import com.epmet.resi.group.dto.topic.MyCreateTopicsFormDTO; import com.epmet.resi.group.dto.topic.ResiTopicDTO; import com.epmet.resi.group.dto.topic.form.*; @@ -216,4 +213,34 @@ public interface ResiGroupOpenFeignClient { **/ @PostMapping(value = "/resi/group/topic/topicattachmentlist") Result topicAttachmentList(@RequestBody TopicAttachmentFormDTO formDTO); + + /** + * 获取小组详情 + * @author zhaoqifeng + * @date 2021/4/21 15:20 + * @param groupId + * @return com.epmet.commons.tools.utils.Result + */ + @PostMapping("resi/group/group/groupDetail/{groupId}") + Result getGroupDetail(@PathVariable String groupId); + + /** + * 获取网格下小组 + * @author zhaoqifeng + * @date 2021/4/21 15:57 + * @param gridId + * @return com.epmet.commons.tools.utils.Result> + */ + @PostMapping("resi/group/group/groupList/{gridId}") + Result> getGroupListByGrid(@PathVariable String gridId); + + /** + * 小组积分详情 + * @author zhaoqifeng + * @date 2021/4/21 16:30 + * @param groupId + * @return com.epmet.commons.tools.utils.Result + */ + @PostMapping("resi/group/group/groupPointDetail/{groupId}") + Result groupPointDetail(@PathVariable String groupId); } diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java index b53570bfa8..5b7dec1ffe 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java @@ -5,10 +5,7 @@ import com.epmet.commons.tools.utils.ModuleUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.resi.group.dto.group.ResiGroupDTO; import com.epmet.resi.group.dto.group.form.*; -import com.epmet.resi.group.dto.group.result.ApplicationDetailCopyResultDTO; -import com.epmet.resi.group.dto.group.result.ApplyingGroupResultDTO; -import com.epmet.resi.group.dto.group.result.GroupEditionDetailResultDTO; -import com.epmet.resi.group.dto.group.result.GroupInfoResultDTO; +import com.epmet.resi.group.dto.group.result.*; import com.epmet.resi.group.dto.topic.MyCreateTopicsFormDTO; import com.epmet.resi.group.dto.topic.ResiTopicDTO; import com.epmet.resi.group.dto.topic.form.*; @@ -157,4 +154,43 @@ public class ResiGroupOpenFeignClientFallback implements ResiGroupOpenFeignClien public Result topicAttachmentList(TopicAttachmentFormDTO formDTO) { return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "topicAttachmentList", formDTO); } + + /** + * 获取小组详情 + * + * @param groupId + * @return com.epmet.commons.tools.utils.Result + * @author zhaoqifeng + * @date 2021/4/21 15:20 + */ + @Override + public Result getGroupDetail(String groupId) { + return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "getGroupDetail", groupId); + } + + /** + * 获取网格下小组 + * + * @param gridId + * @return com.epmet.commons.tools.utils.Result> + * @author zhaoqifeng + * @date 2021/4/21 15:57 + */ + @Override + public Result> getGroupListByGrid(String gridId) { + return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "getGroupListByGrid", gridId); + } + + /** + * 小组积分详情 + * + * @param groupId + * @return com.epmet.commons.tools.utils.Result + * @author zhaoqifeng + * @date 2021/4/21 16:30 + */ + @Override + public Result groupPointDetail(String groupId) { + return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "groupPointDetail", groupId); + } } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java index fb867c8a72..c168a3453d 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java @@ -31,13 +31,11 @@ import com.epmet.resi.group.dto.group.form.*; import com.epmet.resi.group.dto.group.result.*; import com.epmet.resi.group.dto.member.form.EditAuditSwitchFormDTO; import com.epmet.resi.group.dto.member.form.ResiIdentityFormDTO; +import com.epmet.resi.group.dto.member.result.AchievementResultDTO; import oracle.jdbc.proxy.annotation.Post; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -515,4 +513,53 @@ public class ResiGroupController { return new Result().ok(resiGroupService.achievementDetail(formDTO)); } + /** + * 获取小组详情 + * @author zhaoqifeng + * @date 2021/4/21 15:17 + * @param groupId + * @return com.epmet.commons.tools.utils.Result + */ + @PostMapping("groupDetail/{groupId}") + public Result getGroupDetail(@PathVariable String groupId) { + ResiGroupDTO groupDTO = resiGroupService.get(groupId); + return new Result().ok(groupDTO); + } + + /** + * 获取网格下小组 + * @author zhaoqifeng + * @date 2021/4/21 15:57 + * @param gridId + * @return com.epmet.commons.tools.utils.Result> + */ + @PostMapping("groupList/{gridId}") + public Result> getGroupListByGrid(@PathVariable String gridId) { + List list = resiGroupService.getGroupListByGrid(gridId); + return new Result>().ok(list); + } + + /** + * 小组积分详情 + * @author zhaoqifeng + * @date 2021/4/21 16:22 + * @param groupId + * @return com.epmet.commons.tools.utils.Result + */ + @PostMapping("groupPointDetail/{groupId}") + public Result groupPointDetail(@PathVariable String groupId) { + return new Result().ok(resiGroupService.groupPointDetail(groupId)); + } + + /** + * 小组近段时间实现的成就列表 + * @author zhaoqifeng + * @date 2021/4/22 9:27 + * @param tokenDto + * @return com.epmet.commons.tools.utils.Result + */ + @PostMapping("achievement") + public Result achievement(@LoginUser TokenDto tokenDto) { + return new Result().ok(resiGroupService.achievement(tokenDto)); + } } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java index 9a11aa39c2..e1d346eae0 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java @@ -24,6 +24,7 @@ import com.epmet.resi.group.dto.group.ResiGroupDTO; import com.epmet.resi.group.dto.group.form.*; import com.epmet.resi.group.dto.group.result.*; import com.epmet.resi.group.dto.member.ResiGroupMemberDTO; +import com.epmet.resi.group.dto.member.result.GroupAchievementDTO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -236,4 +237,13 @@ public interface ResiGroupDao extends BaseDao { * @Date 2020/12/25 13:18 **/ List queryGroupProcessingCount(@Param("gridIdList") List gridIdList); + + /** + * 我所在小组最近完成的成就 + * @author zhaoqifeng + * @date 2021/4/22 9:47 + * @param userId + * @return java.util.List + */ + List selectRecentGroupAchievements(@Param("userId") String userId); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupEntity.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupEntity.java index 1c80c117eb..b50f50a417 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupEntity.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupEntity.java @@ -83,4 +83,14 @@ Ps: 如果一个小组被拒绝,当前小组的状态将永久停留在“审 * VISIT_SWITCH 小组是否允许参观:允许:open;不允许:closed */ private String visitSwitch; + + /** + * 小组类型(ordinary:楼院小组 branch:支部小组) + */ + private String groupType; + + /** + * 小组等级 + */ + private Integer level; } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java index c335dfe438..197fd98692 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java @@ -20,6 +20,7 @@ package com.epmet.modules.group.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.modules.group.entity.ResiGroupEntity; import com.epmet.resi.group.dto.UserRoleDTO; @@ -28,6 +29,8 @@ import com.epmet.resi.group.dto.group.ResiGroupDTO; import com.epmet.resi.group.dto.group.form.*; import com.epmet.resi.group.dto.group.result.*; import com.epmet.resi.group.dto.member.form.EditAuditSwitchFormDTO; +import com.epmet.resi.group.dto.member.result.AchievementResultDTO; +import jdk.nashorn.internal.parser.Token; import java.util.HashMap; import java.util.List; @@ -379,4 +382,31 @@ public interface ResiGroupService extends BaseService { * @return com.epmet.resi.group.dto.group.result.AchievementDetailResultDTO */ AchievementDetailResultDTO achievementDetail(GroupFormDTO formDTO); + + /** + * 获取网格下小组列表 + * @author zhaoqifeng + * @date 2021/4/21 15:42 + * @param gridId + * @return java.util.List + */ + List getGroupListByGrid(String gridId); + + /** + * 小组积分详情 + * @author zhaoqifeng + * @date 2021/4/21 16:22 + * @param groupId + * @return com.epmet.resi.group.dto.group.result.GroupPointDetailResultDTO + */ + GroupPointDetailResultDTO groupPointDetail(String groupId); + + /** + * 小组近段时间实现的成就列表 + * @author zhaoqifeng + * @date 2021/4/22 9:27 + * @param tokenDto + * @return com.epmet.resi.group.dto.member.result.AchievementResultDTO + */ + AchievementResultDTO achievement(TokenDto tokenDto); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java index 7ea4720a69..1235f88966 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java @@ -30,6 +30,7 @@ import com.epmet.commons.tools.scan.param.ImgTaskDTO; import com.epmet.commons.tools.scan.param.TextScanParamDTO; import com.epmet.commons.tools.scan.param.TextTaskDTO; import com.epmet.commons.tools.scan.result.SyncScanResult; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.user.LoginUserUtil; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.DateUtils; @@ -40,6 +41,7 @@ import com.epmet.dto.form.*; import com.epmet.dto.result.UserResiInfoResultDTO; import com.epmet.dto.result.UserRoleResultDTO; import com.epmet.feign.EpmetMessageOpenFeignClient; +import com.epmet.group.constant.GroupConstant; import com.epmet.modules.constant.UserMessageConstant; import com.epmet.modules.feign.EpmetMessageFeignClient; import com.epmet.modules.feign.EpmetUserFeignClient; @@ -57,6 +59,7 @@ import com.epmet.modules.member.dao.ResiGroupMemberDao; import com.epmet.modules.member.redis.ResiGroupMemberRedis; import com.epmet.modules.member.service.GroupMemeberOperationService; import com.epmet.modules.member.service.ResiGroupMemberService; +import com.epmet.modules.support.GroupLevelUtils; import com.epmet.modules.utils.ModuleConstant; import com.epmet.resi.group.constant.*; import com.epmet.resi.group.dto.UserRoleDTO; @@ -69,6 +72,8 @@ import com.epmet.resi.group.dto.member.GroupMemeberOperationDTO; import com.epmet.resi.group.dto.member.ResiGroupMemberDTO; import com.epmet.resi.group.dto.member.ResiGroupMemberInfoRedisDTO; import com.epmet.resi.group.dto.member.form.EditAuditSwitchFormDTO; +import com.epmet.resi.group.dto.member.result.AchievementResultDTO; +import com.epmet.resi.group.dto.member.result.GroupAchievementDTO; import com.github.pagehelper.PageHelper; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; @@ -1209,6 +1214,66 @@ public class ResiGroupServiceImpl extends BaseServiceImpl + * @author zhaoqifeng + * @date 2021/4/21 15:42 + */ + @Override + public List getGroupListByGrid(String gridId) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("GRID_ID", gridId) + .eq("STATE", GroupStateConstant.GROUP_APPROVED) + .eq("DEL_FLAG", NumConstant.ZERO_STR); + List list = baseDao.selectList(wrapper); + return ConvertUtils.sourceToTarget(list, ResiGroupDTO.class); + } + + /** + * 小组积分详情 + * + * @param groupId + * @return com.epmet.resi.group.dto.group.result.GroupPointDetailResultDTO + * @author zhaoqifeng + * @date 2021/4/21 16:22 + */ + @Override + public GroupPointDetailResultDTO groupPointDetail(String groupId) { + GroupPointDetailResultDTO result = new GroupPointDetailResultDTO(); + ResiGroupEntity group = baseDao.selectById(groupId); + Integer nextLevel = group.getLevel() + 1; + Integer nextLevelPoint = GroupLevelUtils.getPoint(nextLevel); + result.setLevel("LV" + group.getLevel().toString()); + result.setNextLevel("LV" + nextLevel.toString()); + result.setNextLevelPoint(nextLevelPoint.toString()); + return result; + } + + /** + * 小组近段时间实现的成就列表 + * + * @param tokenDto + * @return com.epmet.resi.group.dto.member.result.AchievementResultDTO + * @author zhaoqifeng + * @date 2021/4/22 9:27 + */ + @Override + public AchievementResultDTO achievement(TokenDto tokenDto) { + AchievementResultDTO result = new AchievementResultDTO(); + List achievements = new ArrayList<>(); + List list = baseDao.selectRecentGroupAchievements(tokenDto.getUserId()); + if (CollectionUtils.isNotEmpty(list)) { + achievements = list.stream().map(item -> { + return item.getGroupName() + ":" + "达成“" + item.getAchievementName() + "”" + "成就"; + }).collect(Collectors.toList()); + } + result.setAchievement(achievements); + return result; + } + @Override public GroupDetailResultDTO getGroupDetail(String groupId) { GroupDetailResultDTO groupDetail = new GroupDetailResultDTO(); diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml index 760a420020..7e3964af2f 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml @@ -523,4 +523,19 @@ GROUP BY temp.gridId + From 89aa8a9e1e8407632f1c4a842fc3eca936934545 Mon Sep 17 00:00:00 2001 From: jianjun Date: Thu, 22 Apr 2021 13:54:17 +0800 Subject: [PATCH 11/99] =?UTF-8?q?=E5=B0=8F=E7=BB=84=E6=88=90=E5=B0=B1?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E6=9E=9A=E4=B8=BE=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/enums/AchievementTypeEnum.java | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/enums/AchievementTypeEnum.java diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/enums/AchievementTypeEnum.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/enums/AchievementTypeEnum.java new file mode 100644 index 0000000000..19e315082b --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/enums/AchievementTypeEnum.java @@ -0,0 +1,49 @@ +package com.epmet.modules.enums; + +/** + * 小组成就类型枚举类 + * dev|test|prod + * + * @author jianjun liu + * @date 2020-07-03 11:14 + **/ +public enum AchievementTypeEnum { + /** + * 环境变量枚举 + */ + MEMBER("member", "小组成员数"), + TOPIC("topic", "话题数"), + TOISSUE("toissue", "转议题数"), + RESOVLE_TOPIC("resovletopic", "解决话题数"), + ; + + private String code; + private String name; + + + + AchievementTypeEnum(String code, String name) { + this.code = code; + this.name = name; + } + + public static AchievementTypeEnum getEnum(String code) { + AchievementTypeEnum[] values = AchievementTypeEnum.values(); + for (AchievementTypeEnum value : values) { + if (value.getCode().equals(code)) { + return value; + } + } + return null; + } + + + public String getCode() { + return code; + } + + public String getName() { + return name; + } + +} From 75a31fc9e797f14f0e6378f92baf1af2cad76ac7 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Thu, 22 Apr 2021 17:12:00 +0800 Subject: [PATCH 12/99] =?UTF-8?q?=E5=B0=8F=E7=BB=84=E6=88=90=E5=B0=B1?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/result/GroupPointRuleResultDTO.java | 17 +++++++++ .../controller/GroupPointController.java | 17 +++++++++ .../com/epmet/service/PointRuleService.java | 10 +++++ .../service/impl/PointRuleServiceImpl.java | 38 +++++++++++++++++-- .../dto/group/ResiGroupInfoRedisDTO.java | 5 +++ .../result/GovGroupSummarizeResultDTO.java | 4 ++ .../group/result/GroupSummarizeResultDTO.java | 2 + .../modules/group/redis/ResiGroupRedis.java | 1 + .../ResiGroupAchievementStatsServiceImpl.java | 1 + .../service/impl/ResiGroupServiceImpl.java | 5 +-- .../resources/mapper/group/ResiGroupDao.xml | 1 + 11 files changed, 94 insertions(+), 7 deletions(-) create mode 100644 epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/GroupPointRuleResultDTO.java diff --git a/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/GroupPointRuleResultDTO.java b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/GroupPointRuleResultDTO.java new file mode 100644 index 0000000000..6a14bebb4a --- /dev/null +++ b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/GroupPointRuleResultDTO.java @@ -0,0 +1,17 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @author zhaoqifeng + * @dscription + * @date 2021/4/22 15:15 + */ +@Data +public class GroupPointRuleResultDTO implements Serializable { + private static final long serialVersionUID = -1651136821935977327L; + private List rules; +} diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/GroupPointController.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/GroupPointController.java index 0715bb6c8e..f016acbe7b 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/GroupPointController.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/GroupPointController.java @@ -4,11 +4,13 @@ import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.form.GroupPointFormDTO; +import com.epmet.dto.result.GroupPointRuleResultDTO; import com.epmet.resi.group.dto.group.result.GroupPointDetailResultDTO; import com.epmet.dto.result.GroupPointRankingResultDTO; import com.epmet.dto.result.PointRankingResultDTO; import com.epmet.service.BizPointTotalDetailService; import com.epmet.service.BizPointUserTotalDetailService; +import com.epmet.service.PointRuleService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -30,6 +32,8 @@ public class GroupPointController { private BizPointUserTotalDetailService bizPointUserTotalDetailService; @Autowired private BizPointTotalDetailService bizPointTotalDetailService; + @Autowired + private PointRuleService pointRuleService; /** * 小组积分贡献榜 @@ -73,4 +77,17 @@ public class GroupPointController { GroupPointDetailResultDTO result = bizPointTotalDetailService.pointDetail(formDTO); return new Result().ok(result); } + + /** + * 小组积分规则 + * @author zhaoqifeng + * @date 2021/4/22 15:36 + * @param tokenDto + * @return com.epmet.commons.tools.utils.Result + */ + @PostMapping("pointrule") + public Result pointRule(@LoginUser TokenDto tokenDto) { + GroupPointRuleResultDTO result = pointRuleService.getGroupRule(tokenDto.getCustomerId()); + return new Result().ok(result); + } } diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/PointRuleService.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/PointRuleService.java index 28ec8991c2..cd39750f34 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/PointRuleService.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/PointRuleService.java @@ -24,6 +24,7 @@ import com.epmet.dto.form.PointDetailFormDTO; import com.epmet.dto.form.PointRuleFormDTO; import com.epmet.dto.form.PointRuleListFormDTO; import com.epmet.dto.result.CustomerFunctionResultDTO; +import com.epmet.dto.result.GroupPointRuleResultDTO; import com.epmet.dto.result.PointDetailResultDTO; import com.epmet.dto.result.PointRuleResultDTO; import com.epmet.entity.PointRuleEntity; @@ -69,4 +70,13 @@ public interface PointRuleService extends BaseService { PointRuleEntity getByEventCodeAndCustomerId(String customerId,String eventCode); InitPointRuleResultDTO initPointRule(); + + /** + * 获取小组积分规则 + * @author zhaoqifeng + * @date 2021/4/22 15:20 + * @param customerId + * @return com.epmet.dto.result.GroupPointRuleResultDTO + */ + GroupPointRuleResultDTO getGroupRule(String customerId); } \ No newline at end of file diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java index 99a88c18a3..2e31394868 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointRuleServiceImpl.java @@ -18,6 +18,7 @@ package com.epmet.service.impl; import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.epmet.common.enu.PointUnitEnum; import com.epmet.common.enu.SysResponseEnum; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; @@ -25,6 +26,7 @@ import com.epmet.commons.tools.constant.Constant; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.enums.CommonOperateTypeEnum; +import com.epmet.commons.tools.enums.EventEnum; import com.epmet.commons.tools.exception.ExceptionUtils; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.security.dto.TokenDto; @@ -41,10 +43,7 @@ import com.epmet.dto.form.CustomerFunctionListFormDTO; import com.epmet.dto.form.PointDetailFormDTO; import com.epmet.dto.form.PointRuleFormDTO; import com.epmet.dto.form.PointRuleListFormDTO; -import com.epmet.dto.result.CustomerFunctionResultDTO; -import com.epmet.dto.result.DefaultFunctionListResultDTO; -import com.epmet.dto.result.PointDetailResultDTO; -import com.epmet.dto.result.PointRuleResultDTO; +import com.epmet.dto.result.*; import com.epmet.entity.PointRuleDefaultEntity; import com.epmet.entity.PointRuleEntity; import com.epmet.entity.RuleOperateLogEntity; @@ -61,6 +60,7 @@ import org.springframework.util.CollectionUtils; import java.util.*; import java.util.concurrent.ExecutorService; +import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; /** @@ -284,6 +284,36 @@ public class PointRuleServiceImpl extends BaseServiceImpl list = new ArrayList<>(); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("CUSTOMER_ID", customerId) + .eq("DEL_FLAG", NumConstant.ZERO_STR); + List ruleList = baseDao.selectList(wrapper); + if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(ruleList)) { + AtomicInteger index=new AtomicInteger(1); + list = ruleList.stream().filter(i -> ("resi_group").equals(Objects.requireNonNull(EventEnum.getEnum(i.getEventCode())).getEventClass())).map(item -> { + String rule = index.getAndIncrement() + "." + item.getRuleName() + "," + "" + item.getPoint() + "分"; + if (NumConstant.ZERO != item.getUpLimit()) { + rule = rule + "(每天最多得" + item.getUpLimit() + "分)"; + } + return rule; + }).collect(Collectors.toList()); + } + resultDTO.setRules(list); + return resultDTO; + } + private void insertOperateRecord(TokenDto tokenDTO, PointRuleEntity entityNew, PointRuleEntity entityDB, String opType) { RuleOperateLogEntity record = new RuleOperateLogEntity(); if (tokenDTO != null) { diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupInfoRedisDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupInfoRedisDTO.java index f2c52f6804..c6cb017da1 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupInfoRedisDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupInfoRedisDTO.java @@ -46,6 +46,11 @@ public class ResiGroupInfoRedisDTO implements Serializable{ * */ private String gridId; + /** + * 小组等级 + * */ + private String level; + /** * 组状态 * */ diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GovGroupSummarizeResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GovGroupSummarizeResultDTO.java index e0b0c2fd4c..da9773d04a 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GovGroupSummarizeResultDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GovGroupSummarizeResultDTO.java @@ -40,4 +40,8 @@ public class GovGroupSummarizeResultDTO implements Serializable { * 话题总数 */ private Integer totalTopics; + /** + * 小组等级 + */ + private String level; } diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupSummarizeResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupSummarizeResultDTO.java index 0b19208c9f..dbf681b90d 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupSummarizeResultDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupSummarizeResultDTO.java @@ -69,6 +69,8 @@ public class GroupSummarizeResultDTO implements Serializable { * 进组审核open开启;close关闭 */ private String auditSwitch; + + private String level; public GroupSummarizeResultDTO(){ this.setGroupId(""); this.setGroupHeadPhoto(""); diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/redis/ResiGroupRedis.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/redis/ResiGroupRedis.java index 03dcc4ecba..9d52a420b1 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/redis/ResiGroupRedis.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/redis/ResiGroupRedis.java @@ -101,6 +101,7 @@ public class ResiGroupRedis { ResiGroupInfoRedisDTO groupRedis = ConvertUtils.sourceToTarget(groupMySql,ResiGroupInfoRedisDTO.class); groupRedis.setGroupId(groupMySql.getId()); groupRedis.setGroupState(groupMySql.getState()); + groupRedis.setLevel("LV" + groupMySql.getLevel()); Map param = new HashMap<>(); param.put(TopicConstant.RESI_GROUP_ID,groupId); param.put(FieldConstant.DEL_FLAG, NumConstant.ZERO_STR); diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupAchievementStatsServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupAchievementStatsServiceImpl.java index be9f4c8431..46b0fa5303 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupAchievementStatsServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupAchievementStatsServiceImpl.java @@ -113,6 +113,7 @@ public class ResiGroupAchievementStatsServiceImpl extends BaseServiceImpl list = baseDao.selectList(wrapper); return ConvertUtils.sourceToTarget(list, ResiGroupAchievementStatsDTO.class); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java index 1235f88966..08c1737eaa 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java @@ -822,6 +822,7 @@ public class ResiGroupServiceImpl extends BaseServiceImpl groupLeaderUserInfo = this.getGroupLeaderUserInfo(formDTO.getGroupId()); @@ -1266,9 +1267,7 @@ public class ResiGroupServiceImpl extends BaseServiceImpl achievements = new ArrayList<>(); List list = baseDao.selectRecentGroupAchievements(tokenDto.getUserId()); if (CollectionUtils.isNotEmpty(list)) { - achievements = list.stream().map(item -> { - return item.getGroupName() + ":" + "达成“" + item.getAchievementName() + "”" + "成就"; - }).collect(Collectors.toList()); + achievements = list.stream().map(item -> item.getGroupName() + ":" + "达成“" + item.getAchievementName() + "”" + "成就").collect(Collectors.toList()); } result.setAchievement(achievements); return result; diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml index 7e3964af2f..044d36975c 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml @@ -140,6 +140,7 @@ rgs.TOTAL_MEMBERS AS totalMember, rgs.TOTAL_PARTY_MEMBERS AS totalPartyMember, rgm.GROUP_LEADER_FLAG AS leaderFlag, + CONCAT('LV', rg.level) AS level, ( SELECT count(1) From 3c5f10c738743f314d4c5925804fd94636485596 Mon Sep 17 00:00:00 2001 From: jianjun Date: Thu, 22 Apr 2021 18:10:36 +0800 Subject: [PATCH 13/99] =?UTF-8?q?=E6=96=B0=E7=9A=84=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E6=9A=82=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AbstractStatsAchievementService.java | 100 +++++++++ .../service/StatsAchievementService.java | 51 +++++ .../impl/StatsAchievementServiceImpl.java | 209 ++++++++++++++++++ .../impl/StatsAchievementServiceImplTest.java | 25 +++ 4 files changed, 385 insertions(+) create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/AbstractStatsAchievementService.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/StatsAchievementService.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java create mode 100644 epmet-module/resi-group/resi-group-server/src/test/com/epmet/modules/group/service/impl/StatsAchievementServiceImplTest.java diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/AbstractStatsAchievementService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/AbstractStatsAchievementService.java new file mode 100644 index 0000000000..9ecd4ad915 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/AbstractStatsAchievementService.java @@ -0,0 +1,100 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.modules.group.service; + +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.RenException; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.modules.enums.AchievementTypeEnum; +import com.epmet.modules.group.dao.ResiGroupDao; +import com.epmet.modules.group.entity.ResiGroupAchievementConfigEntity; +import com.epmet.modules.member.dao.ResiGroupMemberDao; +import com.epmet.modules.support.GroupAchievementUtils; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.ArrayList; +import java.util.List; + +/** + * desc:实时计算小组成就完成情况 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-04-19 + */ +public abstract class AbstractStatsAchievementService { + + @Autowired + public ResiGroupAchievementConfigService achievementConfigService; + @Autowired + public ResiGroupAchievementStatsService achievementStatsService; + @Autowired + public ResiGroupDao resiGroupDao; + @Autowired + private ResiGroupMemberDao resiGroupMemberDao; + + /** + * desc: 根据成绩类型 分页获取成就配置 按targetValue 升序 + * + * @param offset + * @param pageSize + * @return java.util.List + * @author LiuJanJun + * @date 2021/4/22 1:36 下午 + */ + /** + * desc: 根据成绩类型 分页获取成就配置 按targetValue 升序 + * + * @param pageNum + * @param pageSize + * @return java.util.List + * @author LiuJanJun + * @date 2021/4/22 1:36 下午 + */ + protected List getAchievemnetConfigPage(int pageNum, int pageSize, String achievementType) { + return achievementConfigService.selectMoreThanOneByValue(achievementType,(pageNum- NumConstant.ONE)*pageSize,pageSize); + } + + /** + * desc:初始化配置 + * @param achievementType + * @return + */ + protected List initAchievementConfig(String achievementType){ + AchievementTypeEnum anEnum = AchievementTypeEnum.getEnum(achievementType); + if (anEnum == null){ + throw new RenException(EpmetErrorCode.INTERNAL_VALIDATE_ERROR.getCode()); + } + if (AchievementTypeEnum.MEMBER.getCode().equals(anEnum.getCode())){ + throw new RenException("小组人数都到10000啦?"); + } + ResiGroupAchievementConfigEntity lastOne = achievementConfigService.getLastOne(achievementType); + List newConfigList = new ArrayList<>(); + Integer nextTargetValue = null; + for (int i = 0; i < 5; i++) { + nextTargetValue = GroupAchievementUtils.getNextTargetValue(achievementType,lastOne.getTargetValue()); + ResiGroupAchievementConfigEntity next = ConvertUtils.sourceToTarget(lastOne, ResiGroupAchievementConfigEntity.class); + next.setTargetValue(nextTargetValue); + newConfigList.add(next); + } + achievementConfigService.insertBatch(newConfigList); + + return newConfigList; + } + +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/StatsAchievementService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/StatsAchievementService.java new file mode 100644 index 0000000000..7b532f83e0 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/StatsAchievementService.java @@ -0,0 +1,51 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.modules.group.service; + +/** + * desc:实时计算小组成就完成情况 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-04-19 + */ +public interface StatsAchievementService{ + + /** + * desc: 计算小组成就 统一入口 + * + * @param achievementType 成就类型 小组人数、话题数、转议题数、小组内问题解决数 + * @return java.lang.Boolean + * @author LiuJanJun + * @date 2021/4/20 + */ + Boolean calculateAcm(String achievementType); + + /** + * desc: 根据小组Id计算小组成就 入口 + * + * @param customerId + * @param groupId + * @param achievementType 成就类型 小组人数、话题数、转议题数、小组内问题解决数 + * @return java.lang.Boolean + * @author LiuJanJun + * @date 2021/4/20 + */ + Boolean calculateAcm(String customerId, String groupId, String achievementType); + + +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java new file mode 100644 index 0000000000..6e265b15bb --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java @@ -0,0 +1,209 @@ +package com.epmet.modules.group.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.RenException; +import com.epmet.modules.enums.AchievementTypeEnum; +import com.epmet.modules.group.entity.ResiGroupAchievementConfigEntity; +import com.epmet.modules.group.entity.ResiGroupAchievementStatsEntity; +import com.epmet.modules.group.service.AbstractStatsAchievementService; +import com.epmet.modules.group.service.StatsAchievementService; +import com.epmet.modules.member.dao.ResiGroupMemberDao; +import com.epmet.modules.topic.dao.ResiTopicDao; +import com.epmet.modules.topic.entity.ResiTopicEntity; +import com.epmet.resi.group.constant.TopicConstant; +import com.epmet.resi.group.dto.group.ResiGroupAchievementStatsDTO; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * desc: + * + * @author: LiuJanJun + * @date: 2021/4/20 5:48 下午 + * @version: 1.0 + */ +@Slf4j +@Service +public class StatsAchievementServiceImpl extends AbstractStatsAchievementService implements StatsAchievementService { + @Autowired + private ResiGroupMemberDao resiGroupMemberDao; + @Autowired + private ResiTopicDao resiTopicDao; + + + /** + * desc: 计算小组成就 统一入口 + * + * @param achievementType 成就类型 + * @return java.lang.Boolean + * @author LiuJanJun + * @date 2021/4/20 + */ + @Override + public Boolean calculateAcm(String achievementType) { + if (StringUtils.isBlank(achievementType)) { + //计算所有类型的 小组人数、话题数、转议题数、小组内问题解决数 + } + return null; + } + + /** + * desc: 根据小组Id计算小组成就 入口 + * + * @param customerId + * @param groupId + * @param achievementType 成就类型 小组人数、话题数、转议题数、小组内问题解决数 + * @return java.lang.Boolean + * @author LiuJanJun + * @date 2021/4/20 + */ + @Override + public Boolean calculateAcm(String customerId, String groupId, String achievementType) { + AchievementTypeEnum anEnum = AchievementTypeEnum.getEnum(achievementType); + if (StringUtils.isBlank(customerId) || StringUtils.isBlank(groupId) || anEnum == null) { + return false; + } + switch (anEnum) { + case TOPIC: + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().eq(ResiTopicEntity::getCustomerId,customerId) + .eq(ResiTopicEntity::getGroupId,groupId) + .eq(ResiTopicEntity::getStatus, TopicConstant.AUTO_PASSED) + .eq(ResiTopicEntity::getDelFlag,NumConstant.ZERO); + int currentValue = resiTopicDao.selectCount(queryWrapper); + break; + case MEMBER: + int currentValue = resiGroupMemberDao.countMembers(customerId, groupId); + calculateMember(customerId, groupId, currentValue, achievementType); + break; + case TOISSUE: + + break; + case RESOVLE_TOPIC: + + break; + default: + log.info("calculateAcm error"); + } + return true; + } + + /** + * desc: 计算小组的人数等级 + * + * @param customerId + * @param groupId + */ + private void calculateMember(String customerId, String groupId,int currentValue, String achievementType) { + + ResiGroupAchievementStatsEntity one = super.achievementStatsService.selectLastUnAchieved(customerId, groupId, achievementType); + + List haveArrive = new ArrayList<>(); + //如果没有实现的额成就则说明是初始化 + if (one == null) { + initAchievementStat(customerId, groupId, achievementType, currentValue, haveArrive); + super.achievementStatsService.saveOrUpdate(haveArrive,false); + return; + } + + boolean isBatch = false; + Integer targetValue = one.getTargetValue(); + //改为已实现 + if (currentValue >= targetValue) { + isBatch = true; +// ResiGroupAchievementStatsEntity newStat = ConvertUtils.sourceToTarget(one, ResiGroupAchievementStatsEntity.class); +// newStat.setCurrentValue(targetValue); +// newStat.setIsArrive(1); +// haveArrive.add(newStat); + + boolean isContinue; + int pageNum = NumConstant.ONE; + int pageSize = NumConstant.TEN; + do { + List list = getConfigByType(achievementType,pageNum++,pageSize); + isContinue = buildArrivList(customerId, groupId, achievementType, currentValue, one.getTargetValue(), haveArrive, list); + }while (isContinue); + } + + if (isBatch) { + super.achievementStatsService.saveOrUpdate(haveArrive,true); + } else { + //未实现 只更新当前值 + ResiGroupAchievementStatsDTO newStat = new ResiGroupAchievementStatsDTO(); + newStat.setId(one.getId()); + newStat.setCurrentValue(currentValue); + super.achievementStatsService.update(newStat); + } + } + + private void initAchievementStat(String customerId, String groupId, String achievementType, int currentValue, List haveArrive) { + + boolean isContinue; + int pageNum = NumConstant.ONE; + int pageSize = NumConstant.TEN; + do { //没有任何数据说明是初始化 + List list = getConfigByType(achievementType,pageNum++,pageSize); + //查询和初始化都失败啦 + if (CollectionUtils.isEmpty(list)) { + log.error("calculateMember get config fail"); + throw new RenException(EpmetErrorCode.INTERNAL_VALIDATE_ERROR.getCode()); + } + isContinue = buildArrivList(customerId, groupId, achievementType, currentValue, null, haveArrive, list); + }while (isContinue); + if (CollectionUtils.isEmpty(haveArrive)) { + throw new RenException("小组达成成就失败"); + } + } + + private boolean buildArrivList(String customerId, String groupId, String achievementType, int currentValue, Integer targetValue, List haveArrive, List list) { + boolean isContinue = true; + for (ResiGroupAchievementConfigEntity configEntity : list) { + if (targetValue != null) { + //筛选出已经完成的成就 + if (configEntity.getTargetValue()= configEntity.getTargetValue()) { + statsEntity.setIsArrive(1); + } else { + //如果没有达到则 放入这一条后 退出 + statsEntity.setIsArrive(0); + isContinue = false; + break; + } + } + return isContinue; + } + + private List getConfigByType(String achievementType,int pageNum,int pageSize) { + List list = super.getAchievemnetConfigPage(pageNum, pageSize, achievementType); + if (CollectionUtils.isEmpty(list)) { + log.warn("获取小组成就配置错误,{} 开始进行初始化规则", AchievementTypeEnum.MEMBER.getCode()); + list = super.initAchievementConfig(AchievementTypeEnum.MEMBER.getCode()); + } + return list; + } + + +} diff --git a/epmet-module/resi-group/resi-group-server/src/test/com/epmet/modules/group/service/impl/StatsAchievementServiceImplTest.java b/epmet-module/resi-group/resi-group-server/src/test/com/epmet/modules/group/service/impl/StatsAchievementServiceImplTest.java new file mode 100644 index 0000000000..5c2f1bf56c --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/test/com/epmet/modules/group/service/impl/StatsAchievementServiceImplTest.java @@ -0,0 +1,25 @@ +package com.epmet.modules.group.service.impl; + +import com.epmet.modules.group.service.StatsAchievementService; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +@RunWith(SpringRunner.class) +@SpringBootTest +public class StatsAchievementServiceImplTest { + @Autowired + private StatsAchievementService statsAchievementService; + + @Test + public void calculateAcm() { + + String customerId = "test_cid"; + String groupId = "test_groupId"; + String achievementType = "member"; + Boolean aBoolean = statsAchievementService.calculateAcm(customerId, groupId, achievementType); + System.out.println(aBoolean); + } +} From b74bc32b93ab66c36a2d8338ea5b911cb4b01ba1 Mon Sep 17 00:00:00 2001 From: jianjun Date: Thu, 22 Apr 2021 18:37:35 +0800 Subject: [PATCH 14/99] =?UTF-8?q?=E8=AE=A1=E7=AE=97=E5=B0=8F=E7=BB=84?= =?UTF-8?q?=E6=88=90=E5=B0=B1=E6=94=BE=E5=85=A5=E5=88=B0=E5=B0=8F=E7=BB=84?= =?UTF-8?q?=E6=88=90=E5=B0=B1=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dao/ResiGroupAchievementConfigDao.java | 32 +++++++-- .../dao/ResiGroupAchievementStatsDao.java | 30 ++++++++- .../ResiGroupAchievementStatsEntity.java | 9 ++- .../ResiGroupAchievementConfigService.java | 65 +------------------ .../ResiGroupAchievementStatsService.java | 25 ++++++- ...ResiGroupAchievementConfigServiceImpl.java | 64 ++---------------- .../ResiGroupAchievementStatsServiceImpl.java | 12 +++- .../impl/StatsAchievementServiceImpl.java | 27 ++++++-- .../member/dao/ResiGroupMemberDao.java | 4 +- .../support/GroupAchievementUtils.java | 34 +++++++++- .../group/ResiGroupAchievementConfigDao.xml | 39 ++++++----- .../group/ResiGroupAchievementStatsDao.xml | 63 +++++++++++++++++- .../mapper/member/ResiGroupMemberDao.xml | 11 ++++ .../impl/StatsAchievementServiceImplTest.java | 8 ++- 14 files changed, 264 insertions(+), 159 deletions(-) diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupAchievementConfigDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupAchievementConfigDao.java index 24d35a5edd..b53a2cf69c 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupAchievementConfigDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupAchievementConfigDao.java @@ -1,4 +1,4 @@ -/** +package com.epmet.modules.group.dao; /** * Copyright 2018 人人开源 https://www.renren.io *

* This program is free software: you can redistribute it and/or modify @@ -15,11 +15,14 @@ * along with this program. If not, see . */ -package com.epmet.modules.group.dao; + import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.modules.group.entity.ResiGroupAchievementConfigEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 小组成就配置表 @@ -29,5 +32,26 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface ResiGroupAchievementConfigDao extends BaseDao { - -} \ No newline at end of file + + /** + * desc: 获取成就配置 比targetValue + * + * @param achievementType + * @param offset + * @param pageSize + * @return java.util.List + * @author LiuJanJun + * @date 2021/4/21 10:04 下午 + */ + List selectMoreThanOneByValue(@Param("achievementType") String achievementType, @Param("offset") int offset, @Param("pageSize") int pageSize); + + /** + * desc: 获取最后一条配置 + * + * @param achievementType + * @return com.epmet.modules.group.entity.ResiGroupAchievementConfigEntity + * @author LiuJanJun + * @date 2021/4/22 1:58 下午 + */ + ResiGroupAchievementConfigEntity getLastOne(@Param("achievementType") String achievementType); +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupAchievementStatsDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupAchievementStatsDao.java index 0de55fe72e..247c371ed6 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupAchievementStatsDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupAchievementStatsDao.java @@ -35,10 +35,34 @@ import java.util.List; public interface ResiGroupAchievementStatsDao extends BaseDao { /** * 获取未完成的成就 - * @author zhaoqifeng - * @date 2021/4/19 15:52 + * * @param groupId * @return java.util.List + * @author zhaoqifeng + * @date 2021/4/19 15:52 */ List selectUnAchieved(@Param("groupId") String groupId); -} \ No newline at end of file + + /** + * desc: 获取最后一个为实现的成就 + * + * @param customerId + * @param groupId + * @param achievementType + * @return com.epmet.modules.group.entity.ResiGroupAchievementStatsEntity + * @author LiuJanJun + * @date 2021/4/21 8:34 下午 + */ + ResiGroupAchievementStatsEntity selectLastUnAchieved(@Param("customerId") String customerId, @Param("groupId") String groupId, @Param("achievementType") String achievementType); + + /** + * desc: 插入或更新成就 + * + * @param haveArrive + * @param updateAll + * @return int + * @author LiuJanJun + * @date 2021/4/22 3:03 下午 + */ + int saveOrUpdate(@Param("list") List list, @Param("updateAll") boolean updateAll); +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupAchievementStatsEntity.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupAchievementStatsEntity.java index 8710dc43d9..3559786095 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupAchievementStatsEntity.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupAchievementStatsEntity.java @@ -49,15 +49,20 @@ public class ResiGroupAchievementStatsEntity extends BaseEpmetEntity { private String groupId; /** - * 里程ID + * 成就ID */ private String achievementId; /** - * 里程名称 + * 成就名称 */ private String achievementName; + /** + * 成就类型 + */ + private String achievementType; + /** * 实现时间 */ diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupAchievementConfigService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupAchievementConfigService.java index cb45a821ef..d7de022e82 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupAchievementConfigService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupAchievementConfigService.java @@ -18,12 +18,9 @@ package com.epmet.modules.group.service; import com.epmet.commons.mybatis.service.BaseService; -import com.epmet.commons.tools.page.PageData; import com.epmet.modules.group.entity.ResiGroupAchievementConfigEntity; -import com.epmet.resi.group.dto.group.ResiGroupAchievementConfigDTO; import java.util.List; -import java.util.Map; /** * 小组成就配置表 @@ -33,63 +30,7 @@ import java.util.Map; */ public interface ResiGroupAchievementConfigService extends BaseService { - /** - * 默认分页 - * - * @param params - * @return PageData - * @author generator - * @date 2021-04-19 - */ - PageData page(Map params); + ResiGroupAchievementConfigEntity getLastOne(String achievementType); - /** - * 默认查询 - * - * @param params - * @return java.util.List - * @author generator - * @date 2021-04-19 - */ - List list(Map params); - - /** - * 单条查询 - * - * @param id - * @return ResiGroupMilestoneConfigDTO - * @author generator - * @date 2021-04-19 - */ - ResiGroupAchievementConfigDTO get(String id); - - /** - * 默认保存 - * - * @param dto - * @return void - * @author generator - * @date 2021-04-19 - */ - void save(ResiGroupAchievementConfigDTO dto); - - /** - * 默认更新 - * - * @param dto - * @return void - * @author generator - * @date 2021-04-19 - */ - void update(ResiGroupAchievementConfigDTO dto); - - /** - * 批量删除 - * - * @param ids - * @return void - * @author generator - * @date 2021-04-19 - */ - void delete(String[] ids); -} \ No newline at end of file + List selectMoreThanOneByValue(String achievementType,int offset,int pageSize); +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupAchievementStatsService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupAchievementStatsService.java index 3b71116fea..4fc8370ad9 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupAchievementStatsService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupAchievementStatsService.java @@ -110,4 +110,27 @@ public interface ResiGroupAchievementStatsService extends BaseService */ List getUnAchieved(String groupId); -} \ No newline at end of file + + /** + * desc: 获取最后未实现的成就 实际每种类型 数据库只存在一条未实现的成就 + * + * @param customerId + * @param groupId + * @param achievementType + * @return com.epmet.modules.group.entity.ResiGroupAchievementStatsEntity + * @author LiuJanJun + * @date 2021/4/22 2:35 下午 + */ + ResiGroupAchievementStatsEntity selectLastUnAchieved(String customerId, String groupId, String achievementType); + + /** + * desc: 插入或更新成就 + * + * @param haveArrive + * @param updateAll + * @return int + * @author LiuJanJun + * @date 2021/4/22 3:03 下午 + */ + int saveOrUpdate(List haveArrive, boolean updateAll); +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupAchievementConfigServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupAchievementConfigServiceImpl.java index 42ff9f7288..85a8077e78 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupAchievementConfigServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupAchievementConfigServiceImpl.java @@ -17,23 +17,13 @@ package com.epmet.modules.group.service.impl; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; -import com.epmet.commons.tools.page.PageData; -import com.epmet.commons.tools.utils.ConvertUtils; -import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.modules.group.dao.ResiGroupAchievementConfigDao; import com.epmet.modules.group.entity.ResiGroupAchievementConfigEntity; import com.epmet.modules.group.service.ResiGroupAchievementConfigService; -import com.epmet.resi.group.dto.group.ResiGroupAchievementConfigDTO; -import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import java.util.Arrays; import java.util.List; -import java.util.Map; /** * 小组成就配置表 @@ -44,57 +34,13 @@ import java.util.Map; @Service public class ResiGroupAchievementConfigServiceImpl extends BaseServiceImpl implements ResiGroupAchievementConfigService { - @Override - public PageData page(Map params) { - IPage page = baseDao.selectPage( - getPage(params, FieldConstant.CREATED_TIME, false), - getWrapper(params) - ); - return getPageData(page, ResiGroupAchievementConfigDTO.class); - } - - @Override - public List list(Map params) { - List entityList = baseDao.selectList(getWrapper(params)); - - return ConvertUtils.sourceToTarget(entityList, ResiGroupAchievementConfigDTO.class); - } - - private QueryWrapper getWrapper(Map params){ - String id = (String)params.get(FieldConstant.ID_HUMP); - - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); - - return wrapper; + public ResiGroupAchievementConfigEntity getLastOne(String achievementType) { + return baseDao.getLastOne(achievementType); } @Override - public ResiGroupAchievementConfigDTO get(String id) { - ResiGroupAchievementConfigEntity entity = baseDao.selectById(id); - return ConvertUtils.sourceToTarget(entity, ResiGroupAchievementConfigDTO.class); + public List selectMoreThanOneByValue(String achievementType,int offset,int pageSize) { + return baseDao.selectMoreThanOneByValue(achievementType,offset,pageSize); } - - @Override - @Transactional(rollbackFor = Exception.class) - public void save(ResiGroupAchievementConfigDTO dto) { - ResiGroupAchievementConfigEntity entity = ConvertUtils.sourceToTarget(dto, ResiGroupAchievementConfigEntity.class); - insert(entity); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void update(ResiGroupAchievementConfigDTO dto) { - ResiGroupAchievementConfigEntity entity = ConvertUtils.sourceToTarget(dto, ResiGroupAchievementConfigEntity.class); - updateById(entity); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void delete(String[] ids) { - // 逻辑删除(@TableLogic 注解) - baseDao.deleteBatchIds(Arrays.asList(ids)); - } - -} \ No newline at end of file +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupAchievementStatsServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupAchievementStatsServiceImpl.java index 46b0fa5303..3e84f116a3 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupAchievementStatsServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupAchievementStatsServiceImpl.java @@ -131,4 +131,14 @@ public class ResiGroupAchievementStatsServiceImpl extends BaseServiceImpl haveArrive, boolean updateAll) { + return baseDao.saveOrUpdate(haveArrive, updateAll); + } + +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java index 6e265b15bb..466ff735c3 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java @@ -72,28 +72,43 @@ public class StatsAchievementServiceImpl extends AbstractStatsAchievementService if (StringUtils.isBlank(customerId) || StringUtils.isBlank(groupId) || anEnum == null) { return false; } + Integer currentValue = null; switch (anEnum) { case TOPIC: + //查询话题数 QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.lambda().eq(ResiTopicEntity::getCustomerId,customerId) .eq(ResiTopicEntity::getGroupId,groupId) - .eq(ResiTopicEntity::getStatus, TopicConstant.AUTO_PASSED) .eq(ResiTopicEntity::getDelFlag,NumConstant.ZERO); - int currentValue = resiTopicDao.selectCount(queryWrapper); + currentValue = resiTopicDao.selectCount(queryWrapper); break; case MEMBER: - int currentValue = resiGroupMemberDao.countMembers(customerId, groupId); - calculateMember(customerId, groupId, currentValue, achievementType); + currentValue = resiGroupMemberDao.countMembers(customerId, groupId); break; case TOISSUE: - + //查询已经转议题的话题数 + queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().eq(ResiTopicEntity::getCustomerId,customerId) + .eq(ResiTopicEntity::getGroupId,groupId) + .eq(ResiTopicEntity::getShiftIssue, NumConstant.ONE) + .eq(ResiTopicEntity::getDelFlag,NumConstant.ZERO); + currentValue = 10;//resiTopicDao.selectCount(queryWrapper); break; case RESOVLE_TOPIC: - + //查询已经关闭且为已解决的话题数 + queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().eq(ResiTopicEntity::getCustomerId,customerId) + .eq(ResiTopicEntity::getGroupId,groupId) + .eq(ResiTopicEntity::getStatus, TopicConstant.CLOSED) + .eq(ResiTopicEntity::getClosedStatus, TopicConstant.RESOLVED) + .eq(ResiTopicEntity::getShiftIssue, NumConstant.ONE) + .eq(ResiTopicEntity::getDelFlag,NumConstant.ZERO); + currentValue = resiTopicDao.selectCount(queryWrapper); break; default: log.info("calculateAcm error"); } + calculateMember(customerId, groupId, currentValue, achievementType); return true; } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/dao/ResiGroupMemberDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/dao/ResiGroupMemberDao.java index 6b2df49d00..1b48bd47b6 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/dao/ResiGroupMemberDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/dao/ResiGroupMemberDao.java @@ -143,5 +143,7 @@ public interface ResiGroupMemberDao extends BaseDao { * @description 查询当前用户被移出群的记录,按创建时间降序 * @Date 2021/4/6 12:50 **/ - List queryMemberRemovedRecs(@Param("groupId")String groupId, @Param("userId")String userId); + List queryMemberRemovedRecs(@Param("groupId") String groupId, @Param("userId") String userId); + + int countMembers(@Param("customerId") String customerId, @Param("groupId") String groupId); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/support/GroupAchievementUtils.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/support/GroupAchievementUtils.java index 0f135804a8..ac90ee00fb 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/support/GroupAchievementUtils.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/support/GroupAchievementUtils.java @@ -3,6 +3,7 @@ package com.epmet.modules.support; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; +import com.epmet.modules.enums.AchievementTypeEnum; /** * desc:小组成就下一等级规则工具类 @@ -20,7 +21,7 @@ public class GroupAchievementUtils { * * @param currentValue */ - public static Integer getNextTopicTargetValue(Integer currentValue) { + private static Integer getNextTopicTargetValue(Integer currentValue) { if (currentValue < NumConstant.FIVE_HUNDRED) { throw new RenException(EpmetErrorCode.INTERNAL_VALIDATE_ERROR.getCode()); } @@ -32,7 +33,7 @@ public class GroupAchievementUtils { * * @param currentValue */ - public static Integer getNextToIssueTargetValue(Integer currentValue) { + private static Integer getNextToIssueTargetValue(Integer currentValue) { if (currentValue < NumConstant.ONE_HUNDRED) { throw new RenException(EpmetErrorCode.INTERNAL_VALIDATE_ERROR.getCode()); } @@ -44,10 +45,37 @@ public class GroupAchievementUtils { * * @param currentValue */ - public static Integer getNextResolveTopicTargetValue(Integer currentValue) { + private static Integer getNextResolveTopicTargetValue(Integer currentValue) { if (currentValue < NumConstant.ONE_HUNDRED) { throw new RenException(EpmetErrorCode.INTERNAL_VALIDATE_ERROR.getCode()); } return currentValue + NumConstant.ONE_HUNDRED; } + + /** + * desc:获取下一等级的话题数目标值 步长500 起始值 500 + * + * @param currentValue + */ + public static Integer getNextTargetValue(String achievementType, Integer currentValue) { + AchievementTypeEnum anEnum = AchievementTypeEnum.getEnum(achievementType); + if (anEnum == null){ + throw new RenException(EpmetErrorCode.INTERNAL_VALIDATE_ERROR.getCode()); + } + Integer next = null; + switch (anEnum){ + case TOPIC: + next = getNextTopicTargetValue(currentValue); + break; + case TOISSUE: + next = getNextToIssueTargetValue(currentValue); + break; + case RESOVLE_TOPIC: + next = getNextResolveTopicTargetValue(currentValue); + break; + default: + + } + return next; + } } diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupAchievementConfigDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupAchievementConfigDao.xml index 5531c7228e..c0a7f717a2 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupAchievementConfigDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupAchievementConfigDao.xml @@ -3,20 +3,29 @@ - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupAchievementStatsDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupAchievementStatsDao.xml index 7705832ba7..a6d3c8e49b 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupAchievementStatsDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupAchievementStatsDao.xml @@ -35,6 +35,67 @@ CURRENT_VALUE / TARGET_VALUE ASC LIMIT 3 + + + INSERT INTO resi_group_achievement_stats + ( + ID, + CUSTOMER_ID, + GROUP_ID, + ACHIEVEMENT_ID, + ACHIEVEMENT_NAME, + ACHIEVEMENT_TYPE, + ARRIVE_TIME, + CURRENT_VALUE, + TARGET_VALUE, + IS_ARRIVE, + DEL_FLAG, + REVISION, + CREATED_BY, + CREATED_TIME, + UPDATED_BY, + UPDATED_TIME + ) + VALUES + + ( + #{item.id}, + #{item.customerId}, + #{item.groupId}, + #{item.achievementId}, + #{item.achievementName}, + #{item.achievementType}, + #{item.arriveTime}, + #{item.currentValue}, + #{item.targetValue}, + #{item.isArrive}, + #{item.delFlag}, + #{item.revision}, + #{item.createdBy}, + #{item.createdTime}, + #{item.updatedBy}, + #{item.updatedTime} + ) + + ON DUPLICATE KEY UPDATE + + CURRENT_VALUE = values(CURRENT_VALUE), + TARGET_VALUE = values(TARGET_VALUE), + IS_ARRIVE = VALUES(IS_ARRIVE), + UPDATED_TIME = VALUES(UPDATED_TIME), + + UPDATED_BY = VALUES(UPDATED_BY) + - \ No newline at end of file + diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/ResiGroupMemberDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/ResiGroupMemberDao.xml index 620bac3066..7a48582fe4 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/ResiGroupMemberDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/ResiGroupMemberDao.xml @@ -191,4 +191,15 @@ ORDER BY rgm.CREATED_TIME DESC + diff --git a/epmet-module/resi-group/resi-group-server/src/test/com/epmet/modules/group/service/impl/StatsAchievementServiceImplTest.java b/epmet-module/resi-group/resi-group-server/src/test/com/epmet/modules/group/service/impl/StatsAchievementServiceImplTest.java index 5c2f1bf56c..c8e0e3b19d 100644 --- a/epmet-module/resi-group/resi-group-server/src/test/com/epmet/modules/group/service/impl/StatsAchievementServiceImplTest.java +++ b/epmet-module/resi-group/resi-group-server/src/test/com/epmet/modules/group/service/impl/StatsAchievementServiceImplTest.java @@ -16,9 +16,15 @@ public class StatsAchievementServiceImplTest { @Test public void calculateAcm() { +// String customerId = "test_cid"; +// String groupId = "test_groupId"; +// String achievementType = "member"; +// Boolean aBoolean = statsAchievementService.calculateAcm(customerId, groupId, achievementType); +// System.out.println(aBoolean); + String customerId = "test_cid"; String groupId = "test_groupId"; - String achievementType = "member"; + String achievementType = "toissue"; Boolean aBoolean = statsAchievementService.calculateAcm(customerId, groupId, achievementType); System.out.println(aBoolean); } From 5a51e2253f83e5ad775bb2789798d6d0faa91883 Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 23 Apr 2021 09:04:07 +0800 Subject: [PATCH 15/99] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=9A=82=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rocketmq/constants/TopicConstants.java | 7 ++++++ .../messages/GroupAchievementMQMsg.java | 25 +++++++++++++++++++ .../AbstractStatsAchievementService.java | 8 +++--- .../impl/StatsAchievementServiceImpl.java | 6 ++--- .../com/epmet/mq/AbstractRocketConsumer.java | 23 +++++++++++++++++ .../group/ResiGroupAchievementConfigDao.xml | 2 +- 6 files changed, 64 insertions(+), 7 deletions(-) create mode 100644 epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/GroupAchievementMQMsg.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/AbstractRocketConsumer.java diff --git a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/TopicConstants.java b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/TopicConstants.java index 7687136498..c3c8369784 100644 --- a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/TopicConstants.java +++ b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/TopicConstants.java @@ -1,5 +1,12 @@ package com.epmet.commons.rocketmq.constants; public interface TopicConstants { + /** + * 初始化客户 + */ String INIT_CUSTOMER = "init_customer"; + /** + * 小组成就 + */ + String RESI_GROUP = "group_achievement"; } diff --git a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/GroupAchievementMQMsg.java b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/GroupAchievementMQMsg.java new file mode 100644 index 0000000000..148dd4cc6e --- /dev/null +++ b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/GroupAchievementMQMsg.java @@ -0,0 +1,25 @@ +package com.epmet.commons.rocketmq.messages; + +import lombok.Data; + +import java.io.Serializable; + +/** + * desc:小组成就mq消息类 + * + * @author LiuJanJun + * @date 2021/4/22 8:35 下午 + */ +@Data +public class GroupAchievementMQMsg implements Serializable { + + private String customerId; + + private String groupId; + + /** + * 成就类型 + * @see com.epmet.modules.enums.AchievementTypeEnum + */ + private String achievementType; +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/AbstractStatsAchievementService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/AbstractStatsAchievementService.java index 9ecd4ad915..93980df9cb 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/AbstractStatsAchievementService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/AbstractStatsAchievementService.java @@ -16,11 +16,9 @@ */ package com.epmet.modules.group.service; - import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; -import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.modules.enums.AchievementTypeEnum; import com.epmet.modules.group.dao.ResiGroupDao; import com.epmet.modules.group.entity.ResiGroupAchievementConfigEntity; @@ -88,8 +86,12 @@ public abstract class AbstractStatsAchievementService { Integer nextTargetValue = null; for (int i = 0; i < 5; i++) { nextTargetValue = GroupAchievementUtils.getNextTargetValue(achievementType,lastOne.getTargetValue()); - ResiGroupAchievementConfigEntity next = ConvertUtils.sourceToTarget(lastOne, ResiGroupAchievementConfigEntity.class); + ResiGroupAchievementConfigEntity next = new ResiGroupAchievementConfigEntity(); + next.setCustomerId(lastOne.getCustomerId()); + next.setAchievementName(lastOne.getAchievementName().replace(String.valueOf(lastOne.getTargetValue()), String.valueOf(nextTargetValue))); + next.setPreValue(lastOne.getTargetValue()); next.setTargetValue(nextTargetValue); + next.setAchievementType(lastOne.getAchievementType()); newConfigList.add(next); } achievementConfigService.insertBatch(newConfigList); diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java index 466ff735c3..d29b5217d8 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java @@ -92,7 +92,7 @@ public class StatsAchievementServiceImpl extends AbstractStatsAchievementService .eq(ResiTopicEntity::getGroupId,groupId) .eq(ResiTopicEntity::getShiftIssue, NumConstant.ONE) .eq(ResiTopicEntity::getDelFlag,NumConstant.ZERO); - currentValue = 10;//resiTopicDao.selectCount(queryWrapper); + currentValue = 210;//resiTopicDao.selectCount(queryWrapper); break; case RESOVLE_TOPIC: //查询已经关闭且为已解决的话题数 @@ -214,8 +214,8 @@ public class StatsAchievementServiceImpl extends AbstractStatsAchievementService private List getConfigByType(String achievementType,int pageNum,int pageSize) { List list = super.getAchievemnetConfigPage(pageNum, pageSize, achievementType); if (CollectionUtils.isEmpty(list)) { - log.warn("获取小组成就配置错误,{} 开始进行初始化规则", AchievementTypeEnum.MEMBER.getCode()); - list = super.initAchievementConfig(AchievementTypeEnum.MEMBER.getCode()); + log.warn("获取小组成就配置错误,{} 开始进行初始化规则", achievementType); + list = super.initAchievementConfig(achievementType); } return list; } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/AbstractRocketConsumer.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/AbstractRocketConsumer.java new file mode 100644 index 0000000000..c06e2ca81f --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/AbstractRocketConsumer.java @@ -0,0 +1,23 @@ +package com.epmet.mq; + +import lombok.extern.slf4j.Slf4j; +import org.apache.rocketmq.spring.annotation.RocketMQMessageListener; +import org.apache.rocketmq.spring.core.RocketMQListener; + +/** + * desc: + * + * @author: LiuJanJun + * @date: 2021/4/22 10:10 下午 + * @version: 1.0 + */ +@Slf4j +//@RocketMQMessageListener(topic = "${game.server.config.business-game-message-topic}", consumerGroup = "gateway-message-consumer-group") +@RocketMQMessageListener(topic = "group_achievement", consumerGroup = "group") +public class AbstractRocketConsumer implements RocketMQListener { + + @Override + public void onMessage(String s) { + log.info("receive msg:{}",s); + } +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupAchievementConfigDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupAchievementConfigDao.xml index c0a7f717a2..1728c69e11 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupAchievementConfigDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupAchievementConfigDao.xml @@ -24,7 +24,7 @@ WHERE ACHIEVEMENT_TYPE = #{achievementType} AND DEL_FLAG = '0' - order by TARGET_VALUE + order by TARGET_VALUE DESC LIMIT 1 From c552a44f7f091d05d821f6088071426e0840c298 Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 23 Apr 2021 09:07:48 +0800 Subject: [PATCH 16/99] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=9A=82=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- epmet-module/resi-group/resi-group-server/pom.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/epmet-module/resi-group/resi-group-server/pom.xml b/epmet-module/resi-group/resi-group-server/pom.xml index e7432526b2..c4931be9ae 100644 --- a/epmet-module/resi-group/resi-group-server/pom.xml +++ b/epmet-module/resi-group/resi-group-server/pom.xml @@ -112,6 +112,12 @@ 2.0.0 compile + + + com.epmet + epmet-commons-rocketmq + 2.0.0 + From 5edde68f6f8e1ca3d58e5931b18aedfc6734d64e Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 23 Apr 2021 09:08:31 +0800 Subject: [PATCH 17/99] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=9A=82=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- epmet-commons/epmet-commons-rocketmq/pom.xml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/epmet-commons/epmet-commons-rocketmq/pom.xml b/epmet-commons/epmet-commons-rocketmq/pom.xml index a3761c000f..274ec09b58 100644 --- a/epmet-commons/epmet-commons-rocketmq/pom.xml +++ b/epmet-commons/epmet-commons-rocketmq/pom.xml @@ -17,5 +17,9 @@ rocketmq-spring-boot-starter 2.0.1 + + org.projectlombok + lombok + - \ No newline at end of file + From 22da3840f4b4016d33f6689d1b213dc551ec1658 Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 23 Apr 2021 13:37:51 +0800 Subject: [PATCH 18/99] =?UTF-8?q?=E5=B0=8F=E7=BB=84=E6=88=90=E5=B0=B1?= =?UTF-8?q?=E6=B6=88=E6=81=AF=E6=B6=88=E8=B4=B9=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../constants/ConsomerGroupConstants.java | 5 ++ .../rocketmq/constants/TopicConstants.java | 2 +- .../resi-group/resi-group-server/pom.xml | 15 ++++ .../AbstractStatsAchievementService.java | 31 ++++---- .../impl/StatsAchievementServiceImpl.java | 10 +-- .../com/epmet/mq/AbstractRocketConsumer.java | 23 ------ .../mq/GroupAchieventConsumerListener.java | 37 +++++++++ .../type1/GroupAchievementCustomListener.java | 77 +++++++++++++++++++ .../mq/type1/RocketMQConsumerRegister.java | 63 +++++++++++++++ .../src/main/resources/bootstrap.yml | 5 ++ 10 files changed, 221 insertions(+), 47 deletions(-) delete mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/AbstractRocketConsumer.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/GroupAchieventConsumerListener.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/type1/GroupAchievementCustomListener.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/type1/RocketMQConsumerRegister.java diff --git a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/ConsomerGroupConstants.java b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/ConsomerGroupConstants.java index ded5a9aa8d..38ec75d055 100644 --- a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/ConsomerGroupConstants.java +++ b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/ConsomerGroupConstants.java @@ -22,4 +22,9 @@ public interface ConsomerGroupConstants { */ String ISSUE_PROJECT_CATEGORY_TAG = "issue_project_category_tag"; + /** + * 小组成就消费者组 + */ + String GROUP_ACHIEVEMENT_COMPONENTS_GROUP = "group_achievement_components_group"; + } diff --git a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/TopicConstants.java b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/TopicConstants.java index c3c8369784..d0f7b7f829 100644 --- a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/TopicConstants.java +++ b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/TopicConstants.java @@ -8,5 +8,5 @@ public interface TopicConstants { /** * 小组成就 */ - String RESI_GROUP = "group_achievement"; + String GROUP_ACHIEVEMENT = "group_achievement"; } diff --git a/epmet-module/resi-group/resi-group-server/pom.xml b/epmet-module/resi-group/resi-group-server/pom.xml index c4931be9ae..075676c7b6 100644 --- a/epmet-module/resi-group/resi-group-server/pom.xml +++ b/epmet-module/resi-group/resi-group-server/pom.xml @@ -191,6 +191,10 @@ SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + + + 192.168.1.130:9876;192.168.1.132:9876 + epmet_message @@ -243,6 +247,9 @@ SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + + 192.168.1.130:9876;192.168.1.132:9876 + epmet_message @@ -294,6 +301,10 @@ SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + + + 192.168.10.161:9876 + epmet_message @@ -342,6 +353,10 @@ SEC95f4f40b533ad379ea6a6d1af6dd37029383cfe1b7cd96dfac2678be2c1c3ed1 + + + 192.168.11.187:9876;192.168.11.184:9876 + epmet_message diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/AbstractStatsAchievementService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/AbstractStatsAchievementService.java index 93980df9cb..818937dcf6 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/AbstractStatsAchievementService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/AbstractStatsAchievementService.java @@ -16,13 +16,13 @@ */ package com.epmet.modules.group.service; + import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; import com.epmet.modules.enums.AchievementTypeEnum; -import com.epmet.modules.group.dao.ResiGroupDao; import com.epmet.modules.group.entity.ResiGroupAchievementConfigEntity; -import com.epmet.modules.member.dao.ResiGroupMemberDao; import com.epmet.modules.support.GroupAchievementUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -41,10 +41,7 @@ public abstract class AbstractStatsAchievementService { public ResiGroupAchievementConfigService achievementConfigService; @Autowired public ResiGroupAchievementStatsService achievementStatsService; - @Autowired - public ResiGroupDao resiGroupDao; - @Autowired - private ResiGroupMemberDao resiGroupMemberDao; + /** * desc: 根据成绩类型 分页获取成就配置 按targetValue 升序 @@ -65,37 +62,41 @@ public abstract class AbstractStatsAchievementService { * @date 2021/4/22 1:36 下午 */ protected List getAchievemnetConfigPage(int pageNum, int pageSize, String achievementType) { - return achievementConfigService.selectMoreThanOneByValue(achievementType,(pageNum- NumConstant.ONE)*pageSize,pageSize); + return achievementConfigService.selectMoreThanOneByValue(achievementType, (pageNum - NumConstant.ONE) * pageSize, pageSize); } /** - * desc:初始化配置 + * desc:初始化配置5条 + * * @param achievementType * @return */ - protected List initAchievementConfig(String achievementType){ + protected List initAchievementConfig(String achievementType) { AchievementTypeEnum anEnum = AchievementTypeEnum.getEnum(achievementType); - if (anEnum == null){ + if (anEnum == null) { throw new RenException(EpmetErrorCode.INTERNAL_VALIDATE_ERROR.getCode()); } - if (AchievementTypeEnum.MEMBER.getCode().equals(anEnum.getCode())){ + if (AchievementTypeEnum.MEMBER.getCode().equals(anEnum.getCode())) { throw new RenException("小组人数都到10000啦?"); } ResiGroupAchievementConfigEntity lastOne = achievementConfigService.getLastOne(achievementType); List newConfigList = new ArrayList<>(); Integer nextTargetValue = null; + int preValue = lastOne.getTargetValue(); + String oldName = lastOne.getAchievementName().replace(String.valueOf(lastOne.getTargetValue()), StrConstant.UNDER_LINE); for (int i = 0; i < 5; i++) { - nextTargetValue = GroupAchievementUtils.getNextTargetValue(achievementType,lastOne.getTargetValue()); + nextTargetValue = GroupAchievementUtils.getNextTargetValue(achievementType, preValue); ResiGroupAchievementConfigEntity next = new ResiGroupAchievementConfigEntity(); next.setCustomerId(lastOne.getCustomerId()); - next.setAchievementName(lastOne.getAchievementName().replace(String.valueOf(lastOne.getTargetValue()), String.valueOf(nextTargetValue))); - next.setPreValue(lastOne.getTargetValue()); + next.setAchievementName(oldName.replace(StrConstant.UNDER_LINE, String.valueOf(nextTargetValue))); + //todo 把这个字段去掉 + next.setPreValue(preValue); + preValue = nextTargetValue; next.setTargetValue(nextTargetValue); next.setAchievementType(lastOne.getAchievementType()); newConfigList.add(next); } achievementConfigService.insertBatch(newConfigList); - return newConfigList; } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java index d29b5217d8..17c390d848 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java @@ -135,10 +135,6 @@ public class StatsAchievementServiceImpl extends AbstractStatsAchievementService //改为已实现 if (currentValue >= targetValue) { isBatch = true; -// ResiGroupAchievementStatsEntity newStat = ConvertUtils.sourceToTarget(one, ResiGroupAchievementStatsEntity.class); -// newStat.setCurrentValue(targetValue); -// newStat.setIsArrive(1); -// haveArrive.add(newStat); boolean isContinue; int pageNum = NumConstant.ONE; @@ -200,10 +196,10 @@ public class StatsAchievementServiceImpl extends AbstractStatsAchievementService haveArrive.add(statsEntity); if (currentValue >= configEntity.getTargetValue()) { - statsEntity.setIsArrive(1); + statsEntity.setIsArrive(NumConstant.ONE); } else { //如果没有达到则 放入这一条后 退出 - statsEntity.setIsArrive(0); + statsEntity.setIsArrive(NumConstant.ZERO); isContinue = false; break; } @@ -219,6 +215,4 @@ public class StatsAchievementServiceImpl extends AbstractStatsAchievementService } return list; } - - } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/AbstractRocketConsumer.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/AbstractRocketConsumer.java deleted file mode 100644 index c06e2ca81f..0000000000 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/AbstractRocketConsumer.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.epmet.mq; - -import lombok.extern.slf4j.Slf4j; -import org.apache.rocketmq.spring.annotation.RocketMQMessageListener; -import org.apache.rocketmq.spring.core.RocketMQListener; - -/** - * desc: - * - * @author: LiuJanJun - * @date: 2021/4/22 10:10 下午 - * @version: 1.0 - */ -@Slf4j -//@RocketMQMessageListener(topic = "${game.server.config.business-game-message-topic}", consumerGroup = "gateway-message-consumer-group") -@RocketMQMessageListener(topic = "group_achievement", consumerGroup = "group") -public class AbstractRocketConsumer implements RocketMQListener { - - @Override - public void onMessage(String s) { - log.info("receive msg:{}",s); - } -} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/GroupAchieventConsumerListener.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/GroupAchieventConsumerListener.java new file mode 100644 index 0000000000..0620136433 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/GroupAchieventConsumerListener.java @@ -0,0 +1,37 @@ +package com.epmet.mq; + +import com.alibaba.fastjson.JSON; +import com.epmet.commons.rocketmq.messages.GroupAchievementMQMsg; +import com.epmet.modules.group.service.StatsAchievementService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.apache.rocketmq.spring.core.RocketMQListener; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * desc: 小组成就mq监听 + * + * @author: LiuJanJun + * @date: 2021/4/22 10:10 下午 + * @version: 1.0 + */ +@Slf4j +//@Component +//@RocketMQMessageListener(topic = "group_achievement", consumerGroup = ConsomerGroupConstants.GROUP_ACHIEVEMENT_COMPONENTS_GROUP) +//@Component +public class GroupAchieventConsumerListener implements RocketMQListener { + @Autowired + private StatsAchievementService statsAchievementService; + + @Override + public void onMessage(GroupAchievementMQMsg msg) { + log.info("receive msg:{}", JSON.toJSONString(msg)); + if (StringUtils.isBlank(msg.getAchievementType()) || StringUtils.isBlank(msg.getCustomerId()) + || StringUtils.isBlank(msg.getGroupId())) { + log.error("consumer fail,msg:{}", msg); + return; + } + Boolean aBoolean = statsAchievementService.calculateAcm(msg.getCustomerId(), msg.getGroupId(), msg.getAchievementType()); + log.info("consumer msg success,{}", aBoolean); + } +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/type1/GroupAchievementCustomListener.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/type1/GroupAchievementCustomListener.java new file mode 100644 index 0000000000..1e63735ad3 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/type1/GroupAchievementCustomListener.java @@ -0,0 +1,77 @@ +package com.epmet.mq.type1; + +import com.alibaba.fastjson.JSON; +import com.epmet.commons.rocketmq.messages.GroupAchievementMQMsg; +import com.epmet.commons.tools.distributedlock.DistributedLock; +import com.epmet.commons.tools.exception.ExceptionUtils; +import com.epmet.commons.tools.exception.RenException; +import com.epmet.commons.tools.utils.SpringContextUtils; +import com.epmet.modules.group.service.StatsAchievementService; +import org.apache.commons.lang3.StringUtils; +import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext; +import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus; +import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently; +import org.apache.rocketmq.common.message.MessageExt; +import org.redisson.api.RLock; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.List; +import java.util.concurrent.TimeUnit; + +/** + * @Description 小组成就-监听器 + * @return + * @author wxz + * @date 2021.03.03 16:10 +*/ +public class GroupAchievementCustomListener implements MessageListenerConcurrently { + + private Logger logger = LoggerFactory.getLogger(getClass()); + + @Override + public ConsumeConcurrentlyStatus consumeMessage(List msgs, ConsumeConcurrentlyContext context) { + try { + msgs.forEach(this::consumeMessage); + } catch (Exception e) { + logger.error("consumeMessage fail,msg:{}",e.getMessage()); + return ConsumeConcurrentlyStatus.CONSUME_SUCCESS; + } + return ConsumeConcurrentlyStatus.CONSUME_SUCCESS; + } + + private void consumeMessage(MessageExt messageExt) { + String msg = new String(messageExt.getBody()); + logger.info("receive msg:{}", JSON.toJSONString(msg)); + GroupAchievementMQMsg msgObj = JSON.parseObject(msg, GroupAchievementMQMsg.class); + + DistributedLock distributedLock = null; + RLock lock = null; + try { + distributedLock = SpringContextUtils.getBean(DistributedLock.class); + lock = distributedLock.getLock(String.format("lock:init_customer_org:%s", msgObj.getCustomerId()), + 30l, 30l, TimeUnit.SECONDS); + + + + if (StringUtils.isBlank(msgObj.getAchievementType()) || StringUtils.isBlank(msgObj.getCustomerId()) + || StringUtils.isBlank(msgObj.getGroupId())){ + logger.error("consumer fail,msg:{}",msgObj); + return; + } + Boolean aBoolean = SpringContextUtils.getBean(StatsAchievementService.class).calculateAcm(msgObj.getCustomerId(), msgObj.getGroupId(), msgObj.getAchievementType()); + logger.info("consumer msg success,{}",aBoolean); + } catch (RenException e) { + // 如果是我们手动抛出的异常,说明在业务可控范围内。目前不需要MQ重试 + logger.error("【RocketMQ】初始化客户组织失败:".concat(ExceptionUtils.getErrorStackTrace(e))); + } catch (Exception e) { + // 不是我们自己抛出的异常,可以让MQ重试 + logger.error("【RocketMQ】初始化客户组织失败:".concat(ExceptionUtils.getErrorStackTrace(e))); + throw e; + } finally { + if (distributedLock != null){ + distributedLock.unLock(lock); + } + } + } +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/type1/RocketMQConsumerRegister.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/type1/RocketMQConsumerRegister.java new file mode 100644 index 0000000000..c15e0ba6b2 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/type1/RocketMQConsumerRegister.java @@ -0,0 +1,63 @@ +package com.epmet.mq.type1; + +import com.epmet.commons.rocketmq.constants.ConsomerGroupConstants; +import com.epmet.commons.rocketmq.constants.TopicConstants; +import lombok.extern.slf4j.Slf4j; +import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer; +import org.apache.rocketmq.client.consumer.listener.MessageListener; +import org.apache.rocketmq.client.exception.MQClientException; +import org.apache.rocketmq.common.protocol.heartbeat.MessageModel; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; + +@Slf4j +@Component +public class RocketMQConsumerRegister { + + @Value("${rocketmq.name-server}") + private String nameServer; + + /** + * @return + * @Description 注册监听器 + * @author wxz + * @date 2021.03.03 16:09 + */ + @PostConstruct + public void registerAllListeners() { + try { + register(ConsomerGroupConstants.GROUP_ACHIEVEMENT_COMPONENTS_GROUP, MessageModel.CLUSTERING, TopicConstants.GROUP_ACHIEVEMENT, "*", new GroupAchievementCustomListener()); + } catch (MQClientException e) { + log.error("registerAllListeners exception", e); + } + } + + public void register(String group, MessageModel messageModel, String topic, String subException, MessageListener listener) throws MQClientException { + // 实例化消费者 + DefaultMQPushConsumer consumer = new DefaultMQPushConsumer(group); + + // 设置NameServer的地址 + consumer.setNamesrvAddr(nameServer); + consumer.setMessageModel(messageModel); + consumer.setInstanceName(buildInstanceName()); + // 订阅一个或者多个Topic,以及Tag来过滤需要消费的消息 + consumer.subscribe(topic, subException); + // 注册回调实现类来处理从broker拉取回来的消息 + consumer.registerMessageListener(listener); + // 启动消费者实例 + consumer.start(); + } + + private String buildInstanceName() { + String instanceName = ""; + for (int i = 0; i < 4; i++) { + int t = (int) (Math.random() * 10); + instanceName = instanceName.concat(t + ""); + } + + return instanceName; + } + +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/bootstrap.yml b/epmet-module/resi-group/resi-group-server/src/main/resources/bootstrap.yml index 35cade577d..165abb2e03 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/bootstrap.yml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/bootstrap.yml @@ -157,3 +157,8 @@ shutdown: graceful: enable: true #是否开启优雅停机 waitTimeSecs: 30 # 优雅停机等待时间,每超过30秒,打印一次错误日志 + +rocketmq: + name-server: @rocketmq.nameserver@ + producer: + group: @rocketmq.producer.group@ From 2fc44c37b33256e7f1cf897f4c53d3e5554e489b Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 23 Apr 2021 14:14:43 +0800 Subject: [PATCH 19/99] =?UTF-8?q?=E7=BB=84=E5=91=98=E5=85=A5=E7=BB=84?= =?UTF-8?q?=E6=B6=88=E6=81=AF=E5=8F=91=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- epmet-commons/epmet-commons-rocketmq/pom.xml | 1 + .../com/epmet/constant/SystemMessageType.java | 5 +++++ .../service/impl/SystemMessageServiceImpl.java | 3 +++ .../service/impl/ResiGroupServiceImpl.java | 17 ++++++++++++++++- 4 files changed, 25 insertions(+), 1 deletion(-) diff --git a/epmet-commons/epmet-commons-rocketmq/pom.xml b/epmet-commons/epmet-commons-rocketmq/pom.xml index 274ec09b58..e61ac46c9e 100644 --- a/epmet-commons/epmet-commons-rocketmq/pom.xml +++ b/epmet-commons/epmet-commons-rocketmq/pom.xml @@ -16,6 +16,7 @@ org.apache.rocketmq rocketmq-spring-boot-starter 2.0.1 + org.projectlombok diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SystemMessageType.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SystemMessageType.java index 382b96e275..545940ecea 100644 --- a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SystemMessageType.java +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SystemMessageType.java @@ -10,4 +10,9 @@ public interface SystemMessageType { */ String INIT_CUSTOMER = "init_customer"; + /** + * 小组成就 + */ + String GROUP_ACHIEVEMENT = "group_achievement"; + } diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SystemMessageServiceImpl.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SystemMessageServiceImpl.java index 64a067af56..72b1657e2a 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SystemMessageServiceImpl.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SystemMessageServiceImpl.java @@ -64,6 +64,9 @@ public class SystemMessageServiceImpl implements SystemMessageService { case SystemMessageType.INIT_CUSTOMER: topic = TopicConstants.INIT_CUSTOMER; break; + case SystemMessageType.GROUP_ACHIEVEMENT: + topic = TopicConstants.GROUP_ACHIEVEMENT; + break; } return topic; } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java index 08c1737eaa..9b1f83503a 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java @@ -21,6 +21,7 @@ import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.rocketmq.messages.GroupAchievementMQMsg; import com.epmet.commons.tools.constant.*; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; @@ -37,12 +38,13 @@ import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.ScanContentUtils; import com.epmet.constant.ReadFlagConstant; +import com.epmet.constant.SystemMessageType; import com.epmet.dto.form.*; import com.epmet.dto.result.UserResiInfoResultDTO; import com.epmet.dto.result.UserRoleResultDTO; import com.epmet.feign.EpmetMessageOpenFeignClient; -import com.epmet.group.constant.GroupConstant; import com.epmet.modules.constant.UserMessageConstant; +import com.epmet.modules.enums.AchievementTypeEnum; import com.epmet.modules.feign.EpmetMessageFeignClient; import com.epmet.modules.feign.EpmetUserFeignClient; import com.epmet.modules.feign.GovOrgFeignClient; @@ -660,6 +662,19 @@ public class ResiGroupServiceImpl extends BaseServiceImpl msgList = new ArrayList<>(); msgList.add(wxSubscribeMessageFormDTO); epmetMessageOpenFeignClient.sendWxSubscribeMessage(msgList); + //发送小组成就消息 + GroupAchievementMQMsg msgContent = new GroupAchievementMQMsg(); + msgContent.setCustomerId(resiGroupDTO.getCustomerId()); + msgContent.setGroupId(resiGroupDTO.getId()); + msgContent.setAchievementType(AchievementTypeEnum.MEMBER.getCode()); + + SystemMsgFormDTO systemMsgFormDTO = new SystemMsgFormDTO(); + systemMsgFormDTO.setMessageType(SystemMessageType.GROUP_ACHIEVEMENT); + systemMsgFormDTO.setContent(msgContent); + Result sendMsgResult = epmetMessageOpenFeignClient.sendSystemMsgByMQ(systemMsgFormDTO); + if (!sendMsgResult.success()) { + logger.error("发送(小组成就)系统消息到message服务失败:{}", sendMsgResult.getInternalMsg()); + } return new Result(); } From 7851f3a4402f5e7a0106ea2da349ff52faf444a0 Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 23 Apr 2021 15:10:26 +0800 Subject: [PATCH 20/99] =?UTF-8?q?=E5=B0=8F=E7=BB=84=E6=88=90=E5=B0=B1?= =?UTF-8?q?=E6=B6=88=E6=81=AF=E5=8F=98=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../messages/GroupAchievementMQMsg.java | 2 + .../epmet-message-client/pom.xml | 5 ++ .../java/com/epmet/send/SendMqMsgUtil.java | 68 +++++++++++++++++++ .../service/impl/ResiGroupServiceImpl.java | 18 ++--- .../topic/controller/ResiTopicController.java | 1 + .../service/impl/ResiTopicServiceImpl.java | 15 ++++ .../service/impl/TopicDraftServiceImpl.java | 15 +++- 7 files changed, 111 insertions(+), 13 deletions(-) create mode 100644 epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/send/SendMqMsgUtil.java diff --git a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/GroupAchievementMQMsg.java b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/GroupAchievementMQMsg.java index 148dd4cc6e..f54a2bee52 100644 --- a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/GroupAchievementMQMsg.java +++ b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/GroupAchievementMQMsg.java @@ -1,5 +1,6 @@ package com.epmet.commons.rocketmq.messages; +import lombok.AllArgsConstructor; import lombok.Data; import java.io.Serializable; @@ -11,6 +12,7 @@ import java.io.Serializable; * @date 2021/4/22 8:35 下午 */ @Data +@AllArgsConstructor public class GroupAchievementMQMsg implements Serializable { private String customerId; diff --git a/epmet-module/epmet-message/epmet-message-client/pom.xml b/epmet-module/epmet-message/epmet-message-client/pom.xml index 4c7ff05c15..1f18392613 100644 --- a/epmet-module/epmet-message/epmet-message-client/pom.xml +++ b/epmet-module/epmet-message/epmet-message-client/pom.xml @@ -26,6 +26,11 @@ io.springfox springfox-swagger-ui + + com.epmet + epmet-commons-rocketmq + 2.0.0 + diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/send/SendMqMsgUtil.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/send/SendMqMsgUtil.java new file mode 100644 index 0000000000..b7dfb15d5d --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/send/SendMqMsgUtil.java @@ -0,0 +1,68 @@ +package com.epmet.send; + +import com.alibaba.fastjson.JSON; +import com.epmet.commons.rocketmq.messages.GroupAchievementMQMsg; +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.utils.Result; +import com.epmet.constant.SystemMessageType; +import com.epmet.dto.form.SystemMsgFormDTO; +import com.epmet.feign.EpmetMessageOpenFeignClient; +import lombok.extern.slf4j.Slf4j; + +/** + * desc: 发送mq消息直接到rocketMq 系统 + * + * @author: LiuJanJun + * @date: 2021/4/23 2:39 下午 + * @versio: 1.0 + */ +@Slf4j +public class SendMqMsgUtil { + private static final SendMqMsgUtil INSTANCE = new SendMqMsgUtil(); + + private SendMqMsgUtil() { + + } + + private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient; + + public static SendMqMsgUtil build() { + return INSTANCE; + } + + public SendMqMsgUtil openFeignClient(EpmetMessageOpenFeignClient epmetMessageOpenFeignClient) { + this.epmetMessageOpenFeignClient = epmetMessageOpenFeignClient; + return this; + } + + /** + * desc: 发送小组成就消息,计算小组成就 + * + * @param msgContent + * @return boolean + * @author LiuJanJun + * @date 2021/4/23 3:01 下午 + * @remark 失败重试1次 + */ + public boolean sendGroupAchievementMqMsg(GroupAchievementMQMsg msgContent) { + try { + SystemMsgFormDTO systemMsgFormDTO = new SystemMsgFormDTO(); + systemMsgFormDTO.setMessageType(SystemMessageType.GROUP_ACHIEVEMENT); + systemMsgFormDTO.setContent(msgContent); + Result sendMsgResult = null; + int retryTime = 1; + do { + sendMsgResult = epmetMessageOpenFeignClient.sendSystemMsgByMQ(systemMsgFormDTO); + } while ((sendMsgResult == null || !sendMsgResult.success()) && retryTime++ < NumConstant.TWO); + + if (sendMsgResult != null && sendMsgResult.success()) { + return true; + } + log.error("发送(小组成就)系统消息到message服务失败:{},msg:{}", JSON.toJSONString(sendMsgResult), JSON.toJSONString(systemMsgFormDTO)); + } catch (Exception e) { + log.error("sendMqMsg exception", e); + } + return false; + } + +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java index 9b1f83503a..a6641fcaa9 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java @@ -38,7 +38,6 @@ import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.ScanContentUtils; import com.epmet.constant.ReadFlagConstant; -import com.epmet.constant.SystemMessageType; import com.epmet.dto.form.*; import com.epmet.dto.result.UserResiInfoResultDTO; import com.epmet.dto.result.UserRoleResultDTO; @@ -76,6 +75,7 @@ import com.epmet.resi.group.dto.member.ResiGroupMemberInfoRedisDTO; import com.epmet.resi.group.dto.member.form.EditAuditSwitchFormDTO; import com.epmet.resi.group.dto.member.result.AchievementResultDTO; import com.epmet.resi.group.dto.member.result.GroupAchievementDTO; +import com.epmet.send.SendMqMsgUtil; import com.github.pagehelper.PageHelper; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; @@ -662,18 +662,12 @@ public class ResiGroupServiceImpl extends BaseServiceImpl msgList = new ArrayList<>(); msgList.add(wxSubscribeMessageFormDTO); epmetMessageOpenFeignClient.sendWxSubscribeMessage(msgList); + //发送小组成就消息 - GroupAchievementMQMsg msgContent = new GroupAchievementMQMsg(); - msgContent.setCustomerId(resiGroupDTO.getCustomerId()); - msgContent.setGroupId(resiGroupDTO.getId()); - msgContent.setAchievementType(AchievementTypeEnum.MEMBER.getCode()); - - SystemMsgFormDTO systemMsgFormDTO = new SystemMsgFormDTO(); - systemMsgFormDTO.setMessageType(SystemMessageType.GROUP_ACHIEVEMENT); - systemMsgFormDTO.setContent(msgContent); - Result sendMsgResult = epmetMessageOpenFeignClient.sendSystemMsgByMQ(systemMsgFormDTO); - if (!sendMsgResult.success()) { - logger.error("发送(小组成就)系统消息到message服务失败:{}", sendMsgResult.getInternalMsg()); + boolean flag = SendMqMsgUtil.build().openFeignClient(epmetMessageOpenFeignClient) + .sendGroupAchievementMqMsg(new GroupAchievementMQMsg(resiGroupDTO.getCustomerId(),resiGroupDTO.getId(),AchievementTypeEnum.MEMBER.getCode())); + if (!flag) { + logger.error("发送(小组成就)系统消息到message服务失败"); } return new Result(); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java index 419f927f83..1cfbf15f4a 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java @@ -47,6 +47,7 @@ public class ResiTopicController { * @Author wangc * @Date 2020.03.31 13:15 **/ + @Deprecated @PostMapping("createtopic") public Result createTopic(@LoginUser TokenDto tokenDto, @RequestBody ResiTopicPublishFormDTO topicPublishFormDTO){ diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java index da9ed2253e..0f42f3fcf8 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java @@ -22,6 +22,7 @@ import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.rocketmq.messages.GroupAchievementMQMsg; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.MqConstant; import com.epmet.commons.tools.constant.NumConstant; @@ -54,6 +55,7 @@ import com.epmet.feign.GovOrgOpenFeignClient; import com.epmet.modules.constant.GroupMemberConstant; import com.epmet.modules.constant.ResiGroupRedisKeys; import com.epmet.modules.constant.WxmpSubscribeConstant; +import com.epmet.modules.enums.AchievementTypeEnum; import com.epmet.modules.feign.EpmetUserFeignClient; import com.epmet.modules.feign.GovIssueFeignClient; import com.epmet.modules.feign.GovOrgFeignClient; @@ -96,9 +98,11 @@ import com.epmet.resi.group.dto.topic.form.*; import com.epmet.resi.group.dto.topic.result.CheckTopicPublisherResultDTO; import com.epmet.resi.group.dto.topic.result.GovTopicIssueInfoResultDTO; import com.epmet.resi.group.dto.topic.result.*; +import com.epmet.send.SendMqMsgUtil; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.google.common.base.CharMatcher; +import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; @@ -119,6 +123,7 @@ import java.util.stream.Collectors; * @author generator generator@elink-cn.com * @since v1.0.0 2020-03-31 */ +@Data @Service @Slf4j public class ResiTopicServiceImpl extends BaseServiceImpl implements ResiTopicService { @@ -767,6 +772,11 @@ public class ResiTopicServiceImpl extends BaseServiceImpl Date: Fri, 23 Apr 2021 15:15:12 +0800 Subject: [PATCH 21/99] =?UTF-8?q?=E5=B0=8F=E7=BB=84=E6=88=90=E5=91=98?= =?UTF-8?q?=E6=88=90=E5=B0=B1=20=E5=8F=AA=E7=BB=9F=E8=AE=A1=E5=B0=8F?= =?UTF-8?q?=E7=BB=84=E6=88=90=E5=91=98=E9=99=A4=E4=BA=86=E7=BB=84=E9=95=BF?= =?UTF-8?q?=E4=B9=8B=E5=A4=96=E7=9A=84=E4=BA=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/StatsAchievementServiceImpl.java | 12 ++++++------ .../epmet/modules/member/dao/ResiGroupMemberDao.java | 9 +++++++++ .../resources/mapper/member/ResiGroupMemberDao.xml | 1 + 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java index 17c390d848..74ada0b770 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java @@ -92,7 +92,7 @@ public class StatsAchievementServiceImpl extends AbstractStatsAchievementService .eq(ResiTopicEntity::getGroupId,groupId) .eq(ResiTopicEntity::getShiftIssue, NumConstant.ONE) .eq(ResiTopicEntity::getDelFlag,NumConstant.ZERO); - currentValue = 210;//resiTopicDao.selectCount(queryWrapper); + currentValue = resiTopicDao.selectCount(queryWrapper); break; case RESOVLE_TOPIC: //查询已经关闭且为已解决的话题数 @@ -108,7 +108,7 @@ public class StatsAchievementServiceImpl extends AbstractStatsAchievementService default: log.info("calculateAcm error"); } - calculateMember(customerId, groupId, currentValue, achievementType); + calculateGroupAchievement(customerId, groupId, currentValue, achievementType); return true; } @@ -118,7 +118,7 @@ public class StatsAchievementServiceImpl extends AbstractStatsAchievementService * @param customerId * @param groupId */ - private void calculateMember(String customerId, String groupId,int currentValue, String achievementType) { + private void calculateGroupAchievement(String customerId, String groupId, int currentValue, String achievementType) { ResiGroupAchievementStatsEntity one = super.achievementStatsService.selectLastUnAchieved(customerId, groupId, achievementType); @@ -141,7 +141,7 @@ public class StatsAchievementServiceImpl extends AbstractStatsAchievementService int pageSize = NumConstant.TEN; do { List list = getConfigByType(achievementType,pageNum++,pageSize); - isContinue = buildArrivList(customerId, groupId, achievementType, currentValue, one.getTargetValue(), haveArrive, list); + isContinue = buildArriveList(customerId, groupId, achievementType, currentValue, one.getTargetValue(), haveArrive, list); }while (isContinue); } @@ -168,14 +168,14 @@ public class StatsAchievementServiceImpl extends AbstractStatsAchievementService log.error("calculateMember get config fail"); throw new RenException(EpmetErrorCode.INTERNAL_VALIDATE_ERROR.getCode()); } - isContinue = buildArrivList(customerId, groupId, achievementType, currentValue, null, haveArrive, list); + isContinue = buildArriveList(customerId, groupId, achievementType, currentValue, null, haveArrive, list); }while (isContinue); if (CollectionUtils.isEmpty(haveArrive)) { throw new RenException("小组达成成就失败"); } } - private boolean buildArrivList(String customerId, String groupId, String achievementType, int currentValue, Integer targetValue, List haveArrive, List list) { + private boolean buildArriveList(String customerId, String groupId, String achievementType, int currentValue, Integer targetValue, List haveArrive, List list) { boolean isContinue = true; for (ResiGroupAchievementConfigEntity configEntity : list) { if (targetValue != null) { diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/dao/ResiGroupMemberDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/dao/ResiGroupMemberDao.java index 1b48bd47b6..b80e9cacca 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/dao/ResiGroupMemberDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/dao/ResiGroupMemberDao.java @@ -145,5 +145,14 @@ public interface ResiGroupMemberDao extends BaseDao { **/ List queryMemberRemovedRecs(@Param("groupId") String groupId, @Param("userId") String userId); + /** + * desc: 仅统计除组长之外的成员数 + * + * @param customerId + * @param groupId + * @return int + * @author LiuJanJun + * @date 2021/4/23 3:14 下午 + */ int countMembers(@Param("customerId") String customerId, @Param("groupId") String groupId); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/ResiGroupMemberDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/ResiGroupMemberDao.xml index 7a48582fe4..87197c1003 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/ResiGroupMemberDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/ResiGroupMemberDao.xml @@ -200,6 +200,7 @@ rgm.RESI_GROUP_ID = #{groupId} AND rgm.CUSTOMER_ID = #{customerId} and rgm.STATUS = 'approved' + AND rgm.GROUP_LEADER_FLAG = 'member' From 9bbd4a6534af2d0068ba045d61f255d72a247409 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Fri, 23 Apr 2021 15:25:01 +0800 Subject: [PATCH 22/99] =?UTF-8?q?=E5=B0=8F=E7=BB=84=E6=88=90=E5=B0=B1?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/BizPointTotalDetailServiceImpl.java | 61 +++++++++++-------- .../BizPointUserTotalDetailServiceImpl.java | 44 +++++++------ .../resi/group/dto/group/ResiGroupDTO.java | 4 ++ .../group/controller/ResiGroupController.java | 2 +- .../group/service/ResiGroupService.java | 9 +++ .../service/impl/ResiGroupServiceImpl.java | 21 +++++++ 6 files changed, 94 insertions(+), 47 deletions(-) diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointTotalDetailServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointTotalDetailServiceImpl.java index e0a03fe667..6609bbe34c 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointTotalDetailServiceImpl.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointTotalDetailServiceImpl.java @@ -41,10 +41,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.util.*; +import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; /** @@ -147,12 +145,18 @@ public class BizPointTotalDetailServiceImpl extends BaseServiceImpl groupPointRanking(GroupPointFormDTO formDTO) { - List list = new ArrayList<>(); + List list; QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("BIZ_TYPE", "group") .eq("GRID_ID", formDTO.getGridId()) @@ -174,24 +178,29 @@ public class BizPointTotalDetailServiceImpl extends BaseServiceImpl totalDetailList = baseDao.selectList(wrapper); Result> groupList = resiGroupOpenFeignClient.getGroupListByGrid(formDTO.getGridId()); + list = groupList.getData().stream().map(item -> { + GroupPointRankingResultDTO dto = new GroupPointRankingResultDTO(); + dto.setGroupId(item.getId()); + dto.setGroupName(item.getGroupName()); + dto.setPoint(NumConstant.ZERO_STR); + if (formDTO.getGroupId().equals(item.getId())) { + dto.setIsMine(NumConstant.ONE_STR); + } else { + dto.setIsMine(NumConstant.ZERO_STR); + } + return dto; + }).collect(Collectors.toList()); + list.forEach(item -> totalDetailList.stream().filter(detail -> item.getGroupId().equals(detail.getObjectId())).forEach(total -> { + item.setPoint(total.getTotalPoint().toString()); + + })); list = - totalDetailList.stream().flatMap(detail -> groupList.getData().stream().filter(item -> item.getId().equals(detail.getObjectId())).map(group -> { - GroupPointRankingResultDTO dto = new GroupPointRankingResultDTO(); - dto.setGroupId(group.getId()); - dto.setGroupName(group.getGroupName()); - dto.setPoint(detail.getTotalPoint().toString()); - if (formDTO.getGroupId().equals(group.getId())) { - dto.setIsMine(NumConstant.ONE_STR); - } else { - dto.setIsMine(NumConstant.ZERO_STR); - } - return dto; - })).collect(Collectors.toList()); - int i = 1; - for (GroupPointRankingResultDTO dto : list) { - dto.setRanking(String.valueOf(i)); - i++; - } + list.stream().sorted(Comparator.comparing(GroupPointRankingResultDTO :: getPoint, Comparator.comparingInt(Integer::parseInt)).reversed().thenComparing(GroupPointRankingResultDTO::getGroupName)) + .collect(Collectors.toList()); + AtomicInteger i = new AtomicInteger(1); + list.forEach(dto -> { + dto.setRanking(String.valueOf(i.getAndIncrement())); + }); return list; } diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointUserTotalDetailServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointUserTotalDetailServiceImpl.java index e6fc360f26..1904a5bf29 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointUserTotalDetailServiceImpl.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointUserTotalDetailServiceImpl.java @@ -35,6 +35,7 @@ import com.epmet.dto.result.UserBaseInfoResultDTO; import com.epmet.entity.BizPointUserTotalDetailEntity; import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.resi.group.dto.group.ResiGroupDTO; +import com.epmet.resi.group.dto.member.ResiGroupMemberDTO; import com.epmet.resi.group.feign.ResiGroupOpenFeignClient; import com.epmet.service.BizPointUserTotalDetailService; import org.apache.commons.lang3.StringUtils; @@ -42,10 +43,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.text.Collator; +import java.util.*; +import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; /** @@ -176,30 +176,30 @@ public class BizPointUserTotalDetailServiceImpl extends BaseServiceImpl userTotalList = baseDao.selectList(wrapper); - int i = 1; - list = userTotalList.stream().map(item -> { + AtomicInteger i = new AtomicInteger(1); + + //获取小组信息 + Result group = resiGroupOpenFeignClient.getGroupDetail(formDTO.getGroupId()); + if (!group.success() || null == group.getData()) { + throw new RenException(group.getCode(), group.getMsg()); + } + List memberList = group.getData().getMemberList(); + list = memberList.stream().map(item -> { PointRankingResultDTO dto = new PointRankingResultDTO(); - dto.setUserId(item.getUserId()); - dto.setPoint(item.getTotalPoint().toString()); - if (tokenDto.getUserId().equals(item.getUserId())) { + dto.setUserId(item.getCustomerUserId()); + dto.setPoint(NumConstant.ZERO_STR); + if (tokenDto.getUserId().equals(item.getCustomerUserId())) { dto.setIsMine(NumConstant.ONE_STR); } else { dto.setIsMine(NumConstant.ZERO_STR); } return dto; }).collect(Collectors.toList()); - for (PointRankingResultDTO dto : list) { - dto.setRanking(String.valueOf(i)); - i++; - } - - //获取小组信息 - Result group = resiGroupOpenFeignClient.getGroupDetail(formDTO.getGroupId()); - if (!group.success() || null == group.getData()) { - throw new RenException(group.getCode(), group.getMsg()); - } + list.forEach(item -> userTotalList.stream().filter(user -> user.getUserId().equals(item.getUserId())).forEach(total -> { + item.setPoint(total.getTotalPoint().toString()); + })); //获取用户信息 - List userIds = userTotalList.stream().map(BizPointUserTotalDetailEntity :: getUserId).collect(Collectors.toList()); + List userIds = memberList.stream().map(ResiGroupMemberDTO :: getCustomerUserId).collect(Collectors.toList()); Result> userInfoListResult = epmetUserOpenFeignClient.queryUserBaseInfo(userIds); if (!userInfoListResult.success() || null == userInfoListResult.getData()) { throw new RenException(userInfoListResult.getCode(), userInfoListResult.getMsg()); @@ -215,6 +215,10 @@ public class BizPointUserTotalDetailServiceImpl extends BaseServiceImpl item.setRanking(String.valueOf(i.getAndIncrement()))); return list; } diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupDTO.java index 3153903240..7994bf7d8d 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupDTO.java @@ -17,10 +17,12 @@ package com.epmet.resi.group.dto.group; +import com.epmet.resi.group.dto.member.ResiGroupMemberDTO; import lombok.Data; import java.io.Serializable; import java.util.Date; +import java.util.List; /** @@ -125,4 +127,6 @@ Ps: 如果一个小组被拒绝,当前小组的状态将永久停留在“审 */ private Date updatedTime; + private List memberList; + } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java index c168a3453d..30c0282b40 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java @@ -522,7 +522,7 @@ public class ResiGroupController { */ @PostMapping("groupDetail/{groupId}") public Result getGroupDetail(@PathVariable String groupId) { - ResiGroupDTO groupDTO = resiGroupService.get(groupId); + ResiGroupDTO groupDTO = resiGroupService.getGroupInfoAndGroupMember(groupId); return new Result().ok(groupDTO); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java index 197fd98692..d4ed1861b0 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java @@ -409,4 +409,13 @@ public interface ResiGroupService extends BaseService { * @return com.epmet.resi.group.dto.member.result.AchievementResultDTO */ AchievementResultDTO achievement(TokenDto tokenDto); + + /** + * 获取小组信息及小组成员 + * @author zhaoqifeng + * @date 2021/4/23 14:56 + * @param groupId + * @return com.epmet.resi.group.dto.group.ResiGroupDTO + */ + ResiGroupDTO getGroupInfoAndGroupMember(String groupId); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java index a6641fcaa9..13aa64d7dc 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java @@ -57,6 +57,7 @@ import com.epmet.modules.group.redis.ResiGroupRedis; import com.epmet.modules.group.service.*; import com.epmet.modules.member.dao.GroupMemeberOperationDao; import com.epmet.modules.member.dao.ResiGroupMemberDao; +import com.epmet.modules.member.entity.ResiGroupMemberEntity; import com.epmet.modules.member.redis.ResiGroupMemberRedis; import com.epmet.modules.member.service.GroupMemeberOperationService; import com.epmet.modules.member.service.ResiGroupMemberService; @@ -1282,6 +1283,26 @@ public class ResiGroupServiceImpl extends BaseServiceImpl wrapper = new QueryWrapper<>(); + wrapper.eq("RESI_GROUP_ID", groupId) + .eq("STATUS", GroupStateConstant.GROUP_APPROVED) + .eq("DEL_FLAG", NumConstant.ZERO_STR); + List memberList = resiGroupMemberDao.selectList(wrapper); + group.setMemberList(ConvertUtils.sourceToTarget(memberList, ResiGroupMemberDTO.class)); + return group; + } + @Override public GroupDetailResultDTO getGroupDetail(String groupId) { GroupDetailResultDTO groupDetail = new GroupDetailResultDTO(); From 0baa38af48d7a806e3a74f305831a1900c3f5313 Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 23 Apr 2021 15:52:30 +0800 Subject: [PATCH 23/99] =?UTF-8?q?=E5=B0=8F=E7=BB=84=E6=88=90=E5=91=98?= =?UTF-8?q?=E6=88=90=E5=B0=B1=20=E5=8F=AA=E7=BB=9F=E8=AE=A1=E5=B0=8F?= =?UTF-8?q?=E7=BB=84=E6=88=90=E5=91=98=E9=99=A4=E4=BA=86=E7=BB=84=E9=95=BF?= =?UTF-8?q?=E4=B9=8B=E5=A4=96=E7=9A=84=E4=BA=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../group/service/impl/StatsAchievementServiceImpl.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java index 74ada0b770..9661e1a93c 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java @@ -108,6 +108,9 @@ public class StatsAchievementServiceImpl extends AbstractStatsAchievementService default: log.info("calculateAcm error"); } + if(currentValue == 0){ + return true; + } calculateGroupAchievement(customerId, groupId, currentValue, achievementType); return true; } From d2d53da859bf8bc21f9911dd092551710d4d5959 Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 23 Apr 2021 16:26:26 +0800 Subject: [PATCH 24/99] =?UTF-8?q?=E4=BA=8B=E5=8A=A1=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/send/SendMqMsgUtil.java | 2 +- .../modules/group/service/impl/StatsAchievementServiceImpl.java | 1 + .../epmet/modules/topic/service/impl/ResiTopicServiceImpl.java | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/send/SendMqMsgUtil.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/send/SendMqMsgUtil.java index b7dfb15d5d..13fcfa4367 100644 --- a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/send/SendMqMsgUtil.java +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/send/SendMqMsgUtil.java @@ -42,7 +42,7 @@ public class SendMqMsgUtil { * @return boolean * @author LiuJanJun * @date 2021/4/23 3:01 下午 - * @remark 失败重试1次 + * @remark 失败重试1次,调用端自行判断如果失败是否要继续执行 */ public boolean sendGroupAchievementMqMsg(GroupAchievementMQMsg msgContent) { try { diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java index 9661e1a93c..75eda59a4b 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java @@ -111,6 +111,7 @@ public class StatsAchievementServiceImpl extends AbstractStatsAchievementService if(currentValue == 0){ return true; } + log.info("calculateAcm achievementType:{},groupId:{},currentValue:{}",groupId,currentValue,achievementType); calculateGroupAchievement(customerId, groupId, currentValue, achievementType); return true; } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java index 0f42f3fcf8..c27843fab7 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java @@ -1600,6 +1600,7 @@ public class ResiTopicServiceImpl extends BaseServiceImpl Date: Fri, 23 Apr 2021 16:48:01 +0800 Subject: [PATCH 25/99] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=88=A4=E6=96=AD?= =?UTF-8?q?=E8=A7=A3=E5=86=B3=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../group/service/AbstractStatsAchievementService.java | 3 +++ .../com/epmet/mq/type1/GroupAchievementCustomListener.java | 5 ++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/AbstractStatsAchievementService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/AbstractStatsAchievementService.java index 818937dcf6..82b0e2afdb 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/AbstractStatsAchievementService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/AbstractStatsAchievementService.java @@ -80,6 +80,9 @@ public abstract class AbstractStatsAchievementService { throw new RenException("小组人数都到10000啦?"); } ResiGroupAchievementConfigEntity lastOne = achievementConfigService.getLastOne(achievementType); + if (lastOne == null){ + throw new RenException("小组成就配置有误,type:{}",achievementType); + } List newConfigList = new ArrayList<>(); Integer nextTargetValue = null; int preValue = lastOne.getTargetValue(); diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/type1/GroupAchievementCustomListener.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/type1/GroupAchievementCustomListener.java index 1e63735ad3..5410794265 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/type1/GroupAchievementCustomListener.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/type1/GroupAchievementCustomListener.java @@ -3,7 +3,6 @@ package com.epmet.mq.type1; import com.alibaba.fastjson.JSON; import com.epmet.commons.rocketmq.messages.GroupAchievementMQMsg; import com.epmet.commons.tools.distributedlock.DistributedLock; -import com.epmet.commons.tools.exception.ExceptionUtils; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.utils.SpringContextUtils; import com.epmet.modules.group.service.StatsAchievementService; @@ -63,10 +62,10 @@ public class GroupAchievementCustomListener implements MessageListenerConcurrent logger.info("consumer msg success,{}",aBoolean); } catch (RenException e) { // 如果是我们手动抛出的异常,说明在业务可控范围内。目前不需要MQ重试 - logger.error("【RocketMQ】初始化客户组织失败:".concat(ExceptionUtils.getErrorStackTrace(e))); + logger.error("【RocketMQ】消费小组成就消息失败:",e); } catch (Exception e) { // 不是我们自己抛出的异常,可以让MQ重试 - logger.error("【RocketMQ】初始化客户组织失败:".concat(ExceptionUtils.getErrorStackTrace(e))); + logger.error("【RocketMQ】消费小组成就消息失败:",e); throw e; } finally { if (distributedLock != null){ From 1aee8276516bdf1c849973b8853504bc9b9a13df Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Fri, 23 Apr 2021 17:19:45 +0800 Subject: [PATCH 26/99] =?UTF-8?q?=E7=94=A8=E6=88=B7=E7=A7=AF=E5=88=86?= =?UTF-8?q?=E8=A1=8C=E4=B8=BA=E8=AE=B0=E5=BD=95=E6=95=B0=E6=8D=AE=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=EF=BC=8C=E6=B7=BB=E5=8A=A0sourceType=EF=BC=8C?= =?UTF-8?q?=E5=A1=AB=E5=85=85sourceId?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../form/mq/eventmsg/BasePointEventMsg.java | 10 +++++++ .../service/impl/ActLiveRecServiceImpl.java | 1 + .../impl/VolunteerInfoServiceImpl.java | 2 ++ .../service/impl/WorkActServiceImpl.java | 2 ++ .../com/epmet/dto/UserPointActionLogDTO.java | 2 ++ .../entity/UserPointActionLogEntity.java | 2 ++ .../impl/UserPointActionLogServiceImpl.java | 9 +++--- .../GroupMemeberOperationServiceImpl.java | 4 ++- .../impl/ResiGroupMemberServiceImpl.java | 4 ++- .../impl/ResiTopicCommentServiceImpl.java | 4 ++- .../service/impl/ResiTopicServiceImpl.java | 30 ++++++++++++++----- .../service/impl/TopicDraftServiceImpl.java | 9 +++--- 12 files changed, 60 insertions(+), 19 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/mq/eventmsg/BasePointEventMsg.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/mq/eventmsg/BasePointEventMsg.java index 6c9044b499..9235fe77a7 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/mq/eventmsg/BasePointEventMsg.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/mq/eventmsg/BasePointEventMsg.java @@ -40,6 +40,11 @@ public class BasePointEventMsg implements Serializable { */ private String gridId; + /** + * 小组ID + */ + private String groupId; + /** * 被操作用户id */ @@ -65,6 +70,11 @@ public class BasePointEventMsg implements Serializable { */ private String remark; + /** + * 业务类型 eg:活动id + */ + private String sourceType; + /** * 业务id eg:活动id */ diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/ActLiveRecServiceImpl.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/ActLiveRecServiceImpl.java index aeb67a2314..15ff440c80 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/ActLiveRecServiceImpl.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/ActLiveRecServiceImpl.java @@ -239,6 +239,7 @@ public class ActLiveRecServiceImpl extends BaseServiceImpl Date: Fri, 23 Apr 2021 18:05:34 +0800 Subject: [PATCH 27/99] =?UTF-8?q?=E7=94=A8=E6=88=B7=E7=A7=AF=E5=88=86?= =?UTF-8?q?=E8=A1=8C=E4=B8=BA=E8=AE=B0=E5=BD=95=E6=95=B0=E6=8D=AE=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=EF=BC=8C=E6=B7=BB=E5=8A=A0sourceType=EF=BC=8C?= =?UTF-8?q?=E5=A1=AB=E5=85=85sourceId?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/UserPointActionLogServiceImpl.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java index c82bc9da79..736ca73451 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java @@ -353,7 +353,7 @@ public class UserPointActionLogServiceImpl extends BaseServiceImpl Date: Fri, 23 Apr 2021 18:23:22 +0800 Subject: [PATCH 28/99] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/StatsAchievementServiceImpl.java | 52 +++++++++++-------- 1 file changed, 30 insertions(+), 22 deletions(-) diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java index 75eda59a4b..ecb1c8d3f5 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java @@ -77,9 +77,9 @@ public class StatsAchievementServiceImpl extends AbstractStatsAchievementService case TOPIC: //查询话题数 QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.lambda().eq(ResiTopicEntity::getCustomerId,customerId) - .eq(ResiTopicEntity::getGroupId,groupId) - .eq(ResiTopicEntity::getDelFlag,NumConstant.ZERO); + queryWrapper.lambda().eq(ResiTopicEntity::getCustomerId, customerId) + .eq(ResiTopicEntity::getGroupId, groupId) + .eq(ResiTopicEntity::getDelFlag, NumConstant.ZERO); currentValue = resiTopicDao.selectCount(queryWrapper); break; case MEMBER: @@ -88,49 +88,50 @@ public class StatsAchievementServiceImpl extends AbstractStatsAchievementService case TOISSUE: //查询已经转议题的话题数 queryWrapper = new QueryWrapper<>(); - queryWrapper.lambda().eq(ResiTopicEntity::getCustomerId,customerId) - .eq(ResiTopicEntity::getGroupId,groupId) + queryWrapper.lambda().eq(ResiTopicEntity::getCustomerId, customerId) + .eq(ResiTopicEntity::getGroupId, groupId) .eq(ResiTopicEntity::getShiftIssue, NumConstant.ONE) - .eq(ResiTopicEntity::getDelFlag,NumConstant.ZERO); + .eq(ResiTopicEntity::getDelFlag, NumConstant.ZERO); currentValue = resiTopicDao.selectCount(queryWrapper); break; case RESOVLE_TOPIC: //查询已经关闭且为已解决的话题数 queryWrapper = new QueryWrapper<>(); - queryWrapper.lambda().eq(ResiTopicEntity::getCustomerId,customerId) - .eq(ResiTopicEntity::getGroupId,groupId) + queryWrapper.lambda().eq(ResiTopicEntity::getCustomerId, customerId) + .eq(ResiTopicEntity::getGroupId, groupId) .eq(ResiTopicEntity::getStatus, TopicConstant.CLOSED) .eq(ResiTopicEntity::getClosedStatus, TopicConstant.RESOLVED) .eq(ResiTopicEntity::getShiftIssue, NumConstant.ONE) - .eq(ResiTopicEntity::getDelFlag,NumConstant.ZERO); + .eq(ResiTopicEntity::getDelFlag, NumConstant.ZERO); currentValue = resiTopicDao.selectCount(queryWrapper); break; default: log.info("calculateAcm error"); } - if(currentValue == 0){ + if (currentValue == 0) { return true; } - log.info("calculateAcm achievementType:{},groupId:{},currentValue:{}",groupId,currentValue,achievementType); + log.info("calculateAcm achievementType:{},groupId:{},currentValue:{}", groupId, currentValue, achievementType); calculateGroupAchievement(customerId, groupId, currentValue, achievementType); return true; } /** - * desc: 计算小组的人数等级 + * desc: 计算小组成就 * * @param customerId * @param groupId */ private void calculateGroupAchievement(String customerId, String groupId, int currentValue, String achievementType) { - + //根据成就类型获取小组未实现成就 数据库正常只会有一条 ResiGroupAchievementStatsEntity one = super.achievementStatsService.selectLastUnAchieved(customerId, groupId, achievementType); List haveArrive = new ArrayList<>(); - //如果没有实现的额成就则说明是初始化 + //如果没有实现的成就则说明是初始化 if (one == null) { initAchievementStat(customerId, groupId, achievementType, currentValue, haveArrive); - super.achievementStatsService.saveOrUpdate(haveArrive,false); + //初始化如果记录存在 只更新修改时间 + super.achievementStatsService.saveOrUpdate(haveArrive, false); return; } @@ -144,13 +145,13 @@ public class StatsAchievementServiceImpl extends AbstractStatsAchievementService int pageNum = NumConstant.ONE; int pageSize = NumConstant.TEN; do { - List list = getConfigByType(achievementType,pageNum++,pageSize); + List list = getConfigByType(achievementType, pageNum++, pageSize); isContinue = buildArriveList(customerId, groupId, achievementType, currentValue, one.getTargetValue(), haveArrive, list); - }while (isContinue); + } while (isContinue); } if (isBatch) { - super.achievementStatsService.saveOrUpdate(haveArrive,true); + super.achievementStatsService.saveOrUpdate(haveArrive, true); } else { //未实现 只更新当前值 ResiGroupAchievementStatsDTO newStat = new ResiGroupAchievementStatsDTO(); @@ -160,20 +161,27 @@ public class StatsAchievementServiceImpl extends AbstractStatsAchievementService } } + /** + * desc: 初始化成就 + * + * @return void + * @author LiuJanJun + * @date 2021/4/23 6:20 下午 + */ private void initAchievementStat(String customerId, String groupId, String achievementType, int currentValue, List haveArrive) { boolean isContinue; int pageNum = NumConstant.ONE; int pageSize = NumConstant.TEN; do { //没有任何数据说明是初始化 - List list = getConfigByType(achievementType,pageNum++,pageSize); + List list = getConfigByType(achievementType, pageNum++, pageSize); //查询和初始化都失败啦 if (CollectionUtils.isEmpty(list)) { log.error("calculateMember get config fail"); throw new RenException(EpmetErrorCode.INTERNAL_VALIDATE_ERROR.getCode()); } isContinue = buildArriveList(customerId, groupId, achievementType, currentValue, null, haveArrive, list); - }while (isContinue); + } while (isContinue); if (CollectionUtils.isEmpty(haveArrive)) { throw new RenException("小组达成成就失败"); } @@ -184,7 +192,7 @@ public class StatsAchievementServiceImpl extends AbstractStatsAchievementService for (ResiGroupAchievementConfigEntity configEntity : list) { if (targetValue != null) { //筛选出已经完成的成就 - if (configEntity.getTargetValue() getConfigByType(String achievementType,int pageNum,int pageSize) { + private List getConfigByType(String achievementType, int pageNum, int pageSize) { List list = super.getAchievemnetConfigPage(pageNum, pageSize, achievementType); if (CollectionUtils.isEmpty(list)) { log.warn("获取小组成就配置错误,{} 开始进行初始化规则", achievementType); From 2500482e1b624d41bf32ac801956da4b337125fe Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Sun, 25 Apr 2021 09:24:07 +0800 Subject: [PATCH 29/99] =?UTF-8?q?=E7=94=A8=E6=88=B7=E7=A7=AF=E5=88=86?= =?UTF-8?q?=E8=A1=8C=E4=B8=BA=E8=AE=B0=E5=BD=95=E6=95=B0=E6=8D=AE=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=EF=BC=8C=E6=B7=BB=E5=8A=A0sourceType=EF=BC=8C?= =?UTF-8?q?=E5=A1=AB=E5=85=85sourceId?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/service/impl/BizPointTotalDetailServiceImpl.java | 4 +++- .../com/epmet/service/impl/UserPointActionLogServiceImpl.java | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointTotalDetailServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointTotalDetailServiceImpl.java index 6609bbe34c..282ae423aa 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointTotalDetailServiceImpl.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointTotalDetailServiceImpl.java @@ -41,6 +41,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.text.Collator; import java.util.*; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; @@ -195,7 +196,8 @@ public class BizPointTotalDetailServiceImpl extends BaseServiceImpl { diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java index 736ca73451..9894e90d80 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java @@ -427,6 +427,7 @@ public class UserPointActionLogServiceImpl extends BaseServiceImpl Date: Sun, 25 Apr 2021 09:41:20 +0800 Subject: [PATCH 30/99] =?UTF-8?q?=E5=B0=8F=E7=BB=84=E6=88=90=E5=91=98?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E4=B8=BA=E8=B0=83=E6=95=B4=E4=B8=BA=E6=89=80?= =?UTF-8?q?=E6=9C=89=E6=88=90=E5=91=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../group/service/impl/StatsAchievementServiceImpl.java | 5 +++-- .../com/epmet/modules/member/dao/ResiGroupMemberDao.java | 2 +- .../main/java/com/epmet/modules/support/GroupLevelUtils.java | 2 +- .../src/main/resources/mapper/member/ResiGroupMemberDao.xml | 3 +-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java index ecb1c8d3f5..973fda879d 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java @@ -83,7 +83,7 @@ public class StatsAchievementServiceImpl extends AbstractStatsAchievementService currentValue = resiTopicDao.selectCount(queryWrapper); break; case MEMBER: - currentValue = resiGroupMemberDao.countMembers(customerId, groupId); + currentValue = resiGroupMemberDao.countAllMembers(customerId, groupId); break; case TOISSUE: //查询已经转议题的话题数 @@ -187,7 +187,8 @@ public class StatsAchievementServiceImpl extends AbstractStatsAchievementService } } - private boolean buildArriveList(String customerId, String groupId, String achievementType, int currentValue, Integer targetValue, List haveArrive, List list) { + private boolean buildArriveList(String customerId, String groupId, String achievementType, int currentValue, Integer targetValue, + List haveArrive, List list) { boolean isContinue = true; for (ResiGroupAchievementConfigEntity configEntity : list) { if (targetValue != null) { diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/dao/ResiGroupMemberDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/dao/ResiGroupMemberDao.java index b80e9cacca..b626c8e51b 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/dao/ResiGroupMemberDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/dao/ResiGroupMemberDao.java @@ -154,5 +154,5 @@ public interface ResiGroupMemberDao extends BaseDao { * @author LiuJanJun * @date 2021/4/23 3:14 下午 */ - int countMembers(@Param("customerId") String customerId, @Param("groupId") String groupId); + int countAllMembers(@Param("customerId") String customerId, @Param("groupId") String groupId); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/support/GroupLevelUtils.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/support/GroupLevelUtils.java index b6c6b12b8a..17d14fb2f6 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/support/GroupLevelUtils.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/support/GroupLevelUtils.java @@ -9,7 +9,7 @@ import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; /** - * 小组等级积分工具类 + * 小组等级积分工具类 0,300,700,1200,1800 * * @author zhaoqifeng * @date 2021/4/21 10:22 diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/ResiGroupMemberDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/ResiGroupMemberDao.xml index 87197c1003..25341775cb 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/ResiGroupMemberDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/ResiGroupMemberDao.xml @@ -191,7 +191,7 @@ ORDER BY rgm.CREATED_TIME DESC - SELECT count(*) FROM @@ -199,7 +199,6 @@ WHERE rgm.RESI_GROUP_ID = #{groupId} AND rgm.CUSTOMER_ID = #{customerId} - and rgm.STATUS = 'approved' AND rgm.GROUP_LEADER_FLAG = 'member' From 2959046b912fc5fc140fdcd043f7a8bf23807671 Mon Sep 17 00:00:00 2001 From: jianjun Date: Sun, 25 Apr 2021 10:14:49 +0800 Subject: [PATCH 31/99] =?UTF-8?q?=E5=B0=8F=E7=BB=84=E6=88=90=E5=B0=B1?= =?UTF-8?q?=E8=AF=A6=E6=83=85=20=E8=BF=94=E5=9B=9E=20=E6=98=AF=E5=90=A6?= =?UTF-8?q?=E8=BE=BE=E5=88=B0=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../group/dto/group/result/AchievementDetailResultDTO.java | 4 ++++ .../modules/group/service/impl/ResiGroupServiceImpl.java | 2 ++ .../resources/mapper/group/ResiGroupAchievementStatsDao.xml | 3 ++- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/AchievementDetailResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/AchievementDetailResultDTO.java index 1abbdc4dd3..76ebe24978 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/AchievementDetailResultDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/AchievementDetailResultDTO.java @@ -33,5 +33,9 @@ public class AchievementDetailResultDTO implements Serializable { * 成就描述(分拼在一起) */ private String describe; + /** + * 是否达成 0,1 + */ + private Integer isArrive; } } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java index 13aa64d7dc..6799e92c4e 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java @@ -1208,6 +1208,7 @@ public class ResiGroupServiceImpl extends BaseServiceImpl Date: Sun, 25 Apr 2021 10:18:47 +0800 Subject: [PATCH 32/99] =?UTF-8?q?=E6=8B=89=E4=BA=BA=E5=B0=8F=E7=BB=84?= =?UTF-8?q?=E6=88=90=E5=B0=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ResiGroupMemberServiceImpl.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java index 04efadbc21..b4bd5cd4d5 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java @@ -21,6 +21,7 @@ import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.rocketmq.messages.GroupAchievementMQMsg; import com.epmet.commons.tools.constant.*; import com.epmet.commons.tools.dto.form.mq.MqBaseMsgDTO; import com.epmet.commons.tools.dto.form.mq.eventmsg.BasePointEventMsg; @@ -33,8 +34,8 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.SendMqMsgUtils; import com.epmet.constant.ReadFlagConstant; import com.epmet.dto.IssueShareLinkVisitRecordDTO; -import com.epmet.dto.form.*; import com.epmet.dto.form.CommonGridIdFormDTO; +import com.epmet.dto.form.*; import com.epmet.dto.result.CommonDataFilterResultDTO; import com.epmet.dto.result.UserBaseInfoResultDTO; import com.epmet.dto.result.UserResiInfoResultDTO; @@ -43,6 +44,7 @@ import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.feign.GovIssueOpenFeignClient; import com.epmet.modules.constant.GroupMemberConstant; import com.epmet.modules.constant.UserMessageConstant; +import com.epmet.modules.enums.AchievementTypeEnum; import com.epmet.modules.feign.EpmetUserFeignClient; import com.epmet.modules.feign.GovOrgFeignClient; import com.epmet.modules.group.dao.ResiGroupDao; @@ -77,6 +79,7 @@ import com.epmet.resi.group.dto.member.result.ApplyingMemberResultDTO; import com.epmet.resi.group.dto.member.result.GridVotableCountResultDTO; import com.epmet.resi.group.dto.member.result.GroupMemberListResultDTO; import com.epmet.resi.group.dto.member.result.VotableCountResultDTO; +import com.epmet.send.SendMqMsgUtil; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -654,6 +657,11 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl msgList = new ArrayList<>(); msgList.add(wxSubscribeMessageFormDTO); epmetMessageOpenFeignClient.sendWxSubscribeMessage(msgList); + //发送小组成就消息 + boolean flag = SendMqMsgUtil.build().openFeignClient(epmetMessageOpenFeignClient).sendGroupAchievementMqMsg(new GroupAchievementMQMsg(resiGroupMemberDTO.getCustomerId(), resiGroupMemberDTO.getResiGroupId(), AchievementTypeEnum.MEMBER.getCode())); + if (!flag) { + logger.error("发送(小组成就)系统消息到message服务失败"); + } } /** From 45c61c834deddb3d16805fb132cbf4ca4298e444 Mon Sep 17 00:00:00 2001 From: jianjun Date: Sun, 25 Apr 2021 11:19:37 +0800 Subject: [PATCH 33/99] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E5=B0=8F?= =?UTF-8?q?=E7=BB=84=E6=88=90=E5=B0=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AbstractStatsAchievementService.java | 10 +++--- .../ResiGroupAchievementStatsService.java | 10 ++++++ .../service/StatsAchievementService.java | 5 ++- .../ResiGroupAchievementStatsServiceImpl.java | 10 +++++- .../impl/StatsAchievementServiceImpl.java | 34 ++++++++++++++----- .../impl/StatsAchievementServiceImplTest.java | 6 ++++ 6 files changed, 58 insertions(+), 17 deletions(-) diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/AbstractStatsAchievementService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/AbstractStatsAchievementService.java index 82b0e2afdb..41dd3e497b 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/AbstractStatsAchievementService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/AbstractStatsAchievementService.java @@ -44,14 +44,16 @@ public abstract class AbstractStatsAchievementService { /** - * desc: 根据成绩类型 分页获取成就配置 按targetValue 升序 + * desc: 根据客户Id清空客户小组成就数据 * - * @param offset - * @param pageSize + * @param customerId * @return java.util.List * @author LiuJanJun * @date 2021/4/22 1:36 下午 */ + protected Integer initPre(String customerId) { + return achievementStatsService.deleteByCId(customerId); + } /** * desc: 根据成绩类型 分页获取成就配置 按targetValue 升序 * @@ -61,7 +63,7 @@ public abstract class AbstractStatsAchievementService { * @author LiuJanJun * @date 2021/4/22 1:36 下午 */ - protected List getAchievemnetConfigPage(int pageNum, int pageSize, String achievementType) { + protected List getAchievementConfigPage(int pageNum, int pageSize, String achievementType) { return achievementConfigService.selectMoreThanOneByValue(achievementType, (pageNum - NumConstant.ONE) * pageSize, pageSize); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupAchievementStatsService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupAchievementStatsService.java index 4fc8370ad9..fa51ca64f6 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupAchievementStatsService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupAchievementStatsService.java @@ -133,4 +133,14 @@ public interface ResiGroupAchievementStatsService extends BaseService haveArrive, boolean updateAll); + + /** + * desc: 请描述类的业务用途 + * + * @param customerId + * @return int + * @author LiuJanJun + * @date 2021/4/25 11:01 上午 + */ + int deleteByCId(String customerId); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/StatsAchievementService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/StatsAchievementService.java index 7b532f83e0..c668caeacc 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/StatsAchievementService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/StatsAchievementService.java @@ -26,14 +26,13 @@ package com.epmet.modules.group.service; public interface StatsAchievementService{ /** - * desc: 计算小组成就 统一入口 + * desc: 初始化所有小组的各种成就入口 * - * @param achievementType 成就类型 小组人数、话题数、转议题数、小组内问题解决数 * @return java.lang.Boolean * @author LiuJanJun * @date 2021/4/20 */ - Boolean calculateAcm(String achievementType); + Boolean initAllGroupAchievement(); /** * desc: 根据小组Id计算小组成就 入口 diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupAchievementStatsServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupAchievementStatsServiceImpl.java index 3e84f116a3..92e1da3374 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupAchievementStatsServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupAchievementStatsServiceImpl.java @@ -20,10 +20,10 @@ package com.epmet.modules.group.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; -import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.modules.group.dao.ResiGroupAchievementStatsDao; import com.epmet.modules.group.entity.ResiGroupAchievementStatsEntity; import com.epmet.modules.group.service.ResiGroupAchievementStatsService; @@ -33,6 +33,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Arrays; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -141,4 +142,11 @@ public class ResiGroupAchievementStatsServiceImpl extends BaseServiceImpl param = new HashMap<>(); + param.put("CUSTOMER_ID",customerId); + return baseDao.deleteByMap(param); + } + } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java index 973fda879d..b4acd9fd50 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java @@ -5,8 +5,10 @@ import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; import com.epmet.modules.enums.AchievementTypeEnum; +import com.epmet.modules.group.dao.ResiGroupDao; import com.epmet.modules.group.entity.ResiGroupAchievementConfigEntity; import com.epmet.modules.group.entity.ResiGroupAchievementStatsEntity; +import com.epmet.modules.group.entity.ResiGroupEntity; import com.epmet.modules.group.service.AbstractStatsAchievementService; import com.epmet.modules.group.service.StatsAchievementService; import com.epmet.modules.member.dao.ResiGroupMemberDao; @@ -38,22 +40,39 @@ public class StatsAchievementServiceImpl extends AbstractStatsAchievementService private ResiGroupMemberDao resiGroupMemberDao; @Autowired private ResiTopicDao resiTopicDao; + @Autowired + private ResiGroupDao resiGroupDao; /** * desc: 计算小组成就 统一入口 * - * @param achievementType 成就类型 * @return java.lang.Boolean * @author LiuJanJun * @date 2021/4/20 */ @Override - public Boolean calculateAcm(String achievementType) { - if (StringUtils.isBlank(achievementType)) { + public Boolean initAllGroupAchievement() { + //计算所有类型的 小组人数、话题数、转议题数、小组内问题解决数 - } - return null; + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().eq(ResiGroupEntity::getDelFlag,'0'); + List groupEntities = resiGroupDao.selectList(queryWrapper); + groupEntities.forEach(group->{ + AchievementTypeEnum[] achievementTypeEnum = AchievementTypeEnum.values(); + Integer integer = super.initPre(group.getCustomerId()); + log.info("initPre del:{}",integer); + for (AchievementTypeEnum anEnum : achievementTypeEnum) { + try { + Thread.sleep(2); + } catch (InterruptedException e) { + e.printStackTrace(); + } + calculateAcm(group.getCustomerId(),group.getId(),anEnum.getCode()); + } + }); + + return true; } /** @@ -108,9 +127,6 @@ public class StatsAchievementServiceImpl extends AbstractStatsAchievementService default: log.info("calculateAcm error"); } - if (currentValue == 0) { - return true; - } log.info("calculateAcm achievementType:{},groupId:{},currentValue:{}", groupId, currentValue, achievementType); calculateGroupAchievement(customerId, groupId, currentValue, achievementType); return true; @@ -221,7 +237,7 @@ public class StatsAchievementServiceImpl extends AbstractStatsAchievementService } private List getConfigByType(String achievementType, int pageNum, int pageSize) { - List list = super.getAchievemnetConfigPage(pageNum, pageSize, achievementType); + List list = super.getAchievementConfigPage(pageNum, pageSize, achievementType); if (CollectionUtils.isEmpty(list)) { log.warn("获取小组成就配置错误,{} 开始进行初始化规则", achievementType); list = super.initAchievementConfig(achievementType); diff --git a/epmet-module/resi-group/resi-group-server/src/test/com/epmet/modules/group/service/impl/StatsAchievementServiceImplTest.java b/epmet-module/resi-group/resi-group-server/src/test/com/epmet/modules/group/service/impl/StatsAchievementServiceImplTest.java index c8e0e3b19d..4bdb7677b8 100644 --- a/epmet-module/resi-group/resi-group-server/src/test/com/epmet/modules/group/service/impl/StatsAchievementServiceImplTest.java +++ b/epmet-module/resi-group/resi-group-server/src/test/com/epmet/modules/group/service/impl/StatsAchievementServiceImplTest.java @@ -13,6 +13,12 @@ public class StatsAchievementServiceImplTest { @Autowired private StatsAchievementService statsAchievementService; + @Test + public void initAll() { + Boolean aBoolean = statsAchievementService.initAllGroupAchievement(); + System.out.println(aBoolean); + } + @Test public void calculateAcm() { From cb504dfba5e544f3ef57b6b46a32c8ce0105aae0 Mon Sep 17 00:00:00 2001 From: jianjun Date: Sun, 25 Apr 2021 12:55:00 +0800 Subject: [PATCH 34/99] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E5=B0=8F?= =?UTF-8?q?=E7=BB=84=E6=88=90=E5=B0=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../group/controller/ResiGroupController.java | 21 ++++++--- .../dao/ResiGroupAchievementStatsDao.java | 2 +- .../AbstractStatsAchievementService.java | 44 ++++++++++++++++++- .../service/StatsAchievementService.java | 3 +- .../impl/StatsAchievementServiceImpl.java | 21 +++++---- .../impl/StatsAchievementServiceImplTest.java | 2 +- 6 files changed, 75 insertions(+), 18 deletions(-) diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java index 30c0282b40..9f6ca58452 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java @@ -25,6 +25,7 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.modules.group.service.ResiGroupService; import com.epmet.modules.group.service.ResiGroupStatisticalService; +import com.epmet.modules.group.service.StatsAchievementService; import com.epmet.resi.group.dto.group.GroupProcessingCountResultDTO; import com.epmet.resi.group.dto.group.ResiGroupDTO; import com.epmet.resi.group.dto.group.form.*; @@ -32,14 +33,9 @@ import com.epmet.resi.group.dto.group.result.*; import com.epmet.resi.group.dto.member.form.EditAuditSwitchFormDTO; import com.epmet.resi.group.dto.member.form.ResiIdentityFormDTO; import com.epmet.resi.group.dto.member.result.AchievementResultDTO; -import oracle.jdbc.proxy.annotation.Post; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; import java.util.HashMap; import java.util.List; @@ -58,6 +54,8 @@ public class ResiGroupController { private ResiGroupService resiGroupService; @Autowired private ResiGroupStatisticalService resiGroupStatisticalService; + @Autowired + private StatsAchievementService statsAchievementService; /** * @param tokenDto @@ -562,4 +560,17 @@ public class ResiGroupController { public Result achievement(@LoginUser TokenDto tokenDto) { return new Result().ok(resiGroupService.achievement(tokenDto)); } + + /** + * desc: 初始化小组成就(用于小组成就上线后-历史小组的成就的初始化;执行过后就再无意义) + * + * @param customerId + * @return com.epmet.commons.tools.utils.Result + * @author LiuJanJun + * @date 2021/4/25 12:41 下午 + */ + @GetMapping("initachievement") + public Result initAchievement(@RequestParam String customerId) { + return new Result().ok(statsAchievementService.initAllGroupAchievement(customerId)); + } } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupAchievementStatsDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupAchievementStatsDao.java index 247c371ed6..d1113cc8cc 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupAchievementStatsDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupAchievementStatsDao.java @@ -58,7 +58,7 @@ public interface ResiGroupAchievementStatsDao extends BaseDao haveArrive, boolean updateAll){ + return achievementStatsService.saveOrUpdate(haveArrive,updateAll); + } + + /** + * desc: 获取小组最后一个未实现的成就 + * + * @param customerId + * @param groupId + * @param achievementType + * @return com.epmet.modules.group.entity.ResiGroupAchievementStatsEntity + * @author LiuJanJun + * @date 2021/4/25 12:28 下午 + */ + protected ResiGroupAchievementStatsEntity selectLastUnAchieved(String customerId, String groupId, String achievementType){ + return achievementStatsService.selectLastUnAchieved(customerId, groupId, achievementType); + } + + /** + * desc: 更新小组成就 + * + * @param recordDTO + * @return java.lang.Integer + * @author LiuJanJun + * @date 2021/4/25 12:30 下午 + */ + protected void update(ResiGroupAchievementStatsDTO recordDTO){ + achievementStatsService.update(recordDTO); + } } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/StatsAchievementService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/StatsAchievementService.java index c668caeacc..981c31f46a 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/StatsAchievementService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/StatsAchievementService.java @@ -28,11 +28,12 @@ public interface StatsAchievementService{ /** * desc: 初始化所有小组的各种成就入口 * + * @param customerId * @return java.lang.Boolean * @author LiuJanJun * @date 2021/4/20 */ - Boolean initAllGroupAchievement(); + Boolean initAllGroupAchievement(String customerId); /** * desc: 根据小组Id计算小组成就 入口 diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java index b4acd9fd50..1ef3e9f452 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java @@ -52,16 +52,19 @@ public class StatsAchievementServiceImpl extends AbstractStatsAchievementService * @date 2021/4/20 */ @Override - public Boolean initAllGroupAchievement() { + public Boolean initAllGroupAchievement(String customerId) { //计算所有类型的 小组人数、话题数、转议题数、小组内问题解决数 QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.lambda().eq(ResiGroupEntity::getDelFlag,'0'); + if (StringUtils.isNotBlank(customerId)){ + queryWrapper.lambda().eq(ResiGroupEntity::getCustomerId,customerId); + } List groupEntities = resiGroupDao.selectList(queryWrapper); groupEntities.forEach(group->{ AchievementTypeEnum[] achievementTypeEnum = AchievementTypeEnum.values(); - Integer integer = super.initPre(group.getCustomerId()); - log.info("initPre del:{}",integer); + //Integer integer = super.initPre(group.getCustomerId()); + //log.info("initPre del:{}",integer); for (AchievementTypeEnum anEnum : achievementTypeEnum) { try { Thread.sleep(2); @@ -140,14 +143,14 @@ public class StatsAchievementServiceImpl extends AbstractStatsAchievementService */ private void calculateGroupAchievement(String customerId, String groupId, int currentValue, String achievementType) { //根据成就类型获取小组未实现成就 数据库正常只会有一条 - ResiGroupAchievementStatsEntity one = super.achievementStatsService.selectLastUnAchieved(customerId, groupId, achievementType); + ResiGroupAchievementStatsEntity one = super.selectLastUnAchieved(customerId, groupId, achievementType); List haveArrive = new ArrayList<>(); //如果没有实现的成就则说明是初始化 if (one == null) { initAchievementStat(customerId, groupId, achievementType, currentValue, haveArrive); //初始化如果记录存在 只更新修改时间 - super.achievementStatsService.saveOrUpdate(haveArrive, false); + super.saveOrUpdate(haveArrive, false); return; } @@ -167,13 +170,13 @@ public class StatsAchievementServiceImpl extends AbstractStatsAchievementService } if (isBatch) { - super.achievementStatsService.saveOrUpdate(haveArrive, true); + super.saveOrUpdate(haveArrive, true); } else { //未实现 只更新当前值 ResiGroupAchievementStatsDTO newStat = new ResiGroupAchievementStatsDTO(); newStat.setId(one.getId()); newStat.setCurrentValue(currentValue); - super.achievementStatsService.update(newStat); + super.update(newStat); } } @@ -218,14 +221,16 @@ public class StatsAchievementServiceImpl extends AbstractStatsAchievementService statsEntity.setGroupId(groupId); statsEntity.setAchievementId(configEntity.getId()); statsEntity.setAchievementName(configEntity.getAchievementName()); - statsEntity.setArriveTime(new Date()); + statsEntity.setAchievementType(achievementType); statsEntity.setCurrentValue(currentValue); statsEntity.setTargetValue(configEntity.getTargetValue()); + statsEntity.setDelFlag(NumConstant.ZERO_STR); haveArrive.add(statsEntity); if (currentValue >= configEntity.getTargetValue()) { statsEntity.setIsArrive(NumConstant.ONE); + statsEntity.setArriveTime(new Date()); } else { //如果没有达到则 放入这一条后 退出 statsEntity.setIsArrive(NumConstant.ZERO); diff --git a/epmet-module/resi-group/resi-group-server/src/test/com/epmet/modules/group/service/impl/StatsAchievementServiceImplTest.java b/epmet-module/resi-group/resi-group-server/src/test/com/epmet/modules/group/service/impl/StatsAchievementServiceImplTest.java index 4bdb7677b8..c38cf87259 100644 --- a/epmet-module/resi-group/resi-group-server/src/test/com/epmet/modules/group/service/impl/StatsAchievementServiceImplTest.java +++ b/epmet-module/resi-group/resi-group-server/src/test/com/epmet/modules/group/service/impl/StatsAchievementServiceImplTest.java @@ -15,7 +15,7 @@ public class StatsAchievementServiceImplTest { @Test public void initAll() { - Boolean aBoolean = statsAchievementService.initAllGroupAchievement(); + Boolean aBoolean = statsAchievementService.initAllGroupAchievement(null); System.out.println(aBoolean); } From 0da1add5cfcb6f747492477835b8f47cc4a8f7d6 Mon Sep 17 00:00:00 2001 From: jianjun Date: Sun, 25 Apr 2021 13:01:47 +0800 Subject: [PATCH 35/99] =?UTF-8?q?=E5=88=A0=E9=99=A4=E5=A4=9A=E4=BD=99?= =?UTF-8?q?=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../group/ResiGroupAchievementConfigDTO.java | 96 ------------------- .../ResiGroupAchievementConfigEntity.java | 8 -- .../AbstractStatsAchievementService.java | 2 - .../group/ResiGroupAchievementConfigDao.xml | 4 +- 4 files changed, 2 insertions(+), 108 deletions(-) delete mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupAchievementConfigDTO.java diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupAchievementConfigDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupAchievementConfigDTO.java deleted file mode 100644 index 26b9567bd5..0000000000 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupAchievementConfigDTO.java +++ /dev/null @@ -1,96 +0,0 @@ -/** - * Copyright 2018 人人开源 https://www.renren.io - *

- * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - *

- * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - *

- * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package com.epmet.resi.group.dto.group; - -import java.io.Serializable; -import java.util.Date; -import lombok.Data; - - -/** - * 小组成就配置表 - * - * @author generator generator@elink-cn.com - * @since v1.0.0 2021-04-19 - */ -@Data -public class ResiGroupAchievementConfigDTO implements Serializable { - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - private String id; - - /** - * 客户Id - */ - private String customerId; - - /** - * 里程名称 - */ - private String achievementName; - - /** - * 前一个里程值 - */ - private Integer preValue; - - /** - * 目标值 - */ - private Integer targetValue; - - /** - * 里程类型:小组人数:member;topic:话题数;转议题数:toIssue;话题解决数:resloveTopic - */ - private String achievementType; - - /** - * 删除标记 0:未删除,1:已删除 - */ - private String delFlag; - - /** - * 乐观锁 - */ - private Integer revision; - - /** - * 创建人 - */ - private String createdBy; - - /** - * 创建时间 - */ - private Date createdTime; - - /** - * 更新人 - */ - private String updatedBy; - - /** - * 更新时间 - */ - private Date updatedTime; - -} \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupAchievementConfigEntity.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupAchievementConfigEntity.java index be6fc3a745..8749ef16a0 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupAchievementConfigEntity.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupAchievementConfigEntity.java @@ -18,13 +18,10 @@ package com.epmet.modules.group.entity; import com.baomidou.mybatisplus.annotation.TableName; - import com.epmet.commons.mybatis.entity.BaseEpmetEntity; import lombok.Data; import lombok.EqualsAndHashCode; -import java.util.Date; - /** * 小组成就配置表 * @@ -48,11 +45,6 @@ public class ResiGroupAchievementConfigEntity extends BaseEpmetEntity { */ private String achievementName; - /** - * 前一个里程值 - */ - private Integer preValue; - /** * 目标值 */ diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/AbstractStatsAchievementService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/AbstractStatsAchievementService.java index 077466eb1c..1b201ee168 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/AbstractStatsAchievementService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/AbstractStatsAchievementService.java @@ -96,8 +96,6 @@ public abstract class AbstractStatsAchievementService { ResiGroupAchievementConfigEntity next = new ResiGroupAchievementConfigEntity(); next.setCustomerId(lastOne.getCustomerId()); next.setAchievementName(oldName.replace(StrConstant.UNDER_LINE, String.valueOf(nextTargetValue))); - //todo 把这个字段去掉 - next.setPreValue(preValue); preValue = nextTargetValue; next.setTargetValue(nextTargetValue); next.setAchievementType(lastOne.getAchievementType()); diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupAchievementConfigDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupAchievementConfigDao.xml index 1728c69e11..cce26029ed 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupAchievementConfigDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupAchievementConfigDao.xml @@ -9,7 +9,7 @@ + \ No newline at end of file From 4a34ba68d10313b8eb5f23810806021e61dd8c47 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Sun, 25 Apr 2021 17:10:16 +0800 Subject: [PATCH 46/99] =?UTF-8?q?=E5=B0=8F=E7=BB=84=E4=BB=8A=E6=97=A5?= =?UTF-8?q?=E7=A7=AF=E5=88=86=E5=A2=9E=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/UserPointActionLogDao.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/UserPointActionLogDao.xml b/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/UserPointActionLogDao.xml index 96949a41ab..c7c6bf89c2 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/UserPointActionLogDao.xml +++ b/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/UserPointActionLogDao.xml @@ -66,7 +66,7 @@ INSERT INTO resi_group_achievement_stats From 371b58def255e86ac08216addebe18bf73fbdde6 Mon Sep 17 00:00:00 2001 From: jianjun Date: Tue, 27 Apr 2021 13:53:46 +0800 Subject: [PATCH 76/99] =?UTF-8?q?=E5=88=A0=E9=99=A4=E5=A4=9A=E4=BD=99?= =?UTF-8?q?=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- epmet-module/gov-issue/gov-issue-server/pom.xml | 1 - epmet-module/resi-group/resi-group-server/pom.xml | 3 --- .../resi-group-server/src/main/resources/bootstrap.yml | 2 -- 3 files changed, 6 deletions(-) diff --git a/epmet-module/gov-issue/gov-issue-server/pom.xml b/epmet-module/gov-issue/gov-issue-server/pom.xml index cce26d7129..db20e31756 100644 --- a/epmet-module/gov-issue/gov-issue-server/pom.xml +++ b/epmet-module/gov-issue/gov-issue-server/pom.xml @@ -216,7 +216,6 @@ 192.168.1.130:9876;192.168.1.132:9876 - epmet_message diff --git a/epmet-module/resi-group/resi-group-server/pom.xml b/epmet-module/resi-group/resi-group-server/pom.xml index ef0f962091..05aeff9885 100644 --- a/epmet-module/resi-group/resi-group-server/pom.xml +++ b/epmet-module/resi-group/resi-group-server/pom.xml @@ -255,7 +255,6 @@ 192.168.1.130:9876;192.168.1.132:9876 - epmet_message @@ -310,7 +309,6 @@ 192.168.10.161:9876 - epmet_message @@ -362,7 +360,6 @@ 192.168.11.187:9876;192.168.11.184:9876 - epmet_message diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/bootstrap.yml b/epmet-module/resi-group/resi-group-server/src/main/resources/bootstrap.yml index 165abb2e03..d3a33a6d2a 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/bootstrap.yml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/bootstrap.yml @@ -160,5 +160,3 @@ shutdown: rocketmq: name-server: @rocketmq.nameserver@ - producer: - group: @rocketmq.producer.group@ From 2dc1fd1d4bbc2ea529cbae285fad3f9cd90b1aee Mon Sep 17 00:00:00 2001 From: jianjun Date: Tue, 27 Apr 2021 14:11:34 +0800 Subject: [PATCH 77/99] =?UTF-8?q?=E6=97=A5=E5=BF=97=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/mq/GroupAchieventConsumerListener.java | 5 ++--- .../mq/type1/GroupAchievementCustomListener.java | 14 ++++++-------- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/GroupAchieventConsumerListener.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/GroupAchieventConsumerListener.java index 0620136433..2f6d9594e9 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/GroupAchieventConsumerListener.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/GroupAchieventConsumerListener.java @@ -18,7 +18,6 @@ import org.springframework.beans.factory.annotation.Autowired; @Slf4j //@Component //@RocketMQMessageListener(topic = "group_achievement", consumerGroup = ConsomerGroupConstants.GROUP_ACHIEVEMENT_COMPONENTS_GROUP) -//@Component public class GroupAchieventConsumerListener implements RocketMQListener { @Autowired private StatsAchievementService statsAchievementService; @@ -28,10 +27,10 @@ public class GroupAchieventConsumerListener implements RocketMQListener Date: Tue, 27 Apr 2021 15:01:42 +0800 Subject: [PATCH 78/99] =?UTF-8?q?=E6=B6=88=E6=81=AF=E6=B6=88=E8=B4=B9?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5=E9=87=8D=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../group/service/impl/StatsAchievementServiceImpl.java | 9 --------- .../epmet/mq/type1/GroupAchievementCustomListener.java | 7 ++++++- .../com/epmet/mq/type1/RocketMQConsumerRegister.java | 4 ++-- 3 files changed, 8 insertions(+), 12 deletions(-) diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java index 0e21bbb9fe..0ae6617ce8 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java @@ -241,14 +241,6 @@ public class StatsAchievementServiceImpl extends AbstractStatsAchievementService if (currentValue >= targetValue) { isBatch = true; buildAchievementEntityList(customerId, groupId, achievementType, currentValue, one.getTargetValue(), haveArrive); - -// boolean isContinue; -// int pageNum = NumConstant.ONE; -// int pageSize = NumConstant.TEN; -// do { -// List list = getConfigByType(achievementType, pageNum++, pageSize); -// isContinue = buildArriveList(customerId, groupId, achievementType, currentValue, one.getTargetValue(), haveArrive, list); -// } while (isContinue); } if (isBatch) { @@ -270,7 +262,6 @@ public class StatsAchievementServiceImpl extends AbstractStatsAchievementService * @date 2021/4/23 6:20 下午 */ private void initAchievementStat(String customerId, String groupId, String achievementType, int currentValue, List haveArrive) { - buildAchievementEntityList(customerId, groupId, achievementType, currentValue, null, haveArrive); if (CollectionUtils.isEmpty(haveArrive)) { throw new RenException("小组达成成就失败"); diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/type1/GroupAchievementCustomListener.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/type1/GroupAchievementCustomListener.java index 41d99c4f4b..cdd0ce615a 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/type1/GroupAchievementCustomListener.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/type1/GroupAchievementCustomListener.java @@ -6,6 +6,7 @@ import com.epmet.commons.tools.distributedlock.DistributedLock; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.utils.SpringContextUtils; import com.epmet.modules.group.service.StatsAchievementService; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext; import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus; @@ -24,18 +25,22 @@ import java.util.concurrent.TimeUnit; * @author wxz * @date 2021.03.03 16:10 */ +@Slf4j public class GroupAchievementCustomListener implements MessageListenerConcurrently { private Logger logger = LoggerFactory.getLogger(getClass()); @Override public ConsumeConcurrentlyStatus consumeMessage(List msgs, ConsumeConcurrentlyContext context) { + long start = System.currentTimeMillis(); try { msgs.forEach(this::consumeMessage); } catch (Exception e) { + //失败重发 logger.error("consumeMessage fail,msg:{}",e.getMessage()); - return ConsumeConcurrentlyStatus.CONSUME_SUCCESS; + return ConsumeConcurrentlyStatus.RECONSUME_LATER; } + log.info("consumeMessage success, cost:{} ms",System.currentTimeMillis() - start); return ConsumeConcurrentlyStatus.CONSUME_SUCCESS; } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/type1/RocketMQConsumerRegister.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/type1/RocketMQConsumerRegister.java index c15e0ba6b2..8ef50c1fc0 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/type1/RocketMQConsumerRegister.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/type1/RocketMQConsumerRegister.java @@ -4,7 +4,7 @@ import com.epmet.commons.rocketmq.constants.ConsomerGroupConstants; import com.epmet.commons.rocketmq.constants.TopicConstants; import lombok.extern.slf4j.Slf4j; import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer; -import org.apache.rocketmq.client.consumer.listener.MessageListener; +import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently; import org.apache.rocketmq.client.exception.MQClientException; import org.apache.rocketmq.common.protocol.heartbeat.MessageModel; import org.springframework.beans.factory.annotation.Value; @@ -34,7 +34,7 @@ public class RocketMQConsumerRegister { } } - public void register(String group, MessageModel messageModel, String topic, String subException, MessageListener listener) throws MQClientException { + public void register(String group, MessageModel messageModel, String topic, String subException, MessageListenerConcurrently listener) throws MQClientException { // 实例化消费者 DefaultMQPushConsumer consumer = new DefaultMQPushConsumer(group); From e1ca5ec6a67cf9ef43fcbbb5bedb17100ec55ce1 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Thu, 29 Apr 2021 17:25:58 +0800 Subject: [PATCH 79/99] =?UTF-8?q?=E7=A7=AF=E5=88=86=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=E6=B6=88=E6=81=AF=E7=BA=A7=E5=88=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/service/impl/UserPointActionLogServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java index dd82608b0b..af4b5fd499 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java @@ -254,7 +254,7 @@ public class UserPointActionLogServiceImpl extends BaseServiceImpl【%s】", JSON.toJSON(event))); + log.error(String.format("未检测到该用户下有效的积分规则,消息体->【%s】", JSON.toJSON(event))); } From 7020f9570577fc3887908bd0a6e59b32a8df3814 Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 30 Apr 2021 09:38:48 +0800 Subject: [PATCH 80/99] =?UTF-8?q?=E6=9E=9A=E4=B8=BE=E5=8C=85=E7=A7=BB?= =?UTF-8?q?=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../{modules => commons/tools}/enums/AchievementTypeEnum.java | 2 +- .../src/main/java/com/epmet/service/impl/IssueServiceImpl.java | 2 +- .../modules/group/service/AbstractStatsAchievementService.java | 2 +- .../epmet/modules/group/service/impl/ResiGroupServiceImpl.java | 2 +- .../modules/group/service/impl/StatsAchievementServiceImpl.java | 2 +- .../modules/member/service/impl/ResiGroupMemberServiceImpl.java | 2 +- .../java/com/epmet/modules/support/GroupAchievementUtils.java | 2 +- .../epmet/modules/topic/service/impl/ResiTopicServiceImpl.java | 2 +- .../epmet/modules/topic/service/impl/TopicDraftServiceImpl.java | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) rename epmet-commons/epmet-commons-tools/src/main/java/com/epmet/{modules => commons/tools}/enums/AchievementTypeEnum.java (95%) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/modules/enums/AchievementTypeEnum.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/AchievementTypeEnum.java similarity index 95% rename from epmet-commons/epmet-commons-tools/src/main/java/com/epmet/modules/enums/AchievementTypeEnum.java rename to epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/AchievementTypeEnum.java index 19e315082b..255d680c17 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/modules/enums/AchievementTypeEnum.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/AchievementTypeEnum.java @@ -1,4 +1,4 @@ -package com.epmet.modules.enums; +package com.epmet.commons.tools.enums; /** * 小组成就类型枚举类 diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java index 1d8d1085dc..7532a52fdb 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java @@ -36,7 +36,7 @@ import com.epmet.entity.IssueEntity; import com.epmet.entity.IssueProcessEntity; import com.epmet.entity.IssueProjectRelationEntity; import com.epmet.feign.*; -import com.epmet.modules.enums.AchievementTypeEnum; +import com.epmet.commons.tools.enums.AchievementTypeEnum; import com.epmet.redis.GovIssueRedis; import com.epmet.redis.IssueVoteDetailRedis; import com.epmet.resi.group.dto.group.form.AllIssueFormDTO; diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/AbstractStatsAchievementService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/AbstractStatsAchievementService.java index ff77d49289..6bc56370a5 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/AbstractStatsAchievementService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/AbstractStatsAchievementService.java @@ -19,10 +19,10 @@ package com.epmet.modules.group.service; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; +import com.epmet.commons.tools.enums.AchievementTypeEnum; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.utils.UniqueIdGenerator; -import com.epmet.modules.enums.AchievementTypeEnum; import com.epmet.modules.group.entity.ResiGroupAchievementConfigEntity; import com.epmet.modules.group.entity.ResiGroupAchievementStatsEntity; import com.epmet.modules.support.GroupAchievementUtils; diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java index 424289e059..334a36ec42 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java @@ -43,7 +43,7 @@ import com.epmet.dto.result.UserResiInfoResultDTO; import com.epmet.dto.result.UserRoleResultDTO; import com.epmet.feign.EpmetMessageOpenFeignClient; import com.epmet.modules.constant.UserMessageConstant; -import com.epmet.modules.enums.AchievementTypeEnum; +import com.epmet.commons.tools.enums.AchievementTypeEnum; import com.epmet.modules.feign.EpmetMessageFeignClient; import com.epmet.modules.feign.EpmetUserFeignClient; import com.epmet.modules.feign.GovOrgFeignClient; diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java index 0ae6617ce8..e88b2ce588 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/StatsAchievementServiceImpl.java @@ -9,7 +9,7 @@ import com.epmet.dto.CustomerDTO; import com.epmet.dto.IssueDTO; import com.epmet.feign.GovIssueOpenFeignClient; import com.epmet.feign.OperCrmOpenFeignClient; -import com.epmet.modules.enums.AchievementTypeEnum; +import com.epmet.commons.tools.enums.AchievementTypeEnum; import com.epmet.modules.group.dao.ResiGroupDao; import com.epmet.modules.group.entity.ResiGroupAchievementConfigEntity; import com.epmet.modules.group.entity.ResiGroupAchievementStatsEntity; diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java index 0c00173278..3feb49cc37 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java @@ -44,7 +44,7 @@ import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.feign.GovIssueOpenFeignClient; import com.epmet.modules.constant.GroupMemberConstant; import com.epmet.modules.constant.UserMessageConstant; -import com.epmet.modules.enums.AchievementTypeEnum; +import com.epmet.commons.tools.enums.AchievementTypeEnum; import com.epmet.modules.feign.EpmetUserFeignClient; import com.epmet.modules.feign.GovOrgFeignClient; import com.epmet.modules.group.dao.ResiGroupDao; diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/support/GroupAchievementUtils.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/support/GroupAchievementUtils.java index ac90ee00fb..2ca6448e93 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/support/GroupAchievementUtils.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/support/GroupAchievementUtils.java @@ -3,7 +3,7 @@ package com.epmet.modules.support; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; -import com.epmet.modules.enums.AchievementTypeEnum; +import com.epmet.commons.tools.enums.AchievementTypeEnum; /** * desc:小组成就下一等级规则工具类 diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java index 5d7d721b7a..131cdf9fdc 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java @@ -55,7 +55,7 @@ import com.epmet.feign.GovOrgOpenFeignClient; import com.epmet.modules.constant.GroupMemberConstant; import com.epmet.modules.constant.ResiGroupRedisKeys; import com.epmet.modules.constant.WxmpSubscribeConstant; -import com.epmet.modules.enums.AchievementTypeEnum; +import com.epmet.commons.tools.enums.AchievementTypeEnum; import com.epmet.modules.feign.EpmetUserFeignClient; import com.epmet.modules.feign.GovIssueFeignClient; import com.epmet.modules.feign.GovOrgFeignClient; diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftServiceImpl.java index 15fbe39823..64ade7beaa 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftServiceImpl.java @@ -43,7 +43,7 @@ import com.epmet.dto.result.AllGridsByUserIdResultDTO; import com.epmet.dto.result.CommonDataFilterResultDTO; import com.epmet.feign.EpmetMessageOpenFeignClient; import com.epmet.feign.GovOrgOpenFeignClient; -import com.epmet.modules.enums.AchievementTypeEnum; +import com.epmet.commons.tools.enums.AchievementTypeEnum; import com.epmet.modules.feign.EpmetUserFeignClient; import com.epmet.modules.feign.GovOrgFeignClient; import com.epmet.modules.group.dao.ResiGroupDao; From a6db6aa39906e580e7813dfb2546a8c061a71432 Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 30 Apr 2021 09:51:07 +0800 Subject: [PATCH 81/99] =?UTF-8?q?=E7=BB=84=E5=86=85=E8=B4=A1=E7=8C=AE?= =?UTF-8?q?=E6=88=90=E5=91=98=E5=90=8D=E7=A7=B0=E5=BE=AE=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/BizPointUserTotalDetailServiceImpl.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointUserTotalDetailServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointUserTotalDetailServiceImpl.java index 4cb139d7d2..6cdf25c2f0 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointUserTotalDetailServiceImpl.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointUserTotalDetailServiceImpl.java @@ -20,14 +20,14 @@ package com.epmet.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.enums.BizTypeEnum; -import com.epmet.commons.tools.enums.EventEnum; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ConvertUtils; -import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.utils.Result; import com.epmet.dao.BizPointUserTotalDetailDao; import com.epmet.dto.BizPointUserTotalDetailDTO; @@ -216,7 +216,13 @@ public class BizPointUserTotalDetailServiceImpl extends BaseServiceImpl Date: Fri, 30 Apr 2021 10:11:52 +0800 Subject: [PATCH 82/99] =?UTF-8?q?=E7=BB=84=E5=86=85=E8=B4=A1=E7=8C=AE?= =?UTF-8?q?=E6=88=90=E5=91=98=E5=90=8D=E7=A7=B0=E5=BE=AE=E8=B0=83=20?= =?UTF-8?q?=E7=BC=BA=E4=BA=86=E6=8B=AC=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/service/impl/BizPointUserTotalDetailServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointUserTotalDetailServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointUserTotalDetailServiceImpl.java index 6cdf25c2f0..6d3b7251a3 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointUserTotalDetailServiceImpl.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointUserTotalDetailServiceImpl.java @@ -221,7 +221,7 @@ public class BizPointUserTotalDetailServiceImpl extends BaseServiceImpl Date: Fri, 30 Apr 2021 10:17:23 +0800 Subject: [PATCH 83/99] =?UTF-8?q?=E7=BB=84=E5=86=85=E8=B4=A1=E7=8C=AE?= =?UTF-8?q?=E6=88=90=E5=91=98=E5=90=8D=E7=A7=B0=E5=BE=AE=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/service/impl/BizPointUserTotalDetailServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointUserTotalDetailServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointUserTotalDetailServiceImpl.java index 6d3b7251a3..d9ee83964c 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointUserTotalDetailServiceImpl.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointUserTotalDetailServiceImpl.java @@ -218,7 +218,7 @@ public class BizPointUserTotalDetailServiceImpl extends BaseServiceImpl Date: Fri, 30 Apr 2021 10:19:42 +0800 Subject: [PATCH 84/99] =?UTF-8?q?=E7=BB=84=E5=86=85=E8=B4=A1=E7=8C=AE?= =?UTF-8?q?=E6=88=90=E5=91=98=E5=90=8D=E7=A7=B0=E5=BE=AE=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/service/impl/BizPointUserTotalDetailServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointUserTotalDetailServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointUserTotalDetailServiceImpl.java index d9ee83964c..1e3563fb6d 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointUserTotalDetailServiceImpl.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointUserTotalDetailServiceImpl.java @@ -218,7 +218,7 @@ public class BizPointUserTotalDetailServiceImpl extends BaseServiceImpl Date: Fri, 30 Apr 2021 10:57:27 +0800 Subject: [PATCH 85/99] =?UTF-8?q?=E6=9C=AC=E5=9C=B0=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E4=B8=8D=E6=B3=A8=E5=86=8C=20mq=E6=B6=88=E8=B4=B9=E8=80=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/mq/RocketMQConsumerRegister.java | 8 ++++++-- .../main/java/com/epmet/mq/RocketMQConsumerRegister.java | 8 ++++++-- .../com/epmet/mq/listener/InitCustomerOrgListener.java | 7 +------ .../epmet/mq/listener/InitCustomerOrgRolesListener.java | 2 +- .../java/com/epmet/mq/type1/RocketMQConsumerRegister.java | 8 ++++++-- 5 files changed, 20 insertions(+), 13 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java index bcec9ddd31..ba6a515e6d 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java @@ -3,6 +3,7 @@ package com.epmet.mq; import com.epmet.commons.rocketmq.constants.ConsomerGroupConstants; import com.epmet.commons.rocketmq.constants.TopicConstants; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.enums.EnvEnum; import lombok.extern.slf4j.Slf4j; import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer; import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently; @@ -18,7 +19,8 @@ import javax.annotation.PostConstruct; @Component @Order(value = 111) public class RocketMQConsumerRegister { - + @Value("${spring.profiles.active}") + private String env; @Value("${rocketmq.name-server}") private String nameServer; @@ -31,7 +33,9 @@ public class RocketMQConsumerRegister { @PostConstruct public void registerAllListeners() { try { - register(ConsomerGroupConstants.PROJECT_CHANGED_COMPONENTS_GROUP, MessageModel.CLUSTERING, TopicConstants.PROJECT_CHANGED, "*", new ProjectChangedCustomListener()); + if (!EnvEnum.LOCAL.getCode().equals(env)) { + register(ConsomerGroupConstants.PROJECT_CHANGED_COMPONENTS_GROUP, MessageModel.CLUSTERING, TopicConstants.PROJECT_CHANGED, "*", new ProjectChangedCustomListener()); + } } catch (MQClientException e) { log.error("registerAllListeners exception", e); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java index b378946ff3..bfe0f9f00f 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java @@ -2,6 +2,7 @@ package com.epmet.mq; import com.epmet.commons.rocketmq.constants.ConsomerGroupConstants; import com.epmet.commons.rocketmq.constants.TopicConstants; +import com.epmet.commons.tools.enums.EnvEnum; import com.epmet.mq.listener.InitCustomerOrgRolesListener; import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer; import org.apache.rocketmq.client.consumer.listener.MessageListener; @@ -14,7 +15,8 @@ import javax.annotation.PostConstruct; @Component public class RocketMQConsumerRegister { - + @Value("${spring.profiles.active}") + private String env; @Value("${rocketmq.name-server}") private String nameServer; @@ -27,7 +29,9 @@ public class RocketMQConsumerRegister { @PostConstruct public void registerAllListeners() { try { - register(nameServer, ConsomerGroupConstants.INIT_CUSTOMER_ORG_ROLES_GROUP, MessageModel.CLUSTERING, TopicConstants.INIT_CUSTOMER, "*", new InitCustomerOrgRolesListener()); + if (!EnvEnum.LOCAL.getCode().equals(env)) { + register(nameServer, ConsomerGroupConstants.INIT_CUSTOMER_ORG_ROLES_GROUP, MessageModel.CLUSTERING, TopicConstants.INIT_CUSTOMER, "*", new InitCustomerOrgRolesListener()); + } } catch (MQClientException e) { e.printStackTrace(); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/mq/listener/InitCustomerOrgListener.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/mq/listener/InitCustomerOrgListener.java index 6ddc79801b..c4012090b4 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/mq/listener/InitCustomerOrgListener.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/mq/listener/InitCustomerOrgListener.java @@ -1,8 +1,6 @@ package com.epmet.mq.listener; import com.alibaba.fastjson.JSON; -import com.epmet.commons.rocketmq.constants.ConsomerGroupConstants; -import com.epmet.commons.rocketmq.constants.TopicConstants; import com.epmet.commons.rocketmq.messages.InitCustomerMQMsg; import com.epmet.commons.tools.distributedlock.DistributedLock; import com.epmet.commons.tools.exception.ExceptionUtils; @@ -13,14 +11,11 @@ import com.epmet.dto.form.AddAgencyAndStaffFormDTO; import com.epmet.dto.form.AdminStaffFromDTO; import com.epmet.service.AgencyService; import org.apache.rocketmq.common.message.MessageExt; -import org.apache.rocketmq.spring.annotation.MessageModel; -import org.apache.rocketmq.spring.annotation.RocketMQMessageListener; import org.apache.rocketmq.spring.core.RocketMQListener; import org.redisson.api.RLock; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; import java.util.concurrent.TimeUnit; @@ -51,7 +46,7 @@ public class InitCustomerOrgListener implements RocketMQListener { RLock lock = null; try { lock = distributedLock.getLock(String.format("lock:init_customer_org:%s", msgObj.getCustomerId()), - 30l, 30l, TimeUnit.SECONDS); + 30L, 30l, TimeUnit.SECONDS); agencyService.saveRootAgency(constructRootAndAgencyDTO(msgObj)); } catch (RenException e) { // 如果是我们手动抛出的异常,说明在业务可控范围内。目前不需要MQ重试 diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/mq/listener/InitCustomerOrgRolesListener.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/mq/listener/InitCustomerOrgRolesListener.java index 1225da9abd..ddd9bb8764 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/mq/listener/InitCustomerOrgRolesListener.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/mq/listener/InitCustomerOrgRolesListener.java @@ -52,7 +52,7 @@ public class InitCustomerOrgRolesListener implements MessageListenerConcurrently try { distributedLock = SpringContextUtils.getBean(DistributedLock.class); lock = distributedLock.getLock(String.format("lock:init_customer_org:%s", msgObj.getCustomerId()), - 30l, 30l, TimeUnit.SECONDS); + 30L, 30L, TimeUnit.SECONDS); SpringContextUtils.getBean(AgencyService.class).saveRootAgency(constructRootAndAgencyDTO(msgObj)); } catch (RenException e) { // 如果是我们手动抛出的异常,说明在业务可控范围内。目前不需要MQ重试 diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/type1/RocketMQConsumerRegister.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/type1/RocketMQConsumerRegister.java index 8ef50c1fc0..3289dbdf2e 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/type1/RocketMQConsumerRegister.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/type1/RocketMQConsumerRegister.java @@ -2,6 +2,7 @@ package com.epmet.mq.type1; import com.epmet.commons.rocketmq.constants.ConsomerGroupConstants; import com.epmet.commons.rocketmq.constants.TopicConstants; +import com.epmet.commons.tools.enums.EnvEnum; import lombok.extern.slf4j.Slf4j; import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer; import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently; @@ -15,7 +16,8 @@ import javax.annotation.PostConstruct; @Slf4j @Component public class RocketMQConsumerRegister { - + @Value("${spring.profiles.active}") + private String env; @Value("${rocketmq.name-server}") private String nameServer; @@ -28,7 +30,9 @@ public class RocketMQConsumerRegister { @PostConstruct public void registerAllListeners() { try { - register(ConsomerGroupConstants.GROUP_ACHIEVEMENT_COMPONENTS_GROUP, MessageModel.CLUSTERING, TopicConstants.GROUP_ACHIEVEMENT, "*", new GroupAchievementCustomListener()); + if (!EnvEnum.LOCAL.getCode().equals(env)){ + register(ConsomerGroupConstants.GROUP_ACHIEVEMENT_COMPONENTS_GROUP, MessageModel.CLUSTERING, TopicConstants.GROUP_ACHIEVEMENT, "*", new GroupAchievementCustomListener()); + } } catch (MQClientException e) { log.error("registerAllListeners exception", e); } From 6ca31bcd0062a110bd1f5632786341f7e6fbe163 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Fri, 30 Apr 2021 11:10:34 +0800 Subject: [PATCH 86/99] =?UTF-8?q?=E7=A7=AF=E5=88=86=E8=A7=84=E5=88=99?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/db/migration/V0.0.10__updateRule.sql | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 epmet-module/epmet-point/epmet-point-server/src/main/resources/db/migration/V0.0.10__updateRule.sql diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/resources/db/migration/V0.0.10__updateRule.sql b/epmet-module/epmet-point/epmet-point-server/src/main/resources/db/migration/V0.0.10__updateRule.sql new file mode 100644 index 0000000000..549d64e3a3 --- /dev/null +++ b/epmet-module/epmet-point/epmet-point-server/src/main/resources/db/migration/V0.0.10__updateRule.sql @@ -0,0 +1,2 @@ +UPDATE point_rule_default SET RULE_NAME = '组长转话题为议题' WHERE EVENT_CODE = 'shift_topic_to_issue'; +UPDATE point_rule SET RULE_NAME = '组长转话题为议题' WHERE EVENT_CODE = 'shift_topic_to_issue'; \ No newline at end of file From 1c94e027d6eb14473ed7bc2f46890901d571c15a Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 30 Apr 2021 12:36:35 +0800 Subject: [PATCH 87/99] =?UTF-8?q?=E6=8F=92=E5=85=A5=E7=A7=AF=E5=88=86?= =?UTF-8?q?=E8=A7=84=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/db/migration/V0.0.10__updateRule.sql | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/resources/db/migration/V0.0.10__updateRule.sql b/epmet-module/epmet-point/epmet-point-server/src/main/resources/db/migration/V0.0.10__updateRule.sql index 549d64e3a3..e9fa5a7fd7 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/resources/db/migration/V0.0.10__updateRule.sql +++ b/epmet-module/epmet-point/epmet-point-server/src/main/resources/db/migration/V0.0.10__updateRule.sql @@ -1,2 +1,3 @@ UPDATE point_rule_default SET RULE_NAME = '组长转话题为议题' WHERE EVENT_CODE = 'shift_topic_to_issue'; -UPDATE point_rule SET RULE_NAME = '组长转话题为议题' WHERE EVENT_CODE = 'shift_topic_to_issue'; \ No newline at end of file +UPDATE point_rule SET RULE_NAME = '组长转话题为议题' WHERE EVENT_CODE = 'shift_topic_to_issue'; +INSERT INTO `epmet_point`.`point_rule_default`(`ID`, `RULE_NAME`, `RULE_DESC`, `EVENT_CODE`, `FUNCTION_ID`, `OPERATE_TYPE`, `UP_LIMIT`, `UP_LIMIT_DESC`, `UP_LIMIT_PREFIX`, `RULE_PERIOD`, `POINT`, `POINT_UNIT`, `ENABLED_FLAG`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('10', '组长解决话题', '组长解决组内话题', 'leader_resolve_topic', '1', 'plus', 0, '无上限', NULL, 'day', 2, 'time', '0', '0', 0, 'APP_USER', '2021-04-19 15:55:18', 'APP_USER', '2021-04-19 15:55:18'); From cadd9aeb892814728508c086021b2e9feee31a7c Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Fri, 30 Apr 2021 13:54:35 +0800 Subject: [PATCH 88/99] =?UTF-8?q?=E7=A7=AF=E5=88=86=E8=A7=84=E5=88=99?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/commons/tools/enums/BizTypeEnum.java | 3 ++- .../commons/tools/enums/SourceTypeEnum.java | 1 + .../impl/PointAdjustmentLogServiceImpl.java | 4 ++++ .../member/result/AchievementResultDTO.java | 3 ++- .../dto/member/result/GroupAchievementDTO.java | 1 + .../group/controller/ResiGroupController.java | 4 ++-- .../epmet/modules/group/dao/ResiGroupDao.java | 2 +- .../group/service/ResiGroupService.java | 2 +- .../service/impl/ResiGroupServiceImpl.java | 18 ++++++++++++------ .../resources/mapper/group/ResiGroupDao.xml | 3 ++- 10 files changed, 28 insertions(+), 13 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/BizTypeEnum.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/BizTypeEnum.java index 21b1806ab0..1dec273299 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/BizTypeEnum.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/BizTypeEnum.java @@ -13,7 +13,8 @@ import lombok.Getter; public enum BizTypeEnum { //枚举类型 GROUP("group", "小组"), - ACTIVITY("activity", "活动"); + ACTIVITY("activity", "活动"), + AGENCY("agency", "组织"); /** * 类型 diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/SourceTypeEnum.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/SourceTypeEnum.java index 7e51ad56dd..fa44ed89a8 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/SourceTypeEnum.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/SourceTypeEnum.java @@ -17,6 +17,7 @@ public enum SourceTypeEnum { ISSUE("issue", "议题"), PROJECT("project", "项目"), INVITE("invite", "邀请进组"), + MANUAL("manual", "人工调整"), VOLUNTEER("volunteer", "志愿者"); /** diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointAdjustmentLogServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointAdjustmentLogServiceImpl.java index 3d943ba887..cc5df2cd26 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointAdjustmentLogServiceImpl.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointAdjustmentLogServiceImpl.java @@ -206,6 +206,10 @@ public class PointAdjustmentLogServiceImpl extends BaseServiceImpl achievement; + private String groupId; + private String achievementDesc; } diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/result/GroupAchievementDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/result/GroupAchievementDTO.java index 312a5759c2..f041bba578 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/result/GroupAchievementDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/result/GroupAchievementDTO.java @@ -12,6 +12,7 @@ import java.io.Serializable; @Data public class GroupAchievementDTO implements Serializable { private static final long serialVersionUID = 2195790168656351743L; + private String groupId; private String groupName; private String achievementName; } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java index 9f6ca58452..5b7da26913 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java @@ -557,8 +557,8 @@ public class ResiGroupController { * @return com.epmet.commons.tools.utils.Result */ @PostMapping("achievement") - public Result achievement(@LoginUser TokenDto tokenDto) { - return new Result().ok(resiGroupService.achievement(tokenDto)); + public Result> achievement(@LoginUser TokenDto tokenDto, @RequestBody GroupFormDTO formDTO) { + return new Result>().ok(resiGroupService.achievement(tokenDto, formDTO)); } /** diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java index e1d346eae0..24f3729e7d 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java @@ -245,5 +245,5 @@ public interface ResiGroupDao extends BaseDao { * @param userId * @return java.util.List */ - List selectRecentGroupAchievements(@Param("userId") String userId); + List selectRecentGroupAchievements(@Param("userId") String userId, @Param("gridId") String gridId); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java index d4ed1861b0..1f85bb082a 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java @@ -408,7 +408,7 @@ public interface ResiGroupService extends BaseService { * @param tokenDto * @return com.epmet.resi.group.dto.member.result.AchievementResultDTO */ - AchievementResultDTO achievement(TokenDto tokenDto); + List achievement(TokenDto tokenDto, GroupFormDTO formDTO); /** * 获取小组信息及小组成员 diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java index 334a36ec42..053d2b7054 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java @@ -1278,14 +1278,20 @@ public class ResiGroupServiceImpl extends BaseServiceImpl achievements = new ArrayList<>(); - List list = baseDao.selectRecentGroupAchievements(tokenDto.getUserId()); + public List achievement(TokenDto tokenDto, GroupFormDTO formDTO) { + List result = new ArrayList<>(); + + List list = baseDao.selectRecentGroupAchievements(tokenDto.getUserId(), formDTO.getGridId()); if (CollectionUtils.isNotEmpty(list)) { - achievements = list.stream().map(item -> item.getGroupName() + ":" + "达成“" + item.getAchievementName() + "”" + "成就").collect(Collectors.toList()); + result = + list.stream().map(item -> { + AchievementResultDTO dto = new AchievementResultDTO(); + String desc = item.getGroupName() + ":" + "达成“" + item.getAchievementName() + "”" + "成就"; + dto.setAchievementDesc(desc); + dto.setGroupId(item.getGroupId()); + return dto; + }).collect(Collectors.toList()); } - result.setAchievement(achievements); return result; } diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml index 044d36975c..b34ac4d1af 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml @@ -526,11 +526,12 @@ From 9af2be58cca2d7a5eb5fa313d5b2e91979fd4d9e Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Fri, 30 Apr 2021 14:32:26 +0800 Subject: [PATCH 90/99] =?UTF-8?q?=E7=A7=AF=E5=88=86=E4=BA=BA=E5=B7=A5?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/service/impl/PointAdjustmentLogServiceImpl.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointAdjustmentLogServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointAdjustmentLogServiceImpl.java index cc5df2cd26..e5aad18cef 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointAdjustmentLogServiceImpl.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointAdjustmentLogServiceImpl.java @@ -206,9 +206,10 @@ public class PointAdjustmentLogServiceImpl extends BaseServiceImpl Date: Fri, 30 Apr 2021 17:01:48 +0800 Subject: [PATCH 91/99] =?UTF-8?q?mq=E6=B3=A8=E5=86=8C=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../register/ConsumerConfigProperties.java | 43 +++++++++ .../rocketmq/register/MQConsumerRegister.java | 79 +++++++++++++++ .../mq/ProjectChangedCustomListener.java | 18 +++- .../epmet/mq/RocketMQConsumerRegister.java | 6 +- .../epmet/mq/RocketMQConsumerRegister.java | 3 +- .../mq/listener/InitCustomerOrgListener.java | 95 ------------------- .../InitCustomerOrgRolesListener.java | 24 ++++- .../GroupAchievementCustomListener.java | 22 ++++- .../mq/GroupAchieventConsumerListener.java | 36 ------- .../{type1 => }/RocketMQConsumerRegister.java | 8 +- 10 files changed, 186 insertions(+), 148 deletions(-) create mode 100644 epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/register/ConsumerConfigProperties.java create mode 100644 epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/register/MQConsumerRegister.java delete mode 100644 epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/mq/listener/InitCustomerOrgListener.java rename epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/{type1 => }/GroupAchievementCustomListener.java (79%) delete mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/GroupAchieventConsumerListener.java rename epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/{type1 => }/RocketMQConsumerRegister.java (94%) diff --git a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/register/ConsumerConfigProperties.java b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/register/ConsumerConfigProperties.java new file mode 100644 index 0000000000..71a8fea41c --- /dev/null +++ b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/register/ConsumerConfigProperties.java @@ -0,0 +1,43 @@ +package com.epmet.commons.rocketmq.register; + +import lombok.Data; +import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently; + +import java.io.Serializable; + +/** + * desc:mq 消费配置类 + * + * @author: LiuJanJun + * @date: 2021/4/30 2:39 下午 + * @version: 1.0 + */ +@Data +public class ConsumerConfigProperties implements Serializable { + + private static final long serialVersionUID = 2069676324708473773L; + /** + * 消费者组 + */ + private String consumerGroup; + /** + * 主题 + */ + private String topic; + /** + * 标签 + */ + private String tag = "*"; + /** + * 最小消费的线程数 + */ + private int consumeThreadMin = 2; + /** + * 最大消费的线程数 + */ + private int consumeThreadMax = 4; + /** + * 消费监听器 + */ + private MessageListenerConcurrently consumerListener; +} diff --git a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/register/MQConsumerRegister.java b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/register/MQConsumerRegister.java new file mode 100644 index 0000000000..f7e104f112 --- /dev/null +++ b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/register/MQConsumerRegister.java @@ -0,0 +1,79 @@ +package com.epmet.commons.rocketmq.register; + +import lombok.extern.slf4j.Slf4j; +import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer; +import org.apache.rocketmq.client.exception.MQClientException; +import org.apache.rocketmq.common.protocol.heartbeat.MessageModel; +import org.springframework.beans.factory.annotation.Value; + +import javax.annotation.PostConstruct; + +/** + * desc:注册mq监听器 + * + * @author liujianjun + */ +@Slf4j +public abstract class MQConsumerRegister { + @Value("${spring.profiles.active}") + private String env; + @Value("${rocketmq.name-server}") + private String namesrvAddr; + + public abstract ConsumerConfigProperties getConsumerProperty(); + + + /** + * @return + * @Description 注册监听器 + * @author wxz + * @date 2021.03.03 16:09 + */ + @PostConstruct + public void registerMQListener() { + ConsumerConfigProperties consumerProperty = getConsumerProperty(); + log.info("registerAllListeners consumers:{} success", consumerProperty); + //本地环境不注册 + if ("local".equals(env)) { + try { + // 实例化消费者 + DefaultMQPushConsumer consumer = new DefaultMQPushConsumer(consumerProperty.getConsumerGroup()); + + // 设置NameServer的地址 + consumer.setNamesrvAddr(namesrvAddr); + consumer.setMessageModel(MessageModel.CLUSTERING); + consumer.setInstanceName(buildInstanceName()); + // 订阅一个或者多个Topic,以及Tag来过滤需要消费的消息 + consumer.subscribe(consumer.getConsumerGroup(), consumerProperty.getTag()); + // 注册回调实现类来处理从broker拉取回来的消息 + consumer.registerMessageListener(consumerProperty.getConsumerListener()); + consumer.setConsumeThreadMin(consumerProperty.getConsumeThreadMin()); + consumer.setConsumeThreadMax(consumerProperty.getConsumeThreadMax()); + // 启动消费者实例 + consumer.start(); + } catch (MQClientException e) { + log.info("registerMQListener exception", e); + } + + } + + } + + /** + * desc: 因为docker-compose部署有问题 所有自己命名 + * + * @param + * @return java.lang.String + * @author LiuJanJun + * @date 2021/4/30 5:00 下午 + */ + private String buildInstanceName() { + String instanceName = ""; + for (int i = 0; i < 4; i++) { + int t = (int) (Math.random() * 10); + instanceName = instanceName.concat(t + ""); + } + + return instanceName; + } +} diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/ProjectChangedCustomListener.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/ProjectChangedCustomListener.java index 952d7b4ba5..1d51ddd077 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/ProjectChangedCustomListener.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/ProjectChangedCustomListener.java @@ -1,7 +1,11 @@ package com.epmet.mq; import com.alibaba.fastjson.JSON; +import com.epmet.commons.rocketmq.constants.ConsomerGroupConstants; +import com.epmet.commons.rocketmq.constants.TopicConstants; import com.epmet.commons.rocketmq.messages.ProjectChangedMQMsg; +import com.epmet.commons.rocketmq.register.ConsumerConfigProperties; +import com.epmet.commons.rocketmq.register.MQConsumerRegister; import com.epmet.commons.tools.distributedlock.DistributedLock; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.utils.SpringContextUtils; @@ -18,6 +22,7 @@ import org.apache.rocketmq.common.message.MessageExt; import org.redisson.api.RLock; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Component; import javax.annotation.PreDestroy; import java.util.Date; @@ -34,7 +39,8 @@ import java.util.stream.Collectors; * @date 2021.03.03 16:10 */ @Slf4j -public class ProjectChangedCustomListener implements MessageListenerConcurrently { +@Component +public class ProjectChangedCustomListener extends MQConsumerRegister implements MessageListenerConcurrently { private Logger logger = LoggerFactory.getLogger(getClass()); @@ -115,4 +121,14 @@ public class ProjectChangedCustomListener implements MessageListenerConcurrently log.info("data-statical-server服务被关闭,执行未执行完的动作"); } + + @Override + public ConsumerConfigProperties getConsumerProperty() { + ConsumerConfigProperties configProperties = new ConsumerConfigProperties(); + configProperties.setConsumerGroup(ConsomerGroupConstants.PROJECT_CHANGED_COMPONENTS_GROUP); + configProperties.setTopic(TopicConstants.PROJECT_CHANGED); + configProperties.setTag("*"); + configProperties.setConsumerListener(this); + return configProperties; + } } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java index ba6a515e6d..b0c6f8378a 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java @@ -10,14 +10,12 @@ import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently; import org.apache.rocketmq.client.exception.MQClientException; import org.apache.rocketmq.common.protocol.heartbeat.MessageModel; import org.springframework.beans.factory.annotation.Value; -import org.springframework.core.annotation.Order; -import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; @Slf4j -@Component -@Order(value = 111) +//@Component +//@Order(value = 111) public class RocketMQConsumerRegister { @Value("${spring.profiles.active}") private String env; diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java index bfe0f9f00f..c43db9b46d 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java @@ -9,11 +9,10 @@ import org.apache.rocketmq.client.consumer.listener.MessageListener; import org.apache.rocketmq.client.exception.MQClientException; import org.apache.rocketmq.common.protocol.heartbeat.MessageModel; import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; -@Component +//@Component public class RocketMQConsumerRegister { @Value("${spring.profiles.active}") private String env; diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/mq/listener/InitCustomerOrgListener.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/mq/listener/InitCustomerOrgListener.java deleted file mode 100644 index c4012090b4..0000000000 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/mq/listener/InitCustomerOrgListener.java +++ /dev/null @@ -1,95 +0,0 @@ -package com.epmet.mq.listener; - -import com.alibaba.fastjson.JSON; -import com.epmet.commons.rocketmq.messages.InitCustomerMQMsg; -import com.epmet.commons.tools.distributedlock.DistributedLock; -import com.epmet.commons.tools.exception.ExceptionUtils; -import com.epmet.commons.tools.exception.RenException; -import com.epmet.constant.UserWorkType; -import com.epmet.dto.CustomerAgencyDTO; -import com.epmet.dto.form.AddAgencyAndStaffFormDTO; -import com.epmet.dto.form.AdminStaffFromDTO; -import com.epmet.service.AgencyService; -import org.apache.rocketmq.common.message.MessageExt; -import org.apache.rocketmq.spring.core.RocketMQListener; -import org.redisson.api.RLock; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; - -import java.util.concurrent.TimeUnit; - -/** - * 监听初始化客户动作,为客户初始化角色列表 - */ -//@RocketMQMessageListener(topic = TopicConstants.INIT_CUSTOMER, -// consumerGroup = ConsomerGroupConstants.INIT_CUSTOMER_ORG_ROLES_GROUP, -// messageModel = MessageModel.CLUSTERING, -// selectorExpression = "*") -//@Component -public class InitCustomerOrgListener implements RocketMQListener { - - private Logger logger = LoggerFactory.getLogger(getClass()); - - @Autowired - private AgencyService agencyService; - - @Autowired - private DistributedLock distributedLock; - - @Override - public void onMessage(MessageExt messageExt) { - String msg = new String(messageExt.getBody()); - logger.info("初始化客户-初始化组织信息-收到消息内容:{}", msg); - InitCustomerMQMsg msgObj = JSON.parseObject(msg, InitCustomerMQMsg.class); - - RLock lock = null; - try { - lock = distributedLock.getLock(String.format("lock:init_customer_org:%s", msgObj.getCustomerId()), - 30L, 30l, TimeUnit.SECONDS); - agencyService.saveRootAgency(constructRootAndAgencyDTO(msgObj)); - } catch (RenException e) { - // 如果是我们手动抛出的异常,说明在业务可控范围内。目前不需要MQ重试 - logger.error("【RocketMQ】初始化客户组织失败:".concat(ExceptionUtils.getErrorStackTrace(e))); - } catch (Exception e) { - // 不是我们自己抛出的异常,可以让MQ重试 - logger.error("【RocketMQ】初始化客户组织失败:".concat(ExceptionUtils.getErrorStackTrace(e))); - throw e; - } finally { - distributedLock.unLock(lock); - } - } - - /** - * @Description 构造dto - * @return - * @author wxz - * @date 2021.01.06 15:03 - */ - private AddAgencyAndStaffFormDTO constructRootAndAgencyDTO(InitCustomerMQMsg msgObj) { - AddAgencyAndStaffFormDTO agencyAndStaff = new AddAgencyAndStaffFormDTO(); - //客户组织信息 - CustomerAgencyDTO agencyDTO = new CustomerAgencyDTO(); - agencyDTO.setId(msgObj.getAgency().getAgencyId()); - agencyDTO.setCustomerId(msgObj.getCustomerId()); - agencyDTO.setOrganizationName(msgObj.getAgency().getOrganizationName()); - agencyDTO.setLevel(msgObj.getAgency().getLevel()); - agencyDTO.setAreaCode(msgObj.getAgency().getAreaCode()); - agencyDTO.setProvince(msgObj.getAgency().getProvince()); - agencyDTO.setCity(msgObj.getAgency().getCity()); - agencyDTO.setDistrict(msgObj.getAgency().getDistrict()); - agencyAndStaff.setAgencyDTO(agencyDTO); - - //客户管理员信息 - AdminStaffFromDTO staffSubmitFrom = new AdminStaffFromDTO(); - staffSubmitFrom.setCustomerId(msgObj.getCustomerId()); - staffSubmitFrom.setAgencyId(msgObj.getStaff().getAgencyId()); - staffSubmitFrom.setGender(msgObj.getStaff().getGender()); - staffSubmitFrom.setMobile(msgObj.getStaff().getMobile()); - staffSubmitFrom.setName(msgObj.getStaff().getName()); - staffSubmitFrom.setWorkType(UserWorkType.FULL_TIME); - agencyAndStaff.setStaffDTO(staffSubmitFrom); - - return agencyAndStaff; - } -} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/mq/listener/InitCustomerOrgRolesListener.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/mq/listener/InitCustomerOrgRolesListener.java index ddd9bb8764..6ad695fc02 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/mq/listener/InitCustomerOrgRolesListener.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/mq/listener/InitCustomerOrgRolesListener.java @@ -1,7 +1,11 @@ package com.epmet.mq.listener; import com.alibaba.fastjson.JSON; +import com.epmet.commons.rocketmq.constants.ConsomerGroupConstants; +import com.epmet.commons.rocketmq.constants.TopicConstants; import com.epmet.commons.rocketmq.messages.InitCustomerMQMsg; +import com.epmet.commons.rocketmq.register.ConsumerConfigProperties; +import com.epmet.commons.rocketmq.register.MQConsumerRegister; import com.epmet.commons.tools.distributedlock.DistributedLock; import com.epmet.commons.tools.exception.ExceptionUtils; import com.epmet.commons.tools.exception.RenException; @@ -18,17 +22,19 @@ import org.apache.rocketmq.common.message.MessageExt; import org.redisson.api.RLock; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Component; import java.util.List; import java.util.concurrent.TimeUnit; /** + * @author wxz * @Description 创建客户-组织和角色监听器 * @return - * @author wxz * @date 2021.03.03 16:10 -*/ -public class InitCustomerOrgRolesListener implements MessageListenerConcurrently { + */ +@Component +public class InitCustomerOrgRolesListener extends MQConsumerRegister implements MessageListenerConcurrently { private Logger logger = LoggerFactory.getLogger(getClass()); @@ -67,8 +73,8 @@ public class InitCustomerOrgRolesListener implements MessageListenerConcurrently } /** - * @Description 构造dto * @return + * @Description 构造dto * @author wxz * @date 2021.01.06 15:03 */ @@ -98,4 +104,14 @@ public class InitCustomerOrgRolesListener implements MessageListenerConcurrently return agencyAndStaff; } + + @Override + public ConsumerConfigProperties getConsumerProperty() { + ConsumerConfigProperties configProperties = new ConsumerConfigProperties(); + configProperties.setConsumerGroup(ConsomerGroupConstants.INIT_CUSTOMER_ORG_ROLES_GROUP); + configProperties.setTopic(TopicConstants.INIT_CUSTOMER); + configProperties.setTag("*"); + configProperties.setConsumerListener(this); + return configProperties; + } } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/type1/GroupAchievementCustomListener.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/GroupAchievementCustomListener.java similarity index 79% rename from epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/type1/GroupAchievementCustomListener.java rename to epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/GroupAchievementCustomListener.java index cdd0ce615a..f3d98bd0d8 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/type1/GroupAchievementCustomListener.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/GroupAchievementCustomListener.java @@ -1,7 +1,11 @@ -package com.epmet.mq.type1; +package com.epmet.mq; import com.alibaba.fastjson.JSON; +import com.epmet.commons.rocketmq.constants.ConsomerGroupConstants; +import com.epmet.commons.rocketmq.constants.TopicConstants; import com.epmet.commons.rocketmq.messages.GroupAchievementMQMsg; +import com.epmet.commons.rocketmq.register.ConsumerConfigProperties; +import com.epmet.commons.rocketmq.register.MQConsumerRegister; import com.epmet.commons.tools.distributedlock.DistributedLock; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.utils.SpringContextUtils; @@ -15,6 +19,7 @@ import org.apache.rocketmq.common.message.MessageExt; import org.redisson.api.RLock; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Component; import java.util.List; import java.util.concurrent.TimeUnit; @@ -26,7 +31,8 @@ import java.util.concurrent.TimeUnit; * @date 2021.03.03 16:10 */ @Slf4j -public class GroupAchievementCustomListener implements MessageListenerConcurrently { +@Component +public class GroupAchievementCustomListener extends MQConsumerRegister implements MessageListenerConcurrently { private Logger logger = LoggerFactory.getLogger(getClass()); @@ -82,4 +88,16 @@ public class GroupAchievementCustomListener implements MessageListenerConcurrent } } } + + + + @Override + public ConsumerConfigProperties getConsumerProperty() { + ConsumerConfigProperties configProperties = new ConsumerConfigProperties(); + configProperties.setConsumerGroup(ConsomerGroupConstants.GROUP_ACHIEVEMENT_COMPONENTS_GROUP); + configProperties.setTopic(TopicConstants.GROUP_ACHIEVEMENT); + configProperties.setTag("*"); + configProperties.setConsumerListener(this); + return configProperties; + } } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/GroupAchieventConsumerListener.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/GroupAchieventConsumerListener.java deleted file mode 100644 index 2f6d9594e9..0000000000 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/GroupAchieventConsumerListener.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.epmet.mq; - -import com.alibaba.fastjson.JSON; -import com.epmet.commons.rocketmq.messages.GroupAchievementMQMsg; -import com.epmet.modules.group.service.StatsAchievementService; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; -import org.apache.rocketmq.spring.core.RocketMQListener; -import org.springframework.beans.factory.annotation.Autowired; - -/** - * desc: 小组成就mq监听 - * - * @author: LiuJanJun - * @date: 2021/4/22 10:10 下午 - * @version: 1.0 - */ -@Slf4j -//@Component -//@RocketMQMessageListener(topic = "group_achievement", consumerGroup = ConsomerGroupConstants.GROUP_ACHIEVEMENT_COMPONENTS_GROUP) -public class GroupAchieventConsumerListener implements RocketMQListener { - @Autowired - private StatsAchievementService statsAchievementService; - - @Override - public void onMessage(GroupAchievementMQMsg msg) { - log.info("receive msg:{}", JSON.toJSONString(msg)); - if (StringUtils.isBlank(msg.getAchievementType()) || StringUtils.isBlank(msg.getCustomerId()) - || StringUtils.isBlank(msg.getGroupId())) { - log.error("consumer groupAchievement fail,msg:{}", msg); - return; - } - Boolean aBoolean = statsAchievementService.calculateAcm(msg.getCustomerId(), msg.getGroupId(), msg.getAchievementType()); - log.info("consumer groupAchievement msg success,{}", aBoolean); - } -} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/type1/RocketMQConsumerRegister.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java similarity index 94% rename from epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/type1/RocketMQConsumerRegister.java rename to epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java index 3289dbdf2e..f11eaa28d7 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/type1/RocketMQConsumerRegister.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java @@ -1,4 +1,4 @@ -package com.epmet.mq.type1; +package com.epmet.mq; import com.epmet.commons.rocketmq.constants.ConsomerGroupConstants; import com.epmet.commons.rocketmq.constants.TopicConstants; @@ -9,12 +9,11 @@ import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently; import org.apache.rocketmq.client.exception.MQClientException; import org.apache.rocketmq.common.protocol.heartbeat.MessageModel; import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; @Slf4j -@Component +//@Component public class RocketMQConsumerRegister { @Value("${spring.profiles.active}") private String env; @@ -30,7 +29,7 @@ public class RocketMQConsumerRegister { @PostConstruct public void registerAllListeners() { try { - if (!EnvEnum.LOCAL.getCode().equals(env)){ + if (!EnvEnum.LOCAL.getCode().equals(env)) { register(ConsomerGroupConstants.GROUP_ACHIEVEMENT_COMPONENTS_GROUP, MessageModel.CLUSTERING, TopicConstants.GROUP_ACHIEVEMENT, "*", new GroupAchievementCustomListener()); } } catch (MQClientException e) { @@ -48,6 +47,7 @@ public class RocketMQConsumerRegister { consumer.setInstanceName(buildInstanceName()); // 订阅一个或者多个Topic,以及Tag来过滤需要消费的消息 consumer.subscribe(topic, subException); + consumer.setConsumeMessageBatchMaxSize(10); // 注册回调实现类来处理从broker拉取回来的消息 consumer.registerMessageListener(listener); // 启动消费者实例 From 3c88c7d35f11ffb4fb15a6693d0e9a6215f85f24 Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 30 Apr 2021 17:24:57 +0800 Subject: [PATCH 92/99] =?UTF-8?q?mq=E6=B3=A8=E5=86=8C=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E8=B0=83=E6=95=B4-=E6=9C=AC=E5=9C=B0=E4=B8=8D=E6=B3=A8?= =?UTF-8?q?=E5=86=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/commons/rocketmq/register/MQConsumerRegister.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/register/MQConsumerRegister.java b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/register/MQConsumerRegister.java index f7e104f112..4c883e74a7 100644 --- a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/register/MQConsumerRegister.java +++ b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/register/MQConsumerRegister.java @@ -34,7 +34,7 @@ public abstract class MQConsumerRegister { ConsumerConfigProperties consumerProperty = getConsumerProperty(); log.info("registerAllListeners consumers:{} success", consumerProperty); //本地环境不注册 - if ("local".equals(env)) { + if (!"local".equals(env)) { try { // 实例化消费者 DefaultMQPushConsumer consumer = new DefaultMQPushConsumer(consumerProperty.getConsumerGroup()); From 524a0c592ec0477ec551741d7104274dda501e66 Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 30 Apr 2021 17:37:00 +0800 Subject: [PATCH 93/99] =?UTF-8?q?mq=E6=B3=A8=E5=86=8C=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E8=B0=83=E6=95=B4-=E6=BC=8F=E6=8E=89=E7=9A=84=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E5=90=88=E5=B9=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/mq/RocketMQConsumerRegister.java | 2 +- .../InitCustomerComponentsListener.java | 20 +++++- .../InitCustomerCustomizeListener.java | 68 ------------------- 3 files changed, 19 insertions(+), 71 deletions(-) delete mode 100644 epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/mq/listener/InitCustomerCustomizeListener.java diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java index 057cf3c501..c128db1207 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java @@ -12,7 +12,7 @@ import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; -@Component +//@Component public class RocketMQConsumerRegister { @Value("${rocketmq.name-server}") diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/mq/listener/InitCustomerComponentsListener.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/mq/listener/InitCustomerComponentsListener.java index 147d716674..36fb8c930b 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/mq/listener/InitCustomerComponentsListener.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/mq/listener/InitCustomerComponentsListener.java @@ -1,7 +1,11 @@ package com.epmet.mq.listener; import com.alibaba.fastjson.JSON; +import com.epmet.commons.rocketmq.constants.ConsomerGroupConstants; +import com.epmet.commons.rocketmq.constants.TopicConstants; import com.epmet.commons.rocketmq.messages.InitCustomerMQMsg; +import com.epmet.commons.rocketmq.register.ConsumerConfigProperties; +import com.epmet.commons.rocketmq.register.MQConsumerRegister; import com.epmet.commons.tools.distributedlock.DistributedLock; import com.epmet.commons.tools.exception.ExceptionUtils; import com.epmet.commons.tools.exception.RenException; @@ -15,6 +19,7 @@ import org.apache.rocketmq.common.message.MessageExt; import org.redisson.api.RLock; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Component; import java.util.List; import java.util.concurrent.TimeUnit; @@ -22,7 +27,8 @@ import java.util.concurrent.TimeUnit; /** * 监听初始化客户动作,为客户初始化角色列表 */ -public class InitCustomerComponentsListener implements MessageListenerConcurrently { +@Component +public class InitCustomerComponentsListener extends MQConsumerRegister implements MessageListenerConcurrently { private Logger logger = LoggerFactory.getLogger(getClass()); @@ -65,4 +71,14 @@ public class InitCustomerComponentsListener implements MessageListenerConcurrent distributedLock.unLock(lock); } } -} \ No newline at end of file + + @Override + public ConsumerConfigProperties getConsumerProperty() { + ConsumerConfigProperties configProperties = new ConsumerConfigProperties(); + configProperties.setConsumerGroup(ConsomerGroupConstants.INIT_CUSTOMER_COMPONENTS_GROUP); + configProperties.setTopic(TopicConstants.INIT_CUSTOMER); + configProperties.setTag("*"); + configProperties.setConsumerListener(this); + return configProperties; + } +} diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/mq/listener/InitCustomerCustomizeListener.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/mq/listener/InitCustomerCustomizeListener.java deleted file mode 100644 index 7f7ddd5644..0000000000 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/mq/listener/InitCustomerCustomizeListener.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.epmet.mq.listener; - -import com.alibaba.fastjson.JSON; -import com.epmet.commons.rocketmq.constants.ConsomerGroupConstants; -import com.epmet.commons.rocketmq.constants.TopicConstants; -import com.epmet.commons.rocketmq.messages.InitCustomerMQMsg; -import com.epmet.commons.tools.distributedlock.DistributedLock; -import com.epmet.commons.tools.exception.ExceptionUtils; -import com.epmet.commons.tools.exception.RenException; -import com.epmet.dto.CustomerHomeDTO; -import com.epmet.service.CustomerHomeService; -import org.apache.rocketmq.common.message.MessageExt; -import org.apache.rocketmq.spring.annotation.MessageModel; -import org.apache.rocketmq.spring.annotation.RocketMQMessageListener; -import org.apache.rocketmq.spring.core.RocketMQListener; -import org.redisson.api.RLock; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -import java.util.concurrent.TimeUnit; - -/** - * 监听初始化客户动作,为客户初始化角色列表 - * 已废弃 - */ -//@RocketMQMessageListener(topic = TopicConstants.INIT_CUSTOMER, -// consumerGroup = ConsomerGroupConstants.INIT_CUSTOMER_COMPONENTS_GROUP, -// messageModel = MessageModel.CLUSTERING, -// selectorExpression = "*") -//@Component -public class InitCustomerCustomizeListener implements RocketMQListener { - - private Logger logger = LoggerFactory.getLogger(getClass()); - - @Autowired - private CustomerHomeService customerHomeService; - - @Autowired - private DistributedLock distributedLock; - - @Override - public void onMessage(MessageExt messageExt) { - String msg = new String(messageExt.getBody()); - logger.info("初始化客户-初始化客户自定义信息-收到消息内容:{}", msg); - InitCustomerMQMsg msgObj = JSON.parseObject(msg, InitCustomerMQMsg.class); - - CustomerHomeDTO customerHomeDTO = new CustomerHomeDTO(); - customerHomeDTO.setCustomerId(msgObj.getCustomerId()); - - RLock lock = null; - try { - lock = distributedLock.getLock(String.format("lock:init_customer_home:%s", msgObj.getCustomerId()), - 30l, 30l, TimeUnit.SECONDS); - customerHomeService.init(customerHomeDTO); - } catch (RenException e) { - // 如果是我们手动抛出的异常,说明在业务可控范围内。目前不需要MQ重试 - logger.error("【RocketMQ】初始化客户组件失败:".concat(ExceptionUtils.getErrorStackTrace(e))); - } catch (Exception e) { - // 不是我们自己抛出的异常,可以让MQ重试 - logger.error("【RocketMQ】初始化客户组件失败:".concat(ExceptionUtils.getErrorStackTrace(e))); - throw e; - } finally { - distributedLock.unLock(lock); - } - } -} \ No newline at end of file From b4e9faa02640bbf87d24b95b7fa26ef31db88ce8 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Thu, 6 May 2021 12:11:06 +0800 Subject: [PATCH 94/99] =?UTF-8?q?=E8=AF=9D=E9=A2=98=E5=AE=A1=E6=A0=B8?= =?UTF-8?q?=E9=80=9A=E8=BF=87=E7=A7=AF=E5=88=86=E6=B6=88=E6=81=AF=E5=86=85?= =?UTF-8?q?=E5=AE=B9=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/topic/service/impl/TopicDraftServiceImpl.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftServiceImpl.java index 64ade7beaa..d149d0dd84 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftServiceImpl.java @@ -782,11 +782,11 @@ public class TopicDraftServiceImpl extends BaseServiceImpl NumConstant.TEN ? (content.substring(NumConstant.TEN) + "…") : content); + breviary.append("话题\""); + breviary.append(content.length() > NumConstant.TEN ? (content.substring(NumConstant.ZERO,NumConstant.TEN) + "…") : content); breviary.append("\""); }else { - breviary.append("话题"); + breviary.append("语音话题"); } CommonGridIdFormDTO dataFilterParam = new CommonGridIdFormDTO(); dataFilterParam.setGridId(draft.getGridId()); From bd66a7a024dcb87551a6bcd5ee6007e424bf0d62 Mon Sep 17 00:00:00 2001 From: jianjun Date: Thu, 6 May 2021 14:28:34 +0800 Subject: [PATCH 95/99] =?UTF-8?q?mq=E6=B3=A8=E5=86=8C=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E8=B0=83=E6=95=B4=E6=9A=82=E6=97=B6=E6=81=A2=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rocketmq/register/MQConsumerRegister.java | 4 ++-- .../com/epmet/mq/ProjectChangedCustomListener.java | 13 ++++--------- .../java/com/epmet/mq/RocketMQConsumerRegister.java | 4 ++-- .../java/com/epmet/mq/RocketMQConsumerRegister.java | 3 ++- .../mq/listener/InitCustomerOrgRolesListener.java | 13 ++++--------- .../java/com/epmet/mq/RocketMQConsumerRegister.java | 2 +- .../mq/listener/InitCustomerComponentsListener.java | 12 ++++-------- .../epmet/mq/GroupAchievementCustomListener.java | 13 ++++--------- .../java/com/epmet/mq/RocketMQConsumerRegister.java | 3 ++- 9 files changed, 25 insertions(+), 42 deletions(-) diff --git a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/register/MQConsumerRegister.java b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/register/MQConsumerRegister.java index 4c883e74a7..3387b55931 100644 --- a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/register/MQConsumerRegister.java +++ b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/register/MQConsumerRegister.java @@ -34,7 +34,7 @@ public abstract class MQConsumerRegister { ConsumerConfigProperties consumerProperty = getConsumerProperty(); log.info("registerAllListeners consumers:{} success", consumerProperty); //本地环境不注册 - if (!"local".equals(env)) { + //if (!"local".equals(env)) { try { // 实例化消费者 DefaultMQPushConsumer consumer = new DefaultMQPushConsumer(consumerProperty.getConsumerGroup()); @@ -55,7 +55,7 @@ public abstract class MQConsumerRegister { log.info("registerMQListener exception", e); } - } + //} } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/ProjectChangedCustomListener.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/ProjectChangedCustomListener.java index 1d51ddd077..4687e0af89 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/ProjectChangedCustomListener.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/ProjectChangedCustomListener.java @@ -1,11 +1,7 @@ package com.epmet.mq; import com.alibaba.fastjson.JSON; -import com.epmet.commons.rocketmq.constants.ConsomerGroupConstants; -import com.epmet.commons.rocketmq.constants.TopicConstants; import com.epmet.commons.rocketmq.messages.ProjectChangedMQMsg; -import com.epmet.commons.rocketmq.register.ConsumerConfigProperties; -import com.epmet.commons.rocketmq.register.MQConsumerRegister; import com.epmet.commons.tools.distributedlock.DistributedLock; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.utils.SpringContextUtils; @@ -22,7 +18,6 @@ import org.apache.rocketmq.common.message.MessageExt; import org.redisson.api.RLock; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.stereotype.Component; import javax.annotation.PreDestroy; import java.util.Date; @@ -39,8 +34,8 @@ import java.util.stream.Collectors; * @date 2021.03.03 16:10 */ @Slf4j -@Component -public class ProjectChangedCustomListener extends MQConsumerRegister implements MessageListenerConcurrently { +//@Component +public class ProjectChangedCustomListener implements MessageListenerConcurrently { private Logger logger = LoggerFactory.getLogger(getClass()); @@ -122,7 +117,7 @@ public class ProjectChangedCustomListener extends MQConsumerRegister implements } - @Override + /*@Override public ConsumerConfigProperties getConsumerProperty() { ConsumerConfigProperties configProperties = new ConsumerConfigProperties(); configProperties.setConsumerGroup(ConsomerGroupConstants.PROJECT_CHANGED_COMPONENTS_GROUP); @@ -130,5 +125,5 @@ public class ProjectChangedCustomListener extends MQConsumerRegister implements configProperties.setTag("*"); configProperties.setConsumerListener(this); return configProperties; - } + }*/ } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java index b0c6f8378a..c383ae1b41 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java @@ -10,12 +10,12 @@ import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently; import org.apache.rocketmq.client.exception.MQClientException; import org.apache.rocketmq.common.protocol.heartbeat.MessageModel; import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; @Slf4j -//@Component -//@Order(value = 111) +@Component public class RocketMQConsumerRegister { @Value("${spring.profiles.active}") private String env; diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java index c43db9b46d..bfe0f9f00f 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java @@ -9,10 +9,11 @@ import org.apache.rocketmq.client.consumer.listener.MessageListener; import org.apache.rocketmq.client.exception.MQClientException; import org.apache.rocketmq.common.protocol.heartbeat.MessageModel; import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; -//@Component +@Component public class RocketMQConsumerRegister { @Value("${spring.profiles.active}") private String env; diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/mq/listener/InitCustomerOrgRolesListener.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/mq/listener/InitCustomerOrgRolesListener.java index eff4e54cab..010e2044a3 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/mq/listener/InitCustomerOrgRolesListener.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/mq/listener/InitCustomerOrgRolesListener.java @@ -1,11 +1,7 @@ package com.epmet.mq.listener; import com.alibaba.fastjson.JSON; -import com.epmet.commons.rocketmq.constants.ConsomerGroupConstants; -import com.epmet.commons.rocketmq.constants.TopicConstants; import com.epmet.commons.rocketmq.messages.InitCustomerMQMsg; -import com.epmet.commons.rocketmq.register.ConsumerConfigProperties; -import com.epmet.commons.rocketmq.register.MQConsumerRegister; import com.epmet.commons.tools.distributedlock.DistributedLock; import com.epmet.commons.tools.exception.ExceptionUtils; import com.epmet.commons.tools.exception.RenException; @@ -22,7 +18,6 @@ import org.apache.rocketmq.common.message.MessageExt; import org.redisson.api.RLock; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.stereotype.Component; import java.util.List; import java.util.concurrent.TimeUnit; @@ -33,8 +28,8 @@ import java.util.concurrent.TimeUnit; * @return * @date 2021.03.03 16:10 */ -@Component -public class InitCustomerOrgRolesListener extends MQConsumerRegister implements MessageListenerConcurrently { +//@Component +public class InitCustomerOrgRolesListener implements MessageListenerConcurrently { private Logger logger = LoggerFactory.getLogger(getClass()); @@ -106,7 +101,7 @@ public class InitCustomerOrgRolesListener extends MQConsumerRegister implements return agencyAndStaff; } - @Override + /* @Override public ConsumerConfigProperties getConsumerProperty() { ConsumerConfigProperties configProperties = new ConsumerConfigProperties(); configProperties.setConsumerGroup(ConsomerGroupConstants.INIT_CUSTOMER_ORG_ROLES_GROUP); @@ -114,5 +109,5 @@ public class InitCustomerOrgRolesListener extends MQConsumerRegister implements configProperties.setTag("*"); configProperties.setConsumerListener(this); return configProperties; - } + }*/ } diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java index c128db1207..057cf3c501 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java @@ -12,7 +12,7 @@ import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; -//@Component +@Component public class RocketMQConsumerRegister { @Value("${rocketmq.name-server}") diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/mq/listener/InitCustomerComponentsListener.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/mq/listener/InitCustomerComponentsListener.java index 36fb8c930b..d21ea39357 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/mq/listener/InitCustomerComponentsListener.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/mq/listener/InitCustomerComponentsListener.java @@ -1,11 +1,7 @@ package com.epmet.mq.listener; import com.alibaba.fastjson.JSON; -import com.epmet.commons.rocketmq.constants.ConsomerGroupConstants; -import com.epmet.commons.rocketmq.constants.TopicConstants; import com.epmet.commons.rocketmq.messages.InitCustomerMQMsg; -import com.epmet.commons.rocketmq.register.ConsumerConfigProperties; -import com.epmet.commons.rocketmq.register.MQConsumerRegister; import com.epmet.commons.tools.distributedlock.DistributedLock; import com.epmet.commons.tools.exception.ExceptionUtils; import com.epmet.commons.tools.exception.RenException; @@ -27,8 +23,8 @@ import java.util.concurrent.TimeUnit; /** * 监听初始化客户动作,为客户初始化角色列表 */ -@Component -public class InitCustomerComponentsListener extends MQConsumerRegister implements MessageListenerConcurrently { +//@Component +public class InitCustomerComponentsListener implements MessageListenerConcurrently { private Logger logger = LoggerFactory.getLogger(getClass()); @@ -72,7 +68,7 @@ public class InitCustomerComponentsListener extends MQConsumerRegister implement } } - @Override + /* @Override public ConsumerConfigProperties getConsumerProperty() { ConsumerConfigProperties configProperties = new ConsumerConfigProperties(); configProperties.setConsumerGroup(ConsomerGroupConstants.INIT_CUSTOMER_COMPONENTS_GROUP); @@ -80,5 +76,5 @@ public class InitCustomerComponentsListener extends MQConsumerRegister implement configProperties.setTag("*"); configProperties.setConsumerListener(this); return configProperties; - } + }*/ } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/GroupAchievementCustomListener.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/GroupAchievementCustomListener.java index f3d98bd0d8..8d8d0f3b26 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/GroupAchievementCustomListener.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/GroupAchievementCustomListener.java @@ -1,11 +1,7 @@ package com.epmet.mq; import com.alibaba.fastjson.JSON; -import com.epmet.commons.rocketmq.constants.ConsomerGroupConstants; -import com.epmet.commons.rocketmq.constants.TopicConstants; import com.epmet.commons.rocketmq.messages.GroupAchievementMQMsg; -import com.epmet.commons.rocketmq.register.ConsumerConfigProperties; -import com.epmet.commons.rocketmq.register.MQConsumerRegister; import com.epmet.commons.tools.distributedlock.DistributedLock; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.utils.SpringContextUtils; @@ -19,7 +15,6 @@ import org.apache.rocketmq.common.message.MessageExt; import org.redisson.api.RLock; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.stereotype.Component; import java.util.List; import java.util.concurrent.TimeUnit; @@ -31,8 +26,8 @@ import java.util.concurrent.TimeUnit; * @date 2021.03.03 16:10 */ @Slf4j -@Component -public class GroupAchievementCustomListener extends MQConsumerRegister implements MessageListenerConcurrently { +//@Component +public class GroupAchievementCustomListener implements MessageListenerConcurrently { private Logger logger = LoggerFactory.getLogger(getClass()); @@ -91,7 +86,7 @@ public class GroupAchievementCustomListener extends MQConsumerRegister implement - @Override + /*@Override public ConsumerConfigProperties getConsumerProperty() { ConsumerConfigProperties configProperties = new ConsumerConfigProperties(); configProperties.setConsumerGroup(ConsomerGroupConstants.GROUP_ACHIEVEMENT_COMPONENTS_GROUP); @@ -99,5 +94,5 @@ public class GroupAchievementCustomListener extends MQConsumerRegister implement configProperties.setTag("*"); configProperties.setConsumerListener(this); return configProperties; - } + }*/ } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java index f11eaa28d7..e219987289 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java @@ -9,11 +9,12 @@ import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently; import org.apache.rocketmq.client.exception.MQClientException; import org.apache.rocketmq.common.protocol.heartbeat.MessageModel; import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; @Slf4j -//@Component +@Component public class RocketMQConsumerRegister { @Value("${spring.profiles.active}") private String env; From 82bf80a0931a47af4ba900c00bf7b8516a7074ab Mon Sep 17 00:00:00 2001 From: jianjun Date: Thu, 6 May 2021 15:08:44 +0800 Subject: [PATCH 96/99] =?UTF-8?q?=E5=8A=A0=E5=BC=BA=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/mq/ProjectChangedCustomListener.java | 4 ++++ .../java/com/epmet/mq/GroupAchievementCustomListener.java | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/ProjectChangedCustomListener.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/ProjectChangedCustomListener.java index 4687e0af89..51fa695a51 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/ProjectChangedCustomListener.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/ProjectChangedCustomListener.java @@ -56,6 +56,10 @@ public class ProjectChangedCustomListener implements MessageListenerConcurrently private void consumeMessage(String msg) { logger.info("receive customerId:{}", JSON.toJSONString(msg)); + if (StringUtils.isBlank(msg)){ + log.warn("consumeMessage msg body is blank"); + return; + } ProjectChangedMQMsg msgObj = JSON.parseObject(msg, ProjectChangedMQMsg.class); DistributedLock distributedLock = null; diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/GroupAchievementCustomListener.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/GroupAchievementCustomListener.java index 8d8d0f3b26..e389d5044e 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/GroupAchievementCustomListener.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/GroupAchievementCustomListener.java @@ -48,8 +48,13 @@ public class GroupAchievementCustomListener implements MessageListenerConcurren private void consumeMessage(MessageExt messageExt) { logger.info("receive msg:{}", JSON.toJSONString(messageExt)); String msg = new String(messageExt.getBody()); + if (StringUtils.isBlank(msg)){ + log.warn("consumeMessage msg body is blank"); + return; + } GroupAchievementMQMsg msgObj = JSON.parseObject(msg, GroupAchievementMQMsg.class); + DistributedLock distributedLock = null; RLock lock = null; try { From d7373ee97dd7679ef899104f6df09d6d6ec82cf0 Mon Sep 17 00:00:00 2001 From: jianjun Date: Thu, 6 May 2021 15:34:42 +0800 Subject: [PATCH 97/99] =?UTF-8?q?=E5=8A=A0=E5=BC=BA=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/mq/ProjectChangedCustomListener.java | 5 ++--- .../java/com/epmet/mq/GroupAchievementCustomListener.java | 6 +++--- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/ProjectChangedCustomListener.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/ProjectChangedCustomListener.java index 51fa695a51..ecc2d38a9b 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/ProjectChangedCustomListener.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/ProjectChangedCustomListener.java @@ -56,12 +56,11 @@ public class ProjectChangedCustomListener implements MessageListenerConcurrently private void consumeMessage(String msg) { logger.info("receive customerId:{}", JSON.toJSONString(msg)); - if (StringUtils.isBlank(msg)){ + ProjectChangedMQMsg msgObj = JSON.parseObject(msg, ProjectChangedMQMsg.class); + if (msgObj == null){ log.warn("consumeMessage msg body is blank"); return; } - ProjectChangedMQMsg msgObj = JSON.parseObject(msg, ProjectChangedMQMsg.class); - DistributedLock distributedLock = null; RLock lock = null; try { diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/GroupAchievementCustomListener.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/GroupAchievementCustomListener.java index e389d5044e..33c0ff7c63 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/GroupAchievementCustomListener.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/mq/GroupAchievementCustomListener.java @@ -48,12 +48,12 @@ public class GroupAchievementCustomListener implements MessageListenerConcurren private void consumeMessage(MessageExt messageExt) { logger.info("receive msg:{}", JSON.toJSONString(messageExt)); String msg = new String(messageExt.getBody()); - if (StringUtils.isBlank(msg)){ + + GroupAchievementMQMsg msgObj = JSON.parseObject(msg, GroupAchievementMQMsg.class); + if (msgObj == null){ log.warn("consumeMessage msg body is blank"); return; } - GroupAchievementMQMsg msgObj = JSON.parseObject(msg, GroupAchievementMQMsg.class); - DistributedLock distributedLock = null; RLock lock = null; From 4404c0a137d2a00594b38d3db9a14effd8e78893 Mon Sep 17 00:00:00 2001 From: jianjun Date: Sat, 8 May 2021 10:18:52 +0800 Subject: [PATCH 98/99] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=8F=8F=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/member/ResiGroupMemberDao.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/ResiGroupMemberDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/ResiGroupMemberDao.xml index 25341775cb..7fb542a465 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/ResiGroupMemberDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/ResiGroupMemberDao.xml @@ -191,6 +191,7 @@ ORDER BY rgm.CREATED_TIME DESC +