Ver Fonte

feat:"增加提现记录导出接口"

soobin há 4 meses atrás
pai
commit
42b348ae9c

+ 1 - 0
src/main/java/com/szwl/controller/CallbackController.java

@@ -69,6 +69,7 @@ public class CallbackController {
     public String withdrawHuifu(HttpServletRequest request) {
         String respData = request.getParameter("resp_data");
         String respDesc = request.getParameter("resp_desc");
+        log.info("汇付提现回调,参数,respData={}", respData);
         try {
             // 验签请参sign
             String sign = request.getParameter("sign");

+ 62 - 1
src/main/java/com/szwl/controller/PurseController.java

@@ -1,25 +1,38 @@
 package com.szwl.controller;
 
+import cn.afterturn.easypoi.excel.ExcelExportUtil;
+import cn.afterturn.easypoi.excel.entity.ExportParams;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.huifu.bspay.sdk.opps.core.exception.BasePayException;
+import com.szwl.constant.HuifuConstant;
 import com.szwl.constant.JoinpayConstant;
 import com.szwl.model.bo.BalanceBo;
 import com.szwl.model.bo.R;
 import com.szwl.model.bo.ResponseModel;
 import com.szwl.model.bo.SettlementRecordBo;
 import com.szwl.model.dto.LicenseDTO;
+import com.szwl.model.dto.SugarDoTarget;
+import com.szwl.model.dto.SugarDoTargetEn;
+import com.szwl.model.dto.WithdrawTarget;
 import com.szwl.model.entity.*;
 import com.szwl.model.param.MqttMsgParam;
+import com.szwl.model.param.SugarDoParam;
 import com.szwl.model.param.WithdrawRecordParam;
 import com.szwl.service.*;
 import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang.StringUtils;
+import org.apache.poi.ss.usermodel.Workbook;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.net.URLEncoder;
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Base64;
 import java.util.Date;
@@ -96,6 +109,8 @@ public class PurseController {
     public ResponseModel<?> withdrawRecordList(@RequestBody WithdrawRecordParam param) {
         LambdaQueryWrapper<WithdrawalRecord> query = Wrappers.lambdaQuery();
         if (StringUtils.isNotEmpty(param.getStartTime()) && StringUtils.isNotEmpty(param.getEndTime())) {
+            param.setStartTime(param.getStartTime() + " 00:00:00");
+            param.setEndTime(param.getEndTime() + " 23:59:59");
             query.between(WithdrawalRecord::getCreateDate, param.getStartTime(), param.getEndTime());
         }
         if (param.getAdminId() != null) {
@@ -116,6 +131,52 @@ public class PurseController {
         return R.ok(recordPage);
     }
 
+    @ApiOperation(value = "导出提现记录")
+    @PostMapping("/exportWithdrawRecord")
+    public void exportWithdrawRecord(@RequestBody  WithdrawRecordParam param, HttpServletResponse response) {
+        LambdaQueryWrapper<WithdrawalRecord> query = Wrappers.lambdaQuery();
+        if (param.getStatus()!= null) {
+            query.eq(WithdrawalRecord::getStatus, param.getStatus());
+        }
+        if (StringUtils.isNotEmpty(param.getStartTime()) && StringUtils.isNotEmpty(param.getEndTime())) {
+            param.setStartTime(param.getStartTime() + " 00:00:00");
+            param.setEndTime(param.getEndTime() + " 23:59:59");
+            query.between(WithdrawalRecord::getCreateDate, param.getStartTime(), param.getEndTime());
+        }
+        if (StringUtils.isNotEmpty(param.getOrderNo())) {
+            query.eq(WithdrawalRecord::getOrderNo, param.getOrderNo());
+        }
+        if (param.getAdminId() != null) {
+            query.eq(WithdrawalRecord::getAdminId, param.getAdminId());
+        }
+        query.orderByDesc(WithdrawalRecord::getCreateDate);
+        List<WithdrawalRecord> list = withdrawalRecordService.list(query);
+        Workbook workbook = null;
+        String head = "提现记录-";
+        List<WithdrawTarget> withdrawTargets = withdrawalRecordService.export(list);
+        ExportParams exportParams = new ExportParams("提现记录", "sheet1");
+        workbook = ExcelExportUtil.exportExcel(exportParams, SugarDoTarget.class, withdrawTargets);
+        if (workbook != null) {
+            OutputStream os = null;
+            try {
+                os = response.getOutputStream();
+                SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
+                response.setContentType("application/vnd.ms-excel;charset=utf-8");
+                response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(head + format.format(new Date()) + ".xls", "UTF-8"));
+                workbook.write(os);
+            } catch (Exception e) {
+                e.printStackTrace();
+            } finally {
+                try {
+                    os.close();
+                    workbook.close();
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+            }
+        }
+    }
+
 
     @ApiOperation("钱包充值")
     @PostMapping("/recharge")
@@ -149,7 +210,7 @@ public class PurseController {
             } catch (BasePayException e) {
                 throw new RuntimeException(e);
             }
-            if (result.equals("00000000")) {
+            if (result.equals(HuifuConstant.TRANS_STAT_S) || result.equals(HuifuConstant.TRANS_STAT_P)) {
                 return R.ok();
             }
         }

+ 64 - 226
src/main/java/com/szwl/controller/THuifuMchController.java

@@ -32,7 +32,7 @@ import java.util.Optional;
 
 /**
  * <p>
- *  前端控制器
+ * 前端控制器
  * </p>
  *
  * @author wuhs
@@ -60,9 +60,9 @@ public class THuifuMchController {
             return R.fail(ResponseCodesEnum.A0001);
         }
         LambdaQueryWrapper<THuifuMchCheck> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.eq(THuifuMchCheck::getAdminId,tHuifuMchCheck.getAdminId());
+        queryWrapper.eq(THuifuMchCheck::getAdminId, tHuifuMchCheck.getAdminId());
         THuifuMchCheck huifuMchCheck = tHuifuMchCheckService.getOne(queryWrapper);
-        if(huifuMchCheck != null) {
+        if (huifuMchCheck != null) {
             tHuifuMchCheck.setModifyDate(new Date());
             tHuifuMchCheck.setStatus("0");
             tHuifuMchCheckService.updateById(tHuifuMchCheck);
@@ -76,7 +76,7 @@ public class THuifuMchController {
     }
 
     @ApiOperation(value = "汇付用户开户或业务开通")
-    @GetMapping ("/openAccount")
+    @GetMapping("/openAccount")
     public ResponseModel<?> openAccount(Long id) throws Exception {
         if (id == null) {
             return R.fail(ResponseCodesEnum.A0001);
@@ -87,19 +87,56 @@ public class THuifuMchController {
         // 用户开户或业务开通
         if (huifuMchCheck.getStatus().equals("0")) {
             data = tHuifuMchService.openAccount(huifuMchCheck);
-        } else if (huifuMchCheck.getStatus().equals("1") || huifuMchCheck.getStatus().equals("4")){
+        } else if (huifuMchCheck.getStatus().equals("1") || huifuMchCheck.getStatus().equals("4")) {
             data = tHuifuMchService.openBusiness(huifuMchCheck);
         } else {
             return R.fail(ResponseCodesEnum.A0001);
         }
         // 判断是否开户成功或业务开通成功
-        if(data.equals(HuifuConstant.SUCCESS)) {
+        if (data.equals(HuifuConstant.SUCCESS)) {
             return R.ok();
         } else {
             return R.fail(ResponseCodesEnum.A0001, data);
         }
     }
 
+    @ApiOperation("商户信息查询")
+    @GetMapping("/getHuifuMch")
+    public ResponseModel<?> getHuifuMch(Long adminId) {
+        LambdaQueryWrapper<THuifuMchCheck> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(THuifuMchCheck::getAdminId, adminId);
+        THuifuMchCheck huifuMchCheck = tHuifuMchCheckService.getOne(queryWrapper);
+        String result = "";
+        if (huifuMchCheck != null) {
+            String huifuId = huifuMchCheck.getHuifuId();
+            if (StringUtils.isNotEmpty(huifuId)) {
+                try {
+                    result = tHuifuMchService.getInfo(huifuMchCheck);
+                } catch (BasePayException e) {
+                    throw new RuntimeException(e);
+                }
+            }
+        }
+        return R.ok(result);
+    }
+
+    @ApiOperation(value = "商户增加取现业务")
+    @GetMapping("/addCashBusiness")
+    public ResponseModel<?> addCashBusiness(Long adminId) {
+        LambdaQueryWrapper<THuifuMchCheck> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(THuifuMchCheck::getAdminId, adminId);
+        THuifuMchCheck huifuMchCheck = tHuifuMchCheckService.getOne(queryWrapper);
+        String result = "";
+        if (huifuMchCheck != null) {
+            try {
+                result = tHuifuMchService.addCashBusiness(huifuMchCheck);
+            } catch (Exception e) {
+                throw new RuntimeException(e);
+            }
+        }
+        return R.ok(result);
+    }
+
     @ApiOperation(value = "商户入驻申请")
     @PostMapping("/addMerchant")
     public ResponseModel<?> addMerchant(@Valid @RequestBody THuifuMchCheck tHuifuMchCheck) {
@@ -107,18 +144,18 @@ public class THuifuMchController {
             return R.fail(ResponseCodesEnum.A0001);
         }
         LambdaQueryWrapper<THuifuMchCheck> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.eq(THuifuMchCheck::getAdminId,tHuifuMchCheck.getAdminId());
+        queryWrapper.eq(THuifuMchCheck::getAdminId, tHuifuMchCheck.getAdminId());
         THuifuMchCheck huifuMchCheck = tHuifuMchCheckService.getOne(queryWrapper);
-        if(huifuMchCheck != null) {
+        if (huifuMchCheck != null) {
             tHuifuMchCheck.setModifyDate(new Date());
             tHuifuMchCheck.setStatus("0");
-            if(tHuifuMchCheck.getType().equals("0")) {
-                if(StringUtils.isNotEmpty(huifuMchCheck.getCardFrontPic())
-                        && StringUtils.isNotEmpty(huifuMchCheck.getLegalCertBackPic()) && StringUtils.isNotEmpty(huifuMchCheck.getLegalCertFrontPic()) ) {
+            if (tHuifuMchCheck.getType().equals("0")) {
+                if (StringUtils.isNotEmpty(huifuMchCheck.getCardFrontPic())
+                        && StringUtils.isNotEmpty(huifuMchCheck.getLegalCertBackPic()) && StringUtils.isNotEmpty(huifuMchCheck.getLegalCertFrontPic())) {
                     tHuifuMchCheck.setStatus("1");
                 }
-            } else  {
-                if(StringUtils.isNotEmpty(huifuMchCheck.getCertFrontPic())
+            } else {
+                if (StringUtils.isNotEmpty(huifuMchCheck.getCertFrontPic())
                         && StringUtils.isNotEmpty(huifuMchCheck.getCertBackPic()) && StringUtils.isNotEmpty(huifuMchCheck.getLicensePic())
                         && StringUtils.isNotEmpty(huifuMchCheck.getRegAcctPic())) {
                     tHuifuMchCheck.setStatus("1");
@@ -141,15 +178,15 @@ public class THuifuMchController {
             return R.fail(ResponseCodesEnum.A0001);
         }
         // 排除掉不复制的属性
-        String[] ignoreProperties = {"id", "createDate","adminId","huifuId"};
+        String[] ignoreProperties = {"id", "createDate", "adminId", "huifuId"};
         LambdaQueryWrapper<THuifuMchCheck> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.eq(THuifuMchCheck::getAdminId,tHuifuMchCheck.getAdminId());
+        queryWrapper.eq(THuifuMchCheck::getAdminId, tHuifuMchCheck.getAdminId());
         THuifuMchCheck newHuifuMchCheck = tHuifuMchCheckService.getOne(queryWrapper);
-        if(newHuifuMchCheck.getStatus().equals("3")) {
-            BeanUtil.copyProperties(tHuifuMchCheck,newHuifuMchCheck,ignoreProperties);
+        if (newHuifuMchCheck.getStatus().equals("3")) {
+            BeanUtil.copyProperties(tHuifuMchCheck, newHuifuMchCheck, ignoreProperties);
             newHuifuMchCheck.setStatus("1");
         } else {
-            BeanUtil.copyProperties(tHuifuMchCheck,newHuifuMchCheck,ignoreProperties);
+            BeanUtil.copyProperties(tHuifuMchCheck, newHuifuMchCheck, ignoreProperties);
             newHuifuMchCheck.setStatus("4");
         }
         newHuifuMchCheck.setCreateDate(new Date());
@@ -158,134 +195,15 @@ public class THuifuMchController {
         return R.ok();
     }
 
-    @ApiOperation(value = "审核商户入驻")
-    @GetMapping ("/auditAddMerchant")
-    public ResponseModel<?> auditAddMerchant(Long id, String status) throws Exception {
-        if (id == null) {
-            return R.fail(ResponseCodesEnum.A0001);
-        }
-        // 找到用户id对应的审核信息
-        THuifuMchCheck huifuMchCheck = tHuifuMchCheckService.getById(id);
-        String data = null;
-        if(status.equals("1")) {
-            LambdaQueryWrapper<THuifuMch> queryWrapper = new LambdaQueryWrapper<>();
-            queryWrapper.eq(THuifuMch::getAdminId, huifuMchCheck.getAdminId());
-            THuifuMch tHuifuMch = tHuifuMchService.getOne(queryWrapper);
-            if(tHuifuMch != null) {
-                return R.ok("商户已入驻,请勿重复入驻");
-            }
-            //通过
-            // 判断商户类型,“0”为个人,“1”为企业
-            if(huifuMchCheck.getType().equals("0")) {
-                data = tHuifuMchService.addPersonage(huifuMchCheck);
-            } else {
-                data = tHuifuMchService.addEnterprise(huifuMchCheck);
-            }
-            // 判断是否入驻成功
-            String success = "success";
-            // 判断是否修改成功
-            if(success.equals(data)) {
-                return R.ok();
-            } else {
-                return R.fail(ResponseCodesEnum.A0001,data);
-            }
-        } else {
-            // 拒绝
-            huifuMchCheck.setModifyDate(new Date());
-            huifuMchCheck.setStatus("3");
-            tHuifuMchCheckService.updateById(huifuMchCheck);
-            return R.ok();
-        }
-    }
-
-    @ApiOperation(value = "审核商户修改")
-    @GetMapping("/auditUpdateMerchant")
-    public ResponseModel<?> auditUpdateMerchant(Long id, String status) throws Exception {
-        if (id == null) {
-            return R.fail(ResponseCodesEnum.A0001);
-        }
-        // 找到id对应的审核信息
-        THuifuMchCheck huifuMchCheck = tHuifuMchCheckService.getById(id);
-        if(status.equals("1")) {
-            // 同意
-            String data = tHuifuMchService.updateMerchant(huifuMchCheck);
-            String success = "success";
-            // 判断是否修改成功
-            if(success.equals(data)) {
-                return R.ok();
-            } else {
-                return R.fail(ResponseCodesEnum.A0001,data);
-            }
-        } else {
-            // 拒绝
-            huifuMchCheck.setModifyDate(new Date());
-            huifuMchCheck.setStatus("3");
-            tHuifuMchCheckService.updateById(huifuMchCheck);
-            return R.ok();
-        }
-    }
-
-    @ApiOperation(value = "上传材料图片")
-    @PostMapping("/uploadPic")
-    public ResponseModel<?> uploadPic(@RequestParam("file") MultipartFile file,
-                                      @RequestParam("adminId") Long adminId,
-                                      @RequestParam("fileType") String fileType){
-        if (adminId == null) {
-            return R.fail(ResponseCodesEnum.A0001);
-        }
-        // 找到用户id对应的审核信息
-        LambdaQueryWrapper<THuifuMchCheck> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.eq(THuifuMchCheck::getAdminId,adminId);
-        THuifuMchCheck tHuifuMchCheck = tHuifuMchCheckService.getOne(queryWrapper);
-        if(tHuifuMchCheck == null) {
-            return R.fail(ResponseCodesEnum.A0206,"还未填写个人资料");
-        }
-        String result = "";
-        if(file != null) {
-            try{
-                if(fileType.equals(HuifuConstant.fileType.F02.toString())) {
-                    result = tHuifuMchService.uploadPic(file, HuifuConstant.fileType.F02);
-                    tHuifuMchCheck.setCardFrontPic(result);
-                } else if (fileType.equals(HuifuConstant.fileType.F03.toString())){
-                    result = tHuifuMchService.uploadPic(file, HuifuConstant.fileType.F03);
-                    tHuifuMchCheck.setCertBackPic(result);
-                } else if (fileType.equals(HuifuConstant.fileType.F13.toString())) {
-                    result = tHuifuMchService.uploadPic(file, HuifuConstant.fileType.F13);
-                    tHuifuMchCheck.setCardFrontPic(result);
-                } else if (fileType.equals(HuifuConstant.fileType.F07.toString())) {
-                    result = tHuifuMchService.uploadPic(file, HuifuConstant.fileType.F07);
-                    tHuifuMchCheck.setLicensePic(result);
-                } else if (fileType.equals(HuifuConstant.fileType.F08.toString())) {
-                    result = tHuifuMchService.uploadPic(file, HuifuConstant.fileType.F08);
-                    tHuifuMchCheck.setRegAcctPic(result);
-                } else if (fileType.equals(HuifuConstant.fileType.F40.toString())) {
-                    result = tHuifuMchService.uploadPic(file, HuifuConstant.fileType.F40);
-                    tHuifuMchCheck.setLegalCertFrontPic(result);
-                } else if (fileType.equals(HuifuConstant.fileType.F41.toString())) {
-                    result = tHuifuMchService.uploadPic(file, HuifuConstant.fileType.F41);
-                    tHuifuMchCheck.setLegalCertBackPic(result);
-                }
-            } catch (Exception e) {
-                e.printStackTrace();
-            }
-        }
-        if(StrUtil.isNotEmpty(result)) {
-            tHuifuMchCheckService.updateById(tHuifuMchCheck);
-            return R.ok("上传成功").setData(result);
-        } else {
-            return R.fail(ResponseCodesEnum.F0000,"上传失败");
-        }
-    }
-
     @ApiOperation(value = "提交审核")
     @PostMapping("/submitCheck")
-    public ResponseModel<?> submitCheck(@RequestBody THuifuMchCheck tHuifuMchCheck){
+    public ResponseModel<?> submitCheck(@RequestBody THuifuMchCheck tHuifuMchCheck) {
         if (tHuifuMchCheck.getAdminId() == null) {
             return R.fail(ResponseCodesEnum.A0001);
         }
         // 找到用户id对应的审核信息
         LambdaQueryWrapper<THuifuMchCheck> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.eq(THuifuMchCheck::getAdminId,tHuifuMchCheck.getAdminId());
+        queryWrapper.eq(THuifuMchCheck::getAdminId, tHuifuMchCheck.getAdminId());
         THuifuMchCheck huifuMchCheck = tHuifuMchCheckService.getOne(queryWrapper);
         huifuMchCheck.setStatus("1");
         tHuifuMchCheckService.updateById(huifuMchCheck);
@@ -294,7 +212,7 @@ public class THuifuMchController {
 
     @ApiOperation(value = "审核回调")
     @PostMapping("/auditNotify")
-    public ResponseModel<?> auditNotify(HttpServletRequest request){
+    public ResponseModel<?> auditNotify(HttpServletRequest request) {
         String data = request.getParameter("data");
         JSONObject jsonObject = JSONObject.parseObject(data);
         String auditStatus = jsonObject.getString("audit_status");
@@ -308,11 +226,11 @@ public class THuifuMchController {
     @ApiOperation(value = "获取汇付商户号")
     @GetMapping("/getHuifuId")
     public ResponseModel<THuifuMch> getHuifuId(@RequestParam Long adminId) {
-        if(adminId == null) {
+        if (adminId == null) {
             return R.fail(ResponseCodesEnum.A0001);
         }
         LambdaQueryWrapper<THuifuMch> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(THuifuMch::getAdminId,adminId);
+        wrapper.eq(THuifuMch::getAdminId, adminId);
         THuifuMch huifuMch = tHuifuMchService.getOne(wrapper);
         return R.ok(huifuMch);
     }
@@ -320,95 +238,15 @@ public class THuifuMchController {
     @ApiOperation(value = "获取审核信息")
     @GetMapping("/getHuifuMchCheck")
     public ResponseModel<THuifuMchCheck> getHuifuMchCheck(@RequestParam Long adminId) {
-        if(adminId == null) {
+        if (adminId == null) {
             return R.fail(ResponseCodesEnum.A0001);
         }
         LambdaQueryWrapper<THuifuMchCheck> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.eq(THuifuMchCheck::getAdminId,adminId);
+        queryWrapper.eq(THuifuMchCheck::getAdminId, adminId);
         THuifuMchCheck huifuMchCheck = tHuifuMchCheckService.getOne(queryWrapper);
         return R.ok(huifuMchCheck);
     }
 
-    @ApiOperation(value = "发送验证码")
-    @GetMapping("/sendSms")
-    public ResponseModel<?> sendSms(@RequestParam Long adminId) throws Exception {
-        if(adminId == null) {
-            return R.fail(ResponseCodesEnum.A0001);
-        }
-        LambdaQueryWrapper<THuifuMch> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.eq(THuifuMch::getAdminId,adminId);
-        THuifuMch tHuifuMch = tHuifuMchService.getOne(queryWrapper);
-        String result = tHuifuMchService.sendSms(tHuifuMch);
-        if(result.equals("00000000")) {
-            return R.ok(tHuifuMch);
-        } else {
-            return R.fail(ResponseCodesEnum.A0001,"验证码发送失败");
-        }
-    }
-
-    @ApiOperation(value = "上传材料图片")
-    @PostMapping("/newUploadPic")
-    public ResponseModel<?> newUploadPic(@RequestBody UploadParms uploadParms){
-        Long adminId = uploadParms.getAdminId();
-        String base64Str = uploadParms.getBase64Str();
-        String fileType = uploadParms.getFileType();
-        if (adminId == null) {
-            return R.fail(ResponseCodesEnum.A0001);
-        }
-        // 找到用户id对应的审核信息
-        LambdaQueryWrapper<THuifuMchCheck> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.eq(THuifuMchCheck::getAdminId,adminId);
-        THuifuMchCheck tHuifuMchCheck = tHuifuMchCheckService.getOne(queryWrapper);
-        if(tHuifuMchCheck == null) {
-            return R.fail(ResponseCodesEnum.A0206,"还未填写个人资料");
-        }
-        String result = "";
-        String huifuId = null;
-        if(StringUtils.isNotEmpty(tHuifuMchCheck.getHuifuId())) {
-            huifuId = tHuifuMchCheck.getHuifuId();
-        }
-        if(StringUtils.isNotEmpty(base64Str)) {
-            try{
-                if(fileType.equals(HuifuConstant.fileType.F02.toString())) {
-                    result = tHuifuMchService.newUploadPic(base64Str, HuifuConstant.fileType.F02, huifuId);
-                    tHuifuMchCheck.setLegalCertFrontPic(result);
-                } else if (fileType.equals(HuifuConstant.fileType.F03.toString())){
-                    result = tHuifuMchService.newUploadPic(base64Str, HuifuConstant.fileType.F03, huifuId);
-                    tHuifuMchCheck.setLegalCertBackPic(result);
-                } else if (fileType.equals(HuifuConstant.fileType.F13.toString())) {
-                    result = tHuifuMchService.newUploadPic(base64Str, HuifuConstant.fileType.F13, huifuId);
-                    tHuifuMchCheck.setCardFrontPic(result);
-                } else if (fileType.equals(HuifuConstant.fileType.F07.toString())) {
-                    result = tHuifuMchService.newUploadPic(base64Str, HuifuConstant.fileType.F07, huifuId);
-                    tHuifuMchCheck.setLicensePic(result);
-                } else if (fileType.equals(HuifuConstant.fileType.F08.toString())) {
-                    result = tHuifuMchService.newUploadPic(base64Str, HuifuConstant.fileType.F08, huifuId);
-                    tHuifuMchCheck.setRegAcctPic(result);
-                } else if (fileType.equals(HuifuConstant.fileType.F40.toString())) {
-                    result = tHuifuMchService.newUploadPic(base64Str, HuifuConstant.fileType.F40, huifuId);
-                    tHuifuMchCheck.setLegalCertFrontPic(result);
-                } else if (fileType.equals(HuifuConstant.fileType.F41.toString())) {
-                    result = tHuifuMchService.newUploadPic(base64Str, HuifuConstant.fileType.F41, huifuId);
-                    tHuifuMchCheck.setLegalCertBackPic(result);
-                } else if (fileType.equals(HuifuConstant.fileType.F55.toString())) {
-                    result = tHuifuMchService.newUploadPic(base64Str, HuifuConstant.fileType.F55, huifuId);
-                    tHuifuMchCheck.setCertFrontPic(result);
-                } else if (fileType.equals(HuifuConstant.fileType.F56.toString())) {
-                    result = tHuifuMchService.newUploadPic(base64Str, HuifuConstant.fileType.F56, huifuId);
-                    tHuifuMchCheck.setCertBackPic(result);
-                }
-            } catch (Exception e) {
-                e.printStackTrace();
-            }
-        }
-        if(StrUtil.isNotEmpty(result)) {
-            tHuifuMchCheckService.updateById(tHuifuMchCheck);
-            return R.ok("上传成功").setData(result);
-        } else {
-            return R.fail(ResponseCodesEnum.F0000,"上传失败");
-        }
-    }
-
     @ApiOperation(value = "更新签约状态")
     @PostMapping("/updateConStat")
     public ResponseModel<?> updateConStat(@RequestBody THuifuMchCheck huifuMchCheck) throws BasePayException {
@@ -420,11 +258,11 @@ public class THuifuMchController {
     @ApiOperation(value = "查询余额")
     @GetMapping("/checkBalance")
     public ResponseModel<?> checkBalance(@RequestParam Long adminId) throws Exception {
-        if(adminId == null) {
+        if (adminId == null) {
             return R.fail(ResponseCodesEnum.A0001);
         }
         LambdaQueryWrapper<THuifuMch> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.eq(THuifuMch::getAdminId,adminId);
+        queryWrapper.eq(THuifuMch::getAdminId, adminId);
         THuifuMch tHuifuMch = tHuifuMchService.getOne(queryWrapper);
         String result = tHuifuMchService.checkBalance(tHuifuMch.getHuifuId());
         return R.ok(result);

+ 45 - 0
src/main/java/com/szwl/model/dto/WithdrawTarget.java

@@ -0,0 +1,45 @@
+package com.szwl.model.dto;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import lombok.Data;
+
+@Data
+public class WithdrawTarget {
+
+    /**
+     * 商品名称
+     */
+    @Excel(name = "提现单号", width = 20.0D)
+    private String orderNo;
+
+    /**
+     * 制作时间
+     */
+    @Excel(name = "提现日期", width = 20.0D)
+    private String createDate;
+
+    /**
+     * 提现金额
+     */
+    @Excel(name = "提现金额", width = 20.0D)
+    private String amount;
+
+    /**
+     * 设备编号
+     */
+    @Excel(name = "到账日期", width = 25.0D)
+    private String arrivalDate;
+
+
+    /**
+     * 状态
+     */
+    @Excel(name = "提现状态", width = 20.0D)
+    private String status;
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注", width = 25.0D)
+    private String remark;
+}

+ 13 - 45
src/main/java/com/szwl/service/THuifuMchService.java

@@ -37,36 +37,6 @@ public interface THuifuMchService extends IService<THuifuMch> {
      */
     String openBusiness(THuifuMchCheck tHuifuMchCheck) throws Exception;
 
-    /**
-     * 汇付个人商户入驻
-     * @param tHuifuMchCheck
-     * @return
-     * @throws Exception
-     */
-    String addPersonage(THuifuMchCheck tHuifuMchCheck) throws Exception;
-
-    /**
-     * 汇付企业商户入驻
-     * @param tHuifuMchCheck
-     * @return
-     * @throws Exception
-     */
-    String addEnterprise(THuifuMchCheck tHuifuMchCheck) throws Exception;
-
-    /**
-     * 汇付商户基本信息修改
-     * @param huifuMchCheck
-     * @return
-     */
-    String updateMerchant(THuifuMchCheck huifuMchCheck) throws Exception;
-
-    /**
-     * 汇付上传图片
-     * @param file
-     * @param fileType
-     * @return
-     */
-    String uploadPic(MultipartFile file, HuifuConstant.fileType fileType);
 
     /**
      * 发起退款
@@ -79,21 +49,6 @@ public interface THuifuMchService extends IService<THuifuMch> {
     String refund(String sn, BigDecimal price, String payDate, String remark,String acctSplitBunch, String companyType) throws Exception;
 
     /**
-     * 发送验证码
-     * @param tHuifuMch
-     * @return
-     */
-    String sendSms(THuifuMch tHuifuMch) throws Exception;
-
-    /**
-     * 汇付上传图片
-     * @param base64Str
-     * @param fileType
-     * @return
-     */
-    String newUploadPic(String base64Str, HuifuConstant.fileType fileType, String huifuId);
-
-    /**
      * 更新签约状态
      * @param tHuifuMchCheck
      * @return
@@ -131,4 +86,17 @@ public interface THuifuMchService extends IService<THuifuMch> {
      * @return
      */
     String withdraw(WithdrawalRecord withdrawalRecord, THuifuMch huifuMch) throws BasePayException;
+
+    /**
+     * 获取商户信息
+     * @param huifuMchCheck
+     * @return
+     */
+    String getInfo(THuifuMchCheck huifuMchCheck) throws BasePayException;
+
+    /**
+     * 添加取现业务
+     * @param huifuMchCheck
+     */
+    String addCashBusiness(THuifuMchCheck huifuMchCheck) throws Exception;
 }

+ 4 - 0
src/main/java/com/szwl/service/WithdrawalRecordService.java

@@ -1,8 +1,11 @@
 package com.szwl.service;
 
+import com.szwl.model.dto.WithdrawTarget;
 import com.szwl.model.entity.WithdrawalRecord;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+
 /**
  * <p>
  * 提现记录表 服务类
@@ -13,4 +16,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface WithdrawalRecordService extends IService<WithdrawalRecord> {
 
+    List<WithdrawTarget> export(List<WithdrawalRecord> list);
 }

+ 168 - 662
src/main/java/com/szwl/service/impl/THuifuMchServiceImpl.java

@@ -254,35 +254,46 @@ public class THuifuMchServiceImpl extends ServiceImpl<THuifuMchMapper, THuifuMch
         }
         request.put("card_info", cardInfo);
         // 结算方式
+        Integer settType = tHuifuMchCheck.getSettType();
         JSONObject settleConfig = new JSONObject();
+        JSONArray cashConfig = new JSONArray();
         // 如果是修改接口
         if (tHuifuMchCheck.getStatus().equals("4")) {
             url = "https://api.huifu.com/v2/user/busi/modify";
-
-//            settleConfig.put("settle_abstract", "棉花糖机营业收入");
-        }
-        Integer settType = tHuifuMchCheck.getSettType();
-        settleConfig.put("settle_cycle", "T1");
-        JSONArray cashConfig = new JSONArray();
-        if (settType != null && settType == 2) {
-            // 手动提现
-            settleConfig.put("settle_status", "0");
-            JSONObject cashConfigValue = new JSONObject();
-            cashConfigValue.put("switch_state", "1");
-            cashConfigValue.put("cash_type", "T1");
-            cashConfigValue.put("fee_rate", "0.00");
-            cashConfig.add(cashConfigValue);
-        } else {
-            // 自动结算
-            settleConfig.put("settle_status", "1");
+            if (settType != null && settType == 2) {
+                // 手动提现
+                settleConfig.put("settle_status", "0");
+                settleConfig.put("settle_cycle", "T1");
+                JSONObject cashConfigValue = new JSONObject();
+                cashConfigValue.put("switch_state", "1");
+                cashConfigValue.put("cash_type", "T1");
+                cashConfigValue.put("fee_rate", "0.00");
+                cashConfig.add(cashConfigValue);
+            } else {
+                // 自动结算
+                settleConfig.put("settle_status", "1");
+                settleConfig.put("settle_cycle", "T1");
+                JSONObject cashConfigValue = new JSONObject();
+                cashConfigValue.put("switch_state", "0");
+                cashConfigValue.put("cash_type", "T1");
+                cashConfigValue.put("fee_rate", "0.00");
+                cashConfig.add(cashConfigValue);
+            }
+            request.put("settle_config", settleConfig);
+            request.put("cash_config", cashConfig.toString());
+        } else if (tHuifuMchCheck.getStatus().equals("1")) {
+            // 入驻接口
+            // 取现配置
             JSONObject cashConfigValue = new JSONObject();
-            cashConfigValue.put("switch_state", "0");
             cashConfigValue.put("cash_type", "T1");
             cashConfigValue.put("fee_rate", "0.00");
             cashConfig.add(cashConfigValue);
+            request.put("cash_config", cashConfig.toString());
+            // 结算配置
+            settleConfig.put("settle_cycle", "T1");
+            request.put("settle_config", settleConfig);
+//            settleConfig.put("settle_abstract", "棉花糖机营业收入");
         }
-        request.put("settle_config", settleConfig);
-        request.put("cash_config", cashConfig.toString());
         // 签名:sign
         String s = JSON.toJSONString(request);
         String s1 = JSON.toJSONString(JSONObject.parseObject(s, TreeMap.class));
@@ -351,550 +362,6 @@ public class THuifuMchServiceImpl extends ServiceImpl<THuifuMchMapper, THuifuMch
         }
     }
 
-    /**
-     * 汇付个人商户入驻
-     *
-     * @param tHuifuMchCheck
-     * @return
-     * @throws Exception
-     */
-    @Override
-    public String addPersonage(THuifuMchCheck tHuifuMchCheck) throws Exception {
-        // 请求接口
-        String url = "https://api.huifu.com/v2/merchant/basicdata/indv";
-        HuifuBaseCommon.doInit(OppsMerchantConfig.getMerchantConfig());
-        // 请求参数:Data
-        JSONObject request = new JSONObject();
-        // 请求流水号
-        request.put("req_seq_id", HuifuUtils.initReqSeqId());
-        // 请求日期
-        request.put("req_date", DateTools.getCurrentDateYYYYMMDD());
-        // 上级主体ID
-        request.put("upper_huifu_id", HuifuConstant.HUIFU_ID);
-        // 商户名称
-        request.put("reg_name", tHuifuMchCheck.getRegName());
-        // 商户简称
-        if (StrUtil.isNotEmpty(tHuifuMchCheck.getShortName())) {
-            request.put("short_name", tHuifuMchCheck.getShortName());
-        }
-        // 经营省
-        request.put("prov_id", tHuifuMchCheck.getProvId());
-        // 经营市
-        request.put("area_id", tHuifuMchCheck.getAreaId());
-        // 经营区
-        request.put("district_id", tHuifuMchCheck.getDistrictId());
-        // 经营详细地址
-        request.put("detail_addr", tHuifuMchCheck.getDetailAddr());
-        // 联系人姓名
-        request.put("contact_name", tHuifuMchCheck.getRegName());
-        // 联系人手机号
-        request.put("contact_mobile_no", tHuifuMchCheck.getPhone());
-        // 联系人电子邮箱
-        request.put("contact_email", tHuifuMchCheck.getEmail());
-        // 商户名
-        request.put("sms_send_flag", "M");
-        // 异步通知地址:审核结果消息接收地址
-//        request.put("async_return_url", "异步通知地址");
-        // 法人证件号码
-        request.put("legal_cert_no", tHuifuMchCheck.getCertNo());
-        // 结算卡正面
-        request.put("settle_card_front_pic", tHuifuMchCheck.getCardFrontPic());
-        // 法人身份证国徽面
-        request.put("legal_cert_back_pic", tHuifuMchCheck.getLegalCertBackPic());
-        // 法人身份证人像面
-        request.put("legal_cert_front_pic", tHuifuMchCheck.getLegalCertFrontPic());
-        // 结算卡信息配置
-        JSONObject cardInfo = new JSONObject();
-        // 卡户名
-        cardInfo.put("card_name", tHuifuMchCheck.getCardName());
-        // 结算账号
-        cardInfo.put("card_no", tHuifuMchCheck.getCardNo());
-        // 银行所在省
-        cardInfo.put("prov_id", tHuifuMchCheck.getCardProvId());
-        // 银行所在市
-        cardInfo.put("area_id", tHuifuMchCheck.getCardAreaId());
-        // 持卡人证件类型
-        cardInfo.put("cert_type", "00");
-        // 持卡人证件号码
-        cardInfo.put("cert_no", tHuifuMchCheck.getCertNo());
-        // 持卡人证件有效期类型,1:长期有效,0:非长期有效;
-        cardInfo.put("cert_validity_type", tHuifuMchCheck.getCertValidityType());
-        // 持卡人证件有效期开始
-        cardInfo.put("cert_begin_date", tHuifuMchCheck.getCertBeginDate());
-        // 持卡人证件有效期截止日期
-        if (StrUtil.isNotEmpty(tHuifuMchCheck.getCertEndDate())) {
-            cardInfo.put("cert_end_date", tHuifuMchCheck.getCertEndDate());
-        }
-        // 结算人手机号
-        cardInfo.put("mp", tHuifuMchCheck.getMp());
-        request.put("card_info", cardInfo);
-        // 结算规则配置
-        JSONObject settleConfig = new JSONObject();
-        // 结算周期
-        settleConfig.put("settle_cycle", "T1");
-        request.put("settle_config", settleConfig);
-
-        // 签名:sign
-        String s = JSON.toJSONString(request);
-        String s1 = JSON.toJSONString(JSONObject.parseObject(s, TreeMap.class));
-        String sign = HuifuUtils.sign(s1, HuifuConstant.RSA_PRIVATE_KEY);
-
-        // 公共参数
-        System.out.println("请求参数:" + request);
-        JSONObject requestData = new JSONObject();
-        requestData.put("sys_id", HuifuConstant.SYS_ID);
-        requestData.put("product_id", HuifuConstant.PRODUCT_ID);
-        requestData.put("sign", sign);
-        requestData.put("data", request);
-
-        String result = OkHttpClientTools.httpPost(url, requestData.toString(), HuifuConstant.PRODUCT_ID);
-        System.out.println("返回的数据:" + result);
-        JSONObject jsonObject = JSONObject.parseObject(result);
-        JSONObject dataObject = jsonObject.getJSONObject("data");
-        String code = dataObject.getString("resp_code");
-        if (code.equals("90000000")) {
-            THuifuMch tHuifuMch = new THuifuMch();
-            BeanUtil.copyProperties(tHuifuMchCheck, tHuifuMch);
-            String huifuId = dataObject.getString("huifu_id");
-            // 判断持卡人证件有效期类型,1:长期有效,0:非长期有效
-            if (tHuifuMchCheck.getCertValidityType().equals("0")) {
-                LocalDate date = LocalDate.parse(tHuifuMchCheck.getCertEndDate(), DateTimeFormatter.ofPattern("yyyyMMdd"));
-                String certEndDate = date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
-                tHuifuMch.setCertDate(certEndDate);
-            } else {
-                tHuifuMch.setCertDate("长期");
-            }
-            tHuifuMch.setCreateDate(new Date());
-            tHuifuMch.setModifyDate(new Date());
-            tHuifuMch.setHuifuId(huifuId);
-            tHuifuMchCheck.setModifyDate(new Date());
-            tHuifuMchCheck.setStatus("2");
-            tHuifuMchCheck.setHuifuId(huifuId);
-            tHuifuMchService.save(tHuifuMch);
-            tHuifuMchCheckService.updateById(tHuifuMchCheck);
-            return "success";
-        } else {
-            String respDesc = dataObject.getString("resp_desc");
-            tHuifuMchCheck.setModifyDate(new Date());
-            tHuifuMchCheck.setStatus("3");
-            tHuifuMchCheck.setAuditDesc(respDesc);
-            tHuifuMchCheckService.updateById(tHuifuMchCheck);
-            return respDesc;
-        }
-    }
-
-    /**
-     * 汇付企业商户入驻
-     *
-     * @param tHuifuMchCheck
-     * @return
-     * @throws Exception
-     */
-    @Override
-    public String addEnterprise(THuifuMchCheck tHuifuMchCheck) throws Exception {
-        // 请求接口
-        String url = "https://api.huifu.com/v2/merchant/basicdata/ent";
-        HuifuBaseCommon.doInit(OppsMerchantConfig.getMerchantConfig());
-        // 请求参数:Data
-        JSONObject request = new JSONObject();
-        // 请求流水号
-        request.put("req_seq_id", HuifuUtils.initReqSeqId());
-        // 请求日期
-        request.put("req_date", DateTools.getCurrentDateYYYYMMDD());
-        // 上级主体ID
-        request.put("upper_huifu_id", HuifuConstant.HUIFU_ID);
-        // 商户名称
-        request.put("reg_name", tHuifuMchCheck.getRegName());
-        // 商户简称
-        if (StrUtil.isNotEmpty(tHuifuMchCheck.getShortName())) {
-            request.put("short_name", tHuifuMchCheck.getShortName());
-        }
-        // 公司类型
-        request.put("ent_type", "3");
-        // 营业执照编号
-        request.put("license_code", tHuifuMchCheck.getLicenseCode());
-        // 营业执照有效期类型,0:非长期有效 ,1:长期有效
-        request.put("license_validity_type", tHuifuMchCheck.getLicenseValidityType());
-        // 营业执照有效期开始日期
-        request.put("license_begin_date", tHuifuMchCheck.getLicenseBeginDate());
-        // 营业执照有效期截止日期
-        if (StrUtil.isNotEmpty(tHuifuMchCheck.getLicenseEndDate())) {
-            request.put("license_end_date", tHuifuMchCheck.getLicenseEndDate());
-        }
-        // 注册省
-        request.put("reg_prov_id", tHuifuMchCheck.getRegProvId());
-        // 注册市
-        request.put("reg_area_id", tHuifuMchCheck.getRegAreaId());
-        // 注册区
-        request.put("reg_district_id", tHuifuMchCheck.getRegDistrictId());
-        // 注册详细地址
-        request.put("reg_detail", tHuifuMchCheck.getRegDetail());
-        // 法人姓名
-        request.put("legal_name", tHuifuMchCheck.getName());
-        // 法人证件类型
-        request.put("legal_cert_type", "00");
-        // 法人证件号码
-        request.put("legal_cert_no", tHuifuMchCheck.getCertNo());
-        // 法人证件有效期类型,1:长期有效;0:非长期有效 ;
-        request.put("legal_cert_validity_type", tHuifuMchCheck.getCertValidityType());
-        // 法人证件有效期开始日期
-        request.put("legal_cert_begin_date", tHuifuMchCheck.getCertBeginDate());
-        // 法人证件有效期截止日期
-        if (StrUtil.isNotEmpty(tHuifuMchCheck.getCertEndDate())) {
-            request.put("legal_cert_end_date", tHuifuMchCheck.getCertEndDate());
-        }
-        // 经营省
-        request.put("prov_id", tHuifuMchCheck.getProvId());
-        // 经营市
-        request.put("area_id", tHuifuMchCheck.getAreaId());
-        // 经营区
-        request.put("district_id", tHuifuMchCheck.getDistrictId());
-        // 经营详细地址
-        request.put("detail_addr", tHuifuMchCheck.getDetailAddr());
-        // 联系人姓名
-        request.put("contact_name", tHuifuMchCheck.getRegName());
-        // 联系人手机号
-        request.put("contact_mobile_no", tHuifuMchCheck.getPhone());
-        // 联系人电子邮箱
-        request.put("contact_email", tHuifuMchCheck.getEmail());
-        // 客服电话
-        request.put("service_phone", tHuifuMchCheck.getServicePhone());
-        // 经营类型,1:实体,2:虚拟 ;
-        request.put("busi_type", "1");
-        // 小票名称
-        request.put("receipt_name", tHuifuMchCheck.getRegName());
-        // 所属行业
-        request.put("mcc", "6071");
-        // 基本存款账户编号或核准号
-        if (StrUtil.isNotEmpty(tHuifuMchCheck.getOpenLicenceNo())) {
-            request.put("open_licence_no", tHuifuMchCheck.getOpenLicenceNo());
-        }
-        // 开户许可证
-        if (StrUtil.isNotEmpty(tHuifuMchCheck.getRegAcctPic())) {
-            request.put("reg_acct_pic", tHuifuMchCheck.getRegAcctPic());
-        }
-        if (tHuifuMchCheck.getCardType().equals("1")) {
-            // 结算卡正面
-            request.put("settle_card_front_pic", tHuifuMchCheck.getCardFrontPic());
-            // 法人身份证人像面
-            request.put("settle_cert_back_pic", tHuifuMchCheck.getCertBackPic());
-            // 法人身份证国徽面
-            request.put("settle_cert_front_pic", tHuifuMchCheck.getCertFrontPic());
-        } else {
-            // 法人身份证人像面
-            request.put("legal_cert_back_pic", tHuifuMchCheck.getLegalCertBackPic());
-            // 法人身份证国徽面
-            request.put("legal_cert_front_pic", tHuifuMchCheck.getLegalCertFrontPic());
-        }
-        // 营业执照图片
-        request.put("license_pic", tHuifuMchCheck.getLicensePic());
-        // 成立时间
-        request.put("found_date", tHuifuMchCheck.getFoundDate());
-        // 法人手机号
-        request.put("legal_mobile_no", tHuifuMchCheck.getPhone());
-        // 法人身份证地址
-        request.put("legal_addr", tHuifuMchCheck.getCertAddress());
-        // 结算卡信息配置
-        JSONObject cardInfo = new JSONObject();
-        // 结算账户类型
-        cardInfo.put("card_type", tHuifuMchCheck.getCardType());
-        // 卡户名
-        cardInfo.put("card_name", tHuifuMchCheck.getCardName());
-        // 结算账号
-        cardInfo.put("card_no", tHuifuMchCheck.getCardNo());
-        // 银行所在省
-        if (StrUtil.isNotEmpty(tHuifuMchCheck.getCardProvId())) {
-            cardInfo.put("prov_id", tHuifuMchCheck.getCardProvId());
-        }
-        // 银行所在市
-        if (StrUtil.isNotEmpty(tHuifuMchCheck.getCardAreaId())) {
-            cardInfo.put("area_id", tHuifuMchCheck.getCardAreaId());
-        }
-        // 联行号
-        if (StrUtil.isNotEmpty(tHuifuMchCheck.getBranchCode())) {
-            cardInfo.put("branch_code", tHuifuMchCheck.getBranchCode());
-        }
-        if (StrUtil.isNotEmpty(tHuifuMchCheck.getMp())) {
-            cardInfo.put("mp", tHuifuMchCheck.getMp());
-        }
-        request.put("card_info", cardInfo);
-        // 结算方式
-        JSONObject settleConfig = new JSONObject();
-        Integer settType = tHuifuMchCheck.getSettType();
-        JSONArray cashConfig = new JSONArray();
-        if (settType != null && settType == 2) {
-            // 手动提现
-            settleConfig.put("settle_status", "0");
-            JSONObject cashConfigValue = new JSONObject();
-            cashConfigValue.put("switch_state", "1");
-            cashConfigValue.put("cash_type", "T1");
-            cashConfigValue.put("fee_rate", "0.00");
-            cashConfig.add(cashConfigValue);
-        } else {
-            // 自动结算
-            settleConfig.put("settle_status", "1");
-            JSONObject cashConfigValue = new JSONObject();
-            cashConfigValue.put("switch_state", "0");
-            cashConfigValue.put("cash_type", "T1");
-            cashConfigValue.put("fee_rate", "0.00");
-            cashConfig.add(cashConfigValue);
-        }
-        request.put("settle_config", settleConfig);
-        request.put("cash_config", cashConfig.toString());
-        // 签名:sign
-        String s = JSON.toJSONString(request);
-        String s1 = JSON.toJSONString(JSONObject.parseObject(s, TreeMap.class));
-        String sign = HuifuUtils.sign(s1, HuifuConstant.RSA_PRIVATE_KEY);
-
-        // 公共参数
-        System.out.println("请求参数:" + request);
-        JSONObject requestData = new JSONObject();
-        requestData.put("sys_id", HuifuConstant.SYS_ID);
-        requestData.put("product_id", HuifuConstant.PRODUCT_ID);
-        requestData.put("sign", sign);
-        requestData.put("data", request);
-        System.out.println("请求体:" + requestData);
-
-        String result = OkHttpClientTools.httpPost(url, requestData.toString(), HuifuConstant.PRODUCT_ID);
-        System.out.println("返回的数据:" + result);
-        JSONObject jsonObject = JSONObject.parseObject(result);
-        JSONObject dataObject = jsonObject.getJSONObject("data");
-        String code = dataObject.getString("resp_code");
-        if (code.equals("90000000")) {
-            THuifuMch tHuifuMch = new THuifuMch();
-            BeanUtil.copyProperties(tHuifuMchCheck, tHuifuMch);
-            String huifuId = dataObject.getString("huifu_id");
-            // 判断持卡人证件有效期类型,1:长期有效,0:非长期有效
-            if (tHuifuMchCheck.getCertValidityType().equals("0")) {
-                LocalDate date = LocalDate.parse(tHuifuMchCheck.getCertEndDate(), DateTimeFormatter.ofPattern("yyyyMMdd"));
-                String certEndDate = date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
-                tHuifuMch.setCertDate(certEndDate);
-            } else {
-                tHuifuMch.setCertDate("长期");
-            }
-            String tokenNo = dataObject.getString("token_no");
-            if (StringUtils.isNotEmpty(tokenNo)) {
-                tHuifuMch.setTokenNo(tokenNo);
-            }
-            tHuifuMch.setCreateDate(new Date());
-            tHuifuMch.setModifyDate(new Date());
-            tHuifuMch.setHuifuId(huifuId);
-            tHuifuMchCheck.setModifyDate(new Date());
-            tHuifuMchCheck.setStatus("2");
-            tHuifuMchCheck.setHuifuId(huifuId);
-            tHuifuMchService.save(tHuifuMch);
-            tHuifuMchCheckService.updateById(tHuifuMchCheck);
-            return "success";
-        } else {
-            String respDesc = dataObject.getString("resp_desc");
-            tHuifuMchCheck.setModifyDate(new Date());
-            tHuifuMchCheck.setStatus("3");
-            tHuifuMchCheck.setAuditDesc(respDesc);
-            tHuifuMchCheckService.updateById(tHuifuMchCheck);
-            return respDesc;
-        }
-    }
-
-    /**
-     * 汇付商户基本信息修改
-     *
-     * @param huifuMchCheck
-     * @return
-     */
-    @Override
-    public String updateMerchant(THuifuMchCheck huifuMchCheck) throws Exception {
-        // 请求接口
-        String url = "https://api.huifu.com/v2/merchant/basicdata/modify";
-        // 请求参数:Data
-        JSONObject request = new JSONObject();
-        // 请求流水号
-        request.put("req_seq_id", HuifuUtils.initReqSeqId());
-        // 请求日期
-        request.put("req_date", DateTools.getCurrentDateYYYYMMDD());
-        // 上级主体ID
-        request.put("upper_huifu_id", HuifuConstant.HUIFU_ID);
-        // 汇付客户Id
-        request.put("huifu_id", huifuMchCheck.getHuifuId());
-        // 商户名称
-        request.put("reg_name", huifuMchCheck.getRegName());
-        // 商户简称
-        if (StrUtil.isNotEmpty(huifuMchCheck.getShortName())) {
-            request.put("short_name", huifuMchCheck.getShortName());
-        }
-        // 经营省
-        request.put("prov_id", huifuMchCheck.getProvId());
-        // 经营市
-        request.put("area_id", huifuMchCheck.getAreaId());
-        // 经营区
-        request.put("district_id", huifuMchCheck.getDistrictId());
-        // 经营详细地址
-        request.put("detail_addr", huifuMchCheck.getDetailAddr());
-        // 联系人姓名
-        request.put("contact_name", huifuMchCheck.getRegName());
-        // 联系人手机号
-        request.put("contact_mobile_no", huifuMchCheck.getPhone());
-        // 联系人电子邮箱
-        request.put("contact_email", huifuMchCheck.getEmail());
-        // 取现信息配置
-        JSONObject cardInfo = new JSONObject();
-        cardInfo.put("card_type", huifuMchCheck.getCardType());
-        cardInfo.put("card_name", huifuMchCheck.getCardName());
-        cardInfo.put("card_no", huifuMchCheck.getCardNo());
-        if (StrUtil.isNotEmpty(huifuMchCheck.getCardProvId())) {
-            cardInfo.put("prov_id", huifuMchCheck.getCardProvId());
-        }
-        if (StrUtil.isNotEmpty(huifuMchCheck.getCardAreaId())) {
-            cardInfo.put("area_id", huifuMchCheck.getCardAreaId());
-        }
-        cardInfo.put("cert_type", "00");
-        cardInfo.put("cert_no", huifuMchCheck.getCertNo());
-        cardInfo.put("cert_validity_type", huifuMchCheck.getCertValidityType());
-        cardInfo.put("cert_begin_date", huifuMchCheck.getCertBeginDate());
-        cardInfo.put("cert_end_date", huifuMchCheck.getCertEndDate());
-        if (StrUtil.isNotEmpty(huifuMchCheck.getMp())) {
-            cardInfo.put("mp", huifuMchCheck.getMp());
-        }
-        cardInfo.put("settle_card_front_pic", huifuMchCheck.getCardFrontPic());
-        cardInfo.put("settle_cert_front_pic", huifuMchCheck.getCertFrontPic());
-        cardInfo.put("settle_cert_back_pic", huifuMchCheck.getCertBackPic());
-        cardInfo.put("legal_cert_front_pic", huifuMchCheck.getLegalCertFrontPic());
-        cardInfo.put("legal_cert_back_pic", huifuMchCheck.getLegalCertBackPic());
-        if (StrUtil.isNotEmpty(huifuMchCheck.getSms())) {
-            cardInfo.put("verify_code", huifuMchCheck.getSms());
-        }
-        request.put("card_info", cardInfo);
-        JSONObject settleConfig = new JSONObject();
-        Integer settType = huifuMchCheck.getSettType();
-        JSONArray cashConfig = new JSONArray();
-        if (settType != null && settType == 2) {
-            // 手动提现
-            settleConfig.put("settle_status", "0");
-            JSONObject cashConfigValue = new JSONObject();
-            cashConfigValue.put("switch_state", "1");
-            cashConfigValue.put("cash_type", "T1");
-            cashConfigValue.put("fee_rate", "0.00");
-            cashConfig.add(cashConfigValue);
-        } else {
-            // 自动结算
-            settleConfig.put("settle_status", "1");
-            JSONObject cashConfigValue = new JSONObject();
-            cashConfigValue.put("switch_state", "0");
-            cashConfigValue.put("cash_type", "T1");
-            cashConfigValue.put("fee_rate", "0.00");
-            cashConfig.add(cashConfigValue);
-        }
-        request.put("settle_config", settleConfig);
-        request.put("cash_config", cashConfig.toString());
-        // 签名:sign
-        String s = JSON.toJSONString(request);
-        String s1 = JSON.toJSONString(JSONObject.parseObject(s, TreeMap.class));
-        String sign = HuifuUtils.sign(s1, HuifuConstant.RSA_PRIVATE_KEY);
-
-        JSONObject requestData = new JSONObject();
-        requestData.put("sys_id", HuifuConstant.SYS_ID);
-        requestData.put("product_id", HuifuConstant.PRODUCT_ID);
-        requestData.put("sign", sign);
-        requestData.put("data", request);
-        System.out.println("请求体:" + requestData);
-
-        String result = OkHttpClientTools.httpPost(url, requestData.toString(), HuifuConstant.PRODUCT_ID);
-        System.out.println("返回的数据:" + result);
-        JSONObject jsonObject = JSONObject.parseObject(result);
-        JSONObject dataObject = jsonObject.getJSONObject("data");
-        String code = dataObject.getString("resp_code");
-        if (code.equals("90000000")) {
-            LambdaQueryWrapper<THuifuMch> queryWrapper = new LambdaQueryWrapper<>();
-            queryWrapper.eq(THuifuMch::getAdminId, huifuMchCheck.getAdminId());
-            THuifuMch tHuifuMch = tHuifuMchService.getOne(queryWrapper);
-            // 排除掉不复制的属性
-            String[] ignoreProperties = {"id", "createDate", "adminId", "huifuId"};
-            BeanUtil.copyProperties(huifuMchCheck, tHuifuMch, ignoreProperties);
-            // 判断持卡人证件有效期类型,1:长期有效,0:非长期有效
-            if (huifuMchCheck.getCertValidityType().equals("0")) {
-                LocalDate date = LocalDate.parse(huifuMchCheck.getCertEndDate(), DateTimeFormatter.ofPattern("yyyyMMdd"));
-                String certEndDate = date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
-                tHuifuMch.setCertDate(certEndDate);
-            } else {
-                tHuifuMch.setCertDate("长期");
-            }
-            String tokenNo = dataObject.getString("token_no");
-            if (StringUtils.isNotEmpty(tokenNo)) {
-                tHuifuMch.setTokenNo(tokenNo);
-            }
-            tHuifuMch.setModifyDate(new Date());
-            huifuMchCheck.setStatus("2");
-            huifuMchCheck.setSms(null);
-            huifuMchCheck.setModifyDate(new Date());
-            tHuifuMchService.updateById(tHuifuMch);
-            tHuifuMchCheckService.updateById(huifuMchCheck);
-            return "success";
-        } else {
-            String respDesc = dataObject.getString("resp_desc");
-            huifuMchCheck.setStatus("3");
-            huifuMchCheck.setSms(null);
-            huifuMchCheck.setAuditDesc(respDesc);
-            huifuMchCheck.setModifyDate(new Date());
-            tHuifuMchCheckService.updateById(huifuMchCheck);
-            return respDesc;
-        }
-    }
-
-    /**
-     * 汇付上传图片
-     *
-     * @param file
-     * @return
-     */
-    @Override
-    public String uploadPic(MultipartFile file, HuifuConstant.fileType fileType) {
-        String url = "https://api.huifu.com/v2/supplementary/picture";
-        // 请求参数
-        Map<String, Object> params = new HashMap<String, Object>();
-        // 请求流水号,需保证当天商户下唯一,推荐采用日期时间+几位流水号的形式
-        params.put("req_seq_id", SequenceTools.getReqSeqId32());
-        params.put("req_date", DateTools.getCurrentDateYYYYMMDD());
-        params.put("file_type", fileType);
-        params.put("picture", fileType.toValue());
-        String data = JSON.toJSONString(params);
-
-
-        CloseableHttpClient httpclient1 = HttpClients.createDefault();
-        CloseableHttpResponse response = null;
-        String result = null;
-
-        try {
-            // 获取原始文件名
-            String fileName = file.getOriginalFilename();
-            // 取得文件扩展名
-            String extension = fileName.substring(fileName.lastIndexOf("."));
-            // 创建临时文件
-            File tempFile = File.createTempFile("temp", extension);
-            file.transferTo(tempFile);
-
-            HttpPost httpPost = new HttpPost(url);
-            ContentType contentType = ContentType.create("text/plain", Charset.forName("UTF-8"));
-            MultipartEntityBuilder mEntityBuilder = MultipartEntityBuilder.create();
-            mEntityBuilder.addTextBody("sys_id", HuifuConstant.SYS_ID, contentType);
-            mEntityBuilder.addTextBody("product_id", HuifuConstant.PRODUCT_ID, contentType);
-            mEntityBuilder.addTextBody("data", data, contentType);
-            mEntityBuilder.addBinaryBody("file", tempFile);
-
-            httpPost.setEntity(mEntityBuilder.build());
-            response = httpclient1.execute(httpPost);
-            int statusCode = response.getStatusLine().getStatusCode();
-            if (statusCode == HttpStatus.SC_OK) {
-                HttpEntity resEntity = response.getEntity();
-                result = EntityUtils.toString(resEntity);
-                System.out.print(result);
-                JSONObject jsonObject = JSONObject.parseObject(result);
-                JSONObject dataObject = jsonObject.getJSONObject("data");
-                result = dataObject.getString("file_id");
-            }
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
-        return result;
-    }
 
     @Override
     public String refund(String sn, BigDecimal price, String payDate, String remark, String acctSplitBunch, String companyType) throws Exception {
@@ -945,103 +412,6 @@ public class THuifuMchServiceImpl extends ServiceImpl<THuifuMchMapper, THuifuMch
         }
     }
 
-    /**
-     * 汇付发送验证码
-     *
-     * @param tHuifuMch
-     * @return
-     * @throws Exception
-     */
-    @Override
-    public String sendSms(THuifuMch tHuifuMch) throws Exception {
-        String url = "https://api.huifu.com/v2/merchant/basicdata/sms/send";
-        HuifuBaseCommon.doInit(OppsMerchantConfig.getMerchantConfig());
-        JSONObject request = new JSONObject();
-        request.put("req_seq_id", HuifuUtils.initReqSeqId());
-        request.put("req_date", DateTools.getCurrentDateYYYYMMDD());
-        request.put("huifu_id", tHuifuMch.getHuifuId());
-        request.put("phone", tHuifuMch.getPhone());
-        request.put("verify_type", "settleBankChange");
-
-
-        // 签名:sign
-        String s = JSON.toJSONString(request);
-        String s1 = JSON.toJSONString(JSONObject.parseObject(s, TreeMap.class));
-        String sign = HuifuUtils.sign(s1, HuifuConstant.RSA_PRIVATE_KEY);
-
-        // 公共参数
-        System.out.println("请求参数:" + request);
-        JSONObject requestData = new JSONObject();
-        requestData.put("sys_id", HuifuConstant.SYS_ID);
-        requestData.put("product_id", HuifuConstant.PRODUCT_ID);
-        requestData.put("sign", sign);
-        requestData.put("data", request);
-        System.out.println("请求体:" + requestData);
-
-        String success = OkHttpClientTools.httpPost(url, requestData.toString(), HuifuConstant.PRODUCT_ID);
-        System.out.println("返回的数据:" + success);
-        // 拿到返回参数
-        JSONObject result = JSONObject.parseObject(success);
-        log.info("汇付返回参数:{}", result);
-        JSONObject data = result.getJSONObject("data");
-        String respCode = data.getString("resp_code");
-        return respCode;
-    }
-
-    /**
-     * 汇付上传图片
-     *
-     * @param base64Str
-     * @return
-     */
-    @Override
-    public String newUploadPic(String base64Str, HuifuConstant.fileType fileType, String huifuId) {
-        String url = "https://api.huifu.com/v2/supplementary/picture";
-        // 请求参数
-        Map<String, Object> params = new HashMap<String, Object>();
-        // 请求流水号,需保证当天商户下唯一,推荐采用日期时间+几位流水号的形式
-        params.put("req_seq_id", SequenceTools.getReqSeqId32());
-        params.put("req_date", DateTools.getCurrentDateYYYYMMDD());
-        params.put("file_type", fileType);
-        if (StringUtils.isNotEmpty(huifuId)) {
-            params.put("huifu_id", huifuId);
-        }
-        String data = JSON.toJSONString(params);
-
-
-        CloseableHttpClient httpclient1 = HttpClients.createDefault();
-        CloseableHttpResponse response = null;
-        String result = null;
-        File tempFile = new File("");
-        try {
-            tempFile = base64ToTempImage(base64Str);
-
-            HttpPost httpPost = new HttpPost(url);
-            ContentType contentType = ContentType.create("text/plain", Charset.forName("UTF-8"));
-            MultipartEntityBuilder mEntityBuilder = MultipartEntityBuilder.create();
-            mEntityBuilder.addTextBody("sys_id", HuifuConstant.SYS_ID, contentType);
-            mEntityBuilder.addTextBody("product_id", HuifuConstant.PRODUCT_ID, contentType);
-            mEntityBuilder.addTextBody("data", data, contentType);
-            mEntityBuilder.addBinaryBody("file", tempFile);
-
-            httpPost.setEntity(mEntityBuilder.build());
-            response = httpclient1.execute(httpPost);
-            int statusCode = response.getStatusLine().getStatusCode();
-            if (statusCode == HttpStatus.SC_OK) {
-                HttpEntity resEntity = response.getEntity();
-                result = EntityUtils.toString(resEntity);
-                System.out.print(result);
-                JSONObject jsonObject = JSONObject.parseObject(result);
-                JSONObject dataObject = jsonObject.getJSONObject("data");
-                result = dataObject.getString("file_id");
-            }
-        } catch (IOException e) {
-            e.printStackTrace();
-        } finally {
-            tempFile.delete();
-        }
-        return result;
-    }
 
     @Override
     public String updateConStat(THuifuMchCheck tHuifuMchCheck) throws BasePayException {
@@ -1231,7 +601,7 @@ public class THuifuMchServiceImpl extends ServiceImpl<THuifuMchMapper, THuifuMch
         // 请求参数:Data
         JSONObject request = new JSONObject();
         // 请求流水号
-        String reqSeqId = SequenceTools.getReqSeqId32();
+        String reqSeqId = HuifuUtils.initReqSeqId();
         request.put("req_seq_id", reqSeqId);
         // 请求日期
         request.put("req_date", DateTools.getCurrentDateYYYYMMDD());
@@ -1277,4 +647,140 @@ public class THuifuMchServiceImpl extends ServiceImpl<THuifuMchMapper, THuifuMch
         }
         return "";
     }
+
+    @Override
+    public String getInfo(THuifuMchCheck huifuMchCheck) throws BasePayException {
+        // 请求接口
+        String url = "https://api.huifu.com/v2/user/basicdata/query";
+        // 请求参数:Data
+        JSONObject request = new JSONObject();
+        // 请求流水号
+        String reqSeqId = SequenceTools.getReqSeqId32();
+        request.put("req_seq_id", reqSeqId);
+        // 请求日期
+        request.put("req_date", DateTools.getCurrentDateYYYYMMDD());
+        request.put("huifu_id", huifuMchCheck.getHuifuId());
+
+        // 签名:sign
+        String jsonString = JSON.toJSONString(JSONObject.parseObject(request.toString(), TreeMap.class));
+        String sign = HuifuUtils.sign(jsonString, HuifuConstant.RSA_PRIVATE_KEY);
+
+        // 公共参数
+        log.info("汇付查询请求参数:{}", request);
+        JSONObject requestData = new JSONObject();
+        requestData.put("sys_id", HuifuConstant.SYS_ID);
+        requestData.put("product_id", HuifuConstant.PRODUCT_ID);
+        requestData.put("sign", sign);
+        requestData.put("data", request);
+
+        String result = OkHttpClientTools.httpPost(url, requestData.toString(), HuifuConstant.PRODUCT_ID);
+        log.info("汇付查询返回数据:{}", result);
+        JSONObject jsonObject = JSONObject.parseObject(result);
+        JSONObject dataObject = jsonObject.getJSONObject("data");
+        String respCode = dataObject.getString("resp_code");
+        if (StringUtils.isNotEmpty(respCode) && respCode.equals("00000000")) {
+            String qryCashConfigList = dataObject.getString("qry_cash_config_list");
+            if (qryCashConfigList != null) {
+                return qryCashConfigList;
+            }
+        }
+        return "";
+    }
+
+    @Override
+    public String addCashBusiness(THuifuMchCheck huifuMchCheck) throws Exception {
+        // 请求接口
+        String url = "https://api.huifu.com/v2/user/busi/open";
+        HuifuBaseCommon.doInit(OppsMerchantConfig.getMerchantConfig());
+        // 请求参数:Data
+        JSONObject request = new JSONObject();
+        // 请求流水号
+        request.put("req_seq_id", HuifuUtils.initReqSeqId());
+        // 请求日期
+        request.put("req_date", DateTools.getCurrentDateYYYYMMDD());
+        // 汇付ID
+        request.put("huifu_id", huifuMchCheck.getHuifuId());
+        // 上级汇付Id:判断是申泽还是七云
+        TAdmin tAdmin = tAdminService.getById(huifuMchCheck.getAdminId());
+        if (StringUtils.isNotEmpty(tAdmin.getCompanyType()) && tAdmin.getCompanyType().equals("1")) {
+            request.put("upper_huifu_id", HuifuConstant.SC_DIV_HUIFU_ID);
+        } else {
+            request.put("upper_huifu_id", HuifuConstant.SZ_DIV_HUIFU_ID);
+        }
+        // 结算卡信息配置
+        JSONObject cardInfo = new JSONObject();
+        // 卡类型
+        cardInfo.put("card_type", huifuMchCheck.getCardType());
+        // 卡户名
+        cardInfo.put("card_name", huifuMchCheck.getCardName());
+        // 结算账号
+        cardInfo.put("card_no", huifuMchCheck.getCardNo());
+        // 银行所在省
+        cardInfo.put("prov_id", huifuMchCheck.getCardProvId());
+        // 银行所在市
+        cardInfo.put("area_id", huifuMchCheck.getCardAreaId());
+        // 如果是对私
+        if (StringUtils.isNotEmpty(huifuMchCheck.getCardType()) && huifuMchCheck.getCardType().equals("1")) {
+            // 持卡人证件类型
+            cardInfo.put("cert_type", "00");
+            // 持卡人证件号码
+            cardInfo.put("cert_no", huifuMchCheck.getCertNo());
+            // 持卡人证件有效期类型,1:长期有效,0:非长期有效;
+            cardInfo.put("cert_validity_type", huifuMchCheck.getCertValidityType());
+            // 持卡人证件有效期开始
+            cardInfo.put("cert_begin_date", huifuMchCheck.getCertBeginDate());
+            // 持卡人证件有效期截止日期
+            if (StringUtils.isNotEmpty(huifuMchCheck.getCertEndDate())) {
+                cardInfo.put("cert_end_date", huifuMchCheck.getCertEndDate());
+            }
+        }
+        if (StringUtils.isNotEmpty(huifuMchCheck.getCardType()) && huifuMchCheck.getCardType().equals("0")) {
+            // 银行号
+            cardInfo.put("bank_code", huifuMchCheck.getBankCode());
+            // 支行联行号
+            cardInfo.put("branch_code", huifuMchCheck.getBranchCode());
+        }
+        request.put("card_info", cardInfo);
+        // 取现配置
+        JSONArray cashConfig = new JSONArray();
+        JSONObject cashConfigValue = new JSONObject();
+        cashConfigValue.put("cash_type", "T1");
+        cashConfigValue.put("fee_rate", "0.00");
+        cashConfig.add(cashConfigValue);
+        request.put("cash_config", cashConfig.toString());
+        // 签名:sign
+        String s = JSON.toJSONString(request);
+        String s1 = JSON.toJSONString(JSONObject.parseObject(s, TreeMap.class));
+        String sign = HuifuUtils.sign(s1, HuifuConstant.RSA_PRIVATE_KEY);
+
+        // 公共参数
+        System.out.println("请求参数:" + request);
+        JSONObject requestData = new JSONObject();
+        requestData.put("sys_id", HuifuConstant.SYS_ID);
+        requestData.put("product_id", HuifuConstant.PRODUCT_ID);
+        requestData.put("sign", sign);
+        requestData.put("data", request);
+        System.out.println("最终请求参数:" + requestData);
+
+        String result = OkHttpClientTools.httpPost(url, requestData.toString(), HuifuConstant.PRODUCT_ID);
+        System.out.println("返回的数据:" + result);
+        JSONObject jsonObject = JSONObject.parseObject(result);
+        JSONObject dataObject = jsonObject.getJSONObject("data");
+        String code = dataObject.getString("resp_code");
+        String tokenNo = "";
+        if (code.equals(HuifuConstant.RESP_CODE)) {
+            String huifuId = dataObject.getString("huifu_id");
+            LambdaQueryWrapper<THuifuMch> wrapper = new LambdaQueryWrapper<>();
+            wrapper.eq(THuifuMch::getHuifuId, huifuId);
+            THuifuMch huifuMch = tHuifuMchService.getOne(wrapper);
+            if (huifuMch != null) {
+                tokenNo = dataObject.getString("token_no");
+                if (StringUtils.isNotEmpty(tokenNo)) {
+                    huifuMch.setTokenNo(tokenNo);
+                }
+                tHuifuMchService.updateById(huifuMch);
+            }
+        }
+        return tokenNo;
+    }
 }

+ 45 - 0
src/main/java/com/szwl/service/impl/WithdrawalRecordServiceImpl.java

@@ -1,11 +1,20 @@
 package com.szwl.service.impl;
 
+import com.szwl.model.dto.SugarDoTarget;
+import com.szwl.model.dto.WithdrawTarget;
+import com.szwl.model.entity.TSugarDo;
 import com.szwl.model.entity.WithdrawalRecord;
 import com.szwl.mapper.WithdrawalRecordMapper;
+import com.szwl.model.utils.DateUtils;
 import com.szwl.service.WithdrawalRecordService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.commons.lang.StringUtils;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
 /**
  * <p>
  * 提现记录表 服务实现类
@@ -17,4 +26,40 @@ import org.springframework.stereotype.Service;
 @Service
 public class WithdrawalRecordServiceImpl extends ServiceImpl<WithdrawalRecordMapper, WithdrawalRecord> implements WithdrawalRecordService {
 
+    @Override
+    public List<WithdrawTarget> export(List<WithdrawalRecord> list) {
+        List<WithdrawTarget> withdrawTargets = new ArrayList<>();
+        for (WithdrawalRecord withdrawalRecord : list) {
+            WithdrawTarget record = new WithdrawTarget();
+            record.setOrderNo(withdrawalRecord.getOrderNo());
+            record.setAmount(String.valueOf(withdrawalRecord.getAmount()));
+            // 格式化时间
+            if(withdrawalRecord.getCreateDate()!=null) {
+                String formatPayDate = DateUtils.formatDate(withdrawalRecord.getCreateDate(), DateUtils.PATTERN_yyyy_MM_dd_HH_mm_ss);
+                record.setCreateDate(formatPayDate);
+            }
+            if (withdrawalRecord.getArrivalDate() != null) {
+                String formatPayDate = DateUtils.formatDate(withdrawalRecord.getArrivalDate(), DateUtils.PATTERN_yyyy_MM_dd_HH_mm_ss);
+                record.setArrivalDate(formatPayDate);
+            }
+            switch (withdrawalRecord.getStatus()) {
+                case 0:
+                    record.setStatus("处理中");
+                    break;
+                case 1:
+                    record.setStatus("成功");
+                    break;
+                case 2:
+                    record.setStatus("失败");
+                    break;
+                default:
+                    break;
+            }
+            if (StringUtils.isNotEmpty(withdrawalRecord.getResultMsg())) {
+                record.setRemark(withdrawalRecord.getResultMsg());
+            }
+            withdrawTargets.add(record);
+        }
+        return withdrawTargets;
+    }
 }