| | |
| | | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | | import com.ruoyi.account.api.dto.GiveVipDto; |
| | | import com.ruoyi.account.api.dto.UserListQueryDto; |
| | | import com.ruoyi.account.api.feignClient.AppUserClient; |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.common.core.utils.DateUtils; |
| | |
| | | import com.ruoyi.order.api.query.ShoppingOrderQuery; |
| | | import com.ruoyi.order.api.query.VipShoppingOrderQuery; |
| | | import com.ruoyi.order.dto.TEnterpriseExport; |
| | | import com.ruoyi.order.export.TVipOrderExport; |
| | | import com.ruoyi.order.service.TVipOrderRefundService; |
| | | import com.ruoyi.order.service.TVipOrderService; |
| | | import com.ruoyi.other.api.domain.TEnterpriseUserApplication; |
| | |
| | | if (data.isEmpty()){ |
| | | return AjaxResult.success(new PageInfo<TVipOrder>()); |
| | | } |
| | | query.setUserIds(data); |
| | | } |
| | | PageInfo<TVipOrder> res = vipOrderService.pageList(query); |
| | | return AjaxResult.success(res); |
| | |
| | | } |
| | | |
| | | |
| | | @RequiresPermissions(value = {"/vipOrder", "/vipOrder/export"}, logical = Logical.OR) |
| | | @ApiOperation(tags = {"管理后台-会员订单"}, value = "导出") |
| | | @PutMapping(value = "/exportVipOrder") |
| | | @Log(title = "会员订单导出", businessType = BusinessType.EXPORT) |
| | | public void exportVipOrder(@RequestBody VipShoppingOrderQuery query) { |
| | | if (StringUtils.hasLength(query.getPhone())) { |
| | | List<Long> data = appUserClient.getUserIdsByPhone(query.getPhone()).getData(); |
| | | if (data.isEmpty()) { |
| | | writeVipOrderWorkbook(new ArrayList<>()); |
| | | return; |
| | | } |
| | | query.setUserIds(data); |
| | | } |
| | | query.setPageCurr(1); |
| | | query.setPageSize(100000); |
| | | List<TVipOrder> list = vipOrderService.pageList(query).getRecords(); |
| | | List<TVipOrderExport> exports = new ArrayList<>(); |
| | | for (TVipOrder vipOrder : list) { |
| | | TVipOrderExport export = new TVipOrderExport(); |
| | | BeanUtils.copyProperties(vipOrder, export); |
| | | export.setCreateTime(DateUtils.localDateTimeToString(vipOrder.getCreateTime())); |
| | | exports.add(export); |
| | | } |
| | | writeVipOrderWorkbook(exports); |
| | | } |
| | | |
| | | @RequiresPermissions(value = {"/vipList", "/vipList/export"}, logical = Logical.OR) |
| | | @ApiOperation(tags = {"管理后台-会员列表"}, value = "导出会员充值订单") |
| | | @PutMapping(value = "/exportVipOrderByVipUser") |
| | | @Log(title = "会员列表导出会员充值订单", businessType = BusinessType.EXPORT) |
| | | public void exportVipOrderByVipUser(@RequestBody UserListQueryDto query) { |
| | | List<Long> userIds = appUserClient.getVipUserIds(query).getData(); |
| | | if (userIds == null || userIds.isEmpty()) { |
| | | writeVipOrderWorkbook(new ArrayList<>()); |
| | | return; |
| | | } |
| | | VipShoppingOrderQuery orderQuery = new VipShoppingOrderQuery(); |
| | | orderQuery.setUserIds(userIds); |
| | | if (query != null) { |
| | | orderQuery.setVipId(query.getVipTypeId()); |
| | | } |
| | | orderQuery.setPageCurr(1); |
| | | orderQuery.setPageSize(100000); |
| | | List<TVipOrder> list = vipOrderService.pageList(orderQuery).getRecords(); |
| | | List<TVipOrderExport> exports = new ArrayList<>(); |
| | | for (TVipOrder vipOrder : list) { |
| | | TVipOrderExport export = new TVipOrderExport(); |
| | | BeanUtils.copyProperties(vipOrder, export); |
| | | export.setCreateTime(DateUtils.localDateTimeToString(vipOrder.getCreateTime())); |
| | | exports.add(export); |
| | | } |
| | | writeVipOrderWorkbook(exports); |
| | | } |
| | | |
| | | private void writeVipOrderWorkbook(List<TVipOrderExport> exports) { |
| | | Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(), TVipOrderExport.class, exports); |
| | | HttpServletResponse response = WebUtils.response(); |
| | | response.setCharacterEncoding("utf-8"); |
| | | ServletOutputStream outputStream = null; |
| | | try { |
| | | String fileName = URLEncoder.encode("会员订单导出.xls", "utf-8"); |
| | | response.setHeader("Content-Disposition", "attachment;filename=" + fileName); |
| | | response.setContentType("application/vnd.ms-excel;charset=UTF-8"); |
| | | response.setHeader("Pragma", "no-cache"); |
| | | response.setHeader("Cache-Control", "no-cache"); |
| | | outputStream = response.getOutputStream(); |
| | | workbook.write(outputStream); |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | } finally { |
| | | try { |
| | | workbook.close(); |
| | | if (outputStream != null) { |
| | | outputStream.close(); |
| | | } |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | } |