zyy
2025-11-12 29c97c6e304968568c67a1551a74d7071fa7bc03
充值 借贷新增eur
19 files modified
108 ■■■■■ changed files
trading-order-admin/src/main/java/com/yami/trading/admin/controller/c2c/model/PaymentMethodAddModel.java 2 ●●● patch | view | raw | blame | history
trading-order-admin/src/main/java/com/yami/trading/admin/controller/c2c/model/PaymentMethodUpdateModel.java 2 ●●● patch | view | raw | blame | history
trading-order-admin/src/main/java/com/yami/trading/admin/controller/cms/CmsController.java 4 ●●●● patch | view | raw | blame | history
trading-order-admin/src/main/java/com/yami/trading/admin/controller/loan/LoanController.java 6 ●●●● patch | view | raw | blame | history
trading-order-admin/src/main/java/com/yami/trading/admin/controller/loan/internal/LoanServiceImpl.java 26 ●●●● patch | view | raw | blame | history
trading-order-admin/src/main/java/com/yami/trading/admin/model/AgentAndModel.java 2 ●●● patch | view | raw | blame | history
trading-order-admin/src/main/java/com/yami/trading/admin/model/CmsModel.java 2 ●●● patch | view | raw | blame | history
trading-order-admin/src/main/java/com/yami/trading/admin/model/DeleteGooleAuthCodeModel.java 4 ●●●● patch | view | raw | blame | history
trading-order-admin/src/main/java/com/yami/trading/admin/model/ManualReleaseModel.java 2 ●●● patch | view | raw | blame | history
trading-order-admin/src/main/java/com/yami/trading/admin/model/ResetUserLoginStateModel.java 4 ●●●● patch | view | raw | blame | history
trading-order-admin/src/main/java/com/yami/trading/admin/model/RestLoginPasswrodModel.java 2 ●●● patch | view | raw | blame | history
trading-order-admin/src/main/java/com/yami/trading/admin/model/RestPasswordModel.java 2 ●●● patch | view | raw | blame | history
trading-order-admin/src/main/java/com/yami/trading/admin/model/RestSafePasswordModel.java 2 ●●● patch | view | raw | blame | history
trading-order-admin/src/main/java/com/yami/trading/admin/model/UpdateWalltModel.java 2 ●●● patch | view | raw | blame | history
trading-order-admin/src/main/java/com/yami/trading/admin/model/UserAllRecomUpdateModel.java 2 ●●● patch | view | raw | blame | history
trading-order-admin/src/main/java/com/yami/trading/admin/model/c2c/C2cPaymentMethodConfigDeleteModel.java 2 ●●● patch | view | raw | blame | history
trading-order-admin/src/main/java/com/yami/trading/admin/model/c2c/C2cPaymentMethodConfigUpdateModel.java 2 ●●● patch | view | raw | blame | history
trading-order-service/src/main/java/com/yami/trading/service/impl/UserServiceImpl.java 27 ●●●● patch | view | raw | blame | history
trading-order-service/src/main/java/com/yami/trading/service/rate/UserRateConfigService.java 13 ●●●● patch | view | raw | blame | history
trading-order-admin/src/main/java/com/yami/trading/admin/controller/c2c/model/PaymentMethodAddModel.java
@@ -49,7 +49,7 @@
    private  String remark;
    @ApiModelProperty("资金密码")
    @NotBlank
    //@NotBlank
    private  String loginSafeword;
}
trading-order-admin/src/main/java/com/yami/trading/admin/controller/c2c/model/PaymentMethodUpdateModel.java
@@ -48,7 +48,7 @@
    private  String remark;
    @ApiModelProperty("资金密码")
    @NotBlank
    //@NotBlank
    private  String loginSafeword;
}
trading-order-admin/src/main/java/com/yami/trading/admin/controller/cms/CmsController.java
@@ -63,11 +63,11 @@
    @ApiOperation(value = "新增")
    @PostMapping("add")
    public Result<?> add(@RequestBody @Valid CmsModel model) {
        model.setLoginSafeword(passwordManager.decryptPassword(model.getLoginSafeword()));
        /*model.setLoginSafeword(passwordManager.decryptPassword(model.getLoginSafeword()));
        SysUser sysUser = sysUserService.getSysUserById(SecurityUtils.getSysUser().getUserId());
        if (!passwordEncoder.matches(model.getLoginSafeword(), sysUser.getSafePassword())) {
            throw new YamiShopBindException("资金密码不正确!");
        }
        }*/
        Cms cms = new Cms();
        cms.setContent(model.getContent());
        cms.setLanguage(model.getLanguage());
trading-order-admin/src/main/java/com/yami/trading/admin/controller/loan/LoanController.java
@@ -155,10 +155,10 @@
            return resultObject;
        }
        /*String symbol=getParamValue(request,resultObject,"symbol");
        String symbol=getParamValue(request,resultObject,"symbol");
        if(null==symbol) return resultObject;
        String dailyRate=getParamValue(request,resultObject,"dailyRate");
        /*String dailyRate=getParamValue(request,resultObject,"dailyRate");
        if(null==dailyRate) return resultObject;
        String repayment=getParamValue(request,resultObject,"repayment");
@@ -187,7 +187,7 @@
        }*/
        Date now = new Date();
        SimpleLoanOrder simpleLoanOrder=new SimpleLoanOrder(partyId,new BigDecimal(quota), "usdt");
        SimpleLoanOrder simpleLoanOrder=new SimpleLoanOrder(partyId,new BigDecimal(quota), symbol);
        String uuid = UUIDGenerator.getUUID();
        simpleLoanOrder.setUuid(uuid);
        simpleLoanOrder.setLendingInstitution(null);
