shenzhongzheng лет назад: 2
Родитель
Сommit
bc22d906a6
14 измененных файлов с 462 добавлено и 5 удалено
  1. 79 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/BusMeetingRoomScheduleController.java
  2. 18 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/dto/BusMeetingRoomScheduleDetailDto.java
  3. 15 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/dto/BusMeetingRoomScheduleDto.java
  4. 103 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/entity/BusMeetingRoomSchedule.java
  5. 82 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/entity/BusMeetingRoomScheduleDetail.java
  6. 16 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/BusMeetingRoomScheduleDetailMapper.java
  7. 17 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/BusMeetingRoomScheduleMapper.java
  8. 16 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/IBusMeetingRoomScheduleDetailService.java
  9. 37 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/BusMeetingRoomScheduleDetailServiceImpl.java
  10. 75 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/BusMeetingRoomScheduleServiceImpl.java
  11. 1 1
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/rooms/controller/CesGoodsController.java
  12. 0 3
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/rooms/controller/CesGoodsUnitController.java
  13. 2 1
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/rooms/service/CesGoodStockRecordsServiceImpl.java
  14. 1 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/rooms/service/CesGoodsServiceImpl.java

+ 79 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/BusMeetingRoomScheduleController.java

@@ -0,0 +1,79 @@
+package org.jeecg.modules.business.controller;
+
+
+import cn.hutool.core.collection.CollectionUtil;
+import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang3.StringUtils;
+import org.jeecg.common.Enum.ResultCode;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.modules.business.dto.BusMeetingRoomScheduleDetailDto;
+import org.jeecg.modules.business.dto.BusMeetingRoomScheduleDto;
+import org.jeecg.modules.business.entity.BusMeetingRoomScheduleDetail;
+import org.jeecg.modules.business.service.impl.BusMeetingRoomScheduleServiceImpl;
+import org.jeecg.modules.business.service.impl.BusMeetingRoomServiceImpl;
+import org.springframework.web.bind.annotation.*;
+
+import org.springframework.stereotype.Controller;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ * 会议室预定表 前端控制器
+ * </p>
+ *
+ * @author fendo
+ * @since 2023-03-15
+ */
+@RestController
+@RequestMapping("/business/busMeetingRoomSchedule")
+public class BusMeetingRoomScheduleController {
+
+    @Resource
+    private BusMeetingRoomScheduleServiceImpl roomScheduleService;
+
+    @ApiOperation(value="创建会议预定", notes="创建会议预定")
+    @PostMapping(value = "/create")
+    public Result create(@RequestBody BusMeetingRoomScheduleDto dto){
+        if(StringUtils.isBlank(dto.getHotelId())){
+            return Result.error(ResultCode.PARAM_MISS);
+        }
+        if(StringUtils.isBlank(dto.getName())){
+            return Result.error(ResultCode.PARAM_MISS);
+        }
+        if(StringUtils.isBlank(dto.getTheme())){
+            return Result.error(ResultCode.PARAM_MISS);
+        }
+        if(StringUtils.isBlank(dto.getDestinedName())){
+            return Result.error(ResultCode.PARAM_MISS);
+        }
+        if(StringUtils.isBlank(dto.getMobile())){
+            return Result.error(ResultCode.PARAM_MISS);
+        }
+        if(StringUtils.isBlank(dto.getMobile())){
+            return Result.error(ResultCode.PARAM_MISS);
+        }
+        List<BusMeetingRoomScheduleDetailDto> detailList = dto.getDetailList();
+
+        if(CollectionUtil.isEmpty(detailList)){
+            return Result.error(ResultCode.PARAM_MISS,"档期预定不能为空,请重新填入!");
+        }
+        /**
+         * 验证参数是否正确
+         */
+        List<BusMeetingRoomScheduleDetailDto> distinctDetailList = detailList.stream().distinct().collect(Collectors.toList());
+
+        if(distinctDetailList.size() != detailList.size()) {
+            return Result.error(ResultCode.PARAM_VALID_ERROR,"数据重复!");
+        }
+        try {
+            return roomScheduleService.create(dto);
+        }catch (Exception e){
+            return Result.error(e.getMessage());
+        }
+    }
+}
+

