lianghanqiang 4 éve
szülő
commit
6421be2098

+ 1 - 1
pom.xml

@@ -10,7 +10,7 @@
     <version>2.8.2.RELEASE</version>
 
     <properties>
-        <bladex.project.id>blade-api</bladex.project.id>
+        <bladex.project.id>ldt</bladex.project.id>
         <bladex.project.version>2.8.2.RELEASE</bladex.project.version>
 
         <java.version>1.8</java.version>

+ 4 - 1
src/main/java/org/springblade/common/config/entity/PlatformConfig.java

@@ -29,5 +29,8 @@ public class PlatformConfig {
 	 */
 	double minValue;
 
-
+	/**
+	 * 积分手续费最小值
+	 */
+	double minPointFee;
 }

+ 1 - 1
src/main/java/org/springblade/flow/mall/task/MallInvitationTask.java

@@ -60,7 +60,7 @@ public class MallInvitationTask  {
 		//封装进件信息
 		InvitationDto invitationDto = InvitationBuilder.build(audit);
 		invitationDto.setNotifyUrl(yeePayConst.getServiceUrl()+"/invitation/callback/"+ AppConstant.InvitationType.MALL_INVITATION);
-		invitationDto.setBusinessRole(YeepayApiConstant.businessRole.PLATFORM_MERCHANT.name());
+		invitationDto.setBusinessRole(YeepayApiConstant.businessRole.SETTLED_MERCHANT.name());
 
 		audit.setRequestNo(invitationDto.getRequestNo());
 

+ 3 - 7
src/main/java/org/springblade/payment/handle/Trade.java

@@ -68,8 +68,8 @@ public class Trade {
 		List<BaseHandle> chain = new ArrayList(){{
 			add(new DiscountHandle(shopService,activityService,joinRecordService));
 			add(new ChannelPointHandle(pointBillsService,userChannelPointService));
-			add(new BalanceHandle(balanceBillsService));
-			add(new WxPayHandle(billsService,webSocketServer,dataHandle));
+			add(new BalanceHandle(billsService,balanceBillsService,dataHandle));
+			add(new WxPayHandle(webSocketServer));
 		}} ;
 
 	 	BigDecimal remain = order.getMoney();
@@ -115,17 +115,13 @@ public class Trade {
 		List<BaseHandle> chain = new ArrayList(){{
 			add(new DiscountHandle(shopService,activityService,joinRecordService));
 			add(new ChannelPointHandle(pointBillsService,userChannelPointService));
-			add(new BalanceHandle(balanceBillsService));
+			add(new BalanceHandle(billsService,balanceBillsService,dataHandle));
 		}} ;
 
 		BigDecimal remain = order.getMoney();
 
 		Bills bills = initBill(order,channelId);
 
-		//保存交易订单
-		Assert.isTrue(billsService.saveOrUpdate(bills),()->{throw new ServiceException(ResCode.TRADE_ERROR);});
-
-
 		//支付参数
 		SuccessParams successParams  = SuccessParams.builder()
 			.orderType(OrderType.USER_PAY.name())

+ 11 - 2
src/main/java/org/springblade/payment/handle/handler/BalanceHandle.java

@@ -4,8 +4,10 @@ import lombok.AllArgsConstructor;
 import org.springblade.common.cache.PlatformCache;
 import org.springblade.common.enums.AppConstant;
 import org.springblade.common.enums.OrderType;
+import org.springblade.common.enums.PaymentScene;
 import org.springblade.common.enums.ResCode;
 import org.springblade.core.log.exception.ServiceException;
+import org.springblade.ldt.bills.service.IBillsService;
 import org.springblade.payment.handle.entity.HandleData;
 import org.springblade.payment.handle.entity.Order;
 import org.springblade.ldt.bills.entity.BalanceBills;
@@ -23,9 +25,9 @@ import java.math.BigDecimal;
  */
 @AllArgsConstructor
 public class  BalanceHandle implements BaseHandle {
-
+	private IBillsService billsService;
 	private IBalanceBillsService balanceBillsService;
-
+	private DataHandle dataHandle;
 	/**
 	 * 	用户的余额扣除,余额足够抵消交易金额,剩余支付金额remain为0,交易结束
 	 * 	不足抵消,remain将会流转到下一个节点处理
@@ -46,6 +48,7 @@ public class  BalanceHandle implements BaseHandle {
 
 		//获取最低的积分余额抵扣门槛
 		BigDecimal minValue = BigDecimal.valueOf(PlatformCache.platFormConfig().getMinValue());
+		BigDecimal minPointFee = BigDecimal.valueOf(PlatformCache.platFormConfig().getMinPointFee());
 
 		if(consumeMax.compareTo(minValue)<=0){
 			successParams.getBills().setBalanceNum(BigDecimal.ZERO);
@@ -69,7 +72,11 @@ public class  BalanceHandle implements BaseHandle {
 		BalanceBills balanceBills = addBillRecord(order, user, handlePrice,successParams.getBills().getId(),pointFee);
 		successParams.setBalanceBillsId(balanceBills.getId());
 		successParams.getBills().setBalanceNum(handlePrice);
+		successParams.getBills().setPayway(PaymentScene.MINI_PROGRAM.name());
+		successParams.getBills().setPrice(remain);
 
+		//新建事务,保存订单信息,
+		Assert.isTrue(dataHandle.saveBills(billsService,successParams.getBills()),()->{throw new ServiceException(ResCode.TRADE_ERROR);});
 		return HandleData.builder().isSuccess(Boolean.TRUE).successParams(successParams).remain(remain).build();
 	}
 
@@ -91,4 +98,6 @@ public class  BalanceHandle implements BaseHandle {
 		Assert.isTrue(balanceBillsService.save(balanceBills),()->{throw new ServiceException(ResCode.TRADE_ERROR);});
 		return balanceBills;
 	}
+
+
 }

+ 8 - 0
src/main/java/org/springblade/payment/handle/handler/BaseHandle.java

@@ -14,4 +14,12 @@ import java.math.BigDecimal;
 public interface BaseHandle  {
 
 	HandleData handle(BigDecimal remain, Order order, SuccessParams successParams) throws Exception;
+
+
+	/**
+	 * 	判断用户积分手续费以及余额情况
+	 * */
+	default boolean judgeBalance(){
+		return false;
+	}
 }

+ 1 - 1
src/main/java/org/springblade/payment/handle/handler/DataHandle.java

@@ -16,7 +16,7 @@ import org.springframework.transaction.annotation.Transactional;
 @Component
 public class DataHandle {
 
-	@Transactional(propagation = Propagation.NOT_SUPPORTED)
+	@Transactional(propagation = Propagation.REQUIRES_NEW)
 	public  boolean saveBills(IBillsService billsService, Bills bills) {
 		return billsService.saveOrUpdate(bills);
 	}

+ 2 - 5
src/main/java/org/springblade/payment/handle/handler/WxPayHandle.java

@@ -25,9 +25,8 @@ import java.math.BigDecimal;
  */
 @AllArgsConstructor
 public class WxPayHandle implements BaseHandle {
-	private IBillsService billsService;
+
 	private WebSocketServer webSocketServer;
-	private DataHandle dataHandle;
 
 	/**
 	 * 	未抵消的余额,发送订单信息到用户,用户根据订单信息调起微信支付
@@ -36,10 +35,8 @@ public class WxPayHandle implements BaseHandle {
 	public HandleData handle(BigDecimal remain, Order order, SuccessParams successParams) throws ServiceException {
 
 		Bills bills = successParams.getBills();
-		bills.setPayway(PaymentScene.MINI_PROGRAM.name());
-		bills.setPrice(remain);
+
 		//通知用户调起支付
-		Assert.isTrue(dataHandle.saveBills(billsService,bills),()->{throw new ServiceException(ResCode.TRADE_ERROR);});
 		webSocketServer.sendInfo(AppConstant.SOCKET_PRE.USER.getName()+order.getLoginUser().getId().toString(), JSON.toJSONString(bills,new LongTypeFilter()));
 		return HandleData.builder().isSuccess(Boolean.TRUE).successParams(successParams).remain(remain).build();
 	}

+ 3 - 1
src/main/java/org/springblade/payment/plugin/YeePayPlugin.java

@@ -4,6 +4,7 @@ import cn.hutool.core.convert.Convert;
 import cn.hutool.core.lang.Assert;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import com.yeepay.yop.sdk.service.common.response.YopResponse;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springblade.common.cache.PaymentCache;
@@ -171,7 +172,8 @@ public class YeePayPlugin implements Payment {
 			.build();
 
 		orderTypeHandle(initOrderDto,OrderType.valueOf(bill.getType()),bill);
-		return R.data(yeepaySaasService.aggPrepay(initOrderDto));
+		YopResponse yopResponse = yeepaySaasService.aggPrepay(initOrderDto);
+		return R.data(JSON.parseObject(yopResponse.getStringResult()));
 	}
 
 	private void orderTypeHandle(MerchantInfo merchantInfo, OrderType orderType, Bills bills){

+ 3 - 3
src/main/resources/application-dev.yml

@@ -40,9 +40,9 @@ social:
 blade:
   secure:
     skip-url:
-      - /common/account/**
-      - /sms/**
-  #      /**
+#      - /common/account/**
+#      - /sms/**
+        /**
   #分布式锁配置
   lock:
     ##是否启用分布式锁

+ 4 - 4
src/main/resources/application-prod.yml

@@ -5,18 +5,18 @@ spring:
     ##将docker脚本部署的redis服务映射为宿主机ip
     ##生产环境推荐使用阿里云高可用redis服务并设置密码
     host: 127.0.0.1
-    port: 6379
+    port: 9736
     password:
-    database: 0
+    database: 8
     ssl: false
     ##redis 集群环境配置
     #cluster:
     #  nodes: 127.0.0.1:7001,127.0.0.1:7002,127.0.0.1:7003
     #  commandTimeout: 5000
   datasource:
-    url: jdbc:mysql://localhost:3306/bladex_boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
+    url: jdbc:mysql://192.168.0.191:3306/ldt?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
     username: root
-    password: root
+    password: Gmtdb__b2b888
 
 #第三方登陆
 social:

+ 2 - 2
src/main/resources/log/logback-prod.xml

@@ -25,7 +25,7 @@
     <appender name="INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
             <!-- 日志文件输出的文件名 -->
-            <FileNamePattern>target/blade/log/info-%d{yyyy-MM-dd}.log</FileNamePattern>
+            <FileNamePattern>/data/local/webserver/ldt-new/log/info-%d{yyyy-MM-dd}.log</FileNamePattern>
         </rollingPolicy>
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
             <pattern>%n%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] [%X{traceId}] [%logger{50}] %n%-5level: %msg%n</pattern>
@@ -42,7 +42,7 @@
     <appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
             <!-- 日志文件输出的文件名 -->
-            <FileNamePattern>target/blade/log/error-%d{yyyy-MM-dd}.log</FileNamePattern>
+            <FileNamePattern>/data/local/webserver/ldt-new/log/error-%d{yyyy-MM-dd}.log</FileNamePattern>
         </rollingPolicy>
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
             <pattern>%n%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] [%X{traceId}] [%logger{50}] %n%-5level: %msg%n</pattern>

+ 2 - 4
src/main/resources/wxConfig.properties

@@ -26,7 +26,5 @@ wx.shop.authPage = pages/webView/webView?url=%s
 wx.shop.appName = 联兑通商家
 
 
-
-wx.common.domain[0] = https://elecsign.yeepay.com/
-wx.common.domain[1] = https://ldt.guosen-fumao.cn/api/
-wx.common.businessUrls = sdfasdfasfasdfasdfasdfasfa
+wx.common.domain = https://ldt.guosen-fumao.cn/api/
+wx.common.businessUrls[0] = https://elecsign.yeepay.com/