From 14b83856903ebec3f5b87cc4b28d42d3a49a0212 Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Fri, 31 Oct 2025 15:29:29 +0800
Subject: [PATCH] 借贷

---
 trading-order-admin/src/main/java/com/yami/trading/admin/controller/loan/internal/LoanServiceImpl.java |  100 +++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 94 insertions(+), 6 deletions(-)

diff --git a/trading-order-admin/src/main/java/com/yami/trading/admin/controller/loan/internal/LoanServiceImpl.java b/trading-order-admin/src/main/java/com/yami/trading/admin/controller/loan/internal/LoanServiceImpl.java
index d2c2f6c..1f3b050 100644
--- a/trading-order-admin/src/main/java/com/yami/trading/admin/controller/loan/internal/LoanServiceImpl.java
+++ b/trading-order-admin/src/main/java/com/yami/trading/admin/controller/loan/internal/LoanServiceImpl.java
@@ -3,24 +3,27 @@
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.sql.Timestamp;
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
 import com.alibaba.fastjson2.JSON;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.yami.trading.admin.controller.loan.LoanService;
-import com.yami.trading.bean.finance.Finance;
 import com.yami.trading.bean.loan.LoanParam;
 import com.yami.trading.bean.loan.SimpleLoanOrder;
+import com.yami.trading.bean.model.MoneyLog;
 import com.yami.trading.bean.model.User;
+import com.yami.trading.bean.model.Wallet;
 import com.yami.trading.common.constants.Constants;
+import com.yami.trading.common.domain.Result;
 import com.yami.trading.common.exception.BusinessException;
+import com.yami.trading.dao.loan.LoanParamMapper;
+import com.yami.trading.service.MoneyLogService;
+import com.yami.trading.service.WalletService;
 import com.yami.trading.service.user.UserService;
 import lombok.Getter;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.ObjectUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -36,6 +39,7 @@
  * @author JORGE
  * @description 借贷服务接口实现类
  */
+@Slf4j
 @Service
 @Transactional
 public class LoanServiceImpl implements LoanService {
@@ -45,6 +49,15 @@
 
 	@Autowired
 	UserService userService;
+
+	@Autowired
+	WalletService walletService;
+
+	@Autowired
+	MoneyLogService moneyLogService;
+
+	@Autowired
+	LoanParamMapper loanParamMapper;
 
 	@Getter
 	HashMap<String,Object> paramMap = new HashMap<>();
@@ -358,7 +371,11 @@
 			}
 
 			transferMap.put("repayment", new Object[] {rep,repayments.get(rep)});
-			transferMap.put("houseImgs", null==houseImgs?new String[0]:commaPattern.split(houseImgs));
+			String[] imgs = null == houseImgs ? new String[0] : commaPattern.split(houseImgs);
+			for (int i = 0; i < imgs.length; i++) {
+				imgs[i] = Constants.IMAGES_HTTP + imgs[i];
+			}
+			transferMap.put("houseImgs", imgs);
 			transferMap.put("lendingInstitution", new Object[] {led,order.getLendingName()});
 			
 			
@@ -406,8 +423,33 @@
 		if(null==status || (status=status.trim()).isEmpty()) {
 			throw new BusinessException("审核状态不能为空!");
 		}
-		
+
 		int state=Integer.parseInt(status);
+		if (state==2) {
+			SimpleLoanOrder loanOrder = getLoanOrder(null, orderId);
+			if(loanOrder == null) {
+				throw new BusinessException("找不到订单!");
+			}
+			//到账金额
+			double amt = loanOrder.getQuota().doubleValue();
+			//通过
+			Wallet wallet = this.walletService.saveWalletByPartyId(loanOrder.getPartyId());
+			double amountBefore = wallet.getMoney().doubleValue();
+			this.walletService.update(wallet.getUserId(), amt);
+			MoneyLog log = new MoneyLog();
+			log.setCategory(Constants.MONEYLOG_CATEGORY_LOAN);
+			log.setAmountBefore(new BigDecimal(amountBefore));
+			log.setAmount(new BigDecimal(amt));
+			log.setAmountAfter(wallet.getMoney().add(BigDecimal.valueOf(amt)));
+			log.setLog("借贷放款,订单号[" + loanOrder.getUuid() + "]");
+			log.setUserId(loanOrder.getPartyId());
+			log.setWalletType(Constants.WALLET);
+			log.setContentType(Constants.MONEYLOG_CONTENT_LOAN_ADD);
+			moneyLogService.save(log);
+		}
+
+
+
 		int count=0;
 		if(StringUtils.isNotBlank(reason)) {
 			count = jdbcTemplate.update("UPDATE T_SIMPLE_LOAN_ORDER SET state=?,REASON=? WHERE UUID=?",state,reason,orderId);
@@ -571,4 +613,50 @@
 		this.paramMap = params;
 	}
 
+	@Override
+	public Result getLoanParamList(int pageNum, int pageSize) {
+		try {
+			Page page = new Page(pageNum, pageSize);
+			page = loanParamMapper.getLoanParamList(page);
+			return Result.succeed(page);
+		} catch (Exception e) {
+			log.error(e.getMessage());
+		}
+		return Result.failed("获取失败");
+	}
+
+	@Override
+	public Result saveLoanParam(LoanParam model) {
+		try {
+			if (model.getLending_institution() == null || model.getLending_institution().isEmpty()) {
+				model.setLending_institution("1");
+			}
+			if (model.getUuid() != 0) {
+				System.out.println(model);
+				if (loanParamMapper.updateById(model) > 0) {
+					return Result.succeed("修改成功");
+				}
+			} else {
+				if (loanParamMapper.insert(model) > 0) {
+					return Result.succeed("添加成功");
+				}
+			}
+		} catch (Exception e) {
+			log.error(e.getMessage());
+		}
+		return Result.failed("操作失败");
+	}
+
+	@Override
+	public Result delLoanParam(String id) {
+		try {
+			if (loanParamMapper.deleteById(id) > 0) {
+				return Result.succeed("删除成功");
+			}
+		} catch (Exception e) {
+			log.error(e.getMessage());
+		}
+		return Result.failed("操作失败");
+	}
+
 }

--
Gitblit v1.9.3