package com.ydtech.modules.admin.controller; import com.ydtech.core.page.HttpResult; import com.ydtech.modules.admin.model.dto.SysAmountAuditingDto; import com.ydtech.modules.admin.model.dto.SysAmountAuditingEntityDto; import com.ydtech.modules.admin.model.po.SysAmountAuditingEntity; import com.ydtech.modules.admin.model.vo.SysAmountAuditingVo; import com.ydtech.modules.admin.model.vo.SysAmountRejectVo; import com.ydtech.modules.admin.service.SysAmountAuditingService; import com.ydtech.modules.base.controller.BaseController; import com.ydtech.modules.order.entity.BasePageResult; import com.ydtech.utils.ExcelUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; @Api(tags = "提现审核") @RequestMapping("/sysAmountAuditing") @RestController public class SysAmountAuditingController extends BaseController { @Autowired private SysAmountAuditingService sysAmountAuditingService; @Value("${upload.file.path}") private String uploadPath; private String EXCEL_PATH = "excel//"; private String UPLOAD_PATH = "/upload//excel//"; @PostMapping("/queryPage") @ApiOperation(value = "提现审核分页") public HttpResult> queryPageOrder(@RequestBody @Valid SysAmountAuditingVo sysAmountAuditingVo) { return sysAmountAuditingService.queryByVo(sysAmountAuditingVo); } /** * @version * @author: hxl * @Date: 2024/6/19 8:44 * @Description: 审核提现 */ @PutMapping("AmountReview") @ApiOperation("审核提现") public HttpResult AmountReview(@RequestBody SysAmountAuditingVo sysUserAccountVo) { sysAmountAuditingService.AmountReview(sysUserAccountVo); return HttpResult.ok("审核成功"); } @PostMapping("/queryAppPage") @ApiOperation(value = "提现审核分页") public HttpResult> queryAppPage(@RequestBody @Valid SysAmountAuditingVo sysAmountAuditingVo) { BasePageResult result = sysAmountAuditingService.queryAppPage(sysAmountAuditingVo); return HttpResult.ok("success", result); } /** * @version * @author: hxl * @Date: 2024/6/19 8:44 * @Description: 驳回功能 */ @PostMapping("rejectAmount") @ApiOperation("驳回") public HttpResult rejectAmount(@RequestBody SysAmountRejectVo sysAmountRejectVo) { sysAmountAuditingService.rejectAmount(sysAmountRejectVo); return HttpResult.ok("驳回成功"); } @PostMapping("/querySumAmount") @ApiOperation(value = "提现审核总金额") public HttpResult querySumAmount(@RequestBody @Valid SysAmountAuditingVo sysAmountAuditingVo) { BigDecimal sumAmount = sysAmountAuditingService.querySumAmount(sysAmountAuditingVo); return HttpResult.ok("success", sumAmount); } @PostMapping("/addInvAccountBackCardMsg") @ApiOperation(value = "补充内部银行卡信息") public HttpResult addInvAccountBackCardMsg(@RequestBody @Valid SysAmountAuditingDto sysAmountAuditingDto) { return sysAmountAuditingService.addInvAccountBackCardMsg(sysAmountAuditingDto); } @GetMapping("/findById") @ApiOperation(value = "根据审核id查询银行卡信息") public HttpResult findById(String id) { SysAmountAuditingEntity vo = sysAmountAuditingService.getById(id); return HttpResult.ok("success", vo); } @PostMapping("/occupyTheOrder") @ApiOperation(value = "占用订单") public HttpResult occupyTheOrder(String id) { sysAmountAuditingService.occupyTheOrder(id); return HttpResult.ok("success"); } @PostMapping("/liftOrder") @ApiOperation(value = "解除订单占用") public HttpResult liftOrder(String id) { return sysAmountAuditingService.liftOrder(id); } /** * @version * @author: hxl * @Date: 2024/7/9 9:53 * @Description: 已提现导出功能 */ @PostMapping("expeortData") @ApiOperation("导出已提现明细") public HttpResult> expeortData(@RequestBody SysAmountAuditingVo sysAmountAuditingVo){ List exportIncomeTypeDetalsList = sysAmountAuditingService.expeortData(sysAmountAuditingVo); List newList= new ArrayList(); int num=0; if(exportIncomeTypeDetalsList!=null && exportIncomeTypeDetalsList.size()>0){ for(SysAmountAuditingEntity entity : exportIncomeTypeDetalsList){ num++; SysAmountAuditingEntityDto vo=new SysAmountAuditingEntityDto(num, entity.getId(), entity.getUserId(), entity.getUserName(), entity.getLeaderId(), entity.getLeaderName(), entity.getAccountName(), entity.getBankCardNum(), entity.getBankName(), entity.getBankNum(), entity.getMobile(), entity.getAmount(), entity.getSurplusAmount(), entity.getRealUserName(), entity.getBankAccount(), entity.getBankAddress(), entity.getBankNumber(), entity.getVoucherId(), entity.getCreateTime(),entity.getAuditingTime()); newList.add(vo); } } ExcelUtils excelUtils = new ExcelUtils<>(SysAmountAuditingEntityDto.class); String fileName = "已提现明细" + System.currentTimeMillis() + ".xlsx"; String saveFilePath = uploadPath+"//" + EXCEL_PATH + fileName; String resultPath = UPLOAD_PATH + fileName; String sheetName = "已提现明细表"; try{ excelUtils.writeExcelNew(saveFilePath,sheetName, newList); return HttpResult.ok(resultPath); }catch(Exception e){ return HttpResult.error("导出已提现明细表失败:"+e.getMessage()); } } }