ChannelController.java 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. package cn.efunbox.audio.controller;
  2. import cn.efunbox.audio.consts.Status;
  3. import cn.efunbox.audio.entity.Channel;
  4. import cn.efunbox.audio.service.AdminService;
  5. import cn.efunbox.audio.service.ChannelService;
  6. import cn.efunbox.audio.service.TrailService;
  7. import cn.efunbox.audio.utils.ApiCode;
  8. import cn.efunbox.audio.utils.Common;
  9. import cn.efunbox.audio.utils.HttpUtil;
  10. import lombok.extern.slf4j.Slf4j;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.data.domain.Page;
  13. import org.springframework.web.bind.annotation.RequestBody;
  14. import org.springframework.web.bind.annotation.RequestMapping;
  15. import org.springframework.web.bind.annotation.RequestMethod;
  16. import org.springframework.web.bind.annotation.RestController;
  17. import javax.servlet.http.HttpServletRequest;
  18. import javax.servlet.http.HttpServletResponse;
  19. import java.sql.Timestamp;
  20. import java.util.*;
  21. /**
  22. * Created by yao on 17-9-26.
  23. */
  24. @RestController
  25. @Slf4j
  26. @RequestMapping(value = "/channel")
  27. public class ChannelController {
  28. @Autowired
  29. ChannelService channelService;
  30. @Autowired
  31. AdminService adminService;
  32. @Autowired
  33. TrailService trailService;
  34. @RequestMapping(value = "/search" ,method = RequestMethod.POST)
  35. public void Search(HttpServletRequest request, HttpServletResponse response){
  36. String name = request.getParameter("name");
  37. String idChannel = request.getParameter("idChannel");
  38. String idFather = request.getParameter("idFather");
  39. String page = request.getParameter("page");
  40. String size = request.getParameter("size");
  41. if(page==null || page.length()<1)
  42. page = "0";
  43. if(size==null || size.length()<1)
  44. size = "0";
  45. Map<String,Object> map = new HashMap<>();
  46. List<Channel> list = null;
  47. if(idChannel!=null && idChannel.length()>0){
  48. Channel channel = channelService.SearchById(Long.valueOf(idChannel));
  49. if (Objects.nonNull(channel)) {
  50. list = new ArrayList<>();
  51. list.add(channel);
  52. }
  53. } else if(name!=null && name.length()>0)
  54. list = channelService.SearchByName(name);
  55. else if(idFather!=null && idFather.length()>0)
  56. list = channelService.SearchByIdFather(Long.valueOf(idFather));
  57. else{
  58. Page<Channel> pageRes = channelService.SearchAll(Integer.valueOf(page), Integer.valueOf(size));
  59. map.put("data", pageRes.getContent());
  60. map.put("size", pageRes.getNumberOfElements());
  61. map.put("total", pageRes.getTotalElements());
  62. }
  63. if(list!=null){
  64. map.put("data", list);
  65. map.put("size", list.size());
  66. map.put("total", list.size());
  67. }
  68. HttpUtil.responseOkData(request, response, map);
  69. return;
  70. }
  71. // @RequestMapping(value = "/insert", method = RequestMethod.POST)
  72. // public void Insert(HttpServletRequest request, HttpServletResponse response){
  73. // String name = request.getParameter("name");
  74. // String idFather = request.getParameter("idFather");
  75. // if(name==null){
  76. // HttpUtil.responseApiCode(request, response, ApiCode.PARAMETER_ERROR);
  77. // return;
  78. // }
  79. // if(idFather==null || idFather.length()==0)
  80. // idFather = "0";
  81. //
  82. // List<Channel> list = channelService.SearchByName(name);
  83. // if(list!=null && list.size()>0){
  84. // HttpUtil.responseApiCode(request, response, ApiCode.RECORD_EXIST);
  85. // return;
  86. // }
  87. // Channel channel = new Channel();
  88. // channel.setName(name);
  89. // channel.setIdFather(Long.valueOf(idFather));
  90. // channel = channelService.Insert(channel);
  91. // HttpUtil.responseOutWithJson(request, response, channel);
  92. // return;
  93. // }
  94. @RequestMapping(value = "/insert", method = RequestMethod.POST)
  95. public void Insert(HttpServletRequest request, HttpServletResponse response, @RequestBody Channel channel){
  96. List<Channel> list = channelService.SearchByName(channel.getName());
  97. if(list!=null && list.size()>0){
  98. HttpUtil.responseApiCode(request, response, ApiCode.RECORD_EXIST);
  99. return;
  100. }
  101. channel.setHasSon(false);
  102. channel.setStatus(Status.ONLINE.getCode());
  103. channel.setCreated(new Timestamp(new Date().getTime()));
  104. channel = channelService.Insert(channel);
  105. if(channel.getIdFather()>0){
  106. Channel c = channelService.GetOne(channel.getIdFather());
  107. if(c!=null){
  108. c.setHasSon(true);
  109. channelService.Insert(c);
  110. }
  111. }
  112. TrailController.Insert(adminService, trailService, request, "channel", channel.getId(), " 新建渠道:" + channel.getName());
  113. HttpUtil.responseOkData(request, response, channel);
  114. return;
  115. }
  116. @RequestMapping(value = "/update", method = RequestMethod.POST)
  117. public void Update(HttpServletRequest request, HttpServletResponse response, @RequestBody Channel channel){
  118. Channel channelOld = channelService.GetOne(channel.getId());
  119. if(channelOld==null){
  120. HttpUtil.responseApiCode(request, response, ApiCode.PARAMETER_ERROR);
  121. return;
  122. }
  123. // System.out.println("ch:"+channel.toString());
  124. // System.out.println("chOld:"+channelOld.toString());
  125. channel = (Channel) Common.CopyValue(channel, channelOld);
  126. // System.out.println("ch2:"+channel.toString());
  127. if(channelOld.getHasSon())
  128. channel.setHasSon(true);
  129. channel = channelService.Insert(channel);
  130. // System.out.println("ch3:"+channel.toString());
  131. TrailController.Insert(adminService, trailService, request, "channel", channel.getId(), " 更新渠道:" + channel.getName());
  132. HttpUtil.responseOkData(request, response, channel);
  133. return;
  134. }
  135. @RequestMapping(value = "/delete", method = RequestMethod.POST)
  136. public void Delete(HttpServletRequest request, HttpServletResponse response){
  137. String idChannel = request.getParameter("idChannel");
  138. Channel channel = channelService.GetOne(Long.valueOf(idChannel));
  139. if(channel==null){
  140. HttpUtil.responseApiCode(request, response, ApiCode.PARAMETER_ERROR);
  141. return;
  142. }
  143. channelService.Delete(Long.valueOf(idChannel));
  144. //判断父节点是否还有子节点
  145. if(channel.getIdFather()>0){
  146. List<Channel> channelList = channelService.SearchByIdFather(channel.getIdFather());
  147. if(channelList==null || channelList.size()==0){
  148. Channel c = channelService.GetOne(channel.getIdFather());
  149. if(c!=null){
  150. c.setHasSon(false);
  151. channelService.Insert(c);
  152. }
  153. }
  154. }
  155. TrailController.Insert(adminService, trailService, request, "channel", Long.valueOf(idChannel), " 删除渠道:" + channel.getName());
  156. HttpUtil.responseOk(request, response);
  157. return;
  158. }
  159. }