mirror of
https://gitee.com/elegant_wings/xiongan-meeting.git
synced 2025-06-21 09:39:37 +08:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
b4f1bc7e2b
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
@ -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;
|
||||
|
@ -24,6 +24,10 @@ public class RoomServe extends BaseEntity<RoomServe> {
|
||||
/** 服务时间30分钟起步 */
|
||||
private String serveTime;
|
||||
|
||||
private String pic;
|
||||
|
||||
private String content;
|
||||
|
||||
/** 备注 */
|
||||
private String remake;
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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.形式
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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>
|
||||
|
||||
|
@ -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=",">
|
||||
|
@ -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>
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 展示会议列表,当天会议室的预约时间
|
||||
*/
|
||||
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user