BookingComplaintImplService.java 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. package com.happy.service.impl;
  2. import com.happy.Model.BookingComplaint;
  3. import com.happy.Model.FileInfo;
  4. import com.happy.Model.HotelCoupon;
  5. import com.happy.Model.House;
  6. import com.happy.Until.Enum.PayEnum;
  7. import com.happy.Until.Enum.ProgressEnum;
  8. import com.happy.dao.BookingComplainDao;
  9. import com.happy.dao.BookingLogDao;
  10. import com.happy.dao.FileInfoDao;
  11. import com.happy.dto.IPage;
  12. import com.happy.service.BookingComplaintProgressService;
  13. import com.happy.service.BookingComplaintService;
  14. import com.happy.service.FileService;
  15. import com.happy.vo.ComplaintPageVo;
  16. import com.happy.vo.DetailsVo;
  17. import com.happy.vo.PersonageCommentVo;
  18. import com.happy.vo.ProgressDetailsVo;
  19. import org.springframework.stereotype.Service;
  20. import org.springframework.transaction.annotation.Transactional;
  21. import javax.annotation.Resource;
  22. import java.util.ArrayList;
  23. import java.util.List;
  24. @Service("BookingComplaintService")
  25. public class BookingComplaintImplService implements BookingComplaintService {
  26. @Resource
  27. public BookingComplainDao bookingComplainDao;
  28. @Resource
  29. public FileInfoDao fileDao;
  30. @Resource
  31. public FileService fileService;
  32. @Resource
  33. public BookingComplaintProgressService bookingComplaintProgressService;
  34. @Override
  35. public IPage<BookingComplaint> queryPage(String sqlx,String sql, int page, int rows) {
  36. IPage<BookingComplaint> iPage = new IPage();
  37. List<BookingComplaint> houseList = bookingComplainDao.queryPage(sqlx,page,rows);
  38. int total = bookingComplainDao.queryTotal(sql);
  39. iPage.setPageList(houseList);
  40. iPage.setPage(page);
  41. iPage.setTotalPage( (int)Math.ceil((double)total/rows));
  42. iPage.setRows(rows);
  43. iPage.setTotal(total);
  44. return iPage;
  45. }
  46. @Override
  47. public int queryTotal(String sqlx) {
  48. return bookingComplainDao.queryTotal(sqlx);
  49. }
  50. @Override
  51. public BookingComplaint getById(String id) {
  52. BookingComplaint bookingComplaint = bookingComplainDao.getById(id);
  53. List<FileInfo> fileInfos = fileDao.queryList("and link_id ='" + id + "'");
  54. bookingComplaint.setFileInfos(fileInfos);
  55. return bookingComplaint;
  56. }
  57. @Override
  58. public List<BookingComplaint> toComplainExcel(String sqlx) {
  59. return bookingComplainDao.toComplainExcel(sqlx);
  60. }
  61. /**
  62. * 添加投诉
  63. * @param bookingId
  64. * @param hotelId
  65. * @param houseId
  66. * @param title
  67. * @param content
  68. * @param createId
  69. * @param createDate
  70. * @param modifyDate
  71. * @return
  72. */
  73. @Override
  74. @Transactional(rollbackFor = Exception.class)
  75. public int insert(String bookingId, String hotelId, String houseId, String title, String content, String createId, String createDate, String modifyDate,List<String> pictureList) {
  76. // 返回主键id
  77. String complaintId=bookingComplainDao.insert(bookingId,hotelId,houseId,title,content,createId,createDate,modifyDate);
  78. int i = 1;
  79. // ͼƬ
  80. if (pictureList != null && pictureList.size() > 0) {
  81. List<FileInfo> fileInfoList = new ArrayList<>();
  82. for (String s : pictureList) {
  83. String[] split = s.split("/");
  84. String s1 = split[split.length - 1];
  85. FileInfo fileInfo = new FileInfo();
  86. fileInfo.setLinkId(complaintId);
  87. fileInfo.setName(s1);
  88. fileInfo.setUrl(s);
  89. fileInfoList.add(fileInfo);
  90. }
  91. i = fileService.batchInsertFile(fileInfoList);
  92. }
  93. int cpInsert=bookingComplaintProgressService.insert(complaintId,createId,createDate,modifyDate);
  94. if (complaintId != null && i > 0 && cpInsert > 0) {
  95. return i;
  96. } else {
  97. return 0;
  98. }
  99. }
  100. /**
  101. * 投诉进度
  102. *
  103. * @param usersId
  104. * @param page
  105. * @param rows
  106. * @return
  107. */
  108. @Override
  109. public IPage<ComplaintPageVo> complaintPage(String usersId, int page, int rows) {
  110. IPage<ComplaintPageVo> iPage = new IPage();
  111. List<ComplaintPageVo> vos = bookingComplainDao.complaintPage(usersId, page, rows);
  112. if (vos != null && vos.size() > 0) {
  113. for (ComplaintPageVo vo : vos) {
  114. String valueBykey = vo.getOrderStatus() == null ? "" : PayEnum.getValueBykey(Integer.valueOf(vo.getOrderStatus()));
  115. vo.setOrderStatus(valueBykey);
  116. String valueBykey1 = vo.getProgressType() == null ? "" : ProgressEnum.getValueBykey(Integer.valueOf(vo.getProgressType()));
  117. vo.setProgressType(valueBykey1);
  118. }
  119. }
  120. int total = bookingComplainDao.complaintPageTotal(usersId);
  121. iPage.setPage(page);
  122. iPage.setTotalPage((int) Math.ceil((double) total / rows));
  123. iPage.setRows(rows);
  124. iPage.setTotal(total);
  125. iPage.setPageList(vos);
  126. return iPage;
  127. }
  128. /**
  129. * 投诉详情
  130. *
  131. * @param complaintId
  132. * @return
  133. */
  134. @Override
  135. public ProgressDetailsVo progressDetails(String complaintId) {
  136. ProgressDetailsVo vo = bookingComplainDao.progressDetails(complaintId);
  137. List<DetailsVo> detailsVoList = bookingComplainDao.detailsVoList(complaintId);
  138. if (detailsVoList!=null&&detailsVoList.size()>0) {
  139. for (DetailsVo vo1 : detailsVoList) {
  140. if (vo1.getProgressType() != null) {
  141. String progressType = vo1.getProgressType();
  142. String valueBykey = ProgressEnum.getValueBykey(Integer.valueOf(progressType));
  143. vo1.setProgressType(valueBykey);
  144. }
  145. }
  146. }
  147. // 获取提交成功的
  148. DetailsVo detailsVo = bookingComplainDao.detailsVo(complaintId);
  149. if (detailsVo.getUrlList() != null) {
  150. List<String> dateTimeList = detailsVo.getUrlList();
  151. String s = dateTimeList.get(0);
  152. String[] split = s.split(",");
  153. ArrayList<String> strings = new ArrayList<>();
  154. for (int i = 0; i < split.length; i++) {
  155. strings.add(split[i]);
  156. }
  157. detailsVo.setUrlList(strings);
  158. }
  159. detailsVo.setProgressType("提交成功");
  160. detailsVoList.add(detailsVo);
  161. vo.setDetailsVoList(detailsVoList);
  162. return vo;
  163. }
  164. }