package com.ruoyi.web.controller.api; import cn.afterturn.easypoi.excel.ExcelExportUtil; import cn.afterturn.easypoi.excel.entity.ExportParams; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.WebUtils; import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.system.export.TCrmChangePointsBranchExport; import com.ruoyi.system.export.TCrmChangePointsClinicExport; import com.ruoyi.system.export.TCrmChangePointsSalespersonExport; import com.ruoyi.system.export.TCrmSalespersonExport; import com.ruoyi.system.model.TCrmBranch; import com.ruoyi.system.query.TCrmBranchQuery; import com.ruoyi.system.query.TCrmChangePointsQuery; import com.ruoyi.system.query.TCrmSalespersonQuery; import com.ruoyi.system.service.*; import com.ruoyi.system.vo.TCrmBranchVO; import com.ruoyi.system.vo.TCrmChangePointsVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.poi.ss.usermodel.Workbook; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.net.URLEncoder; import java.util.List; import java.util.Objects; /** *

* crm修改积分记录 前端控制器 *

* * @author xiaochen * @since 2025-09-02 */ @Api(tags = "修改积分记录") @RestController @RequestMapping("/t-crm-change-points") public class TCrmChangePointsController { private final TCrmChangePointsService crmChangePointsService; private final TokenService tokenService; @Autowired public TCrmChangePointsController(TCrmChangePointsService crmChangePointsService, TokenService tokenService) { this.crmChangePointsService = crmChangePointsService; this.tokenService = tokenService; } /** * 分公司积分变更明细分页列表 */ @ApiOperation(value = "分公司积分变更明细分页列表") @PostMapping(value = "/pageListBranch") public R> pageListBranch(@RequestBody TCrmChangePointsQuery query) { return R.ok(crmChangePointsService.pageListBranch(query)); } /** * 业务员积分变更明细分页列表 */ @ApiOperation(value = "业务员积分变更明细分页列表") @PostMapping(value = "/pageListSalesperson") public R> pageListSalesperson(@RequestBody TCrmChangePointsQuery query) { return R.ok(crmChangePointsService.pageListSalesperson(query)); } /** * 诊所积分变更明细分页列表 */ @ApiOperation(value = "诊所积分变更明细分页列表") @PostMapping(value = "/pageListClinic") public R> pageListClinic(@RequestBody TCrmChangePointsQuery query) { return R.ok(crmChangePointsService.pageListClinic(query)); } @Log(title = "修改积分记录-分公司积分变更明细导出", businessType = BusinessType.EXPORT) @ApiOperation(value = "分公司积分变更明细导出") @PostMapping("/exportBranch") public void listExportBranch(@RequestBody TCrmChangePointsQuery query){ List crmChangePointsBranchExports = crmChangePointsService.pageListBranchExport(query); for (TCrmChangePointsBranchExport crmChangePointsBranchExport : crmChangePointsBranchExports) { if(Objects.nonNull(crmChangePointsBranchExport.getPayMoney())){ crmChangePointsBranchExport.setPayMoneyStr("¥"+crmChangePointsBranchExport.getPayMoney()); } crmChangePointsBranchExport.setCreateTimeStr(crmChangePointsBranchExport.getCreateTime().toLocalDate().toString()); } Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(), TCrmChangePointsBranchExport.class, crmChangePointsBranchExports); HttpServletResponse response = WebUtils.response(); assert response != null; response.setContentType("application/vnd.ms-excel"); 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 { outputStream.close(); } catch (IOException e) { e.printStackTrace(); } } } @Log(title = "修改积分记录-业务员积分变更明细导出", businessType = BusinessType.EXPORT) @ApiOperation(value = "业务员积分变更明细导出") @PostMapping("/exportSalesperson") public void listExportSalesperson(@RequestBody TCrmChangePointsQuery query){ List crmChangePointsSalespersonExports = crmChangePointsService.pageListSalespersonExport(query); for (TCrmChangePointsSalespersonExport crmChangePointsSalespersonExport : crmChangePointsSalespersonExports) { if(Objects.nonNull(crmChangePointsSalespersonExport.getPayMoney())){ crmChangePointsSalespersonExport.setPayMoneyStr("¥"+crmChangePointsSalespersonExport.getPayMoney()); } crmChangePointsSalespersonExport.setCreateTimeStr(crmChangePointsSalespersonExport.getCreateTime().toLocalDate().toString()); } Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(), TCrmChangePointsSalespersonExport.class, crmChangePointsSalespersonExports); HttpServletResponse response = WebUtils.response(); assert response != null; response.setContentType("application/vnd.ms-excel"); 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 { outputStream.close(); } catch (IOException e) { e.printStackTrace(); } } } @Log(title = "修改积分记录-诊所积分变更明细导出", businessType = BusinessType.EXPORT) @ApiOperation(value = "诊所积分变更明细导出") @PostMapping("/exportClinic") public void listExportClinic(@RequestBody TCrmChangePointsQuery query){ List crmChangePointsClinicExports = crmChangePointsService.pageListClinicExport(query); for (TCrmChangePointsClinicExport crmChangePointsClinicExport : crmChangePointsClinicExports) { if(Objects.nonNull(crmChangePointsClinicExport.getPayMoney())){ crmChangePointsClinicExport.setPayMoneyStr("¥"+crmChangePointsClinicExport.getPayMoney()); } crmChangePointsClinicExport.setCreateTimeStr(crmChangePointsClinicExport.getCreateTime().toLocalDate().toString()); } Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(), TCrmChangePointsClinicExport.class, crmChangePointsClinicExports); HttpServletResponse response = WebUtils.response(); assert response != null; response.setContentType("application/vnd.ms-excel"); 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 { outputStream.close(); } catch (IOException e) { e.printStackTrace(); } } } }