一款值得使用的,免费会议室管理软件【微信小程序和网页版都有】

最近和开发团队,一起做了一个会议室管理软件。包括:组织机构入住、会议室管理、会议预约、会议管理、会议分享等功能的小程序。

适合对会议室争抢频繁,会议多的组织机构使用。

同时,能够将内部会议和外部会议区分开。能够分享会议的纪要、ppt、excel等文件。

还可以将会议分享给没有参会的同事,方便大家了解会议的决议等信息。

 

会议室管理软件小程序
会议室管理软件小程序

未来如何看比赛直播,5G、VR眼镜、太空舱的结合

那天和同事聊天,突然聊到未来5G发展,带来的全新的看直播的体验。
幻想:坐在开空仓一样的摇摇椅里,左右手里,握着两个遥感:上下左右,前后。带着VR眼镜,无限的穿梭在赛场里。
想怎么看就怎么看,想看什么就看什么。想加速就加速,想俯视就俯视,想仰视就仰视。
飘在空中看篮球比赛,躺在地上看芭蕾舞表演。
现场,则是无数个360度高清摄像头,将现场的3D画面完美的直播出去。
想想就觉得很爽。感觉自己就像是飘在空中的一个质子,随心所欲。

solr创建一对多的索引

db-data-config.xml文件的写法

<dataConfig>
    <dataSource driver="org.hsqldb.jdbcDriver"
    url="jdbc:mysql://abc.com:3306/databaseName?useUnicode=true&amp;characterEncoding=utf8&amp;zeroDateTimeBehavior=convertToNull&amp;useSSL=false&amp;serverTimezone=Asia/Shanghai&amp;autoReconnect=true&amp;failOverReadOnly=false"
    USER="username" password="asdf"/>
    <document>
        <entity name="meeting" pk="id" transformer="DateFormatTransformer,HTMLStripTransformer,LogTransformer"
            query="select a.id, user_id, title, content, riqi, start_time, end_time, department, applicant, name
                    from yd_meeting a join yd_meeting_room b on a.room_id = b.id where a.status = 0"

            deltaImportQuery="select a.id, user_id, title, content, riqi, start_time, end_time, department, applicant, name
                    from yd_meeting a join yd_meeting_room b on a.room_id = b.id where a.status = 0 and a.id = '${dih.delta.id}' "

            deletedPkQuery="SELECT id FROM yd_meeting where status = 1 "  
            deltaQuery="select id from yd_meeting where status = 0 and update_time &gt; '${dih.last_index_time}'"
        >
            <FIELD COLUMN="id" name="id" />
            <FIELD COLUMN="user_id" name="ownerUserId" />
            <FIELD COLUMN="title" name="title" />
            <FIELD COLUMN="content" name="content" stripHTML="true"/>
            <FIELD COLUMN="riqi" name="riqi" />
            <FIELD COLUMN="start_time" name="startTime" />
            <FIELD COLUMN="end_time" name="endTime" />
            <FIELD COLUMN="department" name="department" />
            <FIELD COLUMN="applicant" name="applicant"/>
            <FIELD COLUMN="name" name="roomName"/>
           
            <entity name="summary" query="select id, user_id, content from yd_meeting_summary where meeting_id = '${meeting.id}'">
                <FIELD COLUMN="id" name="summaryId" />
                <FIELD COLUMN="user_id" name="summaryUserId" />
                <FIELD COLUMN="content" name="summaryContent" />
            </entity>
            <entity name="user" query="select id, user_id from yd_re_meeting_user where meeting_id = '${meeting.id}' and status = 0"
                deltaImportQuery="select id, user_id from yd_re_meeting_user where id = '${dih.delta.id}' "
                deletedPkQuery="SELECT id FROM yd_re_meeting_user where status = 1 "  
                deltaQuery="select id from yd_re_meeting_user where status = 0 and update_time &gt; '${dih.last_index_time}'"
            >
                <FIELD COLUMN="user_id" name="userId" />
            </entity>
        </entity>
       
    </document>
</dataConfig>

managed-schema文件的写法

<field name="title" type="text_cn" indexed="true" stored="true" />
<field name="username" type="string" indexed="true" stored="true" />
<field name="content" type="text_cn" indexed="true" stored="true" />
<field name="ownerUserId"  type="string" indexed="true" stored="true" />
<field name="riqi"  type="string" indexed="true" stored="true" />
<field name="startTime"  type="string" indexed="true" stored="true" />
<field name="endTime"  type="string" indexed="true" stored="true" />
<field name="department"  type="string" indexed="false" stored="true" />
<field name="applicant" type="string" indexed="false" stored="true" />
<field name="roomName" type="string" indexed="false" stored="true" />
<field name="summaryUserId"  type="string" indexed="true" stored="true" multiValued="true"/>
<field name="summaryContent"  type="text_cn" indexed="true" stored="true" multiValued="true"/>
<field name="userId"  type="string" indexed="true" stored="true" multiValued="true"/>

重点:
multiValued=”true”

java的lambda表达式,对list进行操作

ydMeetingRoomList.removeIf(a -> a.getClosing() == 1); // 删除关闭的会议室
ydMeetingRoomList.removeIf((a)->{
    YdMeeting ydMeeting = new YdMeeting();
    ydMeeting.setRoomId(a.getId());
    ydMeeting.setRiqi(riqi);
    ydMeeting.setStartTime(startTime);
    ydMeeting.setEndTime(endTime);
    List<YdMeeting> ydMeetingList = ydMeetingMapper.countByRoomAndTime(ydMeeting);
    if(ListUtil.isNotBlank(ydMeetingList)){
        // 不是空,表示这个时间,这个会议室有会议。
        // 不能预约,所以要删除,所以返回true
        return true;
    }
    return false;
});