Browse Source

小组积分相关统计

dev_shibei_match
zhaoqifeng 5 years ago
parent
commit
dcb2ec8168
  1. 13
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/mq/eventmsg/BasePointEventMsg.java
  2. 101
      epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/BizPointTotalDetailDTO.java
  3. 106
      epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/BizPointUserTotalDetailDTO.java
  4. 43
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/BizPointTotalDetailDao.java
  5. 33
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/BizPointUserTotalDetailDao.java
  6. 71
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/entity/BizPointTotalDetailEntity.java
  7. 76
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/entity/BizPointUserTotalDetailEntity.java
  8. 105
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/BizPointTotalDetailService.java
  9. 117
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/BizPointUserTotalDetailService.java
  10. 115
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointTotalDetailServiceImpl.java
  11. 142
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointUserTotalDetailServiceImpl.java
  12. 51
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java
  13. 33
      epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/BizPointTotalDetailDao.xml
  14. 24
      epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/BizPointUserTotalDetailDao.xml
  15. 55
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/GroupMemeberOperationServiceImpl.java
  16. 25
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java
  17. 24
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicCommentServiceImpl.java
  18. 107
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java
  19. 37
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftServiceImpl.java

13
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 * 客户Id
*/ */
private String customerId; private String customerId;
/**
* 机关Id
*/
private String agencyId;
/**
* 网格Id
*/
private String gridId;
/** /**
* 被操作用户id * 被操作用户id
*/ */
@ -69,4 +80,6 @@ public class BasePointEventMsg implements Serializable {
private Date targetDate; private Date targetDate;
private String eventTag; private String eventTag;
private String eventClass;
} }

101
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
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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;
}

106
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
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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;
}

43
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
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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<BizPointTotalDetailEntity> {
/**
* 根据业务类型查找数据
* @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);
}

33
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
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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<BizPointUserTotalDetailEntity> {
}

71
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
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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;
}

76
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
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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;
}

105
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
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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<BizPointTotalDetailEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<BizPointTotalDetailDTO>
* @author generator
* @date 2021-04-20
*/
PageData<BizPointTotalDetailDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<BizPointTotalDetailDTO>
* @author generator
* @date 2021-04-20
*/
List<BizPointTotalDetailDTO> list(Map<String, Object> 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);
}

117
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
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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<BizPointUserTotalDetailEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<BizPointUserTotalDetailDTO>
* @author generator
* @date 2021-04-20
*/
PageData<BizPointUserTotalDetailDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<BizPointUserTotalDetailDTO>
* @author generator
* @date 2021-04-20
*/
List<BizPointUserTotalDetailDTO> list(Map<String, Object> 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);
}

115
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
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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<BizPointTotalDetailDao, BizPointTotalDetailEntity> implements BizPointTotalDetailService {
@Override
public PageData<BizPointTotalDetailDTO> page(Map<String, Object> params) {
IPage<BizPointTotalDetailEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, BizPointTotalDetailDTO.class);
}
@Override
public List<BizPointTotalDetailDTO> list(Map<String, Object> params) {
List<BizPointTotalDetailEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, BizPointTotalDetailDTO.class);
}
private QueryWrapper<BizPointTotalDetailEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
QueryWrapper<BizPointTotalDetailEntity> 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);
}
}

142
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
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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<BizPointUserTotalDetailDao, BizPointUserTotalDetailEntity> implements BizPointUserTotalDetailService {
@Override
public PageData<BizPointUserTotalDetailDTO> page(Map<String, Object> params) {
IPage<BizPointUserTotalDetailEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, BizPointUserTotalDetailDTO.class);
}
@Override
public List<BizPointUserTotalDetailDTO> list(Map<String, Object> params) {
List<BizPointUserTotalDetailEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, BizPointUserTotalDetailDTO.class);
}
private QueryWrapper<BizPointUserTotalDetailEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
QueryWrapper<BizPointUserTotalDetailEntity> 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<BizPointUserTotalDetailEntity> 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<BizPointUserTotalDetailEntity> 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();
}
}

