邵文豪我的模块

pull/1/head
shaowenhao 2023-10-26 08:47:48 +08:00
commit 3dd4b9112e
60 changed files with 2695 additions and 0 deletions

46
.gitignore vendored 100644
View File

@ -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

195
pom.xml 100644
View File

@ -0,0 +1,195 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>com.ruoyi</groupId>
<artifactId>one-health</artifactId>
<version>3.6.3</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>one-health-mybasic</artifactId>
<version>3.6.3</version>
<description>
one-health-mybasic 我的钱包
</description>
<repositories>
<repository>
<id>menghang-public</id>
<name>梦航-public</name>
<url>http://10.100.1.6:8081/repository/maven-public/</url>
</repository>
</repositories>
<distributionManagement>
<repository>
<id>menghang-releases</id>
<name>梦航-releases</name>
<url>http://10.100.1.6:8081/repository/maven-releases/</url>
</repository>
</distributionManagement>
<dependencies>
<!-- SpringCloud Alibaba Nacos -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- SpringCloud Alibaba Nacos Config -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<!-- SpringCloud Alibaba Sentinel -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
<!-- SpringBoot Actuator -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!-- Swagger UI -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${swagger.fox.version}</version>
</dependency>
<!-- Mysql Connector -->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
</dependency>
<!-- RuoYi Common DataSource -->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>health-common-datasource</artifactId>
<version>3.6.3</version>
</dependency>
<!-- RuoYi Common DataScope -->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>health-common-datascope</artifactId>
<version>3.6.3</version>
</dependency>
<!-- RuoYi Common Log -->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>health-common-log</artifactId>
<version>3.6.3</version>
</dependency>
<!-- RuoYi Common Swagger -->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>health-common-swagger</artifactId>
<version>3.6.3</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.28</version>
</dependency>
<dependency>
<groupId>com.github.tobato</groupId>
<artifactId>fastdfs-client</artifactId>
<version>1.26.5</version>
</dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>health-common-core</artifactId>
<version>3.6.3</version>
</dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>health-common-security</artifactId>
<version>3.6.3</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-autoconfigure</artifactId>
<version>2.7.13</version>
</dependency>
<!--支付宝沙箱依赖-->
<!-- <dependency>-->
<!-- <groupId>com.alipay.sdk</groupId>-->
<!-- <artifactId>alipay-sdk-java</artifactId>-->
<!-- <version>4.22.110.ALL</version>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>cn.hutool</groupId>-->
<!-- <artifactId>hutool-all</artifactId>-->
<!-- <version>5.8.18</version>-->
<!-- </dependency>-->
<!-- 重要-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>3.5.2</version>
</dependency>
<!-- 支付宝沙盒依赖-->
<dependency>
<groupId>com.alipay.sdk</groupId>
<artifactId>alipay-sdk-java</artifactId>
<version>4.22.110.ALL</version>
</dependency>
<dependency>
<groupId>com.alipay.sdk</groupId>
<artifactId>alipay-easysdk</artifactId>
<version>2.2.3</version>
</dependency>
<!-- FastDFS图片上传 -->
<!-- <dependency>-->
<!-- <groupId>com.github.tobato</groupId>-->
<!-- <artifactId>fastdfs-client</artifactId>-->
<!-- <version>1.26.5</version>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>com.itextpdf</groupId>-->
<!-- <artifactId>itextpdf</artifactId>-->
<!-- <version>5.5.13.2</version>-->
<!-- </dependency>-->
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@ -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" +
" ''-' `'-' `-..-' ");
}
}

View File

@ -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;//银行卡余额
//}

View File

@ -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;//创建时间
//
//
//}

View File

@ -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;//患者问诊数量
//
//
//}

View File

@ -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;//赠送时间
//
//}

View File

@ -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;//礼物价值
//}

View File

@ -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;//籍贯
}

View File

@ -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;//评价星星
//}

View File

@ -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;//邀请时间
//
//}

View File

@ -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;//钱包表主键(用户主键)
//
//
//}

View File

@ -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;//详情
//
//
//}

View File

@ -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:已提现
//
//
//
//
//}

View File

@ -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;//获取前台输入的金额
//
//
//}

View File

@ -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;
}
}

View File

@ -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;//所属用户主建
}

View File

@ -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;//主键
//
//}

View File

@ -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
}

View File

@ -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
}

View File

@ -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;//礼物标识
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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;//邀请类型
}

View File

@ -0,0 +1,12 @@
package com.ruoyi.mybasic.common.domain.request;
import lombok.Data;
/**
* @ClassName InviteRequest
* @Description
* @Author WenHao.Sao
*/
@Data
public class InviteRequest {
}

