发表于: 2018-03-05 21:07:16

1 595


今天完成的事情:

1.继续 设计方案

(1)完成表结构的设计

二、表格的简单说明

(1)user表

存用户用信息

COLUMNCOMMENT
id自增长ID
phone_num手机号码
pswd密码
salt盐值
manager_num理财经理工号
name真实姓名
total_property总资产
income累计收益
accounts_status帐户状态
address详情地址
email电子邮箱
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表

存用户的银行卡表

COLUMNCOMMENT
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

用户信息表,存用户得回款信息,付款信息

COLUMNCOMMENT
id自增长ID
user_id关联user表id
message_type消息类型
content消息内容
create_at注册时间
update_at更新时间
create_by创建人
update_by更新人

(4)invest_record

投资记录表,存用户对应得投资记录

COLUMNCOMMENT
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

用户交易记录表,存用户得交易记录

COLUMNCOMMENT
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

债务人表,记录债务人得信息

COLUMNCOMMENT
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

产品表,记录所有产品得信息

COLUMNCOMMENT
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,推荐页,等消息

COLUMNCOMMENT
id自增长ID
title标题
type类型
status状态
content_pic内容时间
create_at注册时间
update_at更新时间
create_by创建人
update_by更新人

(9)message

系统消息表

COLUMNCOMMENT
id自增长ID
title标题
type类型
status状态
resume摘要
message_pic图片
message_type消息类型
send_to发送人群
create_at注册时间
update_at更新时间
create_by创建人
update_by更新人

(10)suggestion

意见反馈表

COLUMNCOMMENT
id自增长ID
phone手机号
name姓名
emailemail
suggestion_detail内容
create_at注册时间
update_at更新时间
create_by创建人
update_by更新人

(11)bank_list

记录银行信息

COLUMNCOMMENT
id自增长ID
name银行名称
payment_agency_number支付机构号
withdraw_agency_number提现机构号
single_transaction_limit单笔限额
daily_limit日累计限额
logo_picICON
create_at注册时间
update_at更新时间
create_by创建人
update_by更新人

(12)admin

后台用户表

COLUMNCOMMENT
id自增长ID
login_name登录名
role_id关联admin_roleb表角色id
pswd密码
salt盐值
create_at注册时间
update_at更新时间
create_by创建人
update_by更新人

(13)admin_role

后台用户角色表

COLUMNCOMMENT
id自增长ID
name角色名
create_at注册时间
update_at更新时间
create_by创建人
update_by更新人

(14)settings

后台设置参数表

COLUMNCOMMENT
id自增长ID
company_chop公章
invset_expire_warn投资到期消息提前天数
days_before_maturity债权到期提前天数
invest_full_line总债权投满警戒线
create_at注册时间
update_at更新时间
create_by创建人
update_by更新人

(15)count

销量统计表

COLUMNCOMMENT
id自增长ID
product_id关联product表id
date统计日期
purchase_times购买次数
purchase_amount购买金额
create_at注册时间
update_at更新时间
create_by创建人
update_by更新人

(16)

module

模块表,记录所有后台模块

COLUMNCOMMENT
id自增长ID
module_name模块名字
url模块对应url地址
parent_module_id父模块ID
module_type模块类型
create_at注册时间
update_at更新时间
create_by创建人id
update_by更新人id

(17)authority

权限表,记录用户角色的权限

COLUMNCOMMENT
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.深入了解需求


返回列表 返回列表
评论

    分享到