微信登录业务进行调整

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.modules.connect.entity.Connect;
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.member.entity.dto.ConnectQueryDTO;
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.system.entity.dos.Setting;
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.enums.SettingEnum;
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.google.gson.Gson;
import lombok.extern.slf4j.Slf4j;
import org.apache.poi.ss.formula.atp.Switch;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@ -380,7 +384,7 @@ public class WechatPlugin implements Payment {
try {
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) {
return null;
@ -478,16 +482,38 @@ public class WechatPlugin implements Payment {
*/
@Override
public boolean transfer(MemberWithdrawApply memberWithdrawApply) {
try {
//获取提现设置
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();
//获取用户openId
Connect connect = connectService.queryConnect(
ConnectQueryDTO.builder().userId(memberWithdrawApply.getMemberId())
.unionType(ConnectEnum.WECHAT_OPEN_ID.name()).build()
.unionType(source).build()
);
//构建提现发起申请
TransferModel transferModel = new TransferModel()

View File

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

View File

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

View File

@ -11,6 +11,7 @@ import cn.lili.common.utils.HttpUtils;
import cn.lili.common.utils.StringUtils;
import cn.lili.modules.connect.entity.Connect;
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.member.entity.dto.ConnectQueryDTO;
import cn.lili.modules.order.order.entity.dos.Order;
@ -146,7 +147,7 @@ public class WechatMessageUtil {
}
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) {
return;