Authored by ZhongW

Update batchUpdatePrice.md

## 批量商品变价
> 接口名: '/product/batchUpdateProductPrice'
### 方法
> POST JSONRAW
### 入参 例子:
{"batchList" : [{"product_skn":50000055,"retail_price":29,"return_coin":2,"sales_price":19,"vip1_price":18.05,"vip2_price":17.1,"vip3_price":16.72,"vip_discount_type":1,"vip_price":19},
{"product_skn":50000082,"retail_price":298,"return_coin":1,"sales_price":22,"vip1_price":260,"vip2_price":260,"vip3_price":260,"vip_discount_type":4,"vip_price":260}]}
-------------------------
|属性名称|类型|例子|说明|是否必填|长度限制|
|--------|----|----|---|----|--------|
|product_skn|number|5000060|商品的Skn|Y|11
|sales_price|float|22.22|销售价格|Y|11|
|vip_discount_type|number|1到5|折扣类型|Y|1|
|return_coin|number|200|返回币数|N|5|
|vip_price|float|22.33|vip价格 vipDiscountType 为4时必填|N|11|
|vip1_price|float|22.33|折扣类型为5时必填|N|11|
|vip2_price|float|22.33|折扣类型为5时必填|N|11|
|vip3_price|float|22.33|折扣类型为5时必填|N|11|
---------------------
### 对应SQL的操作库表
```xml
<update id="updateBatchByPrimaryKeySelective" parameterType="java.util.List">
update product_price
<trim prefix="set" suffixOverrides=",">
<trim prefix="sales_price =case" suffix="end,">
<foreach collection="productPriceList" item="item" index="index">
<if test="item.salesPrice!=null">
when product_skn=#{item.productSkn,jdbcType=INTEGER} then #{item.salesPrice,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim prefix="vip_price =case" suffix="end,">
<foreach collection="productPriceList" item="item" index="index">
<if test="item.vipPrice!=null">
when product_skn=#{item.productSkn,jdbcType=INTEGER} then #{item.vipPrice,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim prefix="vip1_price =case" suffix="end,">
<foreach collection="productPriceList" item="item" index="index">
<if test="item.vip1Price!=null">
when product_skn=#{item.productSkn,jdbcType=INTEGER} then #{item.vip1Price,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim prefix="vip2_price =case" suffix="end,">
<foreach collection="productPriceList" item="item" index="index">
<if test="item.vip2Price!=null">
when product_skn=#{item.productSkn,jdbcType=INTEGER} then #{item.vip2Price,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim prefix="vip3_price =case" suffix="end,">
<foreach collection="productPriceList" item="item" index="index">
<if test="item.vip3Price!=null">
when product_skn=#{item.productSkn,jdbcType=INTEGER} then #{item.vip3Price,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim prefix="vip_discount_type =case" suffix="end,">
<foreach collection="productPriceList" item="item" index="index">
<if test="item.vipDiscountType!=null">
when product_skn=#{item.productSkn,jdbcType=INTEGER} then #{item.vipDiscountType,jdbcType=TINYINT}
</if>
</foreach>
</trim>
<trim prefix="purchase_price =case" suffix="end,">
<foreach collection="productPriceList" item="item" index="index">
<if test="item.purchasePrice!=null">
when product_skn=#{item.productSkn,jdbcType=INTEGER} then #{item.purchasePrice,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim prefix="purchase_discount =case" suffix="end,">
<foreach collection="productPriceList" item="item" index="index">
<if test="item.purchaseDiscount!=null">
when product_skn=#{item.productSkn,jdbcType=INTEGER} then #{item.purchaseDiscount,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim prefix="cost_price =case" suffix="end,">
<foreach collection="productPriceList" item="item" index="index">
<if test="item.costPrice!=null">
when product_skn=#{item.productSkn,jdbcType=INTEGER} then #{item.costPrice,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim prefix="return_coin =case" suffix="end,">
<foreach collection="productPriceList" item="item" index="index">
<if test="item.returnCoin!=null">
when product_skn=#{item.productSkn,jdbcType=INTEGER} then #{item.returnCoin,jdbcType=SMALLINT}
</if>
</foreach>
</trim>
<trim prefix="founder =case" suffix="end,">
<foreach collection="productPriceList" item="item" index="index">
<if test="item.founder!=null">
when product_skn=#{item.productSkn,jdbcType=INTEGER} then #{item.founder,jdbcType=INTEGER}
</if>
</foreach>
</trim>
<trim prefix="create_time =case" suffix="end,">
<foreach collection="productPriceList" item="item" index="index">
<if test="item.createTime!=null">
when product_skn=#{item.productSkn,jdbcType=INTEGER} then #{item.createTime,jdbcType=INTEGER}
</if>
</foreach>
</trim>
<trim prefix="update_time =case" suffix="end,">
<foreach collection="productPriceList" item="item" index="index">
<if test="item.updateTime!=null">
when product_skn=#{item.productSkn,jdbcType=INTEGER} then #{item.updateTime,jdbcType=INTEGER}
</if>
</foreach>
</trim>
<trim prefix="sys_status =case" suffix="end,">
<foreach collection="productPriceList" item="item" index="index">
<if test="item.sysStatus!=null">
when product_skn=#{item.productSkn,jdbcType=INTEGER} then #{item.sysStatus,jdbcType=INTEGER}
</if>
</foreach>
</trim>
</trim>
where
<foreach collection="productPriceList" separator="or" item="item" index="index" >
product_skn= #{item.productSkn,jdbcType=INTEGER}
</foreach>
</update>
```
### 错误编码
-------------------------
|错误码code|消息|说明|
|--------|----|----|
|200| 添加成功!| |
|400| 操作失败!| |
|500| 操作失败!| |
### 返回 (备注 :code 为200代表成功 , data表示成功记录的表格所处相对路径)
``` json
{
"code": 200,
"data": "1455604702941.xlsx",
"md5": "d751713988987e9331980363e24189ce",
"message": "Product Price update success."
}
## 批量商品变价
> 接口名: '/product/batchUpdateProductPrice'
### 方法
> POST JSONRAW
### 入参 例子:
{"batchList" : [{"product_skn":50000055,"retail_price":29,"return_coin":2,"sales_price":19,"vip1_price":18.05,"vip2_price":17.1,"vip3_price":16.72,"vip_discount_type":1,"vip_price":19},
{"product_skn":50000082,"retail_price":298,"return_coin":1,"sales_price":22,"vip1_price":260,"vip2_price":260,"vip3_price":260,"vip_discount_type":4,"vip_price":260}]}
-------------------------
|属性名称|类型|例子|说明|是否必填|长度限制|
|--------|----|----|---|----|--------|
|product_skn|number|5000060|商品的Skn|Y|11
|sales_price|float|22.22|销售价格|Y|11|
|vip_discount_type|number|1到5|折扣类型|Y|1|
|return_coin|number|200|返回币数|N|5|
|vip_price|float|22.33|vip价格 vipDiscountType 为4时必填|N|11|
|vip1_price|float|22.33|折扣类型为5时必填|N|11|
|vip2_price|float|22.33|折扣类型为5时必填|N|11|
|vip3_price|float|22.33|折扣类型为5时必填|N|11|
|cgpriceStartTime|String|2016-06-01|变价开始日期|N||
|cgpriceEndTime|String|2016-06-20|变价结束日期|N||
---------------------
### 对应SQL的操作库表
```xml
<update id="updateBatchByPrimaryKeySelective" parameterType="java.util.List">
update product_price
<trim prefix="set" suffixOverrides=",">
<trim prefix="sales_price =case" suffix="end,">
<foreach collection="productPriceList" item="item" index="index">
<if test="item.salesPrice!=null">
when product_skn=#{item.productSkn,jdbcType=INTEGER} then #{item.salesPrice,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim prefix="vip_price =case" suffix="end,">
<foreach collection="productPriceList" item="item" index="index">
<if test="item.vipPrice!=null">
when product_skn=#{item.productSkn,jdbcType=INTEGER} then #{item.vipPrice,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim prefix="vip1_price =case" suffix="end,">
<foreach collection="productPriceList" item="item" index="index">
<if test="item.vip1Price!=null">
when product_skn=#{item.productSkn,jdbcType=INTEGER} then #{item.vip1Price,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim prefix="vip2_price =case" suffix="end,">
<foreach collection="productPriceList" item="item" index="index">
<if test="item.vip2Price!=null">
when product_skn=#{item.productSkn,jdbcType=INTEGER} then #{item.vip2Price,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim prefix="vip3_price =case" suffix="end,">
<foreach collection="productPriceList" item="item" index="index">
<if test="item.vip3Price!=null">
when product_skn=#{item.productSkn,jdbcType=INTEGER} then #{item.vip3Price,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim prefix="vip_discount_type =case" suffix="end,">
<foreach collection="productPriceList" item="item" index="index">
<if test="item.vipDiscountType!=null">
when product_skn=#{item.productSkn,jdbcType=INTEGER} then #{item.vipDiscountType,jdbcType=TINYINT}
</if>
</foreach>
</trim>
<trim prefix="purchase_price =case" suffix="end,">
<foreach collection="productPriceList" item="item" index="index">
<if test="item.purchasePrice!=null">
when product_skn=#{item.productSkn,jdbcType=INTEGER} then #{item.purchasePrice,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim prefix="purchase_discount =case" suffix="end,">
<foreach collection="productPriceList" item="item" index="index">
<if test="item.purchaseDiscount!=null">
when product_skn=#{item.productSkn,jdbcType=INTEGER} then #{item.purchaseDiscount,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim prefix="cost_price =case" suffix="end,">
<foreach collection="productPriceList" item="item" index="index">
<if test="item.costPrice!=null">
when product_skn=#{item.productSkn,jdbcType=INTEGER} then #{item.costPrice,jdbcType=DECIMAL}
</if>
</foreach>
</trim>
<trim prefix="return_coin =case" suffix="end,">
<foreach collection="productPriceList" item="item" index="index">
<if test="item.returnCoin!=null">
when product_skn=#{item.productSkn,jdbcType=INTEGER} then #{item.returnCoin,jdbcType=SMALLINT}
</if>
</foreach>
</trim>
<trim prefix="founder =case" suffix="end,">
<foreach collection="productPriceList" item="item" index="index">
<if test="item.founder!=null">
when product_skn=#{item.productSkn,jdbcType=INTEGER} then #{item.founder,jdbcType=INTEGER}
</if>
</foreach>
</trim>
<trim prefix="create_time =case" suffix="end,">
<foreach collection="productPriceList" item="item" index="index">
<if test="item.createTime!=null">
when product_skn=#{item.productSkn,jdbcType=INTEGER} then #{item.createTime,jdbcType=INTEGER}
</if>
</foreach>
</trim>
<trim prefix="update_time =case" suffix="end,">
<foreach collection="productPriceList" item="item" index="index">
<if test="item.updateTime!=null">
when product_skn=#{item.productSkn,jdbcType=INTEGER} then #{item.updateTime,jdbcType=INTEGER}
</if>
</foreach>
</trim>
<trim prefix="sys_status =case" suffix="end,">
<foreach collection="productPriceList" item="item" index="index">
<if test="item.sysStatus!=null">
when product_skn=#{item.productSkn,jdbcType=INTEGER} then #{item.sysStatus,jdbcType=INTEGER}
</if>
</foreach>
</trim>
</trim>
where
<foreach collection="productPriceList" separator="or" item="item" index="index" >
product_skn= #{item.productSkn,jdbcType=INTEGER}
</foreach>
</update>
```
### 错误编码
-------------------------
|错误码code|消息|说明|
|--------|----|----|
|200| 添加成功!| |
|400| 操作失败!| |
|500| 操作失败!| |
### 返回 (备注 :code 为200代表成功 , data表示成功记录的表格所处相对路径)
``` json
{
"code": 200,
"data": "1455604702941.xlsx",
"md5": "d751713988987e9331980363e24189ce",
"message": "Product Price update success."
}
```
\ No newline at end of file
... ...