INSERT INTO im_group (id_,name_,introduce_,member_num_,memo_,tags_,img_,type_,create_time_,update_time_,tenant_id_,group_type_)
VALUES(#{id},#{name},#{introduce},#{memberNum},#{memo},#{tags},#{img},#{type},#{createTime},#{updateTime},#{tenantId},#{groupType})
UPDATE im_group
group_type_ = #{groupType},
member_num_ = member_num_ + #{memberNum},
tags_ = #{tags},
introduce_ = #{introduce},
update_time_ = #{updateTime},
memo_ = #{memo},
name_ = #{name},
img_ = #{img},
type_ = #{type},
WHERE id_ = #{id} and tenant_id_ = #{tenantId}
UPDATE im_group_member SET nickname_ = #{nickName} WHERE user_id_ = #{userId}
UPDATE im_user_friend SET friend_nickname_ = #{nickName} WHERE friend_id_ = #{userId};
UPDATE im_group ig
LEFT JOIN (SELECT COUNT(id_) num_,im_group_id_ FROM im_group_member GROUP BY im_group_id_) igm ON ig.id_ = igm.im_group_id_
SET member_num_ = igm.num_
WHERE ig.id_ = igm.im_group_id_
DELETE FROM im_group WHERE id_ = #{id}
AND igm.user_id_ = #{userId}
AND (ig.name_ like concat('%',#{search},'%') or ig.memo_ like concat('%',#{search},'%'))
AND NOT FIND_IN_SET(ig.id_,#{ignoreIds})
AND FIND_IN_SET(ig.id_,#{targetIds})
AND ig.group_type_ = #{groupType}