zoujiajian 1 жил өмнө
parent
commit
c0f9f5c4a2

+ 39 - 4
netflix-service/src/main/java/com/cyksj/service/goods/impl/GoodsWholesaleServiceImpl.java

@@ -4,9 +4,11 @@ import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.cyksj.common.constant.Constant;
 import com.cyksj.common.exception.BusinessRuntimeException;
 import com.cyksj.common.util.Codec;
 import com.cyksj.common.util.Jsons;
+import com.cyksj.common.util.StringUtil;
 import com.cyksj.common.util.Xmls;
 import com.cyksj.mapper.GoodsWholesaleMapper;
 import com.cyksj.mapper.GoodsWholesaleOrderDonMapper;
@@ -14,12 +16,12 @@ import com.cyksj.mapper.GoodsWholesaleUserAccountMapper;
 import com.cyksj.mapper.GoodsWholesaleUserDepositMapper;
 import com.cyksj.mapper.channel.ShopConfigMapper;
 import com.cyksj.mapper.manage.cms.CmsUserMapper;
-import com.cyksj.model.entity.GoodsWholesale;
-import com.cyksj.model.entity.GoodsWholesaleOrderDon;
-import com.cyksj.model.entity.GoodsWholesaleUserAccount;
-import com.cyksj.model.entity.GoodsWholesaleUserDeposit;
+import com.cyksj.mapper.sys.SysConfigMapper;
+import com.cyksj.model.dto.GoodsWholesaleUserDepositDto;
+import com.cyksj.model.entity.*;
 import com.cyksj.service.goods.GoodsWholesaleService;
 import com.cyksj.service.order.OrderRefundService;
+import com.cyksj.service.user.UserBindRelationService;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
@@ -52,6 +54,10 @@ public class GoodsWholesaleServiceImpl extends ServiceImpl<GoodsWholesaleMapper,
 
 	private final GoodsWholesaleUserAccountMapper goodsWholesaleUserAccountMapper;
 
+	private final SysConfigMapper sysConfigMapper;
+
+	private final UserBindRelationService userBindRelationService;
+
 	@Override
 	@Transactional(rollbackFor = Throwable.class)
 	public void depositRefund(Long id, Long adminId) throws Exception {
@@ -73,6 +79,8 @@ public class GoodsWholesaleServiceImpl extends ServiceImpl<GoodsWholesaleMapper,
 		String outRefundNo = orderRefundService.refundWholesaleUserDeposit(goodsWholesaleUserDeposit);
 		goodsWholesaleUserDeposit.setRefundOutNo(outRefundNo);
 		Optional.ofNullable(cmsUserMapper.selectById(adminId)).ifPresent(cu -> goodsWholesaleUserDeposit.setOperator(cu.getNickname()));
+		//是否达到目标额
+		setStatusIfGoal(goodsWholesaleUserDeposit);
 		goodsWholesaleUserDepositMapper.updateById(goodsWholesaleUserDeposit);
 	}
 
@@ -177,4 +185,31 @@ public class GoodsWholesaleServiceImpl extends ServiceImpl<GoodsWholesaleMapper,
 			wholesaleOrderDonMapper.updateById(orderDon);
 		}
 	}
+
+	private void setStatusIfGoal(GoodsWholesaleUserDeposit goodsWholesaleUserDeposit) throws Exception {
+		//是否已满足 批发足够账号
+		SysConfig sysConfig = sysConfigMapper.selectOne(Wrappers.lambdaQuery(SysConfig.class)
+				.eq(SysConfig::getSysKey, Constant.WHOLESALE_DEPOSIT_KEY)
+				.last("limit 1"));
+		if (sysConfig == null || StrUtil.isEmpty(sysConfig.getSysValue())) {
+			log.error("押金配置已失效");
+			return;
+		}
+		GoodsWholesaleUserDepositDto goodsWholesaleUserDepositDto = Jsons.parseObject(sysConfig.getSysValue(), GoodsWholesaleUserDepositDto.class);
+		Integer num = goodsWholesaleUserDepositDto.getNum();
+		List<Long> userIdList = userBindRelationService.getRelationUserIdList(goodsWholesaleUserDeposit.getUserId(), null);
+		Integer payNum = wholesaleOrderDonMapper.getUserWholesaleNumByUserIds(userIdList, null);
+		if (payNum >= num) {
+			//腿还押金
+			try {
+				String outNo = orderRefundService.refundWholesaleUserDeposit(goodsWholesaleUserDeposit);
+				goodsWholesaleUserDeposit.setRefundOutNo(outNo);
+				goodsWholesaleUserDeposit.setStatus(GoodsWholesaleUserDeposit.Status.refund);
+				//批发数量已达
+				goodsWholesaleUserDeposit.setIsGoal(true);
+			} catch (Exception e) {
+				log.info("押金退款错误:{}", StringUtil.getErrorText(e));
+			}
+		}
+	}
 }

+ 1 - 1
netflix-service/src/main/java/com/cyksj/service/order/impl/GoodsWholesalePayServiceImpl.java

@@ -397,7 +397,7 @@ public class GoodsWholesalePayServiceImpl implements GoodsWholesalePayService {
 			}
 			GoodsWholesaleUserDepositDto goodsWholesaleUserDepositDto = Jsons.parseObject(sysConfig.getSysValue(), GoodsWholesaleUserDepositDto.class);
 			Integer num = goodsWholesaleUserDepositDto.getNum();
-			Integer payNum = goodsWholesaleOrderDonMapper.getUserWholesaleNumByUserIds(userIdList, orderDon.getSkuId());
+			Integer payNum = goodsWholesaleOrderDonMapper.getUserWholesaleNumByUserIds(userIdList, null);
 			if (payNum >= num) {
 				//腿还押金
 				try {