+ 18 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/dto/BusMeetingRoomScheduleDetailDto.java

@@ -0,0 +1,18 @@
+package org.jeecg.modules.business.dto;
+
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Data
+public class BusMeetingRoomScheduleDetailDto {
+    /**
+     * 会议日期
+     */
+    private String meetingDate;
+
+    /**
+     * 会议时段  1 上午 2 中午 3下午
+     */
+    private Integer timeSpan;
+}

+ 15 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/dto/BusMeetingRoomScheduleDto.java

@@ -0,0 +1,15 @@
+package org.jeecg.modules.business.dto;
+
+import lombok.Data;
+import org.jeecg.modules.business.entity.BusMeetingRoomSchedule;
+
+import java.util.List;
+
+/**
+ * 创建
+ */
+@Data
+public class BusMeetingRoomScheduleDto extends BusMeetingRoomSchedule {
+        private List<BusMeetingRoomScheduleDetailDto> detailList;
+
+}

+ 103 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/entity/BusMeetingRoomSchedule.java

@@ -0,0 +1,103 @@
+package org.jeecg.modules.business.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 会议室预定表
+ * </p>
+ *
+ * @author fendo
+ * @since 2023-03-15
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("bus_meeting_room_schedule")
+public class BusMeetingRoomSchedule extends Model<BusMeetingRoomSchedule> {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    private String id;
+
+    /**
+     * 关联租户
+     */
+    private String tenantId;
+
+    /**
+     * 关联酒店
+     */
+    private String hotelId;
+
+    /**
+     * 公司名称
+     */
+    private String name;
+
+    /**
+     * 会议主题
+     */
+    private String theme;
+
+    /**
+     * 预定人姓名
+     */
+    private String destinedName;
+
+    /**
+     * 联系电话
+     */
+    private String mobile;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 账单状态
+     */
+    private Integer billStatus;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+
+    public static final String ID = "id";
+
+    public static final String TENANT_ID = "tenant_id";
+
+    public static final String HOTEL_ID = "hotel_id";
+
+    public static final String NAME = "name";
+
+    public static final String THEME = "theme";
+
+    public static final String DESTINED_NAME = "destined_name";
+
+    public static final String MOBILE = "mobile";
+
+    public static final String REMARK = "remark";
+
+    public static final String BILL_STATUS = "bill_status";
+
+    public static final String CREATE_TIME = "create_time";
+
+    @Override
+    public Serializable pkVal() {
+        return this.id;
+    }
+
+}

+ 82 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/entity/BusMeetingRoomScheduleDetail.java

@@ -0,0 +1,82 @@
+package org.jeecg.modules.business.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 会议室预定档期表
+ * </p>
+ *
+ * @author fendo
+ * @since 2023-03-15
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("bus_meeting_room_schedule_detail")
+public class BusMeetingRoomScheduleDetail extends Model<BusMeetingRoomScheduleDetail> {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    private String id;
+
+    /**
+     * 关联租户
+     */
+    private String tenantId;
+
+    /**
+     * 关联酒店
+     */
+    private String hotelId;
+
+    /**
+     * 预定id
+     */
+    private String meetingRoomScheduleId;
+
+    /**
+     * 会议日期
+     */
+    private LocalDateTime meetingDate;
+
+    /**
+     * 会议时段  1 上午 2 中午 3下午
+     */
+    private Integer timeSpan;
+
+    /**
+     * 状态 0未确认 1 确认
+     */
+    private Integer status;
+
+
+    public static final String ID = "id";
+
+    public static final String TENANT_ID = "tenant_id";
+
+    public static final String HOTEL_ID = "hotel_id";
+
+    public static final String MEETING_ROOM_SCHEDULE_ID = "meeting_room_schedule_id";
+
+    public static final String MEETING_DATE = "meeting_date";
+
+    public static final String TIME_SPAN = "time_span";
+
+    public static final String STATUS = "status";
+
+    @Override
+    public Serializable pkVal() {
+        return this.id;
+    }
+
+}

+ 16 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/BusMeetingRoomScheduleDetailMapper.java

