zoujiajian 2 lat temu
rodzic
commit
3310d7e44c

+ 1 - 1
netflix-dao/src/main/java/com/cyksj/mapper/UserMapper.java

@@ -57,6 +57,6 @@ public interface UserMapper extends BaseMapper<User> {
     @Update("update user set yhs_money = yhs_money - #{deductMoney} where id = #{shopUserId} and yhs_money = #{yhsMoney}")
     Integer subYhShopUserMoney(@Param("shopUserId") Long shopUserId, @Param("yhsMoney") BigDecimal yhsMoney, @Param("deductMoney") BigDecimal deductMoney);
 
-    @Update("update user set yhs_money = yhs_money - #{subMoney} where id = #{shopUserId} and yhs_money > #{subMoney}")
+    @Update("update user set yhs_money = yhs_money - #{subMoney} where id = #{shopUserId} and yhs_money >= #{subMoney} and yhs_money > 0")
     Integer subYhsMoney(@Param("shopUserId") Long shopUserId, @Param("subMoney") BigDecimal subMoney);
 }

+ 3 - 2
netflix-dao/src/main/java/com/cyksj/model/entity/YhShopUserPlatDistributeRate.java

@@ -19,7 +19,8 @@ import java.util.Date;
  */
 @Getter
 @Setter
-@SearchBean(tables = "goods_don g left join yh_shop_user_plat_distribute_rate ydr on g.id = ydr.goods_id :uid:",
+@SearchBean(tables = "goods_don g left join yh_shop_user_plat_distribute_rate ydr on g.id = ydr.goods_id :uid:" +
+		" left join yh_shop_general_goods_rate ygr on ygr.goods_id = g.id",
 		where = "g.type = 1 and g.status is true and g.deleted is true")
 public class YhShopUserPlatDistributeRate {
 	@TableId(value = "id", type = IdType.AUTO)
@@ -42,7 +43,7 @@ public class YhShopUserPlatDistributeRate {
 	/**
 	 * 分销比例
 	 */
-	@DbField("ydr.rate")
+	@DbField("ifnull(ydr.rate,ygr.rate)")
 	private Integer rate = 0;
 
 	/**

+ 6 - 0
netflix-service/src/main/java/com/cyksj/service/pay/impl/TransferFuncServiceImpl.java

@@ -9,6 +9,7 @@ import com.alipay.api.AlipayResponse;
 import com.alipay.api.domain.AlipayFundTransUniTransferModel;
 import com.alipay.api.domain.Participant;
 import com.alipay.api.request.AlipayFundTransUniTransferRequest;
+import com.cyksj.common.EnvCommonService;
 import com.cyksj.common.constant.TransferConstant;
 import com.cyksj.common.snowflake.Sequence;
 import com.cyksj.common.util.Jsons;
@@ -40,6 +41,8 @@ public class TransferFuncServiceImpl implements TransferFuncService {
 
 	private final TransferAccountsRecordMapper transferAccountsRecordMapper;
 
+	private final EnvCommonService envCommonService;
+
 	@Override
 	public AlipayResponse transferAccounts(TransferAccountsReq transferAccountsReq) throws Exception {
 		Long userId = transferAccountsReq.getUserId();
@@ -54,6 +57,9 @@ public class TransferFuncServiceImpl implements TransferFuncService {
 		if (StrUtil.isEmpty(type)) {
 			type = TransferConstant.ALIPAY;
 		}
+		if (!envCommonService.isPrdEnv()) {
+			name += "xx";
+		}
 		Integer scope = transferAccountsReq.getScope();
 		AlipayClient alipayClient = AliPayClientFactory.getAlipayClient(ShopConfig.DISTRIBUTE_ZFB_DEFAULT_APP_ID);
 

+ 16 - 7
netflix-service/src/main/java/com/cyksj/service/shop/impl/YhShopDistributeServiceImpl.java

@@ -2,10 +2,7 @@ package com.cyksj.service.shop.impl;
 
 import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.cyksj.mapper.shop.YhShopDistributeWaitingSendPointsMapper;
-import com.cyksj.mapper.shop.YhShopMapper;
-import com.cyksj.mapper.shop.YhShopUserDistributeSharedMapper;
-import com.cyksj.mapper.shop.YhShopUserPlatDistributeRateMapper;
+import com.cyksj.mapper.shop.*;
 import com.cyksj.model.entity.*;
 import com.cyksj.service.distribute.UserBusinessFrontService;
 import com.cyksj.service.shop.YhShopDistributeService;
@@ -38,6 +35,8 @@ public class YhShopDistributeServiceImpl implements YhShopDistributeService {
 	private final UserBusinessFrontService userBusinessFrontService;
 
 	private final UserBenefitsService userBenefitsService;
+
+	private final YhShopGeneralGoodsRateMapper yhShopGeneralGoodsRateMapper;
 	@Override
 	public void distributeWaitingSendPointsRecord(OrderDon order) {
 		BigDecimal orderMoney = order.getMoney();
@@ -65,11 +64,21 @@ public class YhShopDistributeServiceImpl implements YhShopDistributeService {
 		YhShopUserPlatDistributeRate yhShopUserPlatDistributeRate = yhShopUserPlatDistributeRateMapper.selectOne(Wrappers.lambdaQuery(YhShopUserPlatDistributeRate.class)
 				.eq(YhShopUserPlatDistributeRate::getUserId, shopUserId)
 				.eq(YhShopUserPlatDistributeRate::getGoodsId, order.getGoodsId()).last("limit 1"));
+		Integer rate = 0;
 		if (yhShopUserPlatDistributeRate == null) {
-			log.info("未配置店铺主userId:{}对应平台goodsId:{}的比例", shopUserId, order.getGoodsId());
-			return;
+			log.info("未配置店铺主userId:{}对应平台goodsId:{}的比例,走通用比例", shopUserId, order.getGoodsId());
+		} else {
+			rate = yhShopUserPlatDistributeRate.getRate();
+		}
+		if (rate <= 0) {
+			//获取平台配置的通用比例
+			YhShopGeneralGoodsRate yhShopGeneralGoodsRate = yhShopGeneralGoodsRateMapper.selectOne(Wrappers.lambdaQuery(YhShopGeneralGoodsRate.class)
+					.eq(YhShopGeneralGoodsRate::getGoodsId, order.getGoodsId()).last("limit 1"));
+			if (yhShopGeneralGoodsRate != null) {
+				log.info("店铺通用比例为:{}", yhShopGeneralGoodsRate.getRate());
+				rate = yhShopGeneralGoodsRate.getRate();
+			}
 		}
-		Integer rate = yhShopUserPlatDistributeRate.getRate();
 		if (rate <= 0) {
 			log.info("配置店铺主userId:{}对应平台goodsId:{}的比例为0", shopUserId, order.getGoodsId());
 			return;