Merge remote-tracking branch 'origin/master'

# Conflicts:
#	src/main/java/com/ruoyi/mybasic/common/domain/Purse.java
#	src/main/java/com/ruoyi/mybasic/controller/InvitationController.java
pull/1/head
ZhiShuo_Lou 2023-10-26 20:47:17 +08:00
commit ecc105e79d
25 changed files with 483 additions and 282 deletions

View File

@ -0,0 +1,76 @@
//package com.ruoyi.mybasic.Text;
//
//import lombok.Data;
//
///**
// * @ClassName Queue
// * @Description 数据结构队列测试
// * @Author WenHao.Sao
// */
//@Data
//public class Queue {
//
// private int[] dataArray;//定义了一个数组
//
// private int front;//队头
//
// private int rear;//尾端
//
// public Queue(int capacity){
// this.dataArray = new int[capacity];
// }
//
// public void enQueue(int element){
// if ((rear + 1 ) % dataArray.length == front){
// System.out.println("队伍已经满了");
// System.out.println();
// return;
// }
// dataArray[rear] = element;
// rear = (rear + 1) % dataArray.length;
// System.out.println("入队后队头元素为:"+dataArray[front]);
// System.out.println("出队!后 队尾元素" + element);
// }
//
// public int deQueue(){
// if (rear == front){
// System.out.println("队以空");
// System.out.println("");
// }
// int deQueueElement = dataArray[front];
// front = (front + 1) % dataArray.length;
// System.out.println("出队后对头元素为:"+ dataArray[front]);
// System.out.println("出队后队元素为:"+dataArray[rear - 1]);
// System.out.println();
// return deQueueElement;
// }
//
//
// public void print(){
// for (int i = front; i != rear - i ; i = (i+1) % dataArray.length){
// System.out.println(dataArray[i] + "-->");
// }
// System.out.println(dataArray[rear -1]);
// System.out.println();
// }
//
//
// public static void main(String[] args) {
// Queue queue = new Queue(6);
// queue.enQueue(1);
// queue.enQueue(2);
// queue.enQueue(3);
// queue.enQueue(4);
// queue.enQueue(5);
// queue.enQueue(6);
// queue.print();
// queue.deQueue();
// queue.deQueue();
// queue.deQueue();
// queue.print();
// queue.enQueue(6);
// queue.enQueue(7);
// queue.print();
// }
//}
//

View File

@ -1,31 +0,0 @@
//package com.ruoyi.mybasic.common.domain;
//
//import io.swagger.models.auth.In;
//import lombok.Data;
//
//import java.util.Date;
//
///**
// * @ClassName Bank
// * @Description 银行卡
// * @Author WenHao.Sao
// */
//@Data
//public class Bank {
//
// private long id;//主建
//
// private String bankName;//银行名称
//
// private String bankNumber;//银行卡账号
//
// private int bankType;//银行卡类型
//
// private String bankImage;//银行卡照片
//
// private Date createTime;//绑定时间
//
// private int userId;//所属用户主建
//
// private Integer numBank;//银行卡余额
//}

View File

@ -1,25 +0,0 @@
//package com.ruoyi.mybasic.common.domain;
//
//import lombok.Data;
//
//import java.util.Date;
//
///**
// * @ClassName comment
// * @Description 评论表
// * @Author WenHao.Sao
// */
//@Data
//public class Comment {
// private long id;//ID
//
// private long userId;//评论用户id
//
// private long communityOfPatientsId;//病友圈id
//
// private String content;//评论内容
//
// private Date CreateTime;//创建时间
//
//
//}

View File

@ -1,21 +0,0 @@
//package com.ruoyi.mybasic.common.domain;
//
//import lombok.Data;
//
///**
// * @ClassName Consultation
// * @Description 问诊记录表
// * @Author WenHao.Sao
// */
//@Data
//public class Consultation {
// private long id;//问诊记录的id;
//
// private long userId;//用户登录的ID
//
// private int status;//状态好评率
//
// private Integer count;//患者问诊数量
//
//
//}

View File

