修改了会议室小程序代码

This commit is contained in:
chendaze 2024-03-02 17:03:07 +08:00
parent b91cc06d22
commit 0faab41158
13 changed files with 256 additions and 22 deletions

View File

@ -17,6 +17,8 @@ import com.ics.admin.domain.meeting.RoomContent;
import com.ics.admin.service.meeting.IRoomContentService; import com.ics.admin.service.meeting.IRoomContentService;
import org.wf.jwtp.annotation.RequiresPermissions; import org.wf.jwtp.annotation.RequiresPermissions;
import java.util.List;
/** /**
* 房间主体内容 提供者 * 房间主体内容 提供者
* *
@ -45,7 +47,12 @@ public class RoomContentController extends BaseController {
@GetMapping("list") @GetMapping("list")
public R list(RoomContent roomContent) { public R list(RoomContent roomContent) {
startPage(); startPage();
return result(roomContentService.selectRoomContentList(roomContent)); List<RoomContent> roomContents = roomContentService.selectRoomContentList(roomContent);
for (RoomContent content : roomContents) {
content.setTypeValue(content.getType().getValue());
content.setTypeName(content.getType().getName());
}
return result(roomContents);
} }

View File

@ -0,0 +1,45 @@
package com.ics.admin.domain.enumHandler;
import com.ics.admin.domain.Activity;
import com.ics.admin.domain.meeting.RoomContent;
import org.apache.ibatis.type.BaseTypeHandler;
import org.apache.ibatis.type.JdbcType;
import org.apache.ibatis.type.MappedJdbcTypes;
import org.apache.ibatis.type.MappedTypes;
import java.sql.CallableStatement;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
* @author 29361
*/
@MappedJdbcTypes({JdbcType.INTEGER})
@MappedTypes({RoomContent.Type.class})
public class RoomContentTypeEnumHandler extends BaseTypeHandler<RoomContent.Type> {
@Override
public void setNonNullParameter(PreparedStatement preparedStatement, int i, RoomContent.Type status, JdbcType jdbcType) throws SQLException {
preparedStatement.setInt(i,status.getValue());
}
@Override
public RoomContent.Type getNullableResult(ResultSet resultSet, String columnName) throws SQLException {
int value = resultSet.getInt(columnName);
RoomContent.Type instance = RoomContent.Type.parse(value);
return instance;
}
@Override
public RoomContent.Type getNullableResult(ResultSet resultSet, int columnIndex) throws SQLException {
int value = resultSet.getInt(columnIndex);
RoomContent.Type instance = RoomContent.Type.parse(value);
return instance;
}
@Override
public RoomContent.Type getNullableResult(CallableStatement callableStatement, int i) throws SQLException {
return null;
}
}

View File

