修改了会议室小程序代码

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 org.wf.jwtp.annotation.RequiresPermissions;
import java.util.List;
/**
* 房间主体内容 提供者
*
@ -45,7 +47,12 @@ public class RoomContentController extends BaseController {
@GetMapping("list")
public R list(RoomContent roomContent) {
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;
import com.baomidou.mybatisplus.annotation.IEnum;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ics.common.core.domain.BaseEntity;
@ -21,7 +22,69 @@ public class RoomContent extends BaseEntity<RoomContent> {
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;

View File

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

View File

@ -3,6 +3,7 @@ package com.ics.admin.mapper.meeting;
import com.ics.admin.domain.meeting.RoomItemByRoom;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -61,4 +62,6 @@ public interface RoomItemByRoomMapper extends BaseMapper<RoomItemByRoom> {
* @return 结果
*/
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.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.StrUtil;
@ -118,10 +121,44 @@ public class RoomContentServiceImpl extends ServiceImpl<RoomContentMapper, RoomC
@Override
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) {
content.setTypeValue(content.getType().getValue());
content.setTypeName(content.getType().getName());
ArrayList<RoomItem> items = new ArrayList<>();
//查询房间号
Room room = roomService.selectRoomById(content.getRoomId());
if (room != null) {
@ -178,4 +215,39 @@ public class RoomContentServiceImpl extends ServiceImpl<RoomContentMapper, RoomC
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
public List<RoomItemByRoom> selectRoomItemByRoomList(RoomItemByRoom roomItemByRoom) {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq(roomItemByRoom.getRoomContentId() !=null,"room_content_id",roomItemByRoom.getRoomContentId());
return roomItemByRoomMapper.selectList(queryWrapper);
}
@ -89,4 +90,10 @@ public class RoomItemByRoomServiceImpl extends ServiceImpl<RoomItemByRoomMapper,
public int deleteRoomItemByRoomById(Long 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.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
import java.util.Map;
/**
* 房间主体内容Service接口
@ -62,4 +63,6 @@ public interface IRoomContentService extends IService<RoomContent> {
List<RoomContent> selectApiRoomList(RoomContent roomContent);
RoomContent selectInfoById(Long id);
Map<String,Object> selectSearchInfoByType(Integer type);
}

View File

@ -1,5 +1,6 @@
package com.ics.admin.service.meeting;
import com.ics.admin.domain.meeting.RoomItem;
import com.ics.admin.domain.meeting.RoomItemByRoom;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
@ -58,4 +59,6 @@ public interface IRoomItemByRoomService extends IService<RoomItemByRoom> {
* @return 结果
*/
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"/>
<where>
<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>
</select>

View File

@ -26,7 +26,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<include refid="selectRoomItemByRoomVo"/>
WHERE id = #{id}
</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 INTO tb_room_item_by_room
<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="serveTime" column="serve_time" />
<result property="remake" column="remake" />
<result property="pic" column="pic" />
<result property="content" column="content" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
@ -19,7 +21,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap>
<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>
<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="version != null ">version,</if>
<if test="deleteFlag != null ">delete_flag,</if>
<if test="pic != null ">pic,</if>
<if test="content != null ">content,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<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="version != null ">#{version},</if>
<if test="deleteFlag != null ">#{deleteFlag},</if>
<if test="pic != null ">#{pic},</if>
<if test="content != null ">#{content},</if>
</trim>
</insert>
@ -75,6 +81,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="updateTime != null ">update_time = #{updateTime},</if>
<if test="version != null ">version = #{version},</if>
<if test="deleteFlag != null ">delete_flag = #{deleteFlag},</if>
<if test="pic != null ">pic = #{pic},</if>
<if test="content != null ">content = #{content},</if>
</trim>
WHERE id = #{id}
</update>

View File

@ -14,13 +14,11 @@ import com.ics.common.core.controller.BaseController;
import com.ics.common.core.domain.R;
import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@RestController
@RequestMapping("/api/roomContent")
@ -34,14 +32,24 @@ public class ApiRoomContentController extends BaseController {
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")
public R list(RoomContent roomContent) {
@PostMapping("list")
public R list(@RequestBody RoomContent roomContent) {
List<RoomContent> roomContents = roomContentService.selectApiRoomList(roomContent);
return result(roomContents);
}
@ -52,28 +60,25 @@ public class ApiRoomContentController extends BaseController {
@GetMapping("/info/{id}")
public R infoById(@PathVariable("id") Long id) {
RoomContent roomContents = roomContentService.selectInfoById(id);
return R.ok().put("roomContent", roomContents);
}
/**
* 优惠卷列表
*/
@GetMapping("/getCustomerTicket/{userId}")
public R getCustomerTicket(@PathVariable("userId") Long userId) {
@GetMapping("/getCustomerTicket")
public R getCustomerTicket() {
//根据用户获取对应的企业id查询该企业下对应的优惠卷
long userId = getCurrentUserId();
List<CustomerTicket> list = customerTicketService.getCustomerTicket(userId);
return R.ok().put("data",list);
}
/**
* 展示会议列表当天会议室的预约时间
*/
}