版本更新

pull/2/head
shaowenhao 2023-10-30 11:17:18 +08:00
parent 6e4913b2b5
commit efb8a51579
13 changed files with 80 additions and 991 deletions

View File

@ -128,7 +128,7 @@
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>health-api-mybasic</artifactId>
<version>3.6.4</version>
<version>3.6.6</version>
</dependency>
<dependency>

View File

@ -1,46 +0,0 @@
package com.ruoyi.mybasic.common.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
/**
*
* @author Lou_Zs
*/
@Data
public class Purse {
/**
*
*/
private Long userId;
/**
*
*/
private Integer walletIncome;
/**
*
*/
private Integer walletOutcome;
/**
*
*/
private Integer balanceFee;
/**
*
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date updateTime;
/**
*
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date createTime;
}

View File

@ -1,232 +0,0 @@
package com.ruoyi.mybasic.controller;
import com.alipay.api.AlipayApiException;
import com.alipay.api.internal.util.AlipaySignature;
import com.alipay.api.response.AlipayTradePagePayResponse;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.mybasic.common.domain.request.BankId;
import com.ruoyi.mybasic.common.domain.request.InvitationRecordRequest;
import com.ruoyi.mybasic.common.domain.request.MoneyTypeRequest;
import com.ruoyi.mybasic.common.domain.request.PurseRequest;
import com.ruoyi.mybasic.common.domain.response.BankResponse;
import com.ruoyi.mybasic.common.domain.response.MoneyLogsResponse;
import com.ruoyi.mybasic.common.domain.response.MoneyWithdrawResponse;
import com.ruoyi.mybasic.common.domain.response.PurseResponse;
import com.ruoyi.mybasic.fegin.feignServiceTemplate;
import com.ruoyi.mybasic.service.PurseService;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @ClassName ListController
* @Description
* @Author WenHao.Sao
*/
/**
* --->
*/
@RestController
@RequestMapping("/purseOld")
@Log4j2
public class PurseController {
@Autowired
private PurseService purseService;
public static String SING_TYPE="RSA2";
//沙盒应用秘钥
public static String ZFB__PUBLIC_KEY="MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2lFwux/DoHe9xYh0snVBf0noHCaj4sbfy3blEIrffrlE+9WO3e1yUJac7MVo9/r4oLU1rJigTR67e21eCgF02HQCcoMj+EgSdoOUHiOVUuAxZa2kc00HORpdSbchBptpOXzov4m22hDRIdL1EpJBVWEtp+HVACFr6YvO7VUIc/FPKYX0nYW+gTBdmuKPhKatgduv8JTAkPoXx81H01xGqmJQN3lE0nuCanOzdL/NuD7PkQV5g7aRCpaoe9uz7nIIWX+igxcJkdn5GJsijSep12EWyosQkcdwfSnIhyYNf4+XSwQgDcL5IuHG3wtt+T5Aqq0T2Ec0GIPIHcJcDJWAGQIDAQAB";
//沙盒
public static String APP_ID="9021000129639518";
/**
* IDH
* 访
*/
@PostMapping("/purseList/{userId}")
public R<PurseResponse> purseList(@PathVariable String userId){
Long userId1 = SecurityUtils.getUserId();
R<PurseResponse> show = purseService.show(userId);
return show;
}
/**
* userId
*/
@PostMapping("/bankId/{userId}}")
public R<List<BankResponse>> bankId(@PathVariable String userId){
return purseService.bankId(userId);
}
/**
*
*/
@PostMapping("/bankId/{userId}")
public R<BankResponse> bankIdUserId(@PathVariable String userId){
return purseService.bankIdUserId(userId);
}
/**
*
* id
*/
@GetMapping("/moneyList/{userId}")
public R<List<MoneyLogsResponse>> moneyList(@PathVariable String userId){
return purseService.moneyList(userId);
}
/**
*
* user_id
*/
@GetMapping("/moneyTypeList/{userId}")
public R<List<MoneyTypeRequest>> moneyTypeList(@PathVariable String userId){
return purseService.moneyTypeList(userId);
}
/**
*
* Id
*/
@GetMapping("/moneyWithdrawLog/{userId}")
public R<List<MoneyWithdrawResponse>> moneyWithdrawLog(@PathVariable String userId){
return purseService.moneyWithdrawLog(userId);
}
/**
* user_id
*/
@PostMapping("/updPurse")
public R updPurse(@RequestBody PurseRequest purseRequest){
return purseService.updPurse(purseRequest);
}
/**
* H
* H
* H100
* H
*
*/
@PostMapping("/purseWithdraw")
public R purseWithdraw(@RequestBody BankId bankId){
return purseService.purseWithdraw(bankId);
}
/***15670603477
*
*/
@PostMapping("/upload")
public R upload(@RequestParam("file") MultipartFile file){
return purseService.upload(file);
}
/**
* id
* id 300H
*
*/
@PostMapping("/invitationRecord")
public R<List<InvitationRecordRequest>> invitationRecord(@RequestBody InvitationRecordRequest invitationRecord){
return purseService.in(invitationRecord);
}
/**
*
* */
@GetMapping("/aliPay/{amount}")
public String aliPay(@PathVariable String amount) throws Exception{
AlipayTradePagePayResponse pay = null;
BankId order = feignServiceTemplate.findOrderByOrderSn(amount);
try {
//标题,金额,描述
// pay = Factory.Payment.Page().pay("充值", String.valueOf(order.getAmount()), order.getBillId(), "");
} catch (Exception e) {
e.printStackTrace();
log.info("支付宝付款调用失败,原因:" + e.getMessage());
}
log.info("支付成功:" + pay.getBody());
return pay.getBody();
}
/**
*
* */
@PostMapping("/getNotify")
public String getNotifyUrlInfo(HttpServletRequest request, HttpServletResponse response) throws Exception {
log.info("收到支付宝异步回调");
HashMap<String, String> paramters = new HashMap<>();
Map<String, String[]> requestParams = request.getParameterMap();
System.out.println(requestParams.toString());
for (Map.Entry<String, String[]> entry : requestParams.entrySet()) {
String key = entry.getKey();
String[] value = entry.getValue();
String valuesStr="";
for (int i = 0; i < value.length; i++) {
valuesStr=(i==value.length-1)?valuesStr+value[i]:valuesStr+value[i]+",";
}
paramters.put(key,valuesStr);
}
String appId = request.getParameter("app_id");
String merchantOrderNo = request.getParameter("out_trade_no");
String tradeNo = request.getParameter("trade_no");
try{
String payState = request.getParameter("trade_status");
BigDecimal totalAmount = new BigDecimal(request.getParameter("total_amount"));
BigDecimal receiptAmount = new BigDecimal(request.getParameter("receipt_amount"));
log.info("交易状态:{},支付金额:{},实际金额为:{}",payState,tradeNo,receiptAmount);
boolean signVerified = AlipaySignature.rsaCheckV1(paramters, ZFB__PUBLIC_KEY, "UTF-8", SING_TYPE);
if(signVerified && APP_ID.equals(appId) && "TRADE_SUCCESS".equals(payState)){
System.out.println("成功返回");
feignServiceTemplate.payMoney(Long.valueOf(merchantOrderNo));
return "success";
}else{
}
}catch (AlipayApiException e){
log.error(e.getErrMsg());
throw new ServiceException("调用支付宝接口发生异常");
}
return null;
}
//
// /**
// * 取消订单,修改订单状态
// * */
// @PostMapping("/cancelOrder/{orderSn}")
// public Result cancelOrder(@PathVariable Long orderSn) throws Exception {
// log.info("取消订单,修改订单状态,请求URL:{},请求方式:{},请求参数:{}",request.getRequestURL(),request.getMethod(),orderSn);
// Integer integer = feignServiceTemplate.cancelOrder(orderSn);
// log.info("取消订单,修改订单状态,请求URL:{},请求方式:{},响应出参:{}",request.getRequestURL(),request.getMethod(),integer);
// return Result.success("成功取消");
// }
}

View File

@ -5,20 +5,16 @@ import com.alipay.api.AlipayClient;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.internal.util.AlipaySignature;
import com.alipay.api.request.AlipayTradePagePayRequest;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.mybasic.api.domain.Purse;
import com.ruoyi.mybasic.api.domain.UserMoneyLogs;
import com.ruoyi.mybasic.common.domain.MoneyLog;
import com.ruoyi.mybasic.common.domain.MoneyWithdraw;
import com.ruoyi.mybasic.common.domain.Purse;
import com.ruoyi.mybasic.common.domain.RechargeLog;
import com.ruoyi.mybasic.common.domain.ailPay.AliPay;
import com.ruoyi.mybasic.common.domain.ailPay.AliPayConfig;
import com.ruoyi.mybasic.common.domain.request.MoneyLogsRequest;
import com.ruoyi.mybasic.common.domain.request.PurseRequest;
import com.ruoyi.mybasic.common.domain.response.PurseResponse;
import com.ruoyi.mybasic.service.PurseServiceTwo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -73,9 +69,9 @@ public class PurseControllerTwo {
* userId
*/
@GetMapping("/purseObject")
public R<PurseResponse> purseObject(){
PurseResponse purseResponseR = purseServiceTwo.purseObject();
return R.ok(purseResponseR);
public R<Purse> purseObject(){
Purse purse = purseServiceTwo.purseObject();
return R.ok(purse);
}
/**
@ -188,7 +184,7 @@ public class PurseControllerTwo {
//支付成功 处理订单逻辑
String outTradeNo = params.get("out_trade_no");
//处理订单逻辑
//fanhui成功响应给支付宝
//返回成功响应给支付宝
return "success";
}
}
@ -211,10 +207,9 @@ public class PurseControllerTwo {
*/
@PostMapping("/withdrawPurse")//完成
public void withdrawPurse(AliPay aliPay){
PurseResponse purseResponse = purseServiceTwo.purseObject();
Purse purse = purseServiceTwo.purseObject();
//获取当前用户的余额
int balanceFee = purseResponse.getBalanceFee();
int balanceFee = purse.getBalanceFee();
//获取前台输入的金额
double totalAmount = aliPay.getTotalAmount();
//判断需要提现的金额 * 100 跟当前H币的金额
@ -279,7 +274,7 @@ public class PurseControllerTwo {
// @GetMapping("/pay")
// @GetMapping("/pay")
// public void pay(AilPay ailPay , HttpServletResponse httpServletResponse) throws IOException, AlipayApiException {
// // 1. 创建Client通用SDK提供的Client负责调用支付宝的API
// AlipayClient alipayClient = new DefaultAlipayClient(GATEWAY_URL, alipayConfig.getAppId(),
@ -295,7 +290,7 @@ public class PurseControllerTwo {
// jsonObject.set("total_amount", 12); // 订单的总金额
// jsonObject.set("subject","测试"); // 支付的名称
// jsonObject.set("product_code", "FAST_INSTANT_TRADE_PAY"); // 固定配置
//// jsonObject.set("", ailPay.getStatus());
// jsonObject.set("", ailPay.getStatus());
// request.setBizContent(jsonObject.toString());
//
// JSONArray goodsDerail = new JSONArray();
@ -318,19 +313,19 @@ public class PurseControllerTwo {
// System.out.println("调用失败");
//
// }
//// //
//// Long userId = SecurityUtils.getUserId();
//// R<PurseResponse> purseResponseR = purseServiceTwo.purseObject(userId);
//// double totalAmount = ailPay.getTotalAmount();
////// purseResponseR.getData().setBalanceFee(totalAmount * 100);
//// //创建一个新的对象
//// PurseRequest purseRequest = new PurseRequest();
//// //获取到当前的登录用户赋值
//// purseRequest.setUserId(userId + "");
//// //空余额 赋予新值
//// purseRequest.setBalanceFee(totalAmount * 100);
//// //修改余额
//// purseServiceTwo.updPurseHBi(purseRequest);
//
// Long userId = SecurityUtils.getUserId();
// R<PurseResponse> purseResponseR = purseServiceTwo.purseObject(userId);
// double totalAmount = ailPay.getTotalAmount();
// purseResponseR.getData().setBalanceFee(totalAmount * 100);
// //创建一个新的对象
// PurseRequest purseRequest = new PurseRequest();
// //获取到当前的登录用户赋值
// purseRequest.setUserId(userId + "");
// //空余额 赋予新值
// purseRequest.setBalanceFee(totalAmount * 100);
// //修改余额
// purseServiceTwo.updPurseHBi(purseRequest);
//
//
// //执行请求,拿到响应的结果 ,返回给浏览器
@ -345,46 +340,46 @@ public class PurseControllerTwo {
// httpServletResponse.getWriter().flush();
// httpServletResponse.getWriter().close();
// }
/**
*
*/
@PostMapping("/notify")//这里是post接口
public String payNotify(HttpServletRequest request){
if (request.getParameter("trade_status").equals("TRADE_SUCCUSS")){
System.out.println("========支付宝异步回调==========");
HashMap<String, String> params = new HashMap<>();
Map<String, String[]> parameterMap = request.getParameterMap();
for (String name : parameterMap.keySet()) {
params.put(name,request.getParameter(name));
}
String outTradeNo = params.get("out_trade_no");
String gmtPayment = params.get("gmt_payment");
String tradeNo = params.get("trade_no");
String sign = params.get("trade_no");
String contentV1 = AlipaySignature.getSignCheckContentV1(params);
try {
boolean b = AlipaySignature.rsa256CheckContent(contentV1, sign, aliPayConfig.getAlipayPublicKey(), "UTF-8");//验证签名
//支付宝验签
if (b){
//验证通过
System.out.println("支付宝交易凭证号: " + params.get("trade_no"));
System.out.println("商户订单号: " + params.get("out_trade_no"));
System.out.println("交易金额: " + params.get("total_amount"));
//查询订单
QueryWrapper<Object> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("order_id",outTradeNo);
List<PurseRequest> listR = purseServiceTwo.purseListAll();
}
} catch (AlipayApiException e) {
e.printStackTrace();
}
}
return "success";
}
//
//
// /**
// * 回调
// */
// @PostMapping("/notify")//这里是post接口
// public String payNotify(HttpServletRequest request){
// if (request.getParameter("trade_status").equals("TRADE_SUCCUSS")){
// System.out.println("========支付宝异步回调==========");
//
// HashMap<String, String> params = new HashMap<>();
// Map<String, String[]> parameterMap = request.getParameterMap();
// for (String name : parameterMap.keySet()) {
// params.put(name,request.getParameter(name));
// }
// String outTradeNo = params.get("out_trade_no");
// String gmtPayment = params.get("gmt_payment");
// String tradeNo = params.get("trade_no");
//
// String sign = params.get("trade_no");
// String contentV1 = AlipaySignature.getSignCheckContentV1(params);
// try {
// boolean b = AlipaySignature.rsa256CheckContent(contentV1, sign, aliPayConfig.getAlipayPublicKey(), "UTF-8");//验证签名
// //支付宝验签
// if (b){
// //验证通过
// System.out.println("支付宝交易凭证号: " + params.get("trade_no"));
// System.out.println("商户订单号: " + params.get("out_trade_no"));
// System.out.println("交易金额: " + params.get("total_amount"));
//
// //查询订单
// QueryWrapper<Object> queryWrapper = new QueryWrapper<>();
// queryWrapper.eq("order_id",outTradeNo);
// List<PurseRequest> listR = purseServiceTwo.purseListAll();
// }
// } catch (AlipayApiException e) {
// e.printStackTrace();
// }
// }
// return "success";
// }
}

View File

@ -1,8 +1,8 @@
package com.ruoyi.mybasic.mapper;
import com.ruoyi.mybasic.api.domain.Purse;
import com.ruoyi.mybasic.api.domain.UserMoneyLogs;
import com.ruoyi.mybasic.common.domain.Purse;
import com.ruoyi.mybasic.common.domain.request.InvitationRecordRequest;
import com.ruoyi.mybasic.common.domain.request.PurseRequest;
import com.ruoyi.mybasic.common.domain.request.RequestInvitationRecord;
@ -47,8 +47,8 @@ public interface InvitationMapper {
/**
*
* @param purseResponse
* @param purse
* @return
*/
int updateUserMoney(PurseResponse purseResponse);
int updateUserMoney(Purse purse);
}

View File

@ -1,71 +0,0 @@
package com.ruoyi.mybasic.mapper;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.mybasic.common.domain.request.BankId;
import com.ruoyi.mybasic.common.domain.request.InvitationRecordRequest;
import com.ruoyi.mybasic.common.domain.request.MoneyTypeRequest;
import com.ruoyi.mybasic.common.domain.request.PurseRequest;
import com.ruoyi.mybasic.common.domain.response.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @ClassName purseMapper
* @Description
* @Author WenHao.Sao
*/
/**
* Mapper-->
*/
@Mapper
public interface PurseMapper {
List<MoneyLogsResponse> moneyList(@Param("userId") String userId);
List<MoneyWithdrawResponse> moneyWithdrawLog(@Param("userId") String userId);
void addMoneyWithdraw(MoneyWithdrawResponse moneyWithdraw);
List<BankResponse> bankId(String userId);
List<InvitationRecordRequest> in(InvitationRecordRequest invitationRecord);
void updInviter(long inviterId);
void updInvitee(long inviteeId);
// void addmonyRecord(@Param("s") String s);
void addmonyRecord1(MoneyLogsResponse moneyLogs);
List<MoneyTypeRequest> moneyTypeList(@Param("userId") String userId);
PurseResponse show(@Param("userId") String userId);
Integer updPurse(PurseRequest purseRequest);
BankId bankNumBank(@Param("id") long id);
PurseResponse updPurseBalanceFee(PurseRequest purse);
BankResponse bankIdUserId(@Param("userId") String userId);
BankResponse selBankNumBank(@Param("bankId") int bankId);
Integer updBankNumBank(PurseRequest purse);
Integer topUp(BankId bankId);
//根据id获取到银行卡的对象
BankId selectBank(@Param("id") long id);
Integer updBank(BankId bankId);
Integer updPurseAmount(BankId bankId);
}

View File

@ -1,7 +1,7 @@
package com.ruoyi.mybasic.mapper;
import com.ruoyi.mybasic.api.domain.Purse;
import com.ruoyi.mybasic.api.domain.UserMoneyLogs;
import com.ruoyi.mybasic.common.domain.MoneyWithdraw;
import com.ruoyi.mybasic.common.domain.Purse;
import com.ruoyi.mybasic.common.domain.RechargeLog;
import com.ruoyi.mybasic.common.domain.request.PurseRequest;
import com.ruoyi.mybasic.common.domain.response.PurseResponse;
@ -17,7 +17,7 @@ import java.util.List;
public interface PurseMapperTwo{
//根据当前登录人的userId获取到钱包的对象
PurseResponse purseObject(@Param("userId") Long userId);
Purse purseObject(@Param("userId") Long userId);
//添加记录表
void addMoneyLogs(UserMoneyLogs userMoneyLogs);

View File

@ -1,13 +1,13 @@
package com.ruoyi.mybasic.service.Impl;
import com.ruoyi.common.redis.service.RedisService;
import com.ruoyi.mybasic.api.domain.Purse;
import com.ruoyi.mybasic.api.domain.UserMoneyLogs;
import com.ruoyi.mybasic.common.domain.Purse;
import com.ruoyi.mybasic.common.domain.request.RequestInvitationRecord;
import com.ruoyi.mybasic.common.domain.response.PurseResponse;
import com.ruoyi.mybasic.mapper.InvitationMapper;
import com.ruoyi.mybasic.service.InvitationService;
import com.ruoyi.mybasic.service.PurseServiceTwo;
import lombok.Data;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -106,7 +106,7 @@ public class InvitationServiceImpl implements InvitationService {
Integer status = userMoneyLogs.getStatus();
//查询钱包当前信息
PurseResponse purseResponse = purseServiceTwo.purseObject();
Purse purseResponse = purseServiceTwo.purseObject();
purseResponse.setUpdateTime(new Date());
if (status == 1){
//判断余额是否充足

View File

@ -1,323 +0,0 @@
package com.ruoyi.mybasic.service.Impl;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.mybasic.common.domain.request.*;
import com.ruoyi.mybasic.common.domain.response.*;
import com.ruoyi.mybasic.common.domain.emal.IncomeAmount;
import com.ruoyi.mybasic.mapper.PurseMapper;
import com.ruoyi.mybasic.service.PurseService;
import com.ruoyi.system.api.RemoteFileService;
import com.ruoyi.system.api.domain.SysFile;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
/**
* @ClassName PurseServiceImpl
* @Description
* @Author WenHao.Sao
*/
/***
*
*/
@Service
public class PurseServiceImpl implements PurseService {
/** @noinspection SpringJavaInjectionPointsAutowiringInspection*/
//用于调用文件上传
@Autowired
private RemoteFileService remoteFileService;
/** @noinspection SpringJavaInjectionPointsAutowiringInspection*/
@Autowired
private PurseMapper purseMapper;
/***
*
*
* @return
*/
@Override
public R<PurseResponse> show(String userId) {
PurseResponse purse = purseMapper.show(userId);
System.out.println(purse);
if (purse == null){
return R.fail("没有");
}else{
return R.ok(purse,"成功");
}
}
/**
*
* id
* @param
* @return
*/
//返回一个列表 需修改
@Override
public R<List<BankResponse>> bankId(String userId) {
List<BankResponse> bank = purseMapper.bankId(userId);
R<List<BankResponse>> ok = R.ok(bank);
return ok;
}
/**
* userId
* @param userId
* @return
*/
@Override
public R<BankResponse> bankIdUserId(String userId) {
BankResponse b = purseMapper.bankIdUserId(userId);
return R.ok(b);
}
/***
*
* @param file
* @return
*/
@Override
public R upload(MultipartFile file) {
R<SysFile> upload1 = remoteFileService.upload(file);
return R.ok(upload1);
}
// if (null == file){
// return R.fail("图片为空");
// }
// String upload = "";
// try {
// upload = fastUtil.upload(file);
// if (null == upload){
// return R.fail("为空");
// }
// } catch (Exception e) {
// e.printStackTrace();
// }
/**
*
* @return
*/
@Override
public R<List<MoneyLogsResponse>> moneyList(String userId) {
List<MoneyLogsResponse> moneyList = purseMapper.moneyList(userId);
return R.ok(moneyList);
}
/***
*
* @return
*/
@Override
public R<List<MoneyTypeRequest>> moneyTypeList(String UserId) {
List<MoneyTypeRequest> moneyTypeList = purseMapper.moneyTypeList(UserId);
return R.ok(moneyTypeList);
}
/***
*
* userId
* @return
*/
@Override
public R<List<MoneyWithdrawResponse>> moneyWithdrawLog(String userId) {
List<MoneyWithdrawResponse> moneyWithdrawLog = purseMapper.moneyWithdrawLog(userId);
return R.ok(moneyWithdrawLog);
}
/**
* H
* H
* H100
* H
*
*/
@Override
public R purseWithdraw(BankId bankId) {
// 调用后台查询我的钱包获取H币数量
PurseResponse show = purseMapper.show(bankId.getUserId());
//获取前台输入的值
int amount1 = bankId.getAmount();
//校验 如果前台输入的金额跟拥有的金额不匹配者提示重新输入
if (amount1 * 100 > show.getBalanceFee()){
return R.fail("余额不够,重新输入");
}else{
//根据前台传来的银行卡id 获取到对象
BankId bank = purseMapper.selectBank(bankId.getId());
//赋值银行卡余额 原有的加上提现的
bank.setBankNumber(bank.getBankNumber() + amount1);
//修改银行卡的余额
Integer i = purseMapper.updBank(bankId);
if (i>0){
//前台的余额进行 减
show.setBalanceFee(show.getBalanceFee()-(amount1*100));
//前台的H币进行修改
Integer i1 = purseMapper.updPurseAmount(bankId);
if (i1>0){
//添加修改过后记录
//添加记录表中 添加用户提现user_id 添加提现金额amount 以及当前时间 以及提现状态
MoneyWithdrawRequest moneyWithdrawRequest = new MoneyWithdrawRequest();
moneyWithdrawRequest.setUserId(bankId.getUserId());
moneyWithdrawRequest.setAmount(bankId.getAmount() + "");
//添加记录表
purseMapper.addMoneyWithdraw(moneyWithdrawRequest);
}else{
return R.fail("H币扣除失败");
}
return R.ok("银行卡余额修改成功");
}else{
return R.fail("银行卡余额未到账");
}
}
}
// @Override
// public R purseWithdraw(PurseRequest purse) {
//
//// 调用后台查询我的钱包获取H币数量
// PurseResponse show = purseMapper.show(purse.getUserId());
// //获取前台输入的值
// int amount1 = purse.getAmount();
// //校验 如果前台输入的金额跟拥有的金额不匹配者提示重新输入
// if (amount1 * 100 > show.getBalanceFee()){
// return R.fail("余额不够,重新输入");
// }else{
// //根据前台传来的银行卡id 获取到对象
// BankId bank = purseMapper.selectBank(purse.getId());
// //赋值银行卡余额 原有的加上提现的
// bank.setBankNumber(bank.getBankNumber() + amount1);
//
//
// //前台的余额进行 减
// show.setBalanceFee(show.getBalanceFee()-(amount1*100));
//
//// Integer i = purseMapper.updPurse(purse);
// //添加记录表中 添加用户提现user_id 添加提现金额amount 以及当前时间 以及提现状态
// MoneyWithdrawRequest moneyWithdraw = new MoneyWithdrawRequest();
// moneyWithdraw.setUserId(purse.getUserId());
// //更改银行卡里面的余额 应该在加一个修改当前用户的银行卡里面的金额
// BankResponse bankResponse = new BankResponse();
// //查询银行卡的余额
// BankResponse b = purseMapper.selBankNumBank(purse.getId());
// bankResponse.setNumBank(b.getNumBank() + amount1);
// System.out.println(bankResponse);
// //修改银行卡余额
// Integer b1 = purseMapper.updBankNumBank(purse);
// if (b1 != null){
// //添加记录表
// purseMapper.addMoneyWithdraw(moneyWithdraw);
// //修改余额
// PurseResponse i = purseMapper.updPurseBalanceFee(purse);
// return R.ok(i,"提现成功");
// }else{
// return R.fail("提现失败");
// }
// }
// }
/***
* id
* @param purseRequest
* @return
*/
@Override
public R updPurse(PurseRequest purseRequest) {
Integer i = purseMapper.updPurse(purseRequest);
if (i>0){
return R.ok("修改成功");
}else{
return R.fail("失败");
}
}
/***
*
* H
* @param invitationRecord
* @return
*/
@Override
public R<List<InvitationRecordRequest>> in(InvitationRecordRequest invitationRecord) {
//获取所有记录表的数据
List<InvitationRecordRequest> list = purseMapper.in(invitationRecord);
//收入 支出记录表
MoneyLogsRequest moneyLogs = new MoneyLogsRequest();
//调用枚举
IncomeAmount tenDollars = IncomeAmount.TEN_DOLLARS;
int value = tenDollars.getValue();
//循环这个记录表 拿出 被邀请人的id 和邀请人的id 进行添加300
for (InvitationRecordRequest record : list) {
//给邀请人进行添加300
PurseResponse show = purseMapper.show(invitationRecord.getInviterId() + "");
show.setBalanceFee(show.getBalanceFee() + value);
purseMapper.updInviter(record.getInviterId());
//添加邀请人收入记录表
moneyLogs.setUserId(invitationRecord.getInviterId());
moneyLogs.setStatus(2);
//给被邀请人进行添加300
PurseResponse show1 = purseMapper.show(invitationRecord.getInviteeId() + "");
show1.setBalanceFee(show.getBalanceFee() + value);
purseMapper.updInvitee(record.getInviteeId());
//添加被邀请人收入记录表
moneyLogs.setUserId(invitationRecord.getInviteeId());
moneyLogs.setStatus(2);
//添加钱包记录表
// purseMapper.addmonyRecord(invitationRecord.getInviteeId()+"");
// purseMapper.addmonyRecord(invitationRecord.getInviterId()+"");
purseMapper.addmonyRecord1(moneyLogs);
}
R<List<InvitationRecordRequest>> ok = R.ok(list);
return ok;
}
/***
*
* 10H
* id id
*
* 10H
*/
/**
*
* id
*
* 10 H
*/
/**
*
*
* id
* id
* 10H
*/
}

View File

@ -4,9 +4,9 @@ package com.ruoyi.mybasic.service.Impl;
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.mybasic.api.domain.Purse;
import com.ruoyi.mybasic.api.domain.UserMoneyLogs;
import com.ruoyi.mybasic.common.domain.MoneyWithdraw;
import com.ruoyi.mybasic.common.domain.Purse;
import com.ruoyi.mybasic.common.domain.RechargeLog;
import com.ruoyi.mybasic.common.domain.request.PurseRequest;
import com.ruoyi.mybasic.common.domain.response.PurseResponse;
@ -50,7 +50,7 @@ public class PurseServiceTwoImpl implements PurseServiceTwo {
* @return
*/
@Override
public PurseResponse purseObject() {
public Purse purseObject() {
//获取当前用户id
Long userId = SecurityUtils.getUserId();
return purseMapperTwo.purseObject(userId);
@ -117,9 +117,9 @@ public class PurseServiceTwoImpl implements PurseServiceTwo {
public void purseBalanceChange(UserMoneyLogs userMoneyLogs) {
//获取当前用户的余额
PurseResponse purseResponse = this.purseObject();
Purse purse= this.purseObject();
//当前用户的余额
int balanceFee = purseResponse.getBalanceFee();
int balanceFee = purse.getBalanceFee();
//获取到状态是收入还是支出 1支出 2 收入
int status = userMoneyLogs.getStatus();
//如果是支出 进行入参金额 和 原有金额 进行判断
@ -153,8 +153,8 @@ public class PurseServiceTwoImpl implements PurseServiceTwo {
*/
@Override
public void addPurse(Long userId) {
PurseResponse purseResponse = purseMapperTwo.purseObject(userId);
if (purseResponse != null ){
Purse purse1 = purseMapperTwo.purseObject(userId);
if (purse1 != null ){
throw new ServiceException("已有该用户,请重新创建");
}
//创建钱包对象

View File

@ -1,42 +0,0 @@
package com.ruoyi.mybasic.service;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.mybasic.common.domain.*;
import com.ruoyi.mybasic.common.domain.request.BankId;
import com.ruoyi.mybasic.common.domain.request.InvitationRecordRequest;
import com.ruoyi.mybasic.common.domain.request.MoneyTypeRequest;
import com.ruoyi.mybasic.common.domain.request.PurseRequest;
import com.ruoyi.mybasic.common.domain.response.*;
import org.apache.ibatis.annotations.Param;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
/**
* -->
*/
public interface PurseService {
R<PurseResponse> show(@Param("userId") String userId);
R upload(MultipartFile file);
R<List<MoneyLogsResponse>> moneyList(@Param("userId") String userId);
R<List<MoneyTypeRequest>> moneyTypeList(@Param("userId") String userId);
R<List<MoneyWithdrawResponse>> moneyWithdrawLog(@Param("userId") String userId);
R<List<InvitationRecordRequest>> in(InvitationRecordRequest invitationRecord);
R updPurse(PurseRequest purseRequest);
R<List<BankResponse>> bankId(String userId);
R<BankResponse> bankIdUserId(@Param("userId") String userId);
R purseWithdraw(BankId bankId);
}

View File

@ -1,6 +1,7 @@
package com.ruoyi.mybasic.service;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.mybasic.api.domain.Purse;
import com.ruoyi.mybasic.api.domain.UserMoneyLogs;
import com.ruoyi.mybasic.common.domain.MoneyLog;
import com.ruoyi.mybasic.common.domain.MoneyWithdraw;
@ -15,7 +16,7 @@ import java.util.List;
* -->
*/
public interface PurseServiceTwo {
PurseResponse purseObject();
Purse purseObject();
void addPurse(Long userId);

View File

@ -1,193 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.mybasic.mapper.PurseMapper">
<select id="bankId" resultType="com.ruoyi.mybasic.common.domain.response.BankResponse">
select * from t_bank where user_id = #{userId}
</select>
<select id="bankIdUserId" resultType="com.ruoyi.mybasic.common.domain.response.BankResponse">
select * from t_bank where user_id = #{userId}
</select>
<!-- 多张银行卡选择其中一张-->
<select id="selBankNumBank" resultType="com.ruoyi.mybasic.common.domain.response.BankResponse">
select * from t_bank where id = #{bankId}
</select>
<!--根据id获取到银行卡的对象12321321312312-->
<select id="selectBank" resultType="com.ruoyi.mybasic.common.domain.request.BankId">
select * from t_bank where id = #{id}
</select>
<!-- 修改银行卡的余额124213421-->
<update id="updBank">
update t_bank set num_bank = (num_bank + #{amount} ) where id = #{id}
</update>
<!-- 前台H币进行修改234124123-->
<update id="updPurseAmount">
update t_purse set balance_fee = (balance_fee - (#{amount}*100) ) where user_id = #{userId}
</update>
<!-- 展示收入支出记录表-->
<select id="moneyList" resultType="com.ruoyi.mybasic.common.domain.response.MoneyLogsResponse">
SELECT
t1.*,
t2.money_type_name moneyTypeName
FROM
t_money_logs t1
LEFT JOIN t_money_type t2 ON t1.money_type_id = t2.id
WHERE
t1.user_id = #{userId}
</select>
<!-- 展示收入支出 详情表-->
<select id="moneyTypeList" resultType="com.ruoyi.mybasic.common.domain.request.MoneyTypeRequest">
SELECT
t1.*,
t2.money_type_name
FROM
t_money_logs t1
LEFT JOIN t_money_type t2 ON t1.money_type_id = t2.id
WHERE
t1.id = #{userId}
</select>
<!-- 根据当前登录用户ID 获取到当前人的提现记录提现记录表-->
<select id="moneyWithdrawLog" resultType="com.ruoyi.mybasic.common.domain.response.MoneyWithdrawResponse">
SELECT
t_money_withdraw.*,t_bank.bank_name as bankName
FROM
t_money_withdraw
LEFT JOIN t_bank ON t_money_withdraw.bank_id = t_bank.id
WHERE
t_money_withdraw.user_id = #{userId}
</select>
<!-- 进行修改充值余额-->
<update id="updPurseBalanceFee">
update t_purse set balance_fee = #{balanceFee} where user_id = #{userId}
</update>
<!-- 添加提现记录表-->
<insert id="addMoneyWithdraw">
insert into t_money_withdraw
(
<if test="null != userId">
user_id,
</if>
<if test="null != bankId ">
bank_id,
</if>
<if test="null != statue ">
statue,
</if>
<if test="null != amount and '' != amount">
amount,
</if>
create_time
)
values
(
<if test="null != userId">
#{userId},
</if>
<if test="null != bankId ">
#{bankId},
</if>
<if test="null != statue ">
#{statue},
</if>
<if test="null != amount and '' != amount">
#{amount},
</if>
now()
)
</insert>
<!-- 获取到选择的银行卡-->
<select id="bankNumBank" resultType="com.ruoyi.mybasic.common.domain.request.BankId">
select * from t_bank where id = #{id}
</select>
<select id="show" resultType="com.ruoyi.mybasic.common.domain.response.PurseResponse">
select * from t_purse where user_id = #{userId}
</select>
<select id="in" resultType="com.ruoyi.mybasic.common.domain.request.InvitationRecordRequest">
select * from invitation_record
</select>
<!-- 修改H币-->
<update id="topUp">
update t_purse set balance_fee = (balance_fee + (#{amount} * 100)) where user_id = #{userId}
</update>
<update id="updInviter">
update t_purse set balance_fee = #{balanceFee} where user_id = #{inviterId}
</update>
<update id="updInvitee">
update t_purse set balance_fee = #{balanceFee} where user_id = #{inviteeId}
</update>
<update id="updPurse">
update t_purse set
<if test="typePurse != null and typePurse == 1">
wallet_income = wallet_income+#{amount},
balance_fee = balance_fee + #{amount},
</if>
<if test="typePurse != null and typePurse == 2">
wallet_outcome = #{amount},
balance_fee = balance_fee - #{amount},
</if>
update_time = now()
where user_id = #{userId}
</update>
<!-- <update id="updBankNumBank">-->
<!-- -->
<!-- </update>-->
<!-- 更改银行卡里面的余额-->
<update id="updBankNumBank" >
update t_bank set
<if test="null != numBank and '' != numBank">
num_bank = #{}
</if>
where id = #{id}
</update>
<insert id="addmonyRecord1">
insert into money_logs
(
<if test="null != moneyTypeId ">
money_type_id,
</if>
<if test="null != userId ">
user_id,
</if>
<if test="null != amountIncome and '' != amountIncome">
amount_income,
</if>
<if test="null != status ">
status,
</if>
create_time
)
values
(
<if test="null != moneyTypeId ">
#{moneyTypeId},
</if>
<if test="null != userId ">
#{userId},
</if>
<if test="null != amountIncome and '' != amountIncome">
#{amountIncome},
</if>
2,
now()
)
</insert>
</mapper>