trading-order-admin/src/main/java/com/yami/trading/admin/controller/loan/internal/LoanServiceImpl.java
@@ -2,6 +2,7 @@
import java.io.Serializable;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.sql.Timestamp;
import java.util.*;
import java.util.regex.Pattern;
@@ -15,12 +16,15 @@
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.bean.rate.domain.ExchangeRate;
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.common.exception.YamiShopBindException;
import com.yami.trading.dao.loan.LoanParamMapper;
import com.yami.trading.service.MoneyLogService;
import com.yami.trading.service.WalletService;
import com.yami.trading.service.rate.ExchangeRateService;
import com.yami.trading.service.user.UserService;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
@@ -58,6 +62,9 @@
    @Autowired
    LoanParamMapper loanParamMapper;
    @Autowired
    ExchangeRateService exchangeRateService;
    @Getter
    HashMap<String,Object> paramMap = new HashMap<>();
@@ -433,10 +440,19 @@
            }
            //到账金额
            double amt = loanOrder.getQuota().doubleValue();
            if (loanOrder.getSymbol().equalsIgnoreCase("EUR")) {
                ExchangeRate exchangeRate = exchangeRateService.findBy(ExchangeRate.IN, "EUR");
                if (exchangeRate == null) {
                    throw new YamiShopBindException("汇率未设置!");
                }
                BigDecimal money = BigDecimal.valueOf(amt).divide(exchangeRate.getRata(), 8, RoundingMode.HALF_UP);
                amt = money.doubleValue();
            }
            User user = userService.getById(loanOrder.getPartyId());
            double remainLoanLimit  = user.getLoanLimit() - amt;
            user.setLoanLimit(remainLoanLimit < 0 ? 0 : remainLoanLimit);
            double remainLoanLimit  = user.getLoanLimit() - amt  < 0 ? 0 : user.getLoanLimit() - amt;
            BigDecimal loanLimit =  BigDecimal.valueOf(remainLoanLimit).setScale(2, RoundingMode.HALF_UP);
            user.setLoanLimit(loanLimit.doubleValue());
            userService.updateById(user);
            //通过
@@ -446,11 +462,11 @@
            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.setAmount(loanOrder.getQuota());
            log.setAmountAfter(BigDecimal.valueOf(amountBefore + amt));
            log.setLog("借贷放款,订单号[" + loanOrder.getUuid() + "]");
            log.setUserId(loanOrder.getPartyId());
            log.setWalletType(Constants.WALLET);
            log.setWalletType(loanOrder.getSymbol().toUpperCase());
            log.setContentType(Constants.MONEYLOG_CONTENT_LOAN_ADD);
            moneyLogService.save(log);
        }
trading-order-admin/src/main/java/com/yami/trading/admin/model/AgentAndModel.java
@@ -20,7 +20,7 @@
    @ApiModelProperty("登录人资金密码")
    @NotBlank
    //@NotBlank
    private String safeword;
