| @@ -18,6 +18,7 @@ import org.springframework.beans.factory.annotation.Autowired; | |||||
| import org.springframework.web.bind.annotation.*; | import org.springframework.web.bind.annotation.*; | ||||
| import java.util.List; | import java.util.List; | ||||
| import java.util.Map; | |||||
| /** | /** | ||||
| * @author gongbiao | * @author gongbiao | ||||
| @@ -97,8 +98,9 @@ public class TtMerchantPoiController extends BaseController { | |||||
| @ApiOperation("重新匹配任务") | @ApiOperation("重新匹配任务") | ||||
| @PostMapping("matchAgain") | @PostMapping("matchAgain") | ||||
| @SystemControllerLog(description = "重新匹配任务") | @SystemControllerLog(description = "重新匹配任务") | ||||
| public ResultData matchAgain(@RequestBody Long id) { | |||||
| public ResultData matchAgain(@RequestBody Map<String, Long> param) { | |||||
| logger.debug("[" + getIpAddr() + "] TtMerchantPoiController::matchAgain"); | logger.debug("[" + getIpAddr() + "] TtMerchantPoiController::matchAgain"); | ||||
| Long id = param.get("id"); | |||||
| if(id == null){ | if(id == null){ | ||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); | return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); | ||||
| } | } | ||||
| @@ -107,13 +109,61 @@ public class TtMerchantPoiController extends BaseController { | |||||
| @ApiOperation("商铺同步") | @ApiOperation("商铺同步") | ||||
| @PostMapping("merchantSync") | @PostMapping("merchantSync") | ||||
| @SystemControllerLog(description = "重新匹配任务") | |||||
| public ResultData merchantSync(@RequestBody Long id) { | |||||
| @SystemControllerLog(description = "商铺同步") | |||||
| public ResultData merchantSync(@RequestBody Map<String, Long> param) { | |||||
| logger.debug("[" + getIpAddr() + "] TtMerchantPoiController::merchantSync"); | logger.debug("[" + getIpAddr() + "] TtMerchantPoiController::merchantSync"); | ||||
| Long id = param.get("id"); | |||||
| if(id == null){ | if(id == null){ | ||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); | return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); | ||||
| } | } | ||||
| return ttMerchantPoiService.merchantSync(getTenantInfo(),id); | return ttMerchantPoiService.merchantSync(getTenantInfo(),id); | ||||
| } | } | ||||
| @ApiOperation("商品同步") | |||||
| @PostMapping("spuSync") | |||||
| @SystemControllerLog(description = "商品同步") | |||||
| public ResultData spuSync(@RequestBody Map<String, Long> param) { | |||||
| logger.debug("[" + getIpAddr() + "] TtMerchantPoiController::spuSync"); | |||||
| Long couponChannelId = param.get("couponChannelId"); | |||||
| if(couponChannelId == null){ | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); | |||||
| } | |||||
| return ttMerchantPoiService.spuSync(getTenantInfo(),couponChannelId); | |||||
| } | |||||
| @ApiOperation("商品同步查询") | |||||
| @GetMapping("spuGet") | |||||
| @SystemControllerLog(description = "商品同步查询") | |||||
| public ResultData spuGet(Long couponChannelId) { | |||||
| logger.debug("[" + getIpAddr() + "] TtMerchantPoiController::spuGet"); | |||||
| if(couponChannelId == null){ | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); | |||||
| } | |||||
| return ttMerchantPoiService.spuGet(getTenantInfo(),couponChannelId); | |||||
| } | |||||
| @ApiOperation("商品状态同步") | |||||
| @PostMapping("spuStatusSync") | |||||
| @SystemControllerLog(description = "商品状态同步") | |||||
| public ResultData spuStatusSync(@RequestBody Map<String, Long> param) { | |||||
| logger.debug("[" + getIpAddr() + "] TtMerchantPoiController::spuStatusSync"); | |||||
| Long couponChannelId = param.get("couponChannelId"); | |||||
| if(couponChannelId == null){ | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); | |||||
| } | |||||
| return ttMerchantPoiService.spuStatusSync(getTenantInfo(),couponChannelId); | |||||
| } | |||||
| @ApiOperation("商品库存同步") | |||||
| @PostMapping("spuStockSync") | |||||
| @SystemControllerLog(description = "商品库存同步") | |||||
| public ResultData spuStockSync(@RequestBody Map<String, Long> param) { | |||||
| logger.debug("[" + getIpAddr() + "] TtMerchantPoiController::spuStockSync"); | |||||
| Long couponChannelId = param.get("couponChannelId"); | |||||
| if(couponChannelId == null){ | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); | |||||
| } | |||||
| return ttMerchantPoiService.spuStockSync(getTenantInfo(),couponChannelId); | |||||
| } | |||||
| } | } | ||||
| @@ -0,0 +1,200 @@ | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_0` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_1` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_2` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_3` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_4` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_5` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_6` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_7` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_8` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_9` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_10` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_11` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_12` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_13` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_14` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_15` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_16` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_17` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_18` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_19` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_20` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_21` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_22` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_23` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_24` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_25` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_26` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_27` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_28` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_29` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_30` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_31` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_32` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_33` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_34` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_35` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_36` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_37` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_38` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_39` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_40` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_41` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_42` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_43` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_44` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_45` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_46` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_47` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_48` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_49` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_50` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_51` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_52` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_53` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_54` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_55` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_56` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_57` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_58` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_59` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_60` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_61` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_62` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_63` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_64` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_65` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_66` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_67` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_68` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_69` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_70` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_71` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_72` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_73` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_74` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_75` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_76` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_77` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_78` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_79` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_80` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_81` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_82` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_83` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_84` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_85` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_86` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_87` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_88` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_89` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_90` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_91` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_92` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_93` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_94` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_95` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_96` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_97` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_98` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| ALTER TABLE `mallink`.`wx_coupon_channel_99` | |||||
| ADD COLUMN `tt_spu_id` varchar(255) COMMENT ''抖音平台SPU ID(poi同步)'' AFTER `tt_qr_code`; | |||||
| @@ -75,6 +75,9 @@ public class TtMerchantPoi extends TenantEntity { | |||||
| @io.swagger.annotations.ApiModelProperty(value="抖音平台商户ID",name="supplierId") | @io.swagger.annotations.ApiModelProperty(value="抖音平台商户ID",name="supplierId") | ||||
| private String supplierId; | private String supplierId; | ||||
| @io.swagger.annotations.ApiModelProperty(value="EnumSupplierSyncStatus 同步状态, 0 - 未处理; 1 - 通过; 2 - 未通过",name="syncStatus") | |||||
| private Integer syncStatus; | |||||
| @io.swagger.annotations.ApiModelProperty(value="EnumSupplierSyncStatus 最近一次同步状态, 0 - 未处理; 1 - 通过; 2 - 未通过",name="lastSyncStatus") | @io.swagger.annotations.ApiModelProperty(value="EnumSupplierSyncStatus 最近一次同步状态, 0 - 未处理; 1 - 通过; 2 - 未通过",name="lastSyncStatus") | ||||
| private Integer lastSyncStatus; | private Integer lastSyncStatus; | ||||
| @@ -78,7 +78,7 @@ public class WxCoupon extends TenantEntity { | |||||
| @io.swagger.annotations.ApiModelProperty(value="查询-结束时间",name="enddate") | @io.swagger.annotations.ApiModelProperty(value="查询-结束时间",name="enddate") | ||||
| private Date enddate; | private Date enddate; | ||||
| @io.swagger.annotations.ApiModelProperty(value="券类型(1.满减券,2.代金券,3.团购券,4.礼品券,5.停车券,6.多商户券,8.砍价券,9.团购券,10.预购商品,11.可配送商品,12.券礼包,50.积分券,51.积分停车券,100.消费卡)",name="type") | |||||
| @io.swagger.annotations.ApiModelProperty(value="EnumCouponType 券类型(1.满减券,2.代金券,3.团购券,4.礼品券,5.停车券,6.多商户券,8.砍价券,9.团购券,10.预购商品,11.可配送商品,12.券礼包,50.积分券,51.积分停车券,100.消费卡)",name="type") | |||||
| private Integer type; | private Integer type; | ||||
| @io.swagger.annotations.ApiModelProperty(value="封面图",name="coverImg") | @io.swagger.annotations.ApiModelProperty(value="封面图",name="coverImg") | ||||
| private String coverImg; | private String coverImg; | ||||
| @@ -106,18 +106,18 @@ public class WxCoupon extends TenantEntity { | |||||
| private Integer useLimitQuantity; | private Integer useLimitQuantity; | ||||
| @io.swagger.annotations.ApiModelProperty(value="1.主动领取2.定向投放",name="sendType") | @io.swagger.annotations.ApiModelProperty(value="1.主动领取2.定向投放",name="sendType") | ||||
| private Integer sendType; | private Integer sendType; | ||||
| @io.swagger.annotations.ApiModelProperty(value="有效时间类型1.时间范围(valid_start_date,valid_end_date). 2领取后几日有效(valid_days)",name="validType") | |||||
| @io.swagger.annotations.ApiModelProperty(value="EnumCouponValidType 有效时间类型1.时间范围(valid_start_date,valid_end_date). 2领取后几日有效(valid_days)",name="validType") | |||||
| private Integer validType; | private Integer validType; | ||||
| @io.swagger.annotations.ApiModelProperty(value="有效日期-开始",name="validStartDate") | |||||
| @io.swagger.annotations.ApiModelProperty(value="卷有效日期-开始",name="validStartDate") | |||||
| private Date validStartDate; | private Date validStartDate; | ||||
| @io.swagger.annotations.ApiModelProperty(value="有效日期-结束",name="validEndDate") | |||||
| @io.swagger.annotations.ApiModelProperty(value="卷有效日期-结束",name="validEndDate") | |||||
| private Date validEndDate; | private Date validEndDate; | ||||
| @io.swagger.annotations.ApiModelProperty(value="自领取之日几日有效,(停车券当天有效)",name="validDays") | @io.swagger.annotations.ApiModelProperty(value="自领取之日几日有效,(停车券当天有效)",name="validDays") | ||||
| private Integer validDays; | private Integer validDays; | ||||
| @io.swagger.annotations.ApiModelProperty(value="有效日期-开始",name="pickStartDate") | |||||
| @io.swagger.annotations.ApiModelProperty(value="提货有效日期-开始",name="pickStartDate") | |||||
| private Date pickStartDate; | private Date pickStartDate; | ||||
| @io.swagger.annotations.ApiModelProperty(value="有效日期-结束",name="pickEndDate") | |||||
| @io.swagger.annotations.ApiModelProperty(value="提货有效日期-结束",name="pickEndDate") | |||||
| private Date pickEndDate; | private Date pickEndDate; | ||||
| @io.swagger.annotations.ApiModelProperty(value="须知",name="detail") | @io.swagger.annotations.ApiModelProperty(value="须知",name="detail") | ||||
| @@ -140,7 +140,7 @@ public class WxCoupon extends TenantEntity { | |||||
| private Integer inventory; | private Integer inventory; | ||||
| @io.swagger.annotations.ApiModelProperty(value="购买须知",name="remark") | @io.swagger.annotations.ApiModelProperty(value="购买须知",name="remark") | ||||
| private String remark; | private String remark; | ||||
| @io.swagger.annotations.ApiModelProperty(value="状态(-1:全部,0:草稿/待生效,1:已生效,2:已失效,3:已作废)",name="status") | |||||
| @io.swagger.annotations.ApiModelProperty(value="EnumCouponStatus 状态(-1:全部,0:草稿/待生效,1:已生效,2:已失效,3:已作废)",name="status") | |||||
| private Integer status; | private Integer status; | ||||
| @io.swagger.annotations.ApiModelProperty(value="创建时间",name="createDate") | @io.swagger.annotations.ApiModelProperty(value="创建时间",name="createDate") | ||||
| private Date createDate; | private Date createDate; | ||||
| @@ -225,7 +225,7 @@ public class WxCoupon extends TenantEntity { | |||||
| @io.swagger.annotations.ApiModelProperty(value="作废审批状态",name="cancleApplyStatus") | @io.swagger.annotations.ApiModelProperty(value="作废审批状态",name="cancleApplyStatus") | ||||
| private Integer cancleApplyStatus; | private Integer cancleApplyStatus; | ||||
| @io.swagger.annotations.ApiModelProperty(value="内容类型(0:小程序页面类型,1:富文本类型)",name="contentType") | |||||
| @io.swagger.annotations.ApiModelProperty(value="EnumCouponContentType 内容类型(0:小程序页面类型,1:富文本类型)",name="contentType") | |||||
| private Integer contentType; | private Integer contentType; | ||||
| @io.swagger.annotations.ApiModelProperty(value="富文本内容",name="html") | @io.swagger.annotations.ApiModelProperty(value="富文本内容",name="html") | ||||
| private String html; | private String html; | ||||
| @@ -2,6 +2,7 @@ package com.iformall.domain.po; | |||||
| import com.baomidou.mybatisplus.annotation.TableField; | import com.baomidou.mybatisplus.annotation.TableField; | ||||
| import com.baomidou.mybatisplus.annotation.TableName; | import com.baomidou.mybatisplus.annotation.TableName; | ||||
| import com.google.gson.JsonObject; | |||||
| import com.iformall.common.SortColumn; | import com.iformall.common.SortColumn; | ||||
| import com.iformall.domain.po.base.TenantEntity; | import com.iformall.domain.po.base.TenantEntity; | ||||
| import com.iformall.enums.EnumCouponType; | import com.iformall.enums.EnumCouponType; | ||||
| @@ -45,7 +46,7 @@ public class WxCouponChannel extends TenantEntity { | |||||
| private Integer type; | private Integer type; | ||||
| @io.swagger.annotations.ApiModelProperty(value="券名称",name="title") | @io.swagger.annotations.ApiModelProperty(value="券名称",name="title") | ||||
| private String title; | private String title; | ||||
| @io.swagger.annotations.ApiModelProperty(value="投放频道位置(1.列表, 2.限时抢购)",name="targetAd") | |||||
| @io.swagger.annotations.ApiModelProperty(value="EnumCouponChannelType投放频道位置(1.列表, 2.限时抢购)",name="targetAd") | |||||
| private Integer targetAd; | private Integer targetAd; | ||||
| @io.swagger.annotations.ApiModelProperty(value="业态",name="business") | @io.swagger.annotations.ApiModelProperty(value="业态",name="business") | ||||
| private Integer business; | private Integer business; | ||||
| @@ -57,7 +58,7 @@ public class WxCouponChannel extends TenantEntity { | |||||
| private Date beginTime; | private Date beginTime; | ||||
| @io.swagger.annotations.ApiModelProperty(value="结束时间",name="endTime") | @io.swagger.annotations.ApiModelProperty(value="结束时间",name="endTime") | ||||
| private Date endTime; | private Date endTime; | ||||
| @io.swagger.annotations.ApiModelProperty(value="0:上架 1:下架",name="status") | |||||
| @io.swagger.annotations.ApiModelProperty(value="EnumCouponChannelStatus 0:上架 1:下架",name="status") | |||||
| private Integer status; | private Integer status; | ||||
| @io.swagger.annotations.ApiModelProperty(value="创建时间",name="createDate") | @io.swagger.annotations.ApiModelProperty(value="创建时间",name="createDate") | ||||
| private Date createDate; | private Date createDate; | ||||
| @@ -69,6 +70,8 @@ public class WxCouponChannel extends TenantEntity { | |||||
| private String qrCode; | private String qrCode; | ||||
| @io.swagger.annotations.ApiModelProperty(value="抖音二维码地址",name="ttQrCode") | @io.swagger.annotations.ApiModelProperty(value="抖音二维码地址",name="ttQrCode") | ||||
| private String ttQrCode; | private String ttQrCode; | ||||
| @io.swagger.annotations.ApiModelProperty(value="抖音平台SPU ID(poi同步)",name="ttSpuId") | |||||
| private String ttSpuId; | |||||
| @TableField(exist = false) | @TableField(exist = false) | ||||
| @io.swagger.annotations.ApiModelProperty(value="券状态 0:可投放 1:作废",name="couponStatus") | @io.swagger.annotations.ApiModelProperty(value="券状态 0:可投放 1:作废",name="couponStatus") | ||||
| @@ -114,6 +117,17 @@ public class WxCouponChannel extends TenantEntity { | |||||
| } | } | ||||
| } | } | ||||
| public String getTtPath() { | |||||
| return Constant.mainPageUrl; | |||||
| } | |||||
| public String getTtparams() { | |||||
| JsonObject object = new JsonObject(); | |||||
| object.addProperty("type","cd"); | |||||
| object.addProperty("couponChannelId",id); | |||||
| return object.toString(); | |||||
| } | |||||
| public String getWeappScene() { | public String getWeappScene() { | ||||
| if(type == null) | if(type == null) | ||||
| return ""; | return ""; | ||||
| @@ -3,6 +3,7 @@ package com.iformall.domain.po; | |||||
| import cn.afterturn.easypoi.excel.annotation.Excel; | import cn.afterturn.easypoi.excel.annotation.Excel; | ||||
| import com.baomidou.mybatisplus.annotation.TableField; | import com.baomidou.mybatisplus.annotation.TableField; | ||||
| import com.baomidou.mybatisplus.annotation.TableName; | import com.baomidou.mybatisplus.annotation.TableName; | ||||
| import com.google.gson.JsonObject; | |||||
| import com.iformall.common.SortColumn; | import com.iformall.common.SortColumn; | ||||
| import com.iformall.domain.po.base.TenantEntity; | import com.iformall.domain.po.base.TenantEntity; | ||||
| import com.iformall.domain.vo.WxShopVo; | import com.iformall.domain.vo.WxShopVo; | ||||
| @@ -273,6 +274,17 @@ public class WxMerchant extends TenantEntity { | |||||
| return Constant.mainPageUrl + "?type=md&id=" + id; | return Constant.mainPageUrl + "?type=md&id=" + id; | ||||
| } | } | ||||
| public String getTtparams(){ | |||||
| return Constant.mainPageUrl; | |||||
| } | |||||
| public String getTtPath(){ | |||||
| JsonObject object = new JsonObject(); | |||||
| object.addProperty("type","md"); | |||||
| object.addProperty("id",id); | |||||
| return object.toString(); | |||||
| } | |||||
| public String getWeappScene() { | public String getWeappScene() { | ||||
| if(id == null) | if(id == null) | ||||
| return ""; | return ""; | ||||
| @@ -46,7 +46,7 @@ public class WxProfitSharingReceiver extends TenantEntity { | |||||
| @io.swagger.annotations.ApiModelProperty(value="分账金额(分)",name="sharingAmount") | @io.swagger.annotations.ApiModelProperty(value="分账金额(分)",name="sharingAmount") | ||||
| private Integer sharingAmount; | private Integer sharingAmount; | ||||
| @io.swagger.annotations.ApiModelProperty(value = "是否使用 0,不使用 1,使用", name = "isUse") | |||||
| @io.swagger.annotations.ApiModelProperty(value = "是否使用回执 0,不使用 1,使用", name = "isUse") | |||||
| private Integer isUse; | private Integer isUse; | ||||
| @io.swagger.annotations.ApiModelProperty(value = "进件页面", name = "ttImportUrl") | @io.swagger.annotations.ApiModelProperty(value = "进件页面", name = "ttImportUrl") | ||||
| @@ -70,6 +70,11 @@ public class TtWebProductServiceImpl implements TtWebProductService { | |||||
| final TtWebPostRequestExecutor executor = new TtWebPostRequestExecutor(this.service.getRequestHttp()); | final TtWebPostRequestExecutor executor = new TtWebPostRequestExecutor(this.service.getRequestHttp()); | ||||
| String apiUrl = this.service.getTtWebConfig().getApiBegin() + this.POST_SPU_STOCK_UPDATE; | String apiUrl = this.service.getTtWebConfig().getApiBegin() + this.POST_SPU_STOCK_UPDATE; | ||||
| String result = this.service.execute(executor, apiUrl, spuStockSync.toJson()); | String result = this.service.execute(executor, apiUrl, spuStockSync.toJson()); | ||||
| return true; | |||||
| JSONObject jsonObject = JSONObject.parseObject(result); | |||||
| String spuExtId = jsonObject.getString("spu_ext_id"); | |||||
| if(spuStockSync.getSpuExtId().equals(spuExtId)){ | |||||
| return true; | |||||
| } | |||||
| return false; | |||||
| } | } | ||||
| } | } | ||||
| @@ -1,5 +1,8 @@ | |||||
| package com.iformall.enums; | package com.iformall.enums; | ||||
| import java.util.ArrayList; | |||||
| import java.util.List; | |||||
| /** | /** | ||||
| * Created by Stormeye on 2018/08/09. | * Created by Stormeye on 2018/08/09. | ||||
| */ | */ | ||||
| @@ -9,7 +12,7 @@ public enum EnumCouponType { | |||||
| // 100.消费卡 | // 100.消费卡 | ||||
| COUPON_MANJIAN(1, "满减券"), | COUPON_MANJIAN(1, "满减券"), | ||||
| COUPON_DAIJIN(2, "代金券"), | COUPON_DAIJIN(2, "代金券"), | ||||
| COUPON_TUANGOU(3, "团购券"),//弃用 | |||||
| COUPON_TUANGOU(3, "团购券"),//没用 | |||||
| COUPON_LIPIN(4, "礼品券"), | COUPON_LIPIN(4, "礼品券"), | ||||
| COUPON_TINGCHE(5, "停车券"), | COUPON_TINGCHE(5, "停车券"), | ||||
| COUPON_MULTIMCH(6, "通用券"), | COUPON_MULTIMCH(6, "通用券"), | ||||
| @@ -57,4 +60,15 @@ public enum EnumCouponType { | |||||
| public String getMessage() { | public String getMessage() { | ||||
| return message; | return message; | ||||
| } | } | ||||
| //只有通用,满减,代金,礼品才能同步poi | |||||
| public static List<Integer> getSpuSyncType(){ | |||||
| List<Integer> typeList = new ArrayList<>(); | |||||
| typeList.add(COUPON_MANJIAN.getCode()); | |||||
| typeList.add(COUPON_DAIJIN.getCode()); | |||||
| typeList.add(COUPON_TUANGOU.getCode()); | |||||
| typeList.add(COUPON_LIPIN.getCode()); | |||||
| typeList.add(COUPON_MULTIMCH.getCode()); | |||||
| return typeList; | |||||
| } | |||||
| } | } | ||||
| @@ -43,4 +43,11 @@ public interface TtMerchantPoiService { | |||||
| TtWebService getTtWebService(TenantEntity tenantInfo); | TtWebService getTtWebService(TenantEntity tenantInfo); | ||||
| ResultData spuSync(TenantEntity tenantInfo, Long couponChannelId); | |||||
| ResultData spuGet(TenantEntity tenantInfo, Long couponChannelId); | |||||
| ResultData spuStatusSync(TenantEntity tenantInfo, Long couponChannelId); | |||||
| ResultData spuStockSync(TenantEntity tenantInfo, Long couponChannelId); | |||||
| } | } | ||||
| @@ -1,20 +1,17 @@ | |||||
| package com.iformall.service.impl; | package com.iformall.service.impl; | ||||
| import com.alibaba.fastjson.JSONArray; | |||||
| import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | ||||
| import com.github.pagehelper.PageHelper; | import com.github.pagehelper.PageHelper; | ||||
| import com.github.pagehelper.PageInfo; | import com.github.pagehelper.PageInfo; | ||||
| import com.google.gson.JsonArray; | import com.google.gson.JsonArray; | ||||
| import com.google.gson.JsonObject; | import com.google.gson.JsonObject; | ||||
| import com.iformall.common.ErrorCode; | import com.iformall.common.ErrorCode; | ||||
| import com.iformall.common.Result; | |||||
| import com.iformall.common.ResultData; | import com.iformall.common.ResultData; | ||||
| import com.iformall.domain.po.*; | import com.iformall.domain.po.*; | ||||
| import com.iformall.domain.po.base.TenantEntity; | import com.iformall.domain.po.base.TenantEntity; | ||||
| import com.iformall.douyin.web.api.TtWebService; | import com.iformall.douyin.web.api.TtWebService; | ||||
| import com.iformall.douyin.web.bean.TtSupplierMatch; | |||||
| import com.iformall.douyin.web.bean.TtSupplierMatchList; | |||||
| import com.iformall.douyin.web.bean.TtSupplierSync; | |||||
| import com.iformall.douyin.web.bean.TtSupplierSyncQuery; | |||||
| import com.iformall.douyin.web.bean.*; | |||||
| import com.iformall.enums.*; | import com.iformall.enums.*; | ||||
| import com.iformall.exception.MallinkException; | import com.iformall.exception.MallinkException; | ||||
| import com.iformall.mapper.*; | import com.iformall.mapper.*; | ||||
| @@ -28,9 +25,11 @@ import org.slf4j.LoggerFactory; | |||||
| import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.stereotype.Service; | import org.springframework.stereotype.Service; | ||||
| import java.text.SimpleDateFormat; | |||||
| import java.util.ArrayList; | import java.util.ArrayList; | ||||
| import java.util.Date; | import java.util.Date; | ||||
| import java.util.List; | import java.util.List; | ||||
| import java.util.stream.Collectors; | |||||
| /** | /** | ||||
| * @author gongbiao | * @author gongbiao | ||||
| @@ -52,6 +51,18 @@ public class TtMerchantPoiServiceImpl implements TtMerchantPoiService { | |||||
| @Autowired | @Autowired | ||||
| WxAppinfoMapper wxAppinfoMapper; | WxAppinfoMapper wxAppinfoMapper; | ||||
| @Autowired | |||||
| WxCouponChannelMapper wxCouponChannelMapper; | |||||
| @Autowired | |||||
| WxCouponMapper wxCouponMapper; | |||||
| @Autowired | |||||
| WxCouponMerchantMapper wxCouponMerchantMapper; | |||||
| @Autowired | |||||
| WxAppinfoService wxAppinfoService; | |||||
| @Autowired | @Autowired | ||||
| MaUtil maUtil; | MaUtil maUtil; | ||||
| @@ -150,6 +161,13 @@ public class TtMerchantPoiServiceImpl implements TtMerchantPoiService { | |||||
| return new ResultData(); | return new ResultData(); | ||||
| } | } | ||||
| /** | |||||
| * todo 目前经纬度,地址 都取自广场 | |||||
| * @param tenantInfo | |||||
| * @param merchantPoiList | |||||
| * @return | |||||
| * @throws MallinkException | |||||
| */ | |||||
| private String supplierMatch(TenantEntity tenantInfo, List<TtMerchantPoi> merchantPoiList) throws MallinkException{ | private String supplierMatch(TenantEntity tenantInfo, List<TtMerchantPoi> merchantPoiList) throws MallinkException{ | ||||
| TtSupplierMatchList matchList = new TtSupplierMatchList(); | TtSupplierMatchList matchList = new TtSupplierMatchList(); | ||||
| for (TtMerchantPoi poi:merchantPoiList) { | for (TtMerchantPoi poi:merchantPoiList) { | ||||
| @@ -239,26 +257,42 @@ public class TtMerchantPoiServiceImpl implements TtMerchantPoiService { | |||||
| private String supplierSync(TenantEntity tenantInfo,TtMerchantPoi merchantPoi,WxMerchant merchant){ | private String supplierSync(TenantEntity tenantInfo,TtMerchantPoi merchantPoi,WxMerchant merchant){ | ||||
| TtSupplierSync supplierSync = new TtSupplierSync(); | TtSupplierSync supplierSync = new TtSupplierSync(); | ||||
| supplierSync.setContactPhone(merchant.getLinkPhone()); | supplierSync.setContactPhone(merchant.getLinkPhone()); | ||||
| // supplierSync.setContactTel();//联系座机号 | |||||
| List<String> images = new ArrayList<>(); | List<String> images = new ArrayList<>(); | ||||
| images.add(merchant.getImgUrl()); | images.add(merchant.getImgUrl()); | ||||
| supplierSync.setImages(images); | supplierSync.setImages(images); | ||||
| // supplierSync.setMerchantUid();//如果开启分账并且已进件 | // supplierSync.setMerchantUid();//如果开启分账并且已进件 | ||||
| // supplierSync.setServiceProvider();//营业执照等 | |||||
| // supplierSync.setServiceProvider(getServiceProvider(merchant));//营业执照等 | |||||
| supplierSync.setSupplierExtId(merchant.getId().toString()); | supplierSync.setSupplierExtId(merchant.getId().toString()); | ||||
| // supplierSync.setTags();//标签 [可停车 离地铁近] | |||||
| supplierSync.setStatus(EnumMerchantStatus.VALID.getCode().equals(merchant.getStatus())?1:2); | supplierSync.setStatus(EnumMerchantStatus.VALID.getCode().equals(merchant.getStatus())?1:2); | ||||
| // todo POI品类编码 POI品类描述 eg. 美食;中式餐饮;小龙虾 | |||||
| // supplierSync.setTypeCode(); | |||||
| // supplierSync.setTypeName(); | |||||
| supplierSync.setAddress(merchantPoi.getAddress()); | supplierSync.setAddress(merchantPoi.getAddress()); | ||||
| // supplierSync.setAvgCost();//人均消费(单位分) | // supplierSync.setAvgCost();//人均消费(单位分) | ||||
| // supplierSync.setCustomerInfo();//商家资质 | |||||
| //todo 商家资质信息 | |||||
| // supplierSync.setCustomerInfo(getCustomerInfo(merchantPoi,merchant)); | |||||
| supplierSync.setDescription(merchant.getIntroduction()); | supplierSync.setDescription(merchant.getIntroduction()); | ||||
| supplierSync.setName(merchant.getName()); | supplierSync.setName(merchant.getName()); | ||||
| // supplierSync.setRecommends();//推荐 | |||||
| supplierSync.setServices(getServices()); | |||||
| // supplierSync.setRecommends(getRecommends(merchant));//推荐 | |||||
| supplierSync.setServices(getServices(merchant)); | |||||
| // supplierSync.setAttributes();//不传 | |||||
| // supplierSync.setLongitude();//经度 | // supplierSync.setLongitude();//经度 | ||||
| // supplierSync.setLatitude();//纬度 | // supplierSync.setLatitude();//纬度 | ||||
| // supplierSync.setOpenTime();// 营业时间, 从周一到周日,list长度为7, | |||||
| //营业时间, 从周一到周日,list长度为7, | |||||
| //[10:00-12:00;13:00-22:00 10:00-12:00;13:00-22:00 10:00-12:00;13:00-22:00 10:00-12:00;13:00-22:00 10:00-12:00;13:00-22:00 10:00-12:00;13:00-22:00] | |||||
| // supplierSync.setOpenTime(); | |||||
| supplierSync.setPoiId(merchantPoi.getPoiId()); | supplierSync.setPoiId(merchantPoi.getPoiId()); | ||||
| //如果抖音没有这个类型怎么办 | |||||
| //todo 如果抖音没有这个类型怎么办 | |||||
| Integer ttType = EnumBusiness.getEnum(merchant.getBusinessId()).getTtType(); | Integer ttType = EnumBusiness.getEnum(merchant.getBusinessId()).getTtType(); | ||||
| if(ttType == null){ | if(ttType == null){ | ||||
| logger.error("未找到对应的店铺类型"); | logger.error("未找到对应的店铺类型"); | ||||
| @@ -276,6 +310,90 @@ public class TtMerchantPoiServiceImpl implements TtMerchantPoiService { | |||||
| return supplierId; | return supplierId; | ||||
| } | } | ||||
| //__________________________________店铺同步_______________________________________________ | |||||
| //服务商资质信息 | |||||
| private JsonObject getServiceProvider(WxMerchant merchant){ | |||||
| JsonObject jsonObject = new JsonObject(); | |||||
| // jsonObject.addProperty("business_license_ext_id","服务商营业执照"); | |||||
| // JsonArray jsonArray = new JsonArray(); | |||||
| // jsonArray.add("服务商行业许可证1"); | |||||
| // jsonArray.add("服务商行业许可证2"); | |||||
| // jsonObject.add("industry_license_ext_id",jsonArray); | |||||
| return jsonObject; | |||||
| } | |||||
| //商家资质信息 | |||||
| private JsonObject getCustomerInfo(TtMerchantPoi merchantPoi,WxMerchant merchant){ | |||||
| JsonObject object = new JsonObject(); | |||||
| // JsonObject powerObject = new JsonObject();//服务商和商家合作协议/授意书 | |||||
| // powerObject.addProperty("ext_id","合作协议/授意书外部id"); | |||||
| // powerObject.addProperty("url","合作协议/授意书链接"); | |||||
| // object.add("power_of_attorney",powerObject); | |||||
| // | |||||
| // JsonObject busObject = new JsonObject();//商家营业执照 | |||||
| // busObject.addProperty("company","服务上营业执照公司名称"); | |||||
| // busObject.addProperty("ext_id","商家营业执照外部id"); | |||||
| // busObject.addProperty("url","商家营业执照链接"); | |||||
| // object.add("business_license",busObject); | |||||
| // | |||||
| // JsonArray industryArray = new JsonArray();//行业许可证 | |||||
| // for (:){ | |||||
| // JsonObject industryObject = new JsonObject(); | |||||
| // industryObject.addProperty("ext_id","商家营业执行业许可证外部id"); | |||||
| // industryObject.addProperty("url","商家行业许可证链接"); | |||||
| // industryArray.add(industryObject); | |||||
| // } | |||||
| // object.add("industry_license",industryArray); | |||||
| // | |||||
| // JsonArray otherArray = new JsonArray();//其他补充材料 | |||||
| // for (:){ | |||||
| // JsonObject otherObject = new JsonObject(); | |||||
| // otherObject.addProperty("ext_id","其他补充材料外部id"); | |||||
| // otherObject.addProperty("url","其他补充外部链接"); | |||||
| // otherArray.add(otherObject); | |||||
| // } | |||||
| // object.add("other_info",otherArray); | |||||
| return object; | |||||
| } | |||||
| //推荐 | |||||
| private JsonArray getRecommends(WxMerchant merchant){ | |||||
| JsonArray array = new JsonArray(); | |||||
| // for (:) { | |||||
| // JsonObject object = new JsonObject(); | |||||
| // object.addProperty("image_url","推荐内容链接(图片,或者视频链接)"); | |||||
| // object.addProperty("title","推荐描述"); | |||||
| // array.add(object); | |||||
| // } | |||||
| return array; | |||||
| } | |||||
| //团购券类型 services 中的 service_type 必须包含 9101,门票类型 services 中的 service_type 必须包含 9001 | |||||
| private JsonArray getServices(WxMerchant merchant){ | |||||
| JsonArray jsonArray = new JsonArray(); | |||||
| JsonObject jsonObject = new JsonObject(); | |||||
| jsonObject.addProperty("enable",1); | |||||
| JsonObject entryObject = new JsonObject(); | |||||
| entryObject.addProperty("entry_type",2);//入口类型(1:H5,2:抖音小程序,3:抖音链接) | |||||
| JsonObject miniApp = new JsonObject(); | |||||
| miniApp.addProperty("params",merchant.getTtparams()); | |||||
| miniApp.addProperty("path",merchant.getTtPath()); | |||||
| WxAppinfo appInfo = wxAppinfoService.getCAppInfo(merchant, EnumAppPlat.TOUTIAO); | |||||
| miniApp.addProperty("app_id",appInfo.getAppId()); | |||||
| entryObject.add("entry_miniApp",miniApp); | |||||
| jsonObject.add("entry",entryObject); | |||||
| jsonObject.addProperty("service_type",9101); | |||||
| jsonArray.add(jsonObject); | |||||
| return jsonArray; | |||||
| } | |||||
| //_________________________________________________________________________________ | |||||
| @Override | @Override | ||||
| public List<Long> findIdList(TtMerchantPoi merchantPoiQ) { | public List<Long> findIdList(TtMerchantPoi merchantPoiQ) { | ||||
| return ttMerchantPoiMapper.findIdList(merchantPoiQ); | return ttMerchantPoiMapper.findIdList(merchantPoiQ); | ||||
| @@ -297,6 +415,9 @@ public class TtMerchantPoiServiceImpl implements TtMerchantPoiService { | |||||
| if(syncQuery != null && syncQuery.getSyncStatus() != null ){ | if(syncQuery != null && syncQuery.getSyncStatus() != null ){ | ||||
| TtMerchantPoi poiUpd = new TtMerchantPoi(); | TtMerchantPoi poiUpd = new TtMerchantPoi(); | ||||
| poiUpd.setId(id); | poiUpd.setId(id); | ||||
| if(EnumSupplierSyncStatus.sync_success.getCode().equals(syncQuery.getSyncStatus().getLastSyncStatus())){ | |||||
| poiUpd.setSyncStatus(EnumSupplierSyncStatus.sync_success.getCode()); | |||||
| } | |||||
| poiUpd.setLastSyncStatus(syncQuery.getSyncStatus().getLastSyncStatus()); | poiUpd.setLastSyncStatus(syncQuery.getSyncStatus().getLastSyncStatus()); | ||||
| poiUpd.setFailReason(syncQuery.getSyncStatus().getFailReason()); | poiUpd.setFailReason(syncQuery.getSyncStatus().getFailReason()); | ||||
| poiUpd.setUpdateDate(new Date()); | poiUpd.setUpdateDate(new Date()); | ||||
| @@ -352,15 +473,260 @@ public class TtMerchantPoiServiceImpl implements TtMerchantPoiService { | |||||
| } | } | ||||
| } | } | ||||
| //__________________________________店铺同步_______________________________________________ | |||||
| //团购券类型 services 中的 service_type 必须包含 9101,门票类型 services 中的 service_type 必须包含 9001 | |||||
| private JsonArray getServices(){ | |||||
| JsonArray jsonArray = new JsonArray(); | |||||
| JsonObject jsonObject = new JsonObject(); | |||||
| jsonObject.addProperty("enable",1); | |||||
| jsonObject.addProperty("service_type",9101); | |||||
| jsonArray.add(jsonObject); | |||||
| return jsonArray; | |||||
| @Override | |||||
| public ResultData spuSync(TenantEntity tenantInfo, Long couponChannelId) { | |||||
| WxCouponChannel couponChannel = wxCouponChannelMapper.selectById(couponChannelId, tenantInfo.getTenantId()); | |||||
| if(couponChannel == null || !EnumCouponChannelStatus.STATUS_THROW_IN.getCode().equals(couponChannel.getStatus())){ | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"未找到上架卷数据"); | |||||
| } | |||||
| if(!EnumCouponChannelType.COUPON_CHANNEL_ID_DOUYIN_LIST.getCode().equals(couponChannel.getTargetAd())){ | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"只有投放在列表的卷才能进行同步poi"); | |||||
| } | |||||
| WxCoupon coupon = wxCouponMapper.selectById(couponChannel.getCouponId(), tenantInfo.getTenantId()); | |||||
| if(coupon == null || !EnumCouponStatus.COUPON_STATUS_THROW_IN.getCode().equals(coupon.getStatus())){ | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"未找到可投放的卷"); | |||||
| } | |||||
| if(!EnumCouponType.getSpuSyncType().contains(coupon.getType())){ | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"卷类型不支持同步poi"); | |||||
| } | |||||
| List<Long> merchantIds = wxCouponMerchantMapper.findMerchantIdListByProduct(coupon.getId(), tenantInfo.getTenantId()); | |||||
| if(merchantIds == null || merchantIds.size() == 0 ){ | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"未查询到门店"); | |||||
| } | |||||
| TtMerchantPoi poiQ = new TtMerchantPoi(); | |||||
| poiQ.updateTenantInfo(tenantInfo); | |||||
| poiQ.setIds(merchantIds); | |||||
| poiQ.setMatchStatus(EnumSupplierMathStatus.match_success.getCode()); | |||||
| poiQ.setSyncStatus(EnumSupplierSyncStatus.sync_success.getCode()); | |||||
| List<TtMerchantPoi> list = ttMerchantPoiMapper.findList(poiQ); | |||||
| if(list == null || list.size() != merchantIds.size()){ | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"部分商品门店未同步,请先同步门店"); | |||||
| } | |||||
| String spuId = spuSync(coupon,couponChannel,merchantIds); | |||||
| if(StringUtils.isBlank(spuId)){ | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"同步失败"); | |||||
| } | |||||
| WxCouponChannel ccUpd = new WxCouponChannel(); | |||||
| ccUpd.setId(couponChannel.getId()); | |||||
| ccUpd.updateTenantInfo(couponChannel); | |||||
| ccUpd.setTtSpuId(spuId); | |||||
| ccUpd.setUpdateDate(new Date()); | |||||
| wxCouponChannelMapper.updateById(ccUpd); | |||||
| return new ResultData(); | |||||
| } | |||||
| private String spuSync(WxCoupon coupon,WxCouponChannel couponChannel, List<Long> merchantIds){ | |||||
| TtSpuSync spuSync = new TtSpuSync(); | |||||
| spuSync.setEntryInfo(getEntryInfo(couponChannel)); | |||||
| // spuSync.setFrontCategoryTag();//前台品类标签 | |||||
| // spuSync.setRecommendWord();//推荐语,5~20个字 | |||||
| // spuSync.setSortWeight();//排序权重,按降序排列 | |||||
| List<String> collect = merchantIds.stream().map(merchantId -> merchantId.toString()).collect(Collectors.toList()); | |||||
| spuSync.setSupplierExtIdList(collect); | |||||
| spuSync.setPrice(coupon.getSalePrice()); | |||||
| spuSync.setSpuExtId(couponChannel.getId().toString()); | |||||
| spuSync.setImageList(JSONArray.parseArray(coupon.getCoverPicture(),String.class)); | |||||
| // spuSync.setMpSettletype();//小程序结算类型 1-包销 2-代销 | |||||
| spuSync.setOriginPrice(coupon.getPrice()); | |||||
| // spuSync.setTakeRate();//商品的抽佣率,万分数 | |||||
| spuSync.setAttribute(getAttribute(coupon,couponChannel)); | |||||
| // spuSync.setHighlights(getHighlights(coupon)); | |||||
| spuSync.setName(coupon.getTitle()); | |||||
| // spuSync.setOrderDependsOnDate(false);//下单是否依赖日期 | |||||
| spuSync.setSpuType(91);//spu类型号,1-日历房,30-酒店民宿预售券,90-门票,91-团购券 | |||||
| if(EnumCouponChannelStatus.STATUS_THROW_IN.getCode().equals(couponChannel.getStatus())){ | |||||
| spuSync.setStatus(1); | |||||
| }else{ | |||||
| spuSync.setStatus(2); | |||||
| } | |||||
| spuSync.setStock(coupon.getRemainInventory()); | |||||
| String spuId = null; | |||||
| try { | |||||
| spuId = getTtWebService(coupon).getProductService().spuSync(spuSync); | |||||
| } catch (WxErrorException e) { | |||||
| logger.error("发起商品同步error"+e.getMessage()); | |||||
| throw new MallinkException(ErrorCode.MSG_METHOD_REQUEST_ERROR.getCode(),e.getMessage()); | |||||
| } | |||||
| return spuId; | |||||
| } | |||||
| //__________________________________商品同步_______________________________________________ | |||||
| //获取入口信息 | |||||
| private JsonObject getEntryInfo(WxCouponChannel couponChannel){ | |||||
| JsonObject object = new JsonObject(); | |||||
| object.addProperty("entry_type",2);//入口类型(1:H5,2:抖音小程序,3:抖音链接) | |||||
| JsonObject miniApp = new JsonObject(); | |||||
| miniApp.addProperty("params",couponChannel.getTtparams()); | |||||
| miniApp.addProperty("path",couponChannel.getTtPath()); | |||||
| WxAppinfo appInfo = wxAppinfoService.getCAppInfo(couponChannel, EnumAppPlat.TOUTIAO); | |||||
| miniApp.addProperty("app_id",appInfo.getAppId()); | |||||
| object.add("entry_miniApp",miniApp); | |||||
| return object; | |||||
| } | |||||
| //获取SPU属性字段 | |||||
| private JsonObject getAttribute(WxCoupon coupon,WxCouponChannel couponChannel){ | |||||
| // JsonObject object = new JsonObject(); | |||||
| JsonObject productObjuct = new JsonObject(); | |||||
| SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); | |||||
| productObjuct.addProperty("groupon_valid_start",dateFormat.format(couponChannel.getShowBeginTime()));//团购售卖时间开始 | |||||
| // todo 要求必传, 可能为空 | |||||
| productObjuct.addProperty("groupon_valid_end",dateFormat.format(couponChannel.getEndTime()));//******* | |||||
| productObjuct.addProperty("order_limit",coupon.getUseLimitQuantity());//单个用户购买数量限制 | |||||
| if(EnumCouponValidType.BETWEEN_TWO_TIME.getCode().equals(coupon.getValidType())){ | |||||
| productObjuct.addProperty("order_valid_start",dateFormat.format(coupon.getValidStartDate())); | |||||
| productObjuct.addProperty("order_valid_end",dateFormat.format(coupon.getValidEndDate())); | |||||
| }else if(EnumCouponValidType.DAYS_AFTER_RECEIVING.getCode().equals(coupon.getValidType())){ | |||||
| productObjuct.addProperty("post_purchase_day",coupon.getValidDays()); | |||||
| } | |||||
| //todo 商家客服电话 目前传的广场的客服电话 联系人广场名称 | |||||
| WxMall mall = wxMallMapper.getByTenantId(coupon.getTenantId()); | |||||
| JsonArray phoneArray = new JsonArray(); | |||||
| phoneArray.add(mall.getServicePhone()); | |||||
| productObjuct.add("service_phone",phoneArray); | |||||
| productObjuct.addProperty("contact_name",mall.getName()); | |||||
| //todo 团购须知 要求格式 标题加类容 是否二选一 待测试 | |||||
| JsonArray notificationArray = new JsonArray(); | |||||
| // for ( : ) { | |||||
| // JsonObject contentObject = new JsonObject(); | |||||
| // contentObject.addProperty("title",);//标题 | |||||
| // contentObject.addProperty("content",);//内容 | |||||
| // notificationArray.add(contentObject); | |||||
| // } | |||||
| productObjuct.add("notification",notificationArray); | |||||
| if(EnumCouponContentType.HTML.getCode().equals(coupon.getContentType())){ | |||||
| productObjuct.addProperty("notification_rich_text",coupon.getHtml()); | |||||
| }else{ | |||||
| productObjuct.addProperty("notification_rich_text",coupon.getRemark()); | |||||
| } | |||||
| productObjuct.addProperty("sub_title",coupon.getSubTitle()); | |||||
| //todo 团购详情 要求必传, 待测试 | |||||
| // JsonArray groupArray = new JsonArray(); | |||||
| // for ( : ) { | |||||
| // JsonObject groupObject = new JsonObject(); | |||||
| // groupObject.addProperty("group_name","标题");//标题 | |||||
| // JsonArray itemArray = new JsonArray(); //菜品 | |||||
| // for (:) { | |||||
| // JsonObject itemObject = new JsonObject(); | |||||
| // itemObject.addProperty("name","菜名"); | |||||
| // itemObject.addProperty("count","数量"); | |||||
| // itemObject.addProperty("price","价格"); | |||||
| // itemArray.add(itemObject); | |||||
| // } | |||||
| // groupObject.add("item_list",itemArray); | |||||
| // groupArray.add(groupObject); | |||||
| // } | |||||
| // productObjuct.add("pay_item_groups",groupArray); | |||||
| //使用日期规则 | |||||
| // JsonObject dateRuleObject = new JsonObject(); | |||||
| // JsonObject unDateObject = new JsonObject();//不可用日期 | |||||
| // JsonArray dateArray = new JsonArray();//日期列表,格式yyyy-mm-dd,最多传100个 | |||||
| // JsonArray weekDayArray = new JsonArray();//星期列表,1-7代表周一到周天,[1,2]代表周一周二不可用 | |||||
| // unDateObject.add("date_list",dateArray); | |||||
| // unDateObject.add("weekday_list",weekDayArray); | |||||
| // dateRuleObject.add("unavailable_date",unDateObject); | |||||
| // productObjuct.add("date_rule",dateRuleObject); | |||||
| return productObjuct; | |||||
| } | |||||
| //商品亮点标签 | |||||
| private JsonArray getHighlights(WxCoupon coupon){ | |||||
| JsonArray array = new JsonArray(); | |||||
| // for (:) { | |||||
| // JsonObject object = new JsonObject(); | |||||
| // object.addProperty("content",);//介绍,字符串长度<=5 | |||||
| // object.addProperty("priority",);//优先级,数字越小优先级越高 | |||||
| // array.add(object); | |||||
| // } | |||||
| return array; | |||||
| } | |||||
| //_________________________________________________________________________________ | |||||
| @Override | |||||
| public ResultData spuGet(TenantEntity tenantInfo, Long couponChannelId) { | |||||
| WxCouponChannel couponChannel = wxCouponChannelMapper.selectById(couponChannelId, tenantInfo.getTenantId()); | |||||
| if(couponChannel == null){ | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"未找到卷数据"); | |||||
| } | |||||
| if(StringUtils.isBlank(couponChannel.getTtSpuId())){ | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"该券未同步poi"); | |||||
| } | |||||
| TtSpuGet spuGet = new TtSpuGet(); | |||||
| spuGet.setSpuExtId(couponChannel.getId().toString()); | |||||
| spuGet.setNeedSpuDraft(true); | |||||
| spuGet.setSpuDraftcount(10); | |||||
| try { | |||||
| TtSpuGetResult spuGetResult = getTtWebService(tenantInfo).getProductService().spuGet(spuGet); | |||||
| return new ResultData(spuGetResult); | |||||
| } catch (WxErrorException e) { | |||||
| logger.error("couponChannelId:"+couponChannelId +" 多门店SPU信息查询error "+e.getMessage()); | |||||
| return new ResultData(ErrorCode.MSG_METHOD_REQUEST_ERROR.getCode(),e.getMessage()); | |||||
| } | |||||
| } | |||||
| @Override | |||||
| public ResultData spuStatusSync(TenantEntity tenantInfo, Long couponChannelId) { | |||||
| WxCouponChannel couponChannel = wxCouponChannelMapper.selectById(couponChannelId, tenantInfo.getTenantId()); | |||||
| if(couponChannel == null){ | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"未找到卷数据"); | |||||
| } | |||||
| if(StringUtils.isBlank(couponChannel.getTtSpuId())){ | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"该券未同步poi"); | |||||
| } | |||||
| TtSpuStatusSync statusSync = new TtSpuStatusSync(); | |||||
| List<String> ids = new ArrayList<>(); | |||||
| ids.add(couponChannel.getId().toString()); | |||||
| statusSync.setSpuExtIdList(ids); | |||||
| if(EnumCouponChannelStatus.STATUS_THROW_IN.getCode().equals(couponChannel.getStatus())){ | |||||
| statusSync.setStatus(1); | |||||
| }else{ | |||||
| statusSync.setStatus(2); | |||||
| } | |||||
| try { | |||||
| TtSpuStatusSync statusSyncResult = getTtWebService(tenantInfo).getProductService().spuStatusSync(statusSync); | |||||
| if(statusSyncResult.getSpuExtIdList() != null && statusSyncResult.getSpuExtIdList().containsAll(ids)){ | |||||
| return new ResultData(); | |||||
| } | |||||
| } catch (WxErrorException e) { | |||||
| logger.error("couponChannelId:"+couponChannelId +" 多门店SPU状态同步error "+e.getMessage()); | |||||
| return new ResultData(ErrorCode.MSG_METHOD_REQUEST_ERROR.getCode(),e.getMessage()); | |||||
| } | |||||
| return new ResultData(ErrorCode.SYS_SERVER_ERROR.getCode(),"同步失败"); | |||||
| } | |||||
| @Override | |||||
| public ResultData spuStockSync(TenantEntity tenantInfo, Long couponChannelId) { | |||||
| WxCouponChannel couponChannel = wxCouponChannelMapper.selectById(couponChannelId, tenantInfo.getTenantId()); | |||||
| if(couponChannel == null){ | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(),"未找到卷数据"); | |||||
| } | |||||
| if(StringUtils.isBlank(couponChannel.getTtSpuId())){ | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"该券未同步poi"); | |||||
| } | |||||
| WxCoupon coupon = wxCouponMapper.selectById(couponChannel.getCouponId(), tenantInfo.getTenantId()); | |||||
| if(coupon == null){ | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"未找到卷数据"); | |||||
| } | |||||
| TtSpuStockSync stockSync = new TtSpuStockSync(); | |||||
| stockSync.setSpuExtId(couponChannel.getId().toString()); | |||||
| stockSync.setStock(coupon.getRemainInventory()); | |||||
| try { | |||||
| boolean syncResult = getTtWebService(tenantInfo).getProductService().spuStockUpdate(stockSync); | |||||
| if(syncResult){ | |||||
| return new ResultData(); | |||||
| } | |||||
| } catch (WxErrorException e) { | |||||
| logger.error("couponChannelId:"+couponChannelId +" 多门店SPU状态同步error "+e.getMessage()); | |||||
| return new ResultData(ErrorCode.MSG_METHOD_REQUEST_ERROR.getCode(),e.getMessage()); | |||||
| } | |||||
| return new ResultData(ErrorCode.SYS_SERVER_ERROR.getCode(),"同步失败"); | |||||
| } | } | ||||
| } | } | ||||
| @@ -414,7 +414,8 @@ public class WxCouponServiceImpl implements WxCouponService { | |||||
| }else { | }else { | ||||
| WxProfitSharingReceiver wxProfitSharingReceiverQ = new WxProfitSharingReceiver(); | WxProfitSharingReceiver wxProfitSharingReceiverQ = new WxProfitSharingReceiver(); | ||||
| wxProfitSharingReceiverQ.updateTenantInfo(record); | wxProfitSharingReceiverQ.updateTenantInfo(record); | ||||
| wxProfitSharingReceiverQ.setStatus(0); | |||||
| wxProfitSharingReceiverQ.setStatus(EnumProfitSharingReceiverStatus.PROFIT_SHARING_RECEIVER_STATUS_VALID.getCode()); | |||||
| // wxProfitSharingReceiverQ.setIsUse(EnumProfitSharingUse.YES.getCode()); | |||||
| wxProfitSharingReceiverQ.setMerchantId(id); | wxProfitSharingReceiverQ.setMerchantId(id); | ||||
| WxProfitSharingReceiver receiver = wxProfitSharingReceiverMapper.findOne(wxProfitSharingReceiverQ); | WxProfitSharingReceiver receiver = wxProfitSharingReceiverMapper.findOne(wxProfitSharingReceiverQ); | ||||
| if (null == receiver || receiver.getId() == null) { | if (null == receiver || receiver.getId() == null) { | ||||
| @@ -931,7 +931,7 @@ public class WxMerchantServiceImpl implements WxMerchantService { | |||||
| Integer isUse = wxProfitSharingReceiver.getIsUse(); | Integer isUse = wxProfitSharingReceiver.getIsUse(); | ||||
| Integer type = EnumMsgModel.ACCEPT_SHARING_ACCOUNT_NOTIFY_MANAGER.getCode(); | Integer type = EnumMsgModel.ACCEPT_SHARING_ACCOUNT_NOTIFY_MANAGER.getCode(); | ||||
| if (isUse.equals(EnumProfitSharingUse.NO.getCode())) { | if (isUse.equals(EnumProfitSharingUse.NO.getCode())) { | ||||
| type = EnumMsgModel.ACCEPT_SHARING_ACCOUNT_NOTIFY_MANAGER.getCode(); | |||||
| type = EnumMsgModel.REJECT_SHARING_ACCOUNT_NOTIFY_MANAGER.getCode(); | |||||
| } | } | ||||
| wxProfitSharingReceiverService.sendMsg(linkPhone, accout, merchantName, null, type, wxMerchant); | wxProfitSharingReceiverService.sendMsg(linkPhone, accout, merchantName, null, type, wxMerchant); | ||||
| return new ResultData(Result.SUCCESS, "操作成功"); | return new ResultData(Result.SUCCESS, "操作成功"); | ||||
| @@ -30,6 +30,7 @@ | |||||
| <result column="update_date" jdbcType="TIMESTAMP" property="updateDate"/> | <result column="update_date" jdbcType="TIMESTAMP" property="updateDate"/> | ||||
| <result column="supplier_id" jdbcType="VARCHAR" property="supplierId"/> | <result column="supplier_id" jdbcType="VARCHAR" property="supplierId"/> | ||||
| <result column="sync_status" jdbcType="INTEGER" property="syncStatus"/> | |||||
| <result column="last_sync_status" jdbcType="INTEGER" property="lastSyncStatus"/> | <result column="last_sync_status" jdbcType="INTEGER" property="lastSyncStatus"/> | ||||
| <result column="fail_reason" jdbcType="VARCHAR" property="failReason"/> | <result column="fail_reason" jdbcType="VARCHAR" property="failReason"/> | ||||
| @@ -42,7 +43,7 @@ | |||||
| `poi_id`,`poi_name`,`province`,`city`,`address`, | `poi_id`,`poi_name`,`province`,`city`,`address`, | ||||
| `task_id`,`match_status`,`mismatch_status_desc`, | `task_id`,`match_status`,`mismatch_status_desc`, | ||||
| `create_date`,`update_date`, | `create_date`,`update_date`, | ||||
| `supplier_id`,`last_sync_status`,`fail_reason` | |||||
| `supplier_id`,`sync_status`,`last_sync_status`,`fail_reason` | |||||
| </sql> | </sql> | ||||
| <sql id="dynamicWhereConditions"> | <sql id="dynamicWhereConditions"> | ||||
| @@ -83,6 +84,10 @@ | |||||
| and `supplier_id` = #{supplierId} | and `supplier_id` = #{supplierId} | ||||
| </if> | </if> | ||||
| <if test=" null != synStatus"> | |||||
| and `sync_status` = #{synStatus} | |||||
| </if> | |||||
| <if test=" null != lastSynStatus"> | <if test=" null != lastSynStatus"> | ||||
| and `last_sync_status` = #{lastSynStatus} | and `last_sync_status` = #{lastSynStatus} | ||||
| </if> | </if> | ||||
| @@ -20,10 +20,11 @@ | |||||
| <result column="sub_target_id" jdbcType="BIGINT" property="subTargetId" /> | <result column="sub_target_id" jdbcType="BIGINT" property="subTargetId" /> | ||||
| <result column="qr_code" jdbcType="VARCHAR" property="qrCode"/> | <result column="qr_code" jdbcType="VARCHAR" property="qrCode"/> | ||||
| <result column="tt_qr_code" jdbcType="VARCHAR" property="ttQrCode"/> | <result column="tt_qr_code" jdbcType="VARCHAR" property="ttQrCode"/> | ||||
| <result column="tt_spu_id" jdbcType="VARCHAR" property="ttSpuId"/> | |||||
| </resultMap> | </resultMap> | ||||
| <sql id="allColumns"> | <sql id="allColumns"> | ||||
| distinct cc.`id`,cc.`tenant_id`,cc.`parent_tenant_id`,cc.`coupon_id`,cc.`coupon_status`,cc.`type`,cc.`title`,cc.`target_ad`,cc.`business`,cc.`sub_business`,cc.`show_begin_time`,cc.`begin_time`,cc.`end_time`,cc.`status`,cc.`create_date`,cc.`update_date`,cc.`sub_target_id`,cc.qr_code,cc.tt_qr_code | |||||
| distinct cc.`id`,cc.`tenant_id`,cc.`parent_tenant_id`,cc.`coupon_id`,cc.`coupon_status`,cc.`type`,cc.`title`,cc.`target_ad`,cc.`business`,cc.`sub_business`,cc.`show_begin_time`,cc.`begin_time`,cc.`end_time`,cc.`status`,cc.`create_date`,cc.`update_date`,cc.`sub_target_id`,cc.qr_code,cc.tt_qr_code,cc.tt_spu_id | |||||
| </sql> | </sql> | ||||
| <sql id="dynamicWhereConditions"> | <sql id="dynamicWhereConditions"> | ||||
| @@ -96,6 +97,10 @@ | |||||
| <if test=" null != subTargetId "> | <if test=" null != subTargetId "> | ||||
| and cc.`sub_target_id` = #{subTargetId} | and cc.`sub_target_id` = #{subTargetId} | ||||
| </if> | </if> | ||||
| <if test=" null != ttSpuId and ''!= ttSpuId"> | |||||
| and cc.`tt_spu_id` = #{ttSpuId} | |||||
| </if> | |||||
| <if test=" null != supportTransfer "> | <if test=" null != supportTransfer "> | ||||
| and c.`support_transfer` = #{supportTransfer} | and c.`support_transfer` = #{supportTransfer} | ||||