refactor: 调整支付宝支付相关代码并修改会员权益相关功能
parent
7e0540104f
commit
79bf09e235
|
@ -48,21 +48,7 @@ public class MemberLevelController {
|
||||||
@ApiOperation(value = "获取会员等级及权益列表")
|
@ApiOperation(value = "获取会员等级及权益列表")
|
||||||
public AjaxResult getMemberBenefitList() {
|
public AjaxResult getMemberBenefitList() {
|
||||||
|
|
||||||
List<MemberBenefitVO> memberBenefitVOList = new ArrayList<>();
|
return AjaxResult.success(memberBenefitService.getMemberBenefitList());
|
||||||
|
|
||||||
List<MemberLevel> memberLevelList = memberLevelService.list();
|
|
||||||
for (MemberLevel memberLevel : memberLevelList) {
|
|
||||||
MemberBenefitVO memberBenefitVO = new MemberBenefitVO();
|
|
||||||
memberBenefitVO.setMemberLevel(memberLevel);
|
|
||||||
// 获取会员等级对应的权益
|
|
||||||
List<MemberBenefit> memberBenefitList = memberBenefitService.lambdaQuery()
|
|
||||||
.eq(MemberBenefit::getMemberLevelId, memberLevel.getId())
|
|
||||||
.list();
|
|
||||||
memberBenefitVO.setMemberBenefitList(memberBenefitList);
|
|
||||||
memberBenefitVOList.add(memberBenefitVO);
|
|
||||||
}
|
|
||||||
|
|
||||||
return AjaxResult.success(memberBenefitVOList);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -98,15 +98,15 @@ public class AliPayController extends BaseController {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
// /**
|
||||||
* 余额查询接口
|
// * 账户余额查询
|
||||||
*/
|
// */
|
||||||
@GetMapping("/balance")
|
// @GetMapping("/balance")
|
||||||
@ResponseBody
|
// @ResponseBody
|
||||||
public AjaxResult balance(@Valid @NotNull(message = "用户ID不能为空") Long userId) throws AlipayApiException {
|
// public AjaxResult balance() throws AlipayApiException {
|
||||||
String balance = aliPayService.balance(userId);
|
// String balance = aliPayService.balance();
|
||||||
return AjaxResult.success(balance);
|
// return AjaxResult.success(balance);
|
||||||
}
|
// }
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -140,13 +140,13 @@ public class AliPayController extends BaseController {
|
||||||
* 提现接口
|
* 提现接口
|
||||||
*/
|
*/
|
||||||
@Anonymous
|
@Anonymous
|
||||||
@PostMapping("/fetch")
|
@GetMapping("/fetch")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
@ApiOperation(value = "提现")
|
@ApiOperation(value = "提现")
|
||||||
public AjaxResult fetch(@Valid
|
public AjaxResult fetch(@Valid
|
||||||
@NotNull(message = "提现金额不能为空")
|
@NotNull(message = "提现金额不能为空")
|
||||||
Double amount) throws Exception {
|
Double amount) throws Exception {
|
||||||
if (amount < 0.01) {
|
if (amount < 0.1) {
|
||||||
return AjaxResult.error("提现金额最小为0.01");
|
return AjaxResult.error("提现金额最小为0.01");
|
||||||
}
|
}
|
||||||
String outBizNo = UUID.fastUUID().toString(true);
|
String outBizNo = UUID.fastUUID().toString(true);
|
||||||
|
|
|
@ -115,17 +115,39 @@ aliyun:
|
||||||
accessKeySecret: F82IVNx0IGJ3AnP6gSIfcyql1HCXIH
|
accessKeySecret: F82IVNx0IGJ3AnP6gSIfcyql1HCXIH
|
||||||
accessPre: https://ybl2112.oss-cn-beijing.aliyuncs.com/
|
accessPre: https://ybl2112.oss-cn-beijing.aliyuncs.com/
|
||||||
|
|
||||||
|
## 沙箱环境
|
||||||
mall:
|
mall:
|
||||||
mgt:
|
mgt:
|
||||||
aliPayConfig:
|
aliPayConfig:
|
||||||
protocol: https
|
protocol: https
|
||||||
gatewayHost: openapi-sandbox.dl.alipaydev.com
|
gatewayHost: openapi-sandbox.dl.alipaydev.com
|
||||||
signType: RSA2
|
signType: RSA2
|
||||||
appId: 9021000135682614
|
# 沙箱应用id
|
||||||
privateKey: MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCQxmQGcaiKjOhayWi+zNTvpp8B5YT8jFFkjLzrD+W+T2Dwf2GfFR4p95zsCJxYeoLWdghMPA6/GMFrLbuVFpaEjuTm4icqA9N8n5d3W0j7gh+wMjZoqyJclAIeb09ut7rY6mWzilA9kWmZnUG7MOWIU70RVRYrfJectCFw/odM9lG4XIVe13X2h+1ecTQyQzLWmnvKFCfo7dQjE7fIYiWfud1ZGUneNs3u73pNWMB6ThGTTCbs0atcgM3fYOg3q7fTxIu9VcaUCJiJ/kNbL9sVEyOrSyx2f2o6w06zdEaOiQFsuDeS8QPYGMg7pf42wAfqCO6hqxQiQT5vp1hvB0o1AgMBAAECggEAIhaEYLwMSispXo8D2cES9iaOU/z91hUX6Qv2Q4anuqqoEZh8nN91Db6etTjFz1NxURvTklelxTsH97t56n26DRY0MWTYgd0Kw9Iz8MeOpKGb4nnAM97vpUq4QQBGfLRIC2ENdzu+7vA5JBFR88hsky/cWaNmJ/EbJauIIDneE7GigMR2HF7kfzdZzOBN4ZEh/ef5NKeCnEieRJJhWRgrgNXVZ44Tqi67AM7ey9pyUtBe7fgzxXtrWXBN9yKaVxxSXm3KJXFQqA6mcilFVZaxMNlAySc4MPTW8lq0ozOCOCunoeIphNz/OVIxGu3/voXFXlBfOKqOkYMVZxMY6OrvtQKBgQD0nIlXK4VW72VaGpz9kxQkRNzJV/yqaqet1GOSlPM2l0RCRFOVVdnvbQdHGPe6+HxHL1dh5MP8T/aHoP+4UXkkQCc8moS2FZxJvFH2QTSZBcSSdGL7GMpROqs38J+XlJzrhNcB20lrW6D7yMeQa4YEcXwdbD8Er/YaIqODBWYYewKBgQCXg+16RLDArciwwhf0TBWZPor2iYFDdwU5UPu7CKOhU1MLfQhG85gGpXHjB6G8cMUi/ezxh/FEl+sWOZegpkPwL5/BQS9tNYWIaC4kipPF/a5Up4DMYUHVAuuPwNqqXpvgU+rGjCns0wtPRnjrkghLkc3oTSID7o7pzUwIk2whDwKBgAys3+EIfExY82OL5X6uVGjcuKQmTw11oWK8krxRw5iclgjpCXu/ix+BAtOIU634mlgF9/02oYE9k4TLrvSaJDDgsifNyfq1e/fGLmkYT+VuCxWbulVQn4s+AwlPCrYMGWWK6KlL9638fYcOjGjLaZJpXwkXRtyzUYlhKh/r87JpAoGBAIavRp2mi/xrPvgpQQPv0k9L8llfOCHRnjoqC+thrZsNp8eRmJcBmMVnskofEZ2iHQuS71pw/n58EQTLo0ayJbhPjVJL8K3CovXzrfjbmqqoa5xi3bJQTiXdF6rMw1QpD6Uk05E1LVuQ6v/IZFr7kBYlAQWb8z3NhQq+bPU+nyLvAoGAGpBbSM8gPzdWQqkHoos0icu3cj0GhN3MU7+1Eb/rsXyh/lk5wtZTEnHjwhdUOUtwVNjvrv7CzA7unhOoaM6YcE/Zpd4zt8pjqH1Mhds7UHf4Xg+A+J4G6meYnhSwfBpOub02ncsqfBlXE0qhFv6AvcMewWndyLb8EYaUUXTYkG0=
|
appId: 9021000143684202
|
||||||
publicKey: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApHkjwHnoUnZuqbas+ZputyWIfU2WKBFKd+wFwlCZytpQhVA16CGAMCGpgjxUPpqbmOtPy74y0wxmDHB9IaYOVsVmi2SAl1IqfxwUSIllbdvbjBvZFAIQlPa8U/zHJPgdGNHDt/Bwqp5uB0OkcGLB9PYyAXBEKiu6zdTsiZloUrPwgnBRJ0iNHYiWo/oOYD9KfopLA+D1nQjqq8m3ShZe46ecMo6ZCHtQI/HtgL/EGga5KY2zOUi0Wwviu8w79RjjzfdsDkzu5VnBdaSru4awDyiF9nAF+uPgA4ZOdLKkpoEANwuIorDW8tT69Gwh+mYx9sDJMxJf7XOekdPbymomiwIDAQAB
|
# 沙箱应用私钥
|
||||||
notifyUrl: https://253d7236.r27.cpolar.top/web/pay/notify
|
privateKey: MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCyhwMKnP7oBQ9qKhxke9AXN7ZNcniMnJFcWWFPfs3W6QqKBGFGFYQFyqfmnf2gM4nYtEbvit0CcmSrdniR3aZVb6s0A/KWqD5ejf+zjdnn5XH4GYsm/DXZoBqdAMWQUaQcVB1lC9az1rn13n9UHBJ+s+UAWtFjXMDd78dsE7enU3RjBffyvl/A+r6c0jnSHDNttSXyamxGX8ng8hK5XdCAusOfYpWnLY90sjlyz98snIfVPqAfD3KTP88gRF1KfWZniwMCR/OjCp6jm5d5dvOj8xyk7R1LfZ0CH/fXOcvpCe9JISS9DyzEzW5XpsnO5p8Mo8wFL6TKVBng+Ss0Tr0NAgMBAAECggEAPnaCl+oKPf/XPtvxBy9SxWzWug49I2V8boVPSNMjDfiHmXai2jSY9rXLPSM2JCEkL9ATqag6X6rKkjtnQBH/KpFho1dmP1QqTkb8mkQdY8ehsp6tUzyXUsdzyE8G0NHfy5Gan0ofGtkcQ2xPvIv95JromtErxcokKQLGEYhsj3xL+KVsUh5YedX/6sAiJ1KS5Zs82eh6bbCvUzuSPc4hjyfLSux5AnGBPnwEzWWJiA5z9zK17i8Cb7FnEeRmNvJw7VsXaCMFquZ6+bzlKdSuUqzqNhHMX8AivePTjj7pPHFW3FTh64E20yzl7CIwkScToXT3H7oaHRA1xGySmGNBuQKBgQDXFcg0b8L0A/Zril+4IwfckH1gpUbqlplzfozM/a/0rojQEdS+X7g4ypdPc47cwoLJx08/84L8ZPj49CImoGNdj5K9B2fY/E10SIJJqN5lb9NI4KINvGGM58NDSAl+GjT5mljkPI8jzQ1ACcy9DGV/KVScGHUWUpeLOK22AEcfWwKBgQDUfPFBHc2Bkuv3bRoNT+fnChMw5CI65wD74vR5GKyurh50DB3RZXwhRsAFd9NowINm9B2KAR0IrB+vh3EwfJaWDauh3ykZZtrAphSa11dJXvtathHTuQmXalZv5brh5mHie87yoxMn7vqDi0bwkNlb/b1wwokwc0oc3NSoNsFptwKBgCJhjPs00kkHSSCvodVhZCRRxHjqcoeVQzo/BGrQMow+SghYkVVNH7mUSNOeeTu4rAdtILHsTwfhbBr/i2X5RWjzRlWJFYSN8COiY5E6uTIlyfRgVAc2EbHgakoa/cl2jvlHPuZc99SVNoUCDAQ8Mw08ohXBoxXKZgcPLFVnffb5AoGBAJW5cDmk6WCrCRAwVVIaAtsek0U5CxGcImpakk8d3te7IwQ8YWph6yR7eOSheVrvg+ewjXvnqvCocC877brvnyAeg9isqYYXnn5uyEgPApdVkSFq94bLdIG30S5JnvR8ZG61NK5t0BqsXuL/6b2rIy2Zzrm8qfR02D0cMdBRvNljAoGBAMJG7/TqodrYPYyOZ4/IbbhAitBHWpHYJHSENnuxbQGAQuCt52Jp3eULR2r7uk3dUDuE8mB2QAEStuV/orfdxxRxJIYbEynJFGCa9O5LTevbM4MoNRfLCPPmFK5PJivlJcdrCyQKEmGSLLrVdb3H/Wzu0/4K/ZhwyrtBz4MRkuwD
|
||||||
|
# 沙箱支付宝公钥
|
||||||
|
publicKey: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAgfv3CE8I87I5HHcMtK1RrPQZzLqYlXxRa96lIYkEyFsxdMcMSwnNJJf/mceZhMQnXQDkuEYTZPO/DJbmiZkBWbRZNfIJur5Af/wKZEmHahtEWlrdJdJ6fh7j11eeqbXBfo55H1dxPEQA/obfe85WrqoE0fa06XElgq5/RwsSKjZpnorbO8mMnDaRwxIOoRVHQlHgfkMtTHfP+Zw8Kv0tyJdWLxVDgtg0OoO8VnrDNGBwsxJDOvLjZBbp9NX3wiWQpfh4OBkN1KKfIA9yfBhS6N0bnWfr428Boz/qNhycdrG/MYGQDiG8hVt177fKvTVXRf/kdSIz3izN1GnzOUkadQIDAQAB
|
||||||
|
notifyUrl: https://253d7236.r27.cpolar.top/ali/pay/notify
|
||||||
|
# 沙箱支付宝网关
|
||||||
gatewayUrl: https://openapi-sandbox.dl.alipaydev.com/gateway.do
|
gatewayUrl: https://openapi-sandbox.dl.alipaydev.com/gateway.do
|
||||||
|
|
||||||
|
## 线上环境
|
||||||
|
#mall:
|
||||||
|
# mgt:
|
||||||
|
# aliPayConfig:
|
||||||
|
# protocol: https
|
||||||
|
# gatewayHost: openapi-sandbox.dl.alipaydev.com
|
||||||
|
# signType: RSA2
|
||||||
|
# # 线上应用id
|
||||||
|
# appId: 2021005114616085
|
||||||
|
# # 线上应用私钥
|
||||||
|
# privateKey: MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCMsTikcbGWE/E9bzaVCUvtqlrzzOo26zYl1mOVRPjJTMRi7VJrOGRpanvG9d0tCh7D5HEBO6hkd5UxEXT0/HOBRgHx7GnvUIGyAstyL8galRWpsDrRD6NVEVMB6l7mntJzfF1GKsHME2ITPp8zv7IXGGHajlA7NWO4DK6dbVL9VwdcZI1HC5nvAVm4gRsfg3uFa2i6aG+M4iKK4F94HEifFhAbi3PNDt+AF7GeE+/IWY1raNupWhoEDRLL54p9UqVhjF+cKvKfspthfo5cAsk07vxB5QGBSOOM7/Sd4gP/9tXbhJmCjQT0EWShgyHHW95qaCBDRFfEu4fyehikBaFrAgMBAAECggEAVy+3/0gpmexv0fdqZr9lGzo3tN/mwPPQEXCjM6yTVAPLq9aP/bvrldwUKn7QeonL+O9HDFGRD/l/LfI4fV04owLkT6yHFXPZe5v5waBUrAx5aTe5qza6rAvZWdWIy/feSQznrITwpevZGj3zYJlJ3sAQW+VXWOnECxlo2EwYYr+xm6TPacjx3aP/tp/7wp8cDit3gJpoMPG8sSBoDNBgF4vHAkF9GOf4JpHXQyVvRM7hv/jfH2h0K0tae/FxCBwXnjHEiV0EJyRYhq+NRETU2Srd+gaJejz/fpIZgbU5C5hFYKzqhHDilIvvZJxsSsUQWDI/htxCBZW4IgwJyYOhUQKBgQDCKSg47AX9NJjZgJlEG9fbHNCEIwl3hQAWXGHup+S9V9UVx90KmkfQubUrdr4ToszsHsDINIALd9z6HgJvhLBbPQ7nvts+go6THZU38SPqxHdoyqD6g+qDVDYzZHFPWInNw1X3/AKERkOPl5Ifvn/sjy++X4I824Vgu137CfffSQKBgQC5gIZ7e7pe6DJr98oSpARjBjsbyI6WB5S1CBsHVLL78IN4CqwTkgpaOsO8c4OOlo5FkSU3gPtxOpshKWq2Xy1IBDh3cpj70GMs8DINzA/lYR6/Y366Spavkk5IBHsVJ2bflTVPtIWUXjbL+jcyaXgZIZTUbZb4wPwgOFAM5oyXEwKBgDxwtW2qw16D7gTfDFbwV+yEdsB7a6oCA/nx/iZdq03ptpJWKg/v4OUvuh7yks7oAeSK2jY4aZeoU2ikyNtQMdnlEuu/NN6ro5hWQCou7aBaUlWTpjL1t530K/8piEBL7nHYGb3dfCcS/FsJstog4g+QrysS7iblqwpmqSXJf5jJAoGBAKmzxdPj3h0DCVWyq1+gQw8gXSTOtnrUVpvC3Y84UkGfx3YjNUb2HJhtGDIn7xub6m4EGesMCXuNpOuSizhqG++9RLcp1IDSJFixKOlsXMJ4tftbF01v/SiDjS/fQYaZtEgopUvUlzujcTfsIWDyEdfT2+b2lt3dFwqW2czjgYyXAoGASBOqGf21NSwB+RO/gPWuA/EeL8jI9SBc3V6VFvpkp8EH5+yzwXumTD9TTwOvaXpxMgjraRkCmNDwZmMpCU3ZHg9Pj+37bbIXJOBt8f1COTWf2uPp0GqVqSeWDOrJ/MQ6Mqmou/ifXvkhgExmo5ustu4v5WNE0WsYiGeVBMRejDE=
|
||||||
|
# # 线上支付宝公钥
|
||||||
|
# publicKey: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApcX0/YWkzEYO4Lki2ViFzezoIYq1AgOjc4lES59hmrJLJGWenCk/88M4SqKRj/6xPpsiMqe+GAzKRqZoCJvV1Cp5sqRaR/e+QyAqW8wDZbEKvnCK3lKB9W/8lntwzB1zGRDD9Tk1v5hcdXbCJ/hrg8REwlTSespeVD1+nnlKZbj14zvgmYM1SupYzmDw3SWArkf/OQDo6dnJGQkBOv92dDA2pzatUVkdKccctd35MEM7N88gjlHKcUJ1d95H3vij/zy4luV4ylHnxho7ZkZK4vh0v40Oqw/DUdpkbju4dcuBUXGrup+8/7A7ZSdqkf2XDvPW9PxGotQ4YvmCDt6izwIDAQAB
|
||||||
|
# notifyUrl: https://253d7236.r27.cpolar.top/ali/pay/notify
|
||||||
|
# # 线上支付宝网关
|
||||||
|
# gatewayUrl: https://openapi.alipay.com/gateway.do
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,8 @@ package com.mcwl.memberCenter.domain.vo;
|
||||||
|
|
||||||
import com.mcwl.memberCenter.domain.MemberBenefit;
|
import com.mcwl.memberCenter.domain.MemberBenefit;
|
||||||
import com.mcwl.memberCenter.domain.MemberLevel;
|
import com.mcwl.memberCenter.domain.MemberLevel;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
@ -14,7 +16,7 @@ import java.util.List;
|
||||||
public class MemberBenefitVO {
|
public class MemberBenefitVO {
|
||||||
|
|
||||||
// 会员等级
|
// 会员等级
|
||||||
private MemberLevel memberLevel;
|
private String memberLevelName;
|
||||||
|
|
||||||
// 会员权益
|
// 会员权益
|
||||||
private List<MemberBenefit> memberBenefitList = new ArrayList<>();
|
private List<MemberBenefit> memberBenefitList = new ArrayList<>();
|
||||||
|
|
|
@ -2,9 +2,12 @@ package com.mcwl.memberCenter.service;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.mcwl.memberCenter.domain.MemberBenefit;
|
import com.mcwl.memberCenter.domain.MemberBenefit;
|
||||||
|
import com.mcwl.memberCenter.domain.vo.MemberBenefitVO;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public interface MemberBenefitService extends IService<MemberBenefit> {
|
public interface MemberBenefitService extends IService<MemberBenefit> {
|
||||||
|
|
||||||
|
|
||||||
|
List<MemberBenefitVO> getMemberBenefitList();
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,14 +1,51 @@
|
||||||
package com.mcwl.memberCenter.service.impl;
|
package com.mcwl.memberCenter.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||||
|
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.memberCenter.domain.MemberBenefit;
|
import com.mcwl.memberCenter.domain.MemberBenefit;
|
||||||
|
import com.mcwl.memberCenter.domain.MemberLevel;
|
||||||
|
import com.mcwl.memberCenter.domain.vo.MemberBenefitVO;
|
||||||
import com.mcwl.memberCenter.mapper.MemberBenefitMapper;
|
import com.mcwl.memberCenter.mapper.MemberBenefitMapper;
|
||||||
import com.mcwl.memberCenter.service.MemberBenefitService;
|
import com.mcwl.memberCenter.service.MemberBenefitService;
|
||||||
|
import com.mcwl.memberCenter.service.MemberLevelService;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class MemberBenefitServiceImpl extends ServiceImpl<MemberBenefitMapper, MemberBenefit> implements MemberBenefitService {
|
public class MemberBenefitServiceImpl extends ServiceImpl<MemberBenefitMapper, MemberBenefit> implements MemberBenefitService {
|
||||||
|
|
||||||
|
private final MemberLevelService memberLevelService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<MemberBenefitVO> getMemberBenefitList() {
|
||||||
|
List<MemberBenefitVO> memberBenefitVOList = initList();
|
||||||
|
|
||||||
|
List<MemberLevel> memberLevelList = memberLevelService.list();
|
||||||
|
for (MemberLevel memberLevel : memberLevelList) {
|
||||||
|
MemberBenefitVO memberBenefitVO = new MemberBenefitVO();
|
||||||
|
memberBenefitVO.setMemberLevelName(memberLevel.getMemberName());
|
||||||
|
// 获取会员等级对应的权益
|
||||||
|
List<MemberBenefit> memberBenefitList = baseMapper.selectList(new LambdaQueryWrapper<MemberBenefit>()
|
||||||
|
.eq(MemberBenefit::getMemberLevelId, memberLevel.getId()));
|
||||||
|
|
||||||
|
memberBenefitVO.setMemberBenefitList(memberBenefitList);
|
||||||
|
memberBenefitVOList.add(memberBenefitVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
return memberBenefitVOList;
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<MemberBenefitVO> initList() {
|
||||||
|
List<MemberBenefitVO> memberBenefitVOList = new ArrayList<>();
|
||||||
|
MemberBenefitVO memberBenefitVO = new MemberBenefitVO();
|
||||||
|
memberBenefitVO.setMemberLevelName("会员权益");
|
||||||
|
memberBenefitVO.setMemberBenefitList(baseMapper.selectList(null));
|
||||||
|
memberBenefitVOList.add(memberBenefitVO);
|
||||||
|
return memberBenefitVOList;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,5 +13,5 @@ public interface AliPayService {
|
||||||
|
|
||||||
AjaxResult fetch(String outBizNo, String amount) throws AlipayApiException;
|
AjaxResult fetch(String outBizNo, String amount) throws AlipayApiException;
|
||||||
|
|
||||||
String balance(Long userId) throws AlipayApiException;
|
String balance() throws AlipayApiException;
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,14 +19,12 @@ import com.alipay.api.request.AlipayFundTransUniTransferRequest;
|
||||||
import com.alipay.api.request.AlipaySystemOauthTokenRequest;
|
import com.alipay.api.request.AlipaySystemOauthTokenRequest;
|
||||||
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.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.facetoface.models.AlipayTradePrecreateResponse;
|
import com.alipay.easysdk.payment.facetoface.models.AlipayTradePrecreateResponse;
|
||||||
import com.mcwl.common.core.domain.AjaxResult;
|
import com.mcwl.common.core.domain.AjaxResult;
|
||||||
import com.mcwl.common.core.domain.entity.SysUser;
|
import com.mcwl.common.core.domain.entity.SysUser;
|
||||||
import com.mcwl.common.core.redis.RedisCache;
|
import com.mcwl.common.core.redis.RedisCache;
|
||||||
import com.mcwl.common.exception.BusinessException;
|
|
||||||
import com.mcwl.common.exception.ServiceException;
|
import com.mcwl.common.exception.ServiceException;
|
||||||
import com.mcwl.common.utils.SecurityUtils;
|
import com.mcwl.common.utils.SecurityUtils;
|
||||||
import com.mcwl.common.utils.ShareCodeUtils;
|
import com.mcwl.common.utils.ShareCodeUtils;
|
||||||
|
@ -255,50 +253,42 @@ public class AliPayServiceImpl implements AliPayService {
|
||||||
|
|
||||||
// 收款方信息
|
// 收款方信息
|
||||||
Participant payeeInfo = new Participant();
|
Participant payeeInfo = new Participant();
|
||||||
payeeInfo.setIdentity(sysUserPayAccount.getOpenId());
|
|
||||||
|
// 沙箱环境
|
||||||
|
payeeInfo.setIdentity("2088722057445020");
|
||||||
payeeInfo.setIdentityType("ALIPAY_USER_ID");
|
payeeInfo.setIdentityType("ALIPAY_USER_ID");
|
||||||
|
|
||||||
|
// 线上环境
|
||||||
|
// payeeInfo.setIdentity(sysUserPayAccount.getOpenId());
|
||||||
|
// payeeInfo.setIdentityType("ALIPAY_OPEN_ID");
|
||||||
model.setPayeeInfo(payeeInfo);
|
model.setPayeeInfo(payeeInfo);
|
||||||
|
|
||||||
request.setBizModel(model);
|
request.setBizModel(model);
|
||||||
AlipayFundTransUniTransferResponse response = alipayClient.certificateExecute(request);
|
|
||||||
|
// 证书用:certificateExecute(request),密钥用:execute(request)
|
||||||
|
AlipayFundTransUniTransferResponse response = alipayClient.execute(request);
|
||||||
System.out.println(response.getBody());
|
System.out.println(response.getBody());
|
||||||
|
|
||||||
|
if (response.isSuccess()) {
|
||||||
|
// 记录日志和修改用户钱包
|
||||||
|
this.addLogAndUpdateUserWallet(sysUser, amount);
|
||||||
|
return AjaxResult.success("转账成功");
|
||||||
|
}
|
||||||
|
|
||||||
if (response.getSubCode().equals("PAYER_BALANCE_NOT_ENOUGH")) {
|
if (response.getSubCode().equals("PAYER_BALANCE_NOT_ENOUGH")) {
|
||||||
// 账户余额不足,发送邮件通知
|
// 账户余额不足,发送邮件通知
|
||||||
ArrayList<String> tos = CollUtil.newArrayList("2119157836@qq.com");
|
ArrayList<String> tos = CollUtil.newArrayList("2119157836@qq.com");
|
||||||
|
|
||||||
String content = String.format("账户余额不足:用户%s提现%s", sysUser.getUserName(), amount);
|
String content = String.format("账户余额不足:用户%s提现%s", sysUser.getUserName(), amount);
|
||||||
MailUtil.send(tos, "上海辰风互娱", content, false);
|
MailUtil.send(tos, "上海辰风互娱", content, false);
|
||||||
return AjaxResult.error("系统繁忙,请稍后重试");
|
throw new ServiceException("系统繁忙,请稍后重试");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
throw new ServiceException("转账失败:" + response.getSubMsg());
|
||||||
if (response.isSuccess()) {
|
|
||||||
System.out.println("调用成功");
|
|
||||||
BigDecimal wallet = new BigDecimal(sysUser.getWallet().toString());
|
|
||||||
BigDecimal amountBigDecimal = new BigDecimal(amount);
|
|
||||||
sysUser.setWallet(wallet.subtract(amountBigDecimal).doubleValue());
|
|
||||||
sysUserService.updateUser(sysUser);
|
|
||||||
|
|
||||||
// 添加记录
|
|
||||||
SysUserPayAccountLog sysUserPayAccountLog = new SysUserPayAccountLog();
|
|
||||||
sysUserPayAccountLog.setUserId(userId);
|
|
||||||
sysUserPayAccountLog.setAmount(Double.valueOf(amount));
|
|
||||||
sysUserPayAccountLog.setAccount("支付宝");
|
|
||||||
sysUserPayAccountLogService.save(sysUserPayAccountLog);
|
|
||||||
// response.getBody()
|
|
||||||
return AjaxResult.success("转账成功");
|
|
||||||
} else {
|
|
||||||
System.out.println("调用失败");
|
|
||||||
// sdk版本是"4.38.0.ALL"及以上,可以参考下面的示例获取诊断链接
|
|
||||||
String diagnosisUrl = DiagnosisUtils.getDiagnosisUrl(response);
|
|
||||||
System.out.println(diagnosisUrl);
|
|
||||||
return AjaxResult.error("转账失败:" + response.getMsg());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String balance(Long userId) throws AlipayApiException {
|
public String balance() throws AlipayApiException {
|
||||||
// 初始化SDK
|
// 初始化SDK
|
||||||
AlipayClient alipayClient = new DefaultAlipayClient(getAlipayConfig());
|
AlipayClient alipayClient = new DefaultAlipayClient(getAlipayConfig());
|
||||||
|
|
||||||
|
@ -306,17 +296,8 @@ public class AliPayServiceImpl implements AliPayService {
|
||||||
AlipayFundAccountQueryRequest request = new AlipayFundAccountQueryRequest();
|
AlipayFundAccountQueryRequest request = new AlipayFundAccountQueryRequest();
|
||||||
AlipayFundAccountQueryModel model = new AlipayFundAccountQueryModel();
|
AlipayFundAccountQueryModel model = new AlipayFundAccountQueryModel();
|
||||||
|
|
||||||
SysUserPayAccount sysUserPayAccount = sysUserPayAccountService
|
// 应用userId
|
||||||
.lambdaQuery()
|
model.setAlipayUserId("2088721057420516");
|
||||||
.eq(SysUserPayAccount::getUserId, userId)
|
|
||||||
.eq(SysUserPayAccount::getType, 0)
|
|
||||||
.one();
|
|
||||||
if (Objects.isNull(sysUserPayAccount)) {
|
|
||||||
return "fail";
|
|
||||||
}
|
|
||||||
|
|
||||||
// 设置支付宝openId
|
|
||||||
model.setAlipayOpenId("2021005114616085");
|
|
||||||
|
|
||||||
// 设置查询的账号类型
|
// 设置查询的账号类型
|
||||||
model.setAccountType("ACCTRANS_ACCOUNT");
|
model.setAccountType("ACCTRANS_ACCOUNT");
|
||||||
|
@ -377,6 +358,21 @@ public class AliPayServiceImpl implements AliPayService {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void addLogAndUpdateUserWallet(SysUser sysUser, String amount) {
|
||||||
|
BigDecimal wallet = new BigDecimal(sysUser.getWallet().toString());
|
||||||
|
BigDecimal amountBigDecimal = new BigDecimal(amount);
|
||||||
|
sysUser.setWallet(wallet.subtract(amountBigDecimal).doubleValue());
|
||||||
|
sysUserService.updateUser(sysUser);
|
||||||
|
|
||||||
|
// 添加记录
|
||||||
|
SysUserPayAccountLog sysUserPayAccountLog = new SysUserPayAccountLog();
|
||||||
|
sysUserPayAccountLog.setUserId(sysUser.getUserId());
|
||||||
|
sysUserPayAccountLog.setAmount(Double.valueOf(amount));
|
||||||
|
sysUserPayAccountLog.setAccount("支付宝");
|
||||||
|
sysUserPayAccountLogService.save(sysUserPayAccountLog);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private AlipayConfig getAlipayConfig() {
|
private AlipayConfig getAlipayConfig() {
|
||||||
String privateKey = aliConfig.getPrivateKey();
|
String privateKey = aliConfig.getPrivateKey();
|
||||||
String alipayPublicKey = aliConfig.getPublicKey();
|
String alipayPublicKey = aliConfig.getPublicKey();
|
||||||
|
|
Loading…
Reference in New Issue