BookingComplaintImplService.java 6.3 KB

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