View File

@ -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;//钱包表主键(用户主键)
}

View File

@ -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
}

View File

@ -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;//提现用户编号
}

View File

@ -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
}

View File

@ -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;//银行卡余额
}

View File

@ -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;//创建时间
}

View File

@ -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;//患者问诊数量
}

View File

@ -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;//赠送时间
}

View File

@ -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;//礼物价值
}

View File

@ -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;//评价星星
}

View File

@ -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;//邀请时间
}

View File

@ -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;//详情
}

View File

@ -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;//详情
}

View File

@ -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;//提现金额
}

View File

@ -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;//钱包总支出额
}

View File

@ -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<String,String> params = new HashMap<String,String>();
// 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<String, String> 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();
// }
//}
//

View File

@ -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"10
*
* idlist
*/
@PostMapping("/reputation")
public R<List<InterrogationRequest>> reputation(@RequestBody InterrogationRequest interrogation){
int count = 0;
int num = 0;
int sum = 0;
//首先查询完成问诊的 根据 状态字段判断有没有结束问诊
List<InterrogationRequest> interrogationStatus = favorableRateService.interrogationStatus(interrogation);
//如果问诊正在进行
for (InterrogationRequest status : interrogationStatus) {
if (status.getStatus() == 0){
return R.fail("问诊还未结束");
}else {
//问诊总数计数
count++;
//然后调用上面的的size获取到总数
interrogation.setCount(count);
//获取到评价>=3的数量算是好评
List<InterrogationRequest> 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<List<ConsultationRequest>> 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<List<DoctorGiftRecordRequest>> giftList(@PathVariable String userId){
log.info("获取请求参数" +userId);
return favorableRateService.giftList(userId);
}
}

View File

@ -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<List<InvitationRecordRequest>> show(@PathVariable String userId){
return invitationService.show(userId);
}
}

View File

@ -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";
/**
* IDH
* 访
*/
@PostMapping("/purseList/{userId}")
public R<PurseResponse> purseList(@PathVariable String userId){
R<PurseResponse> show = purseService.show(userId);
return show;
}
/**
* userId
*/
@PostMapping("/bankId/{userId}}")
public R<List<BankResponse>> bankId(@PathVariable String userId){
return purseService.bankId(userId);
}
/**
*
*/
@PostMapping("/bankId/{userId}")
public R<BankResponse> bankIdUserId(@PathVariable String userId){
return purseService.bankIdUserId(userId);
}
/**
*
* id
*/
@GetMapping("/moneyList/{userId}")
public R<List<MoneyLogsResponse>> moneyList(@PathVariable String userId){
return purseService.moneyList(userId);
}
/**
*
* user_id
*/
@GetMapping("/moneyTypeList/{userId}")
public R<List<MoneyTypeRequest>> moneyTypeList(@PathVariable String userId){
return purseService.moneyTypeList(userId);
}
/**
*
* Id
*/
@GetMapping("/moneyWithdrawLog/{userId}")
public R<List<MoneyWithdrawResponse>> moneyWithdrawLog(@PathVariable String userId){
return purseService.moneyWithdrawLog(userId);
}
/**
* user_id
*/
@PostMapping("/updPurse")
public R updPurse(@RequestBody PurseRequest purseRequest){
return purseService.updPurse(purseRequest);
}
/**
* H
* H
* H100
* H
*
*/
@PostMapping("/purseWithdraw")
public R purseWithdraw(@RequestBody BankId bankId){
return purseService.purseWithdraw(bankId);
}
/**
*
* 100 == H
*
* id
*/
@PostMapping("/topUp")
public R<Integer> 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<List<InvitationRecordRequest>> 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<String, String> paramters = new HashMap<>();
Map<String, String[]> requestParams = request.getParameterMap();
System.out.println(requestParams.toString());
for (Map.Entry<String, String[]> entry : requestParams.entrySet()) {
String key = entry.getKey();
String[] value = entry.getValue();
String valuesStr="";
for (int i = 0; i < value.length; i++) {
valuesStr=(i==value.length-1)?valuesStr+value[i]:valuesStr+value[i]+",";
}
paramters.put(key,valuesStr);
}
String appId = request.getParameter("app_id");
String merchantOrderNo = request.getParameter("out_trade_no");
String tradeNo = request.getParameter("trade_no");
try{
String payState = request.getParameter("trade_status");
BigDecimal totalAmount = new BigDecimal(request.getParameter("total_amount"));
BigDecimal receiptAmount = new BigDecimal(request.getParameter("receipt_amount"));
log.info("交易状态:{},支付金额:{},实际金额为:{}",payState,tradeNo,receiptAmount);
boolean signVerified = AlipaySignature.rsaCheckV1(paramters, ZFB__PUBLIC_KEY, "UTF-8", SING_TYPE);
if(signVerified && APP_ID.equals(appId) && "TRADE_SUCCESS".equals(payState)){
System.out.println("成功返回");
feignServiceTemplate.payMoney(Long.valueOf(merchantOrderNo));
return "success";
}else{
}
}catch (AlipayApiException e){
log.error(e.getErrMsg());
throw new 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("成功取消");
// }
}

View File

@ -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) {
}
}

