发表于: 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;
}
明天计划的事情:代码生成
遇到的问题:撇配对应问题 是否拆分投资
收获:字段
评论