微信登录业务进行调整

This commit is contained in:
pikachu1995@126.com 2023-03-08 19:44:06 +08:00
parent 36a3a0a0e1
commit 6f746e3aff
4 changed files with 36 additions and 5 deletions

View File

@ -18,6 +18,7 @@ import cn.lili.common.utils.StringUtils;
import cn.lili.common.vo.ResultMessage; import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.connect.entity.Connect; import cn.lili.modules.connect.entity.Connect;
import cn.lili.modules.connect.entity.enums.ConnectEnum; import cn.lili.modules.connect.entity.enums.ConnectEnum;
import cn.lili.modules.connect.entity.enums.SourceEnum;
import cn.lili.modules.connect.service.ConnectService; import cn.lili.modules.connect.service.ConnectService;
import cn.lili.modules.member.entity.dto.ConnectQueryDTO; import cn.lili.modules.member.entity.dto.ConnectQueryDTO;
import cn.lili.modules.order.order.service.OrderService; import cn.lili.modules.order.order.service.OrderService;
@ -40,6 +41,8 @@ import cn.lili.modules.payment.service.PaymentService;
import cn.lili.modules.payment.service.RefundLogService; import cn.lili.modules.payment.service.RefundLogService;
import cn.lili.modules.system.entity.dos.Setting; import cn.lili.modules.system.entity.dos.Setting;
import cn.lili.modules.system.entity.dto.WithdrawalSetting; import cn.lili.modules.system.entity.dto.WithdrawalSetting;
import cn.lili.modules.system.entity.dto.connect.WechatConnectSetting;
import cn.lili.modules.system.entity.dto.connect.dto.WechatConnectSettingItem;
import cn.lili.modules.system.entity.dto.payment.WechatPaymentSetting; import cn.lili.modules.system.entity.dto.payment.WechatPaymentSetting;
import cn.lili.modules.system.entity.enums.SettingEnum; import cn.lili.modules.system.entity.enums.SettingEnum;
import cn.lili.modules.system.service.SettingService; import cn.lili.modules.system.service.SettingService;
@ -47,6 +50,7 @@ import cn.lili.modules.wallet.entity.dos.MemberWithdrawApply;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.google.gson.Gson; import com.google.gson.Gson;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.poi.ss.formula.atp.Switch;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@ -380,7 +384,7 @@ public class WechatPlugin implements Payment {
try { try {
Connect connect = connectService.queryConnect( Connect connect = connectService.queryConnect(
ConnectQueryDTO.builder().userId(UserContext.getCurrentUser().getId()).unionType(ConnectEnum.WECHAT_MP_OPEN_ID.name()).build() ConnectQueryDTO.builder().userId(UserContext.getCurrentUser().getId()).unionType(SourceEnum.WECHAT_MP_OPEN_ID.name()).build()
); );
if (connect == null) { if (connect == null) {
return null; return null;
@ -478,16 +482,38 @@ public class WechatPlugin implements Payment {
*/ */
@Override @Override
public boolean transfer(MemberWithdrawApply memberWithdrawApply) { public boolean transfer(MemberWithdrawApply memberWithdrawApply) {
try { try {
//获取提现设置 //获取提现设置
WithdrawalSetting withdrawalSetting = new Gson().fromJson(settingService.get(SettingEnum.WITHDRAWAL_SETTING.name()).getSettingValue(), WithdrawalSetting.class); WithdrawalSetting withdrawalSetting = new Gson().fromJson(settingService.get(SettingEnum.WITHDRAWAL_SETTING.name()).getSettingValue(), WithdrawalSetting.class);
//获取用户OPENID
WechatConnectSetting wechatConnectSetting = new Gson().fromJson(settingService.get(SettingEnum.WECHAT_CONNECT.name()).getSettingValue(), WechatConnectSetting.class);
String source = "";
for (WechatConnectSettingItem wechatConnectSettingItem : wechatConnectSetting.getWechatConnectSettingItems()) {
if (wechatConnectSettingItem.getAppId().equals(withdrawalSetting.getWechatAppId())) {
switch (wechatConnectSettingItem.getClientType()) {
case "PC":
source = SourceEnum.WECHAT_PC_OPEN_ID.name();
break;
case "H5":
source = SourceEnum.WECHAT_OFFIACCOUNT_OPEN_ID.name();
break;
case "MP":
source = SourceEnum.WECHAT_MP_OPEN_ID.name();
break;
case "APP":
source = SourceEnum.WECHAT_APP_OPEN_ID.name();
break;
}
}
}
//获取微信设置 //获取微信设置
WechatPaymentSetting wechatPaymentSetting = wechatPaymentSetting(); WechatPaymentSetting wechatPaymentSetting = wechatPaymentSetting();
//获取用户openId //获取用户openId
Connect connect = connectService.queryConnect( Connect connect = connectService.queryConnect(
ConnectQueryDTO.builder().userId(memberWithdrawApply.getMemberId()) ConnectQueryDTO.builder().userId(memberWithdrawApply.getMemberId())
.unionType(ConnectEnum.WECHAT_OPEN_ID.name()).build() .unionType(source).build()
); );
//构建提现发起申请 //构建提现发起申请
TransferModel transferModel = new TransferModel() TransferModel transferModel = new TransferModel()

View File

@ -32,7 +32,7 @@ public class WithdrawalSetting implements Serializable {
private Boolean apply; private Boolean apply;
/** /**
* 微信提现使用的APPID * 微信提现-渠道使用的APPID
*/ */
private String wechatAppId; private String wechatAppId;
/** /**

View File

@ -1,5 +1,6 @@
package cn.lili.modules.system.entity.vo; package cn.lili.modules.system.entity.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
/** /**
@ -14,14 +15,17 @@ public class WithdrawalSettingVO {
/** /**
* 提现最低金额 * 提现最低金额
*/ */
@ApiModelProperty(value = "minPrice")
private Double minPrice; private Double minPrice;
/** /**
* 提现手续费 * 提现手续费
*/ */
@ApiModelProperty(value = "提现手续费")
private Double fee; private Double fee;
/** /**
* 提现类型 WECHAT\ALI * 提现类型 WECHAT\ALI
*/ */
@ApiModelProperty(value = "提现类型 WECHAT、ALI")
private String type; private String type;
} }

View File

@ -11,6 +11,7 @@ import cn.lili.common.utils.HttpUtils;
import cn.lili.common.utils.StringUtils; import cn.lili.common.utils.StringUtils;
import cn.lili.modules.connect.entity.Connect; import cn.lili.modules.connect.entity.Connect;
import cn.lili.modules.connect.entity.enums.ConnectEnum; import cn.lili.modules.connect.entity.enums.ConnectEnum;
import cn.lili.modules.connect.entity.enums.SourceEnum;
import cn.lili.modules.connect.service.ConnectService; import cn.lili.modules.connect.service.ConnectService;
import cn.lili.modules.member.entity.dto.ConnectQueryDTO; import cn.lili.modules.member.entity.dto.ConnectQueryDTO;
import cn.lili.modules.order.order.entity.dos.Order; import cn.lili.modules.order.order.entity.dos.Order;
@ -146,7 +147,7 @@ public class WechatMessageUtil {
} }
Connect connect = connectService.queryConnect( Connect connect = connectService.queryConnect(
ConnectQueryDTO.builder().userId(order.getMemberId()).unionType(ConnectEnum.WECHAT_MP_OPEN_ID.name()).build() ConnectQueryDTO.builder().userId(order.getMemberId()).unionType(SourceEnum.WECHAT_MP_OPEN_ID.name()).build()
); );
if (connect == null) { if (connect == null) {
return; return;