提现逻辑

main
13233904609 3 months ago
parent 208680f44e
commit 7c0f65f4ce

@ -46,11 +46,11 @@ public class KeyContent {
* @param fileName * @param fileName
* @return Base64 * @return Base64
*/ */
public static String getKeyContentByFileName(String fileName) { public static String getKeyContentByFileName(String fileName) throws IOException {
String base64Encoded = "";
try {
ClassPathResource classPathResource = new ClassPathResource(fileName); ClassPathResource classPathResource = new ClassPathResource(fileName);
InputStream inputStream = classPathResource.getInputStream(); InputStream inputStream = classPathResource.getInputStream();
String base64Encoded = "";
try {
// 读取 文件的内容 // 读取 文件的内容
byte[] p12Bytes = IOUtils.toByteArray(inputStream); byte[] p12Bytes = IOUtils.toByteArray(inputStream);

@ -20,6 +20,7 @@ import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.validation.Valid; import javax.validation.Valid;
import java.io.IOException;
import java.util.Map; import java.util.Map;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@ -40,7 +41,7 @@ public class BrokerageWithdrawController {
@PutMapping("/approve") @PutMapping("/approve")
@Operation(summary = "通过申请") @Operation(summary = "通过申请")
@PreAuthorize("@ss.hasPermission('trade:brokerage-withdraw:audit')") @PreAuthorize("@ss.hasPermission('trade:brokerage-withdraw:audit')")
public CommonResult<Boolean> approveBrokerageWithdraw(@RequestParam("id") Integer id) { public CommonResult<Boolean> approveBrokerageWithdraw(@RequestParam("id") Integer id) throws IOException {
brokerageWithdrawService.auditBrokerageWithdraw(id, BrokerageWithdrawStatusEnum.AUDIT_SUCCESS, ""); brokerageWithdrawService.auditBrokerageWithdraw(id, BrokerageWithdrawStatusEnum.AUDIT_SUCCESS, "");
return success(true); return success(true);
} }
@ -48,7 +49,7 @@ public class BrokerageWithdrawController {
@PutMapping("/reject") @PutMapping("/reject")
@Operation(summary = "驳回申请") @Operation(summary = "驳回申请")
@PreAuthorize("@ss.hasPermission('trade:brokerage-withdraw:audit')") @PreAuthorize("@ss.hasPermission('trade:brokerage-withdraw:audit')")
public CommonResult<Boolean> rejectBrokerageWithdraw(@Valid @RequestBody BrokerageWithdrawRejectReqVO reqVO) { public CommonResult<Boolean> rejectBrokerageWithdraw(@Valid @RequestBody BrokerageWithdrawRejectReqVO reqVO) throws IOException {
brokerageWithdrawService.auditBrokerageWithdraw(reqVO.getId(), BrokerageWithdrawStatusEnum.AUDIT_FAIL, reqVO.getAuditReason()); brokerageWithdrawService.auditBrokerageWithdraw(reqVO.getId(), BrokerageWithdrawStatusEnum.AUDIT_FAIL, reqVO.getAuditReason());
return success(true); return success(true);
} }

@ -5,6 +5,8 @@ import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.security.core.annotations.PreAuthenticated; import cn.iocoder.yudao.framework.security.core.annotations.PreAuthenticated;
import cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils; import cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils;
import cn.iocoder.yudao.module.member.api.level.MemberLevelApi;
import cn.iocoder.yudao.module.member.api.level.dto.MemberLevelRespDTO;
import cn.iocoder.yudao.module.member.api.user.MemberUserApi; import cn.iocoder.yudao.module.member.api.user.MemberUserApi;
import cn.iocoder.yudao.module.member.api.user.dto.MemberUserRespDTO; import cn.iocoder.yudao.module.member.api.user.dto.MemberUserRespDTO;
import cn.iocoder.yudao.module.pay.api.wallet.PayWalletApi; import cn.iocoder.yudao.module.pay.api.wallet.PayWalletApi;
@ -32,6 +34,7 @@ import javax.annotation.Resource;
import javax.validation.Valid; import javax.validation.Valid;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.Collections; import java.util.Collections;
import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Optional; import java.util.Optional;
@ -60,6 +63,9 @@ public class AppBrokerageUserController {
@Resource @Resource
private PayWalletApi payWalletApi; private PayWalletApi payWalletApi;
// @Resource
// private MemberLevelApi memberLevelApi;
@GetMapping("/get") @GetMapping("/get")
@Operation(summary = "获得个人钱包信息") @Operation(summary = "获得个人钱包信息")
@PreAuthenticated @PreAuthenticated

@ -12,6 +12,12 @@ public class AppBrokerageUserChildSummaryRespVO {
@Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "10") @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
private Long id; private Long id;
@Schema(description = "会员等级id", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
private Long levelId;
@Schema(description = "会员等级名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
private String levelName;
@Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "小王") @Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "小王")
private String nickname; private String nickname;

@ -7,6 +7,7 @@ import cn.iocoder.yudao.module.trade.dal.dataobject.brokerage.BrokerageWithdrawD
import cn.iocoder.yudao.module.trade.enums.brokerage.BrokerageWithdrawStatusEnum; import cn.iocoder.yudao.module.trade.enums.brokerage.BrokerageWithdrawStatusEnum;
import cn.iocoder.yudao.module.trade.service.brokerage.bo.BrokerageWithdrawSummaryRespBO; import cn.iocoder.yudao.module.trade.service.brokerage.bo.BrokerageWithdrawSummaryRespBO;
import java.io.IOException;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -28,7 +29,7 @@ public interface BrokerageWithdrawService {
* @param status * @param status
* @param auditReason * @param auditReason
*/ */
void auditBrokerageWithdraw(Integer id, BrokerageWithdrawStatusEnum status, String auditReason); void auditBrokerageWithdraw(Integer id, BrokerageWithdrawStatusEnum status, String auditReason) throws IOException;
/** /**
* *

@ -30,7 +30,6 @@ import cn.iocoder.yudao.module.trade.service.brokerage.bo.BrokerageWithdrawSumma
import cn.iocoder.yudao.module.trade.service.config.TradeConfigService; import cn.iocoder.yudao.module.trade.service.config.TradeConfigService;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@ -42,11 +41,9 @@ import java.io.InputStreamReader;
import java.net.HttpURLConnection; import java.net.HttpURLConnection;
import java.net.URL; import java.net.URL;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.Collection; import java.util.*;
import java.util.Collections; import org.springframework.core.io.ResourceLoader;
import java.util.List; import org.springframework.beans.factory.annotation.Value;
import java.util.Map;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.pay.enums.wallet.PayWalletBizTypeEnum.RECHARGE; import static cn.iocoder.yudao.module.pay.enums.wallet.PayWalletBizTypeEnum.RECHARGE;
import static cn.iocoder.yudao.module.trade.enums.ErrorCodeConstants.*; import static cn.iocoder.yudao.module.trade.enums.ErrorCodeConstants.*;
@ -95,10 +92,12 @@ public class BrokerageWithdrawServiceImpl implements BrokerageWithdrawService {
@Value("${alipay.alipayRootCertPath}") @Value("${alipay.alipayRootCertPath}")
private String alipayRootCertPath; private String alipayRootCertPath;
@Resource
private ResourceLoader resourceLoader;
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void auditBrokerageWithdraw(Integer id, BrokerageWithdrawStatusEnum status, String auditReason) { public void auditBrokerageWithdraw(Integer id, BrokerageWithdrawStatusEnum status, String auditReason) throws IOException {
// 1.1 校验存在 // 1.1 校验存在
BrokerageWithdrawDO withdraw = validateBrokerageWithdrawExists(id); BrokerageWithdrawDO withdraw = validateBrokerageWithdrawExists(id);
// 1.2 校验状态为审核中 // 1.2 校验状态为审核中
@ -139,7 +138,7 @@ public class BrokerageWithdrawServiceImpl implements BrokerageWithdrawService {
paramMap.put("account", "13233904609");//账号 paramMap.put("account", "13233904609");//账号
paramMap.put("name", "马腾达"); paramMap.put("name", "马腾达");
paramMap.put("amount", "0.1"); paramMap.put("amount", "0.1");
String result= HttpUtil.post(gateway, JSON.toJSONString(paramMap)); String result= HttpUtil.post(gateway, paramMap);
System.out.println(result); System.out.println(result);
} }
// TODO 疯狂:调用转账接口 // TODO 疯狂:调用转账接口

@ -5,7 +5,7 @@
<select id="selectSummaryPageByUserId" <select id="selectSummaryPageByUserId"
resultType="cn.iocoder.yudao.module.trade.controller.app.brokerage.vo.user.AppBrokerageUserChildSummaryRespVO"> resultType="cn.iocoder.yudao.module.trade.controller.app.brokerage.vo.user.AppBrokerageUserChildSummaryRespVO">
select * from (SELECT bu.id, bu.bind_user_time AS brokerageTime, select * from (SELECT bu.id, bu.bind_user_time AS brokerageTime,u.level_id as levelId,l.name as levelName,
(SELECT SUM(price) FROM trade_brokerage_record r (SELECT SUM(price) FROM trade_brokerage_record r
WHERE r.user_id = bu.id AND biz_type = #{bizType} AND r.status = #{status} AND r.deleted = FALSE) AS WHERE r.user_id = bu.id AND biz_type = #{bizType} AND r.status = #{status} AND r.deleted = FALSE) AS
brokeragePrice, brokeragePrice,
@ -14,7 +14,7 @@
brokerageOrderCount, brokerageOrderCount,
(SELECT COUNT(1) FROM trade_brokerage_user c (SELECT COUNT(1) FROM trade_brokerage_user c
WHERE c.bind_user_id = bu.id AND c.deleted = FALSE) AS brokerageUserCount WHERE c.bind_user_id = bu.id AND c.deleted = FALSE) AS brokerageUserCount
FROM trade_brokerage_user AS bu FROM trade_brokerage_user AS bu left join member_user as u on bu.id = u.id left join member_level as l on u.level_id = l.id
<where> <where>
bu.deleted = false bu.deleted = false
</where> </where>

@ -38,4 +38,10 @@ public class DistributionConfigPageReqVO extends PageParam {
@Schema(description = "限购次数", example = "1") @Schema(description = "限购次数", example = "1")
private Integer purchaseNum; private Integer purchaseNum;
/**
* 501
*/
@Schema(description = "是否参与5出一01", example = "1")
private String fiveStatus;
} }

@ -51,4 +51,10 @@ public class DistributionConfigRespVO {
@Schema(description = "限购次数", example = "1") @Schema(description = "限购次数", example = "1")
private Integer purchaseNum; private Integer purchaseNum;
/**
* 501
*/
@Schema(description = "是否参与5出一01", example = "1")
private String fiveStatus;
} }

@ -36,4 +36,9 @@ public class DistributionConfigSaveReqVO {
@Schema(description = "限购次数", example = "1") @Schema(description = "限购次数", example = "1")
private Integer purchaseNum; private Integer purchaseNum;
/**
* 501
*/
@Schema(description = "是否参与5出一01", example = "1")
private String fiveStatus;
} }

@ -47,5 +47,9 @@ public class DistributionConfigDO extends BaseDO {
* *
*/ */
private Integer purchaseNum; private Integer purchaseNum;
/**
*
*/
private String fiveStatus;
} }

@ -412,7 +412,9 @@ public class MemberUserServiceImpl implements MemberUserService {
MemberUserDO user = memberUserMapper.selectById(userId); MemberUserDO user = memberUserMapper.selectById(userId);
MemberLevelDO memberLevelDO = memberLevelMapper.selectById(user.getLevelId()); MemberLevelDO memberLevelDO = memberLevelMapper.selectById(user.getLevelId());
//查询推广员配置信息 //查询推广员配置信息
if(ObjectUtil.isNotEmpty(distributionConfigDO.getLevelId())){
MemberLevelDO configLevelDO = memberLevelMapper.selectById(distributionConfigDO.getLevelId()); MemberLevelDO configLevelDO = memberLevelMapper.selectById(distributionConfigDO.getLevelId());
if(ObjectUtil.isNotNull(configLevelDO)){
if(ObjectUtil.isEmpty(memberLevelDO)){ if(ObjectUtil.isEmpty(memberLevelDO)){
//修改购买人会员等级 //修改购买人会员等级
int i = memberUserMapper.updateById(new MemberUserDO() int i = memberUserMapper.updateById(new MemberUserDO()
@ -436,15 +438,18 @@ public class MemberUserServiceImpl implements MemberUserService {
); );
} }
} }
}
}
MemberLevelDO userLevel = memberLevelMapper.selectById(user.getLevelId());
//查询配置中添加的等级奖励 //查询配置中添加的等级奖励
List<DistributionMebConfigDO> distributionMebConfigDOS = distributionMebConfigMapper.selectList(new LambdaQueryWrapperX<DistributionMebConfigDO>() List<DistributionMebConfigDO> distributionMebConfigDOS = distributionMebConfigMapper.selectList(new LambdaQueryWrapperX<DistributionMebConfigDO>()
.eq(DistributionMebConfigDO::getConfigId, distributionConfigDO.getId()) .eq(DistributionMebConfigDO::getConfigId, distributionConfigDO.getId())
.eq(DistributionMebConfigDO::getDeleted, 0) .eq(DistributionMebConfigDO::getDeleted, 0)
.orderByAsc(DistributionMebConfigDO::getLevelId)); .orderByAsc(DistributionMebConfigDO::getLevelId));
//添加5占一 //添加5占一
if(ObjectUtil.equal(distributionConfigDO.getFiveStatus(),"0")){
if(ObjectUtil.isNotEmpty(distributionMebConfigDOS)){ if(ObjectUtil.isNotEmpty(distributionMebConfigDOS)){
Long l = distributionLogMapper.selectCount(new LambdaQueryWrapperX<DistributionLogDO>().eq(DistributionLogDO::getMebId, userId) Long l = distributionLogMapper.selectCount(new LambdaQueryWrapperX<DistributionLogDO>().eq(DistributionLogDO::getMebId, userId).eq(DistributionLogDO::getGameStatus,"0")
.orderByAsc(DistributionLogDO::getCreateTime)); .orderByAsc(DistributionLogDO::getCreateTime));
if(l == 0){ if(l == 0){
//添加5占一游戏 //添加5占一游戏
@ -483,7 +488,7 @@ public class MemberUserServiceImpl implements MemberUserService {
} }
brokerageRecordDO.setTotalPrice(totalPrice+1188*100);//当前总佣金 brokerageRecordDO.setTotalPrice(totalPrice+1188*100);//当前总佣金
brokerageRecordDO.setStatus(1); brokerageRecordDO.setStatus(1);
brokerageRecordDO.setSourceUserLevel(configLevelDO.getLevel()); brokerageRecordDO.setSourceUserLevel(userLevel.getLevel());
brokerageRecordDO.setSourceUserId(userId); brokerageRecordDO.setSourceUserId(userId);
brokerageRecordMapper.insert(brokerageRecordDO); brokerageRecordMapper.insert(brokerageRecordDO);
//修改推广员佣金 //修改推广员佣金
@ -493,6 +498,7 @@ public class MemberUserServiceImpl implements MemberUserService {
} }
} }
} }
}
//发放直销奖励 //发放直销奖励
//查询推广员 //查询推广员
@ -531,7 +537,7 @@ public class MemberUserServiceImpl implements MemberUserService {
} }
brokerageRecordDO.setTotalPrice(totalPrice+eg.getBrokerage()*100);//当前总佣金 brokerageRecordDO.setTotalPrice(totalPrice+eg.getBrokerage()*100);//当前总佣金
brokerageRecordDO.setStatus(1); brokerageRecordDO.setStatus(1);
brokerageRecordDO.setSourceUserLevel(configLevelDO.getLevel()); brokerageRecordDO.setSourceUserLevel(userLevel.getLevel());
brokerageRecordDO.setSourceUserId(userId); brokerageRecordDO.setSourceUserId(userId);
brokerageRecordMapper.insert(brokerageRecordDO); brokerageRecordMapper.insert(brokerageRecordDO);
//修改推广员佣金 //修改推广员佣金

@ -0,0 +1,43 @@
-----BEGIN CERTIFICATE-----
MIIDuzCCAqOgAwIBAgIQICQIKKFZx8IHHE8qUBk1ljANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UE
BhMCQ04xFjAUBgNVBAoMDUFudCBGaW5hbmNpYWwxIDAeBgNVBAsMF0NlcnRpZmljYXRpb24gQXV0
aG9yaXR5MTkwNwYDVQQDDDBBbnQgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IENs
YXNzIDIgUjEwHhcNMjQwODI4MDcxNjQ4WhcNMjkwODI3MDcxNjQ4WjCBmzELMAkGA1UEBhMCQ04x
NjA0BgNVBAoMLeays+WNl+mDkeWkp+S6kuiBlOe9keS/oeaBr+acjeWKoeaciemZkOWFrOWPuDEP
MA0GA1UECwwGQWxpcGF5MUMwQQYDVQQDDDrmlK/ku5jlrp0o5Lit5Zu9Kee9kee7nOaKgOacr+ac
iemZkOWFrOWPuC0yMDg4OTQxMDE5MDkxMTIzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAgaTVxb2au7xBPs4c9PKeFyq4r8v9zgBeHAjzgWDEuVYWdCsFLMxNHD+Z2amx+kpEGRzoiQm2
XP5ik814vNxK6vZ0fBPh1pxryw/bWIso0krwvIA2JbBRTmgq/T8sLrid2iJI5Z0OReAgwRofeTsH
UdkWKIMbfFLTjn6zn3KJnacr+aS2ei8axYpaQw6vup8QTx52qAi9eKKilifd8nHkF41LFAT2fKLK
pXrvka8zNEp2ydj7JxMAMs+IXZGxBGSGPmHpinkZzfVKiR0kbFM5gMOIdJ/jrFrLbGn3WlmCmj0q
Tm0GbJVx0YCI1ctu/rNxZaYJ55ThNVvtMQ4c7c+NawIDAQABoxIwEDAOBgNVHQ8BAf8EBAMCA/gw
DQYJKoZIhvcNAQELBQADggEBAJGgO3M0K4Hzy2Bcm2sewHDmlGPbY4JD5XRE+al9qL9PrcuiIiHr
vIDF3ndt++t3o5YSN5BGKH+n5uX5mLZCZcs/zM92dCPwz3JEVWO1rixvSyGFCE3iFXdN02dw3XyB
ACIVz6IkTRUVhukCvAtbTZe5xyoi295hAjCROKajLQaItMUuqWwZFMeureFw2jfZ+lKFjAIQkSN2
7bse6rexpeeKaU+hOx7Blz4R9kwfyQCq+B80yShjphBVVZa6K7RC9Q7JHyNzsFv2LRbzeJaCdlqX
6aTjG9Mw4PDR3jgTw62CDy5cMkZkSIgGtktUMGFwBAP1Byioceu9jSfWcHupSDU=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIE4jCCAsqgAwIBAgIIYsSr5bKAMl8wDQYJKoZIhvcNAQELBQAwejELMAkGA1UEBhMCQ04xFjAU
BgNVBAoMDUFudCBGaW5hbmNpYWwxIDAeBgNVBAsMF0NlcnRpZmljYXRpb24gQXV0aG9yaXR5MTEw
LwYDVQQDDChBbnQgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFIxMB4XDTE4MDMy
MjE0MzQxNVoXDTM3MTEyNjE0MzQxNVowgYIxCzAJBgNVBAYTAkNOMRYwFAYDVQQKDA1BbnQgRmlu
YW5jaWFsMSAwHgYDVQQLDBdDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTE5MDcGA1UEAwwwQW50IEZp
bmFuY2lhbCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBDbGFzcyAyIFIxMIIBIjANBgkqhkiG9w0B
AQEFAAOCAQ8AMIIBCgKCAQEAsLMfYaoRoPRbmDcAfXPCmKf43pWRN5yTXa/KJWO0l+mrgQvs89bA
NEvbDUxlkGwycwtwi5DgBuBgVhLliXu+R9CYgr2dXs8D8Hx/gsggDcyGPLmVrDOnL+dyeauheARZ
fA3du60fwEwwbGcVIpIxPa/4n3IS/ElxQa6DNgqxh8J9Xwh7qMGl0JK9+bALuxf7B541Gr4p0WEN
G8fhgjBV4w4ut9eQLOoa1eddOUSZcy46Z7allwowwgt7b5VFfx/P1iKJ3LzBMgkCK7GZ2kiLrL7R
iqV+h482J7hkJD+ardoc6LnrHO/hIZymDxok+VH9fVeUdQa29IZKrIDVj65THQIDAQABo2MwYTAf
BgNVHSMEGDAWgBRfdLQEwE8HWurlsdsio4dBspzhATAdBgNVHQ4EFgQUSqHkYINtUSAtDPnS8Xoy
oP9p7qEwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQELBQADggIB
AIQ8TzFy4bVIVb8+WhHKCkKNPcJe2EZuIcqvRoi727lZTJOfYy/JzLtckyZYfEI8J0lasZ29wkTt
a1IjSo+a6XdhudU4ONVBrL70U8Kzntplw/6TBNbLFpp7taRALjUgbCOk4EoBMbeCL0GiYYsTS0mw
7xdySzmGQku4GTyqutIGPQwKxSj9iSFw1FCZqr4VP4tyXzMUgc52SzagA6i7AyLedd3tbS6lnR5B
L+W9Kx9hwT8L7WANAxQzv/jGldeuSLN8bsTxlOYlsdjmIGu/C9OWblPYGpjQQIRyvs4Cc/mNhrh+
14EQgwuemIIFDLOgcD+iISoN8CqegelNcJndFw1PDN6LkVoiHz9p7jzsge8RKay/QW6C03KNDpWZ
EUCgCUdfHfo8xKeR+LL1cfn24HKJmZt8L/aeRZwZ1jwePXFRVtiXELvgJuM/tJDIFj2KD337iV64
fWcKQ/ydDVGqfDZAdcU4hQdsrPWENwPTQPfVPq2NNLMyIH9+WKx9Ed6/WzeZmIy5ZWpX1TtTolo6
OJXQFeItMAjHxW/ZSZTok5IS3FuRhExturaInnzjYpx50a6kS34c5+c8hYq7sAtZ/CNLZmBnBCFD
aMQqT8xFZJ5uolUaSeXxg7JFY1QsYp5RKvj4SjFwCGKJ2+hPPe9UyyltxOidNtxjaknOCeBHytOr
-----END CERTIFICATE-----

@ -0,0 +1,88 @@
-----BEGIN CERTIFICATE-----
MIIBszCCAVegAwIBAgIIaeL+wBcKxnswDAYIKoEcz1UBg3UFADAuMQswCQYDVQQG
EwJDTjEOMAwGA1UECgwFTlJDQUMxDzANBgNVBAMMBlJPT1RDQTAeFw0xMjA3MTQw
MzExNTlaFw00MjA3MDcwMzExNTlaMC4xCzAJBgNVBAYTAkNOMQ4wDAYDVQQKDAVO
UkNBQzEPMA0GA1UEAwwGUk9PVENBMFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAE
MPCca6pmgcchsTf2UnBeL9rtp4nw+itk1Kzrmbnqo05lUwkwlWK+4OIrtFdAqnRT
V7Q9v1htkv42TsIutzd126NdMFswHwYDVR0jBBgwFoAUTDKxl9kzG8SmBcHG5Yti
W/CXdlgwDAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAQYwHQYDVR0OBBYEFEwysZfZ
MxvEpgXBxuWLYlvwl3ZYMAwGCCqBHM9VAYN1BQADSAAwRQIgG1bSLeOXp3oB8H7b
53W+CKOPl2PknmWEq/lMhtn25HkCIQDaHDgWxWFtnCrBjH16/W3Ezn7/U/Vjo5xI
pDoiVhsLwg==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIF0zCCA7ugAwIBAgIIH8+hjWpIDREwDQYJKoZIhvcNAQELBQAwejELMAkGA1UE
BhMCQ04xFjAUBgNVBAoMDUFudCBGaW5hbmNpYWwxIDAeBgNVBAsMF0NlcnRpZmlj
YXRpb24gQXV0aG9yaXR5MTEwLwYDVQQDDChBbnQgRmluYW5jaWFsIENlcnRpZmlj
YXRpb24gQXV0aG9yaXR5IFIxMB4XDTE4MDMyMTEzNDg0MFoXDTM4MDIyODEzNDg0
MFowejELMAkGA1UEBhMCQ04xFjAUBgNVBAoMDUFudCBGaW5hbmNpYWwxIDAeBgNV
BAsMF0NlcnRpZmljYXRpb24gQXV0aG9yaXR5MTEwLwYDVQQDDChBbnQgRmluYW5j
aWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFIxMIICIjANBgkqhkiG9w0BAQEF
AAOCAg8AMIICCgKCAgEAtytTRcBNuur5h8xuxnlKJetT65cHGemGi8oD+beHFPTk
rUTlFt9Xn7fAVGo6QSsPb9uGLpUFGEdGmbsQ2q9cV4P89qkH04VzIPwT7AywJdt2
xAvMs+MgHFJzOYfL1QkdOOVO7NwKxH8IvlQgFabWomWk2Ei9WfUyxFjVO1LVh0Bp
dRBeWLMkdudx0tl3+21t1apnReFNQ5nfX29xeSxIhesaMHDZFViO/DXDNW2BcTs6
vSWKyJ4YIIIzStumD8K1xMsoaZBMDxg4itjWFaKRgNuPiIn4kjDY3kC66Sl/6yTl
YUz8AybbEsICZzssdZh7jcNb1VRfk79lgAprm/Ktl+mgrU1gaMGP1OE25JCbqli1
Pbw/BpPynyP9+XulE+2mxFwTYhKAwpDIDKuYsFUXuo8t261pCovI1CXFzAQM2w7H
DtA2nOXSW6q0jGDJ5+WauH+K8ZSvA6x4sFo4u0KNCx0ROTBpLif6GTngqo3sj+98
SZiMNLFMQoQkjkdN5Q5g9N6CFZPVZ6QpO0JcIc7S1le/g9z5iBKnifrKxy0TQjtG
PsDwc8ubPnRm/F82RReCoyNyx63indpgFfhN7+KxUIQ9cOwwTvemmor0A+ZQamRe
9LMuiEfEaWUDK+6O0Gl8lO571uI5onYdN1VIgOmwFbe+D8TcuzVjIZ/zvHrAGUcC
AwEAAaNdMFswCwYDVR0PBAQDAgEGMAwGA1UdEwQFMAMBAf8wHQYDVR0OBBYEFF90
tATATwda6uWx2yKjh0GynOEBMB8GA1UdIwQYMBaAFF90tATATwda6uWx2yKjh0Gy
nOEBMA0GCSqGSIb3DQEBCwUAA4ICAQCVYaOtqOLIpsrEikE5lb+UARNSFJg6tpkf
tJ2U8QF/DejemEHx5IClQu6ajxjtu0Aie4/3UnIXop8nH/Q57l+Wyt9T7N2WPiNq
JSlYKYbJpPF8LXbuKYG3BTFTdOVFIeRe2NUyYh/xs6bXGr4WKTXb3qBmzR02FSy3
IODQw5Q6zpXj8prYqFHYsOvGCEc1CwJaSaYwRhTkFedJUxiyhyB5GQwoFfExCVHW
05ZFCAVYFldCJvUzfzrWubN6wX0DD2dwultgmldOn/W/n8at52mpPNvIdbZb2F41
T0YZeoWnCJrYXjq/32oc1cmifIHqySnyMnavi75DxPCdZsCOpSAT4j4lAQRGsfgI
kkLPGQieMfNNkMCKh7qjwdXAVtdqhf0RVtFILH3OyEodlk1HYXqX5iE5wlaKzDop
PKwf2Q3BErq1xChYGGVS+dEvyXc/2nIBlt7uLWKp4XFjqekKbaGaLJdjYP5b2s7N
1dM0MXQ/f8XoXKBkJNzEiM3hfsU6DOREgMc1DIsFKxfuMwX3EkVQM1If8ghb6x5Y
jXayv+NLbidOSzk4vl5QwngO/JYFMkoc6i9LNwEaEtR9PhnrdubxmrtM+RjfBm02
77q3dSWFESFQ4QxYWew4pHE0DpWbWy/iMIKQ6UZ5RLvB8GEcgt8ON7BBJeMc+Dyi
kT9qhqn+lw==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIICiDCCAgygAwIBAgIIQX76UsB/30owDAYIKoZIzj0EAwMFADB6MQswCQYDVQQG
EwJDTjEWMBQGA1UECgwNQW50IEZpbmFuY2lhbDEgMB4GA1UECwwXQ2VydGlmaWNh
dGlvbiBBdXRob3JpdHkxMTAvBgNVBAMMKEFudCBGaW5hbmNpYWwgQ2VydGlmaWNh
dGlvbiBBdXRob3JpdHkgRTEwHhcNMTkwNDI4MTYyMDQ0WhcNNDkwNDIwMTYyMDQ0
WjB6MQswCQYDVQQGEwJDTjEWMBQGA1UECgwNQW50IEZpbmFuY2lhbDEgMB4GA1UE
CwwXQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxMTAvBgNVBAMMKEFudCBGaW5hbmNp
YWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgRTEwdjAQBgcqhkjOPQIBBgUrgQQA
IgNiAASCCRa94QI0vR5Up9Yr9HEupz6hSoyjySYqo7v837KnmjveUIUNiuC9pWAU
WP3jwLX3HkzeiNdeg22a0IZPoSUCpasufiLAnfXh6NInLiWBrjLJXDSGaY7vaokt
rpZvAdmjXTBbMAsGA1UdDwQEAwIBBjAMBgNVHRMEBTADAQH/MB0GA1UdDgQWBBRZ
4ZTgDpksHL2qcpkFkxD2zVd16TAfBgNVHSMEGDAWgBRZ4ZTgDpksHL2qcpkFkxD2
zVd16TAMBggqhkjOPQQDAwUAA2gAMGUCMQD4IoqT2hTUn0jt7oXLdMJ8q4vLp6sg
wHfPiOr9gxreb+e6Oidwd2LDnC4OUqCWiF8CMAzwKs4SnDJYcMLf2vpkbuVE4dTH
Rglz+HGcTLWsFs4KxLsq7MuU+vJTBUeDJeDjdA==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDxTCCAq2gAwIBAgIUEMdk6dVgOEIS2cCP0Q43P90Ps5YwDQYJKoZIhvcNAQEF
BQAwajELMAkGA1UEBhMCQ04xEzARBgNVBAoMCmlUcnVzQ2hpbmExHDAaBgNVBAsM
E0NoaW5hIFRydXN0IE5ldHdvcmsxKDAmBgNVBAMMH2lUcnVzQ2hpbmEgQ2xhc3Mg
MiBSb290IENBIC0gRzMwHhcNMTMwNDE4MDkzNjU2WhcNMzMwNDE4MDkzNjU2WjBq
MQswCQYDVQQGEwJDTjETMBEGA1UECgwKaVRydXNDaGluYTEcMBoGA1UECwwTQ2hp
bmEgVHJ1c3QgTmV0d29yazEoMCYGA1UEAwwfaVRydXNDaGluYSBDbGFzcyAyIFJv
b3QgQ0EgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOPPShpV
nJbMqqCw6Bz1kehnoPst9pkr0V9idOwU2oyS47/HjJXk9Rd5a9xfwkPO88trUpz5
4GmmwspDXjVFu9L0eFaRuH3KMha1Ak01citbF7cQLJlS7XI+tpkTGHEY5pt3EsQg
wykfZl/A1jrnSkspMS997r2Gim54cwz+mTMgDRhZsKK/lbOeBPpWtcFizjXYCqhw
WktvQfZBYi6o4sHCshnOswi4yV1p+LuFcQ2ciYdWvULh1eZhLxHbGXyznYHi0dGN
z+I9H8aXxqAQfHVhbdHNzi77hCxFjOy+hHrGsyzjrd2swVQ2iUWP8BfEQqGLqM1g
KgWKYfcTGdbPB1MCAwEAAaNjMGEwHQYDVR0OBBYEFG/oAMxTVe7y0+408CTAK8hA
uTyRMB8GA1UdIwQYMBaAFG/oAMxTVe7y0+408CTAK8hAuTyRMA8GA1UdEwEB/wQF
MAMBAf8wDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQBLnUTfW7hp
emMbuUGCk7RBswzOT83bDM6824EkUnf+X0iKS95SUNGeeSWK2o/3ALJo5hi7GZr3
U8eLaWAcYizfO99UXMRBPw5PRR+gXGEronGUugLpxsjuynoLQu8GQAeysSXKbN1I
UugDo9u8igJORYA+5ms0s5sCUySqbQ2R5z/GoceyI9LdxIVa1RjVX8pYOj8JFwtn
DJN3ftSFvNMYwRuILKuqUYSHc2GPYiHVflDh5nDymCMOQFcFG3WsEuB+EYQPFgIU
1DHmdZcz7Llx8UOZXX2JupWCYzK1XhJb+r4hK5ncf/w8qGtYlmyJpxk3hr1TfUJX
Yf4Zr0fJsGuv
-----END CERTIFICATE-----

@ -0,0 +1,24 @@
-----BEGIN CERTIFICATE-----
MIIEqTCCA5GgAwIBAgIQICQIKAnZLEyUDqSIMS3xqzANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UE
BhMCQ04xFjAUBgNVBAoMDUFudCBGaW5hbmNpYWwxIDAeBgNVBAsMF0NlcnRpZmljYXRpb24gQXV0
aG9yaXR5MTkwNwYDVQQDDDBBbnQgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IENs
YXNzIDEgUjEwHhcNMjQwODI4MDcxNjQ3WhcNMjkwODI3MDcxNjQ3WjBxMQswCQYDVQQGEwJDTjE2
MDQGA1UECgwt5rKz5Y2X6YOR5aSn5LqS6IGU572R5L+h5oGv5pyN5Yqh5pyJ6ZmQ5YWs5Y+4MQ8w
DQYDVQQLDAZBbGlwYXkxGTAXBgNVBAMMEDIwODg5NDEwMTkwOTExMjMwggEiMA0GCSqGSIb3DQEB
AQUAA4IBDwAwggEKAoIBAQCVtsGcFLqb4IKcNo5OoFmVkxp881AQgNQhJdM9AFIDdEaTcyNXtWab
TdbJxNahBfeCOK01fpHbwMSMhRVwZmP+jiO/M/22QmyVLN6cUG7uN+rB1Sw5T1hCbUmSZpLgcfzn
aV1+2JIcx9dV4kPFJUSTokLapszCfBnmdlQ4oGUZD54zWCNHIEVckZGn/XC1PuiflxSscD9Sx2C6
SBniG1sMz/BGFU8Sw5JwUKtzvGesUlKqeDLHQP1/WJjsajLfqPQV6SFxjDMEVZ0WSmJV0Tl80Ulu
p8vgNKHVD06U9VhqBnIYTf3JcCBMnV4jmM1NsOnlIbdS4GqwdoH5QmI3EmMFAgMBAAGjggEpMIIB
JTAfBgNVHSMEGDAWgBRxB+IEYRbk5fJl6zEPyeD0PJrVkTAdBgNVHQ4EFgQU1Vu2Aug+297ysuwy
K+Dw8SdqJXMwQAYDVR0gBDkwNzA1BgdggRwBbgEBMCowKAYIKwYBBQUHAgEWHGh0dHA6Ly9jYS5h
bGlwYXkuY29tL2Nwcy5wZGYwDgYDVR0PAQH/BAQDAgbAMC8GA1UdHwQoMCYwJKAioCCGHmh0dHA6
Ly9jYS5hbGlwYXkuY29tL2NybDkyLmNybDBgBggrBgEFBQcBAQRUMFIwKAYIKwYBBQUHMAKGHGh0
dHA6Ly9jYS5hbGlwYXkuY29tL2NhNi5jZXIwJgYIKwYBBQUHMAGGGmh0dHA6Ly9jYS5hbGlwYXku
Y29tOjgzNDAvMA0GCSqGSIb3DQEBCwUAA4IBAQCxuI72P6DVSVSIDCDg8j19S5bOf7vS7n3GT2vu
u881bArkLc+HtRyaGfC8rS+H/UfMnoQQNuIhpTBsK7fYZvITaIqlvLB+Vgr/ZFems1wGkOY5aM70
CSHpg53/HVNQ/QAhk3m07iRjnx70p1fdY1b7tiCrBhqd37wHCxTe0/Dvv66uQ7+h++5Hlh+C8USw
sysqk+8upDP6/UjxHnNyHlV9h8MlzHhqDKbVAt2mKkPVNdu2W1C2cywd3gsM3WTiWqa/SWGm5kza
s6Ef0DXfGG3LCqTZRoeRWq01eMGi/E+gAarbngMBk2B6SbDtL9HCJQElJ/8v4lI1ffdOYQY/MwXi
-----END CERTIFICATE-----

@ -83,7 +83,7 @@ spring:
host: 120.46.159.203 # 地址 host: 120.46.159.203 # 地址
port: 16379 # 端口 port: 16379 # 端口
database: 0 # 数据库索引 database: 0 # 数据库索引
password: a8EYUSoT8wHbuRkX # 密码,建议生产环境开启 password: a8EYUSoT8wHbuRkX
--- #################### 定时任务相关配置 #################### --- #################### 定时任务相关配置 ####################

@ -80,7 +80,7 @@ spring:
# database: 0 # 数据库索引 # database: 0 # 数据库索引
# password: # 密码,建议生产环境开启 # password: # 密码,建议生产环境开启
redis: redis:
host: 47.94.137.109 # 地址 host: 127.0.0.1 # 地址
port: 6379 # 端口 port: 6379 # 端口
database: 0 # 数据库索引 database: 0 # 数据库索引
# password: a8EYUSoT8wHbuRkX # 密码,建议生产环境开启 # password: a8EYUSoT8wHbuRkX # 密码,建议生产环境开启

@ -19,7 +19,7 @@ spring:
pathmatch: pathmatch:
matching-strategy: ANT_PATH_MATCHER # 解决 SpringFox 与 SpringBoot 2.6.x 不兼容的问题,参见 SpringFoxHandlerProviderBeanPostProcessor 类 matching-strategy: ANT_PATH_MATCHER # 解决 SpringFox 与 SpringBoot 2.6.x 不兼容的问题,参见 SpringFoxHandlerProviderBeanPostProcessor 类
# throw-exception-if-no-handler-found: true # 404 错误时抛出异常,方便统一处理 # throw-exception-if-no-handler-found: true # 404 错误时抛出异常,方便统一处理
# static-path-pattern: /static/** # 静态资源路径; 注意:如果不配置,则 throw-exception-if-no-handler-found 不生效!!! TODO 芋艿:不能配置,会导致 swagger 不生效 # static-path-pattern: /cert/** # 静态资源路径; 注意:如果不配置,则 throw-exception-if-no-handler-found 不生效!!! TODO 芋艿:不能配置,会导致 swagger 不生效
# Jackson 配置项 # Jackson 配置项
jackson: jackson:

Loading…
Cancel
Save