发表于: 2018-03-05 21:07:16
1 595
今天完成的事情:
1.继续 设计方案
(1)完成表结构的设计
二、表格的简单说明
(1)user表
存用户用信息
COLUMN | COMMENT |
id | 自增长ID |
phone_num | 手机号码 |
pswd | 密码 |
salt | 盐值 |
manager_num | 理财经理工号 |
name | 真实姓名 |
total_property | 总资产 |
income | 累计收益 |
accounts_status | 帐户状态 |
address | 详情地址 |
电子邮箱 | |
IDCard_fornt | 身份证正面 |
IDCard_back | 身份证反面 |
IDCard | 身份证号码 |
identity_status | 实名状态 |
refuse_reason | 拒绝理由 |
refuse_status | 被拒绝状态(1代表非第一次) |
identity_time | 申请实名时间 |
user_bank_id | 默认银行卡(关联user_bank_id) |
create_at | 注册时间 |
update_at | 更新时间 |
create_by | 创建人id |
update_by | 更新人id |
(2)user_bank表
存用户的银行卡表
COLUMN | COMMENT |
id | 自增长ID |
city | 城市 |
bank_list_id | 关联bank_list表id |
Card_no | 银行卡号 |
bank_phone | 预留手机号 |
user_id | 关联user表id |
create_at | 注册时间 |
update_at | 更新时间 |
create_by | 创建人 |
update_by | 更新人 |
(3)user_message
用户信息表,存用户得回款信息,付款信息
COLUMN | COMMENT |
id | 自增长ID |
user_id | 关联user表id |
message_type | 消息类型 |
content | 消息内容 |
create_at | 注册时间 |
update_at | 更新时间 |
create_by | 创建人 |
update_by | 更新人 |
(4)invest_record
投资记录表,存用户对应得投资记录
COLUMN | COMMENT |
id | 自增长ID |
user_id | 关联user表id |
product_id | 关联product表id |
invest_amount | 投资金额 |
comodato_num | 出借合同编号 |
intercreditor_agreement | 债权协议编号 |
invest_status | 投资状态 |
undistributed_income | 未分配收益 |
distribution_income | 分配收益 |
value_start_day | 起息日 |
value_end_day | 到息日 |
create_at | 注册时间 |
create_by | 创建人id |
(5)trading_record
用户交易记录表,存用户得交易记录
COLUMN | COMMENT |
id | 自增长ID |
user_id | 关联user表的id |
trading_num | 交易流水号 |
product_name | 产品名称 |
trading_amount | 交易金额 |
trading_type | 交易类型 |
trading_status | 交易状态 |
trading_mode | 交易方式(银行,尾号) |
trading_time | 交易时间 |
create_by | 创建人id |
(6)debtor
债务人表,记录债务人得信息
COLUMN | COMMENT |
id | 自增长ID |
debtor_mark | 债务人编号 |
debtor_name | 姓名 |
debtor_phone | 手机号 |
debtor_IDcard | 债务人身份证号码 |
expires | 出借期限 |
debt_start_time | 出借日期 |
debt_end_time | 到期日期 |
amount | 出借金额 |
status | 状态 |
remark | 备注 |
nature | 债权性质 |
create_at | 注册时间 |
update_at | 更新时间 |
create_by | 创建人 |
update_by | 更新人 |
(7)product
产品表,记录所有产品得信息
COLUMN | COMMENT |
id | 自增长ID |
product_mark | 产品代号 |
name | 产品名称 |
interest_rate | 收益率(无%) |
financial_period_day | 投资期限(天) |
financial_period_month | 投资期限(月) |
payment_method | 还款方式 |
interest_delayed | 起息日期(延后多少天算利息) |
product_status | 产品状态 |
interest_amount | 起投金额 |
remark | 备注 |
details_pic | 更多详情 |
hot_corner_mark | 热门产品 |
new_corner_mark | 新近产品 |
recommended | 精品推荐 |
limited | 限购 |
create_at | 注册时间 |
update_at | 更新时间 |
create_by | 创建人 |
update_by | 更新人 |
(8)content
内容表,记录banner,推荐页,等消息
COLUMN | COMMENT |
id | 自增长ID |
title | 标题 |
type | 类型 |
status | 状态 |
content_pic | 内容时间 |
create_at | 注册时间 |
update_at | 更新时间 |
create_by | 创建人 |
update_by | 更新人 |
(9)message
系统消息表
COLUMN | COMMENT |
id | 自增长ID |
title | 标题 |
type | 类型 |
status | 状态 |
resume | 摘要 |
message_pic | 图片 |
message_type | 消息类型 |
send_to | 发送人群 |
create_at | 注册时间 |
update_at | 更新时间 |
create_by | 创建人 |
update_by | 更新人 |
(10)suggestion
意见反馈表
COLUMN | COMMENT |
id | 自增长ID |
phone | 手机号 |
name | 姓名 |
suggestion_detail | 内容 |
create_at | 注册时间 |
update_at | 更新时间 |
create_by | 创建人 |
update_by | 更新人 |
(11)bank_list
记录银行信息
COLUMN | COMMENT |
id | 自增长ID |
name | 银行名称 |
payment_agency_number | 支付机构号 |
withdraw_agency_number | 提现机构号 |
single_transaction_limit | 单笔限额 |
daily_limit | 日累计限额 |
logo_pic | ICON |
create_at | 注册时间 |
update_at | 更新时间 |
create_by | 创建人 |
update_by | 更新人 |
(12)admin
后台用户表
COLUMN | COMMENT |
id | 自增长ID |
login_name | 登录名 |
role_id | 关联admin_roleb表角色id |
pswd | 密码 |
salt | 盐值 |
create_at | 注册时间 |
update_at | 更新时间 |
create_by | 创建人 |
update_by | 更新人 |
(13)admin_role
后台用户角色表
COLUMN | COMMENT |
id | 自增长ID |
name | 角色名 |
create_at | 注册时间 |
update_at | 更新时间 |
create_by | 创建人 |
update_by | 更新人 |
(14)settings
后台设置参数表
COLUMN | COMMENT |
id | 自增长ID |
company_chop | 公章 |
invset_expire_warn | 投资到期消息提前天数 |
days_before_maturity | 债权到期提前天数 |
invest_full_line | 总债权投满警戒线 |
create_at | 注册时间 |
update_at | 更新时间 |
create_by | 创建人 |
update_by | 更新人 |
(15)count
销量统计表
COLUMN | COMMENT |
id | 自增长ID |
product_id | 关联product表id |
date | 统计日期 |
purchase_times | 购买次数 |
purchase_amount | 购买金额 |
create_at | 注册时间 |
update_at | 更新时间 |
create_by | 创建人 |
update_by | 更新人 |
(16)
module
模块表,记录所有后台模块
COLUMN | COMMENT |
id | 自增长ID |
module_name | 模块名字 |
url | 模块对应url地址 |
parent_module_id | 父模块ID |
module_type | 模块类型 |
create_at | 注册时间 |
update_at | 更新时间 |
create_by | 创建人id |
update_by | 更新人id |
(17)authority
权限表,记录用户角色的权限
COLUMN | COMMENT |
id | 自增长ID |
role_id | 关联role表id |
module_id | 关联module表id |
create_at | 注册时间 |
update_at | 更新时间 |
create_by | 创建人 |
update_by | 更新人 |
(2)story方案的拆解
内容管理
1、作为管理者,希望有个内容列表,可以浏览所有运营内容
方案:调用查询内容接口(tbl_content)取出所有内容记录,根据page,size参数取出响应数据,排序方式为按level字段(由大到小)。
2、作为管理者,希望能搜索内容信息,可以精确查找运营内容
方案:调用查询内容接口(tbl_content),根据筛选参数获取相应内容数据。
3、作为管理者,希望能上下线内容,可以控制运营内容在线与否
方案:调用更新内容接口(tbl_content),根据内容id、类型和是否上架参数(status),更新内容表(tbl_content)对应记录的上下架字段,同时要检查内容表中是否已有上架的内容记录,若有,先将其下架,否则当前记录不能上架成功(推荐banner除外)。
实现逻辑:首先根据内容类型参数判断要上线的内容是哪一种。如果是推荐banner,则直接更新上下架字段。如果不是,则首先在tbl_content表中找到该类型正在线上的那条记录,然后将该条记录的status字段置为草稿,最后将当前这条记录的status字段置为上线.最后两个操作为一个原子性操作,一个失败则整体操作都失败。
4、作为管理者,希望能新增/编辑运营内容,可以创建/编辑新旧运营内容
新增内容
方案:调用新增内容接口(tbl_content),根据内容对象参数在内容表里生成一条记录,如果要立即上线,则要要检查内容表中是否已有上架的内容记录,若有,先将其下架,否则当前记录不能上架成功(推荐banner除外)。
编辑内容
方案:调用更新内容接口(tbl_content),根据内容对象参数更新内容表中对应记录,如果要立即上线,则要要检查内容表中是否已有上架的内容记录,若有,先将其下架,否则当前记录不能上架成功(推荐banner除外)。
推荐banner部分
注:每组banner包含一张封面小图和若干内容大图,前台app展示所有组的封面,点击封面可查看具体内容大图详情。后端表中存储则是一张图一条记录。
编辑banner时,修改标题则属于该标题的一组记录中的标题字段都会改变。实现时,用户点击编辑,则根据前端传入的banner记录标题,在tbl_content表中找出此标题的所有banner记录返回。前端编辑完成后点击提交,首先根据前端传入的内容对象参数id数组和标题,先去tbl_content表中查找是否存在已有标题的banner记录,如果记录存在,判断该记录id数组是否与内容对象参数id数组相同,如果相同,则说明当前编辑操作的目标是唯一的,否则说明当前传入的内容对象参数的标题与表中记录重复,当前编辑操作失败。如果记录不存在,则直接按照id更改表中记录。
新增banner时,根据前端传入的内容对象参数标题,去tbl_content表中查找是否存在已有标题的banner记录,如果记录不存在,则在表中新增记录,否则当前新增操作失败。
5、作为管理者,希望能删除运营内容,可以清理错误或不再使用的运营内容
方案:调用删除内容接口(tbl_content),根据内容id参数删除内容表中对应记录
逻辑实现:在对表进行删除操作之前先判断,如果该条记录的状态为线上,那么就不能执行删除sql语句,否则就删除.对于banner图类型,即使状态是草稿,如果该条记录是封面,
那么也不能删除,必须先将其type字段变为1之后(编辑操作中更换封面),才能删除.删除记录同时删除第三方云存储中的图片url.
Banner拖动排序
方案:先调用查询内容接口,只带一个类型参数,查找所有banner类型的记录.然后再调用更新内容接口(tbl_content),参数为标题名称以及记录id数组
关于banner图的拖动排序实现方案:从表中取出初始banner组记录返回给前端,前端完成拖动排序操作后,会返回排序后的记录id数组(比如[5,2,4,3,1]),后端根据此数组修改表中每张图片记录的order字段值
销量统计
1、作为管理者,希望能统计销量情况,可以实时了解产品总体运营状况
方案一:调用查询产品销量统计接口,统计tbl_sales表中每种产品的销量,然后再统计当天截止目前的销量,最后根据不同产品构建一个list返回给前端。
关于产品购买人数的统计规则:当天除重,隔天计数,总数除重
实现逻辑:
每天定时跑批时计算每一个产品的当天的销量情况,在sales表中生成一条记录
先查询出所有产品ID,再根据产品ID到sales表中将每个产品对应的购买人数,购买次数,购买金额累加后返回,再统计出当天投资的总投资记录。
接着,将该投资记录通过产品ID划分为几个小List,最后,分别对这些List统计购买人数(去重),购买次数,购买金额。
两类数据相加即为该产品的实时销量
2、作为管理者,希望能搜索产品名称或代号,可以精确查找产品对应销量
方案:调用查询产品销量统计接口(tbl_sales),根据筛选参数查询对应产品的销量数据并统计,最后构建一条数据返回给前端。实现逻辑同上。
3、作为管理者,希望能查看每种产品的详细销量情况,可以帮助分析用户行为和产品之间的关系
方案:调用查询产品销量统计接口(tbl_sales),带产品ID参数,在tbl_sales表中查出该产品的销量统计,然后再统计当天截止目前的销量,最后构建一个list返回给前端。
明天计划的事情:
1.继续拆解story
遇到的问题:
1.占无
收获:
1.深入了解需求
评论