HousePriceController.java 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. package com.template.controller;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
  4. import com.template.api.HousePriceAPI;
  5. import com.template.model.dto.AlterDto;
  6. import com.template.model.dto.AlterPriceDto;
  7. import com.template.model.pojo.House;
  8. import com.template.model.pojo.HousePrice;
  9. import com.template.model.pojo.PermissionSetting;
  10. import com.template.model.result.CommonResult;
  11. import com.template.model.result.PageUtils;
  12. import com.template.model.vo.AlterPriceRecordVo;
  13. import com.template.model.vo.RoomTypeVo;
  14. import com.template.services.HousePriceService;
  15. import com.template.services.HouseService;
  16. import com.template.services.PermissionSettingService;
  17. import org.springframework.beans.factory.annotation.Autowired;
  18. import org.springframework.web.bind.annotation.RestController;
  19. import java.math.BigDecimal;
  20. import java.util.ArrayList;
  21. import java.util.HashMap;
  22. import java.util.List;
  23. /**
  24. * <p>
  25. * 前端控制器
  26. * </p>
  27. *
  28. * @author ceshi
  29. * @since 2023-11-09
  30. */
  31. @RestController
  32. public class HousePriceController implements HousePriceAPI {
  33. @Autowired
  34. HouseService houseService;
  35. @Autowired
  36. PermissionSettingService permissionSettingService;
  37. @Autowired
  38. HousePriceService housePriceService;
  39. @Override
  40. public CommonResult roomType() {
  41. List<RoomTypeVo> roomTypeList = houseService.roomType();
  42. // 全日
  43. ArrayList<RoomTypeVo> day = new ArrayList<>();
  44. // 钟点
  45. ArrayList<RoomTypeVo> hour = new ArrayList<>();
  46. for (RoomTypeVo roomTypeVo : roomTypeList) {
  47. String roomType = roomTypeVo.getRoomType();
  48. if ("1".equals(roomType)) {
  49. day.add(roomTypeVo);
  50. } else {
  51. hour.add(roomTypeVo);
  52. }
  53. }
  54. HashMap<String, List<RoomTypeVo>> map = new HashMap<>();
  55. map.put("day", day);
  56. map.put("hour", hour);
  57. return CommonResult.ok(map);
  58. }
  59. @Override
  60. public CommonResult alterPrice(AlterPriceDto alterPriceDto) {
  61. if (ObjectUtils.isEmpty(alterPriceDto) && ObjectUtils.isEmpty(alterPriceDto.getAdminId())) {
  62. return CommonResult.fail();
  63. }
  64. int adminId = alterPriceDto.getAdminId();
  65. PermissionSetting permissionSetting = permissionSettingService.getById(adminId);
  66. if (ObjectUtils.isEmpty(permissionSetting)) {
  67. return CommonResult.fail("非法进入");
  68. }
  69. // 判断该用户是否拥有权限
  70. String houseTypeManagement = permissionSetting.getHouseTypeManagement();
  71. if (!"0".equals(houseTypeManagement) && !"4".equals(houseTypeManagement)) {
  72. return CommonResult.fail("此账号暂无该权限");
  73. }
  74. ArrayList<HousePrice> housePrices = new ArrayList<>();
  75. // 获取改价内容
  76. List<AlterDto> list = alterPriceDto.getAlterDtoList();
  77. for (AlterDto alterDto : list) {
  78. int type = alterDto.getType();
  79. String name = alterDto.getName();
  80. LambdaQueryWrapper<House> wrapper = new LambdaQueryWrapper<>();
  81. wrapper.eq(House::getRoomType, type)
  82. .eq(House::getRoomName, name);
  83. House house = houseService.getOne(wrapper);
  84. if (ObjectUtils.isNotEmpty(house)) {
  85. BigDecimal roomPrice = house.getRoomPrice();
  86. HousePrice housePrice = new HousePrice();
  87. BigDecimal price = alterDto.getPrice();
  88. // 改价后的价格
  89. housePrice.setPrice(price);
  90. // 原价
  91. housePrice.setOriginalPrice(roomPrice);
  92. // 房型id
  93. housePrice.setHouseId(house.getId()+"");
  94. // 设置日期
  95. housePrice.setSetDate(alterDto.getDate());
  96. housePrices.add(housePrice);
  97. }
  98. }
  99. boolean b = housePriceService.saveBatch(housePrices);
  100. if (b) {
  101. return CommonResult.ok();
  102. }
  103. return CommonResult.fail();
  104. }
  105. @Override
  106. public CommonResult alterPriceRecord(int adminId, String type, String houseName, String operatingTime, String priceTime, String operatingName,int page,int size) {
  107. if (ObjectUtils.isEmpty(adminId)) {
  108. return CommonResult.fail();
  109. }
  110. PermissionSetting permissionSetting = permissionSettingService.getById(adminId);
  111. if (ObjectUtils.isEmpty(permissionSetting)) {
  112. return CommonResult.fail("非法进入");
  113. }
  114. // 判断该用户是否拥有权限
  115. String houseTypeManagement = permissionSetting.getHouseTypeManagement();
  116. if (!"0".equals(houseTypeManagement) && !"5".equals(houseTypeManagement)) {
  117. return CommonResult.fail("此账号暂无该权限");
  118. }
  119. if (ObjectUtils.isEmpty(page) && page <= 0) {
  120. page = 1;
  121. }
  122. if (ObjectUtils.isEmpty(size) && size <= 0) {
  123. size = 10;
  124. }
  125. if (ObjectUtils.isNotEmpty(operatingTime)) {
  126. if (operatingTime.split(",").length != 2) {
  127. return CommonResult.fail("参数异常");
  128. }
  129. }
  130. if (ObjectUtils.isNotEmpty(priceTime)) {
  131. if (priceTime.split(",").length != 2) {
  132. return CommonResult.fail("参数异常");
  133. }
  134. }
  135. PageUtils<AlterPriceRecordVo> voPageUtils=housePriceService.alterPriceRecord(type,houseName,operatingTime,priceTime,operatingName,page,size);
  136. return CommonResult.ok(voPageUtils);
  137. }
  138. }