@@ -0,0 +1,16 @@
+package org.jeecg.modules.business.mapper;
+
+import org.jeecg.modules.business.entity.BusMeetingRoomScheduleDetail;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 会议室预定档期表 Mapper 接口
+ * </p>
+ *
+ * @author fendo
+ * @since 2023-03-15
+ */
+public interface BusMeetingRoomScheduleDetailMapper extends BaseMapper<BusMeetingRoomScheduleDetail> {
+
+}

+ 17 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/BusMeetingRoomScheduleMapper.java

@@ -0,0 +1,17 @@
+package org.jeecg.modules.business.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.business.entity.BusMeetingRoomSchedule;
+
+/**
+ * <p>
+ * 会议室预定表 Mapper 接口
+ * </p>
+ *
+ * @author fendo
+ * @since 2023-03-15
+ */
+public interface BusMeetingRoomScheduleMapper extends BaseMapper<BusMeetingRoomSchedule> {
+
+}

+ 16 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/IBusMeetingRoomScheduleDetailService.java

@@ -0,0 +1,16 @@
+package org.jeecg.modules.business.service;
+
+import org.jeecg.modules.business.entity.BusMeetingRoomScheduleDetail;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 会议室预定档期表 服务类
+ * </p>
+ *
+ * @author fendo
+ * @since 2023-03-15
+ */
+public interface IBusMeetingRoomScheduleDetailService extends IService<BusMeetingRoomScheduleDetail> {
+
+}

+ 37 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/BusMeetingRoomScheduleDetailServiceImpl.java

@@ -0,0 +1,37 @@
+package org.jeecg.modules.business.service.impl;
+
+import cn.hutool.core.collection.CollectionUtil;
+import org.jeecg.modules.business.entity.BusMeetingRoomScheduleDetail;
+import org.jeecg.modules.business.mapper.BusMeetingRoomScheduleDetailMapper;
+import org.jeecg.modules.business.service.IBusMeetingRoomScheduleDetailService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * <p>
+ * 会议室预定档期表 服务实现类
+ * </p>
+ *
+ * @author fendo
+ * @since 2023-03-15
+ */
+@Service
+public class BusMeetingRoomScheduleDetailServiceImpl extends ServiceImpl<BusMeetingRoomScheduleDetailMapper, BusMeetingRoomScheduleDetail> implements IBusMeetingRoomScheduleDetailService {
+
+    @Resource
+    private BusMeetingRoomScheduleDetailMapper scheduleDetailMapper;
+
+
+    /**
+     * 批量保存 复用接口
+     * @param detailList
+     * @return
+     */
+    public boolean saveBatchDetail(List<BusMeetingRoomScheduleDetail> detailList){
+        if(CollectionUtil.isEmpty(detailList)) return false;
+        return saveBatch(detailList);
+    }
+}

+ 75 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/BusMeetingRoomScheduleServiceImpl.java