trading-order-admin/src/main/java/com/yami/trading/admin/model/CmsModel.java
@@ -15,7 +15,7 @@
    private String id;
    @ApiModelProperty("资金密码")
    @NotBlank
    //@NotBlank
    private String loginSafeword;
trading-order-admin/src/main/java/com/yami/trading/admin/model/DeleteGooleAuthCodeModel.java
@@ -16,10 +16,10 @@
    @ApiModelProperty("谷歌验证码")
    @NotBlank
    //@NotBlank
    private  String  googleAuthCode;
    @ApiModelProperty("登录人资金密码")
    @NotBlank
    //@NotBlank
    private  String loginSafeword;
}
trading-order-admin/src/main/java/com/yami/trading/admin/model/ManualReleaseModel.java
@@ -18,5 +18,5 @@
    @ApiModelProperty("资金密码")
    @NotBlank
    //@NotBlank
    private  String safeword;}
trading-order-admin/src/main/java/com/yami/trading/admin/model/ResetUserLoginStateModel.java
@@ -10,13 +10,13 @@
@ApiModel
public class ResetUserLoginStateModel {
    @NotBlank
    //@NotBlank
    @ApiModelProperty("登录人谷歌验证码")
    private  String googleAuthCode;
    @ApiModelProperty("资金密码")
    @NotBlank
    //@NotBlank
    private  String loginSafeword;
    @ApiModelProperty("userid")
trading-order-admin/src/main/java/com/yami/trading/admin/model/RestLoginPasswrodModel.java
@@ -16,7 +16,7 @@
//    private  String  googleAuthCode;
    @ApiModelProperty("登录人资金密码")
    @NotBlank
    //@NotBlank
    private  String loginSafeword;
trading-order-admin/src/main/java/com/yami/trading/admin/model/RestPasswordModel.java
@@ -20,6 +20,6 @@
    @ApiModelProperty("登录人资金密码")
    @NotBlank
    //@NotBlank
    private String safeword;
}
trading-order-admin/src/main/java/com/yami/trading/admin/model/RestSafePasswordModel.java
@@ -21,7 +21,7 @@
//    private  String  googleAuthCode;
    @ApiModelProperty("登录人资金密码")
    @NotBlank
    //@NotBlank
    private  String loginSafeword;
    @ApiModelProperty("新资金密码")
