From b60e601d62c0e2d5c4fd1df9f12fa09f2bf99987 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期一, 14 十月 2024 17:56:48 +0800 Subject: [PATCH] 调试支付 --- xinquan-api/xinquan-api-user/src/main/java/com/xinquan/user/api/domain/dto/UserChildDTO.java | 26 ++++ xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserWalletRecordController.java | 149 +++++++++++++++++------- xinquan-api/xinquan-api-system/src/main/java/com/xinquan/system/api/domain/vo/OrderDetailVO.java | 8 xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserController.java | 38 ++---- xinquan-api/xinquan-api-system/src/main/java/com/xinquan/system/api/domain/AppUser.java | 3 xinquan-modules/xinquan-order/src/main/java/com/xinquan/order/controller/client/ClientOrderController.java | 15 ++ xinquan-modules/xinquan-order/src/main/java/com/xinquan/order/utils/JuHeFuUtil.java | 77 ++++++++++-- 7 files changed, 229 insertions(+), 87 deletions(-) diff --git a/xinquan-api/xinquan-api-system/src/main/java/com/xinquan/system/api/domain/AppUser.java b/xinquan-api/xinquan-api-system/src/main/java/com/xinquan/system/api/domain/AppUser.java index 4dcfdae..cd25093 100644 --- a/xinquan-api/xinquan-api-system/src/main/java/com/xinquan/system/api/domain/AppUser.java +++ b/xinquan-api/xinquan-api-system/src/main/java/com/xinquan/system/api/domain/AppUser.java @@ -136,6 +136,9 @@ @ApiModelProperty(value = "邀请人id") @TableField("invite_user_id") private Long inviteUserId; + @ApiModelProperty(value = "绑定邀请人时间") + @TableField("invite_user_time") + private LocalDateTime inviteUserTime; @ApiModelProperty(value = "余额") @TableField("balance") diff --git a/xinquan-api/xinquan-api-system/src/main/java/com/xinquan/system/api/domain/vo/OrderDetailVO.java b/xinquan-api/xinquan-api-system/src/main/java/com/xinquan/system/api/domain/vo/OrderDetailVO.java index 1c4d8e3..9052cb8 100644 --- a/xinquan-api/xinquan-api-system/src/main/java/com/xinquan/system/api/domain/vo/OrderDetailVO.java +++ b/xinquan-api/xinquan-api-system/src/main/java/com/xinquan/system/api/domain/vo/OrderDetailVO.java @@ -33,9 +33,11 @@ private LocalDateTime paymentTime; @ApiModelProperty(value = "流水单号") private String payOrderNo; - @ApiModelProperty(value = "提现方式") - private String withdraw; - @ApiModelProperty(value = "备注") + @ApiModelProperty(value = "提现方式 提现方式 1=银行卡提现 2=微信提现 3=支付宝提现") + private Integer withdrawType; + @ApiModelProperty(value = "充值方式 提现方式 1=微信 2=支付宝 3=余额 4=苹果内购") + private Integer payType; + @ApiModelProperty(value = "来源备注") private String remark; @ApiModelProperty(value = "下级用户名称 当类型为佣金的时候展示") private String userName; diff --git a/xinquan-api/xinquan-api-user/src/main/java/com/xinquan/user/api/domain/dto/UserChildDTO.java b/xinquan-api/xinquan-api-user/src/main/java/com/xinquan/user/api/domain/dto/UserChildDTO.java new file mode 100644 index 0000000..dd13d64 --- /dev/null +++ b/xinquan-api/xinquan-api-user/src/main/java/com/xinquan/user/api/domain/dto/UserChildDTO.java @@ -0,0 +1,26 @@ +package com.xinquan.user.api.domain.dto; + +import com.xinquan.common.core.web.page.BasePage; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author mitao + * @date 2024/9/7 + */ +@Data +@ApiModel(value = "管理后台下级用户DTO") +public class UserChildDTO extends BasePage { + @ApiModelProperty(value = "用户昵称") + private String nickName; + @ApiModelProperty(value = "用户手机号") + private String cellPhone; + @ApiModelProperty(value = "用户状态 1=正常 2=冻结 3=注销") + private String userStatus; + @ApiModelProperty(value = "操作时间 2020-11-11 - 2021-11-11") + private String time; + @ApiModelProperty(value = "用户uid") + private String uid; + +} diff --git a/xinquan-modules/xinquan-order/src/main/java/com/xinquan/order/controller/client/ClientOrderController.java b/xinquan-modules/xinquan-order/src/main/java/com/xinquan/order/controller/client/ClientOrderController.java index 449f193..c75f4d5 100644 --- a/xinquan-modules/xinquan-order/src/main/java/com/xinquan/order/controller/client/ClientOrderController.java +++ b/xinquan-modules/xinquan-order/src/main/java/com/xinquan/order/controller/client/ClientOrderController.java @@ -1,6 +1,7 @@ package com.xinquan.order.controller.client; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.xinquan.common.core.domain.R; import com.xinquan.common.core.utils.page.BeanUtils; @@ -25,8 +26,14 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.PrintWriter; import java.math.BigDecimal; +import java.util.Date; import java.util.List; +import java.util.Map; /** * <p> @@ -145,6 +152,12 @@ throw new RuntimeException(e); } } + @ResponseBody + @PostMapping("/testCallback") + public void wechatPaymentGameCallback(HttpServletRequest request, HttpServletResponse response) throws Exception { + System.err.println("进入回调"); + + } /** * 远程调用 根据用户id 查询充值金额 */ @@ -185,6 +198,7 @@ case 3: one.setRemark("苹果内购"); } + one.setPayOrderNo(two.getPayOrderNo()); } if (one.getCommissionId()!=null){ switch (one.getOrderFrom()){ @@ -200,6 +214,7 @@ one.setRemark("充值"); } } + return R.ok(one); } return R.ok(); diff --git a/xinquan-modules/xinquan-order/src/main/java/com/xinquan/order/utils/JuHeFuUtil.java b/xinquan-modules/xinquan-order/src/main/java/com/xinquan/order/utils/JuHeFuUtil.java index 7761b0b..7132651 100644 --- a/xinquan-modules/xinquan-order/src/main/java/com/xinquan/order/utils/JuHeFuUtil.java +++ b/xinquan-modules/xinquan-order/src/main/java/com/xinquan/order/utils/JuHeFuUtil.java @@ -10,14 +10,19 @@ import com.xinquan.common.core.utils.StringUtils; import java.security.KeyFactory; import java.security.PrivateKey; +import java.security.PublicKey; import java.security.Signature; import java.security.spec.PKCS8EncodedKeySpec; +import java.security.spec.X509EncodedKeySpec; import java.util.Base64; import java.util.HashMap; import java.util.Map; import java.util.TreeMap; import org.slf4j.Logger; import org.slf4j.LoggerFactory; + +import javax.crypto.Cipher; +import javax.crypto.spec.SecretKeySpec; /** * 桔禾付支付工具类 @@ -29,15 +34,15 @@ private static Logger logger = LoggerFactory.getLogger(JuHeFuUtil.class); // 商户RSA私钥 TODO - private static final String MERCHANT_PRIVATE_KEY = ""; + private static final String MERCHANT_PRIVATE_KEY = "MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAMQPsMj4OYgjHFWS8wDIQOoMeAx9Ad1wKfIks7Oz5Kw8EVnmZ9o1ZY14goMMr1vJo/XxLLYXDvwj+EhV4MqT6ji2QDVqlhA4f6WFFmKOsvxgNnu0zAysfDpVpYihWC5uOf4ece9fWVci8DYFeXcawYGNB6GrJuo186sqMYwkE90/AgMBAAECgYAnMvfmhnKCPHraxSGeo2sPIGUUIh4wVs+cIShoomvy36OcdMuIvipKqbB2YR/iWyNT9d85nMybLtniJIFoH0CxshmLH/yg31vYhyLfVyih1RVFBRYuDMnIjvmNTBgXM/9vaAwkzonIQnoFoLVjxK2+JIFY+86Iak1Cv/vEi1vaSQJBAPRwebK51NBfrnO+2HY9nuDvbZbSx9I8uR+Yw/ebDUmbow/Dacibl0Hha+fw6cy5I3Rlm2kk5fKXIDIkwyLVq80CQQDNVXuQ8kXrDR0WjPcYPnwKNPEd0EHOKFiT7OqwoMFUUROyajO2nWs80eiZYZ+6M6+LEvYT6KcSiyiIwREnh1k7AkBV3BwjNzsVZkZ0yZhnEAX6pJ8t1yPxKPstqg9Lrd7g+BYyt0U0/dIHhhLNCcZV7sIRZI9OQ3Ox3nukoV0Zo0wRAkBT1eEbry+I5tPHj0qb5Xczm6YOrCcSCzsPOp4f+6Kz0F6ga+gtWVyden7jkQ5sMgosWFOMkWMVmSe1nk5ou0RdAkEAzfJJavQgu+BGQwqS1EojlXKe0GmpbQu+HwuDKcHmju0P2qGQ2yPfvURg1dMp7tmBM8AlVJhgzkNuyUAN1J841w=="; // 平台RSA公钥 TODO - private static final String PLAT_PUBLIC_KEY = ""; + private static final String PLAT_PUBLIC_KEY = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDOKBBFXirWIJth+SNJCY4mhbATbL60sKV66bRixHMVz8vpBqONio9X6A+Pm9LNutBe+hLpI1BMmFJk3Mb1/QEcklWptRGgHqIrBxR4b19qc/2/pSxyqlpaifYJFZhOg2+OcQ/fqpAmhNXN5uc1pcYvbvWTam0j+6+nBNQeAAku5QIDAQAB"; // 应用的app_id TODO - private static final String APP_ID = ""; + private static final String APP_ID = "app_10024101201"; // 商户id TODO - private static final String MER_ID = ""; + private static final String MER_ID = "1120241012072667"; // AES密钥 TODO - private static final String AES_KEY = ""; + private static final String AES_KEY = "cb0a181ac97395c6942be19315fc0727"; // 创建用户接口 private static final String CREATE_USER_INTERFACE = "/api/member/create_user_a"; // 创建支付订单 @@ -46,7 +51,7 @@ private static final String PAYMENT_REFUND_INTERFACE = "/api/payment/payment_refund"; private static final String MERCHANT_PAY_INTERFACE = "/api/account/merchant_pay"; // 接口地址 TODO - private static final String BASE_URL = ""; + private static final String BASE_URL = "http://paytest.juhefu.com/"; // 支付宝支付渠道 private static final String PAY_CHANNEL_ALIPAY = "alipay_qr"; // 微信支付渠道 @@ -92,6 +97,11 @@ return false; } + public static void main(String[] args) throws Exception { + createPayment("MX123aaa9999911",1, "0.01", + "测试商品", "测试商品描述", + "221.182.45.100", "oG50n6Vf0JNid5DOg0brcAnZ0T4s", "https://v7ro848ar5jx.ngrok.xiaomiqiu123.top/order/client/order/order/testCallback"); + } /** * 创建支付订单 * @@ -113,7 +123,6 @@ JSONObject expand = new JSONObject(); data.put("order_no", orderNo); data.put("app_id", APP_ID); - data.put("mer_id", MER_ID); if (payChannel == 1) { data.put("pay_channel", PAY_CHANNEL_ALIPAY); } else { @@ -134,16 +143,22 @@ body.put("sign", sign(JSONObject.toJSONString(data))); body.put("reqCipher", EncryptUtils.aes256ECBPkcs7PaddingEncrypt(JSONObject.toJSONString(data), AES_KEY)); - body.put("reqTime", DateUtils.dateTimeNow("yyyyMMddHHmmssfff")); + body.put("reqTime", DateUtils.dateTimeNow("yyyyMMddHHmmsssss")); String result = sendPost(BASE_URL + CREATE_PAYMENT_INTERFACE, body); JSONObject resJsonObject = JSONObject.parseObject(result); - if (resJsonObject.getString("status").equals("failed")) { - throw new ServiceException(resJsonObject.getString("error_msg")); - } - if (resJsonObject.getString("status").equals("succeeded")) { - return resJsonObject.getJSONObject("expand"); - } - return null; + System.err.println(resJsonObject); + String string = resJsonObject.getString("resCipher"); + String decrypt = decrypt(string); + System.err.println(decrypt); + JSONObject jsonObject = JSONObject.parseObject(decrypt); + +// if (resJsonObject.getString("status").equals("failed")) { +// throw new ServiceException(resJsonObject.getString("error_msg")); +// } +// if (resJsonObject.getString("status").equals("succeeded")) { +// return resJsonObject.getJSONObject("expand"); +// } + return jsonObject.getJSONObject("expand"); } /** @@ -198,7 +213,7 @@ body.put("sign", sign(JSONObject.toJSONString(data))); body.put("reqCipher", EncryptUtils.aes256ECBPkcs7PaddingEncrypt(JSONObject.toJSONString(data), AES_KEY)); - body.put("reqTime", DateUtils.dateTimeNow("yyyyMMddHHmmssfff")); + body.put("reqTime", DateUtils.dateTimeNow("yyyyMMddHHmmss")); String result = sendPost(BASE_URL + MERCHANT_PAY_INTERFACE, body); JSONObject resJsonObject = JSONObject.parseObject(result); if (resJsonObject.getString("status").equals("succeeded")) { @@ -233,6 +248,7 @@ } + /** * RSA私钥签名:签名方式SHA256WithRSA * @@ -243,7 +259,6 @@ public static String sign(String data) { // 先对该json对象数据按照参数字典顺序(参数名ASCII码从小到大排序,参数名区分大小写)排序生成字符串,再进行加签和验签。 data = JSON.toJSONString(JSONObject.parseObject(data, TreeMap.class)); - // Base64 --> Key try { byte[] bytes = Base64.getDecoder().decode(MERCHANT_PRIVATE_KEY); @@ -261,5 +276,33 @@ return null; } } + public static String decrypt(String strToDecrypt) { + try { + SecretKeySpec secretKey = new SecretKeySpec(AES_KEY.getBytes(), "AES"); + Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding"); + cipher.init(Cipher.DECRYPT_MODE, secretKey); + return new String(cipher.doFinal(Base64.getDecoder().decode(strToDecrypt))); + } catch (Exception e) { + System.out.println("Error while decrypting: " + e.toString()); + } + return null;} +// public static boolean verify(String data, String publicKeyStr) { +// try { +// // 解码公钥 +// byte[] publicKeyBytes = Base64.getDecoder().decode(publicKeyStr); +// X509EncodedKeySpec keySpec = new X509EncodedKeySpec(publicKeyBytes); +// KeyFactory keyFactory = KeyFactory.getInstance("RSA"); +// PublicKey publicKey = keyFactory.generatePublic(keySpec); +// // 验证签名 +// Signature signature = Signature.getInstance("SHA256WithRSA"); +// signature.initVerify(publicKey); +// signature.update(data.getBytes("UTF-8")); +// +// return true; +// } catch (Exception e) { +// e.printStackTrace(); +// return false; +// } +// } } diff --git a/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserController.java b/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserController.java index 70d639d..5842e00 100644 --- a/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserController.java +++ b/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserController.java @@ -95,21 +95,12 @@ @Resource private RemoteUserService remoteUserService; public static void main(String[] args) { -// LocalDateTime dateTime = LocalDateTime.now(); -// DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); -// String formattedDateTime = dateTime.format(formatter); -// System.err.println(formattedDateTime); // 收件人电子邮箱,TODO 换成自己的收件箱 String to = "443237572@qq.com"; - // 发件人电子邮箱,TODO 换成自己的发件箱 String from = "13281306557@163.com"; - // 指定发送邮件的主机为 String host = "smtp.163.com"; - - // 获取系统属性 - //Properties properties = System.getProperties(); Properties properties = new Properties(); // 设置邮件服务器 properties.setProperty("mail.smtp.host", host); @@ -142,37 +133,30 @@ InternetAddress toMail2 = new InternetAddress("443237572@qq.com"); //发一个邮箱 // message.setRecipient(Message.RecipientType.TO, toMail); - //发多个邮箱 Address[] allRecipients = {toMail, toMail2}; message.setRecipients(Message.RecipientType.TO, allRecipients); - // Set Subject: 邮件主体 message.setSubject("明星电力"); - // 设置消息体 message.setSentDate(new Date()); - // 指定为混合关系 MimeMultipart msgMultipart = new MimeMultipart("mixed"); message.setContent(msgMultipart); - // 邮件信息组装 //组装的顺序非常重要,一定要先组装文本域,再组装文件 MimeBodyPart htmlPart = new MimeBodyPart(); // 组装内容 htmlPart.setContent("This is message content", "text/html;charset=UTF-8"); msgMultipart.addBodyPart(htmlPart); - // 组装附件 MimeBodyPart filePart = new MimeBodyPart(); - String imageUrl = "http://221.182.45.100:8090/2024-10-10/04-18-09-0466d831fc6365571080.pdf"; + String imageUrl = "https://xqgwzh.obs.cn-south-1.myhuaweicloud.com/xinquan/b176cf9af35d4773a276e55b7afe3b63.mp4"; try { // 下载数据 URL url = new URL(imageUrl); InputStream inputStream = url.openStream(); byte[] imageBytes = IOUtils.toByteArray(inputStream); - // 创建临时文件 // 截取imageUrl后缀名 String fileExtension = imageUrl.substring(imageUrl.lastIndexOf(".")); @@ -180,7 +164,6 @@ try (FileOutputStream fos = new FileOutputStream(tempFile)) { fos.write(imageBytes); } - // 创建 FileDataSource FileDataSource fileDataSource = new FileDataSource(tempFile); System.out.println("FileDataSource created: " + fileDataSource.getName()); @@ -650,19 +633,26 @@ // 查询登录用户邀请了哪些人 List<Long> collect = page.getRecords().stream().map(AppUser::getId).collect(Collectors.toList()); if (collect.isEmpty())return R.ok(PageDTO.empty(page)); - StringBuilder stringBuilder = new StringBuilder(); - collect.forEach(id -> stringBuilder.append(id).append(",")); - // 去除最后一位 - StringBuilder stringBuilder1 = stringBuilder.deleteCharAt(stringBuilder.length() - 1); - String[] split = stringBuilder1.toString().split(","); for (int i = 0; i < page.getRecords().size(); i++) { AppUser appUser = page.getRecords().get(i); - appUser.setMoney(new BigDecimal(split[i])); + // 查询该给用户带来收益 + List<AppUserWalletRecord> list = appUserWalletRecordService.lambdaQuery().eq(AppUserWalletRecord::getAppUserId, userId) + .eq(AppUserWalletRecord::getChildAppUserId,appUser.getUserId()).list(); + BigDecimal bigDecimal = new BigDecimal("0"); + for (AppUserWalletRecord appUserWalletRecord : list) { + if (appUserWalletRecord.getAmount()!=null && appUserWalletRecord.getChangeType() == 1){ + bigDecimal = bigDecimal.add(appUserWalletRecord.getAmount()); + } + } + appUser.setMoney(bigDecimal); + } // 根据佣金金额 从大到小排序 page.getRecords().sort((o1, o2) -> o2.getMoney().compareTo(o1.getMoney())); return R.ok(PageDTO.of(page, InviteRankListVO.class)); } + @Resource + private AppUserWalletRecordService appUserWalletRecordService; /** * 爱心助力榜单-分页 * diff --git a/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserWalletRecordController.java b/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserWalletRecordController.java index 12a7eed..5c3be95 100644 --- a/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserWalletRecordController.java +++ b/xinquan-modules/xinquan-user/src/main/java/com/xinquan/user/controller/client/ClientAppUserWalletRecordController.java @@ -12,15 +12,19 @@ import com.xinquan.order.api.feign.RemoteOrderService; import com.xinquan.system.api.domain.AppUser; import com.xinquan.system.api.domain.AppUserWalletRecord; +import com.xinquan.system.api.domain.AppUserWithdraw; import com.xinquan.system.api.domain.vo.InviteRankListVO; import com.xinquan.system.api.domain.vo.OrderDetailVO; import com.xinquan.system.api.domain.vo.OrderListVO; import com.xinquan.user.api.domain.dto.UserBalanceDetailDTO; +import com.xinquan.user.api.domain.dto.UserChildDTO; import com.xinquan.user.service.AppUserService; import com.xinquan.user.service.AppUserWalletRecordService; +import com.xinquan.user.service.AppUserWithdrawService; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; +import org.springframework.expression.spel.ast.OpNE; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; @@ -45,7 +49,48 @@ @Resource private AppUserWalletRecordService walletRecordService; @Resource + private AppUserWithdrawService appUserWithdrawService; + @Resource + private AppUserWalletRecordService appUserWalletRecordService; + @Resource private RemoteOrderService remoteOrderService; + @PostMapping("/childUserList") + @ApiOperation(value = "用户详情-下级用户列表",tags = "管理后台-用户管理") + public R<PageDTO<AppUser>> childUserList(@RequestBody UserChildDTO dto) { + String startTime = null; + String endTime = null; + if (org.springframework.util.StringUtils.hasLength(dto.getTime())){ + String[] split = dto.getTime().split(" - "); + startTime = split[0]+"00:00:00"; + endTime = split[1]+"23:59:59"; + } + String userId = dto.getUid(); + LambdaQueryWrapper<AppUser> appUserWalletRecordLambdaQueryWrapper = new LambdaQueryWrapper<>(); + appUserWalletRecordLambdaQueryWrapper.between(startTime!=null,BaseModel::getCreateTime,startTime,endTime); + appUserWalletRecordLambdaQueryWrapper.eq(AppUser::getInviteUserId, userId); + appUserWalletRecordLambdaQueryWrapper.like(StringUtils.hasLength(dto.getCellPhone()),AppUser::getCellPhone,dto.getCellPhone()); + appUserWalletRecordLambdaQueryWrapper.like(StringUtils.hasLength(dto.getNickName()),AppUser::getNickname,dto.getNickName()); + appUserWalletRecordLambdaQueryWrapper.orderByDesc(BaseModel::getCreateTime); + Page<AppUser> page = appUserService + .page(new Page<>(dto.getPageCurr(), dto.getPageSize()),appUserWalletRecordLambdaQueryWrapper); + if (CollUtils.isEmpty(page.getRecords())){ + PageDTO<AppUser> empty = PageDTO.empty(page); + return R.ok(empty); + } + for (AppUser record : page.getRecords()) { + // 查询该用户带来收益 + List<AppUserWalletRecord> list = appUserWalletRecordService.lambdaQuery().eq(AppUserWalletRecord::getAppUserId, record.getId()) + .eq(AppUserWalletRecord::getChildAppUserId, record.getUserId()).list(); + BigDecimal bigDecimal = new BigDecimal("0"); + for (AppUserWalletRecord appUserWalletRecord : list) { + if (appUserWalletRecord.getAmount()!=null && appUserWalletRecord.getChangeType() == 1){ + bigDecimal = bigDecimal.add(appUserWalletRecord.getAmount()); + } + record.setMoney(bigDecimal); + } + } + return R.ok(PageDTO.of(page, AppUser.class)); + } @PostMapping("/userBalanceList") @ApiOperation(value = "用户详情-余额明细",tags = "管理后台-用户管理") public R<PageDTO<OrderListVO>> userBalanceList(@RequestBody UserBalanceDetailDTO dto) { @@ -114,33 +159,34 @@ AppUserWalletRecord byId = walletRecordService.getById(uid); if (byId.getOrderId()!=null){ if (byId.getReason().equals("提现")){ - // 远程查询提现记录 + AppUserWithdraw byId1 = appUserWithdrawService.getById(byId.getOrderId()); orderDetailVO.setType("提现"); + orderDetailVO.setPayOrderNo(byId1.getSerialNo()); + orderDetailVO.setWithdrawType(byId1.getWithdrawType()); + orderDetailVO.setAmount(byId1.getAmount()); + orderDetailVO.setChangeType(byId.getChangeType()); + orderDetailVO.setPaymentTime(byId1.getUpdateTime()); }else if (byId.getReason().equals("充值")){ Order one = remoteOrderService.getOrderById(byId.getOrderId()).getData(); if (byId.getChildAppUserId() == null && one!=null){ - if (one.getOrderFrom()!=null){ - switch (one.getOrderFrom()){ - case 1: - orderDetailVO.setType("购买疗愈"); - break; - case 2: - orderDetailVO.setType("购买课程"); - break; - case 3: - orderDetailVO.setType("购买会员"); - break; - case 4: - orderDetailVO.setType("充值"); - break; - } - } + orderDetailVO.setType("充值"); + orderDetailVO.setPayType(one.getPayType()); + orderDetailVO.setPayOrderNo(one.getPayOrderNo()); orderDetailVO.setRemark(one.getRemark()); + orderDetailVO.setChangeType(byId.getChangeType()); + orderDetailVO.setAmount(byId.getAmount()); orderDetailVO.setPaymentTime(one.getPaymentTime()); return R.ok(orderDetailVO); - }else if (byId.getChildAppUserId()!=null && one!=null){ + } + }else if (byId.getReason().equals("分佣收益")){ + Order one = remoteOrderService.getOrderById(byId.getOrderId()).getData(); + if (byId.getChildAppUserId()!=null && one!=null){ orderDetailVO.setType("分佣"); orderDetailVO.setPayOrderNo(one.getPayOrderNo()); + orderDetailVO.setPaymentTime(byId.getCreateTime()); + orderDetailVO.setChangeType(byId.getChangeType()); + orderDetailVO.setAmount(byId.getAmount()); + orderDetailVO.setRemark(one.getRemark()); if (one.getCommissionId()!=null){ AppUser appUserById = appUserService.getById(one.getCommissionId()); orderDetailVO.setUserName(appUserById.getNickname()); @@ -148,12 +194,19 @@ } return R.ok(new OrderDetailVO()); } - }else if (byId.getReason().equals("分佣收益")){ - }else if (byId.getReason().equals("提现回退")){ + AppUserWithdraw byId1 = appUserWithdrawService.getById(byId.getOrderId()); + orderDetailVO.setType("提现回退"); + orderDetailVO.setPayOrderNo(byId1.getSerialNo()); + orderDetailVO.setWithdrawType(byId1.getWithdrawType()); + orderDetailVO.setAmount(byId1.getAmount()); + orderDetailVO.setChangeType(byId.getChangeType()); + orderDetailVO.setPaymentTime(byId1.getUpdateTime()); + return R.ok(new OrderDetailVO()); + + } } - } - return R.ok(); + return R.ok(orderDetailVO); } @PostMapping("/balanceDetail") @@ -168,34 +221,34 @@ AppUserWalletRecord byId = walletRecordService.getById(id); if (byId.getOrderId()!=null){ if (byId.getReason().equals("提现")){ - // 远程查询提现记录 + AppUserWithdraw byId1 = appUserWithdrawService.getById(byId.getOrderId()); orderDetailVO.setType("提现"); - }else{ + orderDetailVO.setPayOrderNo(byId1.getSerialNo()); + orderDetailVO.setWithdrawType(byId1.getWithdrawType()); + orderDetailVO.setAmount(byId1.getAmount()); + orderDetailVO.setChangeType(byId.getChangeType()); + orderDetailVO.setPaymentTime(byId1.getUpdateTime()); + }else if (byId.getReason().equals("充值")){ Order one = remoteOrderService.getOrderById(byId.getOrderId()).getData(); if (byId.getChildAppUserId() == null && one!=null){ - orderDetailVO.setId(id); - if (one.getOrderFrom()!=null){ - switch (one.getOrderFrom()){ - case 1: - orderDetailVO.setType("购买疗愈"); - break; - case 2: - orderDetailVO.setType("购买课程"); - break; - case 3: - orderDetailVO.setType("购买会员"); - break; - case 4: - orderDetailVO.setType("充值"); - break; - } - } + orderDetailVO.setType("充值"); + orderDetailVO.setPayType(one.getPayType()); + orderDetailVO.setPayOrderNo(one.getPayOrderNo()); orderDetailVO.setRemark(one.getRemark()); + orderDetailVO.setChangeType(byId.getChangeType()); + orderDetailVO.setAmount(byId.getAmount()); orderDetailVO.setPaymentTime(one.getPaymentTime()); return R.ok(orderDetailVO); - }else if (byId.getChildAppUserId()!=null && one!=null){ + } + }else if (byId.getReason().equals("分佣收益")){ + Order one = remoteOrderService.getOrderById(byId.getOrderId()).getData(); + if (byId.getChildAppUserId()!=null && one!=null){ orderDetailVO.setType("分佣"); orderDetailVO.setPayOrderNo(one.getPayOrderNo()); + orderDetailVO.setPaymentTime(byId.getCreateTime()); + orderDetailVO.setChangeType(byId.getChangeType()); + orderDetailVO.setAmount(byId.getAmount()); + orderDetailVO.setRemark(one.getRemark()); if (one.getCommissionId()!=null){ AppUser appUserById = appUserService.getById(one.getCommissionId()); orderDetailVO.setUserName(appUserById.getNickname()); @@ -203,9 +256,19 @@ } return R.ok(new OrderDetailVO()); } + }else if (byId.getReason().equals("提现回退")){ + AppUserWithdraw byId1 = appUserWithdrawService.getById(byId.getOrderId()); + orderDetailVO.setType("提现回退"); + orderDetailVO.setPayOrderNo(byId1.getSerialNo()); + orderDetailVO.setWithdrawType(byId1.getWithdrawType()); + orderDetailVO.setAmount(byId1.getAmount()); + orderDetailVO.setChangeType(byId.getChangeType()); + orderDetailVO.setPaymentTime(byId1.getUpdateTime()); + return R.ok(new OrderDetailVO()); + } } - return R.ok(); + return R.ok(orderDetailVO); } } -- Gitblit v1.7.1