51
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.utils.DateUtils;
import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dao.UserPointActionLogDao; import com.epmet.dao.UserPointActionLogDao;
import com.epmet.dto.BizPointTotalDetailDTO;
import com.epmet.dto.BizPointUserTotalDetailDTO;
import com.epmet.dto.UserPointActionLogDTO; import com.epmet.dto.UserPointActionLogDTO;
import com.epmet.dto.form.CommonPageUserFormDTO; import com.epmet.dto.form.CommonPageUserFormDTO;
import com.epmet.dto.result.ResiPointLogListResultDTO; import com.epmet.dto.result.ResiPointLogListResultDTO;
@ -39,9 +41,7 @@ import com.epmet.entity.PointRuleEntity;
import com.epmet.entity.UserPointActionLogEntity; import com.epmet.entity.UserPointActionLogEntity;
import com.epmet.entity.UserPointStatisticalDailyEntity; import com.epmet.entity.UserPointStatisticalDailyEntity;
import com.epmet.entity.UserPointTotalEntity; import com.epmet.entity.UserPointTotalEntity;
import com.epmet.service.UserPointActionLogService; import com.epmet.service.*;
import com.epmet.service.UserPointStatisticalDailyService;
import com.epmet.service.UserPointTotalService;
import com.epmet.utils.DimIdGenerator; import com.epmet.utils.DimIdGenerator;
import com.epmet.utils.ModuleConstant; import com.epmet.utils.ModuleConstant;
import com.epmet.utils.RuleCycleEnum; import com.epmet.utils.RuleCycleEnum;
@ -77,6 +77,10 @@ public class UserPointActionLogServiceImpl extends BaseServiceImpl<UserPointActi
private UserPointStatisticalDailyService userPointStatisticalDailyService; private UserPointStatisticalDailyService userPointStatisticalDailyService;
@Autowired @Autowired
private PointRuleServiceImpl pointRuleService; private PointRuleServiceImpl pointRuleService;
@Autowired
private BizPointTotalDetailService bizPointTotalDetailService;
@Autowired
private BizPointUserTotalDetailService bizPointUserTotalDetailService;
@Override @Override
public PageData<UserPointActionLogDTO> page(Map<String, Object> params) { public PageData<UserPointActionLogDTO> page(Map<String, Object> params) {
IPage<UserPointActionLogEntity> page = baseDao.selectPage( IPage<UserPointActionLogEntity> page = baseDao.selectPage(
@ -344,6 +348,47 @@ public class UserPointActionLogServiceImpl extends BaseServiceImpl<UserPointActi
point.setCreatedBy(StringUtils.isBlank(event.getOperatorId()) ? ModuleConstant.CREATED_BY_SYSTEM : event.getOperatorId()); point.setCreatedBy(StringUtils.isBlank(event.getOperatorId()) ? ModuleConstant.CREATED_BY_SYSTEM : event.getOperatorId());
point.setUpdatedBy(StringUtils.isBlank(event.getOperatorId()) ? ModuleConstant.CREATED_BY_SYSTEM : event.getOperatorId()); point.setUpdatedBy(StringUtils.isBlank(event.getOperatorId()) ? ModuleConstant.CREATED_BY_SYSTEM : event.getOperatorId());
userPointTotalService.insertOrUpdate(point); userPointTotalService.insertOrUpdate(point);
//
if (("resi_group").equals(event.getEventClass())) {
//2021.04.20 小组积分统计
//个人小组积分
BizPointUserTotalDetailDTO userTotalDetailDTO = bizPointUserTotalDetailService.getDataByObject("group", event.getSourceId(),
event.getUserId());
if (null == userTotalDetailDTO) {
userTotalDetailDTO = new BizPointUserTotalDetailDTO();
userTotalDetailDTO.setCustomerId(event.getCustomerId());
userTotalDetailDTO.setAgencyId(event.getAgencyId());
userTotalDetailDTO.setGridId(event.getGridId());
userTotalDetailDTO.setUserId(event.getUserId());
userTotalDetailDTO.setBizType("group");
userTotalDetailDTO.setObjectId(event.getSourceId());
userTotalDetailDTO.setTotalPoint(event.getPoint());
bizPointUserTotalDetailService.save(userTotalDetailDTO);
} else {
userTotalDetailDTO.setTotalPoint(userTotalDetailDTO.getTotalPoint() + event.getPoint());
userTotalDetailDTO.setUpdatedTime(new Date());
bizPointUserTotalDetailService.update(userTotalDetailDTO);
}
//小组总积分
BizPointTotalDetailDTO totalDetailDTO = bizPointTotalDetailService.getDataByObject("group", event.getSourceId());
Integer total = bizPointUserTotalDetailService.getTotalByObject("group", event.getSourceId());
if (null == totalDetailDTO) {
totalDetailDTO = new BizPointTotalDetailDTO();
totalDetailDTO.setCustomerId(event.getCustomerId());
totalDetailDTO.setAgencyId(event.getAgencyId());
totalDetailDTO.setGridId(event.getGridId());
totalDetailDTO.setBizType("group");
totalDetailDTO.setObjectId(event.getSourceId());
totalDetailDTO.setTotalPoint(total);
bizPointUserTotalDetailService.save(userTotalDetailDTO);
} else {
totalDetailDTO.setTotalPoint(total);
totalDetailDTO.setUpdatedTime(new Date());
bizPointUserTotalDetailService.update(userTotalDetailDTO);
}
}
}else{ }else{

33
epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/BizPointTotalDetailDao.xml

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.BizPointTotalDetailDao">
<resultMap type="com.epmet.entity.BizPointTotalDetailEntity" id="bizPointTotalDetailMap">
<result property="id" column="ID"/>
<result property="customerId" column="CUSTOMER_ID"/>
<result property="agencyId" column="AGENCY_ID"/>
<result property="gridId" column="GRID_ID"/>
<result property="bizType" column="BIZ_TYPE"/>
<result property="objectId" column="OBJECT_ID"/>
<result property="totalPoint" column="TOTAL_POINT"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<select id="selectDataByObject" resultType="com.epmet.dto.BizPointTotalDetailDTO">
select ID,
CUSTOMER_ID,
AGENCY_ID,
GRID_ID,
TOTAL_POINT
from biz_point_total_detail
where BIZ_TYPE = #{type}
and OBJECT_ID = #{objectId}
</select>
</mapper>

24
epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/BizPointUserTotalDetailDao.xml

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.BizPointUserTotalDetailDao">
<resultMap type="com.epmet.entity.BizPointUserTotalDetailEntity" id="bizPointUserTotalDetailMap">
<result property="id" column="ID"/>
<result property="customerId" column="CUSTOMER_ID"/>
<result property="agencyId" column="AGENCY_ID"/>
<result property="gridId" column="GRID_ID"/>
<result property="userId" column="USER_ID"/>
<result property="bizType" column="BIZ_TYPE"/>
<result property="objectId" column="OBJECT_ID"/>
<result property="totalPoint" column="TOTAL_POINT"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
</mapper>

55
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.commons.tools.utils.SendMqMsgUtils;
import com.epmet.dto.IssueShareLinkRecordDTO; import com.epmet.dto.IssueShareLinkRecordDTO;
import com.epmet.dto.IssueShareLinkVisitRecordDTO; import com.epmet.dto.IssueShareLinkVisitRecordDTO;
import com.epmet.dto.form.CommonGridIdFormDTO;
import com.epmet.dto.form.GetRoleKeyListFormDTO; import com.epmet.dto.form.GetRoleKeyListFormDTO;
import com.epmet.dto.result.CommonDataFilterResultDTO;
import com.epmet.dto.result.UserBaseInfoResultDTO; import com.epmet.dto.result.UserBaseInfoResultDTO;
import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.feign.GovIssueOpenFeignClient; import com.epmet.feign.GovIssueOpenFeignClient;
import com.epmet.modules.feign.GovOrgFeignClient;
import com.epmet.modules.group.dao.ResiGroupDao; import com.epmet.modules.group.dao.ResiGroupDao;
import com.epmet.modules.group.entity.ResiGroupEntity; import com.epmet.modules.group.entity.ResiGroupEntity;
import com.epmet.modules.group.redis.ResiGroupRedis; import com.epmet.modules.group.redis.ResiGroupRedis;
@ -114,6 +117,8 @@ public class GroupMemeberOperationServiceImpl extends BaseServiceImpl<GroupMemeb
private EpmetUserOpenFeignClient userClient; private EpmetUserOpenFeignClient userClient;
@Autowired @Autowired
private TopicShareLinkVisitRecordDao topicShareLinkVisitRecordDao; private TopicShareLinkVisitRecordDao topicShareLinkVisitRecordDao;
@Autowired
private GovOrgFeignClient govOrgFeignClient;
@Override @Override
public PageData<GroupMemeberOperationDTO> page(Map<String, Object> params) { public PageData<GroupMemeberOperationDTO> page(Map<String, Object> params) {
@ -279,11 +284,12 @@ public class GroupMemeberOperationServiceImpl extends BaseServiceImpl<GroupMemeb
groupMemeberOperation.setGroupInvitationId(param.getShareLinkId()); groupMemeberOperation.setGroupInvitationId(param.getShareLinkId());
groupMemeberOperation.setOperateUserId(param.getUserId()); groupMemeberOperation.setOperateUserId(param.getUserId());
ResiGroupMemberInfoRedisDTO memberInfo = memberRedis.get(groupId, inviter); ResiGroupMemberInfoRedisDTO memberInfo = memberRedis.get(groupId, inviter);
if(null != memberInfo && StringUtils.isNotBlank(memberInfo.getUserShowName())) if(null != memberInfo && StringUtils.isNotBlank(memberInfo.getUserShowName())) {
groupMemeberOperation.setOperateDes(String.format("通过%s的",memberInfo.getUserShowName()) groupMemeberOperation.setOperateDes(String.format("通过%s的",memberInfo.getUserShowName())
+ (StringUtils.equals("topic",param.getShareLinkType()) ? "话题" : "议题" )+ "分享加入小组"); + (StringUtils.equals("topic",param.getShareLinkType()) ? "话题" : "议题" )+ "分享加入小组");
else } else {
groupMemeberOperation.setOperateDes(StringUtils.equals("topic",param.getShareLinkType()) ? "通过话题分享申请入组" : "通过议题分享申请入组" ); groupMemeberOperation.setOperateDes(StringUtils.equals("topic",param.getShareLinkType()) ? "通过话题分享申请入组" : "通过议题分享申请入组" );
}
//入组审核开关是开启状态则需要组长审核 //入组审核开关是开启状态则需要组长审核
if (StringUtils.equals(GroupStateConstant.AUDIT_SWITCH_OPEN , resiGroupDTO.getAuditSwitch())) { if (StringUtils.equals(GroupStateConstant.AUDIT_SWITCH_OPEN , resiGroupDTO.getAuditSwitch())) {
groupMemeberOperation.setOperateStatus(MemberStateConstant.UNDER_AUDITTING); groupMemeberOperation.setOperateStatus(MemberStateConstant.UNDER_AUDITTING);
@ -308,17 +314,30 @@ public class GroupMemeberOperationServiceImpl extends BaseServiceImpl<GroupMemeb
log.error("【{}】该用户入组方式为话题分享链接入组,但未查询到链接访问记录,链接Id【{}】",param.getUserId(),param.getShareLinkId()); log.error("【{}】该用户入组方式为话题分享链接入组,但未查询到链接访问记录,链接Id【{}】",param.getUserId(),param.getShareLinkId());
throw new RenException("未找到链接访问记录"); throw new RenException("未找到链接访问记录");
} }
if(NumConstant.ZERO == record.getIsInviteRegister()) isNew = true; if(NumConstant.ZERO == record.getIsInviteRegister()) {
isNew = true;
}
}else{ }else{
Result<IssueShareLinkVisitRecordDTO> visitRecordResult = issueOpenFeignClient.visitRecord(param.getShareLinkId(), param.getUserId()); Result<IssueShareLinkVisitRecordDTO> visitRecordResult = issueOpenFeignClient.visitRecord(param.getShareLinkId(), param.getUserId());
if(!visitRecordResult.success() || null == visitRecordResult.getData()){ if(!visitRecordResult.success() || null == visitRecordResult.getData()){
log.error("【{}】该用户入组方式为议题分享链接入组,但未查询到链接访问记录,链接Id【{}】",param.getUserId(),param.getShareLinkId()); log.error("【{}】该用户入组方式为议题分享链接入组,但未查询到链接访问记录,链接Id【{}】",param.getUserId(),param.getShareLinkId());
throw new RenException("未找到链接访问记录"); throw new RenException("未找到链接访问记录");
} }
if(NumConstant.ZERO == visitRecordResult.getData().getIsInviteRegister()) isNew = true; if(NumConstant.ZERO == visitRecordResult.getData().getIsInviteRegister()) {
isNew = true;
}
} }
if(StringUtils.isNotBlank(inviter)){ if(StringUtils.isNotBlank(inviter)){
CommonGridIdFormDTO dataFilterParam = new CommonGridIdFormDTO();
dataFilterParam.setGridId(resiGroupDTO.getGridId());
dataFilterParam.setUserId(param.getUserId());
Result<CommonDataFilterResultDTO> dataFilterResult = govOrgFeignClient.gridDataFilter(dataFilterParam);
if (!dataFilterResult.success() || null == dataFilterResult.getData()) {
throw new RenException(dataFilterResult.getMsg());
}
//mq的事件类型 //mq的事件类型
MqBaseMsgDTO mqBaseMsgDTO = new MqBaseMsgDTO(); MqBaseMsgDTO mqBaseMsgDTO = new MqBaseMsgDTO();
//事件code //事件code
@ -327,11 +346,15 @@ public class GroupMemeberOperationServiceImpl extends BaseServiceImpl<GroupMemeb
List<BasePointEventMsg> pointEventMsgList = new ArrayList<>(); List<BasePointEventMsg> pointEventMsgList = new ArrayList<>();
BasePointEventMsg pointEventMsg = new BasePointEventMsg(); BasePointEventMsg pointEventMsg = new BasePointEventMsg();
pointEventMsg.setCustomerId(resiGroupDTO.getCustomerId()); pointEventMsg.setCustomerId(resiGroupDTO.getCustomerId());
pointEventMsg.setAgencyId(dataFilterResult.getData().getAgencyId());
pointEventMsg.setGridId(resiGroupDTO.getGridId());
pointEventMsg.setSourceId(groupId);
pointEventMsg.setUserId(inviter); pointEventMsg.setUserId(inviter);
pointEventMsg.setActionFlag(MqConstant.PLUS); pointEventMsg.setActionFlag(MqConstant.PLUS);
pointEventMsg.setIsCommon(false); pointEventMsg.setIsCommon(false);
pointEventMsg.setTargetDate(current); pointEventMsg.setTargetDate(current);
pointEventMsg.setEventTag(mqBaseMsgDTO.getEventTag()); pointEventMsg.setEventTag(mqBaseMsgDTO.getEventTag());
pointEventMsg.setEventClass(mqBaseMsgDTO.getEventClass());
//pointEventMsg.setRemark("通过".concat(StringUtils.equals(param.getShareLinkType(),"topic") //pointEventMsg.setRemark("通过".concat(StringUtils.equals(param.getShareLinkType(),"topic")
// ? "话题":"议题").concat("分享链接邀请").concat(isNew ? "新" : "").concat("用户进组")); // ? "话题":"议题").concat("分享链接邀请").concat(isNew ? "新" : "").concat("用户进组"));
@ -378,15 +401,21 @@ public class GroupMemeberOperationServiceImpl extends BaseServiceImpl<GroupMemeb
groupCache.getGroupStatisticalInfo().setTotalMembers( groupCache.getGroupStatisticalInfo().setTotalMembers(
null == groupCache.getGroupStatisticalInfo().getTotalMembers() ? NumConstant.TWO : groupCache.getGroupStatisticalInfo().getTotalMembers() +NumConstant.ONE null == groupCache.getGroupStatisticalInfo().getTotalMembers() ? NumConstant.TWO : groupCache.getGroupStatisticalInfo().getTotalMembers() +NumConstant.ONE
); );
if(StringUtils.equals(userRoleDTO.getPartymemberFlag(),NumConstant.ONE_STR)) groupCache.getGroupStatisticalInfo().setTotalPartyMembers( if(StringUtils.equals(userRoleDTO.getPartymemberFlag(),NumConstant.ONE_STR)) {
null == groupCache.getGroupStatisticalInfo().getTotalPartyMembers() ? NumConstant.ONE : groupCache.getGroupStatisticalInfo().getTotalPartyMembers()+NumConstant.ONE groupCache.getGroupStatisticalInfo().setTotalPartyMembers(
); null == groupCache.getGroupStatisticalInfo().getTotalPartyMembers() ? NumConstant.ONE : groupCache.getGroupStatisticalInfo().getTotalPartyMembers()+NumConstant.ONE
if(StringUtils.equals(userRoleDTO.getRegisteredResiFlag(),NumConstant.ONE_STR)) groupCache.getGroupStatisticalInfo().setTotalNormalMembers( );
null == groupCache.getGroupStatisticalInfo().getTotalNormalMembers() ? NumConstant.TWO : groupCache.getGroupStatisticalInfo().getTotalNormalMembers()+NumConstant.ONE }
); if(StringUtils.equals(userRoleDTO.getRegisteredResiFlag(),NumConstant.ONE_STR)) {
if(StringUtils.equals(userRoleDTO.getWarmHeartedFlag(),NumConstant.ONE_STR)) groupCache.getGroupStatisticalInfo().setTotalEarnestMembers( groupCache.getGroupStatisticalInfo().setTotalNormalMembers(
null == groupCache.getGroupStatisticalInfo().getTotalEarnestMembers() ? NumConstant.ONE : groupCache.getGroupStatisticalInfo().getTotalEarnestMembers()+NumConstant.ONE null == groupCache.getGroupStatisticalInfo().getTotalNormalMembers() ? NumConstant.TWO : groupCache.getGroupStatisticalInfo().getTotalNormalMembers()+NumConstant.ONE
); );
}
if(StringUtils.equals(userRoleDTO.getWarmHeartedFlag(),NumConstant.ONE_STR)) {
groupCache.getGroupStatisticalInfo().setTotalEarnestMembers(
null == groupCache.getGroupStatisticalInfo().getTotalEarnestMembers() ? NumConstant.ONE : groupCache.getGroupStatisticalInfo().getTotalEarnestMembers()+NumConstant.ONE
);
}
groupRedis.set(groupCache); groupRedis.set(groupCache);
} }
//发送消息 //发送消息

25
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java

@ -34,6 +34,8 @@ import com.epmet.commons.tools.utils.SendMqMsgUtils;
import com.epmet.constant.ReadFlagConstant; import com.epmet.constant.ReadFlagConstant;
import com.epmet.dto.IssueShareLinkVisitRecordDTO; import com.epmet.dto.IssueShareLinkVisitRecordDTO;
import com.epmet.dto.form.*; import com.epmet.dto.form.*;
import com.epmet.dto.form.CommonGridIdFormDTO;
import com.epmet.dto.result.CommonDataFilterResultDTO;
import com.epmet.dto.result.UserBaseInfoResultDTO; import com.epmet.dto.result.UserBaseInfoResultDTO;
import com.epmet.dto.result.UserResiInfoResultDTO; import com.epmet.dto.result.UserResiInfoResultDTO;
import com.epmet.feign.EpmetMessageOpenFeignClient; import com.epmet.feign.EpmetMessageOpenFeignClient;
@ -42,6 +44,7 @@ import com.epmet.feign.GovIssueOpenFeignClient;
import com.epmet.modules.constant.GroupMemberConstant; import com.epmet.modules.constant.GroupMemberConstant;
import com.epmet.modules.constant.UserMessageConstant; import com.epmet.modules.constant.UserMessageConstant;
import com.epmet.modules.feign.EpmetUserFeignClient; import com.epmet.modules.feign.EpmetUserFeignClient;
import com.epmet.modules.feign.GovOrgFeignClient;
import com.epmet.modules.group.dao.ResiGroupDao; import com.epmet.modules.group.dao.ResiGroupDao;
import com.epmet.modules.group.entity.ResiGroupEntity; import com.epmet.modules.group.entity.ResiGroupEntity;
import com.epmet.modules.group.redis.ResiGroupRedis; import com.epmet.modules.group.redis.ResiGroupRedis;
@ -130,6 +133,8 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl<ResiGroupMemberD
private GovIssueOpenFeignClient issueClient; private GovIssueOpenFeignClient issueClient;
@Autowired @Autowired
private TopicShareLinkVisitRecordService topicShareLinkVisitRecordService; private TopicShareLinkVisitRecordService topicShareLinkVisitRecordService;
@Autowired
private GovOrgFeignClient govOrgFeignClient;
@Override @Override
public PageData<ResiGroupMemberDTO> page(Map<String, Object> params) { public PageData<ResiGroupMemberDTO> page(Map<String, Object> params) {
@ -543,7 +548,9 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl<ResiGroupMemberD
logger.error("【{}】该用户入组方式为话题分享链接入组,但未查询到链接访问记录,链接Id【{}】",groupMemeberOperationDTO.getCustomerUserId(),groupMemeberOperationDTO.getGroupInvitationId()); logger.error("【{}】该用户入组方式为话题分享链接入组,但未查询到链接访问记录,链接Id【{}】",groupMemeberOperationDTO.getCustomerUserId(),groupMemeberOperationDTO.getGroupInvitationId());
return; return;
} }
if(NumConstant.ZERO == visitRecord.getIsInviteRegister()) isNew = true; if(NumConstant.ZERO == visitRecord.getIsInviteRegister()) {
isNew = true;
}
inviter = visitRecord.getShareUserId(); inviter = visitRecord.getShareUserId();
}else if(StringUtils.equals(groupMemeberOperationDTO.getEnterGroupType(),ModuleConstant.ENTER_GROUP_TYPE_ISSUE_LINK)){ }else if(StringUtils.equals(groupMemeberOperationDTO.getEnterGroupType(),ModuleConstant.ENTER_GROUP_TYPE_ISSUE_LINK)){
Result<IssueShareLinkVisitRecordDTO> response = issueClient.visitRecord(groupMemeberOperationDTO.getGroupInvitationId(), groupMemeberOperationDTO.getCustomerUserId()); Result<IssueShareLinkVisitRecordDTO> response = issueClient.visitRecord(groupMemeberOperationDTO.getGroupInvitationId(), groupMemeberOperationDTO.getCustomerUserId());
@ -552,7 +559,9 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl<ResiGroupMemberD
logger.error("【{}】该用户入组方式为议题分享链接入组,但并不是通过该链接发起的入群申请,链接Id【{}】",groupMemeberOperationDTO.getCustomerUserId(),groupMemeberOperationDTO.getGroupInvitationId()); logger.error("【{}】该用户入组方式为议题分享链接入组,但并不是通过该链接发起的入群申请,链接Id【{}】",groupMemeberOperationDTO.getCustomerUserId(),groupMemeberOperationDTO.getGroupInvitationId());
return; return;
} }
if(NumConstant.ZERO == response.getData().getIsInviteRegister()) isNew = true; if(NumConstant.ZERO == response.getData().getIsInviteRegister()) {
isNew = true;
}
inviter = response.getData().getShareUserId(); inviter = response.getData().getShareUserId();
}else{ }else{
logger.error("【{}】该用户入组方式为议题分享链接入组,但未查询到链接访问记录,链接Id【{}】",groupMemeberOperationDTO.getCustomerUserId(),groupMemeberOperationDTO.getGroupInvitationId()); logger.error("【{}】该用户入组方式为议题分享链接入组,但未查询到链接访问记录,链接Id【{}】",groupMemeberOperationDTO.getCustomerUserId(),groupMemeberOperationDTO.getGroupInvitationId());
@ -560,6 +569,15 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl<ResiGroupMemberD
} }
} }
if(StringUtils.isNotBlank(inviter)){ if(StringUtils.isNotBlank(inviter)){
CommonGridIdFormDTO dataFilterParam = new CommonGridIdFormDTO();
dataFilterParam.setGridId(groupCache.getGridId());
dataFilterParam.setUserId(inviter);
Result<CommonDataFilterResultDTO> dataFilterResult = govOrgFeignClient.gridDataFilter(dataFilterParam);
if (!dataFilterResult.success() || null == dataFilterResult.getData()) {
throw new RenException(dataFilterResult.getMsg());
}
//mq的事件类型 //mq的事件类型
MqBaseMsgDTO mqBaseMsgDTO = new MqBaseMsgDTO(); MqBaseMsgDTO mqBaseMsgDTO = new MqBaseMsgDTO();
mqBaseMsgDTO.setEventClass("resi_group"); mqBaseMsgDTO.setEventClass("resi_group");
@ -568,6 +586,9 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl<ResiGroupMemberD
List<BasePointEventMsg> pointEventMsgList = new ArrayList<>(); List<BasePointEventMsg> pointEventMsgList = new ArrayList<>();
BasePointEventMsg pointEventMsg = new BasePointEventMsg(); BasePointEventMsg pointEventMsg = new BasePointEventMsg();
pointEventMsg.setCustomerId(groupCache.getCustomerId()); pointEventMsg.setCustomerId(groupCache.getCustomerId());
pointEventMsg.setAgencyId(dataFilterResult.getData().getAgencyId());
pointEventMsg.setGridId(groupCache.getGridId());
pointEventMsg.setSourceId(groupCache.getGroupId());
pointEventMsg.setUserId(inviter); pointEventMsg.setUserId(inviter);
pointEventMsg.setActionFlag(MqConstant.PLUS); pointEventMsg.setActionFlag(MqConstant.PLUS);
pointEventMsg.setIsCommon(false); pointEventMsg.setIsCommon(false);

24
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.Result;
import com.epmet.commons.tools.utils.ScanContentUtils; import com.epmet.commons.tools.utils.ScanContentUtils;
import com.epmet.commons.tools.utils.SendMqMsgUtils; import com.epmet.commons.tools.utils.SendMqMsgUtils;
import com.epmet.dto.form.CommonGridIdFormDTO;
import com.epmet.dto.form.UserResiInfoListFormDTO; import com.epmet.dto.form.UserResiInfoListFormDTO;
import com.epmet.dto.result.CommonDataFilterResultDTO;
import com.epmet.dto.result.UserResiInfoResultDTO; import com.epmet.dto.result.UserResiInfoResultDTO;
import com.epmet.modules.comment.entity.ResiTopicCommentEntity; import com.epmet.modules.comment.entity.ResiTopicCommentEntity;
import com.epmet.modules.constant.ResiGroupRedisKeys; import com.epmet.modules.constant.ResiGroupRedisKeys;
import com.epmet.modules.constant.WxmpSubscribeConstant; import com.epmet.modules.constant.WxmpSubscribeConstant;
import com.epmet.modules.feign.EpmetUserFeignClient; import com.epmet.modules.feign.EpmetUserFeignClient;
import com.epmet.modules.feign.GovOrgFeignClient;
import com.epmet.modules.group.redis.ResiGroupRedis; import com.epmet.modules.group.redis.ResiGroupRedis;
import com.epmet.modules.member.dao.ResiGroupMemberDao; import com.epmet.modules.member.dao.ResiGroupMemberDao;
import com.epmet.modules.member.redis.ResiGroupMemberRedis; 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.constant.TopicConstant;
import com.epmet.resi.group.dto.comment.form.ResiQueryCommentFormDTO; import com.epmet.resi.group.dto.comment.form.ResiQueryCommentFormDTO;
import com.epmet.resi.group.dto.comment.result.ResiCommentResultDTO; 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.ResiGroupMemberDTO;
import com.epmet.resi.group.dto.member.ResiGroupMemberInfoRedisDTO; import com.epmet.resi.group.dto.member.ResiGroupMemberInfoRedisDTO;
import com.epmet.resi.group.dto.member.result.ResiGroupMemberInfoRedisResultDTO; import com.epmet.resi.group.dto.member.result.ResiGroupMemberInfoRedisResultDTO;
@ -112,6 +116,8 @@ public class ResiTopicCommentServiceImpl extends BaseServiceImpl<ResiTopicCommen
@Autowired @Autowired
LoginUserUtil loginUserUtil; LoginUserUtil loginUserUtil;
@Autowired
private GovOrgFeignClient govOrgFeignClient;
@Value("${openapi.scan.server.url}") @Value("${openapi.scan.server.url}")
private String scanApiUrl; private String scanApiUrl;
@ -253,12 +259,26 @@ public class ResiTopicCommentServiceImpl extends BaseServiceImpl<ResiTopicCommen
if (StringUtils.isBlank(customerId)){ if (StringUtils.isBlank(customerId)){
throw new RenException(TopicConstant.GET_CUSTOMER_ID_FAILURE); throw new RenException(TopicConstant.GET_CUSTOMER_ID_FAILURE);
} }
ResiGroupInfoRedisDTO groupCache = groupRedis.get(topic.getGroupId());
CommonGridIdFormDTO dataFilterParam = new CommonGridIdFormDTO();
dataFilterParam.setGridId(groupCache.getGridId());
dataFilterParam.setUserId(tokenDto.getUserId());
Result<CommonDataFilterResultDTO> dataFilterResult = govOrgFeignClient.gridDataFilter(dataFilterParam);
if (!dataFilterResult.success() || null == dataFilterResult.getData()) {
throw new RenException(dataFilterResult.getMsg());
}
pointEventMsg.setCustomerId(customerId); pointEventMsg.setCustomerId(customerId);
pointEventMsg.setAgencyId(dataFilterResult.getData().getAgencyId());
pointEventMsg.setGridId(groupCache.getGridId());
pointEventMsg.setSourceId(topic.getGroupId());
pointEventMsg.setUserId(tokenDto.getUserId()); pointEventMsg.setUserId(tokenDto.getUserId());
// 加分 // 加分
pointEventMsg.setActionFlag(MqConstant.PLUS); pointEventMsg.setActionFlag(MqConstant.PLUS);
pointEventMsg.setIsCommon(false); pointEventMsg.setIsCommon(false);
pointEventMsg.setEventTag(mqBaseMsgDTO.getEventTag()); pointEventMsg.setEventTag(mqBaseMsgDTO.getEventTag());
pointEventMsg.setEventClass(mqBaseMsgDTO.getEventClass());
//某某小组中评论话题“某某某…” //某某小组中评论话题“某某某…”
StringBuilder builder = new StringBuilder(groupRedis.get(topic.getGroupId()).getGroupName()).append("小组中评论"); StringBuilder builder = new StringBuilder(groupRedis.get(topic.getGroupId()).getGroupName()).append("小组中评论");
String content = CharMatcher.WHITESPACE.trimFrom(topic.getTopicContent()); String content = CharMatcher.WHITESPACE.trimFrom(topic.getTopicContent());
@ -270,7 +290,9 @@ public class ResiTopicCommentServiceImpl extends BaseServiceImpl<ResiTopicCommen
(content.substring(NumConstant.ZERO,NumConstant.TEN) + "…") : (content.substring(NumConstant.ZERO,NumConstant.TEN) + "…") :
content); content);
builder.append("\""); builder.append("\"");
}else builder.append("语音话题"); }else {
builder.append("语音话题");
}
pointEventMsg.setRemark(builder.toString()); pointEventMsg.setRemark(builder.toString());
pointEventMsgList.add(pointEventMsg); pointEventMsgList.add(pointEventMsg);

