TaBuildingDynamicController.java 15KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319
  1. package com.huiju.estateagents.controller;
  2. import com.alibaba.fastjson.JSONObject;
  3. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  4. import com.baomidou.mybatisplus.core.metadata.IPage;
  5. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  6. import com.huiju.estateagents.base.BaseController;
  7. import com.huiju.estateagents.base.ResponseBean;
  8. import com.huiju.estateagents.common.CommConstant;
  9. import com.huiju.estateagents.common.JWTUtils;
  10. import com.huiju.estateagents.common.StringUtils;
  11. import com.huiju.estateagents.entity.*;
  12. import com.huiju.estateagents.mapper.TaActivityDynamicEnlistMapper;
  13. import com.huiju.estateagents.mapper.TaBuildingMapper;
  14. import com.huiju.estateagents.service.ITaBuildingDynamicService;
  15. import com.huiju.estateagents.service.ITaBuildingService;
  16. import com.huiju.estateagents.service.ITaPersonService;
  17. import com.huiju.estateagents.service.ITaSaveService;
  18. import org.springframework.beans.factory.annotation.Autowired;
  19. import org.springframework.beans.propertyeditors.CustomDateEditor;
  20. import org.springframework.web.bind.ServletRequestDataBinder;
  21. import org.springframework.web.bind.annotation.*;
  22. import javax.servlet.http.HttpServletRequest;
  23. import javax.servlet.http.HttpSession;
  24. import javax.swing.*;
  25. import java.text.DateFormat;
  26. import java.text.SimpleDateFormat;
  27. import java.time.LocalDateTime;
  28. import java.util.ArrayList;
  29. import java.util.Date;
  30. import java.util.HashMap;
  31. import java.util.List;
  32. /**
  33. * <p>
  34. * 项目动态表 前端控制器
  35. * </p>
  36. *
  37. * @author jobob
  38. * @since 2019-03-21
  39. */
  40. @RestController
  41. @RequestMapping("/api")
  42. public class TaBuildingDynamicController extends BaseController {
  43. @Autowired
  44. private ITaBuildingDynamicService iBuildingDynamicService;
  45. @Autowired
  46. private TaBuildingMapper taBuildingMapper;
  47. @Autowired
  48. private ITaPersonService taPersonService;
  49. @Autowired
  50. private ITaSaveService taSaveService;
  51. @Autowired
  52. private ITaBuildingService iTaBuildingService;
  53. @InitBinder
  54. protected void initBinder(HttpServletRequest request, ServletRequestDataBinder binder) throws Exception {
  55. DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
  56. CustomDateEditor editor = new CustomDateEditor(df, true);//true表示允许为空,false反之
  57. binder.registerCustomEditor(Date.class, editor);
  58. }
  59. @RequestMapping(value = "/admin/iBuildingDynamicList", method = RequestMethod.GET)
  60. public ResponseBean iBuildingDynamicList(@RequestParam("pageNum")Integer pageNum,
  61. @RequestParam("pageSize")Integer pageSize,
  62. @RequestParam(required = false)String name,
  63. @RequestParam(required = false)Integer cityId,
  64. @RequestParam(required = false)String buildingId,
  65. HttpSession session){
  66. ResponseBean responseBean = iBuildingDynamicService.iBuildingDynamicList(pageNum,pageSize,name,buildingId,cityId);
  67. return responseBean;
  68. }
  69. @RequestMapping(value = "/admin/iBuildingDynamicSelectId/{id}", method = RequestMethod.GET)
  70. public ResponseBean iBuildingDynamicSelectId(@PathVariable(value = "id") String id, HttpSession session){
  71. ResponseBean responseBean = iBuildingDynamicService.iBuildingDynamicSelectId(id);
  72. return responseBean;
  73. }
  74. /**
  75. * 活动列表
  76. * @param pageNum
  77. * @param pageSize
  78. * @param request
  79. * @return
  80. */
  81. @RequestMapping(value = "/wx/buildingDynamiceList", method = RequestMethod.GET)
  82. public ResponseBean wxBuildingDynamiceList(@RequestParam(value = "buildingId", required = false)String buildingId,
  83. @RequestParam(value = "pageNum",defaultValue = "1")Integer pageNum,
  84. @RequestParam(value = "pageSize",defaultValue = "10")Integer pageSize,
  85. @RequestParam(defaultValue = "false" )boolean mine,
  86. HttpServletRequest request){
  87. String openid = JWTUtils.getSubject(request);
  88. ResponseBean responseBean = new ResponseBean();
  89. if(mine){
  90. List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
  91. if (null == taPersons || taPersons.size() != 1) {
  92. return responseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
  93. }
  94. TaPerson person = taPersons.get(0);
  95. responseBean.addSuccess(iBuildingDynamicService.getJoinedActivity(pageNum,pageSize,"",person));
  96. }else {
  97. responseBean = iBuildingDynamicService.getWxBuildingDynamiceList(pageNum,pageSize,buildingId,openid);
  98. }
  99. return responseBean;
  100. }
  101. /**
  102. * 活动列表
  103. * @param pageNum
  104. * @param pageSize
  105. * @param request
  106. * @return
  107. */
  108. @RequestMapping(value = "/wx/save/buildingDynamiceList", method = RequestMethod.GET)
  109. public ResponseBean wxSaveBuildingDynamiceList(@RequestParam(value = "buildingId", required = false)String buildingId,
  110. @RequestParam(value = "pageNum",defaultValue = "1")Integer pageNum,
  111. @RequestParam(value = "pageSize",defaultValue = "10")Integer pageSize,
  112. HttpServletRequest request){
  113. String openid = JWTUtils.getSubject(request);
  114. ResponseBean responseBean = new ResponseBean();
  115. List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
  116. if (null == taPersons || taPersons.size() != 1) {
  117. return responseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
  118. }
  119. TaPerson person = taPersons.get(0);
  120. QueryWrapper<TaSave> saveQueryWrapper = new QueryWrapper<>();
  121. saveQueryWrapper.eq("person_id",person.getPersonId());
  122. saveQueryWrapper.eq("tagert_type", CommConstant.FAVOR_ACTIVITY);
  123. List<TaSave> saveList = taSaveService.list(saveQueryWrapper);
  124. if(saveList.size()>0){
  125. List<String> ids = new ArrayList<>();
  126. for(int i = 0; i<saveList.size();i++){
  127. ids.add(saveList.get(i).getSavedTarget());
  128. }
  129. IPage<TaBuildingDynamic> page = new Page<>(pageNum, pageSize);
  130. QueryWrapper<TaBuildingDynamic> buildingDynamicQueryWrapper = new QueryWrapper<>();
  131. buildingDynamicQueryWrapper.in("dynamic_id",ids);
  132. IPage<TaBuildingDynamic> buildingDynamicIPage = iBuildingDynamicService.page(page,buildingDynamicQueryWrapper);
  133. for(int j=0;j<buildingDynamicIPage.getRecords().size();j++){
  134. iBuildingDynamicService.setExtendInfo(buildingDynamicIPage.getRecords().get(j),person);
  135. }
  136. responseBean.addSuccess(buildingDynamicIPage);
  137. }else {
  138. responseBean.addSuccess("暂无收藏活动");
  139. }
  140. return responseBean;
  141. }
  142. /**
  143. * 活动详情
  144. * @param dynamicId
  145. * @return
  146. */
  147. @RequestMapping(value = "/wx/buildingDynamiceInfo/{dynamicId}", method = RequestMethod.GET)
  148. public ResponseBean iBuildingDynamicInfo(@PathVariable(value = "dynamicId") String dynamicId,
  149. HttpServletRequest request){
  150. String openid = JWTUtils.getSubject(request);
  151. String buildingId = "";
  152. ResponseBean responseBean = iBuildingDynamicService.getWxBuildingDynamiceInfo(dynamicId,buildingId,openid);
  153. return responseBean;
  154. }
  155. /**
  156. * 添加活动报名
  157. * @param taActivityDynamicEnlist
  158. * @param request
  159. * @return
  160. */
  161. @RequestMapping(value = "/wx/activityDynamicEnlistAdd", method = RequestMethod.POST)
  162. public ResponseBean taActivityDynamicEnlist(@RequestBody TaActivityDynamicEnlist taActivityDynamicEnlist,
  163. HttpServletRequest request){
  164. String openid = JWTUtils.getSubject(request);
  165. List<TaPerson> taPersons = taPersonService.getPersonsByOpenId(openid);
  166. if (null == taPersons || taPersons.size() != 1) {
  167. return ResponseBean.error("验证人员信息失败", ResponseBean.ERROR_UNAVAILABLE);
  168. }
  169. TaPerson person = taPersons.get(0);
  170. taActivityDynamicEnlist.setPersonId(person.getPersonId());
  171. ResponseBean responseBean = iBuildingDynamicService.taActivityDynamicEnlistAdd(taActivityDynamicEnlist);
  172. return responseBean;
  173. }
  174. @RequestMapping(value = "/admin/buildingDynamic/add" ,method =RequestMethod.POST)
  175. public ResponseBean buildingDynamicAdd(@RequestBody String parameter){
  176. ResponseBean responseBean = new ResponseBean();
  177. TaBuildingDynamic dynamic = JSONObject.parseObject(parameter, TaBuildingDynamic.class);
  178. Integer cityId = iTaBuildingService.getCityById(dynamic.getBuildingId());
  179. dynamic.setCityId(cityId);
  180. dynamic.setStatus(1);
  181. // dynamic.setDynamicId(idGen.nextId()+"");
  182. dynamic.setPublishDate(LocalDateTime.now());
  183. dynamic.setCreateDate(LocalDateTime.now());
  184. iBuildingDynamicService.save(dynamic);
  185. return responseBean;
  186. }
  187. @RequestMapping(value = "/admin/buildingDynamic/update" ,method =RequestMethod.PUT)
  188. public ResponseBean buildingDynamicUpdate(@RequestBody String parameter){
  189. ResponseBean responseBean = new ResponseBean();
  190. TaBuildingDynamic dynamic = JSONObject.parseObject(parameter, TaBuildingDynamic.class);
  191. QueryWrapper<TaBuildingDynamic> buildingDynamicQueryWrapper = new QueryWrapper<>();
  192. Integer cityId = iTaBuildingService.getCityById(dynamic.getBuildingId());
  193. dynamic.setCityId(cityId);
  194. buildingDynamicQueryWrapper.eq("dynamic_id", dynamic.getDynamicId());
  195. iBuildingDynamicService.update(dynamic, buildingDynamicQueryWrapper);
  196. return responseBean;
  197. }
  198. @RequestMapping(value = "/admin/buildingDynamic/weight" ,method =RequestMethod.PUT)
  199. public ResponseBean buildingDynamicWeight(@RequestParam String dynamicId,@RequestParam Integer weight){
  200. ResponseBean responseBean = new ResponseBean();
  201. TaBuildingDynamic dynamic = iBuildingDynamicService.getById(dynamicId);
  202. dynamic.setWeight(weight);
  203. QueryWrapper<TaBuildingDynamic> dynamicQueryWrapper = new QueryWrapper<>();
  204. dynamicQueryWrapper.eq("dynamic_id",dynamic);
  205. if (iBuildingDynamicService.updateById(dynamic)){
  206. responseBean.addSuccess("成功");
  207. }else {
  208. responseBean.addError("失败");
  209. }
  210. return responseBean;
  211. }
  212. @RequestMapping(value = "/admin/buildingDynamic/delete", method = RequestMethod.DELETE)
  213. public ResponseBean buildingDynamicdelect(@RequestParam(value = "id",required = false)String id) {
  214. ResponseBean responseBean = iBuildingDynamicService.buildingDynamicDelete(id);
  215. return responseBean;
  216. }
  217. @RequestMapping(value = "/admin/buildingDynamic/send/{dynamicId}", method = RequestMethod.PUT)
  218. public ResponseBean send(@PathVariable String dynamicId) {
  219. ResponseBean responseBean = new ResponseBean();
  220. QueryWrapper<TaBuildingDynamic> dynamicQueryWrapper = new QueryWrapper<>();
  221. dynamicQueryWrapper.eq("dynamic_id", dynamicId);
  222. TaBuildingDynamic dynamic = iBuildingDynamicService.getOne(dynamicQueryWrapper);
  223. dynamic.setStatus(1);
  224. dynamic.setPublishDate(LocalDateTime.now());
  225. iBuildingDynamicService.update(dynamic, dynamicQueryWrapper);
  226. return responseBean;
  227. }
  228. @RequestMapping(value = "/admin/buildingDynamic/cancel/{dynamicId}", method = RequestMethod.PUT)
  229. public ResponseBean cancel(@PathVariable String dynamicId) {
  230. ResponseBean responseBean = new ResponseBean();
  231. QueryWrapper<TaBuildingDynamic> dynamicQueryWrapper = new QueryWrapper<>();
  232. dynamicQueryWrapper.eq("dynamic_id", dynamicId);
  233. TaBuildingDynamic dynamic = iBuildingDynamicService.getOne(dynamicQueryWrapper);
  234. dynamic.setStatus(0);
  235. iBuildingDynamicService.update(dynamic, dynamicQueryWrapper);
  236. return responseBean;
  237. }
  238. @RequestMapping(value = "/admin/buildingDynamic/Details", method = RequestMethod.GET)
  239. public ResponseBean buildingDynamicDetails(@RequestParam("dynamicId")String dynamicId) {
  240. ResponseBean responseBean = new ResponseBean();
  241. QueryWrapper<TaBuildingDynamic> dynamicQueryWrapper = new QueryWrapper<>();
  242. dynamicQueryWrapper.eq("dynamic_id", dynamicId);
  243. TaBuildingDynamic dynamic = iBuildingDynamicService.getOne(dynamicQueryWrapper);
  244. TaBuilding building= taBuildingMapper.selectBuilding(dynamic.getBuildingId());
  245. if (null != building) {
  246. dynamic.setBuildingName(building.getBuildingName());
  247. }
  248. responseBean.addSuccess(dynamic);
  249. return responseBean;
  250. }
  251. @RequestMapping(value = "/admin/SignList", method = RequestMethod.GET)
  252. public ResponseBean getSignList(@RequestParam(value = "pageNum",defaultValue = "1")Integer pageNum,
  253. @RequestParam(value = "pageSize",defaultValue = "10")Integer pageSize,
  254. @RequestParam(value = "dynamicId",required = false)String dynamicId) {
  255. Page<TaActivityDynamicEnlist> page = new Page<>();
  256. page.setSize(pageSize);
  257. page.setCurrent(pageNum);
  258. ResponseBean signList = iBuildingDynamicService.signList(page,dynamicId);
  259. HashMap<String, Object> map = new HashMap<>();
  260. map.put("list", signList);
  261. map.put("total", page.getTotal());
  262. map.put("pageNum", page.getCurrent());
  263. map.put("pageSize", page.getSize());
  264. return ResponseBean.success(map);
  265. }
  266. @RequestMapping(value = "/admin/buildingDynamic/finish" ,method =RequestMethod.PUT)
  267. public ResponseBean buildingDynamicFinish(@RequestBody String parameter) {
  268. ResponseBean responseBean = new ResponseBean();
  269. JSONObject object = JSONObject.parseObject(parameter);
  270. String dynamicId = object.getString("dynamicId");
  271. String top = object.getString("top");
  272. QueryWrapper<TaBuildingDynamic> taBuildingDynamic = new QueryWrapper<>();
  273. taBuildingDynamic.eq("dynamic_id", dynamicId);
  274. TaBuildingDynamic dynamic = iBuildingDynamicService.getOne(taBuildingDynamic);
  275. if ("1".equals(top)) {
  276. dynamic.setCreateDate(LocalDateTime.now());
  277. } else {
  278. dynamic.setIsEnlist("2");
  279. }
  280. iBuildingDynamicService.update(dynamic, taBuildingDynamic);
  281. responseBean.addSuccess("成功");
  282. return responseBean;
  283. }
  284. }