服务
UserInfoQuery 会员服务
queryBasicsInfoById 获取用户信息
loanSignQuery 标通用查询服务
getLoansignById 获取标的基本信息
getLoanrecordMoneySum 标的目前认购金总和(BaseLoadnsignServer有)
select IFNULL(SUM(tenderMoney),0) from loanrecord where loanSign_id=? AND isSucceed = 1
LoanInfoService 标与会员的关联
getCount(loan, userinfo) 获取会员能购买的最大标数目
getCreditRating(Long userid) 用户信用等级
getLoanRecord(Long id,PageModel page) 标的认购记录
isVip(Userbasicsinfo userinfo) vip客户判断
userInfoQuery.isPrivilege(userinfo);
getAttachment 获取标的所有附件
getCreditRating 获取用户信用等级
BaseLoansignService 借款表通用
sumLoanMoney 标目前募集金额
select sum(tenderMoney) from loanrecord where isSucceed=1 and loanSign_id=
sumMyLoanMoney 用户当前购标金额
select sum(tenderMoney) from loanrecord where isSucceed=1 and loanSign_id=? and userbasicinfo_id=?
购标流程
String order_id ="BID"+ StringUtil.pMerBillNo() 投标订单号
BidInfo(userinfo, loan, "1", money); 标的详细信息
PlankService 购标服务
update 冻结资金
"UPDATE userfundinfo SET cashBalance=?, money=? ,frozenAmtN=? where id=?";
Double frozenAmt = userfundinfo.getFrozenAmtN()+loanMoney-subMoney.doubleValue();
Double newCashBalance = userfundinfo.getCashBalance() - loanMoney+subMoney.doubleValue();
Double newMoney = userfundinfo.getMoney() - loanMoney+subMoney.doubleValue();
VoucherService 代金券服务
useVoucher 使用代金券
获取代金券
"select uv.* from user_voucher_relation uv left join voucher v on v.id = uv.voucher_id " +
" where uv.has_times > 0 and uv.user_id = " + userId + " order by v.amount";
Loanrecord loanrecord = new Loanrecord(); 购标持久化记录
setIsPrivilege 设置vip
setIsSucceed(Constant.STATUES_ONE) 购买是否成功
setLoansign(loan) 借款标信息*
setpMerBillNo(order_id) 投标订单号
setTenderMoney(Double.parseDouble(bid.getpTrdAmt())) 购买金额
交易金额,债权面额等于交易金额
setTenderTime(DateUtils.format("yyyy-MM-dd HH:mm:ss")) 购买日期
setUserbasicsinfo(userinfo) 购买用户信息*
setIsAutomatic(1) 手动投标
setVoucherMoney(request.getAttribute("subMoney") 体验金
Accountinfo 用户流水
setExpenditure(Double.parseDouble(bid.getpTrdAmt())); 支出
setExplan("投标") 说明
setIncome(0.00) 收入
setIpsNumber(bid.getpP2PBillNo()) ips唯一流水号
setLoansignId(loan.getId()) 借款标编号
setMoney(accountBalance-money) 余额
setTime(DateUtils.format("yyyy-MM-dd HH:mm:ss")) 时间
setUserbasicsinfo(userinfo) 购买用户信息*
setAccounttype(plankService.accounttype(21L)) 账号类型
更新标基础信息表
Loansignbasics loans = loan.getLoansignbasics();
if (loan.getLoanType() != 7 && !loan.getLoanType().equals("7")) { 标的类型不是理财计划
loans.getMgtMoney() 借款管理费
loans.setMgtMoney(loans.getMgtMoney() + Double.parseDouble(bid.getpFee())); 投资人手续费
plankService.update(loanrecord, account, accountBalance, loans); 更新购标记录, 用户流水,账户余额,标基础信息
更新用户session
Userfundinfo ufi = userInfoQuery.getUserFundInfoBybasicId(userinfo.getId());
userinfo.setUserfundinfo(ufi);
request.getSession().setAttribute(Constant.SESSION_USER, userinfo);
更新标浏览次数
loanInfoService.save(loan);