107
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java

@ -391,6 +391,7 @@ public class ResiTopicServiceImpl extends BaseServiceImpl<ResiTopicDao, ResiTopi
// 查询此人今日发表话题数量 // 查询此人今日发表话题数量
Integer publishTopicCount = baseDao.selectPublishTopicCountByUserId(tokenDto.getUserId()); Integer publishTopicCount = baseDao.selectPublishTopicCountByUserId(tokenDto.getUserId());
if (null != publishTopicCount && publishTopicCount <= NumConstant.THREE){ if (null != publishTopicCount && publishTopicCount <= NumConstant.THREE){
//mq的事件类型 //mq的事件类型
MqBaseMsgDTO mqBaseMsgDTO = new MqBaseMsgDTO(); MqBaseMsgDTO mqBaseMsgDTO = new MqBaseMsgDTO();
mqBaseMsgDTO.setEventClass(EventEnum.PUBLISH_ONE_TOPIC.getEventClass()); mqBaseMsgDTO.setEventClass(EventEnum.PUBLISH_ONE_TOPIC.getEventClass());
@ -404,13 +405,29 @@ public class ResiTopicServiceImpl extends BaseServiceImpl<ResiTopicDao, ResiTopi
if (null == resiGroupEntity){ if (null == resiGroupEntity){
throw new RenException(TopicConstant.GROUP_INFO_FAILURE); throw new RenException(TopicConstant.GROUP_INFO_FAILURE);
} }
pointEventMsg.setCustomerId(resiGroupEntity.getCustomerId());
pointEventMsg.setGridId(resiGroupEntity.getGridId());
pointEventMsg.setSourceId(resiGroupEntity.getId());
} else {
pointEventMsg.setCustomerId(resiGroupInfoRedisDTO.getCustomerId()); pointEventMsg.setCustomerId(resiGroupInfoRedisDTO.getCustomerId());
pointEventMsg.setGridId(resiGroupInfoRedisDTO.getGridId());
pointEventMsg.setSourceId(resiGroupInfoRedisDTO.getGroupId());
}
CommonGridIdFormDTO dataFilterParam = new CommonGridIdFormDTO();
dataFilterParam.setGridId(pointEventMsg.getGridId());
dataFilterParam.setUserId(tokenDto.getUserId());
Result<CommonDataFilterResultDTO> 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.setUserId(tokenDto.getUserId());
// 加分 // 加分
pointEventMsg.setActionFlag(MqConstant.PLUS); pointEventMsg.setActionFlag(MqConstant.PLUS);
pointEventMsg.setIsCommon(false); pointEventMsg.setIsCommon(false);
pointEventMsg.setEventTag(mqBaseMsgDTO.getEventTag()); pointEventMsg.setEventTag(mqBaseMsgDTO.getEventTag());
pointEventMsg.setEventClass(mqBaseMsgDTO.getEventClass());
pointEventMsgList.add(pointEventMsg); pointEventMsgList.add(pointEventMsg);
mqBaseMsgDTO.setMsg(JSON.toJSONString(pointEventMsgList)); mqBaseMsgDTO.setMsg(JSON.toJSONString(pointEventMsgList));
@ -708,6 +725,15 @@ public class ResiTopicServiceImpl extends BaseServiceImpl<ResiTopicDao, ResiTopi
if (TopicConstant.RESOLVED.equals(closeFormDTO.getClosedStatus())) { if (TopicConstant.RESOLVED.equals(closeFormDTO.getClosedStatus())) {
ResiGroupInfoRedisDTO groupCache = resiGroupRedis.get(topic.getGroupId()); ResiGroupInfoRedisDTO groupCache = resiGroupRedis.get(topic.getGroupId());
CommonGridIdFormDTO dataFilterParam = new CommonGridIdFormDTO();
dataFilterParam.setGridId(groupCache.getGridId());
dataFilterParam.setUserId(tokenDto.getUserId());
Result<CommonDataFilterResultDTO> dataFilterResult = govOrgFeignClient.gridDataFilter(dataFilterParam);
if (!dataFilterResult.success() || null == dataFilterResult.getData()) {
throw new RenException(dataFilterResult.getMsg());
}
//mq的事件类型 //mq的事件类型
MqBaseMsgDTO mqBaseMsgDTO = new MqBaseMsgDTO(); MqBaseMsgDTO mqBaseMsgDTO = new MqBaseMsgDTO();
mqBaseMsgDTO.setEventClass("resi_group"); mqBaseMsgDTO.setEventClass("resi_group");
@ -717,20 +743,24 @@ public class ResiTopicServiceImpl extends BaseServiceImpl<ResiTopicDao, ResiTopi
BasePointEventMsg pointEventMsg = new BasePointEventMsg(); BasePointEventMsg pointEventMsg = new BasePointEventMsg();
pointEventMsg.setCustomerId(tokenDto.getCustomerId()); pointEventMsg.setCustomerId(tokenDto.getCustomerId());
pointEventMsg.setAgencyId(dataFilterResult.getData().getAgencyId());
pointEventMsg.setGridId(groupCache.getGridId());
pointEventMsg.setSourceId(groupCache.getGroupId());
pointEventMsg.setUserId(tokenDto.getUserId()); pointEventMsg.setUserId(tokenDto.getUserId());
pointEventMsg.setActionFlag(MqConstant.PLUS); pointEventMsg.setActionFlag(MqConstant.PLUS);
pointEventMsg.setIsCommon(false); pointEventMsg.setIsCommon(false);
pointEventMsg.setEventTag(EventEnum.LEADER_RESOLVE_TOPIC.getEventTag()); pointEventMsg.setEventTag(EventEnum.LEADER_RESOLVE_TOPIC.getEventTag());
pointEventMsg.setEventClass(EventEnum.LEADER_RESOLVE_TOPIC.getEventClass());
//将话题“某某某…” (前十个字后面省略号) 转为议题 //将话题“某某某…” (前十个字后面省略号) 转为议题
String content = CharMatcher.WHITESPACE.trimFrom(topic.getTopicContent()); String content = CharMatcher.WHITESPACE.trimFrom(topic.getTopicContent());
pointEventMsg.setRemark(groupCache.getGroupName() + "小组中发布的" + pointEventMsg.setRemark(
(StringUtils.isBlank(content) (StringUtils.isBlank(content)
|| StringUtils.equals("语音话题", content) ? "语音话题" : || StringUtils.equals("语音话题", content) ? "语音话题" :
"话题\"" + "话题\"" +
content content
.substring(NumConstant.ZERO, content.length() < NumConstant.TEN ? content.length() : NumConstant.TEN) .substring(NumConstant.ZERO, content.length() < NumConstant.TEN ? content.length() : NumConstant.TEN)
+ (NumConstant.TEN > content.length() ? "\"" : "…\"")) + + (NumConstant.TEN > content.length() ? "\"" : "…\"")) +
"解决"); "已被解决");
pointEventMsgList.add(pointEventMsg); pointEventMsgList.add(pointEventMsg);
mqBaseMsgDTO.setMsg(JSON.toJSONString(pointEventMsgList)); mqBaseMsgDTO.setMsg(JSON.toJSONString(pointEventMsgList));
@ -855,8 +885,12 @@ public class ResiTopicServiceImpl extends BaseServiceImpl<ResiTopicDao, ResiTopi
if(null == groupEntity || StringUtils.isBlank(groupEntity.getCustomerId())){ if(null == groupEntity || StringUtils.isBlank(groupEntity.getCustomerId())){
log.error("com.epmet.modules.topic.service.impl.ResiTopicServiceImpl.getTopicDetail,获取不到组信息,话题Id:{}小组Id:{}",topicId,topicDetail.getGroupId()); log.error("com.epmet.modules.topic.service.impl.ResiTopicServiceImpl.getTopicDetail,获取不到组信息,话题Id:{}小组Id:{}",topicId,topicDetail.getGroupId());
throw new RenException(ModuleConstant.NO_SUCH_GROUP); throw new RenException(ModuleConstant.NO_SUCH_GROUP);
}else customerId = groupEntity.getCustomerId(); }else {
}else customerId = groupCache.getCustomerId(); customerId = groupEntity.getCustomerId();
}
}else {
customerId = groupCache.getCustomerId();
}
Result<Map<String, List<UserBadgeUnitFormDTO>>> badgeR Result<Map<String, List<UserBadgeUnitFormDTO>>> badgeR
= userOpenFeignClient.userShowBadge(new UserGroupFormDTO(customerId, userId)); = userOpenFeignClient.userShowBadge(new UserGroupFormDTO(customerId, userId));
@ -867,7 +901,9 @@ public class ResiTopicServiceImpl extends BaseServiceImpl<ResiTopicDao, ResiTopi
Collections.EMPTY_LIST: Collections.EMPTY_LIST:
badgeR.getData().get(topicDetail.getCreatedBy()).stream().map(UserBadgeUnitFormDTO :: getBadgeIcon).collect(Collectors.toList()) badgeR.getData().get(topicDetail.getCreatedBy()).stream().map(UserBadgeUnitFormDTO :: getBadgeIcon).collect(Collectors.toList())
); );
}else resultDTO.setBadgeList(Collections.EMPTY_LIST); }else {
resultDTO.setBadgeList(Collections.EMPTY_LIST);
}
return new Result<ResiTopicIncludeIssueDetailResultDTO>().ok(resultDTO); return new Result<ResiTopicIncludeIssueDetailResultDTO>().ok(resultDTO);
} }
@ -1649,7 +1685,9 @@ public class ResiTopicServiceImpl extends BaseServiceImpl<ResiTopicDao, ResiTopi
if (operationResult != NumConstant.ONE) { if (operationResult != NumConstant.ONE) {
logger.warn(ModuleConstant.FAILURE_TO_ADD_TOPIC_OPERATION); logger.warn(ModuleConstant.FAILURE_TO_ADD_TOPIC_OPERATION);
} }
} else logger.warn(ModuleConstant.FAILURE_TO_UPDATE_TOPIC); } else {
logger.warn(ModuleConstant.FAILURE_TO_UPDATE_TOPIC);
}
//7.更新组统计信息 议题数量+1 //7.更新组统计信息 议题数量+1
resiGroupStatisticalDao.incryTotalIssues(group.getGroupId()); resiGroupStatisticalDao.incryTotalIssues(group.getGroupId());
if (null != groupCache && null != groupCache.getGroupStatisticalInfo()) { if (null != groupCache && null != groupCache.getGroupStatisticalInfo()) {
@ -1674,10 +1712,14 @@ public class ResiTopicServiceImpl extends BaseServiceImpl<ResiTopicDao, ResiTopi
BasePointEventMsg pointEventMsg = new BasePointEventMsg(); BasePointEventMsg pointEventMsg = new BasePointEventMsg();
pointEventMsg.setCustomerId(groupCache.getCustomerId()); pointEventMsg.setCustomerId(groupCache.getCustomerId());
pointEventMsg.setAgencyId(dataFilterResult.getData().getAgencyId());
pointEventMsg.setGridId(group.getGridId());
pointEventMsg.setSourceId(group.getGroupId());
pointEventMsg.setUserId(group.getTopicAuthorId()); pointEventMsg.setUserId(group.getTopicAuthorId());
pointEventMsg.setActionFlag(MqConstant.PLUS); pointEventMsg.setActionFlag(MqConstant.PLUS);
pointEventMsg.setIsCommon(false); pointEventMsg.setIsCommon(false);
pointEventMsg.setEventTag(EventEnum.TOPIC_SHIFTED_TO_ISSUE.getEventTag()); pointEventMsg.setEventTag(EventEnum.TOPIC_SHIFTED_TO_ISSUE.getEventTag());
pointEventMsg.setEventClass(EventEnum.TOPIC_SHIFTED_TO_ISSUE.getEventClass());
//某某小组中发布的话题“某某某…” (前十个字后面省略号) 被转为议题 //某某小组中发布的话题“某某某…” (前十个字后面省略号) 被转为议题
String content = CharMatcher.WHITESPACE.trimFrom(topic.getTopicContent()); String content = CharMatcher.WHITESPACE.trimFrom(topic.getTopicContent());
pointEventMsg.setRemark(new StringBuilder(groupCache.getGroupName()).append("小组中发布的") pointEventMsg.setRemark(new StringBuilder(groupCache.getGroupName()).append("小组中发布的")
@ -1694,6 +1736,9 @@ public class ResiTopicServiceImpl extends BaseServiceImpl<ResiTopicDao, ResiTopi
//2.转话题为议题 组长 //2.转话题为议题 组长
BasePointEventMsg pointEventMsg2 = new BasePointEventMsg(); BasePointEventMsg pointEventMsg2 = new BasePointEventMsg();
pointEventMsg2.setCustomerId(groupCache.getCustomerId()); pointEventMsg2.setCustomerId(groupCache.getCustomerId());
pointEventMsg2.setAgencyId(dataFilterResult.getData().getAgencyId());
pointEventMsg2.setGridId(group.getGridId());
pointEventMsg.setSourceId(group.getGroupId());
pointEventMsg2.setUserId(topicTurnIssueFromDTO.getUserId()); pointEventMsg2.setUserId(topicTurnIssueFromDTO.getUserId());
pointEventMsg2.setActionFlag(MqConstant.PLUS); pointEventMsg2.setActionFlag(MqConstant.PLUS);
pointEventMsg2.setIsCommon(false); pointEventMsg2.setIsCommon(false);
@ -1716,7 +1761,9 @@ public class ResiTopicServiceImpl extends BaseServiceImpl<ResiTopicDao, ResiTopi
ValidatorUtils.validateEntity(result, FirstTopicShiftedToIssueApplicationResultDTO.AllowAuditionGroup.class); ValidatorUtils.validateEntity(result, FirstTopicShiftedToIssueApplicationResultDTO.AllowAuditionGroup.class);
} }
}else throw new RenException(dataFilterResult.getMsg()); }else {
throw new RenException(dataFilterResult.getMsg());
}
return result; return result;
@ -1733,12 +1780,18 @@ public class ResiTopicServiceImpl extends BaseServiceImpl<ResiTopicDao, ResiTopi
public IssueShiftedFromTopicFormDTO getIssueInfoWhenAudit(ResiTopicTurnIssueFromDTO param) { public IssueShiftedFromTopicFormDTO getIssueInfoWhenAudit(ResiTopicTurnIssueFromDTO param) {
ResiTopicAndGroupResultDTO group = baseDao.getGroupInfoByTopicId(param.getTopicId()); ResiTopicAndGroupResultDTO group = baseDao.getGroupInfoByTopicId(param.getTopicId());
if (null == group) throw new RenException(ModuleConstant.QUERY_GROUPINFO_FAILED); if (null == group) {
throw new RenException(ModuleConstant.QUERY_GROUPINFO_FAILED);
}
ResiTopicEntity topic = resiTopicDao.selectById(param.getTopicId()); ResiTopicEntity topic = resiTopicDao.selectById(param.getTopicId());
if (null == topic) throw new RenException(ModuleConstant.NO_SUCH_TOPIC); if (null == topic) {
throw new RenException(ModuleConstant.NO_SUCH_TOPIC);
}
if (topic.getShiftIssue()) throw new RenException(ModuleConstant.ALREADY_SHIFT_ISSUE); if (topic.getShiftIssue()) {
throw new RenException(ModuleConstant.ALREADY_SHIFT_ISSUE);
}
IssueShiftedFromTopicFormDTO issueInfo = ConvertUtils.sourceToTarget(param, IssueShiftedFromTopicFormDTO.class); IssueShiftedFromTopicFormDTO issueInfo = ConvertUtils.sourceToTarget(param, IssueShiftedFromTopicFormDTO.class);
@ -1784,7 +1837,9 @@ public class ResiTopicServiceImpl extends BaseServiceImpl<ResiTopicDao, ResiTopi
if (operationResult != NumConstant.ONE) { if (operationResult != NumConstant.ONE) {
logger.warn(ModuleConstant.FAILURE_TO_ADD_TOPIC_OPERATION); logger.warn(ModuleConstant.FAILURE_TO_ADD_TOPIC_OPERATION);
} }
} else logger.warn(ModuleConstant.FAILURE_TO_UPDATE_TOPIC); } else {
logger.warn(ModuleConstant.FAILURE_TO_UPDATE_TOPIC);
}
//7.更新组统计信息 议题数量+1 //7.更新组统计信息 议题数量+1
resiGroupStatisticalDao.incryTotalIssues(group.getGroupId()); resiGroupStatisticalDao.incryTotalIssues(group.getGroupId());
if (null != groupCache && null != groupCache.getGroupStatisticalInfo()) { if (null != groupCache && null != groupCache.getGroupStatisticalInfo()) {
@ -1794,9 +1849,13 @@ public class ResiTopicServiceImpl extends BaseServiceImpl<ResiTopicDao, ResiTopi
); );
resiGroupRedis.set(groupCache); resiGroupRedis.set(groupCache);
} }
CommonGridIdFormDTO dataFilterParam = new CommonGridIdFormDTO();
dataFilterParam.setGridId(group.getGridId());
dataFilterParam.setUserId(param.getUserId());
Result<CommonDataFilterResultDTO> dataFilterResult = govOrgFeignClient.gridDataFilter(dataFilterParam);
if (!dataFilterResult.success() || null == dataFilterResult.getData()) {
throw new RenException(dataFilterResult.getMsg());
}
//发送积分 //发送积分
//mq的事件类型 //mq的事件类型
@ -1810,10 +1869,14 @@ public class ResiTopicServiceImpl extends BaseServiceImpl<ResiTopicDao, ResiTopi
BasePointEventMsg pointEventMsg = new BasePointEventMsg(); BasePointEventMsg pointEventMsg = new BasePointEventMsg();
pointEventMsg.setCustomerId(groupCache.getCustomerId()); pointEventMsg.setCustomerId(groupCache.getCustomerId());
pointEventMsg.setAgencyId(dataFilterResult.getData().getAgencyId());
pointEventMsg.setGridId(group.getGridId());
pointEventMsg.setSourceId(group.getGroupId());
pointEventMsg.setUserId(group.getTopicAuthorId()); pointEventMsg.setUserId(group.getTopicAuthorId());
pointEventMsg.setActionFlag(MqConstant.PLUS); pointEventMsg.setActionFlag(MqConstant.PLUS);
pointEventMsg.setIsCommon(false); pointEventMsg.setIsCommon(false);
pointEventMsg.setEventTag(EventEnum.TOPIC_SHIFTED_TO_ISSUE.getEventTag()); pointEventMsg.setEventTag(EventEnum.TOPIC_SHIFTED_TO_ISSUE.getEventTag());
pointEventMsg.setEventClass(EventEnum.TOPIC_SHIFTED_TO_ISSUE.getEventClass());
//某某小组中发布的话题“某某某…” (前十个字后面省略号) 被转为议题 //某某小组中发布的话题“某某某…” (前十个字后面省略号) 被转为议题
String content = CharMatcher.WHITESPACE.trimFrom(topic.getTopicContent()); String content = CharMatcher.WHITESPACE.trimFrom(topic.getTopicContent());
pointEventMsg.setRemark(new StringBuilder(groupCache.getGroupName()).append("小组中发布的") pointEventMsg.setRemark(new StringBuilder(groupCache.getGroupName()).append("小组中发布的")
@ -1830,6 +1893,9 @@ public class ResiTopicServiceImpl extends BaseServiceImpl<ResiTopicDao, ResiTopi
//2.转话题为议题 组长 //2.转话题为议题 组长
BasePointEventMsg pointEventMsg2 = new BasePointEventMsg(); BasePointEventMsg pointEventMsg2 = new BasePointEventMsg();
pointEventMsg2.setCustomerId(groupCache.getCustomerId()); pointEventMsg2.setCustomerId(groupCache.getCustomerId());
pointEventMsg2.setAgencyId(dataFilterResult.getData().getAgencyId());
pointEventMsg2.setGridId(group.getGridId());
pointEventMsg2.setSourceId(group.getGroupId());
pointEventMsg2.setUserId(param.getUserId()); pointEventMsg2.setUserId(param.getUserId());
pointEventMsg2.setActionFlag(MqConstant.PLUS); pointEventMsg2.setActionFlag(MqConstant.PLUS);
pointEventMsg2.setIsCommon(false); pointEventMsg2.setIsCommon(false);
@ -2176,6 +2242,15 @@ public class ResiTopicServiceImpl extends BaseServiceImpl<ResiTopicDao, ResiTopi
log.error("com.epmet.modules.topic.service.impl.ResiTopicServiceImpl.sendTopicPointEventByEventType,根据组Id没有找到对应的小组信息,组Id:{}",topic.getGroupId()); log.error("com.epmet.modules.topic.service.impl.ResiTopicServiceImpl.sendTopicPointEventByEventType,根据组Id没有找到对应的小组信息,组Id:{}",topic.getGroupId());
return; return;
} }
CommonGridIdFormDTO dataFilterParam = new CommonGridIdFormDTO();
dataFilterParam.setGridId(group.getGridId());
dataFilterParam.setUserId(topic.getCreatedBy());
Result<CommonDataFilterResultDTO> dataFilterResult = govOrgFeignClient.gridDataFilter(dataFilterParam);
if (!dataFilterResult.success() || null == dataFilterResult.getData()) {
throw new RenException(dataFilterResult.getMsg());
}
//某某小组中发布的话题“某某某…” (前十个字后面省略号) 被转为项目 //某某小组中发布的话题“某某某…” (前十个字后面省略号) 被转为项目
if(EventEnum.TOPIC_SHIFTED_TO_PROJECT == param.getEvent()){ if(EventEnum.TOPIC_SHIFTED_TO_PROJECT == param.getEvent()){
@ -2188,10 +2263,14 @@ public class ResiTopicServiceImpl extends BaseServiceImpl<ResiTopicDao, ResiTopi
BasePointEventMsg pointEventMsg = new BasePointEventMsg(); BasePointEventMsg pointEventMsg = new BasePointEventMsg();
pointEventMsg.setCustomerId(group.getCustomerId()); pointEventMsg.setCustomerId(group.getCustomerId());
pointEventMsg.setAgencyId(dataFilterResult.getData().getAgencyId());
pointEventMsg.setGridId(group.getGridId());
pointEventMsg.setSourceId(topic.getGroupId());
pointEventMsg.setUserId(topic.getCreatedBy()); pointEventMsg.setUserId(topic.getCreatedBy());
pointEventMsg.setActionFlag(MqConstant.PLUS); pointEventMsg.setActionFlag(MqConstant.PLUS);
pointEventMsg.setIsCommon(false); pointEventMsg.setIsCommon(false);
pointEventMsg.setEventTag(EventEnum.TOPIC_SHIFTED_TO_PROJECT.getEventTag()); pointEventMsg.setEventTag(EventEnum.TOPIC_SHIFTED_TO_PROJECT.getEventTag());
pointEventMsg.setEventClass(EventEnum.TOPIC_SHIFTED_TO_PROJECT.getEventClass());
//某某小组中发布的话题“某某某…” (前十个字后面省略号) 被转为议题 //某某小组中发布的话题“某某某…” (前十个字后面省略号) 被转为议题
String content = CharMatcher.WHITESPACE.trimFrom(topic.getTopicContent()); String content = CharMatcher.WHITESPACE.trimFrom(topic.getTopicContent());
pointEventMsg.setRemark(new StringBuilder(group.getGroupName()).append("小组中发布的") pointEventMsg.setRemark(new StringBuilder(group.getGroupName()).append("小组中发布的")

37
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftServiceImpl.java

@ -37,9 +37,12 @@ import com.epmet.commons.tools.scan.result.SyncScanResult;
import com.epmet.commons.tools.scan.result.VoiceResultDTO; import com.epmet.commons.tools.scan.result.VoiceResultDTO;
import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.*; import com.epmet.commons.tools.utils.*;
import com.epmet.dto.form.CommonGridIdFormDTO;
import com.epmet.dto.result.AllGridsByUserIdResultDTO; import com.epmet.dto.result.AllGridsByUserIdResultDTO;
import com.epmet.dto.result.CommonDataFilterResultDTO;
import com.epmet.feign.GovOrgOpenFeignClient; import com.epmet.feign.GovOrgOpenFeignClient;
import com.epmet.modules.feign.EpmetUserFeignClient; import com.epmet.modules.feign.EpmetUserFeignClient;
import com.epmet.modules.feign.GovOrgFeignClient;
import com.epmet.modules.group.dao.ResiGroupDao; import com.epmet.modules.group.dao.ResiGroupDao;
import com.epmet.modules.group.dao.ResiGroupStatisticalDao; import com.epmet.modules.group.dao.ResiGroupStatisticalDao;
import com.epmet.modules.group.entity.ResiGroupEntity; import com.epmet.modules.group.entity.ResiGroupEntity;
@ -144,6 +147,8 @@ public class TopicDraftServiceImpl extends BaseServiceImpl<TopicDraftDao, TopicD
private ResiGroupMemberRedis resiGroupMemberRedis; private ResiGroupMemberRedis resiGroupMemberRedis;
@Autowired @Autowired
private TopicDraftScanTaskService topicDraftScanTaskService; private TopicDraftScanTaskService topicDraftScanTaskService;
@Autowired
private GovOrgFeignClient govOrgFeignClient;
@Value("${openapi.scan.server.url}") @Value("${openapi.scan.server.url}")
private String scanApiUrl; private String scanApiUrl;
@ -777,7 +782,16 @@ public class TopicDraftServiceImpl extends BaseServiceImpl<TopicDraftDao, TopicD
}else { }else {
breviary.append("话题"); breviary.append("话题");
} }
sendMqMsg(draft.getCreatedBy(), draft.getCustomerId(),draft.getCreatedTime(),resiGroupRedis.get(draft.getGroupId()).getGroupName(),breviary.toString()); CommonGridIdFormDTO dataFilterParam = new CommonGridIdFormDTO();
dataFilterParam.setGridId(draft.getGridId());
dataFilterParam.setUserId(draft.getCreatedBy());
Result<CommonDataFilterResultDTO> 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()); entity = baseDao.selectById(formDTO.getTopicDraftId());
@ -903,8 +917,18 @@ public class TopicDraftServiceImpl extends BaseServiceImpl<TopicDraftDao, TopicD
breviary.append("话题\""); breviary.append("话题\"");
breviary.append(content.length() > NumConstant.TEN ? (content.substring(NumConstant.ZERO,NumConstant.TEN) + "…") : content); breviary.append(content.length() > NumConstant.TEN ? (content.substring(NumConstant.ZERO,NumConstant.TEN) + "…") : content);
breviary.append("\""); breviary.append("\"");
}else breviary.append("语音话题"); }else {
sendMqMsg(tokenDto.getUserId(), formDTO.getCustomerId(),draft.getCreatedTime(),resiGroupRedis.get(draft.getGroupId()).getGroupName(),breviary.toString()); breviary.append("语音话题");
}
CommonGridIdFormDTO dataFilterParam = new CommonGridIdFormDTO();
dataFilterParam.setGridId(formDTO.getGridId());
dataFilterParam.setUserId(tokenDto.getUserId());
Result<CommonDataFilterResultDTO> 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<TopicDraftDao, TopicD
* @author wangc * @author wangc
* @date 2020.12.25 15:45 * @date 2020.12.25 15:45
*/ */
private void sendMqMsg(String userId, String customerId, Date targetDate, String groupName, String topicBreviary) { private void sendMqMsg(String userId, String customerId, Date targetDate, String groupName, String topicBreviary, String agencyId,
String gridId, String groupId) {
//6.发送积分 //6.发送积分
MqBaseMsgDTO mqBaseMsgDTO=new MqBaseMsgDTO(); MqBaseMsgDTO mqBaseMsgDTO=new MqBaseMsgDTO();
//mq的事件类型 //mq的事件类型
@ -929,12 +954,16 @@ public class TopicDraftServiceImpl extends BaseServiceImpl<TopicDraftDao, TopicD
List<BasePointEventMsg> actPointEventMsgList=new ArrayList<>(); List<BasePointEventMsg> actPointEventMsgList=new ArrayList<>();
BasePointEventMsg actPointEventMsg=new BasePointEventMsg(); BasePointEventMsg actPointEventMsg=new BasePointEventMsg();
actPointEventMsg.setCustomerId(customerId); actPointEventMsg.setCustomerId(customerId);
actPointEventMsg.setAgencyId(agencyId);
actPointEventMsg.setGridId(gridId);
actPointEventMsg.setSourceId(groupId);
actPointEventMsg.setUserId(userId); actPointEventMsg.setUserId(userId);
actPointEventMsg.setActionFlag(MqConstant.PLUS); actPointEventMsg.setActionFlag(MqConstant.PLUS);
actPointEventMsg.setIsCommon(false); actPointEventMsg.setIsCommon(false);
actPointEventMsg.setRemark(new StringBuilder(groupName).append("小组中发布").append(topicBreviary).toString()); actPointEventMsg.setRemark(new StringBuilder(groupName).append("小组中发布").append(topicBreviary).toString());
actPointEventMsg.setTargetDate(targetDate); actPointEventMsg.setTargetDate(targetDate);
actPointEventMsg.setEventTag(EventEnum.PUBLISH_ONE_TOPIC.getEventTag()); actPointEventMsg.setEventTag(EventEnum.PUBLISH_ONE_TOPIC.getEventTag());
actPointEventMsg.setEventClass(EventEnum.PUBLISH_ONE_TOPIC.getEventClass());
actPointEventMsgList.add(actPointEventMsg); actPointEventMsgList.add(actPointEventMsg);
mqBaseMsgDTO.setMsg(JSON.toJSONString(actPointEventMsgList)); mqBaseMsgDTO.setMsg(JSON.toJSONString(actPointEventMsgList));

Loading…
Cancel
Save