修改支付逻辑

master
wujingtao 3 years ago
parent cac0de9eb3
commit b6e9b8983b

@ -39,10 +39,10 @@
<artifactId>sharding-jdbc-spring-boot-starter</artifactId>
</dependency>
<!--feign 依赖-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<!-- <dependency>-->
<!-- <groupId>org.springframework.cloud</groupId>-->
<!-- <artifactId>spring-cloud-starter-openfeign</artifactId>-->
<!-- </dependency>-->
<!--Spring boot 安全框架-->
<dependency>

@ -3,19 +3,13 @@ package com.hchbox.module.controller;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import cn.hutool.json.JSONObject;
import com.hchbox.api.RequestCore;
import com.hchbox.constant.AuthConstants;
import com.hchbox.constant.DefaultNumberConstants;
import com.hchbox.module.entity.SellerAccount;
import com.hchbox.module.entity.vo.AccountInfoVO;
import com.hchbox.module.feign.AliPayClient;
import com.hchbox.model.param.CommonResult;
import com.hchbox.module.service.AccountInfoService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.web.bind.annotation.*;
@ -28,24 +22,9 @@ import org.springframework.web.bind.annotation.*;
@Api(tags = "账号信息")
@RequestMapping("/api")
public class AccountInfoController {
// private final AliPayClient aliPayClient;
private final AccountInfoService accountInfoService;
@Resource
private RequestCore requestCore;
// @GetMapping("/list")
// @ApiOperation("查询主账号下的子账号")
// public CommonResult<Page<SellerAccount>> getAccountAll(HttpServletRequest request, Pageable pageable) {
// String token = request.getParameter(AuthConstants.TAO_MI_TOKEN);
// Long accountId = aliPayClient.checkSellAccountByPurchaser(token);
// if (accountId == DefaultNumberConstants.ZERO_NUMBER) {
// return new CommonResult<Page<SellerAccount>>().forbidden();
// }
// AccountInfoVO accountInfoVO = new AccountInfoVO();
// accountInfoVO.setParentId(accountId);
// return accountInfoService.getAccountAll(accountInfoVO, pageable);
// }
@GetMapping("/parent/accounts")
@ApiOperation("查询主账号")
public CommonResult<Object> getParentAccount(@RequestParam(value = "nickName", required = false) String nickName, Pageable pageable) {

@ -1,24 +0,0 @@
package com.hchbox.module.feign;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
/**
* @author Enzo
* @date : 2021/6/16
*/
@FeignClient(value = "trade-service-source-core")
public interface AliPayClient {
String API_PREFIX = "/source";
/**
*
*
* @param token
* @return
*/
@GetMapping(API_PREFIX + "/account/checkAccount")
Long checkSellAccountByPurchaser(@RequestParam(value = "token") String token);
}

@ -2,6 +2,7 @@ package com.hchbox.module.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONObject;
import com.hchbox.api.RequestCore;
@ -67,6 +68,8 @@ public class AccountRechargeServiceImpl implements AccountRechargeService {
private int workerId;
@Value("${snowflake.datacenterId}")
private int datacenterId;
@Value("${taobao.Synchronize.amount}")
private Double amount;
@Override
@Transactional(rollbackFor = Exception.class)
@ -208,6 +211,7 @@ public class AccountRechargeServiceImpl implements AccountRechargeService {
try {
// 雪花算法id
String orderNo = String.valueOf(IdUtil.getSnowflake(workerId, datacenterId).nextId());
payTwoOrder.setAnticipateNum(NumberUtil.div(payTwoOrder.getAmount(), BigDecimal.valueOf(amount)).longValue());
Double num = payTwoOrder.getAmount() + payTwoOrder.getIdenticalAmount();
// Double num = 0.01;
// 生成返回对象

@ -63,7 +63,7 @@ public class SynchronizedAmountServiceImpl implements SynchronizedAmountService
payTwoOrder.setIdenticalAmount(0.00);
payTwoOrder.setHistoryNum((long) DefaultNumberConstants.ZERO_NUMBER);
payTwoOrder.setAmount(budgetAmount);
payTwoOrder.setAnticipateNum(NumberUtil.div(budgetAmount, BigDecimal.valueOf(amount)).longValue());
// payTwoOrder.setAnticipateNum(NumberUtil.div(budgetAmount, BigDecimal.valueOf(amount)).longValue());
}
return new CommonResult<>().success(payTwoOrder);
}

@ -81,7 +81,8 @@ trade:
service:
source:
url: http://39.100.226.133:80
# url: http://localhost:80
taobao:
Synchronize:
amount: 0.001
budgetAmount: 1000
budgetAmount: 0

@ -1,63 +1,86 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="30 seconds" debug="false">
<contextName>trade-account</contextName>
<!-- 定义日志格式基础信息 -->
<property name="LOG_DIR" value="./log/"/>
<property name="LOG_PATTERN"
value="%white(%contextName-) %d{yyyy-MM-dd HH:mm:ss:SS} %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{50}) - %cyan(%msg%n)"/>
<property name="LOG_CHARSET" value="utf-8"/>
<!--输出到控制台-->
<appender name="stdAppender" class="ch.qos.logback.core.ConsoleAppender">
<!--<withJansi>true</withJansi> &lt;!&ndash; 如果是UTF-8的环境这句要注释掉 &ndash;&gt;-->
<encoder>
<pattern>%highlight([%-5level]) %cyan(%d{yyyy-MM-dd#HH:mm:ss.SSS}) %yellow([Thread:%thread])
%magenta([Logger:%logger]) -> %msg%n
</pattern>
<charset>utf-8</charset>
</encoder>
</appender>
<configuration debug="false" scan="false">
<springProperty scop="context" name="spring.application.name" source="spring.application.name" defaultValue=""/>
<property name="log.path" value="logs/${spring.application.name}"/>
<!-- 彩色日志格式 -->
<property name="CONSOLE_LOG_PATTERN"
value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
<!-- 彩色日志依赖的渲染类 -->
<conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
<conversionRule conversionWord="wex"
converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
<conversionRule conversionWord="wEx"
converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
<!-- Console log output -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${CONSOLE_LOG_PATTERN}</pattern>
</encoder>
</appender>
<!-- Log file debug output -->
<appender name="debug" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/debug.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${log.path}/%d{yyyy-MM, aux}/debug.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
<maxFileSize>50MB</maxFileSize>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%date [%thread] %-5level [%logger{50}] %file:%line - %msg%n</pattern>
</encoder>
</appender>
<!-- Log file error output -->
<appender name="error" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/error.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${log.path}/%d{yyyy-MM}/error.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
<maxFileSize>50MB</maxFileSize>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%date [%thread] %-5level [%logger{50}] %file:%line - %msg%n</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level>
</filter>
</appender>
<!--nacos 心跳 INFO 屏蔽-->
<logger name="com.alibaba.nacos" level="OFF">
<appender-ref ref="error"/>
</logger>
<!-- Level: FATAL 0 ERROR 3 WARN 4 INFO 6 DEBUG 7 -->
<root level="INFO">
<appender-ref ref="console"/>
<appender-ref ref="debug"/>
<appender-ref ref="error"/>
</root>
<!-- 输出到文件,并按天进行归档 -->
<appender name="fileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_DIR}/log.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 按天归档,如果按小时后面加-hh -->
<fileNamePattern>${LOG_DIR}/history/%d{yyyy-MM-dd}.gz</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<append>true</append>
<encoder>
<pattern>${LOG_PATTERN}</pattern>
<charset>utf-8</charset>
</encoder>
<!-- 不写TRACE DEBUG -->
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>INFO</level>
</filter>
</appender>
<!--普通日志输出到控制台-->
<root level="info">
<appender-ref ref="stdAppender"/>
</root>
<!--监控sql日志输出 -->
<logger name="jdbc.sqlonly" level="INFO" additivity="false">
<appender-ref ref="stdAppender"/>
<appender-ref ref="fileAppender"/>
</logger>
<logger name="jdbc.resultset" level="ERROR" additivity="false">
<appender-ref ref="stdAppender"/>
<appender-ref ref="fileAppender"/>
</logger>
<!-- 如想看到表格数据将OFF改为INFO -->
<logger name="jdbc.resultsettable" level="OFF" additivity="false">
<appender-ref ref="stdAppender"/>
<appender-ref ref="fileAppender"/>
</logger>
<logger name="jdbc.connection" level="OFF" additivity="false">
<appender-ref ref="stdAppender"/>
<appender-ref ref="fileAppender"/>
</logger>
<logger name="jdbc.sqltiming" level="OFF" additivity="false">
<appender-ref ref="stdAppender"/>
<appender-ref ref="fileAppender"/>
</logger>
<logger name="jdbc.audit" level="OFF" additivity="false">
<appender-ref ref="stdAppender"/>
<appender-ref ref="fileAppender"/>
</logger>
<root level="INFO">
<!-- TODO prod 环境去掉std -->
<appender-ref ref="fileAppender"/>
<!-- <appender-ref ref="stdAppender"/>-->
</root>
</configuration>

Loading…
Cancel
Save