HouseOrderServziceImpl.java 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520
  1. package com.template.services.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import com.baomidou.mybatisplus.core.metadata.IPage;
  4. import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
  5. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  6. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  7. import com.template.common.utils.DateUtil;
  8. import com.template.mapper.HouseOrderMapper;
  9. import com.template.model.pojo.*;
  10. import com.template.model.result.PageUtils;
  11. import com.template.model.vo.*;
  12. import com.template.services.*;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.stereotype.Service;
  15. import java.math.BigDecimal;
  16. import java.time.Duration;
  17. import java.time.LocalDate;
  18. import java.time.LocalDateTime;
  19. import java.time.ZoneId;
  20. import java.time.format.DateTimeFormatter;
  21. import java.time.format.TextStyle;
  22. import java.time.temporal.ChronoUnit;
  23. import java.util.Date;
  24. import java.util.List;
  25. import java.util.Locale;
  26. /**
  27. * <p>
  28. * 服务实现类
  29. * </p>
  30. *
  31. * @author ceshi
  32. * @since 2023-11-21
  33. */
  34. @Service
  35. public class HouseOrderServziceImpl extends ServiceImpl<HouseOrderMapper, HouseOrder> implements HouseOrderService {
  36. @Autowired
  37. HouseService houseService;
  38. @Autowired
  39. HousePriceService housePriceService;
  40. @Autowired
  41. UsersService usersService;
  42. @Autowired
  43. ClassScheduleService classScheduleService;
  44. @Autowired
  45. HouseOrderMapper houseOrderMapper;
  46. @Autowired
  47. ApplicationProcedureTemporaryService apts;
  48. @Autowired
  49. ApplicationProcedureTemporaryService applicationProcedureTemporaryService;
  50. @Override
  51. public BigDecimal getHouseOrderPrice(int houseOrderNumber, String userId, String houseId, String liveTime, String leaveTime,Integer source) {
  52. House house = houseService.getById(houseId);
  53. // 原价
  54. BigDecimal roomPrice = house.getRoomPrice();
  55. DateTimeFormatter dateTimeFormatter2 = DateTimeFormatter.ofPattern("yyyy-MM-dd");
  56. DateTimeFormatter dateTimeFormatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
  57. LocalDateTime stateTime = LocalDateTime.parse(liveTime, dateTimeFormatter1);
  58. LocalDateTime endTime = LocalDateTime.parse(leaveTime, dateTimeFormatter1);
  59. LocalDate state = stateTime.toLocalDate();
  60. LocalDate end = endTime.toLocalDate();
  61. // 获取这段时间内的所有改价记录
  62. List<HousePrice> housePrices = housePriceService.housePrice(stateTime, endTime, houseId);
  63. // 是否是钟点房
  64. Integer roomType = house.getRoomType();
  65. if (roomType == 2) {
  66. // 计算小时差
  67. Duration duration = Duration.between(stateTime, endTime);
  68. // 小时差
  69. long hours = duration.toHours();
  70. if (ObjectUtils.isNotEmpty(housePrices)) {
  71. for (HousePrice housePrice : housePrices) {
  72. String setDate = housePrice.getSetDate();
  73. String[] split = setDate.split(",");
  74. Date startDate = DateUtil.parseDateOnly(split[0]);
  75. Date endDate = DateUtil.parseDateOnly(split[1]);
  76. Date date1 = Date.from(stateTime.atZone(ZoneId.systemDefault()).toInstant());
  77. // 判断当前时间是否在[startTime, endTime]区间
  78. assert startDate != null;
  79. boolean effectiveDate = DateUtil.isEffectiveDate(date1, startDate, endDate);
  80. if (effectiveDate) {
  81. BigDecimal price = housePrice.getPrice();
  82. BigDecimal totalPrice = price.multiply(new BigDecimal(houseOrderNumber));
  83. return totalPrice;
  84. }
  85. }
  86. }
  87. BigDecimal totalPrice = roomPrice.multiply(new BigDecimal(houseOrderNumber));
  88. return totalPrice;
  89. }
  90. // 计算2个时间差
  91. long until = state.until(end, ChronoUnit.DAYS);
  92. // 获取这断时间内的上 8 9节课的老师
  93. Users users = usersService.getById(userId);
  94. // 判断你是老师还是临时人员
  95. String department = users.getDepartment();
  96. // 先判断免费来源是否是对的
  97. BigDecimal totalPrice = new BigDecimal(0);
  98. if (ObjectUtils.isNotEmpty(source)) {
  99. if (source==1) {
  100. // 获取预定时间的开始星期和结束星期
  101. String chineseDayOfWeek = state.getDayOfWeek().getDisplayName(TextStyle.FULL, Locale.CHINA);
  102. Integer week = 0;
  103. if ("星期一".equals(chineseDayOfWeek)) {
  104. week = 1;
  105. } else if ("星期二".equals(chineseDayOfWeek)) {
  106. week = 2;
  107. } else if ("星期三".equals(chineseDayOfWeek)) {
  108. week = 3;
  109. } else if ("星期四".equals(chineseDayOfWeek)) {
  110. week = 4;
  111. } else if ("星期五".equals(chineseDayOfWeek)) {
  112. week = 5;
  113. } else if ("星期六".equals(chineseDayOfWeek)) {
  114. week = 6;
  115. } else {
  116. week = 7;
  117. }
  118. LocalDate localDate = state.minusDays(week - 1);
  119. String stateTimeXq = localDate.format(dateTimeFormatter2);
  120. LocalDate localEnd = localDate.plusDays(6);
  121. String endTimeXq = localEnd.format(dateTimeFormatter2);
  122. // 查询该星期是否满足有2天的订单
  123. LambdaQueryWrapper<HouseOrder> wrapperHO = new LambdaQueryWrapper<>();
  124. wrapperHO.between(HouseOrder::getReserveLiveTime, stateTimeXq + " 00:00:00", endTimeXq + " 23:59:59")
  125. .eq(HouseOrder::getReserveUserId, userId)
  126. .eq(HouseOrder::getSource, 1)
  127. .eq(HouseOrder::getPayPrice, 0)
  128. .in(HouseOrder::getOrderStatus, 1, 2, 3, 4, 8);
  129. List<HouseOrder> orderList = this.list(wrapperHO);
  130. long dayDiff = 0;
  131. for (HouseOrder houseOrder : orderList) {
  132. String reserveLiveTime = houseOrder.getReserveLiveTime();
  133. String reserveLeaveTime = houseOrder.getReserveLeaveTime();
  134. LocalDateTime stateTime2 = LocalDateTime.parse(reserveLiveTime, dateTimeFormatter1);
  135. LocalDateTime endTime2 = LocalDateTime.parse(reserveLeaveTime, dateTimeFormatter1);
  136. LocalDate state1 = stateTime2.toLocalDate();
  137. LocalDate end2 = endTime2.toLocalDate();
  138. // 计算2个时间差
  139. long until2 = state1.until(end2, ChronoUnit.DAYS);
  140. dayDiff = dayDiff + until2;
  141. }
  142. // 计算2个时间差
  143. long until2 = state.until(end, ChronoUnit.DAYS);
  144. Integer count = 1;
  145. if (dayDiff + until2 > 2) {
  146. count = 0;
  147. } else {
  148. for (int i = 0; i < until; i++) {
  149. LocalDateTime dateTime1 = stateTime.plusDays(i);
  150. LocalDateTime startS = dateTime1.withHour(0).withMinute(0).withSecond(0);
  151. LocalDateTime endS = dateTime1.withHour(23).withMinute(59).withSecond(59);
  152. LambdaQueryWrapper<ClassSchedule> wrapperCS = new LambdaQueryWrapper<>();
  153. wrapperCS.eq(ClassSchedule::getJsgh, users.getCardNumber())
  154. .between(ClassSchedule::getDateTime, startS, endS);
  155. List<ClassSchedule> scheduleList = classScheduleService.list(wrapperCS);
  156. // 只要有一天是空的就不是免费
  157. if (ObjectUtils.isEmpty(scheduleList)) {
  158. count = 0;
  159. break;
  160. } else {
  161. // 有课表就查询是否已经有该订单了
  162. List<HouseOrder> list = this.getDate(dateTime1, userId, 1);
  163. if (ObjectUtils.isNotEmpty(list)) {
  164. count = 0;
  165. break;
  166. }
  167. }
  168. }
  169. }
  170. if (count > 0) {
  171. return totalPrice;
  172. }
  173. }else if (source==2){
  174. // 获取流程
  175. List<ApplicationProcedureTemporary> aptList = applicationProcedureTemporaryService.getApt(state, end, userId);
  176. Integer count = 1;
  177. if (ObjectUtils.isEmpty(aptList)) {
  178. count=1;
  179. } else {
  180. ApplicationProcedureTemporary applicationProcedureTemporary = aptList.get(0);
  181. String houseCount = applicationProcedureTemporary.getHouseCount();
  182. String startTime = applicationProcedureTemporary.getStartTime();
  183. String endTime1 = applicationProcedureTemporary.getEndTime();
  184. // 计算开始到结束时间有多少订单
  185. LambdaQueryWrapper<HouseOrder> wrapper = new LambdaQueryWrapper<>();
  186. wrapper.eq(HouseOrder::getReserveUserId, userId)
  187. .eq(HouseOrder::getSource, 2)
  188. .between(HouseOrder::getReserveLiveTime, startTime, endTime1)
  189. .eq(HouseOrder::getPayPrice, 0)
  190. .in(HouseOrder::getOrderStatus, 1, 2, 3, 4, 8);
  191. List<HouseOrder> list = this.list(wrapper);
  192. Integer count2 = Integer.valueOf(houseCount);
  193. count = count2 - list.size();
  194. }
  195. if (count > 0) {
  196. return totalPrice;
  197. }
  198. }
  199. }
  200. for (int i = 0; i < until; i++) {
  201. LocalDate localDate1 = state.plusDays(i);
  202. LocalDateTime dateTime1 = stateTime.plusDays(i);
  203. List<HousePrice> housePrices1 = housePriceService.getDatePrice(localDate1, houseId);
  204. // if ("4".equals(department)) {
  205. //
  206. // LocalDateTime startS = dateTime1.withHour(0).withMinute(0).withSecond(0);
  207. // LocalDateTime endS = dateTime1.withHour(23).withMinute(59).withSecond(59);
  208. // LambdaQueryWrapper<ClassSchedule> wrapperCS = new LambdaQueryWrapper<>();
  209. // wrapperCS.eq(ClassSchedule::getJsgh, users.getCardNumber())
  210. // .between(ClassSchedule::getDateTime, startS, endS);
  211. // List<ClassSchedule> scheduleList = classScheduleService.list(wrapperCS);
  212. //
  213. // if (ObjectUtils.isEmpty(scheduleList)) {
  214. // if (ObjectUtils.isNotEmpty(housePrices1)) {
  215. // HousePrice housePrice = housePrices1.get(housePrices1.size() - 1);
  216. // BigDecimal price = housePrice.getPrice();
  217. // totalPrice = totalPrice.add(price);
  218. // } else {
  219. // totalPrice = totalPrice.add(roomPrice);
  220. // }
  221. // }else {
  222. //// 需要先判断当前时间是否已经有过订单,有的话则不免费
  223. //// dateTime1
  224. // List<HouseOrder> list = houseOrderMapper.getDate(dateTime1, userId,1);
  225. // if (list.size() > 0) {
  226. // if (ObjectUtils.isNotEmpty(housePrices1)) {
  227. // HousePrice housePrice = housePrices1.get(housePrices1.size() - 1);
  228. // BigDecimal price = housePrice.getPrice();
  229. // totalPrice = totalPrice.add(price);
  230. // } else {
  231. // totalPrice = totalPrice.add(roomPrice);
  232. // }
  233. // }
  234. // }
  235. //
  236. //
  237. //
  238. // }else if ("7".equals(department)) {
  239. // List<ApplicationProcedureTemporary> list = apts.getDate(dateTime1, userId);
  240. // if (ObjectUtils.isNotEmpty(list)) {
  241. //// 当有临时表时需要判断是否已经有订单,有的话则原价
  242. // List<HouseOrder> list2 = houseOrderMapper.getDate(dateTime1, userId,2);
  243. // if (ObjectUtils.isNotEmpty(list2)) {
  244. // if (ObjectUtils.isNotEmpty(housePrices1)) {
  245. // HousePrice housePrice = housePrices1.get(housePrices1.size() - 1);
  246. // BigDecimal price = housePrice.getPrice();
  247. // totalPrice = totalPrice.add(price);
  248. // } else {
  249. // totalPrice = totalPrice.add(roomPrice);
  250. // }
  251. // }
  252. // } else {
  253. // if (ObjectUtils.isNotEmpty(housePrices1)) {
  254. // HousePrice housePrice = housePrices1.get(housePrices1.size() - 1);
  255. // BigDecimal price = housePrice.getPrice();
  256. // totalPrice = totalPrice.add(price);
  257. // } else {
  258. // totalPrice = totalPrice.add(roomPrice);
  259. // }
  260. // }
  261. //
  262. //
  263. //
  264. //
  265. // } else {
  266. if (ObjectUtils.isNotEmpty(housePrices1)) {
  267. if (ObjectUtils.isNotEmpty(housePrices1)) {
  268. HousePrice housePrice = housePrices1.get(housePrices1.size() - 1);
  269. BigDecimal price = housePrice.getPrice();
  270. totalPrice = totalPrice.add(price);
  271. }
  272. } else {
  273. totalPrice = totalPrice.add(roomPrice);
  274. }
  275. }
  276. return totalPrice.multiply(new BigDecimal(houseOrderNumber));
  277. }
  278. @Override
  279. public PriceVo reservePrice(String houseId, String cardNumber, String liveTime, String leaveTime) {
  280. PriceVo priceVo = new PriceVo();
  281. House house = houseService.getById(houseId);
  282. // 原价
  283. BigDecimal roomPrice = house.getRoomPrice();
  284. DateTimeFormatter dateTimeFormatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
  285. DateTimeFormatter dateTimeFormatter2 = DateTimeFormatter.ofPattern("yyyy-MM-dd");
  286. LocalDateTime stateTime = LocalDateTime.parse(liveTime, dateTimeFormatter1);
  287. LocalDateTime endTime = LocalDateTime.parse(leaveTime, dateTimeFormatter1);
  288. // 获取这段时间内的所有改价记录
  289. List<HousePrice> housePrices = housePriceService.housePrice(stateTime, endTime, houseId);
  290. // 是否是钟点房 是的话则不需要判断是否有免费的
  291. Integer roomType = house.getRoomType();
  292. if (roomType == 2) {
  293. // 计算小时差
  294. Duration duration = Duration.between(stateTime, endTime);
  295. // 小时差
  296. long hours = duration.toHours();
  297. if (ObjectUtils.isNotEmpty(housePrices)) {
  298. HousePrice housePrice = housePrices.get(housePrices.size() - 1);
  299. // for (HousePrice housePrice : housePrices) {
  300. // String setDate = housePrice.getSetDate();
  301. // String[] split = setDate.split(",");
  302. // Date startDate = DateUtil.parseDateOnly(split[0]);
  303. // Date endDate = DateUtil.parseDateOnly(split[1]);
  304. // Date date1 = Date.from(stateTime.atZone(ZoneId.systemDefault()).toInstant());
  305. // // 判断当前时间是否在[startTime, endTime]区间
  306. // assert startDate != null;
  307. // boolean effectiveDate = DateUtil.isEffectiveDate(date1, startDate, endDate);
  308. // if (effectiveDate) {
  309. BigDecimal price = housePrice.getPrice();
  310. BigDecimal totalPrice = price;
  311. priceVo.setTotalPrice(totalPrice);
  312. priceVo.setPrice(price);
  313. return priceVo;
  314. // }
  315. // }
  316. }
  317. BigDecimal totalPrice = roomPrice;
  318. priceVo.setTotalPrice(totalPrice);
  319. priceVo.setPrice(roomPrice);
  320. return priceVo;
  321. }
  322. LocalDate state = LocalDateTime.parse(liveTime, dateTimeFormatter1).toLocalDate();
  323. LocalDate end = LocalDateTime.parse(leaveTime, dateTimeFormatter1).toLocalDate();
  324. // 计算2个时间差
  325. long until = state.until(end, ChronoUnit.DAYS);
  326. // 获取这断时间内的上 8 9节课的老师
  327. LambdaQueryWrapper<ClassSchedule> wrapperCS = new LambdaQueryWrapper<>();
  328. wrapperCS.eq(ClassSchedule::getJsgh, cardNumber)
  329. .between(ClassSchedule::getDateTime, state, end);
  330. List<ClassSchedule> scheduleList = classScheduleService.list(wrapperCS);
  331. BigDecimal totalPrice = new BigDecimal(0);
  332. for (int i = 0; i < until; i++) {
  333. LocalDate localDate1 = state.plusDays(i);
  334. List<HousePrice> housePrices1 = housePriceService.getDatePrice(localDate1, houseId);
  335. if (ObjectUtils.isNotEmpty(scheduleList)) {
  336. for (ClassSchedule classSchedule : scheduleList) {
  337. String dateTime = classSchedule.getDateTime();
  338. String[] s = dateTime.split(" ");
  339. dateTime = s[0];
  340. LocalDate parse = LocalDate.parse(dateTime, dateTimeFormatter2);
  341. if (!localDate1.equals(parse)) {
  342. if (ObjectUtils.isNotEmpty(housePrices1)) {
  343. HousePrice housePrice = housePrices1.get(housePrices1.size() - 1);
  344. BigDecimal price = housePrice.getPrice();
  345. totalPrice = totalPrice.add(price);
  346. } else {
  347. totalPrice = totalPrice.add(roomPrice);
  348. }
  349. // for (HousePrice housePrice : housePrices) {
  350. // String setDate = housePrice.getSetDate();
  351. // String[] split = setDate.split(",");
  352. // Date startDate = DateUtil.parseDateOnly(split[0]);
  353. // Date endDate = DateUtil.parseDateOnly(split[1]);
  354. // Date date1 = Date.from(localDate1.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant());
  355. // // 判断当前时间是否在[startTime, endTime]区间
  356. // assert startDate != null;
  357. // boolean effectiveDate = DateUtil.isEffectiveDate(date1, startDate, endDate);
  358. // if (effectiveDate) {
  359. // BigDecimal price = housePrice.getPrice();
  360. // totalPrice = totalPrice.add(price);
  361. // } else {
  362. // totalPrice = totalPrice.add(roomPrice);
  363. // }
  364. // }
  365. }
  366. }
  367. } else {
  368. if (ObjectUtils.isNotEmpty(housePrices1)) {
  369. HousePrice housePrice = housePrices1.get(housePrices1.size() - 1);
  370. BigDecimal price = housePrice.getPrice();
  371. totalPrice = totalPrice.add(price);
  372. // for (HousePrice housePrice : housePrices) {
  373. // String setDate = housePrice.getSetDate();
  374. // String[] split = setDate.split(",");
  375. // Date startDate = DateUtil.parseDateOnly(split[0]);
  376. // Date endDate = DateUtil.parseDateOnly(split[1]);
  377. // Date date1 = Date.from(localDate1.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant());
  378. // // 判断当前时间是否在[startTime, endTime]区间
  379. // assert startDate != null;
  380. // boolean effectiveDate = DateUtil.isEffectiveDate(date1, startDate, endDate);
  381. // if (effectiveDate) {
  382. // BigDecimal price = housePrice.getPrice();
  383. // totalPrice = totalPrice.add(price);
  384. // } else {
  385. // totalPrice = totalPrice.add(roomPrice);
  386. // }
  387. // }
  388. } else {
  389. totalPrice = totalPrice.add(roomPrice);
  390. }
  391. }
  392. }
  393. priceVo.setTotalPrice(totalPrice);
  394. BigDecimal price = new BigDecimal(0);
  395. if (totalPrice.doubleValue() > 0) {
  396. price = totalPrice.divide(new BigDecimal(until), 2, BigDecimal.ROUND_HALF_UP);
  397. }
  398. priceVo.setPrice(price);
  399. return priceVo;
  400. }
  401. @Override
  402. public PageUtils<HouseOrderPageListVo> pageList(int page, int size, String keyWord, String houseType, String orderStatus, String payPriceStartTime, String payPriceEndTime, String refundStartTime, String refundEndTime, String cancelStartTime, String cancelEndTime, String liveStartTime, String liveEndTime, String leaveStartTime, String leaveEndTime, String houseId, Integer keyType, Integer giveBack, Integer buildingId,Integer orgId) {
  403. Page<HouseOrderPageListVo> pageVo = new Page<>(page, size);
  404. IPage<HouseOrderPageListVo> result = houseOrderMapper.pageList(pageVo, keyWord, houseType, orderStatus, payPriceStartTime, payPriceEndTime, refundStartTime, refundEndTime, cancelStartTime, cancelEndTime, liveStartTime, liveEndTime, leaveStartTime, leaveEndTime, houseId, keyType, giveBack, buildingId,orgId);
  405. return new PageUtils(result);
  406. }
  407. @Override
  408. public List<QueryExportVo> queryExport(String keyWord, String houseType, String orderStatus, String payPriceStartTime, String payPriceEndTime, String refundStartTime, String refundEndTime, String cancelStartTime, String cancelEndTime, String liveStartTime, String liveEndTime, String leaveStartTime, String leaveEndTime, String houseId, Integer keyType, Integer giveBack, Integer buildingId,Integer orgId) {
  409. return houseOrderMapper.queryExport(keyWord, houseType, orderStatus, payPriceStartTime, payPriceEndTime, refundStartTime, refundEndTime, cancelStartTime, cancelEndTime, liveStartTime, liveEndTime, leaveStartTime, leaveEndTime, houseId, keyType, giveBack, buildingId,orgId);
  410. }
  411. @Override
  412. public HouseOrderCheckInShowVo getOrderNumbre(String orderNumber) {
  413. return houseOrderMapper.getOrderNumber(orderNumber);
  414. }
  415. @Override
  416. public PageUtils<ReportStatisticsVo> reportStatisticsPage(String s, String keyWord, String startTime, String endTime, int page, int size) {
  417. Page<ReportStatisticsVo> pageVo = new Page<>(page, size);
  418. IPage<ReportStatisticsVo> result = houseOrderMapper.reportStatisticsPage(pageVo, s, keyWord, startTime, endTime);
  419. return new PageUtils(result);
  420. }
  421. @Override
  422. public List<ReportStatisticsExportVo> reportStatisticsExport(String s, String keyWord, String startTime, String endTime) {
  423. return houseOrderMapper.reportStatisticsExport(s, keyWord, startTime, endTime);
  424. }
  425. @Override
  426. public List<String> payHouseOrderUser(LocalDateTime start, LocalDateTime end) {
  427. return houseOrderMapper.payHouseOrderUser(start, end);
  428. }
  429. @Override
  430. public List<HouseOrder> getDate(LocalDateTime dateTime1, String userId,Integer source) {
  431. return houseOrderMapper.getDate(dateTime1, userId,source);
  432. }
  433. @Override
  434. public List<HouseOrderWaterVo> getWater(String houseOrderSource) {
  435. return houseOrderMapper.getWater(houseOrderSource);
  436. }
  437. @Override
  438. public List<HouseOrderElectricVo> getElectric(String houseOrderSource) {
  439. return houseOrderMapper.getElectric(houseOrderSource);
  440. }
  441. @Override
  442. public List<HouseOrderWaterAndElectricVo> getWaterAndElectric(String houseOrderSource) {
  443. return houseOrderMapper.getWaterAndElectric(houseOrderSource);
  444. }
  445. }