Browse Source

//tt product

release_toaliyun_real
xhxu 4 years ago
parent
commit
d2e979c7bb
12 changed files with 948 additions and 5 deletions
  1. +3
    -1
      mallinkAdmin/src/main/java/com/iformall/config/ShiroConfig.java
  2. +38
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/basic/TtGoodsCategoryController.java
  3. +15
    -2
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java
  4. +505
    -0
      mallinkAdmin/src/main/resources/db/migration/V2022060700001__coupon_product.sql
  5. +29
    -0
      mallinkService/src/main/java/com/iformall/domain/po/TtGoodsCategory.java
  6. +60
    -1
      mallinkService/src/main/java/com/iformall/domain/po/WxCoupon.java
  7. +10
    -1
      mallinkService/src/main/java/com/iformall/douyin/web/bean/GoodsTemplateGet.java
  8. +52
    -0
      mallinkService/src/main/java/com/iformall/enums/EnumTtProductType.java
  9. +13
    -0
      mallinkService/src/main/java/com/iformall/mapper/TtGoodsCategoryMapper.java
  10. +31
    -0
      mallinkService/src/main/java/com/iformall/service/TtGoodsCategoryService.java
  11. +144
    -0
      mallinkService/src/main/java/com/iformall/service/impl/TtGoodsCategoryServiceImpl.java
  12. +48
    -0
      mallinkService/src/main/resources/mapper/TtGoodsCategoryMapper.xml

+ 3
- 1
mallinkAdmin/src/main/java/com/iformall/config/ShiroConfig.java View File

@@ -147,7 +147,9 @@ public class ShiroConfig {
filterChainDefinitionMap.put("/wxDeviceScreenAd/**", "anon");
// filterChainDefinitionMap.put("/role/**", "corsFilter,token");
//商场初始化init
filterChainDefinitionMap.put("/wxProjectConfig/**", "anon");
// filterChainDefinitionMap.put("/wxProjectConfig/**", "anon");
// filterChainDefinitionMap.put("/goodsCategory/**", "anon");


// filterChainDefinitionMap.put("/wxCoupon/goods/**", "anon");



+ 38
- 0
mallinkAdmin/src/main/java/com/iformall/controller/basic/TtGoodsCategoryController.java View File

@@ -0,0 +1,38 @@
package com.iformall.controller.basic;


import com.iformall.annotation.SystemControllerLog;
import com.iformall.annotation.TenantIgnore;
import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.service.TtGoodsCategoryService;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;


/**
* @author gongbiao
*/
@RestController
@RequestMapping("goodsCategory")
public class TtGoodsCategoryController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass());

@Autowired
private TtGoodsCategoryService ttGoodsCategoryService;

@TenantIgnore
@ApiOperation("分页列表接口")
@GetMapping("treeList")
@ApiImplicitParams({})
@SystemControllerLog(description = "列表")
public ResultData treeList() {
logger.debug("[" + getIpAddr() + "] TtMerchantPoiController::treeList");
return new ResultData(ttGoodsCategoryService.findTreeList());
}

}

+ 15
- 2
mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java View File

