2022.04.16

前言:

       现在写的这个小说网站我们前后端已经可以进行交互了,关于本次的项目我感觉接口好写,就是那些在此过程中的bug解决的时间长,基本上就是接口几分钟改bug几小时,有时也可能因为在git仓库中合并的时候出的问题,就导致项目启动出现问题,所以版本一定要控制好,否则会出现一些冲突,找bug的时候也不好找。下面就是我在此过程中的一些感悟。

项目心得体会:

因为在前期讨论的时候没清除相互之间的需求,导致我现在写的时候还要更改数据库中的表,添加
字段,比如我写的将书库的分类给显示,原本想着把所有过于小说的相关数据全部给到前端,再加一个分页显示,基本上就没啥问题了,没想到他那没法几个条件同时进行查询,然后我就专门写了一个接口去写这个东西,我还专门为此加上了一个实体类,这就是最后的效果,还有它在mybatis中的代码,感觉这一个接口写好好多的页面都能去使用它。

<select id="searchnovel" resultMap="NovelMapper">
        select a.id,a.autor,a.title,a.descb,a.nclass,a.imgurl,a.novel_update_statue,a.near_time,sum(t.words) from novelautor a left outer join
        noveltitle t on t.novel_id=a.id where 1=1

            <if test="nclass!=null and nclass!=''">
                and a.nclass = #{nclass}
            </if>
            <if test="reader_sex!=null and reader_sex!=''">
                and  a.reader_sex=#{reader_sex}
            </if>
            <if test="novel_update_statue!=null and novel_update_statue!=''">
                and a.novel_update_statue=#{novel_update_statue}
            </if>
            group by a.title
            <if test="words_max!=null and words_max!=''and words_min!=null and words_min!=''">
                having sum(t.words) > #{words_min} and sum(t.words)  &lt; #{words_max}
            </if>


        order by a.id desc limit #{begin_index},10
    </select>

这是在swagger里测试的结果,出现的结果也没有出现错误,也可能是数据库里的数据太少以至于我还没找到它的bug在哪。

现在写小说收藏我想的是用一个SQL语句就行了,然后我就去搜如何去让他在没有就插入有的话就进行更改,就使用了那个if not exists的方式,然后写了多次语句仍未解决

if not exists (select * from collect where user_id=1 and novel_id=2) then insert into collect(user_id,novel_id,content_id) values(1,2,3) else update collect set content_id=3 where user_id=1 and novel_id=2 

SQL索引还没有搞懂,也就没有用其他的方式去写,最后也之解决了那个不存在就插入的SQL语句,不存在就更改准被用俩个SQL语句来进行书写

insert into history (user_id,novel_id)select 1,37 from dual where not exists(select * from history where user_id=1 and novel_id=37)

后面再在前边已经判断好的基础上加上修改的语句就行了。

总结:

本次项目主要就是对数据库里的信息进行处理,再更改一下传输过程中所遇到的问题,基本上这个项目的后台就搭建的差不多了,也希望一个月能完成网站的建设,不至于将问题遗留给后期再去加班加点。

目前我发你的Excel是我的原文件,上面代码是计算信托产品收益的,目前最大的问题是无法处理在同一个付息期内含有多个提前到期和本金返还的情况,我目前的逻辑是在输出的日期表里,既包含根据付息频率计算的每个付息日直到到期日,也要包含每个提前到期日,但本金返还日不用输出;对于每一个付息期(常规是3个月),子区间的利息是当前本金在该区间产生的利息,同时,对于提前到期类,需要计算该笔提前到期金额在该区间产生的利息,最终,在该区间的结尾的付息日,产生的收益是子区间利息的和减去提前到期产生利息和,以产品A为例:起息日2022.7.19,拟定交易日为该天,类别为认购25000,付息频率3个月,利率6%,2022.7.29有17686提前到期,2022.8.25有1000本金返还,2022.09.16有3649提前到期; 我需要的输出付息日列表是2022.7.29-对应提前到期17686本息和,2022.09.16-对应提前到期3649本息和,在2022.7.19下一个付息日2022.10.19-对应的利息是各子区间对应剩余本金产生的利息减去两个提前到期日已经偿付出去的利息。 正确的计算以示例为例: 2022.7.19-2022.7.29认购25000本金产生的利息I1,提前到期本金17686在此期间产生的利息T1 2022.7.29-2022.8.25剩余本金7314(25000减提前到期17686)产生的利息I2 2022.8.25-2022.9.16剩余本金6314(7314减本金返还1000)产生的利息I3,提前到期本金3649在2022.7.19-2022.9.16产生的利息T2 2022.9.16-2022.10.19剩余本金2615(6314减提前到期3649)产生的利息I4 则需要的区间结尾(2022.10.19)的付息日收益为I1+I2+I3+I4-T1-T2 因此对于该区间正确的输出是 付息日列表2022.7.29-对应提前到期17686本金和利息T1, 2022.09.16-对应提前到期3649本金和利息T2, 在2022.7.19下一个付息日2022.10.19-对应的收益是I1+I2+I3+I4-T1-T2。 完成上述需求后发送完整代码(包含函数、调用、输出打印等)给我
最新发布
05-01
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Array_new

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值