zyy
2025-10-30 41561cbb4ee65c78f2e7e523b8b07d5638c80c3a
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,46 @@
      this.paramMap = params;
   }
   @Override
   public Result getLoanParamList(int pageNum, int pageSize) {
      try {
         Page<LoanParam> page = new Page<>(pageNum, pageSize);
         page = loanParamMapper.selectPage(page, null);
         return Result.succeed(page);
      } catch (Exception e) {
         log.error(e.getMessage());
      }
      return Result.failed("获取失败");
   }
   @Override
   public Result saveLoanParam(LoanParam model) {
      try {
         if (model.getUuid() != 0) {
            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("操作失败");
   }
}