AppHomePageAction.java 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322
  1. package com.happy.action;
  2. import com.baidubce.model.User;
  3. import com.happy.Model.Hotel;
  4. import com.happy.Model.weixin.Users;
  5. import com.happy.Until.*;
  6. import com.happy.Until.Enum.B;
  7. import com.happy.Until.Enum.TempEnum;
  8. import com.happy.constant.ResultStatusCode;
  9. import com.happy.dao.UserVisitsDao;
  10. import com.happy.dto.IPage;
  11. import com.happy.dto.townshipCountDTO;
  12. import com.happy.service.*;
  13. import com.opensymphony.xwork2.ActionSupport;
  14. import net.sf.json.JSONObject;
  15. import org.apache.struts2.ServletActionContext;
  16. import org.apache.struts2.interceptor.ServletRequestAware;
  17. import javax.annotation.Resource;
  18. import javax.servlet.http.HttpServletRequest;
  19. import javax.servlet.http.HttpServletResponse;
  20. import java.util.List;
  21. /**
  22. * 首页进去Action请求交互
  23. */
  24. public class AppHomePageAction extends ActionSupport implements ServletRequestAware {
  25. private HttpServletRequest request;
  26. public HttpServletResponse response;
  27. @Resource
  28. public UserVisitsDao userVisitsDao;
  29. @Resource
  30. public UserService userService;
  31. @Resource
  32. public AppHomePageService appHomePageService;
  33. @Resource
  34. public HotelService hotelService;
  35. @Resource
  36. public FileService fileService;
  37. @Resource
  38. public AdminManagerService adminManagerService;
  39. public int page; // 当前页
  40. public int rows;// 每页显示的行数rows
  41. public Integer id = new Integer(0);
  42. public String status;
  43. public String hotelId; //选择的当前酒店的id
  44. public String queryStartTime; // 查询开始时间
  45. public String queryEndTime; // 查询结束时间
  46. public String userCode; // 第一次进来获取用户的code
  47. public String queryValue; // 首页查寻搜索关键词
  48. private String hotel_township; // 所属乡镇
  49. public String userId; // 用户id
  50. public int type;
  51. public HttpServletRequest getRequest() {
  52. return request;
  53. }
  54. public void setRequest(HttpServletRequest request) {
  55. this.request = request;
  56. }
  57. public void setServletRequest(HttpServletRequest request) {
  58. this.request = request;
  59. }
  60. public HttpServletResponse getResponse() {
  61. return response;
  62. }
  63. public void setResponse(HttpServletResponse response) {
  64. this.response = response;
  65. }
  66. public int getPage() {
  67. return page;
  68. }
  69. public void setPage(int page) {
  70. this.page = page;
  71. }
  72. public int getRows() {
  73. return rows;
  74. }
  75. public void setRows(int rows) {
  76. this.rows = rows;
  77. }
  78. public Integer getId() {
  79. return id;
  80. }
  81. public void setId(Integer id) {
  82. this.id = id;
  83. }
  84. public String getStatus() {
  85. return status;
  86. }
  87. public void setStatus(String status) {
  88. this.status = status;
  89. }
  90. /**
  91. * 进入首页,展示民宿数据列表
  92. * queryValue 查询字段
  93. * hotel_townshipId 所属乡镇
  94. * @return
  95. */
  96. public String homePage()
  97. {
  98. // 获取民宿列表
  99. IPage iPage = appHomePageService.getHotelList(queryValue, hotel_township,type,page,rows);
  100. // 用户访问量数据
  101. userVisitsDao.add(userId);
  102. ResponseUtil.writeJsonIPage(ServletActionContext.getResponse(),iPage);
  103. return null;
  104. }
  105. /**
  106. * 用户点击收藏民宿
  107. * userId
  108. * hotelId
  109. * @return
  110. */
  111. public String collectHotel()
  112. {
  113. if (Func.checkNull(userId) || Func.checkNull(hotelId))
  114. return null;
  115. Users users = userService.addhotelAndUsers(hotelId,userId, TempEnum.收藏);
  116. JSONObject jsonObject = new JSONObject();
  117. jsonObject.put(B.code,ResultStatusCode.OK.getStatus());
  118. jsonObject.put(B.data,users);
  119. ResponseUtil.writeJson(ServletActionContext.getResponse(),jsonObject.toString());
  120. return null;
  121. }
  122. /**
  123. * 用户点击取消 收藏民宿
  124. * userId 用户id
  125. * hotelId 酒店id
  126. * @return
  127. */
  128. public String delCollectHotel()
  129. {
  130. if (Func.checkNull(userId) || Func.checkNull(hotelId))
  131. return null;
  132. Users users = userService.delhotelAndUsers(hotelId,userId, TempEnum.收藏);
  133. JSONObject jsonObject = new JSONObject();
  134. jsonObject.put(B.code,ResultStatusCode.OK.getStatus());
  135. jsonObject.put(B.data,users);
  136. ResponseUtil.writeJson(ServletActionContext.getResponse(),jsonObject.toString());
  137. return null;
  138. }
  139. /**
  140. * hotelId 酒店id
  141. * queryStartTime
  142. * queryEndTime
  143. * userId
  144. * 通过酒店的id获取到房间信息
  145. * @return
  146. */
  147. public String getHouseByHotelId()
  148. {
  149. JSONObject jsonObject = new JSONObject();
  150. // 如果未赋值,则直接跳出
  151. if (Func.checkNull(hotelId) || Func.checkNull(queryStartTime) || Func.checkNull(queryEndTime))
  152. {
  153. jsonObject.put(B.code, ResultStatusCode.BAD_REQUEST.getStatus());
  154. jsonObject.put(B.message,ResultStatusCode.BAD_REQUEST.getMsg());
  155. ResponseUtil.writeJson(ServletActionContext.getResponse(),jsonObject.toString());
  156. return null;
  157. }
  158. // 使用天去查"yyyy/MM/dd"
  159. String startDate = DateUtil.parseDateToStr((Func.parseDate(queryStartTime)), DateUtil.Time_Formatter_Day);
  160. String endDate = DateUtil.parseDateToStr((Func.parseDate(queryEndTime)), DateUtil.Time_Formatter_Day);
  161. Hotel hotel = appHomePageService.getHotelAndHouseByHotelId(hotelId,startDate, endDate);
  162. hotel.setHotelFileInfoList(fileService.queryListByLinkId(hotelId));
  163. // 添加是否已收藏的酒店
  164. if (!Func.checkNull(userId))
  165. appHomePageService.assignCollect(userId, hotel);
  166. // 通过时间区间查询房间信息,并带好是否有房标识给前台
  167. jsonObject.put(B.code,ResultStatusCode.OK.getStatus());
  168. jsonObject.put(B.data,ResultUtil.ok(hotel));
  169. ResponseUtil.writeJson(ServletActionContext.getResponse(),jsonObject.toString());
  170. return null;
  171. }
  172. /**
  173. * 通过酒店的id获取到酒店详细信息
  174. * hotelId
  175. * userId
  176. * @return
  177. */
  178. public String getHotelInfoByHotelId()
  179. {
  180. JSONObject jsonObject = new JSONObject();
  181. // 如果未赋值,则直接跳出
  182. if (Func.checkNull(hotelId))
  183. {
  184. jsonObject.put(B.code, ResultStatusCode.BAD_REQUEST.getStatus());
  185. jsonObject.put(B.message,ResultStatusCode.BAD_REQUEST.getMsg());
  186. ResponseUtil.writeJson(ServletActionContext.getResponse(),jsonObject.toString());
  187. return null;
  188. }
  189. Hotel hotel = hotelService.getById(Func.parseInt(hotelId));
  190. if (hotel == null)
  191. {
  192. jsonObject.put(B.code, ResultStatusCode.BAD_REQUEST.getStatus());
  193. jsonObject.put(B.message,"无法查询到当前酒店信息");
  194. ResponseUtil.writeJson(ServletActionContext.getResponse(),jsonObject.toString());
  195. return null;
  196. }
  197. hotel.setHotelFileInfoList(fileService.queryListByLinkId(hotelId));
  198. // 添加是否已收藏的酒店
  199. if (!Func.checkNull(userId))
  200. appHomePageService.assignCollect(userId, hotel);
  201. jsonObject.put(B.code,ResultStatusCode.OK.getStatus());
  202. jsonObject.put(B.data,hotel);
  203. ResponseUtil.writeJson(ServletActionContext.getResponse(),jsonObject.toString());
  204. return null;
  205. }
  206. /**
  207. * 描述:获取各乡俗民宿级别数量
  208. * @return
  209. */
  210. public String getTownshipCount(){
  211. JSONObject resultjson = new JSONObject();
  212. List<townshipCountDTO> list = adminManagerService.getTownshipCount();
  213. if (list!=null){
  214. resultjson.put("message", "返回成功");
  215. resultjson.put("code", 200);
  216. resultjson.put("data",list);
  217. ResUtil.writeJson(ServletActionContext.getResponse(), resultjson.toString());
  218. return null;
  219. }
  220. resultjson.put("message", "数据为空");
  221. resultjson.put("code", 205);
  222. ResUtil.writeJson(ServletActionContext.getResponse(), resultjson.toString());
  223. return null;
  224. }
  225. /**
  226. * 描述:获取各乡镇剩余房数
  227. * @return
  228. */
  229. public String getResidueCount(){
  230. JSONObject resultjson = new JSONObject();
  231. List<townshipCountDTO> list = adminManagerService.getResidueCount();
  232. if (list!=null){
  233. resultjson.put("message", "返回成功");
  234. resultjson.put("code", 200);
  235. resultjson.put("data",list);
  236. ResUtil.writeJson(ServletActionContext.getResponse(), resultjson.toString());
  237. return null;
  238. }
  239. resultjson.put("message", "数据为空");
  240. resultjson.put("code", 205);
  241. ResUtil.writeJson(ServletActionContext.getResponse(), resultjson.toString());
  242. return null;
  243. }
  244. public String getUserCode() {
  245. return userCode;
  246. }
  247. public void setUserCode(String userCode) {
  248. this.userCode = userCode;
  249. }
  250. public String getQueryValue() {
  251. return queryValue;
  252. }
  253. public void setQueryValue(String queryValue) {
  254. this.queryValue = queryValue;
  255. }
  256. public String getHotelId() {
  257. return hotelId;
  258. }
  259. public void setHotelId(String hotelId) {
  260. this.hotelId = hotelId;
  261. }
  262. public void setHotel_township(String hotel_township) {
  263. this.hotel_township = hotel_township;
  264. }
  265. }