BookImplService.java 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  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.dao.BookDao;
  10. import com.happy.dto.BookTypeEto;
  11. import com.happy.dto.IPage;
  12. import com.happy.service.AdminManagerService;
  13. import com.happy.service.BookService;
  14. import org.springframework.stereotype.Service;
  15. import javax.annotation.Resource;
  16. import java.awt.print.Book;
  17. import java.util.Date;
  18. import java.util.List;
  19. @Service("BookService")
  20. public class BookImplService implements BookService {
  21. @Resource
  22. public BookDao bookDao;
  23. @Resource
  24. public AdminManagerService adminManagerService;
  25. @Override
  26. public int insertBooking(Booking book) {
  27. return bookDao.insertBooking(book);
  28. }
  29. @Override
  30. public int updateBooking(Booking book) {
  31. return bookDao.updateBooking(book);
  32. }
  33. @Override
  34. public int delBooking(int id) {
  35. return bookDao.delBooking(id);
  36. }
  37. @Override
  38. public Booking getById(int id) {
  39. return bookDao.getById(id);
  40. }
  41. @Override
  42. public IPage<Booking> queryPage(String sqlx, int page, int rows) {
  43. IPage<Booking> iPage = new IPage();
  44. List<Booking> bookList = bookDao.queryPage(sqlx,page,rows);
  45. int total = bookDao.queryTotal(sqlx);
  46. iPage.setPageList(bookList);
  47. iPage.setPage(page);
  48. iPage.setTotalPage( (int)Math.ceil((double)total/rows));
  49. iPage.setRows(rows);
  50. iPage.setTotal(total);
  51. return iPage;
  52. }
  53. @Override
  54. public List<Booking> queryList(String sqlx) {
  55. return bookDao.queryList(sqlx);
  56. }
  57. @Override
  58. public Booking getOen(String sqlx){
  59. List<Booking> list = bookDao.queryList(sqlx);
  60. if(list!=null && list.size()>0) return list.get(0);
  61. return null;
  62. }
  63. @Override
  64. public Double sumAccount(String sqlx){
  65. return bookDao.sumAccount(sqlx);
  66. }
  67. @Override
  68. public BookTypeEto getBookStatusSum(String sqlx){
  69. return bookDao.getBookStatusSum(sqlx);
  70. }
  71. @Override
  72. public String cancelBooking(String bookingId) throws Exception {
  73. if (Func.checkNull(bookingId))
  74. return "未传入订单id";
  75. Booking book = bookDao.getById(Func.parseInt(bookingId));
  76. //是否能取消订单(1是 2否)
  77. if (Func.parseInt(book.getHotelIsCanorder()) == 2)
  78. return "商家设置不可取消订单,请联系商家";
  79. AdminManager adminManager = adminManagerService.getById(Func.parseInt(book.getHotelManagerId()));
  80. //1待支付,2已支付,3待入住,4已入住,5已消费,6支付超时,7已取消,8已退单,9已退款,10退款中
  81. int status = Func.parseInt(book.getOrderStatus());
  82. if (status == 1)
  83. {
  84. book.setOrderStatus(Func.parseStr(PayEnum.SEVEN.getNum()));
  85. book.setUpdateTime(DateUtil.getFormatPaternDate(new Date()));
  86. bookDao.updateBooking(book);
  87. String sendMsg = "订单:"+ book.getOrderNum() +"已取消";
  88. // 推送消息给用户
  89. Message.send(adminManager.getOpenid(),book.getOrderNum(),book.getUserName(),sendMsg,book.getCreateTime());
  90. return null;
  91. }else if (status == 2 || status == 3)
  92. {
  93. book.setOrderStatus(Func.parseStr(PayEnum.SEVEN.getNum()));
  94. book.setUpdateTime(DateUtil.getFormatPaternDate(new Date()));
  95. // 注明需要退款: (标识走退款操作)
  96. book.setPayWay(OrderEnum.微信退款.toString());
  97. bookDao.updateBooking(book);
  98. String sendMsg = "订单:"+ book.getOrderNum() +"已取消";
  99. // 推送消息给用户
  100. Message.send(adminManager.getOpenid(),book.getOrderNum(),book.getUserName(),sendMsg,book.getCreateTime());
  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. }