houseAction.java 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332
  1. package com.happy.action;
  2. import com.alibaba.fastjson.JSONArray;
  3. import com.google.gson.Gson;
  4. import com.google.gson.reflect.TypeToken;
  5. import com.happy.Model.*;
  6. import com.happy.Until.*;
  7. import com.happy.dto.HouseSumEto;
  8. import com.happy.dto.IPage;
  9. import com.happy.service.BookService;
  10. import com.happy.service.FileService;
  11. import com.happy.service.HotelDictService;
  12. import com.happy.service.HouseService;
  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. import java.util.Objects;
  22. public class houseAction extends ActionSupport implements ServletRequestAware {
  23. private HttpServletRequest request;
  24. public HttpServletResponse response;
  25. @Resource
  26. public HouseService houseService;
  27. @Resource
  28. public BookService bookService;
  29. @Resource
  30. public FileService fileService;
  31. @Resource
  32. public HotelDictService hotelDictService;
  33. public Integer id;
  34. public String hName;//房型名称
  35. public int page; // 当前页
  36. public int rows;// 每页显示的行数rows
  37. public String orderTime;//住房时间
  38. public String fileListJson;
  39. public HttpServletRequest getRequest() {
  40. return request;
  41. }
  42. public void setRequest(HttpServletRequest request) {
  43. this.request = request;
  44. }
  45. public void setServletRequest(HttpServletRequest request) {
  46. this.request = request;
  47. }
  48. public HttpServletResponse getResponse() {
  49. return response;
  50. }
  51. public void setResponse(HttpServletResponse response) {
  52. this.response = response;
  53. }
  54. /**
  55. * 描述:新增房型
  56. * @return
  57. */
  58. public String insterHouser(){
  59. JSONObject resultJson = new JSONObject();
  60. Gson gson = new Gson();
  61. com.alibaba.fastjson.JSONObject json = GetHttpParam.getRequestParameters(request);
  62. if (json == null) {
  63. resultJson.put("message", "请传入参数");
  64. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  65. return null;
  66. }
  67. House house = null;
  68. try {
  69. house = gson.fromJson(json.toString(), new TypeToken<House>() {}.getType());
  70. if (house == null) {
  71. resultJson.put("message", "数据为空");
  72. resultJson.put("code", 500);
  73. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  74. return null;
  75. }
  76. if (house.getManagerId()==null || house.gethName()==null || house.getPrice()==null || house.getNumber()==null || house.gethAreas()==null){
  77. resultJson.put("message", "各参数不能为空");
  78. resultJson.put("code", 500);
  79. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  80. return null;
  81. }
  82. //详细图附件
  83. List<FileInfo> fileList = JSONArray.parseArray(fileListJson, FileInfo.class);
  84. // if(fileList==null){
  85. // resultJson.put("message", "请上传详细图");
  86. // ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  87. // return null;
  88. // }
  89. StringBuilder getOneSqlx = new StringBuilder("");
  90. getOneSqlx.append(" and h_name = '").append(house.gethName()).append("'");
  91. House listc = houseService.getOen(getOneSqlx.toString());
  92. if (listc != null) {
  93. resultJson.put("message", "房型已存在");
  94. resultJson.put("code", 500);
  95. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  96. return null;
  97. }
  98. house.setId(Math.toIntExact(UUIDUtil.generateID()));
  99. int m = houseService.insertHouse(house);
  100. if (m > 0) {
  101. for(FileInfo file : fileList){
  102. file.setLinkId(house.getId());
  103. fileService.updateFile(file);
  104. }
  105. resultJson.put("message", "新增成功");
  106. resultJson.put("code", 200);
  107. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  108. return null;
  109. } else {
  110. resultJson.put("message", "新增失败");
  111. resultJson.put("code", 502);
  112. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  113. return null;
  114. }
  115. } catch (Exception e) {
  116. e.printStackTrace();
  117. }
  118. resultJson.put("message", "未知异常");
  119. resultJson.put("code", 205);
  120. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  121. return null;
  122. }
  123. /**
  124. * 描述:修改房型
  125. * @return
  126. */
  127. public String updateHouser(){
  128. JSONObject resultJson = new JSONObject();
  129. Gson gson = new Gson();
  130. com.alibaba.fastjson.JSONObject json = GetHttpParam.getRequestParameters(request);
  131. if (json == null) {
  132. resultJson.put("message", "请传入参数");
  133. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  134. return null;
  135. }
  136. House house = null;
  137. try {
  138. house = gson.fromJson(json.toString(), new TypeToken<House>() {}.getType());
  139. if (house == null) {
  140. resultJson.put("message", "数据为空");
  141. resultJson.put("code", 500);
  142. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  143. return null;
  144. }
  145. if (house.getId() == null) {
  146. resultJson.put("message", "房型Id为空");
  147. resultJson.put("code", 500);
  148. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  149. return null;
  150. }
  151. if (house.getManagerId()==null || house.gethName()==null || house.getPrice()==null || house.getNumber()==null || house.gethAreas()==null){
  152. resultJson.put("message", "各参数不能为空");
  153. resultJson.put("code", 500);
  154. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  155. return null;
  156. }
  157. //详细图附件
  158. List<FileInfo> fileList = JSONArray.parseArray(fileListJson, FileInfo.class);
  159. // if(fileList==null){
  160. // resultJson.put("message", "请上传详细图");
  161. // ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  162. // return null;
  163. // }
  164. StringBuilder getOneSqlx = new StringBuilder("");
  165. getOneSqlx.append(" and h_name = '").append(house.gethName()).append("'");
  166. getOneSqlx.append(" and id != '").append(house.getId()).append("'");
  167. House listc = houseService.getOen(getOneSqlx.toString());
  168. if (listc != null) {
  169. resultJson.put("message", "房型已存在");
  170. resultJson.put("code", 500);
  171. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  172. return null;
  173. }
  174. int m = houseService.updateHouse(house);
  175. if (m > 0) {
  176. if(house.getId()!= null){
  177. fileService.delLinkFile(house.getId());
  178. }
  179. for(FileInfo file : fileList){
  180. FileInfo fileInfo = fileService.getById(file.getId());
  181. if(fileInfo==null){
  182. fileService.insertFile(file);
  183. }else{
  184. file.setLinkId(house.getId());
  185. fileService.updateFile(file);
  186. }
  187. }
  188. resultJson.put("message", "修改成功");
  189. resultJson.put("code", 200);
  190. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  191. return null;
  192. } else {
  193. resultJson.put("message", "修改败");
  194. resultJson.put("code", 502);
  195. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  196. return null;
  197. }
  198. } catch (Exception e) {
  199. e.printStackTrace();
  200. }
  201. resultJson.put("message", "未知异常");
  202. resultJson.put("code", 205);
  203. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  204. return null;
  205. }
  206. /**
  207. * 描述:删除房型
  208. * @return
  209. */
  210. public String delHouser(){
  211. JSONObject resultJson = new JSONObject();
  212. if (id == null) {
  213. resultJson.put("message", "请传入id");
  214. resultJson.put("code", 500);
  215. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  216. return null;
  217. }
  218. int m = houseService.delHouse(id);
  219. if (m > 0) {
  220. resultJson.put("message", "删除成功");
  221. resultJson.put("code", 200);
  222. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  223. return null;
  224. }
  225. resultJson.put("message", "未知异常");
  226. resultJson.put("code", 205);
  227. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  228. return null;
  229. }
  230. /**
  231. * 描述:根据Id查询详细
  232. * @return
  233. */
  234. public String getById(){
  235. JSONObject resultJson = new JSONObject();
  236. if (id == null) {
  237. resultJson.put("message", "请传入id");
  238. resultJson.put("code", 500);
  239. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  240. return null;
  241. }
  242. House house = houseService.getById(id);
  243. //获取有效房型服务
  244. if(house.gethConfig() != null && !"".equals(house.gethConfig())){
  245. house.sethConfig(hotelDictService.setConfig(house.gethConfig()));
  246. }
  247. StringBuilder fileSqlx = new StringBuilder("");
  248. fileSqlx.append("and link_id = '").append(id).append("'");
  249. List<FileInfo> fileInfoList = fileService.queryList(fileSqlx.toString());
  250. house.setFileInfoList(fileInfoList);
  251. if (house != null) {
  252. resultJson.put("message", "查询成功");
  253. resultJson.put("code", 200);
  254. resultJson.put("data", house);
  255. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  256. return null;
  257. }else{
  258. resultJson.put("message", "未查到信息");
  259. resultJson.put("code", 500);
  260. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  261. return null;
  262. }
  263. }
  264. /**
  265. * 描述:分页查询
  266. * @return
  267. */
  268. public String queryPage(){
  269. JSONObject resultJson = new JSONObject();
  270. StringBuilder s1 = new StringBuilder("");
  271. if (hName!=null){
  272. s1.append(" and h_name like '%").append(hName).append("'");
  273. }
  274. IPage<House> houseIPage = houseService.queryPage(s1.toString(),page,rows);
  275. if(houseIPage!=null && !"".equals(houseIPage)){
  276. resultJson.put("message", "查询分页成功");
  277. resultJson.put("code", 200);
  278. resultJson.put("data", houseIPage);
  279. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  280. }else{
  281. resultJson.put("message", "查询分页失败");
  282. resultJson.put("code", 500);
  283. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  284. }
  285. return null;
  286. }
  287. /**
  288. * 描述:房源分页查询
  289. * @return
  290. */
  291. public String queryPageHouseSum(){
  292. JSONObject resultJson = new JSONObject();
  293. StringBuilder s1 = new StringBuilder("");
  294. if (orderTime!=null){
  295. s1.append(" and DATE_FORMAT(order_start_time,'%Y-%m-%d') = '").append(orderTime).append("'");
  296. }
  297. if (hName!=null){
  298. s1.append(" and house_name like '%").append(hName).append("%'");
  299. }
  300. IPage<HouseSumEto> houseIPage = houseService.queryPageHouseSum(s1.toString(),page,rows);
  301. if(houseIPage!=null && !"".equals(houseIPage)){
  302. resultJson.put("message", "查询分页成功");
  303. resultJson.put("code", 200);
  304. resultJson.put("data", houseIPage);
  305. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  306. }else{
  307. resultJson.put("message", "查询分页失败");
  308. resultJson.put("code", 500);
  309. ResUtil.writeJson(ServletActionContext.getResponse(), resultJson.toString());
  310. }
  311. return null;
  312. }
  313. }