✅P86_新增商品-商品新增vo抽取

gong_yz大约 3 分钟谷粒商城

商品新增页面操作

1、填写基本信息

2、设置基本参数

3、设置销售属性,

4、设置sku信息

5、保存商品信息

点击“下一步:保存商品信息”后,控制台打印请求数据如下,

转化JSON结果:

{
	"spuName": "Apple iPhone 15 Pro Max",
	"spuDescription": "Apple iPhone 15 Pro Max (A3108) 256GB 原色钛金属 支持移动联通电信5G 双卡双待手机",
	"catalogId": 225,
	"brandId": 3,
	"weight": 0.5,
	"publishStatus": 0,
	"decript": ["https://cfmall-hello.oss-cn-beijing.aliyuncs.com/2023-11-22/eb2f5142-7bb2-448f-86cd-3a04c0f14a63_73366cc235d68202.jpg"],
	"images": ["https://cfmall-hello.oss-cn-beijing.aliyuncs.com/images/others/2023-11-22/5e3d0a82-4496-4d45-8820-2b3f03a23c4d_e3284f319e256a5d.jpg", "https://cfmall-hello.oss-cn-beijing.aliyuncs.com/images/others/2023-11-22/8a0abc4f-bad1-4766-84fb-399a5a73334d_e07b540657023162.jpg"],
	"bounds": {
		"buyBounds": 0,
		"growBounds": 0
	},
	"baseAttrs": [{
		"attrId": 2,
		"attrValues": "5.5",
		"showDesc": 1
	}, {
		"attrId": 6,
		"attrValues": "白",
		"showDesc": 1
	}],
	"skus": [{
		"attr": [{
			"attrId": 5,
			"attrName": "上市年份",
			"attrValue": "2018,2019"
		}],
		"skuName": "Apple iPhone 15 Pro Max 2018,2019",
		"price": "6000",
		"skuTitle": "Apple iPhone 15 Pro Max 2018,2019",
		"skuSubtitle": "双卡双待手机",
		"images": [{
			"imgUrl": "https://cfmall-hello.oss-cn-beijing.aliyuncs.com/images/others/2023-11-22/5e3d0a82-4496-4d45-8820-2b3f03a23c4d_e3284f319e256a5d.jpg",
			"defaultImg": 1
		}, {
			"imgUrl": "",
			"defaultImg": 0
		}],
		"descar": ["2018,2019"],
		"fullCount": 50,
		"discount": 0.09,
		"countStatus": 0,
		"fullPrice": 50000,
		"reducePrice": 500,
		"priceStatus": 0,
		"memberPrice": [{
			"id": 1,
			"name": "普通会员",
			"price": 5500
		}, {
			"id": 2,
			"name": "金牌会员",
			"price": 5000
		}]
	}]
}

将解析的JSON数据转化为JavaBean即我们需要的VO


新增VO

将上面JSON数据结构转化为JavaBaen,工具:在线JSON字符串转Java实体类(JavaBean、Entity)open in new window

将生成的JavaBean复制到项目中,并且将可能值为小数的属性的数据类型改为BigDecimal,将id改为Long

cfmall-product 服务com.gyz.cfmall.product.vo新增如下VO:

  • BaseAttrs.java
  • Bounds.java
  • Images.java
  • MemberPrice.java
  • Skus.java
  • `SpuSaveVo.java``
  • Attr.java

问题

问题描述:

在“发布商品”页面填写信息时浏览器控制台报错:

Unchecked runtime.lastError: The message port closed before a response was received.

经过查找后发现是迅雷插件扩展造成的,把它关闭之后就好了,大家注意一下,也有可能不是迅雷,主要原因可能还是插件写法问题,异步未结束就开始了新的导致的,加一段这个就行 if(chrome.runtime.lastError){},所以其他插件也有可能代码不严谨、规范,同样也会报这样的错误。

Chrome 浏览器的扩展程序在运行时报错。具体的说,是在调用chrome.runtime.sendMessage() 或 chrome.runtime.sendNativeMessage() 时触发这个报错。

解决方法:

在 Chrome 浏览器中访问 chrome://extensions/ 打开扩展程序界面,逐个关闭扩展以排查出问题所在。

已知会引起这个问题的插件:

  • 1Password
  • Pinterest
  • 迅雷下载支持3.32
  • jsonView
  • 油猴插件

一般要不升级扩展程序,安装最新版本的扩展,要不就关闭扩展就可以了。