POST/goods/addGoods管理后台

商品-新增

商品与履约 / 商品(主表)· GoodsController#addGoods

基本信息

  • 接口状态前端在用 置信度 高
  • 接口URLPOSThttps://dscp-dev.hn12301.net/manage-api/goods/addGoods
  • 请求方式POST
  • Content-Typeapplication/json
  • 暴露渠道管理后台 前缀 /manage-api
  • 名称来源源码注释
  • 调用方已确认在用 · 管理后台(1 个前端)
  • 需求上下文feat:业务基础代码生成
  • 维护人 / 最后改动AsiQue 2023-11-24 最近提交:feat:业务基础代码生成
  • 读写数据表goods、goods_info 反查该表全部接口 →
  • 控制器com.jxxx.dscp.api.controller.goods.GoodsController#addGoods
  • 源码位置jxxx-dscp/dscp-service-business/src/main/java/com/jxxx/dscp/api/controller/goods/GoodsController.java:274
  • 判定依据1 个调用点:dscp-html-manage/src/api/goods/index.ts

请求参数

Header 请求参数

参数名参数值是否必填参数类型描述说明
无(渠道统一鉴权头见《认证方式》)

Query 请求参数

参数名参数值是否必填参数类型描述说明
无

路径参数及说明

参数名参数值是否必填参数类型描述说明
无

Body 请求参数

Body 类型 GoodsAddRequest
参数名参数值是否必填参数类型描述说明
merchantId…否Long所属商户id,关联merchant表id → goods.merchant_id
shopId…否Long所属商铺id,关联shop表id → goods.shop_id
name…是String商品名称 → goods.name
mainPic…否String商品主图 → goods.main_pic
typeId…是String商品大类id → goods.type_id
subTypeId…否String商品小类id → goods.sub_type_id
cardModelId…否Long卡种id → goods.card_model_id
grade…否String商品等级 → goods.grade
shortName…否String商品简称 → goods_info.short_name
thirdId…否String第三方id → goods.third_id
thirdName…否String第三方名称 → goods.third_name
weight…否Integer商品权重 → goods_info.weight
tags…否String商品标签 → goods_info.tags
recommendReason…否String → goods_info.recommend_reason
introduction…否String简介 → goods_info.introduction
propagatePic…否String宣传图片url地址 → goods_info.propagate_pic
video…否String宣传视频url地址 → goods_info.video
notice…否String购买须知 → goods_info.notice
tips…否String温馨提示 → goods_info.tips
businessTime…否String营业时间 → goods_info.business_time
expireDate…否Date → goods_info.expire_date
isRefund…否Boolean → goods_info.is_refund
skuList…是List<SkuAddRequest>sku列表
goodsId…是Long商品ID,关联商品表id
goodsChannelId…否Long关联商品渠道id
skuName…是Stringsku名称
showPrice…否Integer商品挂牌价
buyPrice…否Integer商品实际售价
costPrice…否Integer商品成本价
buyCount…否Integer单次可购买数量
stock…否Integer库存数量
isLogistic…否Boolean是否需要物流
carriageId…否Long物流模版ID,关联carriage表id
mold…否GoodsMold商品状态,1实物商品,2虚拟商品,3电子卡券 1=实物商品 2=虚拟商品 3=电子卡券
isDistributes…否Boolean是否可分销
commission…否Integer分销佣金
isPreferential…否Boolean是否可使用优惠券
isUseScore…否Boolean是否可使用积分抵扣
isAddScore…否Boolean购买后是否产生积分
useScoreRate…否BigDecimal抵扣积分倍率
addScoreRate…否BigDecimal产生积分倍率
skuEntranceList…否List<SkuEntrance>景区入口
id…否LongID,主键 → goods.id
skuId…否Long所属关联sku表id
entranceName…否String景区入口名称
merchantId…否Long所属商户id → goods.merchant_id
shopId…否Long所属商铺id → goods.shop_id
goodsId…否Long商品ID,关联商品表id
createdBy…否String创建人id → goods.created_by
createdTime…否Date创建时间 → goods.created_time
cardNum…否Integer发卡数量,仅旅游卡商品
relationList…否List<GoodsRelationAddRequest>
thirdName…否String名称 → goods.third_name
thirdId…否String第三方id → goods.third_id
channelType…否ChannelType

认证方式

需登录态:Authorization: Bearer <token>(多租户另带 tenant-id);30002 会话失效需重登。详见全局公共参数。

响应参数

参数名参数值是否必填参数类型描述说明
void —— 不返回业务数据(外层包装见全局公共参数)

响应示例

成功响应示例 code=0

{"errcode":0,"errmsg":""}

失败响应示例

{
  "data": null,
  "可能返回": [
    {
      "errcode": "99999",
      "errmsg": "服务内部错误"
    }
  ]
}
示例来自源码/导出内容,仅结构参考,非线上真实数据。

附录 · 实现细节

调用链 / 数据表 / 调用点证据 / 源码注释 / 逻辑摘要
涉及数据表:goods、goods_info 反查全部引用接口 →
  • GoodsController#addGoods
  • SessionUserService#isMerchant
  • SessionUserService#getSessionUser
  • BeanUtils.map → Goods ⇒ 表 goods
  • BeanUtils.map → GoodsInfo ⇒ 表 goods_info
其它依赖:ChaosTransactionTemplate.execute
逻辑摘要:调用 execute(newTransactionTemplate.execute);新增(goodsService.add);新增(goodsInfoService.add);入参与返回值经 BeanUtils 做对象/分页映射
操作日志:goods / 新增商品
源码内联注释(旧站解析结果)
  • 新增商品
  • 新增商品信息
  • 新增商品sku
  • 新增关联
  • 回滚事务
  • 处理异常
旧站环境备注:pro:(仓库 .env.pro 指向 uat;生产域名未确认,此处沿用 uat 主机示意)
调用点证据
  • dscp-html-manage/src/api/goods/index.ts:15 管理后台 · request
可能抛出的业务码:99999 服务内部错误 错误码字典 →
由 tools/build.py 从 data/apis.json 生成 · 生成时间 2026-09-12 19:49 · 数据口径见说明 · 本页数字非手写,均来自同一份数据