package com.huiju.estateagents.redpack.controller; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.huiju.estateagents.base.BaseController; import com.huiju.estateagents.base.ResponseBean; import com.huiju.estateagents.common.CommConstant; import com.huiju.estateagents.drainage.entity.TaDrainage; import com.huiju.estateagents.drainage.mapper.TaDrainageMapper; import com.huiju.estateagents.redpack.entity.TaRedPacket; import com.huiju.estateagents.redpack.service.ITaOrgOrderService; import com.huiju.estateagents.redpack.service.ITaRedPacketPersonService; import com.huiju.estateagents.redpack.service.ITaRedPacketService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.format.annotation.DateTimeFormat; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.time.LocalDateTime; import java.util.HashMap; import java.util.Map; /** * <p> * 红包助力活动 前端控制器 * </p> * * @author fxf * @since 2020-06-03 */ @RestController @RequestMapping("/api") public class TaRedPacketController extends BaseController { private final Logger logger = LoggerFactory.getLogger(TaRedPacketController.class); @Autowired public ITaRedPacketService iTaRedPacketService; @Autowired private ITaOrgOrderService iTaOrgOrderService; @Autowired private ITaRedPacketPersonService iTaRedPacketPersonService; /** * 分页查询列表 * * @param pageNum * @param pageSize * @return */ @RequestMapping(value = "/admin/redPacket/listByCondition", method = RequestMethod.GET) public ResponseBean taRedPacketList(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) { ResponseBean responseBean = new ResponseBean(); try { //使用分页插件 IPage<TaRedPacket> pg = new Page<>(pageNum, pageSize); QueryWrapper<TaRedPacket> queryWrapper = new QueryWrapper<>(); queryWrapper.orderByDesc("create_date"); IPage<TaRedPacket> result = iTaRedPacketService.page(pg, queryWrapper); responseBean.addSuccess(result); } catch (Exception e) { e.printStackTrace(); logger.error("taRedPacketList -=- {}", e.toString()); responseBean.addError(e.getMessage()); } return responseBean; } /** * 保存对象 * * @param taRedPacket 实体对象 * @return */ @RequestMapping(value = "/admin/redPacket/save", method = RequestMethod.POST) public ResponseBean taRedPacketAdd(@RequestBody TaRedPacket taRedPacket) { ResponseBean responseBean = new ResponseBean(); try { if (iTaRedPacketService.save(taRedPacket)) { responseBean.addSuccess("success"); } else { responseBean.addError("fail"); } } catch (Exception e) { logger.error("taRedPacketAdd -=- {}", e); responseBean.addError(e.getMessage()); } return responseBean; } /** * 根据id删除对象 * * @param id 实体ID */ @ResponseBody @RequestMapping(value = "/taRedPacket/{id}", method = RequestMethod.DELETE) public ResponseBean taRedPacketDelete(@PathVariable Integer id) { ResponseBean responseBean = new ResponseBean(); try { if (iTaRedPacketService.removeById(id)) { responseBean.addSuccess("success"); } else { responseBean.addError("fail"); } } catch (Exception e) { e.printStackTrace(); logger.error("taRedPacketDelete -=- {}", e.toString()); responseBean.addError(e.getMessage()); } return responseBean; } /** * 修改对象 * * @param taRedPacket 实体对象 * @return */ @RequestMapping(value = "/admin/redPacket/update", method = RequestMethod.PUT) public ResponseBean taRedPacketUpdate(@RequestBody TaRedPacket taRedPacket) { ResponseBean responseBean = new ResponseBean(); try { responseBean = iTaRedPacketService.updateRedPacket(taRedPacket); } catch (Exception e) { logger.error("taRedPacketUpdate -=- {}", e); responseBean.addError(e.getMessage()); } return responseBean; } /** * 根据id查询对象 * * @param id 实体ID */ @RequestMapping(value = "/admin/redPacket/{id}", method = RequestMethod.GET) public ResponseBean taRedPacketGet(@PathVariable String id) { ResponseBean responseBean = new ResponseBean(); try { TaRedPacket record = iTaRedPacketService.getById(id); if (record != null) { record = iTaRedPacketService.getRedPacketImages(record); responseBean.addSuccess(record); } else { responseBean.addError("fail"); } } catch (Exception e) { logger.error("taRedPacketDelete -=- {}", e); responseBean.addError(e.getMessage()); } return responseBean; } /** * 条件查询红包发送记录 * * @param pageNum * @param pageSize * @param orderId * @param wxOrderId * @param tradeNo * @param phone * @param tradingStatus * @param request * @return */ @RequestMapping(value = "/admin/redPacket/listSendRecord", method = RequestMethod.GET) public ResponseBean listSendRecord(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, String activityId, String orderId, String wxOrderId, String tradeNo, String phone, String tradingStatus, HttpServletRequest request) { ResponseBean responseBean = new ResponseBean(); try { responseBean = iTaOrgOrderService.listRedPacketRecords(pageNum, pageSize, phone, activityId, orderId, wxOrderId, tradeNo, tradingStatus, getOrgId(request)); } catch (Exception e) { logger.error("listSendRecord -=- {}", e); responseBean.addError(e.getMessage()); } return responseBean; } /** * 获取红包排行榜 * * @param pageNum * @param pageSize * @param activityId * @param phone * @param request * @return */ @RequestMapping(value = "/admin/redPacket/getRedPacketRankingList", method = RequestMethod.GET) public ResponseBean getRedPacketRankingList(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, String activityId, String phone, HttpServletRequest request) { ResponseBean responseBean = new ResponseBean(); try { responseBean = iTaRedPacketPersonService.getRedPacketRankingList(pageNum, pageSize, activityId, phone, getOrgId(request)); } catch (Exception e) { logger.error("getRedPacketRankingList -=- {}", e); responseBean.addError(e.getMessage()); } return responseBean; } /** * 导出红包排行榜 * * @param activityId * @param phone * @param request * @param response */ @RequestMapping(value = "/admin/redPacket/exportRedPacketRankingList", method = RequestMethod.GET) public void exportRedPacketRankingList(String activityId, String phone, HttpServletRequest request, HttpServletResponse response) throws Exception { try { iTaRedPacketPersonService.exportRedPacketRankingList(activityId, phone, getOrgId(request), response); } catch (Exception e) { logger.error("exportRefundOrderByCondition 异常:", e); response.reset(); response.setContentType("application/json"); response.setCharacterEncoding("utf-8"); Map<String, Object> map = new HashMap(); map.put("code", ResponseBean.ERROR_UNAVAILABLE); map.put("message", "下载文件失败" + e.getMessage()); response.getWriter().println(JSON.toJSONString(map)); } } /** * 查询客户访问数据 * * @param pageNum * @param pageSize * @param startTime * @param endTime * @param drainageId * @param phone * @param sharePersonPhone 分享人手机号 * @param request * @return */ @RequestMapping(value = "/admin/redPacket/listVisitRecordByCondition", method = RequestMethod.GET) public ResponseBean listVisitRecordByCondition(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, @RequestParam(value = "startTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime startTime, @RequestParam(value = "endTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime endTime, String drainageId, String phone, String sharePersonPhone, HttpServletRequest request) { ResponseBean responseBean = new ResponseBean(); try { responseBean = iTaRedPacketService.listVisitRecordByCondition(pageNum, pageSize, startTime, endTime, drainageId, phone, sharePersonPhone, getOrgId(request)); } catch (Exception e) { logger.error("listVisitRecordByCondition -=- {}", e); responseBean.addError(e.getMessage()); } return responseBean; } /** * 导出客户访问数据 * * @param startTime * @param endTime * @param drainageId * @param phone * @param sharePersonPhone * @param request * @return */ @RequestMapping(value = "/admin/redPacket/exportVisitRecordByCondition", method = RequestMethod.GET) public void exportVisitRecordByCondition(@RequestParam(value = "startTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime startTime, @RequestParam(value = "endTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime endTime, String drainageId, String phone, String sharePersonPhone, HttpServletRequest request, HttpServletResponse response) throws Exception { try { iTaRedPacketService.exportVisitRecordByCondition(startTime, endTime, drainageId, phone, sharePersonPhone, getOrgId(request), response); } catch (Exception e) { logger.error("exportVisitRecordByCondition 异常:", e); response.reset(); response.setContentType("application/json"); response.setCharacterEncoding("utf-8"); Map<String, Object> map = new HashMap(); map.put("code", ResponseBean.ERROR_UNAVAILABLE); map.put("message", "下载文件失败" + e.getMessage()); response.getWriter().println(JSON.toJSONString(map)); } } }