@@ -59,6 +59,9 @@ public class WxCouponController extends BaseController {
private WxMallService wxMallService;
@Autowired
private TtMerchantPoiService ttMerchantPoiService;

@Autowired
private TtGoodsCategoryService ttGoodsCategoryService;
@Autowired
RedisLock redisLock;
@@ -547,14 +550,24 @@ public class WxCouponController extends BaseController {
@GetMapping("/goods/getTemplate")
@ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true)
@SystemControllerLog(description = "根据类目获取商品模板")
public ResultData getGoodsTemplate(Integer categoryId,Integer productType) {
public ResultData getGoodsTemplate(Long couponId,Integer categoryId,Integer productType) {
logger.debug("[" + getIpAddr() + "] WxCouponController::getGoodsTemplate");
if(productType == null){
productType = 1;
}
if(couponId == null){
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
}
WxCoupon coupon = wxCouponService.getById(couponId, getTenantInfo().getTenantId());
if(coupon == null){
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
}

try {
GoodsTemplateGet goodsTemplateGet = ttMerchantPoiService.getTtWebService(getTenantInfo()).getGoodsService().templateGet(categoryId, productType);
return new ResultData(goodsTemplateGet);
GoodsTemplateGet admintemp = ttGoodsCategoryService.adminIsShow(goodsTemplateGet);
ttGoodsCategoryService.handTemplate(admintemp,coupon);
return new ResultData(admintemp);
} catch (WxErrorException e) {
e.printStackTrace();
return new ResultData(ErrorCode.SYS_SERVER_ERROR.getCode(),e.getMessage());


+ 505
- 0
mallinkAdmin/src/main/resources/db/migration/V2022060700001__coupon_product.sql View File

@@ -0,0 +1,505 @@
ALTER TABLE `mallink`.`tt_coupon_channel_poi`
ADD COLUMN `coupon_id` bigint(20) NOT NULL AFTER `parent_tenant_id`;



ALTER TABLE `mallink`.`wx_coupon_0`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_1`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_2`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_3`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_4`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_5`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_6`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_7`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_8`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_9`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_10`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_11`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_12`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_13`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_14`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_15`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_16`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_17`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_18`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_19`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_20`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_21`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_22`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_23`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_24`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_25`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_26`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_27`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_28`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_29`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_30`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_31`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_32`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_33`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_34`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_35`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_36`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_37`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_38`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_39`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_40`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_41`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_42`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_43`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_44`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_45`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_46`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_47`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_48`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_49`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_50`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_51`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_52`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_53`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_54`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_55`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_56`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_57`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_58`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_59`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_60`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_61`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_62`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_63`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_64`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_65`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_66`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_67`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_68`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_69`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_70`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_71`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_72`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_73`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_74`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_75`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_76`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_77`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_78`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_79`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_80`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_81`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_82`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_83`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_84`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_85`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_86`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_87`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_88`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_89`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_90`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_91`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_92`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_93`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_94`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_95`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_96`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_97`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_98`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;
ALTER TABLE `mallink`.`wx_coupon_99`
ADD COLUMN `product_type` tinyint(1) DEFAULT 1 COMMENT 'EnumTtProductType' AFTER `gift_list`,
ADD COLUMN `category_id` int(11) DEFAULT NULL COMMENT '商品类目' AFTER `product_type`,
ADD COLUMN `product_attrs` json COMMENT '商品动态属性' AFTER `category_id`,
ADD COLUMN `sku_attrs` json COMMENT 'sku动态属性' AFTER `product_attrs`;

+ 29
- 0
mallinkService/src/main/java/com/iformall/domain/po/TtGoodsCategory.java View File

@@ -0,0 +1,29 @@
package com.iformall.domain.po;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.iformall.domain.po.base.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;
import java.util.List;

@TableName(value = "tt_goods_category")
@Data
@EqualsAndHashCode(callSuper = true)
public class TtGoodsCategory extends BaseEntity {

protected Integer id;

@io.swagger.annotations.ApiModelProperty(value="",name="name")
private String name;

@io.swagger.annotations.ApiModelProperty(value="",name="parentId")
private Integer parentId;

@TableField(exist = false)
protected List<TtGoodsCategory> child;


}

+ 60
- 1
mallinkService/src/main/java/com/iformall/domain/po/WxCoupon.java View File

@@ -1,10 +1,12 @@
package com.iformall.domain.po;

import com.aliyun.openservices.shade.com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.iformall.common.SortColumn;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.vo.WxCouponStatisVo;
import com.iformall.douyin.web.bean.GoodsTemplateGet;
import com.iformall.enums.EnumCouponType;
import com.iformall.enums.EnumValidStatus;
import com.iformall.utils.Constant;
@@ -14,6 +16,9 @@ import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;


import java.math.BigDecimal;
@@ -27,6 +32,7 @@ import java.util.Map;
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
public class WxCoupon extends TenantEntity {
private final Logger logger = LoggerFactory.getLogger(this.getClass());

protected Long id;

@@ -237,9 +243,62 @@ public class WxCoupon extends TenantEntity {
@io.swagger.annotations.ApiModelProperty(value="富文本内容",name="html")
private String html;

//List<Long> String
@io.swagger.annotations.ApiModelProperty(value="卷包内容",name="giftList")
private String giftList;

@io.swagger.annotations.ApiModelProperty(value="EnumTtProductType",name="productType")
private Integer productType;

@io.swagger.annotations.ApiModelProperty(value="tt_goods_category",name="categoryId")
private Integer categoryId;

@io.swagger.annotations.ApiModelProperty(value="JSON",name="productAttrs")
private String productAttrs;

@TableField(exist = false)
private Map<String,String> productAttrKeyValueMap;

public Map<String,String> getProductAttrKeyValueMap(){
Map<String,String> productAttrKeyValueMap = new HashMap<>();
if(StringUtils.isNotBlank(productAttrs)){
try{
List<GoodsTemplateGet.ProductAttrs> productAttrs = JSONObject.parseArray(this.productAttrs, GoodsTemplateGet.ProductAttrs.class);
for (GoodsTemplateGet.ProductAttrs attr:productAttrs) {
if(StringUtils.isNotBlank(attr.getValue())){
productAttrKeyValueMap.put(attr.getKey(),attr.getValue());
}
}
}catch(Exception e){
logger.error("wxCoupon productAttrs 转换异常"+e.getMessage());
}

}
return productAttrKeyValueMap;
}

@io.swagger.annotations.ApiModelProperty(value="JSON",name="skuAttrs")
private String skuAttrs;

@TableField(exist = false)
private Map<String,String> skuAttrKeyValueMap;

public Map<String,String> getSkuAttrKeyValueMap(){
Map<String,String> skuAttrKeyValueMap = new HashMap<>();
if(StringUtils.isNotBlank(skuAttrs)){
try{
List<GoodsTemplateGet.ProductAttrs> skuAttrs = JSONObject.parseArray(this.skuAttrs, GoodsTemplateGet.ProductAttrs.class);
for (GoodsTemplateGet.ProductAttrs attr:skuAttrs) {
if(StringUtils.isNotBlank(attr.getValue())){
skuAttrKeyValueMap.put(attr.getKey(),attr.getValue());
}
}
}catch(Exception e){
logger.error("wxCoupon skuAttrs 转换异常"+e.getMessage());
}

}
return skuAttrKeyValueMap;
}
@TableField(exist = false)
private List<WxCoupon> giftCouponList;


+ 10
- 1
mallinkService/src/main/java/com/iformall/douyin/web/bean/GoodsTemplateGet.java View File

@@ -48,11 +48,17 @@ public class GoodsTemplateGet implements Serializable {
private Boolean isMulti;

/**
* 商品优惠后价格
* 是否必填
*/
@SerializedName(value = "is_required")
private Boolean isRequired;

/**
* 是否展示
*/
@SerializedName(value = "is_show")
private Boolean isShow;

/**
* 属性key
*/
@@ -77,6 +83,9 @@ public class GoodsTemplateGet implements Serializable {
@SerializedName(value = "value_type")
private String valueType;

@SerializedName(value = "value")
private String value;

}

}

+ 52
- 0
mallinkService/src/main/java/com/iformall/enums/EnumTtProductType.java View File

@@ -0,0 +1,52 @@
package com.iformall.enums;

import java.util.ArrayList;
import java.util.List;

/**
* Created by Stormeye on 2018/08/09.
*/
public enum EnumTtProductType {

//1 : 团购套餐
//3 : 预售券
//4 : 日历房
//5 : 门票
//7 : 旅行跟拍
//8 : 一日游
//11 : 代金券
PRODUCT_TUANGOU(1, "团购套餐"),
PRODUCT_YUSHOU(3, "预售券"),
PRODUCT_RILI(4, "日历房"),//没用
PRODUCT_MENGPIAO(5, "门票"),
PRODUCT_LVPAI(7, "旅行跟拍"),
PRODUCT_YIRIYOU(8, "一日游"),
PRODUCT_DAIJIN(11, "代金券"),
;

public static EnumTtProductType getEnum(Integer code) {
for (EnumTtProductType value : values()) {
if (value.getCode().equals(code)) {
return value;
}
}
return null;
}

private Integer code;
private String message;

EnumTtProductType(Integer code, String message) {
this.code = code;
this.message = message;
}

public Integer getCode() {
return code;
}

public String getMessage() {
return message;
}

}

+ 13
- 0
mallinkService/src/main/java/com/iformall/mapper/TtGoodsCategoryMapper.java View File

@@ -0,0 +1,13 @@
package com.iformall.mapper;

import com.iformall.common.CommonMapper;
import com.iformall.domain.po.TtGoodsCategory;
import com.iformall.domain.po.WxSubBusiness;

import java.util.List;

public interface TtGoodsCategoryMapper extends CommonMapper<TtGoodsCategory, String> {

List<TtGoodsCategory> findListAll();

}

+ 31
- 0
mallinkService/src/main/java/com/iformall/service/TtGoodsCategoryService.java View File

@@ -0,0 +1,31 @@
package com.iformall.service;

import com.iformall.domain.po.TtGoodsCategory;
import com.iformall.domain.po.WxCoupon;
import com.iformall.douyin.web.bean.GoodsTemplateGet;

import java.util.List;

public interface TtGoodsCategoryService {

/**
* 根据实体查询列表
*
* @param
* @return
*/
List<TtGoodsCategory> findTreeList();


/**
* A端是否显示处理
*/
GoodsTemplateGet adminIsShow(GoodsTemplateGet temp);


/**
* 处理回显
* @param temp
*/
void handTemplate(GoodsTemplateGet temp, WxCoupon coupon);
}

+ 144
- 0
mallinkService/src/main/java/com/iformall/service/impl/TtGoodsCategoryServiceImpl.java View File

@@ -0,0 +1,144 @@
package com.iformall.service.impl;

import com.iformall.domain.po.TtGoodsCategory;
import com.iformall.domain.po.WxCoupon;
import com.iformall.douyin.web.bean.GoodsTemplateGet;
import com.iformall.mapper.TtGoodsCategoryMapper;
import com.iformall.service.TtGoodsCategoryService;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.List;

@Service
public class TtGoodsCategoryServiceImpl implements TtGoodsCategoryService {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
@Autowired
TtGoodsCategoryMapper ttGoodsCategoryMapper;

@Override
public List<TtGoodsCategory> findTreeList() {
List<TtGoodsCategory> listAll = ttGoodsCategoryMapper.findListAll();
List<TtGoodsCategory> topList = new ArrayList<TtGoodsCategory>();
for (TtGoodsCategory category:listAll) {
if(category.getParentId().intValue() == 0){
category.setChild(getChild(listAll,category.getId()));
topList.add(category);
}
}
return topList;
}


private List<TtGoodsCategory> getChild(List<TtGoodsCategory> listAll,Integer parentId){
List<TtGoodsCategory> childList = new ArrayList<TtGoodsCategory>();

for(TtGoodsCategory entity : listAll){
if(parentId.equals(entity.getParentId())){
entity.setChild(getChild(listAll,entity.getId()));
childList.add(entity);
}
}

return childList;
}

private List<String> getProductAdminIsNotShowKey(){
List<String> keyList = new ArrayList<>();
// keyList.add("appointment"); //预约信息 默认不可预约
// keyList.add("auto_renew"); //是否开启自动延期 默认不开启
// keyList.add("bring_out_meal"); //是否可以外带餐食 默认否
keyList.add("can_no_use_date");//不可使用日期 默认无
keyList.add("customer_reserved_info");//留资规则 非必填
// keyList.add("description_rich_text");//其他说明信息 非必填
// keyList.add("detail_image_list");//长图 非必填
// keyList.add("dishes_image_list");//菜品图 非必填
keyList.add("EntryType");//入口类型 默认 2:小程序
// keyList.add("environment_image_list");//环境图 非必填
// keyList.add("free_pack");//是否可以打包 默认否
// keyList.add("FrontCategoryTag");//前台品类标签 非必填
keyList.add("image_list");//封面图 对应系统商品图-----------------------
keyList.add("IndustryType");//商品行业类型 非必填
keyList.add("IsConfirmImme");//是否立即确认 非必填
keyList.add("MpResourceID");//小程序资源id 非必填
keyList.add("MpSettleType");//小程序分账类型 非必填
// keyList.add("Notification");//使用规则 对应系统的使用须知-------无法对应
// keyList.add("private_room");//是否可以使用包间
keyList.add("real_name_info");//实名信息 非必填
// keyList.add("RecommendWord");//推荐语 非必填
// keyList.add("rec_person_num");//建议使用人数
// keyList.add("rec_person_num_max");//最多使用人数
keyList.add("RefundPolicy");//退款政策
keyList.add("refund_need_merchant_confirm");//退款是否需商家审核 默认否
keyList.add("show_channel");//投放渠道 默认1-不限制
keyList.add("SortWeight");//排序权重 非必填
// keyList.add("superimposed_discounts");//可以享受店内其他优惠
// keyList.add("TagList");//标签列表 非必填
keyList.add("use_date");//使用日期 对应券有效期
keyList.add("use_time");//使用时间 默认全天可用
return keyList;
}

private List<String> getAttrAdminIsNotShowKey(){
List<String> keyList = new ArrayList<>();
keyList.add("code_source_type"); //券码生成方式 默认2
// keyList.add("commodity"); //菜品搭配
keyList.add("limit_rule");//限制购买 对应系统限购
keyList.add("market_price");//市场价 对应原价 非必填
keyList.add("settle_type");//收款方式1-总店结算 2-分店结算 ------待测试
keyList.add("use_type");//团购使用方式 默认1
return keyList;
}

/**
* 去除默认值和系统自由属性
* @param temp
* @return
*/
@Override
public GoodsTemplateGet adminIsShow(GoodsTemplateGet temp) {
GoodsTemplateGet newAttr = new GoodsTemplateGet();
List<GoodsTemplateGet.ProductAttrs> productAttrs = new ArrayList<>();
for (GoodsTemplateGet.ProductAttrs attr: temp.getProductAttrs()) {
if(!getProductAdminIsNotShowKey().contains(attr.getKey())){
productAttrs.add(attr);
}
}
newAttr.setProductAttrs(productAttrs);
List<GoodsTemplateGet.ProductAttrs> skuAttrs = new ArrayList<>();
for (GoodsTemplateGet.ProductAttrs attr: temp.getProductAttrs()) {
if(!getAttrAdminIsNotShowKey().contains(attr.getKey())){
skuAttrs.add(attr);
}
}
newAttr.setSkuAttrs(skuAttrs);
return newAttr;
}

@Override
public void handTemplate(GoodsTemplateGet temp, WxCoupon coupon) {
if(!coupon.getProductAttrKeyValueMap().isEmpty()){
List<GoodsTemplateGet.ProductAttrs> productAttrs = new ArrayList<>();
for (GoodsTemplateGet.ProductAttrs attr: temp.getProductAttrs()) {
String value = coupon.getProductAttrKeyValueMap().get(attr.getKey());
if(StringUtils.isNotBlank(value)){
attr.setValue(value);
}
}
}
if(!coupon.getSkuAttrKeyValueMap().isEmpty()){
for (GoodsTemplateGet.ProductAttrs attr: temp.getProductAttrs()) {
String value = coupon.getSkuAttrKeyValueMap().get(attr.getKey());
if(StringUtils.isNotBlank(value)){
attr.setValue(value);
}
}
}
}

}

+ 48
- 0
mallinkService/src/main/resources/mapper/TtGoodsCategoryMapper.xml View File

@@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.iformall.mapper.TtGoodsCategoryMapper">
<resultMap id="BaseResultMap" type="com.iformall.domain.po.TtGoodsCategory">
<id column="id" jdbcType="INTEGER" property="id" />
<result column="name" jdbcType="VARCHAR" property="name" />
<result column="parent_id" jdbcType="INTEGER" property="parentId" />
</resultMap>
<sql id="allColumns">
`id`,`name`,`parent_id`
</sql>

<sql id="dynamicWhereConditions">
where 1 = 1
<if test=" null != id ">
and `id` = #{id}
</if>
<if test=" null != name ">
and `name` like concat('%', #{name},'%')
</if>

<if test=" null != parentId ">
and `parent_id` = #{parentId}
</if>

<if test=" null != ids ">
and id in
<foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")">
#{idItem}
</foreach>
</if>
<if test=" null != sortColumns"> order by ${sortColumns} </if>
</sql>
<select id="findList" parameterType="com.iformall.domain.po.TtGoodsCategory" resultMap="BaseResultMap">
select <include refid="allColumns" /> from tt_goods_category
<include refid="dynamicWhereConditions" />
</select>

<select id="findListAll" resultMap="BaseResultMap">
select <include refid="allColumns" /> from tt_goods_category
order by id
</select>

</mapper>

Loading…
Cancel
Save