View File

@ -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<ConsultationRequest> consultationList(String userId);
List<InterrogationRequest> interrogationStatus(InterrogationRequest interrogation);
List<InterrogationRequest> evaluateCount(InterrogationRequest status);
List<DoctorGiftRecordRequest> giftList(@Param("userId") String userId);
}

View File

@ -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<InvitationRecordRequest> show(@Param("userId") String userId);
PurseRequest Inviteramount(long inviterId);
PurseRequest Inviteeamount(long inviteeId);
}

View File

@ -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<MoneyLogsResponse> moneyList(@Param("userId") String userId);
List<MoneyWithdrawResponse> moneyWithdrawLog(@Param("userId") String userId);
void addMoneyWithdraw(MoneyWithdrawResponse moneyWithdraw);
List<BankResponse> bankId(String userId);
List<InvitationRecordRequest> in(InvitationRecordRequest invitationRecord);
void updInviter(long inviterId);
void updInvitee(long inviteeId);
// void addmonyRecord(@Param("s") String s);
void addmonyRecord1(MoneyLogsResponse moneyLogs);
List<MoneyTypeRequest> moneyTypeList(@Param("userId") String userId);
PurseResponse show(@Param("userId") String userId);
Integer updPurse(PurseRequest purseRequest);
BankId bankNumBank(@Param("id") long id);
PurseResponse updPurseBalanceFee(PurseRequest purse);
BankResponse bankIdUserId(@Param("userId") String userId);
BankResponse selBankNumBank(@Param("bankId") int bankId);
Integer updBankNumBank(PurseRequest purse);
Integer topUp(BankId bankId);
//根据id获取到银行卡的对象
BankId selectBank(@Param("id") long id);
Integer updBank(BankId bankId);
Integer updPurseAmount(BankId bankId);
}

View File

@ -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<List<ConsultationRequest>> countPatient(@Param("userId") String userId);
List<InterrogationRequest> interrogationStatus(InterrogationRequest interrogation);
List<InterrogationRequest> evaluateCount(InterrogationRequest status);
R<List<DoctorGiftRecordRequest>> giftList(@Param("userId") String userId);
}

View File

@ -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<List<ConsultationRequest>> countPatient(String userId) {
ConsultationRequest consultation = new ConsultationRequest();
//首先查询状态字段为一的 0 未完成 1 完成
consultation.setCount(favorableRateMapper.statusCount(consultation));
List<ConsultationRequest> consultationList = favorableRateMapper.consultationList(userId);
R<List<ConsultationRequest>> ok = R.ok(consultationList);
return ok;
}
/**
*
* @param interrogation
* @return
*/
@Override
public List<InterrogationRequest> interrogationStatus(@RequestBody InterrogationRequest interrogation) {
return favorableRateMapper.interrogationStatus(interrogation);
}
/**
*
* @param status
* @return
*/
@Override
public List<InterrogationRequest> evaluateCount(InterrogationRequest status) {
return favorableRateMapper.evaluateCount(status);
}
/**
*
*
* @param userId
* @return
*/
@Override
public R<List<DoctorGiftRecordRequest>> giftList(String userId) {
List<DoctorGiftRecordRequest> giftList = favorableRateMapper.giftList(userId);
R<List<DoctorGiftRecordRequest>> success = R.ok(giftList);
return success;
}
}

View File

@ -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<List<InvitationRecordRequest>> show(String userId) {
//获取到邀请记录表
List<InvitationRecordRequest> 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<List<InvitationRecordRequest>> ok = R.ok(list);
return ok;
}
}

View File

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

View File

@ -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<List<InvitationRecordRequest>> show(@Param("userId") String userId);
}

View File

