提现逻辑

main
13233904609 1 month ago
parent 208680f44e
commit 7c0f65f4ce

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

@ -20,6 +20,7 @@ import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.Valid;
import java.io.IOException;
import java.util.Map;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@ -40,7 +41,7 @@ public class BrokerageWithdrawController {
@PutMapping("/approve")
@Operation(summary = "通过申请")
@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, "");
return success(true);
}
@ -48,7 +49,7 @@ public class BrokerageWithdrawController {
@PutMapping("/reject")
@Operation(summary = "驳回申请")
@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());
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.security.core.annotations.PreAuthenticated;
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.dto.MemberUserRespDTO;
import cn.iocoder.yudao.module.pay.api.wallet.PayWalletApi;
@ -32,6 +34,7 @@ import javax.annotation.Resource;
import javax.validation.Valid;
import java.time.LocalDateTime;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Optional;
@ -60,6 +63,9 @@ public class AppBrokerageUserController {
@Resource
private PayWalletApi payWalletApi;
// @Resource
// private MemberLevelApi memberLevelApi;
@GetMapping("/get")
@Operation(summary = "获得个人钱包信息")
@PreAuthenticated

@ -12,6 +12,12 @@ public class AppBrokerageUserChildSummaryRespVO {
@Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
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 = "小王")
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.service.brokerage.bo.BrokerageWithdrawSummaryRespBO;
import java.io.IOException;
import java.util.Collection;
import java.util.List;
import java.util.Map;
@ -28,7 +29,7 @@ public interface BrokerageWithdrawService {
* @param status
* @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 com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
@ -42,11 +41,9 @@ import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.time.LocalDateTime;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.*;
import org.springframework.core.io.ResourceLoader;
import org.springframework.beans.factory.annotation.Value;
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.trade.enums.ErrorCodeConstants.*;
@ -95,10 +92,12 @@ public class BrokerageWithdrawServiceImpl implements BrokerageWithdrawService {
@Value("${alipay.alipayRootCertPath}")
private String alipayRootCertPath;
@Resource
private ResourceLoader resourceLoader;
@Override
@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 校验存在
BrokerageWithdrawDO withdraw = validateBrokerageWithdrawExists(id);
// 1.2 校验状态为审核中
@ -139,7 +138,7 @@ public class BrokerageWithdrawServiceImpl implements BrokerageWithdrawService {
paramMap.put("account", "13233904609");//账号
paramMap.put("name", "马腾达");
paramMap.put("amount", "0.1");
String result= HttpUtil.post(gateway, JSON.toJSONString(paramMap));
String result= HttpUtil.post(gateway, paramMap);
System.out.println(result);
}
// TODO 疯狂:调用转账接口

@ -5,7 +5,7 @@
<select id="selectSummaryPageByUserId"
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
WHERE r.user_id = bu.id AND biz_type = #{bizType} AND r.status = #{status} AND r.deleted = FALSE) AS
brokeragePrice,
@ -14,7 +14,7 @@
brokerageOrderCount,
(SELECT COUNT(1) FROM trade_brokerage_user c
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>
bu.deleted = false
</where>

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

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

@ -36,4 +36,9 @@ public class DistributionConfigSaveReqVO {
@Schema(description = "限购次数", example = "1")
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 String fiveStatus;
}

@ -412,84 +412,90 @@ public class MemberUserServiceImpl implements MemberUserService {
MemberUserDO user = memberUserMapper.selectById(userId);
MemberLevelDO memberLevelDO = memberLevelMapper.selectById(user.getLevelId());
//查询推广员配置信息
MemberLevelDO configLevelDO = memberLevelMapper.selectById(distributionConfigDO.getLevelId());
if(ObjectUtil.isEmpty(memberLevelDO)){
//修改购买人会员等级
int i = memberUserMapper.updateById(new MemberUserDO()
.setId(userId)
.setLevelId(distributionConfigDO.getLevelId())
);
brokerageUserMapper.updateById(new BrokerageUserDO()
.setId(userId)
.setLevel(configLevelDO.getLevel())
);
}else{
if(memberLevelDO.getLevel()<configLevelDO.getLevel()){
//修改购买人会员等级
int i = memberUserMapper.updateById(new MemberUserDO()
.setId(userId)
.setLevelId(distributionConfigDO.getLevelId())
);
brokerageUserMapper.updateById(new BrokerageUserDO()
.setId(userId)
.setLevel(configLevelDO.getLevel())
);
if(ObjectUtil.isNotEmpty(distributionConfigDO.getLevelId())){
MemberLevelDO configLevelDO = memberLevelMapper.selectById(distributionConfigDO.getLevelId());
if(ObjectUtil.isNotNull(configLevelDO)){
if(ObjectUtil.isEmpty(memberLevelDO)){
//修改购买人会员等级
int i = memberUserMapper.updateById(new MemberUserDO()
.setId(userId)
.setLevelId(distributionConfigDO.getLevelId())
);
brokerageUserMapper.updateById(new BrokerageUserDO()
.setId(userId)
.setLevel(configLevelDO.getLevel())
);
}else{
if(memberLevelDO.getLevel()<configLevelDO.getLevel()){
//修改购买人会员等级
int i = memberUserMapper.updateById(new MemberUserDO()
.setId(userId)
.setLevelId(distributionConfigDO.getLevelId())
);
brokerageUserMapper.updateById(new BrokerageUserDO()
.setId(userId)
.setLevel(configLevelDO.getLevel())
);
}
}
}
}
MemberLevelDO userLevel = memberLevelMapper.selectById(user.getLevelId());
//查询配置中添加的等级奖励
List<DistributionMebConfigDO> distributionMebConfigDOS = distributionMebConfigMapper.selectList(new LambdaQueryWrapperX<DistributionMebConfigDO>()
.eq(DistributionMebConfigDO::getConfigId, distributionConfigDO.getId())
.eq(DistributionMebConfigDO::getDeleted, 0)
.orderByAsc(DistributionMebConfigDO::getLevelId));
//添加5占一
if(ObjectUtil.isNotEmpty(distributionMebConfigDOS)){
Long l = distributionLogMapper.selectCount(new LambdaQueryWrapperX<DistributionLogDO>().eq(DistributionLogDO::getMebId, userId)
.orderByAsc(DistributionLogDO::getCreateTime));
if(l == 0){
//添加5占一游戏
DistributionLogDO distributionLogDO = new DistributionLogDO();
distributionLogDO.setMebId(userId);
distributionLogDO.setStatus("1");
// distributionLogDO.setBrokerage();
distributionLogDO.setGameStatus("1");
distributionLogDO.setConvertStatus("1");
distributionLogDO.setOutTime(LocalDateTime.now());
distributionLogMapper.insert(distributionLogDO);
//查询5占一总数
List<DistributionLogDO> distributionLogDOS = distributionLogMapper.selectList(new LambdaQueryWrapperX<DistributionLogDO>()
if(ObjectUtil.equal(distributionConfigDO.getFiveStatus(),"0")){
if(ObjectUtil.isNotEmpty(distributionMebConfigDOS)){
Long l = distributionLogMapper.selectCount(new LambdaQueryWrapperX<DistributionLogDO>().eq(DistributionLogDO::getMebId, userId).eq(DistributionLogDO::getGameStatus,"0")
.orderByAsc(DistributionLogDO::getCreateTime));
int i1 = distributionLogDOS.size() % 5;
if(i1 == 0){
DistributionLogDO vo = distributionLogDOS.get((distributionLogDOS.size()/5)-1);
vo.setGameStatus("0");
distributionLogMapper.updateById(vo);
//添加佣金记录
BrokerageRecordDO brokerageRecordDO = new BrokerageRecordDO();
brokerageRecordDO.setBizId(orderId+"");
brokerageRecordDO.setUserId(vo.getMebId());
brokerageRecordDO.setBizType(1);
brokerageRecordDO.setTitle("5占一游戏分润");
brokerageRecordDO.setPrice(1188*100);
//查询当前总佣金
Integer totalPrice = 0;
List<BrokerageRecordDO> brokerageRecordDOS = brokerageRecordMapper.selectList(new LambdaQueryWrapperX<BrokerageRecordDO>()
.eq(BrokerageRecordDO::getUserId, vo.getMebId())
.eq(BrokerageRecordDO::getDeleted, 0)
.orderByDesc(BrokerageRecordDO::getCreateTime));
if(ObjectUtil.isNotEmpty(brokerageRecordDOS)){
totalPrice = brokerageRecordDOS.get(0).getTotalPrice();
}
brokerageRecordDO.setTotalPrice(totalPrice+1188*100);//当前总佣金
brokerageRecordDO.setStatus(1);
brokerageRecordDO.setSourceUserLevel(configLevelDO.getLevel());
brokerageRecordDO.setSourceUserId(userId);
brokerageRecordMapper.insert(brokerageRecordDO);
//修改推广员佣金
BrokerageUserDO brokerageUserDO1 = brokerageUserMapper.selectById(vo.getMebId());
brokerageUserDO1.setBrokeragePrice(1188*100+brokerageUserDO1.getBrokeragePrice());
brokerageUserMapper.updateById(brokerageUserDO1);
if(l == 0){
//添加5占一游戏
DistributionLogDO distributionLogDO = new DistributionLogDO();
distributionLogDO.setMebId(userId);
distributionLogDO.setStatus("1");
// distributionLogDO.setBrokerage();
distributionLogDO.setGameStatus("1");
distributionLogDO.setConvertStatus("1");
distributionLogDO.setOutTime(LocalDateTime.now());
distributionLogMapper.insert(distributionLogDO);
//查询5占一总数
List<DistributionLogDO> distributionLogDOS = distributionLogMapper.selectList(new LambdaQueryWrapperX<DistributionLogDO>()
.orderByAsc(DistributionLogDO::getCreateTime));
int i1 = distributionLogDOS.size() % 5;
if(i1 == 0){
DistributionLogDO vo = distributionLogDOS.get((distributionLogDOS.size()/5)-1);
vo.setGameStatus("0");
distributionLogMapper.updateById(vo);
//添加佣金记录
BrokerageRecordDO brokerageRecordDO = new BrokerageRecordDO();
brokerageRecordDO.setBizId(orderId+"");
brokerageRecordDO.setUserId(vo.getMebId());
brokerageRecordDO.setBizType(1);
brokerageRecordDO.setTitle("5占一游戏分润");
brokerageRecordDO.setPrice(1188*100);
//查询当前总佣金
Integer totalPrice = 0;
List<BrokerageRecordDO> brokerageRecordDOS = brokerageRecordMapper.selectList(new LambdaQueryWrapperX<BrokerageRecordDO>()
.eq(BrokerageRecordDO::getUserId, vo.getMebId())
.eq(BrokerageRecordDO::getDeleted, 0)
.orderByDesc(BrokerageRecordDO::getCreateTime));
if(ObjectUtil.isNotEmpty(brokerageRecordDOS)){
totalPrice = brokerageRecordDOS.get(0).getTotalPrice();
}
brokerageRecordDO.setTotalPrice(totalPrice+1188*100);//当前总佣金
brokerageRecordDO.setStatus(1);
brokerageRecordDO.setSourceUserLevel(userLevel.getLevel());
brokerageRecordDO.setSourceUserId(userId);
brokerageRecordMapper.insert(brokerageRecordDO);
//修改推广员佣金
BrokerageUserDO brokerageUserDO1 = brokerageUserMapper.selectById(vo.getMebId());
brokerageUserDO1.setBrokeragePrice(1188*100+brokerageUserDO1.getBrokeragePrice());
brokerageUserMapper.updateById(brokerageUserDO1);
}
}
}
}
@ -531,7 +537,7 @@ public class MemberUserServiceImpl implements MemberUserService {
}
brokerageRecordDO.setTotalPrice(totalPrice+eg.getBrokerage()*100);//当前总佣金
brokerageRecordDO.setStatus(1);
brokerageRecordDO.setSourceUserLevel(configLevelDO.getLevel());
brokerageRecordDO.setSourceUserLevel(userLevel.getLevel());
brokerageRecordDO.setSourceUserId(userId);
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 # 地址
port: 16379 # 端口
database: 0 # 数据库索引
password: a8EYUSoT8wHbuRkX # 密码,建议生产环境开启
password: a8EYUSoT8wHbuRkX
--- #################### 定时任务相关配置 ####################

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

@ -19,7 +19,7 @@ spring:
pathmatch:
matching-strategy: ANT_PATH_MATCHER # 解决 SpringFox 与 SpringBoot 2.6.x 不兼容的问题,参见 SpringFoxHandlerProviderBeanPostProcessor 类
# 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:

Loading…
Cancel
Save