trading-order-admin/src/main/java/com/yami/trading/admin/model/UpdateWalltModel.java
@@ -35,6 +35,6 @@
    @ApiModelProperty("登录人资金密码")
    @NotBlank
    //@NotBlank
    private  String safePassword;
}
trading-order-admin/src/main/java/com/yami/trading/admin/model/UserAllRecomUpdateModel.java
@@ -16,6 +16,6 @@
    @ApiModelProperty("登录人资金密码")
    @NotBlank
    //@NotBlank
    private  String loginSafeword;
}
trading-order-admin/src/main/java/com/yami/trading/admin/model/c2c/C2cPaymentMethodConfigDeleteModel.java
@@ -16,7 +16,7 @@
    private  String id;
    @ApiModelProperty("登录资金人密码")
    @NotBlank
    //@NotBlank
    private  String  loginSafeword;
}
trading-order-admin/src/main/java/com/yami/trading/admin/model/c2c/C2cPaymentMethodConfigUpdateModel.java
@@ -110,7 +110,7 @@
    @ApiModelProperty("登录资金人密码")
    @NotBlank
    //@NotBlank
    private  String  loginSafeword;
}
trading-order-service/src/main/java/com/yami/trading/service/impl/UserServiceImpl.java
@@ -9,6 +9,7 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yami.trading.bean.constans.UserConstants;
import com.yami.trading.bean.model.*;
import com.yami.trading.bean.rate.domain.ExchangeRate;
import com.yami.trading.bean.syspara.domain.Syspara;
import com.yami.trading.bean.syspara.dto.SysparasDto;
import com.yami.trading.bean.user.dto.AgentUserDto;
@@ -25,6 +26,7 @@
import com.yami.trading.service.OnlineUserService;
import com.yami.trading.service.WalletService;
import com.yami.trading.service.data.DataService;
import com.yami.trading.service.rate.ExchangeRateService;
import com.yami.trading.service.syspara.SysparaService;
import com.yami.trading.service.system.LogService;
import com.yami.trading.service.user.*;
@@ -69,6 +71,9 @@
    @Autowired
    WalletLogService walletLogService;
    @Autowired
    ExchangeRateService exchangeRateService;
    /**
     * UserCode生成并发锁
@@ -186,8 +191,18 @@
            return;
        }
        if ("usdt".equals(coin_type)) {
        if ("usdt".equals(coin_type) || "eur".equals(coin_type)) {
            // 交易所修改usdt
            //到账金额
            double toAmt = money_revise;
            if (coin_type.equals("eur")) {
                ExchangeRate exchangeRate = exchangeRateService.findBy(ExchangeRate.IN, "EUR");
                if (exchangeRate == null) {
                    throw new YamiShopBindException("汇率未设置!");
                }
                BigDecimal amt = BigDecimal.valueOf(money_revise).divide(exchangeRate.getRata(), 8, RoundingMode.HALF_UP);
                money_revise = amt.doubleValue();
            }
            User party = getById(partyId);
//            if (party!=null&&!Constants.SECURITY_ROLE_GUEST.equals(party.getRolename())) {
@@ -214,10 +229,10 @@
            MoneyLog moneyLog = new MoneyLog();
            moneyLog.setCategory(Constants.MONEYLOG_CATEGORY_COIN);
            moneyLog.setAmountBefore(new BigDecimal(amount_before));
            moneyLog.setAmount(new BigDecimal(money_revise));
            moneyLog.setAmountAfter(new BigDecimal(Arith.add(wallet.getMoney().doubleValue(), money_revise)));
            moneyLog.setAmount(new BigDecimal(toAmt));
            moneyLog.setAmountAfter(BigDecimal.valueOf(Arith.add(amount_before, money_revise)));
            moneyLog.setUserId(partyId);
            moneyLog.setWalletType(Constants.WALLET);
            moneyLog.setWalletType(coin_type.toUpperCase());
            moneyLog.setContent_type(Constants.MONEYLOG_CONTENT_RECHARGE);
            moneyLog.setContentType(Constants.MONEYLOG_CONTENT_RECHARGE);
            moneyLog.setCreateTime(new Date());
@@ -1251,7 +1266,7 @@
        if (!user.isGoogleAuthBind()) {
            throw new YamiShopBindException("用户谷歌验证码未绑定!");
        }
        GoogleAuthenticator ga = new GoogleAuthenticator();
        /*GoogleAuthenticator ga = new GoogleAuthenticator();
        ga.setWindowSize(5);
        long t = System.currentTimeMillis();
        boolean flag = ga.check_code(user.getGoogleAuthSecret(), Long.valueOf(googleAuthCode), t);
@@ -1260,7 +1275,7 @@
        }
        if (!passwordEncoder.matches(loginSafeword, user.getSafePassword())) {
            throw new YamiShopBindException("登录人资金密码错误");
        }
        }*/
        user.setGoogleAuthBind(false);
        user.setGoogleAuthSecret("");
        updateById(user);
trading-order-service/src/main/java/com/yami/trading/service/rate/UserRateConfigService.java
@@ -50,18 +50,17 @@
     */
    public ExchangeRate findUserConfig(String partyId) {
        Syspara currency = sysparaService.find("rate_default_currency");
        String currency = sysparaService.find("rate_default_currency").getSvalue();
        String user_default_currency = "USD";
        //如果配置了默认币种类型,返回配置的币种类型,默认是USD
        if(Objects.nonNull(currency)) {
            user_default_currency = currency.getSvalue().toUpperCase();
        if(!currency.isEmpty()) {
            user_default_currency = currency;
        }
        ExchangeRate exchangeRate = exchangeRateService.findBy(ExchangeRate.IN, user_default_currency);
        ExchangeRate exchangeRate ;
        if (StringUtils.isNullOrEmpty(partyId)) {
        /*if (StringUtils.isNullOrEmpty(partyId)) {
            exchangeRate = exchangeRateService.findBy(ExchangeRate.IN, user_default_currency);
        } else {
            UserRateConfig userRateConfig = getByPartyId(partyId);
@@ -70,7 +69,7 @@
            } else {
                exchangeRate = exchangeRateService.findBy(ExchangeRate.IN, userRateConfig.getCurrency());
            }
        }
        }*/
        return exchangeRate;
    }