TaRedPacketController.java 12KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316
  1. package com.huiju.estateagents.redpack.controller;
  2. import com.alibaba.fastjson.JSON;
  3. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  4. import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
  5. import com.baomidou.mybatisplus.core.metadata.IPage;
  6. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  7. import com.huiju.estateagents.base.BaseController;
  8. import com.huiju.estateagents.base.ResponseBean;
  9. import com.huiju.estateagents.common.CommConstant;
  10. import com.huiju.estateagents.drainage.entity.TaDrainage;
  11. import com.huiju.estateagents.drainage.mapper.TaDrainageMapper;
  12. import com.huiju.estateagents.redpack.entity.TaRedPacket;
  13. import com.huiju.estateagents.redpack.service.ITaOrgOrderService;
  14. import com.huiju.estateagents.redpack.service.ITaRedPacketPersonService;
  15. import com.huiju.estateagents.redpack.service.ITaRedPacketService;
  16. import org.slf4j.Logger;
  17. import org.slf4j.LoggerFactory;
  18. import org.springframework.beans.factory.annotation.Autowired;
  19. import org.springframework.format.annotation.DateTimeFormat;
  20. import org.springframework.web.bind.annotation.*;
  21. import javax.servlet.http.HttpServletRequest;
  22. import javax.servlet.http.HttpServletResponse;
  23. import java.time.LocalDateTime;
  24. import java.util.HashMap;
  25. import java.util.Map;
  26. /**
  27. * <p>
  28. * 红包助力活动 前端控制器
  29. * </p>
  30. *
  31. * @author fxf
  32. * @since 2020-06-03
  33. */
  34. @RestController
  35. @RequestMapping("/api")
  36. public class TaRedPacketController extends BaseController {
  37. private final Logger logger = LoggerFactory.getLogger(TaRedPacketController.class);
  38. @Autowired
  39. public ITaRedPacketService iTaRedPacketService;
  40. @Autowired
  41. private ITaOrgOrderService iTaOrgOrderService;
  42. @Autowired
  43. private ITaRedPacketPersonService iTaRedPacketPersonService;
  44. /**
  45. * 分页查询列表
  46. *
  47. * @param pageNum
  48. * @param pageSize
  49. * @return
  50. */
  51. @RequestMapping(value = "/admin/redPacket/listByCondition", method = RequestMethod.GET)
  52. public ResponseBean taRedPacketList(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
  53. @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
  54. ResponseBean responseBean = new ResponseBean();
  55. try {
  56. //使用分页插件
  57. IPage<TaRedPacket> pg = new Page<>(pageNum, pageSize);
  58. QueryWrapper<TaRedPacket> queryWrapper = new QueryWrapper<>();
  59. queryWrapper.orderByDesc("create_date");
  60. IPage<TaRedPacket> result = iTaRedPacketService.page(pg, queryWrapper);
  61. responseBean.addSuccess(result);
  62. } catch (Exception e) {
  63. e.printStackTrace();
  64. logger.error("taRedPacketList -=- {}", e.toString());
  65. responseBean.addError(e.getMessage());
  66. }
  67. return responseBean;
  68. }
  69. /**
  70. * 保存对象
  71. *
  72. * @param taRedPacket 实体对象
  73. * @return
  74. */
  75. @RequestMapping(value = "/admin/redPacket/save", method = RequestMethod.POST)
  76. public ResponseBean taRedPacketAdd(@RequestBody TaRedPacket taRedPacket) {
  77. ResponseBean responseBean = new ResponseBean();
  78. try {
  79. if (iTaRedPacketService.save(taRedPacket)) {
  80. responseBean.addSuccess("success");
  81. } else {
  82. responseBean.addError("fail");
  83. }
  84. } catch (Exception e) {
  85. logger.error("taRedPacketAdd -=- {}", e);
  86. responseBean.addError(e.getMessage());
  87. }
  88. return responseBean;
  89. }
  90. /**
  91. * 根据id删除对象
  92. *
  93. * @param id 实体ID
  94. */
  95. @ResponseBody
  96. @RequestMapping(value = "/taRedPacket/{id}", method = RequestMethod.DELETE)
  97. public ResponseBean taRedPacketDelete(@PathVariable Integer id) {
  98. ResponseBean responseBean = new ResponseBean();
  99. try {
  100. if (iTaRedPacketService.removeById(id)) {
  101. responseBean.addSuccess("success");
  102. } else {
  103. responseBean.addError("fail");
  104. }
  105. } catch (Exception e) {
  106. e.printStackTrace();
  107. logger.error("taRedPacketDelete -=- {}", e.toString());
  108. responseBean.addError(e.getMessage());
  109. }
  110. return responseBean;
  111. }
  112. /**
  113. * 修改对象
  114. *
  115. * @param taRedPacket 实体对象
  116. * @return
  117. */
  118. @RequestMapping(value = "/admin/redPacket/update", method = RequestMethod.PUT)
  119. public ResponseBean taRedPacketUpdate(@RequestBody TaRedPacket taRedPacket) {
  120. ResponseBean responseBean = new ResponseBean();
  121. try {
  122. responseBean = iTaRedPacketService.updateRedPacket(taRedPacket);
  123. } catch (Exception e) {
  124. logger.error("taRedPacketUpdate -=- {}", e);
  125. responseBean.addError(e.getMessage());
  126. }
  127. return responseBean;
  128. }
  129. /**
  130. * 根据id查询对象
  131. *
  132. * @param id 实体ID
  133. */
  134. @RequestMapping(value = "/admin/redPacket/{id}", method = RequestMethod.GET)
  135. public ResponseBean taRedPacketGet(@PathVariable String id) {
  136. ResponseBean responseBean = new ResponseBean();
  137. try {
  138. TaRedPacket record = iTaRedPacketService.getById(id);
  139. if (record != null) {
  140. record = iTaRedPacketService.getRedPacketImages(record);
  141. responseBean.addSuccess(record);
  142. } else {
  143. responseBean.addError("fail");
  144. }
  145. } catch (Exception e) {
  146. logger.error("taRedPacketDelete -=- {}", e);
  147. responseBean.addError(e.getMessage());
  148. }
  149. return responseBean;
  150. }
  151. /**
  152. * 条件查询红包发送记录
  153. *
  154. * @param pageNum
  155. * @param pageSize
  156. * @param orderId
  157. * @param wxOrderId
  158. * @param tradeNo
  159. * @param phone
  160. * @param tradingStatus
  161. * @param request
  162. * @return
  163. */
  164. @RequestMapping(value = "/admin/redPacket/listSendRecord", method = RequestMethod.GET)
  165. public ResponseBean listSendRecord(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
  166. @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
  167. String activityId,
  168. String orderId,
  169. String wxOrderId,
  170. String tradeNo,
  171. String phone,
  172. String tradingStatus,
  173. HttpServletRequest request) {
  174. ResponseBean responseBean = new ResponseBean();
  175. try {
  176. responseBean = iTaOrgOrderService.listRedPacketRecords(pageNum, pageSize, phone, activityId, orderId, wxOrderId, tradeNo, tradingStatus, getOrgId(request));
  177. } catch (Exception e) {
  178. logger.error("listSendRecord -=- {}", e);
  179. responseBean.addError(e.getMessage());
  180. }
  181. return responseBean;
  182. }
  183. /**
  184. * 获取红包排行榜
  185. *
  186. * @param pageNum
  187. * @param pageSize
  188. * @param activityId
  189. * @param phone
  190. * @param request
  191. * @return
  192. */
  193. @RequestMapping(value = "/admin/redPacket/getRedPacketRankingList", method = RequestMethod.GET)
  194. public ResponseBean getRedPacketRankingList(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
  195. @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
  196. String activityId,
  197. String phone,
  198. HttpServletRequest request) {
  199. ResponseBean responseBean = new ResponseBean();
  200. try {
  201. responseBean = iTaRedPacketPersonService.getRedPacketRankingList(pageNum, pageSize, activityId, phone, getOrgId(request));
  202. } catch (Exception e) {
  203. logger.error("getRedPacketRankingList -=- {}", e);
  204. responseBean.addError(e.getMessage());
  205. }
  206. return responseBean;
  207. }
  208. /**
  209. * 导出红包排行榜
  210. *
  211. * @param activityId
  212. * @param phone
  213. * @param request
  214. * @param response
  215. */
  216. @RequestMapping(value = "/admin/redPacket/exportRedPacketRankingList", method = RequestMethod.GET)
  217. public void exportRedPacketRankingList(String activityId,
  218. String phone,
  219. HttpServletRequest request,
  220. HttpServletResponse response) throws Exception {
  221. try {
  222. iTaRedPacketPersonService.exportRedPacketRankingList(activityId, phone, getOrgId(request), response);
  223. } catch (Exception e) {
  224. logger.error("exportRefundOrderByCondition 异常:", e);
  225. response.reset();
  226. response.setContentType("application/json");
  227. response.setCharacterEncoding("utf-8");
  228. Map<String, Object> map = new HashMap();
  229. map.put("code", ResponseBean.ERROR_UNAVAILABLE);
  230. map.put("message", "下载文件失败" + e.getMessage());
  231. response.getWriter().println(JSON.toJSONString(map));
  232. }
  233. }
  234. /**
  235. * 查询客户访问数据
  236. *
  237. * @param pageNum
  238. * @param pageSize
  239. * @param startTime
  240. * @param endTime
  241. * @param drainageId
  242. * @param phone
  243. * @param sharePersonPhone 分享人手机号
  244. * @param request
  245. * @return
  246. */
  247. @RequestMapping(value = "/admin/redPacket/listVisitRecordByCondition", method = RequestMethod.GET)
  248. public ResponseBean listVisitRecordByCondition(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
  249. @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
  250. @RequestParam(value = "startTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime startTime,
  251. @RequestParam(value = "endTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime endTime,
  252. String drainageId,
  253. String phone,
  254. String sharePersonPhone,
  255. HttpServletRequest request) {
  256. ResponseBean responseBean = new ResponseBean();
  257. try {
  258. responseBean = iTaRedPacketService.listVisitRecordByCondition(pageNum, pageSize, startTime, endTime, drainageId, phone, sharePersonPhone, getOrgId(request));
  259. } catch (Exception e) {
  260. logger.error("listVisitRecordByCondition -=- {}", e);
  261. responseBean.addError(e.getMessage());
  262. }
  263. return responseBean;
  264. }
  265. /**
  266. * 导出客户访问数据
  267. *
  268. * @param startTime
  269. * @param endTime
  270. * @param drainageId
  271. * @param phone
  272. * @param sharePersonPhone
  273. * @param request
  274. * @return
  275. */
  276. @RequestMapping(value = "/admin/redPacket/exportVisitRecordByCondition", method = RequestMethod.GET)
  277. public void exportVisitRecordByCondition(@RequestParam(value = "startTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime startTime,
  278. @RequestParam(value = "endTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime endTime,
  279. String drainageId,
  280. String phone,
  281. String sharePersonPhone,
  282. HttpServletRequest request,
  283. HttpServletResponse response) throws Exception {
  284. try {
  285. iTaRedPacketService.exportVisitRecordByCondition(startTime, endTime, drainageId, phone, sharePersonPhone, getOrgId(request), response);
  286. } catch (Exception e) {
  287. logger.error("exportVisitRecordByCondition 异常:", e);
  288. response.reset();
  289. response.setContentType("application/json");
  290. response.setCharacterEncoding("utf-8");
  291. Map<String, Object> map = new HashMap();
  292. map.put("code", ResponseBean.ERROR_UNAVAILABLE);
  293. map.put("message", "下载文件失败" + e.getMessage());
  294. response.getWriter().println(JSON.toJSONString(map));
  295. }
  296. }
  297. }