|
@@ -2,11 +2,14 @@ package com.szwl.controller;
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
|
+import cn.hutool.core.bean.copier.CopyOptions;
|
|
import cn.hutool.core.util.StrUtil;
|
|
import cn.hutool.core.util.StrUtil;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
import com.huifu.bspay.sdk.opps.core.exception.BasePayException;
|
|
import com.huifu.bspay.sdk.opps.core.exception.BasePayException;
|
|
import com.szwl.constant.HuifuConstant;
|
|
import com.szwl.constant.HuifuConstant;
|
|
|
|
+import com.szwl.constant.JoinpayConstant;
|
|
import com.szwl.constant.ResponseCodesEnum;
|
|
import com.szwl.constant.ResponseCodesEnum;
|
|
import com.szwl.exception.BizException;
|
|
import com.szwl.exception.BizException;
|
|
import com.szwl.manager.TokenManager;
|
|
import com.szwl.manager.TokenManager;
|
|
@@ -15,6 +18,7 @@ import com.szwl.model.bo.ResponseModel;
|
|
import com.szwl.model.bo.UserDetailBO;
|
|
import com.szwl.model.bo.UserDetailBO;
|
|
import com.szwl.model.entity.THuifuMch;
|
|
import com.szwl.model.entity.THuifuMch;
|
|
import com.szwl.model.entity.THuifuMchCheck;
|
|
import com.szwl.model.entity.THuifuMchCheck;
|
|
|
|
+import com.szwl.model.entity.TJoinpayMch;
|
|
import com.szwl.model.param.UploadParms;
|
|
import com.szwl.model.param.UploadParms;
|
|
import com.szwl.service.THuifuMchCheckService;
|
|
import com.szwl.service.THuifuMchCheckService;
|
|
import com.szwl.service.THuifuMchService;
|
|
import com.szwl.service.THuifuMchService;
|
|
@@ -30,6 +34,8 @@ import javax.validation.Valid;
|
|
import java.util.Date;
|
|
import java.util.Date;
|
|
import java.util.Optional;
|
|
import java.util.Optional;
|
|
|
|
|
|
|
|
+import static com.szwl.constant.ResponseCodesEnum.B0001;
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* <p>
|
|
* <p>
|
|
* 前端控制器
|
|
* 前端控制器
|
|
@@ -75,6 +81,85 @@ public class THuifuMchController {
|
|
return R.ok();
|
|
return R.ok();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @ApiOperation(value = "商户入网")
|
|
|
|
+ @PostMapping("/createMch")
|
|
|
|
+ public ResponseModel<?> createMch(@RequestBody THuifuMchCheck huifuMchCheck) {
|
|
|
|
+ // 步骤
|
|
|
|
+ Integer steps = huifuMchCheck.getBindingSteps();
|
|
|
|
+ LambdaQueryWrapper<THuifuMchCheck> query = Wrappers.lambdaQuery();
|
|
|
|
+ query.eq(THuifuMchCheck::getAdminId, huifuMchCheck.getAdminId());
|
|
|
|
+ THuifuMchCheck tHuifuMchCheck = tHuifuMchCheckService.getOne(query);
|
|
|
|
+ switch (steps) {
|
|
|
|
+ case 0:
|
|
|
|
+ // 提交证件信息
|
|
|
|
+ huifuMchCheck.setBindingSteps(1);
|
|
|
|
+ if (tHuifuMchCheck == null) {
|
|
|
|
+ // 没有,直接保存
|
|
|
|
+ huifuMchCheck.setCreateDate(new Date());
|
|
|
|
+ huifuMchCheck.setModifyDate(new Date());
|
|
|
|
+ tHuifuMchCheckService.save(huifuMchCheck);
|
|
|
|
+ } else {
|
|
|
|
+ // 有,更新
|
|
|
|
+ huifuMchCheck.setModifyDate(new Date());
|
|
|
|
+ BeanUtil.copyProperties(huifuMchCheck, tHuifuMchCheck,
|
|
|
|
+ CopyOptions.create()
|
|
|
|
+ .setIgnoreNullValue(true) // 忽略源对象中的 null 值
|
|
|
|
+ .setIgnoreError(true) // 忽略类型不匹配等错误
|
|
|
|
+ );
|
|
|
|
+ tHuifuMchCheckService.updateById(tHuifuMchCheck);
|
|
|
|
+ }
|
|
|
|
+ return R.ok();
|
|
|
|
+ case 1:
|
|
|
|
+ // 提交结算信息
|
|
|
|
+ tHuifuMchCheck.setCardType(huifuMchCheck.getCardType());
|
|
|
|
+ tHuifuMchCheck.setCardName(huifuMchCheck.getCardName());
|
|
|
|
+ tHuifuMchCheck.setCardNo(huifuMchCheck.getCardNo());
|
|
|
|
+ tHuifuMchCheck.setBranchCode(huifuMchCheck.getBranchCode());
|
|
|
|
+ tHuifuMchCheck.setSettType(huifuMchCheck.getSettType());
|
|
|
|
+ tHuifuMchCheck.setBindingSteps(2);
|
|
|
|
+ tHuifuMchCheck.setModifyDate(new Date());
|
|
|
|
+ tHuifuMchCheckService.updateById(tHuifuMchCheck);
|
|
|
|
+ return R.ok();
|
|
|
|
+ case 2:
|
|
|
|
+ // 提交信息审核
|
|
|
|
+ tHuifuMchCheck.setModifyDate(new Date());
|
|
|
|
+ tHuifuMchCheck.setBindingSteps(3);
|
|
|
|
+ String result = "";
|
|
|
|
+ String huifuId = tHuifuMchCheck.getHuifuId();
|
|
|
|
+ try {
|
|
|
|
+ if (StringUtils.isEmpty(huifuId)) {
|
|
|
|
+ // 没入网,创建接口
|
|
|
|
+ result = tHuifuMchService.openAccount(tHuifuMchCheck);
|
|
|
|
+ } else {
|
|
|
|
+ // 已入网,修改接口
|
|
|
|
+ result = HuifuConstant.SUCCESS;
|
|
|
|
+ tHuifuMchCheck.setStatus("4");
|
|
|
|
+ tHuifuMchCheckService.updateById(tHuifuMchCheck);
|
|
|
|
+ }
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ throw new RuntimeException(e);
|
|
|
|
+ }
|
|
|
|
+ if (HuifuConstant.SUCCESS.equals(result)) {
|
|
|
|
+ return R.ok();
|
|
|
|
+ }
|
|
|
|
+ return R.fail(result);
|
|
|
|
+ }
|
|
|
|
+ return R.fail(B0001);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @ApiOperation(value = "汇付业务开通(签约)")
|
|
|
|
+ @GetMapping("/signCon")
|
|
|
|
+ public ResponseModel<?> signCon(Long id) throws Exception {
|
|
|
|
+ // 找到用户id对应的审核信息
|
|
|
|
+ THuifuMchCheck huifuMchCheck = tHuifuMchCheckService.getById(id);
|
|
|
|
+ String data = tHuifuMchService.openBusiness(huifuMchCheck);
|
|
|
|
+ // 判断是否开户成功或业务开通成功
|
|
|
|
+ if (data.equals(HuifuConstant.SUCCESS)) {
|
|
|
|
+ return R.ok();
|
|
|
|
+ }
|
|
|
|
+ return R.fail(ResponseCodesEnum.A0001, data);
|
|
|
|
+ }
|
|
|
|
+
|
|
@ApiOperation(value = "汇付用户开户或业务开通")
|
|
@ApiOperation(value = "汇付用户开户或业务开通")
|
|
@GetMapping("/openAccount")
|
|
@GetMapping("/openAccount")
|
|
public ResponseModel<?> openAccount(Long id) throws Exception {
|
|
public ResponseModel<?> openAccount(Long id) throws Exception {
|
|
@@ -265,5 +350,6 @@ public class THuifuMchController {
|
|
return R.ok(result);
|
|
return R.ok(result);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|