BookImplService.java 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. package com.happy.service.impl;
  2. import com.happy.Model.AdminManager;
  3. import com.happy.Model.Booking;
  4. import com.happy.Until.DateUtil;
  5. import com.happy.Until.Enum.OrderEnum;
  6. import com.happy.Until.Enum.PayEnum;
  7. import com.happy.Until.Func;
  8. import com.happy.common.http.Message;
  9. import com.happy.common.http.Message2;
  10. import com.happy.dao.BookDao;
  11. import com.happy.dto.BookTypeEto;
  12. import com.happy.dto.IPage;
  13. import com.happy.service.AdminManagerService;
  14. import com.happy.service.BookService;
  15. import org.springframework.stereotype.Service;
  16. import javax.annotation.Resource;
  17. import java.awt.print.Book;
  18. import java.util.Date;
  19. import java.util.List;
  20. @Service("BookService")
  21. public class BookImplService implements BookService {
  22. @Resource
  23. public BookDao bookDao;
  24. @Resource
  25. public AdminManagerService adminManagerService;
  26. @Override
  27. public int insertBooking(Booking book) {
  28. return bookDao.insertBooking(book);
  29. }
  30. @Override
  31. public int updateBooking(Booking book) {
  32. return bookDao.updateBooking(book);
  33. }
  34. @Override
  35. public int delBooking(int id) {
  36. return bookDao.delBooking(id);
  37. }
  38. @Override
  39. public Booking getById(int id) {
  40. return bookDao.getById(id);
  41. }
  42. @Override
  43. public IPage<Booking> queryPage(String sqlx, int page, int rows) {
  44. IPage<Booking> iPage = new IPage();
  45. List<Booking> bookList = bookDao.queryPage(sqlx,page,rows);
  46. int total = bookDao.queryTotal(sqlx);
  47. iPage.setPageList(bookList);
  48. iPage.setPage(page);
  49. iPage.setTotalPage( (int)Math.ceil((double)total/rows));
  50. iPage.setRows(rows);
  51. iPage.setTotal(total);
  52. return iPage;
  53. }
  54. @Override
  55. public List<Booking> queryList(String sqlx) {
  56. return bookDao.queryList(sqlx);
  57. }
  58. @Override
  59. public Booking getOen(String sqlx){
  60. List<Booking> list = bookDao.queryList(sqlx);
  61. if(list!=null && list.size()>0) return list.get(0);
  62. return null;
  63. }
  64. @Override
  65. public Double sumAccount(String sqlx){
  66. return bookDao.sumAccount(sqlx);
  67. }
  68. @Override
  69. public BookTypeEto getBookStatusSum(String sqlx){
  70. return bookDao.getBookStatusSum(sqlx);
  71. }
  72. @Override
  73. public String cancelBooking(String bookingId) throws Exception {
  74. if (Func.checkNull(bookingId))
  75. return "未传入订单id";
  76. Booking book = bookDao.getById(Func.parseInt(bookingId));
  77. //是否能取消订单(1是 2否)
  78. if (Func.parseInt(book.getHotelIsCanorder()) == 2)
  79. return "商家设置不可取消订单,请联系商家";
  80. AdminManager adminManager = adminManagerService.getById(Func.parseInt(book.getHotelManagerId()));
  81. //1待支付,2已支付,3待入住,4已入住,5已消费,6支付超时,7已取消,8已退单,9已退款,10退款中
  82. int status = Func.parseInt(book.getOrderStatus());
  83. if (status == 1)
  84. {
  85. book.setOrderStatus(Func.parseStr(PayEnum.SEVEN.getNum())); // 如果在1待支付情况,用户点击取消订单按钮,后台直接修改取消订单操作
  86. book.setUpdateTime(DateUtil.getFormatPaternDate(new Date()));
  87. book.setRemake(Func.parseStr(PayEnum.FIVE.getNum()));
  88. bookDao.updateBooking(book);
  89. return null;
  90. }else if (status == 2 || status == 3)
  91. {
  92. book.setOrderStatus(Func.parseStr(PayEnum.TEN.getNum())); // 如果在2已支付,3待入住 情况,用户点击取消订单按钮,后台先修改状态为退款中,然后走退款流程
  93. book.setUpdateTime(DateUtil.getFormatPaternDate(new Date()));
  94. book.setRemake(Func.parseStr(PayEnum.FIVE.getNum()));
  95. if (book.getPayAccount() > 0)
  96. {
  97. // 注明如果支付金额大于0,则需要退款: (标识走退款操作)
  98. book.setRefundWay(OrderEnum.微信退款.toString());
  99. }
  100. bookDao.updateBooking(book);
  101. return null;
  102. }
  103. return "当前状态下,不可取消订单";
  104. }
  105. @Override
  106. public String delBooking(String bookingId) {
  107. if (Func.checkNull(bookingId))
  108. return "未传入订单id";
  109. // 是否假删除:1删除,2正常
  110. Booking book = bookDao.getById(Func.parseInt(bookingId));
  111. if (book == null)
  112. return "无此订单,请重新查询";
  113. book.setIsDelete(0);
  114. book.setUpdateTime(DateUtil.getFormatPaternDate(new Date()));
  115. bookDao.updateBooking(book);
  116. return null;
  117. }
  118. @Override
  119. public Booking queryByOrder(String orderNum) {
  120. List<Booking> list = bookDao.queryList("and order_num = '"+orderNum+"'");
  121. if(list!=null && list.size()>0) return list.get(0);
  122. return null;
  123. }
  124. }