青羊经侦大队-数据平台
wl
2022-12-26 7560238de78178a8b8ecf21c0b490f2f8c55f967
fix: 群成员重复
2个文件已修改
1个文件已添加
27 ■■■■ 已修改文件
src/main/java/com/example/jz/dao/GroupUserDao.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/jz/service/impl/ReportServiceImpl.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/GroupUserDao.xml 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/jz/dao/GroupUserDao.java
@@ -4,6 +4,8 @@
import com.example.jz.modle.entity.GroupUser;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
 * 用户和群中间表(GroupUser)表数据库访问层
 *
@@ -13,4 +15,5 @@
@Mapper
public interface GroupUserDao extends BaseMapper<GroupUser> {
    List<Integer> selectUserList(Integer id);
}
src/main/java/com/example/jz/service/impl/ReportServiceImpl.java
@@ -83,12 +83,7 @@
        // 2. 更新群用户表
        Group group = groupDao.selectOne(new LambdaQueryWrapper<>(Group.class)
                .eq(Group::getCauseId, report.getCauseId()));
        List<GroupUser> groupUserList = groupUserDao.selectList(new LambdaQueryWrapper<GroupUser>().eq(GroupUser::getUserId, group.getUserId()));
        if (!groupUserList
                .stream()
                .map(item -> item.getUserId())
                .collect(Collectors.toList())
                .contains(report.getId())) {
        if (!groupUserDao.selectUserList(group.getId()).contains(report.getUserId())) {
            GroupUser groupUser = new GroupUser().setGroupId(group.getId()).setUserId(report.getId()).setCtime(new Date()).setBanSpeech(0);
            return groupUserDao.insert(groupUser) == 1 ? true : false;
        }
src/main/resources/mapper/GroupUserDao.xml
New file
@@ -0,0 +1,17 @@
<?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.example.jz.dao.GroupUserDao">
    <select id="selectUserList" resultType="java.lang.Integer">
        SELECT
            t2.user_id
        FROM
            `group_user` t1
                LEFT JOIN report t2 ON t1.user_id = t2.id
        WHERE
            t1.group_id = #{id}
    </select>
</mapper>