jiangping
2025-01-16 f63d3a3be83fea258e7920efccd2567b6a511bb3
server/meeting/meeting_service/src/main/java/com/doumee/dao/business/BookingsMapper.java
@@ -9,6 +9,7 @@
import com.doumee.dao.system.vo.UserStatisticsVo;
import com.doumee.dao.web.response.MeetingDetailResponse;
import com.doumee.dao.web.response.MeetingListResponse;
import com.github.yulichang.base.MPJBaseMapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
@@ -18,28 +19,45 @@
 * @author 江蹄蹄
 * @date 2023/05/04 18:18
 */
public interface BookingsMapper extends BaseMapper<Bookings> {
public interface BookingsMapper extends MPJBaseMapper<Bookings> {
    @Select(" select a.id , b.`NAME` as roomName , a.`NAME` as meetingName  ,date_format(a.START_TIME,'%Y-%m-%d') as meetingDate , a.START_TIME as startTime, a.status ," +
    @Select(" select a.id , a.START_TIME , a.END_TIME , b.`NAME` as roomName , a.`NAME` as meetingName  ,date_format(a.START_TIME,'%Y-%m-%d') as meetingDate , a.START_TIME as startTime, a.status ," +
            " CONCAT(date_format(a.START_TIME,'%H:%i') , ' ~ ',date_format(a.END_TIME,'%H:%i')) as meetingTime,  c.REALNAME as bookingUser ," +
            " CASE  WHEN a.START_TIME > now() and a.`STATUS` = 0  THEN 1  WHEN a.END_TIME < now()  or a.`STATUS` = 1  THEN 3 ELSE 2  END meetingStatus , b.IMGURL as imgUrl " +
            " from meeting_book a inner join meeting_rooms b  on a.ROOM_ID = b.ID  " +
            " inner join system_user c on a.CREATOR = c.id  " +
            //" CASE WHEN a.START_TIME > now() AND a.`STATUS` = 0 THEN 1  WHEN ( (a.END_TIME < now()  AND a.`STATUS` = 0 ) or a.`STATUS` = 2 ) THEN 3 WHEN a.`STATUS` = 1 THEN 5 ELSE  2  END meetingStatus ," +
            " CASE WHEN a.START_TIME_REAL IS NULL AND a.`STATUS` = 0 THEN 1  WHEN (  a.`STATUS` = 2 ) THEN 3 WHEN a.`STATUS` = 1 THEN 5 ELSE  2  END meetingStatus ," +
            " b.IMGURL as imgUrl ," +
            " a.remark  " +
            " from meeting_book a" +
            " left join meeting_rooms b  on a.ROOM_ID = b.ID  " +
            " left join system_user c on a.CREATOR = c.id  " +
            " ${ew.customSqlSegment} ")
    IPage<MeetingListResponse> myMeetingPage(IPage<MeetingListResponse> page, @Param(Constants.WRAPPER) Wrapper wrapper);
    @Select(" select a.id , a.START_TIME , a.END_TIME , b.`NAME` as roomName , a.`NAME` as meetingName  ,date_format(a.START_TIME,'%Y-%m-%d') as meetingDate , a.START_TIME as startTime, a.status ," +
            " CONCAT(date_format(a.START_TIME,'%H:%i') , ' ~ ',date_format(a.END_TIME,'%H:%i')) as meetingTime,  c.REALNAME as bookingUser ," +
            //" CASE WHEN a.START_TIME > now() AND a.`STATUS` = 0 THEN 1  WHEN ( (a.END_TIME < now()  AND a.`STATUS` = 0 ) or a.`STATUS` = 2 ) THEN 3 WHEN a.`STATUS` = 1 THEN 5 ELSE  2  END meetingStatus ," +
            " CASE WHEN a.START_TIME_REAL IS NULL AND a.`STATUS` = 0 THEN 1 " +
            //" WHEN ( (a.END_TIME < now()  AND a.`STATUS` = 0 ) or a.`STATUS` = 2 ) THEN 3 " +
            " WHEN (  a.`STATUS` = 2 ) THEN 3 " +
            "WHEN a.`STATUS` = 1 THEN 5 ELSE  2  END meetingStatus ," +
            " b.IMGURL as imgUrl ," +
            " a.remark  " +
            " from meeting_book a inner join meeting_rooms b  on a.ROOM_ID = b.ID  " +
            " inner join system_user c on a.CREATOR = c.id  " +
            " ${ew.customSqlSegment} ")
    List<MeetingListResponse> meetingList(@Param(Constants.WRAPPER) Wrapper wrapper);
    @Select(" select a.id , b.id as roomId,  b.`NAME` as roomName , a.`NAME` as meetingName  ,date_format(a.START_TIME,'%Y年%m月%d日') as meetingDate ," +
    @Select(" select a.id , a.START_TIME , a.END_TIME , b.id as roomId,  b.`NAME` as roomName , a.`NAME` as meetingName  ,date_format(a.START_TIME,'%Y年%m月%d日') as meetingDate ," +
            " CONCAT(date_format(a.START_TIME,'%H:%i') , ' ~ ',date_format(a.END_TIME,'%H:%i')) as meetingTime,  c.REALNAME as bookingUserName ," +
            " CASE  WHEN a.START_TIME > now() and a.`STATUS` = 0  THEN 1  WHEN a.END_TIME < now()  or a.`STATUS` = 1  THEN 3 ELSE 2  END meetingStatus ," +
            //"  CASE WHEN a.START_TIME > now() AND a.`STATUS` = 0 THEN 1  WHEN a.END_TIME < now() AND a.`STATUS` = 0  THEN 3 WHEN a.`STATUS` = 1 THEN 5 ELSE  2  END meetingStatus ," +
            "  CASE WHEN a.START_TIME_REAL IS NULL AND a.`STATUS` = 0 THEN 1  WHEN (  a.status = 2   ) THEN 3 WHEN a.`STATUS` = 1 THEN 5 ELSE  2  END meetingStatus ," +
            " a.CONTENT as meetingContent, c.MOBILE as bookingUserMobile , e.`NAME` as bookingUserDepartment , a.CREATOR as bookingUserId  , a.remark  " +
            " from meeting_book a inner join meeting_rooms b  on a.ROOM_ID = b.ID  " +
            " inner join system_user c on a.CREATOR = c.id " +
            " inner join system_department_user d on c.id = d.USER_ID " +
            " INNER JOIN system_department e on d.DEPARTMENT_ID = e.ID   " +
            " left join system_user c on a.CREATOR = c.id " +
            " left join system_department_user d on c.id = d.USER_ID " +
            " left JOIN system_department e on d.DEPARTMENT_ID = e.ID   " +
            "  where a.id = #{id} ")
    MeetingDetailResponse meetingDetail(@Param("id") Integer id);