@ -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<PurseResponse> show(@Param("userId") String userId);
R upload(MultipartFile file);
R<List<MoneyLogsResponse>> moneyList(@Param("userId") String userId);
R<List<MoneyTypeRequest>> moneyTypeList(@Param("userId") String userId);
R<List<MoneyWithdrawResponse>> moneyWithdrawLog(@Param("userId") String userId);
R<Integer> topUp(BankId bankId);
R<List<InvitationRecordRequest>> in(InvitationRecordRequest invitationRecord);
R updPurse(PurseRequest purseRequest);
R<List<BankResponse>> bankId(String userId);
R<BankResponse> bankIdUserId(@Param("userId") String userId);
R purseWithdraw(BankId bankId);
}

View File

@ -0,0 +1,10 @@
Spring Boot Version: ${spring-boot.version}
Spring Application Name: ${spring.application.name}
_ _
(_) | |
_ __ _ _ ___ _ _ _ ______ ___ _ _ ___ | |_ ___ _ __ ___
| '__|| | | | / _ \ | | | || ||______|/ __|| | | |/ __|| __| / _ \| '_ ` _ \
| | | |_| || (_) || |_| || | \__ \| |_| |\__ \| |_ | __/| | | | | |
|_| \__,_| \___/ \__, ||_| |___/ \__, ||___/ \__| \___||_| |_| |_|
__/ | __/ |
|___/ |___/

View File

@ -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

View File

@ -0,0 +1,74 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<!-- 日志存放路径 -->
<property name="log.path" value="./logs/ruoyi-circle" />
<!-- 日志输出格式 -->
<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />
<!-- 控制台输出 -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
</appender>
<!-- 系统日志输出 -->
<appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/info.log</file>
<!-- 循环政策:基于时间创建日志文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/info.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 过滤的级别 -->
<level>INFO</level>
<!-- 匹配时的操作:接收(记录) -->
<onMatch>ACCEPT</onMatch>
<!-- 不匹配时的操作:拒绝(不记录) -->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/error.log</file>
<!-- 循环政策:基于时间创建日志文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/error.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 过滤的级别 -->
<level>ERROR</level>
<!-- 匹配时的操作:接收(记录) -->
<onMatch>ACCEPT</onMatch>
<!-- 不匹配时的操作:拒绝(不记录) -->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 系统模块日志级别控制 -->
<logger name="com.ruoyi" level="info" />
<!-- Spring日志级别控制 -->
<logger name="org.springframework" level="warn" />
<root level="info">
<appender-ref ref="console" />
</root>
<!--系统操作日志-->
<root level="info">
<appender-ref ref="file_info" />
<appender-ref ref="file_error" />
</root>
</configuration>

View File

@ -0,0 +1,33 @@
<?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.FavorableRateMapper">
<select id="statusCount" resultType="java.lang.Integer">
select * from t_consultation where status = 1
</select>
<select id="consultationList" resultType="com.ruoyi.mybasic.common.domain.request.ConsultationRequest">
select * from t_consultation where user_id = #{userId}
</select>
<select id="interrogationStatus" resultType="com.ruoyi.mybasic.common.domain.request.InterrogationRequest">
select * from t_interrogation where status = 1
</select>
<select id="evaluateCount" resultType="com.ruoyi.mybasic.common.domain.request.InterrogationRequest">
select * from t_interrogation where evaluate >=3
</select>
<!-- 当前医生登录的获取到礼物列表-->
<select id="giftList" resultType="com.ruoyi.mybasic.common.domain.request.DoctorGiftRecordRequest">
SELECT
g2.*,
g1.gift_name,
g1.gift_image,
g1.gift_values
FROM
t_gift g1
LEFT JOIN doctor_gift_record g2 ON g1.id = g2.gift_id
WHERE
g2.doctor_id = #{userId}
</select>
</mapper>

View File

@ -0,0 +1,25 @@
<?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.InvitationMapper">
<select id="show" resultType="com.ruoyi.mybasic.common.domain.request.InvitationRecordRequest">
</select>
<select id="Inviteramount" resultType="com.ruoyi.mybasic.common.domain.request.PurseRequest">
SELECT
ir.inviter_id AS 邀请人,
ir.invitee_id AS 被邀请人
FROM
invitation_record ir
LEFT JOIN t_user USER ON ir.inviter_id = USER.id
</select>
<select id="Inviteeamount" resultType="com.ruoyi.mybasic.common.domain.request.PurseRequest">
SELECT
ir.inviter_id AS 邀请人,
ir.invitee_id AS 被邀请人
FROM
invitation_record ir
LEFT JOIN t_user USER ON ir.inviter_id = USER.id
</select>
</mapper>

View File

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