houseAction.java 13 KB

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