TaRaiseController.java 11KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283
  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.StringUtils;
  10. import com.huiju.estateagents.entity.TaPersonBuilding;
  11. import com.huiju.estateagents.entity.TaRaise;
  12. import com.huiju.estateagents.entity.TaRaiseInvite;
  13. import com.huiju.estateagents.entity.TaSalesBatch;
  14. import com.huiju.estateagents.service.*;
  15. import com.huiju.estateagents.service.impl.TaRaiseInviteServiceImpl;
  16. import io.swagger.models.auth.In;
  17. import org.slf4j.Logger;
  18. import org.slf4j.LoggerFactory;
  19. import org.springframework.beans.factory.annotation.Autowired;
  20. import org.springframework.web.bind.annotation.*;
  21. import javax.servlet.http.HttpServletRequest;
  22. import java.lang.reflect.Array;
  23. import java.time.LocalDateTime;
  24. import java.util.ArrayList;
  25. import java.util.List;
  26. /**
  27. * <p>
  28. * 认筹表 前端控制器
  29. * </p>
  30. *
  31. * @author jobob
  32. * @since 2020-02-26
  33. */
  34. @RestController
  35. @RequestMapping("/api")
  36. public class TaRaiseController extends BaseController {
  37. private final Logger logger = LoggerFactory.getLogger(TaRaiseController.class);
  38. @Autowired
  39. public ITaRaiseService iTaRaiseService;
  40. @Autowired
  41. public ITdCityService iTdCityService;
  42. @Autowired
  43. public ITaSalesBatchService iTaSalesBatchService;
  44. @Autowired
  45. private TaRaiseInviteServiceImpl iTaRaiseInviteService;
  46. /**
  47. * 获取认筹列表
  48. *
  49. * @param pageNum
  50. * @param pageSize
  51. * @param buildingId
  52. * @param salesBatchName
  53. * @param status
  54. * @param request
  55. * @return
  56. */
  57. @RequestMapping(value = "/admin/listRaiseByCondition", method = RequestMethod.GET)
  58. public ResponseBean listRaiseByCondition(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
  59. @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
  60. String buildingId, String salesBatchName, Integer status,
  61. HttpServletRequest request) {
  62. ResponseBean responseBean = new ResponseBean();
  63. try {
  64. Integer orgId = getOrgId(request);
  65. List<TaPersonBuilding> personBuildingList = getTaPersonBuildingListByUserId(request);
  66. responseBean = iTaRaiseService.listRaiseByCondition(pageSize, pageNum, salesBatchName, buildingId, orgId, status, personBuildingList);
  67. logger.info("listRaiseByCondition 返回结果:{}", JSONObject.toJSONString(responseBean));
  68. } catch (Exception e) {
  69. logger.error("listRaiseByCondition -=- {}", e);
  70. responseBean.addError(e.getMessage());
  71. }
  72. return responseBean;
  73. }
  74. /**
  75. * 分页查询列表
  76. *
  77. * @param pageNum
  78. * @param pageSize
  79. * @return
  80. */
  81. @RequestMapping(value = "/admin/taRaise", method = RequestMethod.GET)
  82. public ResponseBean taRaiseList(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
  83. @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
  84. ResponseBean responseBean = new ResponseBean();
  85. try {
  86. //使用分页插件
  87. IPage<TaRaise> pg = new Page<>(pageNum, pageSize);
  88. QueryWrapper<TaRaise> queryWrapper = new QueryWrapper<>();
  89. queryWrapper.orderByDesc("create_date");
  90. IPage<TaRaise> result = iTaRaiseService.page(pg, queryWrapper);
  91. responseBean.addSuccess(result);
  92. } catch (Exception e) {
  93. e.printStackTrace();
  94. logger.error("taRaiseList -=- {}", e.toString());
  95. responseBean.addError(e.getMessage());
  96. }
  97. return responseBean;
  98. }
  99. /**
  100. * 保存对象
  101. *
  102. * @param taRaise 实体对象
  103. * @return
  104. */
  105. @RequestMapping(value = "/admin/taRaise", method = RequestMethod.POST)
  106. public ResponseBean taRaiseAdd(@RequestBody TaRaise taRaise, HttpServletRequest request) {
  107. ResponseBean responseBean = new ResponseBean();
  108. try {
  109. // 参数校验
  110. Integer raisePrice = taRaise.getRaisePrice();
  111. if (raisePrice != null && (raisePrice > CommConstant.MAX_RAISE_PRICE || raisePrice < 0)) {
  112. responseBean.addError("认筹金额范围为0到50000元");
  113. return responseBean;
  114. }
  115. Integer orgId = getOrgId(request);
  116. // 校验批次是否已经认筹过
  117. QueryWrapper<TaRaise> taRaiseQueryWrapper = new QueryWrapper<>();
  118. taRaiseQueryWrapper.eq("org_Id", orgId);
  119. taRaiseQueryWrapper.eq("sales_batch_id", taRaise.getSalesBatchId());
  120. taRaiseQueryWrapper.eq("status", 1);
  121. TaRaise tr = iTaRaiseService.getOne(taRaiseQueryWrapper);
  122. if (tr != null) {
  123. responseBean.addError("该销售批次已添加过认筹");
  124. return responseBean;
  125. }
  126. // 获取销售批次状态
  127. TaSalesBatch taSalesBatch = new TaSalesBatch();
  128. if (taRaise.getSalesBatchId() != null) {
  129. QueryWrapper<TaSalesBatch> taSalesBatchQueryWrapper = new QueryWrapper<>();
  130. taSalesBatchQueryWrapper.eq("sales_batch_id", taRaise.getSalesBatchId());
  131. taSalesBatch = iTaSalesBatchService.getOne(taSalesBatchQueryWrapper);
  132. }
  133. taRaise.setOrgId(orgId);
  134. taRaise.setRaisePrice(taRaise.getRaisePrice() != null ? taRaise.getRaisePrice() : null);
  135. taRaise.setStatus(taSalesBatch.getStatus());
  136. taRaise.setCreateDate(LocalDateTime.now());
  137. if (iTaRaiseService.save(taRaise)) {
  138. // 为邀请制,添加认筹被邀请清单
  139. if (CommConstant.STATUS_NORMAL == taRaise.getIsInvite()) {
  140. iTaRaiseService.saveOrUpdateInvite(taRaise, getOrgId(request), true);
  141. }
  142. responseBean.addSuccess(taRaise);
  143. } else {
  144. responseBean.addError("fail");
  145. }
  146. } catch (Exception e) {
  147. logger.error("taRaiseAdd -=- {}", e);
  148. responseBean.addError(e.getMessage());
  149. }
  150. return responseBean;
  151. }
  152. /**
  153. * 批量删除
  154. *
  155. * @param taRaiseList
  156. * @param request
  157. * @return
  158. */
  159. @ResponseBody
  160. @RequestMapping(value = "/admin/raise/batchDelete", method = RequestMethod.DELETE)
  161. public ResponseBean batchDelete(@RequestBody List<TaRaise> taRaiseList, HttpServletRequest request) {
  162. ResponseBean responseBean = new ResponseBean();
  163. try {
  164. Integer orgId = getOrgId(request);
  165. responseBean = iTaRaiseService.batchDelete(taRaiseList, orgId);
  166. } catch (Exception e) {
  167. e.printStackTrace();
  168. logger.error("taRaiseDelete -=- {}", e.toString());
  169. responseBean.addError(e.getMessage());
  170. }
  171. return responseBean;
  172. }
  173. /**
  174. * 根据id删除对象
  175. *
  176. * @param id 实体ID
  177. */
  178. @ResponseBody
  179. @RequestMapping(value = "/taRaise/{id}", method = RequestMethod.DELETE)
  180. public ResponseBean taRaiseDelete(@PathVariable Integer id) {
  181. ResponseBean responseBean = new ResponseBean();
  182. try {
  183. if (iTaRaiseService.removeById(id)) {
  184. responseBean.addSuccess("success");
  185. } else {
  186. responseBean.addError("fail");
  187. }
  188. } catch (Exception e) {
  189. e.printStackTrace();
  190. logger.error("taRaiseDelete -=- {}", e.toString());
  191. responseBean.addError(e.getMessage());
  192. }
  193. return responseBean;
  194. }
  195. /**
  196. * 修改对象
  197. *
  198. * @param id 实体ID
  199. * @param taRaise 实体对象
  200. * @return
  201. */
  202. @RequestMapping(value = "/admin/taRaise/{id}", method = RequestMethod.PUT)
  203. public ResponseBean taRaiseUpdate(@PathVariable Integer id,
  204. @RequestBody TaRaise taRaise,
  205. HttpServletRequest request) {
  206. ResponseBean responseBean = new ResponseBean();
  207. try {
  208. Integer raisePrice = taRaise.getRaisePrice();
  209. if (raisePrice != null && (raisePrice > CommConstant.MAX_RAISE_PRICE || raisePrice < 0)) {
  210. responseBean.addError("认筹金额范围为0到50000元");
  211. return responseBean;
  212. }
  213. taRaise.setRaiseId(id);
  214. taRaise.setRaisePrice(taRaise.getRaisePrice() != null ? taRaise.getRaisePrice() : null);
  215. if (iTaRaiseService.updateById(taRaise)) {
  216. // 为邀请制,添加认筹被邀请清单
  217. if (CommConstant.STATUS_NORMAL == taRaise.getIsInvite()) {
  218. iTaRaiseService.saveOrUpdateInvite(taRaise, getOrgId(request), false);
  219. }
  220. responseBean.addSuccess(taRaise);
  221. } else {
  222. responseBean.addError("fail");
  223. }
  224. } catch (Exception e) {
  225. e.printStackTrace();
  226. logger.error("taRaiseUpdate -=- {}", e.toString());
  227. responseBean.addError(e.getMessage());
  228. }
  229. return responseBean;
  230. }
  231. /**
  232. * 根据id查询对象
  233. *
  234. * @param id 实体ID
  235. */
  236. @RequestMapping(value = "/admin/taRaise/{id}", method = RequestMethod.GET)
  237. public ResponseBean taRaiseGet(@PathVariable Integer id, HttpServletRequest request) {
  238. ResponseBean responseBean = new ResponseBean();
  239. try {
  240. responseBean = iTaRaiseService.getRaiseById(id, getOrgId(request));
  241. } catch (Exception e) {
  242. e.printStackTrace();
  243. logger.error("taRaiseDelete -=- {}", e.toString());
  244. responseBean.addError(e.getMessage());
  245. }
  246. return responseBean;
  247. }
  248. @GetMapping("/wx/taRaise")
  249. public ResponseBean getRaiseProfile(@RequestParam(required = false) Integer salesBatchId,
  250. @RequestParam(required = false) Integer raiseId,
  251. @RequestParam(required = false) Integer raiseRecordId,
  252. HttpServletRequest request) {
  253. TaRaise taRaise = iTaRaiseService.getRaiseProfile(raiseId, raiseRecordId, salesBatchId);
  254. return ResponseBean.success(taRaise);
  255. }
  256. }