发表于: 2017-11-13 23:38:08

1 881


今天完成的事情:

一、改了一下方案:理财产品列表

1、作为用户,希望有个产品列表,可以浏览所有理财产品简略信息

方案:查询product表,返回状态为“上线”的产品列表,依次按更新时间、创建时间降序排序。

2、作为用户,希望可以点开列表项查看产品详情,可以了解更多产品基本信息

方案:根据URL传入的产品id去查产品表,返回产品详情。

购买理财产品

1、作为用户,希望能支付相应的金额,可以购买理财产品获得相应投资收益

方案:微信支付和支付宝支付都需要有商户认证才能使用,所以这个支付模块做不了。

2、作为用户,希望购买时可以签署合同,可以获得一定法律保障

方案:合同为静态文件,用户的签名是一张图片,上传到云服务的对象存储,存到投资记录表。

3、作为用户,希望有个理财计算器,可以模拟计算预期收益

方案:前端负责。

二、修改接口文档 

1、查看银行列表

请求地址:get  /a/u/bank/search

请求参数:null

返回参数:  字段 说明 类型 备注

code 状态码 Number

message 状态说明 String

data

Object

data:

字段 说明 类型 备注

bankList 银行列表 Array

bankList:

字段 说明 类型 备注

bid 自增长id Number

bankName 银行名称 String

payingAgencyNumber 支付机构号 String

withdrawNumber 提现机构号 String

logo 银行LOGO String

singleQuota 单笔限额 Number 单位:元

dailyQuota 日累计限额 Number 单位:元


债权匹配 算法 实现

switch (level) {
case 0:
list = getNotMatchedInvestSplitList_0(creditId, beginAt, endAt, amount);
   break;
 case 1:
list = getNotMatchedInvestSplitList_1(creditId, beginAt, endAt, amount);
   break;

这里用switch 匹配 level level本身数据库没有 作为入参

public List<InvestSplit> getNotMatchedInvestSplitList(int level, long creditId, long beginAt,
                                                     long endAt, BigDecimal amount) {
return splitService.getNotMatchedInvestSplitList(level, creditId, beginAt, endAt, amount);
}

在controller中 level long指定

List<InvestSplit> notMatchedInvestSplits = new ArrayList<>();
long now = MyTimeUtil.getTodayZeroTimeMillions();
int level = 0;
while (level < 4) { // 目前是4个优先级,0,1,2,3优先级依次降低
 notMatchedInvestSplits = splitService.getNotMatchedInvestSplitList(level, creditId, now,
     cs.getEndAt(), cs.getAmount());
 if (CollectionUtils.isNotEmpty(notMatchedInvestSplits)) { // 当前的优先级有拆分投资,则跳出
   log.info("notMatchedInvestSplits size is: " + notMatchedInvestSplits.size());
   break;
 }
++level;
}


明天计划的事情:代码生成
遇到的问题:撇配对应问题 是否拆分投资
收获:字段 


返回列表 返回列表
评论

    分享到