00:00
前面我们收集到了商品保存的所有数据,并且我们使用接层工具逆向出了我们相应的VO,那接下来我们就来完善保存功能,在完善保存功能之前呢,我们对VO里边的个别属性来做一个调整,首先我们所有的价格字段以及小数字段,我们全部呢使用big decemma,我们不用double,那我们把这一块来调整一下,包括我们这些get set方法,我就把这个直接删掉,我们使用long bank and data,那看起来呢就比较清爽一点,An data。我们将里边其他的属性都这样调整,棒子里边积分,这些积分呢,不可能是in特值,我们积分可能有小数,所以我们这个得西嘛,这一块也一样,那将这些呢,我们就可以删掉了,使用bank的注解,让它自动生成get。包括我们的best at tr。我们基本属性里边倒没有什么小数的值,所以我们就把这些get set方法删掉就行了。我们使用long bank的at data,好,接下来就是我们的SQS,在SQS里边,首先商品的所有跟价格有关的东西。
01:13
那我们都需要封装成贝格等ma,包括在下边打的这个折扣,我们都用贝格等西码来替代,还有这些满减价格。来写一下。我们都用bIgMa来替代这些数字的话,我们就运算不会丢失相应的精度。那其他的get set方法我们也可以删除掉。包括我们这儿还有会员价格,好,我们先来enter data,我们先来一个一个看at tr里边的这块呢,暂时不需要备个得C码,把这个去掉,在这按data,然后呢,就是我们的下边有一个member price,我们会员价格里边这个价格呢,肯定也是对着曼的,你将这些呢都删掉。
02:03
另外我们数据库所有的ID字段。都是用浪类型的,所以我们在这来使用浪进行封装。那SP赛VO里边的其他的东西,我们都要使用浪进行封装,比如这两个ID来写成浪。还有这个来写成浪。在积分里边,它里边呢,没有什么浪型的ID,带at tr好属性的ID都来写成浪类型。我们再来看这个SQS里边at tr的ID,我们来写成long类型。还有我们。SQS里边的其他我们来看一下member price里边好这个了,已经改掉了,那我们将SQ save view调整一下,然后我们来编写controltr的功能,假设我们页面给我们发了一个请求,携带了这么些数据,而且这个数据呢,我们使用spring mvc将它转成我们这个对象。
03:03
当这么大的数据肯定是需要校验的,所以在这一块呢,大家可以来标上。我们GSR303相应的校验注解,校验不通过,就会自动的通过我们的整个异常集中处理器。在这会来给前端返回校验不通过的相关信息,我们现在来就直接写我们的业务逻辑,我希望呢有一个PU info service来看一下,这有一个PU info service,它有一个叫save PU info这个方法,它可以将我们整个VO放进来,然后给我们保存所有数据,那我们就来创建出这个方法。这个方法呢,由于是一个大保存,可能要保存很多东西,所以首先我们给这个方法上加一个transitional,这是一个事物,然后我们来编写我们的逻辑,首先在这个VO里边,那第一部分数据那就属于商品的一些基本信息了,所以我们PU for service,它里边呢,先得有一个保存SPU基本信息的,然后接下来我们来看第二部分puu的基本信息,包括商品的重量,发布状态这描述以及图片,这个描述和图片我们来看一下基本信息都在这张表里边,而po的所有图片集在另外一张表和po的整个商品介绍描述,因为这个描述啊。
04:28
可能有非常多的大长图,图片的地址也很长,所以我们专门建立了一张表,将这些大字段分割出来,我们这张表里边呢,只有商品的ID和它的整个描述,所以呢,我们squ英符基本信息保存完,保存它的描述,所有图片,保存它的图片集,这些图片集呢,就是后来squ在选图片的时候,在这选中的,好我们就在这来写一下,那现在的这么几大部,第一个保存基本信息,第二个保存SPU,保存PU的描述图片,还有我们接下来要保存PU的,存SPU的图片集,然后呢,我们还要保存PU的,来看一下。
05:12
在这个save info里边,这都写好了,加这一块整个list就是po的基本属性,也就是我们的规格参数,哪个属性值是什么,是不是快速展示的,在这呢都有,所以我们接下来第四步就是保存s puu的规格参数,这个规格参数呢,又要操作另外一张表,在p Ms product里边,这有个at tr value保存了pou的ID,当前商品的ID对应的属性名,以及它的这个属性值是否快速展示,包括也冗余存储了这个属性的属性名,当然我们也可以去来维护一个属性的顺序,所以呢,我们还得额外操作这张表来保存商品的属性,我们都可以在这来备注一下,我们要操作这张表,我们接下来呢就需要保存s po的其他信息,我们来看一下还有这个SQS,那就是s pou的所有SQ信息。
06:12
这是第四,接下来是第五步,保存当前SKU,保存当前s puu对应的所有SKU信息,那SQ信息呢,肯定要操作SQ相关的表,那这些步骤都操作哪些表,我们也给他备注一下。保存基本信息那就在squ英fo这张表里边,而保存po的描述图片,那就在pofo describe这张表里边。还要保存po的图片集,那就在po的images这张表里边。还有我们保存squ的规格参数在这儿,还有保存SKU的这些信息我们在这,而squ呢,又区分很多,大家可以看一下。在SQS里边,首先这一块的信息都是SQ的一些基本信息,这是SQ的销售属性的值,这是SQ的一些满减优惠以及会员价格等等。
07:11
那我们想要保存呢?我们先来,来到我们的这个service里边。这个SQ又有很多,来写一下5.1。5.1首先呢是我们SQ的基本信息,包括SQ的名字,标题、副标题等等,这些要存在SKU info这张表里边,这张表里边呢,保存了当前SKU是哪个,包括它对应的SKU是哪个,以及squ的名字。标题、副标题、价格等等,还有它的默认图片分类、ID这些信息那就在这张表里边,接下来5.2我们需要保存。S ku的图片信息,我们再来看一下,在这个SQS里边有非常多个图片,图片里边呢都有图片的URL地址,以及它是否默认图片,这个数据呢,在SQ images这张表里边保存着,所以我们又要保存SQ的图片信息。
08:17
的图片信息,那图片信息存完了以后呢,我们再来参照一下,主要呢,还有SKU的销售属性值,每一个销售属性的属性ID,属性名以及属性值,所以我们在这po save的时候,我们第三步5.3。我们接下来就应该是SKU的。销售属性信息,它呢对应操作的是我们这张叫SQ celll ATT ry6这张表,这张表里呢有SQ的ID,它对应的属性ID,属性名以及属性值,这张表里边保存的都是当前SQ的销售属性,好把这个复制过来,我放到这儿要操作这张表,那这个操作完了以后,我们再来看这个SQ的图片也有了,还有它的这个。
09:08
销售属性也有了,那剩下的就是SQ的优惠信息以及满减信息。所以我们在这保存之余,在最后我们还要保存5.4SKU的SKU的优惠信息,优惠满减等信息,只有当这些都保存完了,我们才能整个保存成功,而且这些优惠信息啊,可不止要操作什么表了,他就直接跨库了,我们可以来看一下他应该操作的是优惠的这个数据库,SMS这个数据库里边有对应的相关表,我们这些表呢,分别是这样子的,首先有SQ的这个打折表。几件打几折,那这有这个信息,我们在这儿来保存一下,还有呢,我们来参照一下,我们里边还有SK的满减表,满多少价减多少钱,你在这儿也有包括呢,还有会员价格表,这个会员价格表呢,在SMS member price里边哪个商品。
10:14
哪个会员等级,对应的会员价格是什么?在这儿也有,那在这。大家也来写一下,那这些满减会员打折都整完了以后,我们发现优惠信息里边还有PU积分表,就是我们当时购买这个商品,而且这是积分是一个Su设置的,相当于在这个squ级别,当然大家也可以把这个关联到squ的级别,每满一款不同的商品,我们赠送的积分和成长值都是不一样的,这也是没啥问题的,所以我们在这儿呢,相当于商品的积分还要操作SQ棒子这张表,而商品的积分呢,其实是在s PU save VO里边,我们录入了它的这个棒子积分信息,所以我们在保存SPU的时候,除了基本信息这些,我们还应该保存积分信息,我们在这也来写一下五吧,保存SPU的积分信息。
11:11
这个信息呢,也是跨库的,来到这个SMS数据库里边来操作我们这张表格,那这就是整个保存需要操作的所有表,以及所有数据。
我来说两句