@ -1,25 +0,0 @@
//package com.ruoyi.mybasic.common.domain;
//
//import lombok.Data;
//
//import java.util.Date;
//
///**
// * @ClassName DoctorGiftRecord
// * @Description 医生收到的礼物列表
// * @Author WenHao.Sao
// */
//@Data
//public class DoctorGiftRecord {
//
// private long id;//主键
//
// private long doctorId;//医生id标识
//
// private long benefactorId;//赠送人标识
//
// private int giftId;//礼物标识
//
// private Date createTime;//赠送时间
//
//}

View File

@ -1,19 +0,0 @@
//package com.ruoyi.mybasic.common.domain;
//
//import lombok.Data;
//
///**
// * @ClassName Gift
// * @Description 礼物表
// * @Author WenHao.Sao
// */
//@Data
//public class Gift {
// private long id;//id
//
// private String giftName;//礼物名称
//
// private String giftImage;//礼物图片
//
// private Integer giftValues;//礼物价值
//}

View File

@ -1,22 +0,0 @@
//package com.ruoyi.mybasic.common.domain;
//
//import lombok.Data;
//
///**
// * @ClassName Interrogation
// * @Description 问诊表
// * @Author WenHao.Sao
// */
//@Data
//public class Interrogation {
//
// private long id;//id
//
// private long UserId;//用户id
//
// private int status;//状态 问诊正在进行 0 还是结束 1
//
// private Integer count;//计数
//
// private int evaluate;//评价星星
//}

View File

@ -1,22 +0,0 @@
//package com.ruoyi.mybasic.common.domain;
//
//import lombok.Data;
//
//import java.util.Date;
//
///**
// * @ClassName InvitationRecord
// * @Description 邀请记录表对象
// * @Author WenHao.Sao
// */
//@Data
//public class InvitationRecord {
// private long id;//ID
//
// private long inviterId;//邀请人id
//
// private long inviteeId;//被邀请人
//
// private Date createTime;//邀请时间
//
//}

View File

@ -1,26 +0,0 @@
//package com.ruoyi.mybasic.common.domain;
//
//import lombok.Data;
//
//import java.util.Date;
//
///**
// * @ClassName moneyLogs
// * @Description 支出收入记录表
// * @Author WenHao.Sao
// */
//@Data
//public class MoneyLogs {
//
// private long id;//主键
//
// private int status;//状态 1支出 2 收入
//
// private long moneyTypeId;//支出收入类型编号
//
// private Date createTime;//操作时间
//
// private long userId;//钱包表主键(用户主键)
//
//
//}

View File

@ -1,18 +0,0 @@
//package com.ruoyi.mybasic.common.domain;
//
//import lombok.Data;
//
///**
// * @ClassName moneyType
// * @Description 支出收入具体详情
// * @Author WenHao.Sao
// */
//@Data
//public class MoneyType {
//
// private long id;//ID
//
// private String moneyTypeName;//详情
//
//
//}

View File

@ -1,28 +0,0 @@
//package com.ruoyi.mybasic.common.domain;
//
//import lombok.Data;
//
//import java.util.Date;
//
///**
// * @ClassName MoneyWithdraw
// * @Description 提现记录表
// * @Author WenHao.Sao
// */
//@Data
//public class MoneyWithdraw {
//
// private long id;//提现记录主建
//
// private long userId;//提现用户编号
//
// private int bankId;//银行卡编号
//
// private Date createTime;//操作时间
//
// private int statue;//提现状态0:处理中 1:已提现
//
//
//
//
//}

View File

@ -1,16 +0,0 @@
//package com.ruoyi.mybasic.common.domain.request;
//
//import com.ruoyi.mybasic.common.domain.response.BankResponse;
//import lombok.Data;
//
///**
// * @ClassName BankRequest
// * @Description 描述
// * @Author WenHao.Sao
// */
//@Data
//public class BankRequest extends BankResponse {
//
// private long id;//主键
//
//}

View File

