From 3bbc3e6ebe2a5803aa495dc9c1ba09ab445a3dcd Mon Sep 17 00:00:00 2001 From: xiaohanzi Date: Mon, 26 Apr 2021 14:40:26 +0800 Subject: [PATCH] fix cashout --- .../com/iformall/controller/WxCashOutController.java | 11 ++++++++++- .../java/com/iformall/service/WxCashOutService.java | 2 +- .../iformall/service/impl/WxCashOutServiceImpl.java | 5 ++--- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxCashOutController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxCashOutController.java index e5baabe51..5a32e7bd2 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxCashOutController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxCashOutController.java @@ -22,6 +22,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -135,6 +136,14 @@ public class WxCashOutController extends BaseController { @PostMapping("cashout") public ResultData cashout(@RequestBody WxCashOut wxCashOut) { WxMerchantBUser buser = getLoginBUser(); + WxBuser wxBUser = getWxBuser(); + WxMerchant merchant = wxMerchantService.getById(buser.getMerchantId()); + if ((!StringUtils.isBlank(wxBUser.getPhone())) && wxBUser.getPhone().equals(merchant.getLinkPhone()) ) { + //do nothing + }else { + return new ResultData(Result.ERROR,"当前微信绑定的手机号["+wxBUser.getPhone()+"]非商户的联系手机号"); + } + //当前管理员的账户必须在c端授权了 try { WxCUser mUser = getCurrentCUser(buser); @@ -148,7 +157,7 @@ public class WxCashOutController extends BaseController { return new ResultData(Result.ERROR,buser.getPhone()+"匹配C端用户失败,该情况可能是存在多个微信对应统一手机号,请联系管理员处理, 。"); } - return wxCashOutService.applyCashout(buser, wxCashOut,EnumPayWay.PAY_WAY_WECHAT); + return wxCashOutService.applyCashout(buser, wxCashOut,merchant,EnumPayWay.PAY_WAY_WECHAT); } // @ApiOperation("微信B端重新提现") diff --git a/mallinkService/src/main/java/com/iformall/service/WxCashOutService.java b/mallinkService/src/main/java/com/iformall/service/WxCashOutService.java index 53e6f24c5..314e7fdaa 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCashOutService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCashOutService.java @@ -35,7 +35,7 @@ public interface WxCashOutService { void createCashOut(WxCashOut record); - ResultData applyCashout(WxMerchantBUser buser,WxCashOut record,EnumPayWay payWay); + ResultData applyCashout(WxMerchantBUser buser,WxCashOut record,WxMerchant merchant,EnumPayWay payWay); public void sendCashOutMsg(TenantEntity tenantEntity, Long cashOutId,EnumPayWay payWay); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCashOutServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCashOutServiceImpl.java index 8053ac1fb..bcd4470e9 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCashOutServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCashOutServiceImpl.java @@ -93,15 +93,14 @@ public class WxCashOutServiceImpl implements WxCashOutService { @Override @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) - public ResultData applyCashout(WxMerchantBUser buser, WxCashOut record,EnumPayWay payWay) { + public ResultData applyCashout(WxMerchantBUser buser, WxCashOut record,WxMerchant merchant,EnumPayWay payWay) { WxMall mall = wxMallMapper.getByTenantId(buser.getTenantId()); if (EnumCashOut.NO.getCode().intValue() == mall.getCashOutSupport().intValue()) { return new ResultData(Result.ERROR,"当前租户不支持商户提现。"); } //只有商户管理员才能进行此操作 - WxMerchant merchant = wxMerchantMapper.selectById(buser.getMerchantId()); if (!(buser.getPhone().equals(merchant.getLinkPhone()))) { - return new ResultData(Result.ERROR,"当前账号非商户管理员,不能进行此操作。"); + return new ResultData(Result.ERROR,"当前账号不是商户的联系手机号,不能进行此操作。"); } if(!hasCashCount(mall,merchant)) {