@@ -0,0 +1,75 @@
+package org.jeecg.modules.business.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.util.TokenUtils;
+import org.jeecg.modules.business.dto.BusMeetingRoomScheduleDetailDto;
+import org.jeecg.modules.business.dto.BusMeetingRoomScheduleDto;
+import org.jeecg.modules.business.entity.BusMeetingRoomSchedule;
+import org.jeecg.modules.business.entity.BusMeetingRoomScheduleDetail;
+import org.jeecg.modules.business.mapper.BusMeetingRoomScheduleDetailMapper;
+import org.jeecg.modules.business.mapper.BusMeetingRoomScheduleMapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import javax.transaction.Transactional;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * <p>
+ * 会议室预定表 服务实现类
+ * </p>
+ *
+ * @author fendo
+ * @since 2023-03-15
+ */
+@Service
+public class BusMeetingRoomScheduleServiceImpl extends ServiceImpl<BusMeetingRoomScheduleMapper, BusMeetingRoomSchedule> implements IService<BusMeetingRoomSchedule> {
+       @Resource
+       private BusMeetingRoomScheduleMapper meetingRoomScheduleMapper;
+
+        @Resource
+        private BusMeetingRoomScheduleDetailServiceImpl meetingRoomScheduleDetailService;
+
+    /**
+     *
+     * @return
+     */
+    @Transactional(rollbackOn = Exception.class)
+    public Result create(BusMeetingRoomScheduleDto dto){
+        String tenantId = TokenUtils.currentTenantId();
+        String hotelId = dto.getHotelId();
+        /**
+         * 创建主表
+         */
+        BusMeetingRoomSchedule roomSchedule = new BusMeetingRoomSchedule();
+
+        BeanUtil.copyProperties(dto,roomSchedule);
+        roomSchedule.setTenantId(tenantId);
+        roomSchedule.setCreateTime(LocalDateTime.now());
+        meetingRoomScheduleMapper.insert(roomSchedule);
+
+        List<BusMeetingRoomScheduleDetailDto> detailList = dto.getDetailList();
+        List<BusMeetingRoomScheduleDetail> details = new ArrayList<>();
+        DateTimeFormatter struct = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+        detailList.forEach(v -> {
+            BusMeetingRoomScheduleDetail detail= new BusMeetingRoomScheduleDetail();
+            LocalDateTime meetingDate = LocalDate.parse(v.getMeetingDate(),struct).atStartOfDay();
+            detail.setMeetingDate(meetingDate);
+            detail.setTimeSpan(v.getTimeSpan().intValue());
+            detail.setTenantId(tenantId);
+            detail.setMeetingRoomScheduleId(roomSchedule.getId());
+            detail.setHotelId(hotelId);
+            details.add(detail);
+        });
+        meetingRoomScheduleDetailService.saveBatch(details);
+
+        return Result.ok("创建成功!");
+    }
+}

+ 1 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/rooms/controller/CesGoodsController.java

@@ -67,7 +67,7 @@ public class CesGoodsController extends JeecgController<CesGoods,CesGoodsService
 
     @ApiOperation(value="创建", notes="创建")
     @PostMapping(value = "/create")
-    public Result create(CesGoodsDto dto){
+    public Result create(@RequestBody  CesGoodsDto dto){
         if(StringUtils.isBlank(dto.getHotelId())){
             return Result.error(ResultCode.PARAM_MISS);
         }

+ 0 - 3
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/rooms/controller/CesGoodsUnitController.java

@@ -1,7 +1,6 @@
 package org.jeecg.modules.rooms.controller;
 
 
-import cn.hutool.core.collection.CollectionUtil;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.StringUtils;
 import org.jeecg.common.Enum.ResultCode;
@@ -10,12 +9,10 @@ import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.modules.rooms.DTO.CesGoodsUnitDeleteBatchDTO;
 import org.jeecg.modules.rooms.DTO.CesGoodsUnitDto;
 import org.jeecg.modules.rooms.DTO.CesGoodsUnitSearchDto;
-import org.jeecg.modules.rooms.DTO.CesRoomLayoutRemoveDto;
 import org.jeecg.modules.rooms.service.CesGoodsUnitServiceImpl;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
-import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 import java.util.stream.Collectors;

+ 2 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/rooms/service/CesGoodStockRecordsServiceImpl.java

@@ -54,10 +54,11 @@ public class CesGoodStockRecordsServiceImpl extends ServiceImpl<CesGoodStockReco
             //开启锁
             lock.lock();
             logger.info("开启 redis 资源锁");
-            
+
             //查询商品是否存在
             CesGoods goods = goodsService.fetchByIdAndHotelId(dto.getGoodId(),dto.getHotelId());
             if(ObjectUtils.isEmpty(goods)) return Result.error("商品数据未找到!");
+
             //业务逻辑处理 减库存 加库存 这样写更清晰
             int num = dto.getGoodNum().intValue();
             int count = goods.getInventory().intValue();

+ 1 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/rooms/service/CesGoodsServiceImpl.java

@@ -139,6 +139,7 @@ public class CesGoodsServiceImpl extends ServiceImpl<CesGoodsMapper, CesGoods> i
      * 修改
      * @param dto
      * @return
+     *
      */
     public Result modify(CesGoodsDto dto){
         CesGoods goods = goodsMapper.selectOne(Wrappers.<CesGoods>lambdaQuery().eq(CesGoods::getId,dto.getId()).eq(CesGoods::getInvalid,false));