diff --git a/mallinkAdmin/src/main/resources/db/migration/V201908141839__UPDATE_SCREENAD_COLUMN.sql b/mallinkAdmin/src/main/resources/db/migration/V201908141839__UPDATE_SCREENAD_COLUMN.sql new file mode 100644 index 000000000..5aee29298 --- /dev/null +++ b/mallinkAdmin/src/main/resources/db/migration/V201908141839__UPDATE_SCREENAD_COLUMN.sql @@ -0,0 +1,3 @@ +ALTER TABLE `wx_screen_ad` +CHANGE COLUMN `title` `title` VARCHAR(50) NULL , +CHANGE COLUMN `target_id` `target_id` BIGINT(20) NULL COMMENT '广告ID, 类型为券时,标识couponchannelid,类型为宣传页时,为宣传页id' ; diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumScreenAdType.java b/mallinkService/src/main/java/com/iformall/enums/EnumScreenAdType.java index 748e85064..d7b42b1b5 100644 --- a/mallinkService/src/main/java/com/iformall/enums/EnumScreenAdType.java +++ b/mallinkService/src/main/java/com/iformall/enums/EnumScreenAdType.java @@ -6,7 +6,8 @@ package com.iformall.enums; public enum EnumScreenAdType { COUPON(0, "券"), - CAMPAIGN(1, "宣传页"); + CAMPAIGN(1, "宣传页"), + PICTURE(2, "图片"),; public static EnumScreenAdType getEnum(Integer code) { for (EnumScreenAdType value : values()) { if (value.getCode().equals(code)) { diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxScreenAdServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxScreenAdServiceImpl.java index 672df8b72..0800c0201 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxScreenAdServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxScreenAdServiceImpl.java @@ -59,11 +59,12 @@ public class WxScreenAdServiceImpl implements WxScreenAdService { @Override public ResultData saveOrUpdate(WxScreenAd record) { if (record.getId() == null) { - if (record.getType() == null || record.getTargetId() == null) { + if (record.getType() == null) { return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); } if (record.getType().equals(EnumScreenAdType.COUPON.getCode())) { - + if (record.getTargetId() == null) + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); WxCouponCVo wxCouponCVo = wxCouponChannelMapper.findVoDetail(record.getTargetId()); if (wxCouponCVo == null) return new ResultData(ErrorCode.COUPON_ORDER_IS_NULL); @@ -71,12 +72,17 @@ public class WxScreenAdServiceImpl implements WxScreenAdService { record.setSubType(wxCouponCVo.getTargetAd()); record.setTitle(wxCouponCVo.getTitle()); - } else if (record.getType().equals(EnumScreenAdType.COUPON.getCode())){ + } else if (record.getType().equals(EnumScreenAdType.CAMPAIGN.getCode())){ + if (record.getTargetId() == null) + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); WxCampaign wxCampaign = wxCampaignMapper.selectByPrimaryKey(record.getTargetId()); if (wxCampaign == null) return new ResultData(ErrorCode.COUPON_ORDER_IS_NULL); record.setCoverImg(wxCampaign.getCoverImg()); record.setTitle(wxCampaign.getTitle()); + } else if (record.getType().equals(EnumScreenAdType.PICTURE.getCode())) { + if (record.getCoverImg() == null) + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); } final IdWorker idWorker = IdWorker.get();