@ -13,7 +13,6 @@ public class PurseRequest extends PurseResponse {
private String userId;//用户编号
private int typePurse;//类型
/**
@ -23,4 +22,6 @@ public class PurseRequest extends PurseResponse {
private int id;//银行卡id
private int status;//状态 1支出 2 收入
}

View File

@ -1,5 +1,6 @@
package com.ruoyi.mybasic.common.domain.response;
import com.alibaba.druid.sql.visitor.functions.Char;
import lombok.Data;
import java.util.Date;
@ -18,7 +19,19 @@ public class MoneyLogsResponse {
private Date createTime;//操作时间
private String moneyTypeName;//详情
private String moneyTypeName;//详情
private String amountIncome;//收入支出金额
private String createUserId;//创建人
private Char delFlag;//删除标志
private String updateBy;//修改人
private Date updateTime;//修改时间
}

View File

@ -12,6 +12,8 @@ import java.util.Date;
@Data
public class PurseResponse {
// private String userId;//用户编号
private Double balanceFee;//钱包总可用余额
private Date updateTime;//更新时间

View File

@ -4,6 +4,7 @@ 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.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;
@ -11,13 +12,11 @@ import com.ruoyi.mybasic.common.domain.request.PurseRequest;
import com.ruoyi.mybasic.common.domain.response.*;
import com.ruoyi.mybasic.fegin.feignServiceTemplate;
import com.ruoyi.mybasic.service.PurseService;
import org.apache.commons.fileupload.FileItemFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import lombok.extern.log4j.Log4j2;
import org.springframework.web.multipart.MultipartFile;
import org.apache.commons.fileupload.FileUpload;
import com.ruoyi.common.security.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
@ -40,9 +39,9 @@ public class PurseController {
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";
@ -52,6 +51,7 @@ public class PurseController {
*/
@PostMapping("/purseList/{userId}")
public R<PurseResponse> purseList(@PathVariable String userId){
Long userId1 = SecurityUtils.getUserId();
R<PurseResponse> show = purseService.show(userId);
return show;
}
@ -133,8 +133,6 @@ public class PurseController {
/***15670603477
*
*/
@ -156,19 +154,6 @@ public class PurseController {
return purseService.in(invitationRecord);
}
//调用依赖的上传文件
public static void main(String[] args) {
FileUpload fileUpload = new FileUpload();
FileItemFactory fileItemFactory = fileUpload.getFileItemFactory();
System.out.println(fileItemFactory);
System.out.println("21111111111111111111111111");
}

View File

@ -0,0 +1,90 @@
package com.ruoyi.mybasic.controller;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.mybasic.common.domain.request.PurseRequest;
import com.ruoyi.mybasic.common.domain.response.PurseResponse;
import com.ruoyi.mybasic.service.PurseService;
import com.ruoyi.mybasic.service.PurseServiceTwo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.ruoyi.common.security.*;
/**
* @ClassName PurseControllerTwo
* @Description
* @Author WenHao.Sao
*/
@RestController
@RequestMapping("purse")
public class PurseControllerTwo {
@Autowired
private PurseServiceTwo purseServiceTwo;
/**
*
*
*
* id securityUtils.getUserId()
* userId
*/
@GetMapping("/purseObject")
public R<PurseResponse> purseObject(){
//当前登录人的UserId
Long userId = SecurityUtils.getUserId();
return purseServiceTwo.purseObject(userId);
}
/**
*
* : /
*
* / api
*
* apiid /
* api api
* apiid
* id
*/
/**
*
* : id
*
*
*
* apiid id ,
* api apiid
* id
*/
/**
*
* (userId,,/)
*
*
*
*
*/
@PostMapping("/purseBalanceChange")
public R purseBalanceChange(@RequestBody PurseRequest purseRequest){
return purseServiceTwo.purseBalanceChange(purseRequest);
}
/**
*
* userId
*
* userId
*/
@PostMapping("/addPurse/{userId}")
public R addPurse(@PathVariable String userId){
return purseServiceTwo.addPurse(userId);
}
}

View File

@ -8,7 +8,6 @@ import org.springframework.cloud.openfeign.FeignClient;
* @Description
* @Author WenHao.Sao
*/
@FeignClient("")
public interface feignServiceTemplate {
/**
*

View File

@ -17,7 +17,7 @@ import java.util.List;
* @Author WenHao.Sao
*/
@Mapper
public interface purseMapper {
public interface PurseMapper {
List<MoneyLogsResponse> moneyList(@Param("userId") String userId);

View File

@ -0,0 +1,36 @@
package com.ruoyi.mybasic.mapper;
import com.ruoyi.common.core.domain.R;
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 io.swagger.models.auth.In;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* @ClassName PurseMapperTwo
* @Description
* @Author WenHao.Sao
*/
@Mapper
public interface PurseMapperTwo {
//根据当前登录人的userId获取到钱包的对象
PurseResponse purseObject(@Param("userId") Long userId);
//添加记录表
void addMoneyLogs(MoneyLogsRequest moneyLogsRequest);
//支出
void updPurseIn(PurseRequest purseRequest);
//收入
void updPurseOut(PurseRequest purseRequest);
//根据当前userId添加钱包
Integer addPurse(PurseRequest purseRequest);
//查询钱包里面的用户id
Integer purseUserId(@Param("userId") String userId);
}

View File

@ -4,7 +4,7 @@ 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.mapper.PurseMapper;
import com.ruoyi.mybasic.service.PurseService;
import com.ruoyi.system.api.RemoteFileService;
import com.ruoyi.system.api.domain.SysFile;
@ -29,7 +29,7 @@ public class PurseServiceImpl implements PurseService {
/** @noinspection SpringJavaInjectionPointsAutowiringInspection*/
@Autowired
private purseMapper purseMapper;
private PurseMapper purseMapper;

View File

@ -0,0 +1,139 @@
package com.ruoyi.mybasic.service.Impl;
import com.ruoyi.common.core.domain.R;
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.mapper.PurseMapperTwo;
import com.ruoyi.mybasic.service.PurseServiceTwo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
/**
* @ClassName PurseServiceTwoImpl
* @Description
* @Author WenHao.Sao
*/
@Service
public class PurseServiceTwoImpl implements PurseServiceTwo {
/** @noinspection SpringJavaInjectionPointsAutowiringInspection*/
@Autowired
private PurseMapperTwo purseMapperTwo;
/**
* userId
*
* @param userId
* @return
*/
@Override
public R<PurseResponse> purseObject(Long userId) {
PurseResponse purseResponse = purseMapperTwo.purseObject(userId);
R<PurseResponse> ok = R.ok(purseResponse);
return ok;
}
/**
*
* : /
*
* / api
*
* apiid /
* api api
* apiid
* id
*/
/**
*
* : id
*
*
*
* apiid id ,
* api apiid
* id
*/
/**
*
* (userId,,/)
*
*
*
*
*/
@Override
public R purseBalanceChange(PurseRequest purseRequest) {
//修改余额
// Integer i = purseMapperTwo.updPurse(purseRequest);
//获取入参的金额
int amount = purseRequest.getAmount();
//转型
Double doubleAmount = Double.valueOf(amount);
//获取当前用户userId
String userId = purseRequest.getUserId();
//获取当前用户的余额
PurseResponse purseResponse = purseMapperTwo.purseObject(Long.valueOf(userId));
//当前用户的余额
Double balanceFee = purseResponse.getBalanceFee();
//获取到状态是收入还是支出 1支出 2 收入
int status = purseRequest.getStatus();
//如果是支出 进行入参金额 和 原有金额 进行判断
if (1 == status && doubleAmount <= balanceFee){
//进行修改余额 支出
purseMapperTwo.updPurseIn(purseRequest);
}else{
return R.fail("余额不足");
}
//收入
if (2 == status){
//进行修改余额 收入
purseMapperTwo.updPurseOut(purseRequest);
}
//获取到收入 支出 记录表 对象
MoneyLogsRequest moneyLogsRequest = new MoneyLogsRequest();
moneyLogsRequest.setUserId(Long.valueOf(purseRequest.getUserId()));//登录人
moneyLogsRequest.setStatus(status);//状态 1:支出 2:收入
moneyLogsRequest.setAmountIncome(amount + "");//入参金额
moneyLogsRequest.setCreateTime(new Date());//创建时间
moneyLogsRequest.setCreateUserId(purseRequest.getUserId());//创建人
//添加记录表中
purseMapperTwo.addMoneyLogs(moneyLogsRequest);
return R.ok("金额修改成功");
}
/**
* userId
* @param userId
* @return
*/
@Override
public R addPurse(String userId) {
Integer purseUserId = purseMapperTwo.purseUserId(userId);
if (purseUserId != null ){
return R.fail("已有该用户,请重新创建");
}else{
PurseRequest purseRequest = new PurseRequest();
purseRequest.setUserId(userId);
purseRequest.setUpdateTime(new Date());
Integer i = purseMapperTwo.addPurse(purseRequest);
if (i>0){
return R.ok("成功");
}else{
return R.fail("失败");
}
}
}
}

View File

@ -0,0 +1,20 @@
package com.ruoyi.mybasic.service;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.mybasic.common.domain.request.PurseRequest;
import com.ruoyi.mybasic.common.domain.response.PurseResponse;
import org.apache.ibatis.annotations.Param;
/**
* @ClassName PurseServiceTwo
* @Description
* @Author WenHao.Sao
*/
public interface PurseServiceTwo {
R<PurseResponse> purseObject(@Param("userId") Long userId);
R addPurse(@Param("userId") String userId);
R purseBalanceChange(PurseRequest purseRequest);
}

View File

@ -1,6 +1,6 @@
<?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">
<mapper namespace="com.ruoyi.mybasic.mapper.PurseMapper">
@ -160,7 +160,6 @@ WHERE
<insert id="addmonyRecord1">
insert into money_logs
(
<if test="null != moneyTypeId ">
money_type_id,
</if>
@ -177,7 +176,6 @@ WHERE
)
values
(
<if test="null != moneyTypeId ">
#{moneyTypeId},
</if>

View File

@ -0,0 +1,95 @@
<?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.PurseMapperTwo">
<select id="purseObject" resultType="com.ruoyi.mybasic.common.domain.response.PurseResponse">
select * from t_purse where user_id = #{userId}
</select>
<insert id="addPurse">
insert into t_purse
(
<if test="null != userId">
user_id,
</if>
update_time
)
values
(
<if test="null != userId">
#{userId},
</if>
now()
)
</insert>
<!-- 添加记录表-->
<insert id="addMoneyLogs">
insert into t_money_logs
(
<if test="null != userId">
user_id,
</if>
<if test="null != status">
status,
</if>
<if test="null != amountIncome">
amount_income,
</if>
<if test="null != createUserId ">
create_user_id,
</if>
create_time
)
values
(
<if test="null != userId">
#{userId},
</if>
<if test="null != status">
#{status},
</if>
<if test="null != amountIncome ">
#{amountIncome},
</if>
<if test="null != createUserId">
#{createUserId},
</if>
now()
)
</insert>
<!-- 修改支出方法-->
<update id="updPurseIn">
update t_purse set
<if test="status != null and status == 2">
wallet_income = wallet_income+#{amount},
balance_fee = balance_fee + #{amount},
</if>
<if test="status != null and status == 1">
wallet_outcome = #{amount},
balance_fee = balance_fee - #{amount},
</if>
update_time = now()
where user_id = #{userId}
</update>
<!-- 修改收入方法-->
<update id="updPurseOut">
update t_purse set
<if test="status != null and status == 1">
wallet_income = wallet_income+#{amount},
balance_fee = balance_fee + #{amount},
</if>
<if test="status != null and status == 2">
wallet_outcome = #{amount},
balance_fee = balance_fee - #{amount},
</if>
update_time = now()
where user_id = #{userId}
</update>
<select id="purseUserId" resultType="java.lang.Integer">
select * from t_purse where user_id = #{userId}
</select>
</mapper>