From 3dd4b9112ecdd9f638996873479c83da4a1f1661 Mon Sep 17 00:00:00 2001
From: shaowenhao <3121640096@qq.com>
Date: Thu, 26 Oct 2023 08:47:48 +0800
Subject: [PATCH] =?UTF-8?q?=E9=82=B5=E6=96=87=E8=B1=AA=E6=88=91=E7=9A=84?=
=?UTF-8?q?=E6=A8=A1=E5=9D=97?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.gitignore | 46 +++
pom.xml | 195 ++++++++++
.../com/ruoyi/mybasic/MyBasicApplication.java | 34 ++
.../com/ruoyi/mybasic/common/domain/Bank.java | 31 ++
.../ruoyi/mybasic/common/domain/Comment.java | 25 ++
.../mybasic/common/domain/Consultation.java | 21 +
.../common/domain/DoctorGiftRecord.java | 25 ++
.../com/ruoyi/mybasic/common/domain/Gift.java | 19 +
.../ruoyi/mybasic/common/domain/IdCard.java | 21 +
.../mybasic/common/domain/Interrogation.java | 22 ++
.../common/domain/InvitationRecord.java | 22 ++
.../mybasic/common/domain/MoneyLogs.java | 26 ++
.../mybasic/common/domain/MoneyType.java | 18 +
.../mybasic/common/domain/MoneyWithdraw.java | 28 ++
.../ruoyi/mybasic/common/domain/Purse.java | 33 ++
.../common/domain/emal/IncomeAmount.java | 21 +
.../mybasic/common/domain/request/BankId.java | 23 ++
.../common/domain/request/BankRequest.java | 16 +
.../common/domain/request/CommentRequest.java | 19 +
.../domain/request/ConsultationRequest.java | 19 +
.../request/DoctorGiftRecordRequest.java | 20 +
.../common/domain/request/GiftRequest.java | 14 +
.../domain/request/InterrogationRequest.java | 17 +
.../request/InvitationRecordRequest.java | 23 ++
.../common/domain/request/InviteRequest.java | 12 +
.../domain/request/MoneyLogsRequest.java | 17 +
.../domain/request/MoneyTypeRequest.java | 15 +
.../domain/request/MoneyWithdrawRequest.java | 18 +
.../common/domain/request/PurseRequest.java | 26 ++
.../common/domain/response/BankResponse.java | 26 ++
.../domain/response/CommentResponse.java | 17 +
.../domain/response/ConsultationResponse.java | 16 +
.../response/DoctorGiftRecordResponse.java | 17 +
.../common/domain/response/GiftResponse.java | 17 +
.../response/InterrogationResponse.java | 18 +
.../response/InvitationRecordResponse.java | 16 +
.../domain/response/MoneyLogsResponse.java | 24 ++
.../domain/response/MoneyTypeResponse.java | 18 +
.../response/MoneyWithdrawResponse.java | 24 ++
.../common/domain/response/PurseResponse.java | 26 ++
.../mybasic/controller/AliPayController.java | 118 ++++++
.../controller/FavorableRateController.java | 109 ++++++
.../controller/InvitationController.java | 37 ++
.../mybasic/controller/PurseController.java | 248 ++++++++++++
.../mybasic/fegin/feignServiceTemplate.java | 25 ++
.../mybasic/mapper/FavorableRateMapper.java | 30 ++
.../mybasic/mapper/InvitationMapper.java | 23 ++
.../com/ruoyi/mybasic/mapper/purseMapper.java | 67 ++++
.../mybasic/service/FavorableRateService.java | 25 ++
.../Impl/FavorableRateServiceImpl.java | 78 ++++
.../service/Impl/InvitationServiceImpl.java | 60 +++
.../service/Impl/PurseServiceImpl.java | 358 ++++++++++++++++++
.../mybasic/service/InvitationService.java | 16 +
.../ruoyi/mybasic/service/PurseService.java | 43 +++
src/main/resources/banner.txt | 10 +
src/main/resources/bootstrap.yml | 76 ++++
src/main/resources/logback.xml | 74 ++++
.../resources/mapper/FavorableRateMapper.xml | 33 ++
.../resources/mapper/InvitationMapper.xml | 25 ++
src/main/resources/mapper/purseMapper.xml | 195 ++++++++++
60 files changed, 2695 insertions(+)
create mode 100644 .gitignore
create mode 100644 pom.xml
create mode 100644 src/main/java/com/ruoyi/mybasic/MyBasicApplication.java
create mode 100644 src/main/java/com/ruoyi/mybasic/common/domain/Bank.java
create mode 100644 src/main/java/com/ruoyi/mybasic/common/domain/Comment.java
create mode 100644 src/main/java/com/ruoyi/mybasic/common/domain/Consultation.java
create mode 100644 src/main/java/com/ruoyi/mybasic/common/domain/DoctorGiftRecord.java
create mode 100644 src/main/java/com/ruoyi/mybasic/common/domain/Gift.java
create mode 100644 src/main/java/com/ruoyi/mybasic/common/domain/IdCard.java
create mode 100644 src/main/java/com/ruoyi/mybasic/common/domain/Interrogation.java
create mode 100644 src/main/java/com/ruoyi/mybasic/common/domain/InvitationRecord.java
create mode 100644 src/main/java/com/ruoyi/mybasic/common/domain/MoneyLogs.java
create mode 100644 src/main/java/com/ruoyi/mybasic/common/domain/MoneyType.java
create mode 100644 src/main/java/com/ruoyi/mybasic/common/domain/MoneyWithdraw.java
create mode 100644 src/main/java/com/ruoyi/mybasic/common/domain/Purse.java
create mode 100644 src/main/java/com/ruoyi/mybasic/common/domain/emal/IncomeAmount.java
create mode 100644 src/main/java/com/ruoyi/mybasic/common/domain/request/BankId.java
create mode 100644 src/main/java/com/ruoyi/mybasic/common/domain/request/BankRequest.java
create mode 100644 src/main/java/com/ruoyi/mybasic/common/domain/request/CommentRequest.java
create mode 100644 src/main/java/com/ruoyi/mybasic/common/domain/request/ConsultationRequest.java
create mode 100644 src/main/java/com/ruoyi/mybasic/common/domain/request/DoctorGiftRecordRequest.java
create mode 100644 src/main/java/com/ruoyi/mybasic/common/domain/request/GiftRequest.java
create mode 100644 src/main/java/com/ruoyi/mybasic/common/domain/request/InterrogationRequest.java
create mode 100644 src/main/java/com/ruoyi/mybasic/common/domain/request/InvitationRecordRequest.java
create mode 100644 src/main/java/com/ruoyi/mybasic/common/domain/request/InviteRequest.java
create mode 100644 src/main/java/com/ruoyi/mybasic/common/domain/request/MoneyLogsRequest.java
create mode 100644 src/main/java/com/ruoyi/mybasic/common/domain/request/MoneyTypeRequest.java
create mode 100644 src/main/java/com/ruoyi/mybasic/common/domain/request/MoneyWithdrawRequest.java
create mode 100644 src/main/java/com/ruoyi/mybasic/common/domain/request/PurseRequest.java
create mode 100644 src/main/java/com/ruoyi/mybasic/common/domain/response/BankResponse.java
create mode 100644 src/main/java/com/ruoyi/mybasic/common/domain/response/CommentResponse.java
create mode 100644 src/main/java/com/ruoyi/mybasic/common/domain/response/ConsultationResponse.java
create mode 100644 src/main/java/com/ruoyi/mybasic/common/domain/response/DoctorGiftRecordResponse.java
create mode 100644 src/main/java/com/ruoyi/mybasic/common/domain/response/GiftResponse.java
create mode 100644 src/main/java/com/ruoyi/mybasic/common/domain/response/InterrogationResponse.java
create mode 100644 src/main/java/com/ruoyi/mybasic/common/domain/response/InvitationRecordResponse.java
create mode 100644 src/main/java/com/ruoyi/mybasic/common/domain/response/MoneyLogsResponse.java
create mode 100644 src/main/java/com/ruoyi/mybasic/common/domain/response/MoneyTypeResponse.java
create mode 100644 src/main/java/com/ruoyi/mybasic/common/domain/response/MoneyWithdrawResponse.java
create mode 100644 src/main/java/com/ruoyi/mybasic/common/domain/response/PurseResponse.java
create mode 100644 src/main/java/com/ruoyi/mybasic/controller/AliPayController.java
create mode 100644 src/main/java/com/ruoyi/mybasic/controller/FavorableRateController.java
create mode 100644 src/main/java/com/ruoyi/mybasic/controller/InvitationController.java
create mode 100644 src/main/java/com/ruoyi/mybasic/controller/PurseController.java
create mode 100644 src/main/java/com/ruoyi/mybasic/fegin/feignServiceTemplate.java
create mode 100644 src/main/java/com/ruoyi/mybasic/mapper/FavorableRateMapper.java
create mode 100644 src/main/java/com/ruoyi/mybasic/mapper/InvitationMapper.java
create mode 100644 src/main/java/com/ruoyi/mybasic/mapper/purseMapper.java
create mode 100644 src/main/java/com/ruoyi/mybasic/service/FavorableRateService.java
create mode 100644 src/main/java/com/ruoyi/mybasic/service/Impl/FavorableRateServiceImpl.java
create mode 100644 src/main/java/com/ruoyi/mybasic/service/Impl/InvitationServiceImpl.java
create mode 100644 src/main/java/com/ruoyi/mybasic/service/Impl/PurseServiceImpl.java
create mode 100644 src/main/java/com/ruoyi/mybasic/service/InvitationService.java
create mode 100644 src/main/java/com/ruoyi/mybasic/service/PurseService.java
create mode 100644 src/main/resources/banner.txt
create mode 100644 src/main/resources/bootstrap.yml
create mode 100644 src/main/resources/logback.xml
create mode 100644 src/main/resources/mapper/FavorableRateMapper.xml
create mode 100644 src/main/resources/mapper/InvitationMapper.xml
create mode 100644 src/main/resources/mapper/purseMapper.xml
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..0450423
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,46 @@
+######################################################################
+# Build Tools
+
+.gradle
+/build/
+!gradle/wrapper/gradle-wrapper.jar
+logs
+target/
+!.mvn/wrapper/maven-wrapper.jar
+
+######################################################################
+# IDE
+
+### STS ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+
+### JRebel ###
+rebel.xml
+### NetBeans ###
+nbproject/private/
+build/*
+nbbuild/
+dist/
+nbdist/
+.nb-gradle/
+
+######################################################################
+# Others
+*.log
+*.xml.versionsBackup
+*.swp
+
+!*/build/*.java
+!*/build/*.html
+!*/build/*.xml
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..6e4b257
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,195 @@
+
+
+
+ com.ruoyi
+ one-health
+ 3.6.3
+
+ 4.0.0
+
+ one-health-mybasic
+ 3.6.3
+
+
+
+
+ one-health-mybasic 我的钱包
+
+
+
+
+ menghang-public
+ 梦航-public
+ http://10.100.1.6:8081/repository/maven-public/
+
+
+
+
+
+ menghang-releases
+ 梦航-releases
+ http://10.100.1.6:8081/repository/maven-releases/
+
+
+
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-discovery
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-config
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-sentinel
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+
+
+ io.springfox
+ springfox-swagger-ui
+ ${swagger.fox.version}
+
+
+
+
+ com.mysql
+ mysql-connector-j
+
+
+
+
+ com.ruoyi
+ health-common-datasource
+ 3.6.3
+
+
+
+
+ com.ruoyi
+ health-common-datascope
+ 3.6.3
+
+
+
+
+ com.ruoyi
+ health-common-log
+ 3.6.3
+
+
+
+
+ com.ruoyi
+ health-common-swagger
+ 3.6.3
+
+
+ org.projectlombok
+ lombok
+ 1.18.28
+
+
+ com.github.tobato
+ fastdfs-client
+ 1.26.5
+
+
+
+ com.ruoyi
+ health-common-core
+ 3.6.3
+
+
+
+ com.ruoyi
+ health-common-security
+ 3.6.3
+
+
+ org.springframework.boot
+ spring-boot-autoconfigure
+ 2.7.13
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ com.baomidou
+ dynamic-datasource-spring-boot-starter
+ 3.5.2
+
+
+
+
+ com.alipay.sdk
+ alipay-sdk-java
+ 4.22.110.ALL
+
+
+
+ com.alipay.sdk
+ alipay-easysdk
+ 2.2.3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${project.artifactId}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+ repackage
+
+
+
+
+
+
+
+
diff --git a/src/main/java/com/ruoyi/mybasic/MyBasicApplication.java b/src/main/java/com/ruoyi/mybasic/MyBasicApplication.java
new file mode 100644
index 0000000..6257c39
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/MyBasicApplication.java
@@ -0,0 +1,34 @@
+package com.ruoyi.mybasic;
+
+import com.ruoyi.common.security.annotation.EnableCustomConfig;
+import com.ruoyi.common.security.annotation.EnableRyFeignClients;
+import com.ruoyi.common.swagger.annotation.EnableCustomSwagger2;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+/**
+ * 系统模块
+ *
+ * @author ruoyi
+ */
+@EnableCustomConfig
+@EnableCustomSwagger2
+@EnableRyFeignClients
+@SpringBootApplication
+public class MyBasicApplication
+{
+ public static void main(String[] args)
+ {
+ SpringApplication.run(MyBasicApplication.class, args);
+ System.out.println("(♥◠‿◠)ノ゙ 我的模块启动成功 ლ(´ڡ`ლ)゙ \n" +
+ " .-------. ____ __ \n" +
+ " | _ _ \\ \\ \\ / / \n" +
+ " | ( ' ) | \\ _. / ' \n" +
+ " |(_ o _) / _( )_ .' \n" +
+ " | (_,_).' __ ___(_ o _)' \n" +
+ " | |\\ \\ | || |(_,_)' \n" +
+ " | | \\ `' /| `-' / \n" +
+ " | | \\ / \\ / \n" +
+ " ''-' `'-' `-..-' ");
+ }
+}
diff --git a/src/main/java/com/ruoyi/mybasic/common/domain/Bank.java b/src/main/java/com/ruoyi/mybasic/common/domain/Bank.java
new file mode 100644
index 0000000..509060d
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/common/domain/Bank.java
@@ -0,0 +1,31 @@
+//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;//银行卡余额
+//}
diff --git a/src/main/java/com/ruoyi/mybasic/common/domain/Comment.java b/src/main/java/com/ruoyi/mybasic/common/domain/Comment.java
new file mode 100644
index 0000000..6b8e6b0
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/common/domain/Comment.java
@@ -0,0 +1,25 @@
+//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;//创建时间
+//
+//
+//}
diff --git a/src/main/java/com/ruoyi/mybasic/common/domain/Consultation.java b/src/main/java/com/ruoyi/mybasic/common/domain/Consultation.java
new file mode 100644
index 0000000..b0c046d
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/common/domain/Consultation.java
@@ -0,0 +1,21 @@
+//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;//患者问诊数量
+//
+//
+//}
diff --git a/src/main/java/com/ruoyi/mybasic/common/domain/DoctorGiftRecord.java b/src/main/java/com/ruoyi/mybasic/common/domain/DoctorGiftRecord.java
new file mode 100644
index 0000000..13aa969
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/common/domain/DoctorGiftRecord.java
@@ -0,0 +1,25 @@
+//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;//赠送时间
+//
+//}
diff --git a/src/main/java/com/ruoyi/mybasic/common/domain/Gift.java b/src/main/java/com/ruoyi/mybasic/common/domain/Gift.java
new file mode 100644
index 0000000..338366d
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/common/domain/Gift.java
@@ -0,0 +1,19 @@
+//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;//礼物价值
+//}
diff --git a/src/main/java/com/ruoyi/mybasic/common/domain/IdCard.java b/src/main/java/com/ruoyi/mybasic/common/domain/IdCard.java
new file mode 100644
index 0000000..40dae55
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/common/domain/IdCard.java
@@ -0,0 +1,21 @@
+package com.ruoyi.mybasic.common.domain;
+
+import lombok.Data;
+
+/**
+ * @ClassName IdCard
+ * @Description 身份证表
+ * @Author WenHao.Sao
+ */
+@Data
+public class IdCard {
+ private long id;//Id
+ private int idNumber;//身份证号
+ private String frontView;//身份证正面照
+ private String reverseView;//身份证反面照
+ private String cardName;//真实姓名
+ private String cardSex;//真实性别
+ private String cardClan;//籍贯
+
+
+}
diff --git a/src/main/java/com/ruoyi/mybasic/common/domain/Interrogation.java b/src/main/java/com/ruoyi/mybasic/common/domain/Interrogation.java
new file mode 100644
index 0000000..7c1939d
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/common/domain/Interrogation.java
@@ -0,0 +1,22 @@
+//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;//评价星星
+//}
diff --git a/src/main/java/com/ruoyi/mybasic/common/domain/InvitationRecord.java b/src/main/java/com/ruoyi/mybasic/common/domain/InvitationRecord.java
new file mode 100644
index 0000000..a65911a
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/common/domain/InvitationRecord.java
@@ -0,0 +1,22 @@
+//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;//邀请时间
+//
+//}
diff --git a/src/main/java/com/ruoyi/mybasic/common/domain/MoneyLogs.java b/src/main/java/com/ruoyi/mybasic/common/domain/MoneyLogs.java
new file mode 100644
index 0000000..b64ca27
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/common/domain/MoneyLogs.java
@@ -0,0 +1,26 @@
+//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;//钱包表主键(用户主键)
+//
+//
+//}
diff --git a/src/main/java/com/ruoyi/mybasic/common/domain/MoneyType.java b/src/main/java/com/ruoyi/mybasic/common/domain/MoneyType.java
new file mode 100644
index 0000000..4778ac1
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/common/domain/MoneyType.java
@@ -0,0 +1,18 @@
+//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;//详情
+//
+//
+//}
diff --git a/src/main/java/com/ruoyi/mybasic/common/domain/MoneyWithdraw.java b/src/main/java/com/ruoyi/mybasic/common/domain/MoneyWithdraw.java
new file mode 100644
index 0000000..cc9dbd2
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/common/domain/MoneyWithdraw.java
@@ -0,0 +1,28 @@
+//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:已提现
+//
+//
+//
+//
+//}
diff --git a/src/main/java/com/ruoyi/mybasic/common/domain/Purse.java b/src/main/java/com/ruoyi/mybasic/common/domain/Purse.java
new file mode 100644
index 0000000..5ac2f20
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/common/domain/Purse.java
@@ -0,0 +1,33 @@
+//package com.ruoyi.mybasic.common.domain;
+//
+//import lombok.Data;
+//
+//import java.util.Date;
+//
+///**
+// * @ClassName Purse
+// * @Description 钱包列表
+// * @Author WenHao.Sao
+// */
+//@Data
+//public class Purse {
+//
+// private long purseId;//钱包主键自增id
+//
+// private long userId;//用户编号
+//
+// private Double walletIncome;//钱包总收入额
+//
+// private Double walletOutcome;//钱包总支出额
+//
+// private Double balanceFee;//钱包总可用余额
+//
+// private Date updateTime;//更新时间
+//
+// /***
+// * 新增添
+// */
+// private int amount;//获取前台输入的金额
+//
+//
+//}
diff --git a/src/main/java/com/ruoyi/mybasic/common/domain/emal/IncomeAmount.java b/src/main/java/com/ruoyi/mybasic/common/domain/emal/IncomeAmount.java
new file mode 100644
index 0000000..3a45f1d
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/common/domain/emal/IncomeAmount.java
@@ -0,0 +1,21 @@
+package com.ruoyi.mybasic.common.domain.emal;
+
+
+public enum IncomeAmount {
+ ONE_DOLLAR(10),
+ FIVE_DOLLARS(20),
+ TEN_DOLLARS(300),
+ TWENTY_DOLLARS(500),;
+
+ private int value;
+
+ //定义枚举类型 public enum IncomeAmount { INVITATION(300);
+ IncomeAmount(int value) {
+ this.value = value;
+ }
+
+ public int getValue(){
+ return value;
+ }
+
+}
diff --git a/src/main/java/com/ruoyi/mybasic/common/domain/request/BankId.java b/src/main/java/com/ruoyi/mybasic/common/domain/request/BankId.java
new file mode 100644
index 0000000..4048b6b
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/common/domain/request/BankId.java
@@ -0,0 +1,23 @@
+package com.ruoyi.mybasic.common.domain.request;
+
+import com.ruoyi.mybasic.common.domain.response.BankResponse;
+import lombok.Data;
+
+/**
+ * @ClassName BankId
+ * @Description 描述
+ * @Author WenHao.Sao
+ */
+@Data
+public class BankId extends BankResponse {
+ //银行卡前台传来的id
+ private long id;
+
+ /***
+ * 新增添 前台的输入的金额
+ */
+ private int amount;//获取前台输入的金额
+
+ private String userId;//所属用户主建
+
+}
diff --git a/src/main/java/com/ruoyi/mybasic/common/domain/request/BankRequest.java b/src/main/java/com/ruoyi/mybasic/common/domain/request/BankRequest.java
new file mode 100644
index 0000000..e1e24dd
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/common/domain/request/BankRequest.java
@@ -0,0 +1,16 @@
+//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;//主键
+//
+//}
diff --git a/src/main/java/com/ruoyi/mybasic/common/domain/request/CommentRequest.java b/src/main/java/com/ruoyi/mybasic/common/domain/request/CommentRequest.java
new file mode 100644
index 0000000..8abab2e
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/common/domain/request/CommentRequest.java
@@ -0,0 +1,19 @@
+package com.ruoyi.mybasic.common.domain.request;
+
+import com.ruoyi.mybasic.common.domain.response.CommentResponse;
+import lombok.Data;
+
+/**
+ * @ClassName CommentRequest
+ * @Description 评论表请求参数
+ * @Author WenHao.Sao
+ */
+@Data
+public class CommentRequest extends CommentResponse {
+
+ private long id;//ID
+
+ private long userId;//评论用户id
+
+ private long communityOfPatientsId;//病友圈id
+}
diff --git a/src/main/java/com/ruoyi/mybasic/common/domain/request/ConsultationRequest.java b/src/main/java/com/ruoyi/mybasic/common/domain/request/ConsultationRequest.java
new file mode 100644
index 0000000..5f54756
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/common/domain/request/ConsultationRequest.java
@@ -0,0 +1,19 @@
+package com.ruoyi.mybasic.common.domain.request;
+
+import com.ruoyi.mybasic.common.domain.response.ConsultationResponse;
+import lombok.Data;
+
+/**
+ * @ClassName ConsultationRequest
+ * @Description 问诊记录表请求参数
+ * @Author WenHao.Sao
+ */
+@Data
+public class ConsultationRequest extends ConsultationResponse {
+
+ private long id;//问诊记录的id;
+
+ private long userId;//用户登录的ID
+
+
+}
diff --git a/src/main/java/com/ruoyi/mybasic/common/domain/request/DoctorGiftRecordRequest.java b/src/main/java/com/ruoyi/mybasic/common/domain/request/DoctorGiftRecordRequest.java
new file mode 100644
index 0000000..c42e9e3
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/common/domain/request/DoctorGiftRecordRequest.java
@@ -0,0 +1,20 @@
+package com.ruoyi.mybasic.common.domain.request;
+
+import com.ruoyi.mybasic.common.domain.response.DoctorGiftRecordResponse;
+import lombok.Data;
+
+/**
+ * @ClassName DoctorGiftRecordRequest
+ * @Description 医生收到的礼物列表请求参数
+ * @Author WenHao.Sao
+ */
+@Data
+public class DoctorGiftRecordRequest extends DoctorGiftRecordResponse {
+ private long id;//主键
+
+ private long doctorId;//医生id标识
+
+ private long benefactorId;//赠送人标识
+
+ private int giftId;//礼物标识
+}
diff --git a/src/main/java/com/ruoyi/mybasic/common/domain/request/GiftRequest.java b/src/main/java/com/ruoyi/mybasic/common/domain/request/GiftRequest.java
new file mode 100644
index 0000000..c9fc741
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/common/domain/request/GiftRequest.java
@@ -0,0 +1,14 @@
+package com.ruoyi.mybasic.common.domain.request;
+
+import com.ruoyi.mybasic.common.domain.response.GiftResponse;
+import lombok.Data;
+
+/**
+ * @ClassName GiftRequest
+ * @Description 礼物表请求表
+ * @Author WenHao.Sao
+ */
+@Data
+public class GiftRequest extends GiftResponse {
+ private long id;//id
+}
diff --git a/src/main/java/com/ruoyi/mybasic/common/domain/request/InterrogationRequest.java b/src/main/java/com/ruoyi/mybasic/common/domain/request/InterrogationRequest.java
new file mode 100644
index 0000000..5385bba
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/common/domain/request/InterrogationRequest.java
@@ -0,0 +1,17 @@
+package com.ruoyi.mybasic.common.domain.request;
+
+import com.ruoyi.mybasic.common.domain.response.InterrogationResponse;
+import lombok.Data;
+
+/**
+ * @ClassName InterrogationRequest
+ * @Description 问诊表请求表
+ * @Author WenHao.Sao
+ */
+@Data
+public class InterrogationRequest extends InterrogationResponse {
+
+ private long id;//id
+
+ private long UserId;//用户id
+}
diff --git a/src/main/java/com/ruoyi/mybasic/common/domain/request/InvitationRecordRequest.java b/src/main/java/com/ruoyi/mybasic/common/domain/request/InvitationRecordRequest.java
new file mode 100644
index 0000000..88db163
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/common/domain/request/InvitationRecordRequest.java
@@ -0,0 +1,23 @@
+package com.ruoyi.mybasic.common.domain.request;
+
+import com.ruoyi.mybasic.common.domain.response.InvitationRecordResponse;
+import lombok.Data;
+
+/**
+ * @ClassName InvitationRecordRequest
+ * @Description 邀请记录表对象请求表
+ * @Author WenHao.Sao
+ */
+@Data
+public class InvitationRecordRequest extends InvitationRecordResponse {
+ private long id;//ID
+
+ private long inviterId;//邀请人id
+
+ private long inviteeId;//被邀请人
+
+
+
+ private int type;//邀请类型
+
+}
diff --git a/src/main/java/com/ruoyi/mybasic/common/domain/request/InviteRequest.java b/src/main/java/com/ruoyi/mybasic/common/domain/request/InviteRequest.java
new file mode 100644
index 0000000..227ae46
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/common/domain/request/InviteRequest.java
@@ -0,0 +1,12 @@
+package com.ruoyi.mybasic.common.domain.request;
+
+import lombok.Data;
+
+/**
+ * @ClassName InviteRequest
+ * @Description 描述
+ * @Author WenHao.Sao
+ */
+@Data
+public class InviteRequest {
+}
diff --git a/src/main/java/com/ruoyi/mybasic/common/domain/request/MoneyLogsRequest.java b/src/main/java/com/ruoyi/mybasic/common/domain/request/MoneyLogsRequest.java
new file mode 100644
index 0000000..5ef3917
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/common/domain/request/MoneyLogsRequest.java
@@ -0,0 +1,17 @@
+package com.ruoyi.mybasic.common.domain.request;
+
+import com.ruoyi.mybasic.common.domain.response.MoneyLogsResponse;
+import lombok.Data;
+
+/**
+ * @ClassName MoneyLogsRequest
+ * @Description 支出收入记录表
+ * @Author WenHao.Sao
+ */
+@Data
+public class MoneyLogsRequest extends MoneyLogsResponse {
+
+ private long id;//主键
+
+ private long userId;//钱包表主键(用户主键)
+}
diff --git a/src/main/java/com/ruoyi/mybasic/common/domain/request/MoneyTypeRequest.java b/src/main/java/com/ruoyi/mybasic/common/domain/request/MoneyTypeRequest.java
new file mode 100644
index 0000000..da1423b
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/common/domain/request/MoneyTypeRequest.java
@@ -0,0 +1,15 @@
+package com.ruoyi.mybasic.common.domain.request;
+
+import com.ruoyi.mybasic.common.domain.response.MoneyTypeResponse;
+import lombok.Data;
+
+/**
+ * @ClassName MoneyTypeRequest
+ * @Description 支出收入具体详情求情ID
+ * @Author WenHao.Sao
+ */
+@Data
+public class MoneyTypeRequest extends MoneyTypeResponse {
+
+ private long id;//ID
+}
diff --git a/src/main/java/com/ruoyi/mybasic/common/domain/request/MoneyWithdrawRequest.java b/src/main/java/com/ruoyi/mybasic/common/domain/request/MoneyWithdrawRequest.java
new file mode 100644
index 0000000..557b398
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/common/domain/request/MoneyWithdrawRequest.java
@@ -0,0 +1,18 @@
+package com.ruoyi.mybasic.common.domain.request;
+
+import com.ruoyi.mybasic.common.domain.response.MoneyWithdrawResponse;
+import lombok.Data;
+
+/**
+ * @ClassName MoneyWithdrawRequest
+ * @Description 提现记录表请求参数
+ * @Author WenHao.Sao
+ */
+@Data
+public class MoneyWithdrawRequest extends MoneyWithdrawResponse {
+
+ private long id;//提现记录主建
+
+ private String userId;//提现用户编号
+
+}
diff --git a/src/main/java/com/ruoyi/mybasic/common/domain/request/PurseRequest.java b/src/main/java/com/ruoyi/mybasic/common/domain/request/PurseRequest.java
new file mode 100644
index 0000000..776e6fb
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/common/domain/request/PurseRequest.java
@@ -0,0 +1,26 @@
+package com.ruoyi.mybasic.common.domain.request;
+
+import com.ruoyi.mybasic.common.domain.response.PurseResponse;
+import lombok.Data;
+
+/**
+ * @ClassName PurseRequest
+ * @Description 用于钱包的请求参数
+ * @Author WenHao.Sao
+ */
+@Data
+public class PurseRequest extends PurseResponse {
+
+ private String userId;//用户编号
+
+
+ private int typePurse;//类型
+
+ /**
+ * 新增添 前台传来的输入金额
+ */
+ private int amount;//获取前台输入的金额
+
+ private int id;//银行卡id
+
+}
diff --git a/src/main/java/com/ruoyi/mybasic/common/domain/response/BankResponse.java b/src/main/java/com/ruoyi/mybasic/common/domain/response/BankResponse.java
new file mode 100644
index 0000000..4748711
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/common/domain/response/BankResponse.java
@@ -0,0 +1,26 @@
+package com.ruoyi.mybasic.common.domain.response;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @ClassName BankRessponse
+ * @Description 描述
+ * @Author WenHao.Sao
+ */
+@Data
+public class BankResponse {
+
+ private String bankName;//银行名称
+
+ private String bankNumber;//银行卡账号
+
+ private int bankType;//银行卡类型
+
+ private String bankImage;//银行卡照片
+
+ private Date createTime;//绑定时间
+
+ private Integer numBank;//银行卡余额
+}
diff --git a/src/main/java/com/ruoyi/mybasic/common/domain/response/CommentResponse.java b/src/main/java/com/ruoyi/mybasic/common/domain/response/CommentResponse.java
new file mode 100644
index 0000000..7ff0fc8
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/common/domain/response/CommentResponse.java
@@ -0,0 +1,17 @@
+package com.ruoyi.mybasic.common.domain.response;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @ClassName CommentResponse
+ * @Description 评论表响应
+ * @Author WenHao.Sao
+ */
+@Data
+public class CommentResponse {
+ private String content;//评论内容
+
+ private Date CreateTime;//创建时间
+}
diff --git a/src/main/java/com/ruoyi/mybasic/common/domain/response/ConsultationResponse.java b/src/main/java/com/ruoyi/mybasic/common/domain/response/ConsultationResponse.java
new file mode 100644
index 0000000..45ca53e
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/common/domain/response/ConsultationResponse.java
@@ -0,0 +1,16 @@
+package com.ruoyi.mybasic.common.domain.response;
+
+import lombok.Data;
+
+/**
+ * @ClassName ConsultationResponse
+ * @Description 问诊记录表响应
+ * @Author WenHao.Sao
+ */
+@Data
+public class ConsultationResponse {
+
+ private int status;//状态好评率
+
+ private Integer count;//患者问诊数量
+}
diff --git a/src/main/java/com/ruoyi/mybasic/common/domain/response/DoctorGiftRecordResponse.java b/src/main/java/com/ruoyi/mybasic/common/domain/response/DoctorGiftRecordResponse.java
new file mode 100644
index 0000000..dc1a2be
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/common/domain/response/DoctorGiftRecordResponse.java
@@ -0,0 +1,17 @@
+package com.ruoyi.mybasic.common.domain.response;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @ClassName DoctorGiftRecordResponse
+ * @Description 医生收到的礼物列表响应
+ * @Author WenHao.Sao
+ */
+@Data
+public class DoctorGiftRecordResponse {
+
+ private Date createTime;//赠送时间
+
+}
diff --git a/src/main/java/com/ruoyi/mybasic/common/domain/response/GiftResponse.java b/src/main/java/com/ruoyi/mybasic/common/domain/response/GiftResponse.java
new file mode 100644
index 0000000..60e4cab
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/common/domain/response/GiftResponse.java
@@ -0,0 +1,17 @@
+package com.ruoyi.mybasic.common.domain.response;
+
+import lombok.Data;
+
+/**
+ * @ClassName GiftResponse
+ * @Description 礼物表响应表
+ * @Author WenHao.Sao
+ */
+@Data
+public class GiftResponse {
+ private String giftName;//礼物名称
+
+ private String giftImage;//礼物图片
+
+ private Integer giftValues;//礼物价值
+}
diff --git a/src/main/java/com/ruoyi/mybasic/common/domain/response/InterrogationResponse.java b/src/main/java/com/ruoyi/mybasic/common/domain/response/InterrogationResponse.java
new file mode 100644
index 0000000..466d260
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/common/domain/response/InterrogationResponse.java
@@ -0,0 +1,18 @@
+package com.ruoyi.mybasic.common.domain.response;
+
+import lombok.Data;
+
+/**
+ * @ClassName InterrogationResponse
+ * @Description 问诊表响应表
+ * @Author WenHao.Sao
+ */
+@Data
+public class InterrogationResponse {
+
+ private int status;//状态 问诊正在进行 0 还是结束 1
+
+ private Integer count;//计数
+
+ private int evaluate;//评价星星
+}
diff --git a/src/main/java/com/ruoyi/mybasic/common/domain/response/InvitationRecordResponse.java b/src/main/java/com/ruoyi/mybasic/common/domain/response/InvitationRecordResponse.java
new file mode 100644
index 0000000..3684fe6
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/common/domain/response/InvitationRecordResponse.java
@@ -0,0 +1,16 @@
+package com.ruoyi.mybasic.common.domain.response;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @ClassName InvitationRecordResponse
+ * @Description 描述
+ * @Author WenHao.Sao
+ */
+@Data
+public class InvitationRecordResponse {
+
+ private Date createTime;//邀请时间
+}
diff --git a/src/main/java/com/ruoyi/mybasic/common/domain/response/MoneyLogsResponse.java b/src/main/java/com/ruoyi/mybasic/common/domain/response/MoneyLogsResponse.java
new file mode 100644
index 0000000..92da25f
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/common/domain/response/MoneyLogsResponse.java
@@ -0,0 +1,24 @@
+package com.ruoyi.mybasic.common.domain.response;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @ClassName MoneyLogsResponse
+ * @Description 支出收入记录表响应参数
+ * @Author WenHao.Sao
+ */
+@Data
+public class MoneyLogsResponse {
+
+ private int status;//状态 1:支出 2 收入
+
+ private int moneyTypeId;//支出收入详情
+
+ private Date createTime;//操作时间
+
+ private String moneyTypeName;//详情
+
+
+}
diff --git a/src/main/java/com/ruoyi/mybasic/common/domain/response/MoneyTypeResponse.java b/src/main/java/com/ruoyi/mybasic/common/domain/response/MoneyTypeResponse.java
new file mode 100644
index 0000000..3f4dbd3
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/common/domain/response/MoneyTypeResponse.java
@@ -0,0 +1,18 @@
+package com.ruoyi.mybasic.common.domain.response;
+
+import lombok.Data;
+
+/**
+ * @ClassName MoneyTypeResponse
+ * @Description 支出收入具体详情响应参数
+ * @Author WenHao.Sao
+ */
+@Data
+public class MoneyTypeResponse {
+
+ private String moneyTypeName;//详情
+
+
+
+
+}
diff --git a/src/main/java/com/ruoyi/mybasic/common/domain/response/MoneyWithdrawResponse.java b/src/main/java/com/ruoyi/mybasic/common/domain/response/MoneyWithdrawResponse.java
new file mode 100644
index 0000000..7ffff2b
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/common/domain/response/MoneyWithdrawResponse.java
@@ -0,0 +1,24 @@
+package com.ruoyi.mybasic.common.domain.response;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @ClassName MoneyWithdrawResponse
+ * @Description 提现记录表响应表
+ * @Author WenHao.Sao
+ */
+@Data
+public class MoneyWithdrawResponse {
+
+ private int bankId;//银行卡编号
+
+ private Date createTime;//操作时间
+
+ private int statue;//提现状态0:处理中 1:已提现
+
+ private String bankName;//银行卡名称
+
+ private String amount;//提现金额
+}
diff --git a/src/main/java/com/ruoyi/mybasic/common/domain/response/PurseResponse.java b/src/main/java/com/ruoyi/mybasic/common/domain/response/PurseResponse.java
new file mode 100644
index 0000000..7eeb978
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/common/domain/response/PurseResponse.java
@@ -0,0 +1,26 @@
+package com.ruoyi.mybasic.common.domain.response;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @ClassName PurseResponse
+ * @Description 钱包响应参数
+ * @Author WenHao.Sao
+ */
+@Data
+public class PurseResponse {
+
+ private Double balanceFee;//钱包总可用余额
+
+ private Date updateTime;//更新时间
+
+ private Double walletIncome;//钱包总收入额
+
+ private Double walletOutcome;//钱包总支出额
+
+
+
+
+}
diff --git a/src/main/java/com/ruoyi/mybasic/controller/AliPayController.java b/src/main/java/com/ruoyi/mybasic/controller/AliPayController.java
new file mode 100644
index 0000000..4d246fb
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/controller/AliPayController.java
@@ -0,0 +1,118 @@
+//import com.alipay.api.AlipayApiException;
+//import com.alipay.api.AlipayClient;
+//import com.alipay.api.DefaultAlipayClient;
+//import com.alipay.api.domain.AlipayTradeAppPayModel;
+//import com.alipay.api.internal.util.AlipaySignature;
+//import com.alipay.api.request.AlipayTradeAppPayRequest;
+//import com.alipay.api.response.AlipayTradeAppPayResponse;
+//import org.springframework.web.bind.annotation.GetMapping;
+//import org.springframework.web.bind.annotation.PostMapping;
+//import org.springframework.web.bind.annotation.RequestMapping;
+//import org.springframework.web.bind.annotation.RestController;
+//
+//import javax.servlet.http.HttpServletRequest;
+//import java.util.HashMap;
+//import java.util.Iterator;
+//import java.util.Map;
+//
+//
+//@RestController
+//@RequestMapping("/pay/ali")
+//public class AliPayController {
+//
+// //!!!!!注意这里是你的APPID沙箱里查看
+// //应用id
+// private final static String APP_ID="9021000130611735";
+//
+// //!!!!!注意这里是你的应用私钥,在支付宝开发平台助手里(就是刚才生成的私钥)
+// //应用私钥
+// private final static String APP_PRIVATE_KEY="MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCLKDV+wVS8g3jC20HNe5uS3cx8TX7cfX5PaDVV2AzISTWi9AWBGA7gFs56b13dQTxriVdButiEMT99AFftJ3VMtYgl8P3/qqjbf6Ar6ZjzthJLOWSnEiH3AyExMParGS6fBwLk9peTGpq6bhyHMtmuEfleXJezynk3c6tSPusIPPGYySkGhT36JPbj6AvKZzC3OvvMhvNm98v3v5HUgrWnkAwFOb8GZVqxtxXo51gU/VYXd/2/qGC8QunTaZ6h25NIdNPk6oirV1Iz6IyRwTKheG9PlvOLDP6xjBmgnmQuofrSBub5sId7B3GqZ0R9qtymZ9QtNCWqFwq3BLwV5f+zAgMBAAECggEAdX6qxG6qhE0hnq0QP1ZZwkTCDkZEkhjnmFZtiiDUkhu2TPNq3lgY3z6CckAr6c/WGxoocZg4jk0ixQGQO+4wDWfNH/P+EmvfDQ4SiGFBQq19fsRj5ujZgr3Cvc0QyOCHS8DYwcgvrQYulLC6J7FYuK/2dKULdcPEW3yvr87uFdJTiTxo8nGdPVIj/n4vMSnhzPjzS9I9frmMd2NrChGTXCp+n2Va8drmLV/BQU+RquNzM/gub7sfQpkEDazI8SbV298khPtqdT6ccUIFwQjZBKb3OBwsBlQDi7UGiF3W3jlrT9f6VXnwrG2KuePya/x+fxjhSvCuxLY8jCRulR/zwQKBgQDhcXSvmBdZHFKeTerw9uMfYbDltqeDm+GrfPVeZ210ZluBP4aiwpUsCzUPyFafvhRkCWzQMgzogz/n1antLCTyhCLqYCpFm75lgJWnwlwh5E1FGzv3+FrLTDXPqgeDFrk0LqP5svD4vV3sJo3Wj862Go1jLH/9Miz19ZenbbBbUwKBgQCeBMC1FGzjDaIm1xvNXFl+/SwdQLODM3m+2+XXaPjS6sRSP3FNqzyCKhF2JlXQCcrg21GCvlRhg168gl1GDewAmUpFsZcOuEPezIHxolhWh627FC6M6tLV8vwJYckCbkJTdq9lL1/lwtjsLm37CJwpO0Ke6mee7ejrLTmkMl+eIQKBgFzzV2XysmW2TMYiYCTb1kchEzuTNLwJsGDxU4WJ5VIhxcajd5Jx4elX8ZfBRR311Bhu3mN0z2eqfdXLfZVhJxaqrm6uGZ+7mCPngUy60RvUMpu0n+QcjOrXUDR/6Tr+SnweYtNYGQylnyz3tHFrt5HTnsnuFhNB9dGvYcjRa+4rAoGAO+PjQf5u0pONPJlU0T3KMcY03RVztCtjXkIr17vSauZN6DphcCWRdmgJXDVlWscLXLPjLeGDS74lvt7OCUong4aVztpjPVH7b0sliPaV8p3T687XYdNye2JvwgKM094ER2v5SClveD6kRsfGKVn3De2G74I6KdNT7yah7SimcuECgYAbKGo7dYEc4jcrSBaQ3PrmYl1orc1/F8v3lyw/Ts3jryXS71a6OHk5WhokWYqClz+Yi9yhtOTl8JgBLPR9edwASO9iRZjvwqkETcSb1VrzbI80NjDJrDkH+w3o4Yp5ySPcNF63Xufd/x7zjr37/VW6mC2UNplNRiWUH4/cj1+JNA==/";
+// //字符集
+// private final static String CHARSET="UTF-8";
+//
+// //!!!!!注意这里是你的支付宝公钥,在沙箱环境中RSA2(SHA256)密钥 弹窗里面的,支付宝公钥
+// //应用公钥
+// private final static String ALIPAY_PUBLIC_KEY="MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAiyg1fsFUvIN4wttBzXubkt3MfE1+3H1+T2g1VdgMyEk1ovQFgRgO4BbOem9d3UE8a4lXQbrYhDE/fQBX7Sd1TLWIJfD9/6qo23+gK+mY87YSSzlkpxIh9wMhMTD2qxkunwcC5PaXkxqaum4chzLZrhH5XlyXs8p5N3OrUj7rCDzxmMkpBoU9+iT24+gLymcwtzr7zIbzZvfL97+R1IK1p5AMBTm/BmVasbcV6OdYFP1WF3f9v6hgvELp02meoduTSHTT5OqIq1dSM+iMkcEyoXhvT5bziwz+sYwZoJ5kLqH60gbm+bCHewdxqmdEfarcpmfULTQlqhcKtwS8FeX/swIDAQAB";
+//
+// //!!!!!注意这里是你的支付宝网关,在沙箱环境里查看
+// //网关
+// private final static String GATEWAY_URL="https://openapi-sandbox.dl.alipaydev.com/gateway.do";
+//
+// //格式化
+// private final static String FORMAT="json";
+// //签名类型
+// private final static String SIGNTYPE="RSA2";
+// /*
+// * 获取订单信息
+// * */
+// @GetMapping("getOrderInfo")
+// public String getOrderInfo() {
+// //实例化客户端
+// AlipayClient alipayClient = new DefaultAlipayClient(GATEWAY_URL, APP_ID, APP_PRIVATE_KEY, FORMAT, CHARSET, ALIPAY_PUBLIC_KEY, SIGNTYPE);
+// //实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.app.pay
+// AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest();
+// //SDK已经封装掉了公共参数,这里只需要传入业务参数。以下方法为sdk的model入参方式(model和biz_content同时存在的情况下取biz_content)。
+// AlipayTradeAppPayModel model = new AlipayTradeAppPayModel();
+// model.setBody("我是测试数据");
+// model.setSubject("App支付测试Java");
+// model.setOutTradeNo("这里是交易订单号");
+// model.setTimeoutExpress("30m");
+// model.setTotalAmount("0.01");
+// model.setProductCode("QUICK_MSECURITY_PAY");
+// request.setBizModel(model);
+// request.setNotifyUrl("商户外网可以访问的异步地址");
+// try {
+// //这里和普通的接口调用不同,使用的是sdkExecute
+// AlipayTradeAppPayResponse response = alipayClient.sdkExecute(request);
+// System.out.println(response.getBody());//就是orderString 可以直接给客户端请求,无需再做处理。
+// return response.getBody();
+// } catch (AlipayApiException e) {
+// e.printStackTrace();
+// }
+// return null;
+// }
+//
+// @PostMapping("/notify_url")
+// public String notify_url(HttpServletRequest request){
+// //获取支付宝POST过来反馈信息
+// Map params = new HashMap();
+// Map requestParams = request.getParameterMap();
+// for (Iterator iter = requestParams.keySet().iterator(); iter.hasNext();) {
+// String name = (String) iter.next();
+// String[] values = (String[]) requestParams.get(name);
+// String valueStr = "";
+// for (int i = 0; i < values.length; i++) {
+// valueStr = (i == values.length - 1) ? valueStr + values[i]
+// : valueStr + values[i] + ",";
+// }
+// //乱码解决,这段代码在出现乱码时使用。
+// //valueStr = new String(valueStr.getBytes("ISO-8859-1"), "utf-8");
+// params.put(name, valueStr);
+// }
+// //切记alipaypublickey是支付宝的公钥,请去open.alipay.com对应应用下查看。
+// //boolean AlipaySignature.rsaCheckV1(Map params, String publicKey, String charset, String sign_type)
+// try {
+//
+// boolean flag = AlipaySignature.rsaCheckV1(params, ALIPAY_PUBLIC_KEY, CHARSET,SIGNTYPE);
+// //如果验签失败
+// if(!flag){
+// return "fail";
+// }
+// //验签成功后
+// //商户的业务逻辑 比如修改订单号
+// System.out.println("修改订单成功");
+//
+// } catch (AlipayApiException e) {
+// e.printStackTrace();
+// }
+// return "success";
+// }
+//
+//
+// //这里是main方法用来生成alipay_sdk信息
+// public static void main(String[] args) {
+// AliPayController aliPayController = new AliPayController();
+// aliPayController.getOrderInfo();
+// }
+//}
+//
diff --git a/src/main/java/com/ruoyi/mybasic/controller/FavorableRateController.java b/src/main/java/com/ruoyi/mybasic/controller/FavorableRateController.java
new file mode 100644
index 0000000..0a08ee8
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/controller/FavorableRateController.java
@@ -0,0 +1,109 @@
+package com.ruoyi.mybasic.controller;
+
+import com.ruoyi.common.core.domain.R;
+
+import com.ruoyi.mybasic.common.domain.request.ConsultationRequest;
+import com.ruoyi.mybasic.common.domain.request.DoctorGiftRecordRequest;
+import com.ruoyi.mybasic.common.domain.request.InterrogationRequest;
+import com.ruoyi.mybasic.service.FavorableRateService;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+
+/**
+ * @ClassName FavorableRateController
+ * @Description 好评率
+ * @Author WenHao.Sao
+ */
+@RestController
+@RequestMapping("/favorableRate")
+@Log4j2
+public class FavorableRateController {
+
+ @Autowired
+ private FavorableRateService favorableRateService;
+
+
+ /***
+ * 好评率
+ * 查询所有完成问诊中有评价的问诊 评价有好评/差评 好评/总数 即是好评率
+ * 计算好评率:根据查询结果集,您可以计算好评率。
+ * 假设评价表中有一个"rating"状态字段表示评价等级(好评为1,差评为0),
+ * 您可以统计好评数量和总评价数量,然后计算好评率
+ * 根据问诊信息的id获取到好评表的list展示
+ */
+ @PostMapping("/reputation")
+ public R> reputation(@RequestBody InterrogationRequest interrogation){
+ int count = 0;
+ int num = 0;
+ int sum = 0;
+ //首先查询完成问诊的 根据 状态字段判断有没有结束问诊
+ List interrogationStatus = favorableRateService.interrogationStatus(interrogation);
+ //如果问诊正在进行
+ for (InterrogationRequest status : interrogationStatus) {
+ if (status.getStatus() == 0){
+ return R.fail("问诊还未结束");
+ }else {
+ //问诊总数计数
+ count++;
+
+ //然后调用上面的的size获取到总数
+ interrogation.setCount(count);
+ //获取到评价>=3的数量算是好评
+ List evaluateCount = favorableRateService.evaluateCount(status);
+ for (InterrogationRequest interrogation1 : evaluateCount) {
+// 计算好评的数量
+ num++;
+ }
+ sum = (num / count) * 100;
+
+ System.out.println("输出一下好评率 好评数除以结束问诊的数量乘以100等于好评率" + sum + "%");
+ //获取到好评的数量
+ int evaluate = interrogation.getEvaluate();
+ status.setEvaluate(evaluate);
+ }
+ }
+ //再查询所有结束问诊的 评价等级数量 count++这样获取
+ return R.ok();
+ }
+
+ /***
+ * 服务患者次数
+ * 通过医生id 查询问诊记录表 查询所有状态为问诊完成的总数即是服务患者次数
+ *
+ */
+ @PostMapping("/countPatient/{userId}")
+ public R> countPatient(@PathVariable String userId){
+
+ //调用上面的方法 查询出结束患者的次数
+ int goodEvaluationCount = 0;//初始化好评数量
+
+ return favorableRateService.countPatient(userId);
+ }
+
+/**
+ * 初始化运行测试
+ */
+// public static void main(String[] args) {
+// String sql = "select count * from consultation where doctor_id = ? and status = '问诊完成'";
+// try(Connection connection = DriverManager.getConnection(url , username , password );
+// PreparedStatement statement = connection.prepareStatement(sql)){
+// statement.setInt(1,doctorId);//设置医生ID参数
+// try(ResuilSet resultSet = )
+// }
+// }
+
+
+ /**
+ * 收到礼物的查看礼物记录表关联一个礼物表用于查询图片
+ * 根据医生的登录id获取到他的礼物信息
+ */
+ @PostMapping("giftList/{userId}")
+ public R> giftList(@PathVariable String userId){
+ log.info("获取请求参数" +userId);
+ return favorableRateService.giftList(userId);
+ }
+}
diff --git a/src/main/java/com/ruoyi/mybasic/controller/InvitationController.java b/src/main/java/com/ruoyi/mybasic/controller/InvitationController.java
new file mode 100644
index 0000000..680da12
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/controller/InvitationController.java
@@ -0,0 +1,37 @@
+package com.ruoyi.mybasic.controller;
+
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.mybasic.common.domain.request.InvitationRecordRequest;
+import com.ruoyi.mybasic.service.InvitationService;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * @ClassName InvitationController
+ * @Description 邀请记录的控制层
+ * @Author WenHao.Sao
+ */
+@RestController
+@RequestMapping("/Invitation")
+@Log4j2
+public class InvitationController {
+
+ @Autowired
+ private InvitationService invitationService;
+
+ /**
+ * 当前用户查看自己的邀请记录表
+ * @return
+ */
+ @GetMapping("/list")
+ public R> show(@PathVariable String userId){
+ return invitationService.show(userId);
+ }
+
+}
diff --git a/src/main/java/com/ruoyi/mybasic/controller/PurseController.java b/src/main/java/com/ruoyi/mybasic/controller/PurseController.java
new file mode 100644
index 0000000..9a9ff8e
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/controller/PurseController.java
@@ -0,0 +1,248 @@
+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.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 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 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("/purse")
+@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";
+
+
+ /**
+ * 根据用户ID获取到H币金额 展示 返回对象
+ * 当人流量过大的时候我们要想出这个访问钱包时候的高并发问题
+ */
+ @PostMapping("/purseList/{userId}")
+ public R purseList(@PathVariable String userId){
+ R show = purseService.show(userId);
+ return show;
+ }
+
+ /**
+ * 银行卡下拉框 通过当前用户userId 获取到这个用户的所有银行卡
+ */
+ @PostMapping("/bankId/{userId}}")
+ public R> bankId(@PathVariable String userId){
+ return purseService.bankId(userId);
+ }
+
+ /**
+ * 根据当前登录人的用户获取到银行卡的数据
+ */
+ @PostMapping("/bankId/{userId}")
+ public R bankIdUserId(@PathVariable String userId){
+ return purseService.bankIdUserId(userId);
+ }
+
+
+ /**
+ * 支出 收入 记录表表 加详情
+ * 根据前台传来的用户id传来的字段
+ */
+ @GetMapping("/moneyList/{userId}")
+ public R> moneyList(@PathVariable String userId){
+ return purseService.moneyList(userId);
+ }
+
+ /**
+ * 支出收入具体详情表
+ * 根据上面支出收入的user_id查询详情 带有具体的收入支出详情
+ */
+ @GetMapping("/moneyTypeList/{userId}")
+ public R> moneyTypeList(@PathVariable String userId){
+ return purseService.moneyTypeList(userId);
+ }
+
+ /**
+ * 提现记录表 点击提现记录查询提现记录
+ * 通过前台传来的登录者Id获取到这个人的提现记录
+ */
+ @GetMapping("/moneyWithdrawLog/{userId}")
+ public R> moneyWithdrawLog(@PathVariable String userId){
+ return purseService.moneyWithdrawLog(userId);
+ }
+
+ /**
+ * 进行修改钱包 根据 前台传入的用户user_id以及修改的数量进行修改钱包
+ */
+ @PostMapping("/updPurse")
+ public R updPurse(@RequestBody PurseRequest purseRequest){
+ return purseService.updPurse(purseRequest);
+ }
+
+ /**
+ * 提现H币 把余额里面的金额提现成现金到银行卡里面
+ * H币以除以十的情况提现到银行卡
+ * 判断H币为100才能进行转换
+ * H币提现提现功能 判断 提现不能高于 余额数
+ * 添加到提现记录里面
+ */
+ @PostMapping("/purseWithdraw")
+ public R purseWithdraw(@RequestBody BankId bankId){
+ return purseService.purseWithdraw(bankId);
+ }
+
+ /**
+ * 充值接口 然后需要选择 支付的方式 第三方接口 调用
+ * 充值金额 是毛爷爷乘以100 == H币
+ * 进行添加到充值记录表里面
+ * 通过前台传来的选择银行卡的id
+ */
+ @PostMapping("/topUp")
+ public R topUp(@RequestBody BankId bankId){
+ return purseService.topUp(bankId);
+ }
+
+
+
+
+
+ /***15670603477
+ * 进行绑定银行卡 上传图片
+ */
+ @PostMapping("/upload")
+ public R upload(@RequestParam("file") MultipartFile file){
+ return purseService.upload(file);
+ }
+
+
+
+
+ /**
+ * 首先获取到一个邀请人 和 被邀请人的id
+ * 通过id获取到他们的钱包余额 进行添加300H币
+ * 增加一个邀请记录表
+ */
+ @PostMapping("/invitationRecord")
+ public R> invitationRecord(@RequestBody InvitationRecordRequest invitationRecord){
+ 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");
+ }
+
+
+
+
+
+
+
+
+
+ /**
+ * 对接支付宝沙箱
+ * */
+ @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 paramters = new HashMap<>();
+ Map requestParams = request.getParameterMap();
+ System.out.println(requestParams.toString());
+ for (Map.Entry 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 RuntimeException("调用支付宝接口发生异常");
+ }
+ 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("成功取消");
+// }
+
+
+
+}
diff --git a/src/main/java/com/ruoyi/mybasic/fegin/feignServiceTemplate.java b/src/main/java/com/ruoyi/mybasic/fegin/feignServiceTemplate.java
new file mode 100644
index 0000000..00f5b97
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/fegin/feignServiceTemplate.java
@@ -0,0 +1,25 @@
+package com.ruoyi.mybasic.fegin;
+
+import com.ruoyi.mybasic.common.domain.request.BankId;
+import org.springframework.cloud.openfeign.FeignClient;
+
+/**
+ * @ClassName feignServiceTemplate
+ * @Description 远程调用 用于调用登录服务 或者其他服务
+ * @Author WenHao.Sao
+ */
+@FeignClient("")
+public interface feignServiceTemplate {
+ /**
+ * 一个根据前台传入的数据 后台接参
+ * @param amount
+ * @return
+ */
+ static BankId findOrderByOrderSn(String amount) {
+ return null;
+ }
+
+ static void payMoney(Long valueOf) {
+
+ }
+}
diff --git a/src/main/java/com/ruoyi/mybasic/mapper/FavorableRateMapper.java b/src/main/java/com/ruoyi/mybasic/mapper/FavorableRateMapper.java
new file mode 100644
index 0000000..1da527e
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/mapper/FavorableRateMapper.java
@@ -0,0 +1,30 @@
+package com.ruoyi.mybasic.mapper;
+
+
+import com.ruoyi.mybasic.common.domain.request.ConsultationRequest;
+import com.ruoyi.mybasic.common.domain.request.DoctorGiftRecordRequest;
+import com.ruoyi.mybasic.common.domain.request.InterrogationRequest;
+import com.ruoyi.mybasic.common.domain.response.ConsultationResponse;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * @ClassName FavorableRateMapper
+ * @Description 描述
+ * @Author WenHao.Sao
+ */
+@Mapper
+public interface FavorableRateMapper {
+
+ Integer statusCount(ConsultationResponse consultation);
+
+ List consultationList(String userId);
+
+ List interrogationStatus(InterrogationRequest interrogation);
+
+ List evaluateCount(InterrogationRequest status);
+
+ List giftList(@Param("userId") String userId);
+}
diff --git a/src/main/java/com/ruoyi/mybasic/mapper/InvitationMapper.java b/src/main/java/com/ruoyi/mybasic/mapper/InvitationMapper.java
new file mode 100644
index 0000000..54af060
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/mapper/InvitationMapper.java
@@ -0,0 +1,23 @@
+package com.ruoyi.mybasic.mapper;
+
+
+import com.ruoyi.mybasic.common.domain.request.InvitationRecordRequest;
+import com.ruoyi.mybasic.common.domain.request.PurseRequest;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * @ClassName InvitationMapepr
+ * @Description 描述
+ * @Author WenHao.Sao
+ */
+@Mapper
+public interface InvitationMapper {
+ List show(@Param("userId") String userId);
+
+ PurseRequest Inviteramount(long inviterId);
+
+ PurseRequest Inviteeamount(long inviteeId);
+}
diff --git a/src/main/java/com/ruoyi/mybasic/mapper/purseMapper.java b/src/main/java/com/ruoyi/mybasic/mapper/purseMapper.java
new file mode 100644
index 0000000..405fef3
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/mapper/purseMapper.java
@@ -0,0 +1,67 @@
+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
+public interface purseMapper {
+
+
+ List moneyList(@Param("userId") String userId);
+
+ List moneyWithdrawLog(@Param("userId") String userId);
+
+ void addMoneyWithdraw(MoneyWithdrawResponse moneyWithdraw);
+
+ List bankId(String userId);
+
+ List in(InvitationRecordRequest invitationRecord);
+
+ void updInviter(long inviterId);
+
+ void updInvitee(long inviteeId);
+
+// void addmonyRecord(@Param("s") String s);
+
+ void addmonyRecord1(MoneyLogsResponse moneyLogs);
+
+ List 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);
+}
diff --git a/src/main/java/com/ruoyi/mybasic/service/FavorableRateService.java b/src/main/java/com/ruoyi/mybasic/service/FavorableRateService.java
new file mode 100644
index 0000000..07790ef
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/service/FavorableRateService.java
@@ -0,0 +1,25 @@
+package com.ruoyi.mybasic.service;
+
+import com.ruoyi.common.core.domain.R;
+
+import com.ruoyi.mybasic.common.domain.request.ConsultationRequest;
+import com.ruoyi.mybasic.common.domain.request.DoctorGiftRecordRequest;
+import com.ruoyi.mybasic.common.domain.request.InterrogationRequest;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * @ClassName FavorableRateService
+ * @Description 描述
+ * @Author WenHao.Sao
+ */
+public interface FavorableRateService {
+ R> countPatient(@Param("userId") String userId);
+
+ List interrogationStatus(InterrogationRequest interrogation);
+
+ List evaluateCount(InterrogationRequest status);
+
+ R> giftList(@Param("userId") String userId);
+}
diff --git a/src/main/java/com/ruoyi/mybasic/service/Impl/FavorableRateServiceImpl.java b/src/main/java/com/ruoyi/mybasic/service/Impl/FavorableRateServiceImpl.java
new file mode 100644
index 0000000..74afa75
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/service/Impl/FavorableRateServiceImpl.java
@@ -0,0 +1,78 @@
+package com.ruoyi.mybasic.service.Impl;
+
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.security.utils.SecurityUtils;
+import com.ruoyi.mybasic.common.domain.request.ConsultationRequest;
+import com.ruoyi.mybasic.common.domain.request.DoctorGiftRecordRequest;
+import com.ruoyi.mybasic.common.domain.request.InterrogationRequest;
+import com.ruoyi.mybasic.common.domain.response.ConsultationResponse;
+import com.ruoyi.mybasic.mapper.FavorableRateMapper;
+import com.ruoyi.mybasic.service.FavorableRateService;
+import io.swagger.v3.oas.annotations.parameters.RequestBody;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * @ClassName FavorableRateServiceImpl
+ * @Description 描述
+ * @Author WenHao.Sao
+ */
+@Service
+public class FavorableRateServiceImpl implements FavorableRateService {
+ /** @noinspection SpringJavaInjectionPointsAutowiringInspection*/
+ @Autowired
+ private FavorableRateMapper favorableRateMapper;
+
+ /**
+ * 根据用户信息获取 问诊记录表 根据问诊记录的状态完成数量查询问诊患者的数量
+ * @param userId
+ * @return
+ */
+ @Override
+ public R> countPatient(String userId) {
+
+ ConsultationRequest consultation = new ConsultationRequest();
+ //首先查询状态字段为一的 0 未完成 1 完成
+ consultation.setCount(favorableRateMapper.statusCount(consultation));
+ List consultationList = favorableRateMapper.consultationList(userId);
+ R> ok = R.ok(consultationList);
+
+ return ok;
+ }
+
+ /**
+ * 问诊计数以及查询已经结束问诊的数量
+ * @param interrogation
+ * @return
+ */
+ @Override
+ public List interrogationStatus(@RequestBody InterrogationRequest interrogation) {
+ return favorableRateMapper.interrogationStatus(interrogation);
+ }
+
+ /**
+ * 获取到已经结束问诊的好评
+ * @param status
+ * @return
+ */
+ @Override
+ public List evaluateCount(InterrogationRequest status) {
+ return favorableRateMapper.evaluateCount(status);
+ }
+
+ /**
+ * 获取到当前登录医生收到的礼物列表
+ * 进行礼物记录表以及礼物的表联查
+ * @param userId
+ * @return
+ */
+ @Override
+ public R> giftList(String userId) {
+ List giftList = favorableRateMapper.giftList(userId);
+ R> success = R.ok(giftList);
+
+ return success;
+ }
+}
diff --git a/src/main/java/com/ruoyi/mybasic/service/Impl/InvitationServiceImpl.java b/src/main/java/com/ruoyi/mybasic/service/Impl/InvitationServiceImpl.java
new file mode 100644
index 0000000..bb8ecf8
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/service/Impl/InvitationServiceImpl.java
@@ -0,0 +1,60 @@
+package com.ruoyi.mybasic.service.Impl;
+
+import com.ruoyi.common.core.domain.R;
+
+import com.ruoyi.mybasic.common.domain.emal.IncomeAmount;
+import com.ruoyi.mybasic.common.domain.request.InvitationRecordRequest;
+import com.ruoyi.mybasic.common.domain.request.PurseRequest;
+import com.ruoyi.mybasic.mapper.InvitationMapper;
+import com.ruoyi.mybasic.service.InvitationService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * @ClassName InvitationServiceImpl
+ * @Description 邀请记录业务层
+ * @Author WenHao.Sao
+ */
+@Service
+public class InvitationServiceImpl implements InvitationService {
+
+ /** @noinspection SpringJavaInjectionPointsAutowiringInspection*/
+ @Autowired
+ private InvitationMapper invitationMapper;
+
+ /***
+ * 获取到当用户邀请的人的列表
+ * 1.入参 对象:邀请人id 被邀请人id
+ * @param userId
+ * @return
+ */
+ @Override
+ public R> show(String userId) {
+ //获取到邀请记录表
+ List list = invitationMapper.show(userId);
+
+ //所有的邀请记录表进行循环查询
+ for (InvitationRecordRequest invitationRecord : list) {
+
+ //调用枚举类
+ IncomeAmount tenDollars = IncomeAmount.TEN_DOLLARS;
+ //赋值
+ int value = tenDollars.getValue();
+
+ //获取到邀请人钱包余额
+ PurseRequest inviter = invitationMapper.Inviteramount(invitationRecord.getInviterId());
+ //加上枚举值
+ inviter.setBalanceFee(inviter.getBalanceFee() + value);
+
+ //获取到被邀请人钱包余额
+ PurseRequest invitee = invitationMapper.Inviteeamount(invitationRecord.getInviteeId());
+ //加上枚举值
+ invitee.setBalanceFee(inviter.getBalanceFee() + value);
+
+ }
+ R> ok = R.ok(list);
+ return ok;
+ }
+}
diff --git a/src/main/java/com/ruoyi/mybasic/service/Impl/PurseServiceImpl.java b/src/main/java/com/ruoyi/mybasic/service/Impl/PurseServiceImpl.java
new file mode 100644
index 0000000..0126791
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/service/Impl/PurseServiceImpl.java
@@ -0,0 +1,358 @@
+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 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> bankId(String userId) {
+ List bank = purseMapper.bankId(userId);
+ R> ok = R.ok(bank);
+ return ok;
+ }
+
+
+ /**
+ * 根据用户的userId获取到银行卡里面的余额
+ * @param userId
+ * @return
+ */
+ @Override
+ public R bankIdUserId(String userId) {
+ BankResponse b = purseMapper.bankIdUserId(userId);
+ return R.ok(b);
+ }
+
+
+ /***
+ * 进行上传图片 上传银行卡 身份证
+ * @param file
+ * @return
+ */
+ @Override
+ public R upload(MultipartFile file) {
+ R 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> moneyList(String userId) {
+ List moneyList = purseMapper.moneyList(userId);
+ return R.ok(moneyList);
+ }
+
+ /***
+ * 支付 支出详情表
+ * @return
+ */
+ @Override
+ public R> moneyTypeList(String UserId) {
+ List moneyTypeList = purseMapper.moneyTypeList(UserId);
+ return R.ok(moneyTypeList);
+
+ }
+
+
+ /***
+ * 提现记录表
+ * 根据前台传来的userId判断本人用户的提现记录
+ * @return
+ */
+ @Override
+ public R> moneyWithdrawLog(String userId) {
+ List moneyWithdrawLog = purseMapper.moneyWithdrawLog(userId);
+ return R.ok(moneyWithdrawLog);
+ }
+
+ /**
+ * 提现H币 把余额里面的金额提现成现金到银行卡里面
+ * H币以除以十的情况提现到银行卡
+ * 判断H币为100才能进行转换
+ * 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("失败");
+ }
+
+ }
+
+ /***
+ * 充值模块
+ * @param bankId
+ * @return
+ */
+ @Override
+ public R topUp(BankId bankId) {
+ //获取到选择的银行卡 通过前台传来选择银行卡的id 进行查询对象
+ BankId bank = purseMapper.bankNumBank(bankId.getId());
+ //查询银行卡里面的金额 跟前台输入的金额做对比
+ if (bank.getNumBank() < bankId.getAmount()){
+ return R.fail("银行卡余额不足");
+ }else{
+ //获取到前台传来的金额
+ int amount = bankId.getAmount();
+ //调用当前用户的userId 查询到金额
+ PurseResponse show = purseMapper.show(bankId.getUserId());
+ //银行卡里面的金额(前台 输入的数据) * 100 加上原有的 钱包金额 进行给钱包金额赋值
+ PurseRequest purseRequest = new PurseRequest();
+ purseRequest.setBalanceFee((amount * 100) + show.getBalanceFee());
+
+ //修改H币 方法
+ Integer i = purseMapper.topUp(bankId);
+
+// //更改银行卡里面的余额
+// BankId bankId1 = new BankId();
+// //查询银行卡的余额
+// BankResponse b = purseMapper.selBankNumBank(bankId.getId());
+// bankId1.setNumBank(b.getNumBank() - amount);
+// purseMapper.updBankNumBank(bankRequest);
+ //添加充值记录表里面
+ MoneyWithdrawRequest moneyWithdraw = new MoneyWithdrawRequest();
+ //添加用户
+ moneyWithdraw.setUserId(bankId.getUserId());
+ //添加记录表
+ purseMapper.addMoneyWithdraw(moneyWithdraw);
+
+ return R.ok(i>0?200:500,i>0?"充值成功":"充值失败");
+ }
+ }
+
+
+ /***
+ * 获取到所有记录表
+ * 用于修改邀请人和被邀请人增加H币
+ * @param invitationRecord
+ * @return
+ */
+ @Override
+ public R> in(InvitationRecordRequest invitationRecord) {
+ //获取所有记录表的数据
+ List 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> ok = R.ok(list);
+ return ok;
+ }
+
+
+ /***
+ * 我的任务
+ * 第一个病友圈首发增加10H币
+ * 根据当前用户id 获取到病友圈的id
+ * 如果病友圈的的发出的时间为当天时间的第一条
+ * 那么 那么加10H币
+ */
+
+
+ /**
+ * 我的任务
+ * 第二个 我的病友圈首发评论 获取到病友圈评论表的id
+ * 如果病友圈的评论发出的时间为当天时间的第一条
+ * 获取到10 H币
+ */
+
+
+ /**
+ * 我的任务 一次性任务
+ * 如果这个方法触发一次 则消失不见 或者前台按钮禁用
+ * 根据登陆者的id获取到信息 点击完善信息 进行修改
+ * 根据当前登录人的用户id获取到这个用户的详情信息 进行修改
+ * 如果 第一次修改 则加10H币 如果不是 则不加币
+ */
+
+
+}
diff --git a/src/main/java/com/ruoyi/mybasic/service/InvitationService.java b/src/main/java/com/ruoyi/mybasic/service/InvitationService.java
new file mode 100644
index 0000000..d5cb4de
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/service/InvitationService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.mybasic.service;
+
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.mybasic.common.domain.request.InvitationRecordRequest;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * @ClassName InvitationService
+ * @Description 描述
+ * @Author WenHao.Sao
+ */
+public interface InvitationService {
+ R> show(@Param("userId") String userId);
+}
diff --git a/src/main/java/com/ruoyi/mybasic/service/PurseService.java b/src/main/java/com/ruoyi/mybasic/service/PurseService.java
new file mode 100644
index 0000000..793d1d5
--- /dev/null
+++ b/src/main/java/com/ruoyi/mybasic/service/PurseService.java
@@ -0,0 +1,43 @@
+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;
+
+/**
+ * @ClassName PurseService
+ * @Description 描述
+ * @Author WenHao.Sao
+ */
+public interface PurseService {
+
+ R show(@Param("userId") String userId);
+
+ R upload(MultipartFile file);
+
+ R> moneyList(@Param("userId") String userId);
+
+ R> moneyTypeList(@Param("userId") String userId);
+
+ R> moneyWithdrawLog(@Param("userId") String userId);
+
+ R topUp(BankId bankId);
+
+ R> in(InvitationRecordRequest invitationRecord);
+
+ R updPurse(PurseRequest purseRequest);
+
+ R> bankId(String userId);
+
+ R bankIdUserId(@Param("userId") String userId);
+
+ R purseWithdraw(BankId bankId);
+}
diff --git a/src/main/resources/banner.txt b/src/main/resources/banner.txt
new file mode 100644
index 0000000..fbd45f5
--- /dev/null
+++ b/src/main/resources/banner.txt
@@ -0,0 +1,10 @@
+Spring Boot Version: ${spring-boot.version}
+Spring Application Name: ${spring.application.name}
+ _ _
+ (_) | |
+ _ __ _ _ ___ _ _ _ ______ ___ _ _ ___ | |_ ___ _ __ ___
+| '__|| | | | / _ \ | | | || ||______|/ __|| | | |/ __|| __| / _ \| '_ ` _ \
+| | | |_| || (_) || |_| || | \__ \| |_| |\__ \| |_ | __/| | | | | |
+|_| \__,_| \___/ \__, ||_| |___/ \__, ||___/ \__| \___||_| |_| |_|
+ __/ | __/ |
+ |___/ |___/
\ No newline at end of file
diff --git a/src/main/resources/bootstrap.yml b/src/main/resources/bootstrap.yml
new file mode 100644
index 0000000..bffd776
--- /dev/null
+++ b/src/main/resources/bootstrap.yml
@@ -0,0 +1,76 @@
+# Tomcat
+server:
+ port: 9001
+
+# Spring
+spring:
+ application:
+ # 应用名称
+ name: health-mybasic
+ profiles:
+ # 环境配置
+ active: dev
+ main:
+ # 允许使用循环引用
+ allow-circular-references: true
+ # 允许定义相同的bean对象 去覆盖原有的
+ allow-bean-definition-overriding: true
+ cloud:
+ nacos:
+ discovery:
+ # 服务注册地址
+ server-addr: 10.100.1.4:8848
+ config:
+ # 配置中心地址
+ server-addr: 10.100.1.4:8848
+ # 配置文件格式
+ file-extension: yml
+ # 共享配置
+ shared-configs:
+ - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
+#沙箱配置
+# alipay.appId: 9021000130611735
+# alipay.appPrivateKey: MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDM7+9TRvFFs0acZNRvgKrTUnig4k1Th/Pl02VRI4aTNpQIHpiTcViytaIr9ByioCNzmE5D3hMMp4arN3MiXnH9c+R9holwDtjbQyDC9QLRwZVMRnduXdZ42h2+5jhbt34wKXp61t3rFW9X9gA2iPJYbV6LRmyX+iuhfGtk5YPrTu307D79E6p7n7h+UBxaS0w0u5pm2eoiKFml3hRRhuY6IqEOo87gg7psjpj+KEV81cpDpvlICYRfVq425PWA+wTKVPsV2YGK0V6da3qbo17bNeBU6vIOUaDDkfflCZG2wSdRKzmrVrrr2i+lzuC3pxNimFDavvaRBdF1RzdvmeHBAgMBAAECggEAIEloxhD2MAn3hOopwctenl5u3MHqds+DcGDmpGrZZ9YAamsPlKMV20ncW9pgrIpYK30CT5TsIWE/STg6Ll78zHZ2uAP7ISllpt2jirN5FzzNXa/4Xu3vvSh36TxyApkdC09tmW7ClafR2+TI0c6vh5jrfTvCHgtu1kk4zjOOngKPxRielI7qcSyO0GGlNPYIXZO7X9De/lqNsAu0e8j8DbAWhOx/0EZ7zpZEBTVyZe2s7Lbq1lEWqn07vYjKWCoAp9O1IEll/9963U5yfV+rMj47lP+k5x/oa6HVd5TxeUeOX2vd/HZitxBeq4lPt5cqHciLWnPgvv68VrviB5pmZQKBgQD/orVuGXdcw3zOBHnzqOclC05sZH2UO6CrJERn82gKCgdx5wQwE1WwqgI0S+oGVpO6wgAM/1g6vT8U6EgovMbdmjZ+Adf657EHLEBOYee34PrVLRcc+uMbFTTwM7E31l+SUIcYLXw2zqu2/QXv7/4K6cWx0cIhCse3NvWc6oRb4wKBgQDNOrlwlYV316ZZp5II5EmqKMEvAx+Lf/4SqPBdj0BDCtZGqM0ADMUCBb0mATnRebalgGqPbIWgIDKrHXUOy2Kr5ARIRERp3oV1csXFAwIgxMncyOKJqGAHZBLeQFkLP6PEL7gniIGAIsIT5ecu5EzuEUQNHxLSVD7c5BZTmK+FCwKBgACNy7LXX0jWK5kOrWz3urh708msVhFSJ8D3LSbEgj8zUlzO0VWBVTgyxhpy56jn2x4WeYWNsBVAf7h94FomPpAQW3neaydiBSIs2F7TG3tsg16e4GPxrzhJzXmPwxyJ3F8myYQl5RUBUaHt3mtsq7I+W21NNQx5R4GAHvweDfddAoGAPetS2bnzC+ZfhTs+nzopU5J6PrHliZQzVvPrmX7H97JEVgtF1pcDtYl/uQCzrhTX23U0MVOfuWEdiG0ZzT3l5lCkTh1yurJtd7MKIle3A6X79YYSe0/2sSQrYSzu8KrhwSZYnGzeDYfvIEvEBWzSHR3Od1sBtb2/Pav/ZHdztWMCgYEA7/DECBPTvQaXLWYZO96UQ7y1WCelmfCa0XbRvwL/i3DB5/aK0d8eSDUVQ9aXTmegRMcXrvGgf3YmLteipUpwUq0i6KNM/ynDbx3W0LtG53+BOsFSnVkNsN53GZJ6C+ZoxmPcouCWdaxdjPoJFF1pPv1lb8Ia5qnhHaoMjLYoSpQ=
+# alipay.alipayPublicKey: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzO/vU0bxRbNGnGTUb4Cq01J4oOJNU4fz5dNlUSOGkzaUCB6Yk3FYsrWiK/QcoqAjc5hOQ94TDKeGqzdzIl5x/XPkfYaJcA7Y20MgwvUC0cGVTEZ3bl3WeNodvuY4W7d+MCl6etbd6xVvV/YANojyWG1ei0Zsl/oroXxrZOWD607t9Ow+/ROqe5+4flAcWktMNLuaZtnqIihZpd4UUYbmOiKhDqPO4IO6bI6Y/ihFfNXKQ6b5SAmEX1auNuT1gPsEylT7FdmBitFenWt6m6Ne2zXgVOryDlGgw5H35QmRtsEnUSs5q1a669ovpc7gt6cTYphQ2r72kQXRdUc3b5nhwQIDAQAB
+# alipay.notifyUrl: https://openapi-sandbox.dl.alipaydev.com/gateway.do
+# alipay.returnUrl: http://localhost:8000/orders
+##APPID
+# alipay.appId=
+# #开启公钥模式:点击查看中的公钥
+# alipay.appPrivateKey=
+# #开启公钥模式:点击查看中的私钥
+# alipay.alipayPublicKey=
+# #启动nata内网穿透后命令提示框中的http地址,上面启动后保留的地址
+# # /alipay/notify为处理回调参数的接口地址
+# alipay.notifyUrl=http://udgc9y.natappfree.cc/alipay/notify
+#fdfs:
+# so-timeout: 1500 # socket 连接时长
+# connect-timeout: 600 # 连接 tracker 服务器超时时长
+# # 这两个是你服务器的 IP 地址,注意 23000 端口也要打开,阿里云服务器记得配置安全组。tracker 要和 stroage 服务进行交流
+#
+# tracker-list: 10.100.1.4:22122
+# web-server-url: 10.100.1.4:8888
+# pool:
+# jmx-enabled: false
+#
+# # 生成缩略图
+# thumb-image:
+# height: 500
+# width: 500
+## 应用ID,您的APPID
+#alipay.appId: 9021000130611735
+## 支付宝公私钥生成地址:https://miniu.alipay.com/keytool/create
+## 商户私钥,您的PKCS8格式RSA2私钥
+#alipay.merchantPrivateKey: MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDM7+9TRvFFs0acZNRvgKrTUnig4k1Th/Pl02VRI4aTNpQIHpiTcViytaIr9ByioCNzmE5D3hMMp4arN3MiXnH9c+R9holwDtjbQyDC9QLRwZVMRnduXdZ42h2+5jhbt34wKXp61t3rFW9X9gA2iPJYbV6LRmyX+iuhfGtk5YPrTu307D79E6p7n7h+UBxaS0w0u5pm2eoiKFml3hRRhuY6IqEOo87gg7psjpj+KEV81cpDpvlICYRfVq425PWA+wTKVPsV2YGK0V6da3qbo17bNeBU6vIOUaDDkfflCZG2wSdRKzmrVrrr2i+lzuC3pxNimFDavvaRBdF1RzdvmeHBAgMBAAECggEAIEloxhD2MAn3hOopwctenl5u3MHqds+DcGDmpGrZZ9YAamsPlKMV20ncW9pgrIpYK30CT5TsIWE/STg6Ll78zHZ2uAP7ISllpt2jirN5FzzNXa/4Xu3vvSh36TxyApkdC09tmW7ClafR2+TI0c6vh5jrfTvCHgtu1kk4zjOOngKPxRielI7qcSyO0GGlNPYIXZO7X9De/lqNsAu0e8j8DbAWhOx/0EZ7zpZEBTVyZe2s7Lbq1lEWqn07vYjKWCoAp9O1IEll/9963U5yfV+rMj47lP+k5x/oa6HVd5TxeUeOX2vd/HZitxBeq4lPt5cqHciLWnPgvv68VrviB5pmZQKBgQD/orVuGXdcw3zOBHnzqOclC05sZH2UO6CrJERn82gKCgdx5wQwE1WwqgI0S+oGVpO6wgAM/1g6vT8U6EgovMbdmjZ+Adf657EHLEBOYee34PrVLRcc+uMbFTTwM7E31l+SUIcYLXw2zqu2/QXv7/4K6cWx0cIhCse3NvWc6oRb4wKBgQDNOrlwlYV316ZZp5II5EmqKMEvAx+Lf/4SqPBdj0BDCtZGqM0ADMUCBb0mATnRebalgGqPbIWgIDKrHXUOy2Kr5ARIRERp3oV1csXFAwIgxMncyOKJqGAHZBLeQFkLP6PEL7gniIGAIsIT5ecu5EzuEUQNHxLSVD7c5BZTmK+FCwKBgACNy7LXX0jWK5kOrWz3urh708msVhFSJ8D3LSbEgj8zUlzO0VWBVTgyxhpy56jn2x4WeYWNsBVAf7h94FomPpAQW3neaydiBSIs2F7TG3tsg16e4GPxrzhJzXmPwxyJ3F8myYQl5RUBUaHt3mtsq7I+W21NNQx5R4GAHvweDfddAoGAPetS2bnzC+ZfhTs+nzopU5J6PrHliZQzVvPrmX7H97JEVgtF1pcDtYl/uQCzrhTX23U0MVOfuWEdiG0ZzT3l5lCkTh1yurJtd7MKIle3A6X79YYSe0/2sSQrYSzu8KrhwSZYnGzeDYfvIEvEBWzSHR3Od1sBtb2/Pav/ZHdztWMCgYEA7/DECBPTvQaXLWYZO96UQ7y1WCelmfCa0XbRvwL/i3DB5/aK0d8eSDUVQ9aXTmegRMcXrvGgf3YmLteipUpwUq0i6KNM/ynDbx3W0LtG53+BOsFSnVkNsN53GZJ6C+ZoxmPcouCWdaxdjPoJFF1pPv1lb8Ia5qnhHaoMjLYoSpQ=
+## 支付宝公钥,查看地址:https://openhome.alipay.com/platform/keyManage.htm
+#alipay.alipayPublicKey: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzhwYjyXibFiJbj+N15ANZVoQXIprD4LGAtUrt1rDTIz3D+BwouhcGYHV5S+Tin6vJ7jsEul4tU/i+vI+KIHbfr/Kha0MtyUSHjfyf1URZQXxLChYxrjidS/9xF7HYXEUzIRVN55M9Qzk764BrGkdZ5IsuUt32PXFMF4D0MWOynAdBIRRCUVUD0IE1IfcMIhIP1UdjMRLwOGZWHUw8L7B2A/f8hIeAqeWZs+w/Um1m5cKXJceJGxq/QrqLBAFHlF2oKKcVQaFdMgDX3OlKvUzUQ/tz82NpnftB7A2tIHWWmPTRGQ5lwy21/y7jLF91E9YK7Y99HcQT/ag40XJZVQLnwIDAQAB
+## 页面跳转异步通知页面路径,需http://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问
+#alipay.notifyUrl: http://5ktbak.natappfree.cc/payment/alipay
+## 页面跳转同步通知页面路径,需http://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问
+#alipay.returnUrl: http://5ktbak.natappfree.cc/alipayResult
+## 签名方式
+#alipay.signType: RSA2
+## 字符编码格式
+#alipay.charset: utf-8
+## 支付宝网关
+#alipay.gatewayUrl: https://openapi.alipaydev.com/gateway.do
diff --git a/src/main/resources/logback.xml b/src/main/resources/logback.xml
new file mode 100644
index 0000000..08c9e80
--- /dev/null
+++ b/src/main/resources/logback.xml
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+ ${log.pattern}
+
+
+
+
+
+ ${log.path}/info.log
+
+
+
+ ${log.path}/info.%d{yyyy-MM-dd}.log
+
+ 60
+
+
+ ${log.pattern}
+
+
+
+ INFO
+
+ ACCEPT
+
+ DENY
+
+
+
+
+ ${log.path}/error.log
+
+
+
+ ${log.path}/error.%d{yyyy-MM-dd}.log
+
+ 60
+
+
+ ${log.pattern}
+
+
+
+ ERROR
+
+ ACCEPT
+
+ DENY
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/resources/mapper/FavorableRateMapper.xml b/src/main/resources/mapper/FavorableRateMapper.xml
new file mode 100644
index 0000000..9181d5e
--- /dev/null
+++ b/src/main/resources/mapper/FavorableRateMapper.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/resources/mapper/InvitationMapper.xml b/src/main/resources/mapper/InvitationMapper.xml
new file mode 100644
index 0000000..b109ff8
--- /dev/null
+++ b/src/main/resources/mapper/InvitationMapper.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/main/resources/mapper/purseMapper.xml b/src/main/resources/mapper/purseMapper.xml
new file mode 100644
index 0000000..85b6568
--- /dev/null
+++ b/src/main/resources/mapper/purseMapper.xml
@@ -0,0 +1,195 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ update t_bank set num_bank = (num_bank + #{amount} ) where id = #{id}
+
+
+
+ update t_purse set balance_fee = (balance_fee - (#{amount}*100) ) where user_id = #{userId}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ update t_purse set balance_fee = #{balanceFee} where user_id = #{userId}
+
+
+
+
+ insert into t_money_withdraw
+ (
+
+ user_id,
+
+
+ bank_id,
+
+
+ statue,
+
+
+ amount,
+
+ create_time
+ )
+ values
+ (
+
+ #{userId},
+
+
+ #{bankId},
+
+
+ #{statue},
+
+
+ #{amount},
+
+ now()
+ )
+
+
+
+
+
+
+
+
+
+
+
+
+ update t_purse set balance_fee = (balance_fee + (#{amount} * 100)) where user_id = #{userId}
+
+
+ update t_purse set balance_fee = #{balanceFee} where user_id = #{inviterId}
+
+
+ update t_purse set balance_fee = #{balanceFee} where user_id = #{inviteeId}
+
+
+
+ update t_purse set
+
+ wallet_income = wallet_income+#{amount},
+ balance_fee = balance_fee + #{amount},
+
+
+ wallet_outcome = #{amount},
+ balance_fee = balance_fee - #{amount},
+
+ update_time = now()
+ where user_id = #{userId}
+
+
+
+
+
+
+ update t_bank set
+
+ num_bank = #{}
+
+
+ where id = #{id}
+
+
+
+
+ insert into money_logs
+ (
+
+
+ money_type_id,
+
+
+ user_id,
+
+
+ amount_income,
+
+
+ status,
+
+ create_time
+ )
+ values
+ (
+
+
+ #{moneyTypeId},
+
+
+ #{userId},
+
+
+ #{amountIncome},
+
+ 2,
+ now()
+ )
+
+
+