feat(resource): 更新 ModelLike
parent
e559b6d04d
commit
ee27b542cd
|
@ -14,6 +14,8 @@ import com.alipay.api.domain.AlipayFundTransUniTransferModel;
|
||||||
import com.alipay.api.domain.Participant;
|
import com.alipay.api.domain.Participant;
|
||||||
import com.alipay.api.request.AlipayFundAccountQueryRequest;
|
import com.alipay.api.request.AlipayFundAccountQueryRequest;
|
||||||
import com.alipay.api.request.AlipayFundTransUniTransferRequest;
|
import com.alipay.api.request.AlipayFundTransUniTransferRequest;
|
||||||
|
import com.alipay.api.request.AlipaySystemOauthTokenRequest;
|
||||||
|
import com.alipay.api.request.AlipayUserInfoAuthRequest;
|
||||||
import com.alipay.api.response.AlipayFundAccountQueryResponse;
|
import com.alipay.api.response.AlipayFundAccountQueryResponse;
|
||||||
import com.alipay.api.response.AlipayFundTransUniTransferResponse;
|
import com.alipay.api.response.AlipayFundTransUniTransferResponse;
|
||||||
import com.alipay.easysdk.base.oauth.models.AlipaySystemOauthTokenResponse;
|
import com.alipay.easysdk.base.oauth.models.AlipaySystemOauthTokenResponse;
|
||||||
|
@ -290,4 +292,25 @@ public class AliPayIntegration {
|
||||||
alipayConfig.setSignType("RSA2");
|
alipayConfig.setSignType("RSA2");
|
||||||
return alipayConfig;
|
return alipayConfig;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//TODO 绑定回调,获取openId,保存到数据库
|
||||||
|
public void bindingCallback(String authCode) {
|
||||||
|
try {
|
||||||
|
AlipayClient alipayClient = new DefaultAlipayClient(getAlipayConfig());
|
||||||
|
AlipaySystemOauthTokenRequest request = new AlipaySystemOauthTokenRequest();
|
||||||
|
request.setCode(authCode);
|
||||||
|
request.setGrantType("authorization_code");
|
||||||
|
com.alipay.api.response.AlipaySystemOauthTokenResponse response = alipayClient.execute(request);
|
||||||
|
if (response.isSuccess()) {
|
||||||
|
String openId = response.getOpenId(); // 支付宝用户唯一ID
|
||||||
|
// 将openId与当前商城用户绑定(保存到数据库)
|
||||||
|
System.out.println("绑定成功!openId:" + openId);
|
||||||
|
} else {
|
||||||
|
System.out.println("绑定失败:" + response.getSubMsg());
|
||||||
|
}
|
||||||
|
|
||||||
|
} catch (AlipayApiException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,13 @@
|
||||||
package com.mcwl.web.controller.pay.AliPay;
|
package com.mcwl.web.controller.pay.AliPay;
|
||||||
|
|
||||||
import cn.hutool.core.lang.UUID;
|
import cn.hutool.core.lang.UUID;
|
||||||
|
import cn.hutool.core.util.RandomUtil;
|
||||||
import cn.hutool.extra.qrcode.QrCodeUtil;
|
import cn.hutool.extra.qrcode.QrCodeUtil;
|
||||||
|
import cn.hutool.json.JSON;
|
||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
|
import com.alipay.api.AlipayApiException;
|
||||||
|
import com.alipay.api.request.AlipaySystemOauthTokenRequest;
|
||||||
|
import com.alipay.easysdk.base.oauth.models.AlipaySystemOauthTokenResponse;
|
||||||
import com.alipay.easysdk.factory.Factory;
|
import com.alipay.easysdk.factory.Factory;
|
||||||
import com.alipay.easysdk.kernel.Config;
|
import com.alipay.easysdk.kernel.Config;
|
||||||
import com.alipay.easysdk.payment.common.models.AlipayTradeQueryResponse;
|
import com.alipay.easysdk.payment.common.models.AlipayTradeQueryResponse;
|
||||||
|
@ -23,9 +28,13 @@ import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import java.io.UnsupportedEncodingException;
|
||||||
|
import java.net.URLEncoder;
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Author:ChenYan
|
* @Author:ChenYan
|
||||||
|
@ -54,6 +63,29 @@ public class OrderTradeController extends BaseController {
|
||||||
@Autowired
|
@Autowired
|
||||||
private RedisCache redisCache;
|
private RedisCache redisCache;
|
||||||
|
|
||||||
|
|
||||||
|
@GetMapping("/generateQrCode")
|
||||||
|
public void generateQrCode(HttpServletResponse response) throws Exception {
|
||||||
|
String scope = "auth_user"; // 需要获取用户信息
|
||||||
|
String state = RandomUtil.randomString(3); // 防止CSRF攻击
|
||||||
|
|
||||||
|
String encodedRedirectUri = URLEncoder.encode("https://3195d9a3.r27.cpolar.top/web/pay/callback", "UTF-8");
|
||||||
|
String authUrl = String.format(
|
||||||
|
"https://openauth.alipay.com/oauth2/publicAppAuthorize.htm?app_id=%s&scope=%s&redirect_uri=%s&state=%s",
|
||||||
|
"2021005114616085", scope, encodedRedirectUri, state
|
||||||
|
);
|
||||||
|
|
||||||
|
QrCodeUtil.generate(authUrl, 300, 300, "png", response.getOutputStream());
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/callback")
|
||||||
|
public void callback(@RequestParam("auth_code") String authCode) {
|
||||||
|
|
||||||
|
System.out.println("authCode = " + authCode);
|
||||||
|
aliPayIntegration.bindingCallback(authCode);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询列表
|
* 查询列表
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -37,7 +37,7 @@ public class ToActivityController extends BaseController {
|
||||||
@PostMapping("/list")
|
@PostMapping("/list")
|
||||||
public TableDataInfo list(@RequestBody ToActivity toActivity)
|
public TableDataInfo list(@RequestBody ToActivity toActivity)
|
||||||
{
|
{
|
||||||
startPage();
|
// startPage();
|
||||||
List<ToActivity> list = toActivityService.selectToActivityList(toActivity);
|
List<ToActivity> list = toActivityService.selectToActivityList(toActivity);
|
||||||
return getDataTable(list);
|
return getDataTable(list);
|
||||||
}
|
}
|
||||||
|
|
|
@ -129,7 +129,7 @@ public class SecurityConfig
|
||||||
.authorizeHttpRequests((requests) -> {
|
.authorizeHttpRequests((requests) -> {
|
||||||
permitAllUrl.getUrls().forEach(url -> requests.antMatchers(url).permitAll());
|
permitAllUrl.getUrls().forEach(url -> requests.antMatchers(url).permitAll());
|
||||||
// 对于登录login 注册register 验证码captchaImage 允许匿名访问
|
// 对于登录login 注册register 验证码captchaImage 允许匿名访问
|
||||||
requests.antMatchers("/login", "/register", "/captchaImage","/web/pay/doPay","/web/pay/notify").permitAll()
|
requests.antMatchers("/login", "/register", "/captchaImage","/web/pay/doPay","/web/pay/notify","/web/pay/generateQrCode","/web/pay/callback").permitAll()
|
||||||
// 静态资源,可匿名访问
|
// 静态资源,可匿名访问
|
||||||
.antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
|
.antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
|
||||||
.antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll()
|
.antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll()
|
||||||
|
|
|
@ -2,6 +2,7 @@ package com.mcwl.resource.service.impl;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.mcwl.common.utils.StringUtils;
|
||||||
import com.mcwl.resource.domain.ModelProduct;
|
import com.mcwl.resource.domain.ModelProduct;
|
||||||
import com.mcwl.resource.domain.ToActivity;
|
import com.mcwl.resource.domain.ToActivity;
|
||||||
import com.mcwl.resource.mapper.ToActivityMapper;
|
import com.mcwl.resource.mapper.ToActivityMapper;
|
||||||
|
@ -31,7 +32,7 @@ public class ToActivityServiceImpl extends ServiceImpl<ToActivityMapper, ToActiv
|
||||||
@Override
|
@Override
|
||||||
public List<ToActivity> selectToActivityList(ToActivity toActivity) {
|
public List<ToActivity> selectToActivityList(ToActivity toActivity) {
|
||||||
LambdaQueryWrapper<ToActivity> queryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<ToActivity> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
queryWrapper.eq(ToActivity::getActivityName, toActivity.getActivityName());
|
queryWrapper.eq(StringUtils.isNotBlank(toActivity.getActivityName()),ToActivity::getActivityName, toActivity.getActivityName());
|
||||||
return toActivityMapper.selectList(queryWrapper);
|
return toActivityMapper.selectList(queryWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue