houseAction.java 13 KB

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