package com.template.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.template.api.HousePriceAPI; import com.template.model.dto.AlterDto; import com.template.model.dto.AlterPriceDto; import com.template.model.pojo.House; import com.template.model.pojo.HousePrice; import com.template.model.pojo.PermissionSetting; import com.template.model.result.CommonResult; import com.template.model.result.PageUtils; import com.template.model.vo.AlterPriceRecordVo; import com.template.model.vo.RoomTypeVo; import com.template.services.HousePriceService; import com.template.services.HouseService; import com.template.services.PermissionSettingService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RestController; import java.math.BigDecimal; import java.util.ArrayList; import java.util.HashMap; import java.util.List; /** *

* 前端控制器 *

* * @author ceshi * @since 2023-11-09 */ @RestController public class HousePriceController implements HousePriceAPI { @Autowired HouseService houseService; @Autowired PermissionSettingService permissionSettingService; @Autowired HousePriceService housePriceService; @Override public CommonResult roomType() { List roomTypeList = houseService.roomType(); // 全日 ArrayList day = new ArrayList<>(); // 钟点 ArrayList hour = new ArrayList<>(); for (RoomTypeVo roomTypeVo : roomTypeList) { String roomType = roomTypeVo.getRoomType(); if ("1".equals(roomType)) { day.add(roomTypeVo); } else { hour.add(roomTypeVo); } } HashMap> map = new HashMap<>(); map.put("day", day); map.put("hour", hour); return CommonResult.ok(map); } @Override public CommonResult alterPrice(AlterPriceDto alterPriceDto) { if (ObjectUtils.isEmpty(alterPriceDto) && ObjectUtils.isEmpty(alterPriceDto.getAdminId())) { return CommonResult.fail(); } int adminId = alterPriceDto.getAdminId(); PermissionSetting permissionSetting = permissionSettingService.getById(adminId); if (ObjectUtils.isEmpty(permissionSetting)) { return CommonResult.fail("非法进入"); } // 判断该用户是否拥有权限 String houseTypeManagement = permissionSetting.getHouseTypeManagement(); if (!"0".equals(houseTypeManagement) && !"4".equals(houseTypeManagement)) { return CommonResult.fail("此账号暂无该权限"); } ArrayList housePrices = new ArrayList<>(); // 获取改价内容 List list = alterPriceDto.getAlterDtoList(); for (AlterDto alterDto : list) { int type = alterDto.getType(); String name = alterDto.getName(); LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(House::getRoomType, type) .eq(House::getRoomName, name); House house = houseService.getOne(wrapper); if (ObjectUtils.isNotEmpty(house)) { BigDecimal roomPrice = house.getRoomPrice(); HousePrice housePrice = new HousePrice(); BigDecimal price = alterDto.getPrice(); // 改价后的价格 housePrice.setPrice(price); // 原价 housePrice.setOriginalPrice(roomPrice); // 房型id housePrice.setHouseId(house.getId()+""); // 设置日期 housePrice.setSetDate(alterDto.getDate()); housePrices.add(housePrice); } } boolean b = housePriceService.saveBatch(housePrices); if (b) { return CommonResult.ok(); } return CommonResult.fail(); } @Override public CommonResult alterPriceRecord(int adminId, String type, String houseName, String operatingTime, String priceTime, String operatingName,int page,int size) { if (ObjectUtils.isEmpty(adminId)) { return CommonResult.fail(); } PermissionSetting permissionSetting = permissionSettingService.getById(adminId); if (ObjectUtils.isEmpty(permissionSetting)) { return CommonResult.fail("非法进入"); } // 判断该用户是否拥有权限 String houseTypeManagement = permissionSetting.getHouseTypeManagement(); if (!"0".equals(houseTypeManagement) && !"5".equals(houseTypeManagement)) { return CommonResult.fail("此账号暂无该权限"); } if (ObjectUtils.isEmpty(page) && page <= 0) { page = 1; } if (ObjectUtils.isEmpty(size) && size <= 0) { size = 10; } if (ObjectUtils.isNotEmpty(operatingTime)) { if (operatingTime.split(",").length != 2) { return CommonResult.fail("参数异常"); } } if (ObjectUtils.isNotEmpty(priceTime)) { if (priceTime.split(",").length != 2) { return CommonResult.fail("参数异常"); } } PageUtils voPageUtils=housePriceService.alterPriceRecord(type,houseName,operatingTime,priceTime,operatingName,page,size); return CommonResult.ok(voPageUtils); } }