@ -1,5 +1,6 @@
package com.ics.admin.domain.meeting; package com.ics.admin.domain.meeting;
import com.baomidou.mybatisplus.annotation.IEnum;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.ics.common.core.domain.BaseEntity; import com.ics.common.core.domain.BaseEntity;
@ -21,7 +22,69 @@ public class RoomContent extends BaseEntity<RoomContent> {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** 类型(会议室、办公室、茶室、路演厅、) */ /** 类型(会议室、办公室、茶室、路演厅、) */
private Integer type; private Type type;
@TableField(exist = false)
private String typeName;
@TableField(exist = false)
private Integer typeValue;
public enum Type implements IEnum<Integer> {
/**
* 报名未开始
*/
MEETING_ROOM("会议室", 1),
/**
* 报名中
*/
OFFICE("办公室", 2),
/**
* 活动未开始
*/
TEE_ROOM("茶室", 3),
/**
* 已满额
*/
ROADSHOW_HALL("路演厅", 4);
/**
* 活动中
*/
private String name;
private int value;
Type(String name, int value) {
this.name = name;
this.value = value;
}
@Override
public Integer getValue() {
return this.value;
}
public String getName() {
return this.name;
}
public static Type parse(Integer value) {
for (Type type1 : values()) {
if (type1.getValue().equals(value)) {
return type1;
}
}
return null;
}
}
/** 名称 */ /** 名称 */
private String meetingName; private String meetingName;

View File

@ -24,6 +24,10 @@ public class RoomServe extends BaseEntity<RoomServe> {
/** 服务时间30分钟起步 */ /** 服务时间30分钟起步 */
private String serveTime; private String serveTime;
private String pic;
private String content;
/** 备注 */ /** 备注 */
private String remake; private String remake;

View File

@ -3,6 +3,7 @@ package com.ics.admin.mapper.meeting;
import com.ics.admin.domain.meeting.RoomItemByRoom; import com.ics.admin.domain.meeting.RoomItemByRoom;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
@ -61,4 +62,6 @@ public interface RoomItemByRoomMapper extends BaseMapper<RoomItemByRoom> {
* @return 结果 * @return 结果
*/ */
int deleteRoomItemByRoomByIds(String[] ids); int deleteRoomItemByRoomByIds(String[] ids);
List<RoomItemByRoom> selectRoomContent(@Param("list") List<Long> collect,@Param("size") int size);
} }

View File

@ -3,6 +3,9 @@ package com.ics.admin.service.impl.meeting;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.lang.Assert; import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
@ -118,10 +121,44 @@ public class RoomContentServiceImpl extends ServiceImpl<RoomContentMapper, RoomC
@Override @Override
public List<RoomContent> selectApiRoomList(RoomContent roomContent) { public List<RoomContent> selectApiRoomList(RoomContent roomContent) {
// 根据物品查询数据
if (CollUtil.isNotEmpty(roomContent.getRoomItemList())){
//查询出所有的 roomContent 数据
//然后根据 roomContent.getRoomItemList() 中的数据进行筛选
List<RoomContent> roomContents = roomContentMapper.selectRoomContentList(roomContent);
List<RoomItem> roomItemList = roomContent.getRoomItemList();
List<Long> collect = roomItemList.stream().map(item -> {
return item.getId();
}).collect(Collectors.toList());
int size = roomItemList.size();
ArrayList<RoomContent> roomContents1 = new ArrayList<>();
//获取数据
List<RoomItemByRoom> roomItemByRooms = roomItemByRoomService.selectRoomContent(collect, size);
if (CollUtil.isNotEmpty(roomItemByRooms)){
for (RoomItemByRoom roomItemByRoom : roomItemByRooms) {
RoomContent roomContent1 = roomContentMapper.selectById(roomItemByRoom.getRoomContentId());
roomContents1.add(roomContent1);
}
}
List<RoomContent> collect1 = roomContents.stream().filter(roomContents1::contains).collect(Collectors.toList());
return selectRoomContentList(collect1);
}else {
if (roomContent.getType() != null) {
RoomContent.Type type = roomContent.getType();
roomContent.setTypeValue(type.ordinal());
}
List<RoomContent> roomContents = roomContentMapper.selectRoomContentList(roomContent);
return selectRoomContentList(roomContents);
}
ArrayList<RoomItem> items = new ArrayList<>(); }
List<RoomContent> roomContents = roomContentMapper.selectList(new QueryWrapper<>(roomContent));
public List<RoomContent> selectRoomContentList(List<RoomContent> roomContents) {
for (RoomContent content : roomContents) { for (RoomContent content : roomContents) {
content.setTypeValue(content.getType().getValue());
content.setTypeName(content.getType().getName());
ArrayList<RoomItem> items = new ArrayList<>();
//查询房间号 //查询房间号
Room room = roomService.selectRoomById(content.getRoomId()); Room room = roomService.selectRoomById(content.getRoomId());
if (room != null) { if (room != null) {
@ -178,4 +215,39 @@ public class RoomContentServiceImpl extends ServiceImpl<RoomContentMapper, RoomC
return roomContent; return roomContent;
} }
@Override
public Map<String,Object> selectSearchInfoByType(Integer type) {
HashMap<String, Object> map = new HashMap<>();
if (type == 3){
QueryWrapper<RoomItem> queryWrapper = new QueryWrapper<>();
queryWrapper.select("name,id");
List<RoomItem> list =roomItemService.list(queryWrapper);
map.put("roomItem",list);
return map;
}else {
QueryWrapper<RoomContent> queryWrapper = new QueryWrapper<>();
if (type == 1){
queryWrapper.groupBy("type");
}else if (type == 2){
queryWrapper.groupBy("capacity_num");
}else if (type == 4){
queryWrapper.groupBy("shape");
}
List<RoomContent> roomContents = roomContentMapper.selectList(queryWrapper);
for (RoomContent roomContent : roomContents) {
roomContent.setTypeValue(roomContent.getType().getValue());
roomContent.setTypeName(roomContent.getType().getName());
}
map.put("roomContents",roomContents);
return map;
}
// 1.会议室类型2.人数3.会议室设备4.形式
}
} }

View File

@ -42,6 +42,7 @@ public class RoomItemByRoomServiceImpl extends ServiceImpl<RoomItemByRoomMapper,
@Override @Override
public List<RoomItemByRoom> selectRoomItemByRoomList(RoomItemByRoom roomItemByRoom) { public List<RoomItemByRoom> selectRoomItemByRoomList(RoomItemByRoom roomItemByRoom) {
QueryWrapper queryWrapper = new QueryWrapper(); QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq(roomItemByRoom.getRoomContentId() !=null,"room_content_id",roomItemByRoom.getRoomContentId());
return roomItemByRoomMapper.selectList(queryWrapper); return roomItemByRoomMapper.selectList(queryWrapper);
} }
@ -89,4 +90,10 @@ public class RoomItemByRoomServiceImpl extends ServiceImpl<RoomItemByRoomMapper,
public int deleteRoomItemByRoomById(Long id) { public int deleteRoomItemByRoomById(Long id) {
return roomItemByRoomMapper.deleteRoomItemByRoomById(id); return roomItemByRoomMapper.deleteRoomItemByRoomById(id);
} }
@Override
public List<RoomItemByRoom> selectRoomContent(List<Long> collect, int size) {
return roomItemByRoomMapper.selectRoomContent(collect,size);
}
} }

View File

@ -3,6 +3,7 @@ package com.ics.admin.service.meeting;
import com.ics.admin.domain.meeting.RoomContent; import com.ics.admin.domain.meeting.RoomContent;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* 房间主体内容Service接口 * 房间主体内容Service接口
@ -62,4 +63,6 @@ public interface IRoomContentService extends IService<RoomContent> {
List<RoomContent> selectApiRoomList(RoomContent roomContent); List<RoomContent> selectApiRoomList(RoomContent roomContent);
RoomContent selectInfoById(Long id); RoomContent selectInfoById(Long id);
Map<String,Object> selectSearchInfoByType(Integer type);
} }

View File

@ -1,5 +1,6 @@
package com.ics.admin.service.meeting; package com.ics.admin.service.meeting;
import com.ics.admin.domain.meeting.RoomItem;
import com.ics.admin.domain.meeting.RoomItemByRoom; import com.ics.admin.domain.meeting.RoomItemByRoom;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List; import java.util.List;
@ -58,4 +59,6 @@ public interface IRoomItemByRoomService extends IService<RoomItemByRoom> {
* @return 结果 * @return 结果
*/ */
int deleteRoomItemByRoomById(Long id); int deleteRoomItemByRoomById(Long id);
List<RoomItemByRoom> selectRoomContent(List<Long> collect, int size);
} }

View File

@ -34,6 +34,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<include refid="selectRoomContentVo"/> <include refid="selectRoomContentVo"/>
<where> <where>
<if test="meetingName != null and meetingName != ''"> AND meeting_name LIKE CONCAT('%', #{meetingName}, '%')</if> <if test="meetingName != null and meetingName != ''"> AND meeting_name LIKE CONCAT('%', #{meetingName}, '%')</if>
<if test="typeValue != null and typeValue != ''"> AND `type`= #{typeValue}</if>
<if test="capacityNum != null and capacityNum != ''"> AND capacity_num =#{capacityNum}</if>
<if test="shape != null and shape != ''"> AND shape =#{shape}</if>
</where> </where>
</select> </select>

View File

@ -26,7 +26,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<include refid="selectRoomItemByRoomVo"/> <include refid="selectRoomItemByRoomVo"/>
WHERE id = #{id} WHERE id = #{id}
</select> </select>
<select id="selectRoomContent" parameterType="RoomItemByRoom" resultMap="RoomItemByRoomResult">
SELECT
room_content_id
FROM tb_room_item_by_room
WHERE item_id IN
<foreach item="collect" collection="list" separator="," open="(" close=")" index="">
#{collect}
</foreach>
GROUP BY room_content_id HAVING(COUNT(*)) = #{size}
</select>
<insert id="insertRoomItemByRoom" parameterType="RoomItemByRoom" useGeneratedKeys="true" keyProperty="id"> <insert id="insertRoomItemByRoom" parameterType="RoomItemByRoom" useGeneratedKeys="true" keyProperty="id">
INSERT INTO tb_room_item_by_room INSERT INTO tb_room_item_by_room
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">

View File

@ -10,6 +10,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="serveType" column="serve_type" /> <result property="serveType" column="serve_type" />
<result property="serveTime" column="serve_time" /> <result property="serveTime" column="serve_time" />
<result property="remake" column="remake" /> <result property="remake" column="remake" />
<result property="pic" column="pic" />
<result property="content" column="content" />
<result property="createBy" column="create_by" /> <result property="createBy" column="create_by" />
<result property="createTime" column="create_time" /> <result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" /> <result property="updateBy" column="update_by" />
@ -19,7 +21,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap> </resultMap>
<sql id="selectRoomServeVo"> <sql id="selectRoomServeVo">
SELECT id, serve_name, serve_type, serve_time, remake, create_by, create_time, update_by, update_time, version, delete_flag FROM tb_room_serve SELECT id, serve_name, serve_type, serve_time, remake, create_by, create_time, update_by, update_time, version, delete_flag,pic,content FROM tb_room_serve
</sql> </sql>
<select id="selectRoomServeList" parameterType="RoomServe" resultMap="RoomServeResult"> <select id="selectRoomServeList" parameterType="RoomServe" resultMap="RoomServeResult">
@ -47,6 +49,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="updateTime != null ">update_time,</if> <if test="updateTime != null ">update_time,</if>
<if test="version != null ">version,</if> <if test="version != null ">version,</if>
<if test="deleteFlag != null ">delete_flag,</if> <if test="deleteFlag != null ">delete_flag,</if>
<if test="pic != null ">pic,</if>
<if test="content != null ">content,</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="serveName != null and serveName != ''">#{serveName},</if> <if test="serveName != null and serveName != ''">#{serveName},</if>
@ -59,6 +63,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="updateTime != null ">#{updateTime},</if> <if test="updateTime != null ">#{updateTime},</if>
<if test="version != null ">#{version},</if> <if test="version != null ">#{version},</if>
<if test="deleteFlag != null ">#{deleteFlag},</if> <if test="deleteFlag != null ">#{deleteFlag},</if>
<if test="pic != null ">#{pic},</if>
<if test="content != null ">#{content},</if>
</trim> </trim>
</insert> </insert>
@ -75,6 +81,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="updateTime != null ">update_time = #{updateTime},</if> <if test="updateTime != null ">update_time = #{updateTime},</if>
<if test="version != null ">version = #{version},</if> <if test="version != null ">version = #{version},</if>
<if test="deleteFlag != null ">delete_flag = #{deleteFlag},</if> <if test="deleteFlag != null ">delete_flag = #{deleteFlag},</if>
<if test="pic != null ">pic = #{pic},</if>
<if test="content != null ">content = #{content},</if>
</trim> </trim>
WHERE id = #{id} WHERE id = #{id}
</update> </update>

View File

@ -14,13 +14,11 @@ import com.ics.common.core.controller.BaseController;
import com.ics.common.core.domain.R; import com.ics.common.core.domain.R;
import org.checkerframework.checker.units.qual.A; import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map;
@RestController @RestController
@RequestMapping("/api/roomContent") @RequestMapping("/api/roomContent")
@ -34,14 +32,24 @@ public class ApiRoomContentController extends BaseController {
private ICustomerTicketService customerTicketService; private ICustomerTicketService customerTicketService;
/**
* 查询条件筛选
*/
@GetMapping("searchInfo/{type}")
public R searchInfo(@PathVariable("type") Integer type) {
// 1.会议室类型2.人数3.会议室设备4.形式
Map<String, Object> map = roomContentService.selectSearchInfoByType(type);
return R.ok(map);
}
/** /**
* 获取房间内容 * 获取房间内容
*/ */
@GetMapping("list") @PostMapping("list")
public R list(RoomContent roomContent) { public R list(@RequestBody RoomContent roomContent) {
List<RoomContent> roomContents = roomContentService.selectApiRoomList(roomContent); List<RoomContent> roomContents = roomContentService.selectApiRoomList(roomContent);
return result(roomContents); return result(roomContents);
} }
@ -52,28 +60,25 @@ public class ApiRoomContentController extends BaseController {
@GetMapping("/info/{id}") @GetMapping("/info/{id}")
public R infoById(@PathVariable("id") Long id) { public R infoById(@PathVariable("id") Long id) {
RoomContent roomContents = roomContentService.selectInfoById(id); RoomContent roomContents = roomContentService.selectInfoById(id);
return R.ok().put("roomContent", roomContents); return R.ok().put("roomContent", roomContents);
} }
/** /**
* 优惠卷列表 * 优惠卷列表
*/ */
@GetMapping("/getCustomerTicket/{userId}") @GetMapping("/getCustomerTicket")
public R getCustomerTicket(@PathVariable("userId") Long userId) { public R getCustomerTicket() {
//根据用户获取对应的企业id查询该企业下对应的优惠卷 //根据用户获取对应的企业id查询该企业下对应的优惠卷
long userId = getCurrentUserId();
List<CustomerTicket> list = customerTicketService.getCustomerTicket(userId); List<CustomerTicket> list = customerTicketService.getCustomerTicket(userId);
return R.ok().put("data",list); return R.ok().put("data",list);
} }
/**
* 展示会议列表当天会议室的预约时间
*/
} }