diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java index 9f732c12f..6354f4dc0 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java @@ -128,68 +128,70 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService { public ResultData saveOrUpdate(WxCouponChannel record) { boolean isThrowIn = false;//是否上架 boolean isTakeOff = false;//是否下架 - if (record.getCouponId() != null) { - WxCoupon wxCoupon = wxCouponService.getById(record.getCouponId(),record.getTenantId()); - if (wxCoupon == null){ + WxCoupon wxCoupon = null; + if(record.getId() == null){ + if (record.getCouponId() != null) { + wxCoupon = wxCouponService.getById(record.getCouponId(),record.getTenantId()); + }else{ return new ResultData(ErrorCode.COUPON_IS_EMPTY); } - if (wxCoupon.getStatus().equals(EnumCouponStatus.COUPON_STATUS_TAKE_OFFF)){ - return new ResultData(ErrorCode.COUPON_IS_TAKE_OFF); + if(EnumCouponChannelStatus.STATUS_THROW_IN.getCode().equals(record.getStatus())){ + isThrowIn = true; } - if(EnumCouponType.getDouYinType().contains(wxCoupon.getType())){ - TtCouponChannelPoi ttCouponChannelPoi = ttCouponChannelPoiMapper.selectById(wxCoupon.getTenantId(),wxCoupon.getId()); - if(ttCouponChannelPoi == null || EnumSpuSyncStatus.sync_auditing.getCode().equals(ttCouponChannelPoi.getLastStatus()) - || EnumSpuSyncStatus.sync_audit_rejection.getCode().equals(ttCouponChannelPoi.getLastStatus())){ - return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"该券未提交审核或审核未通过"); + }else{ + WxCouponChannel old = getById(record.getId(),record.getTenantId()); + wxCoupon = wxCouponService.getById(old.getCouponId(),old.getTenantId()); + if(EnumCouponChannelStatus.STATUS_TAKE_OFFF.getCode().equals(old.getStatus()) + && EnumCouponChannelStatus.STATUS_THROW_IN.getCode().equals(record.getStatus())){ + if(record.getTargetAd() == null){ + record.setTargetAd(old.getTargetAd()); } + isThrowIn = true; + }else if (old.getStatus().equals(EnumCouponChannelStatus.STATUS_THROW_IN.getCode()) + && record.getStatus().equals(EnumCouponChannelStatus.STATUS_TAKE_OFFF.getCode())) { + isTakeOff = true; } - if(record.getStatus() != null){ - if(record.getId() != null){ - WxCouponChannel old = getById(record.getId(),record.getTenantId()); - if(old.getStatus().equals(EnumCouponChannelStatus.STATUS_TAKE_OFFF.getCode()) - && record.getStatus().equals(EnumCouponChannelStatus.STATUS_THROW_IN.getCode())){ - if(record.getTargetAd() == null){ - record.setTargetAd(old.getTargetAd()); - } - isThrowIn = true; - }else if (old.getStatus().equals(EnumCouponChannelStatus.STATUS_THROW_IN.getCode()) - && record.getStatus().equals(EnumCouponChannelStatus.STATUS_TAKE_OFFF.getCode())) { - isTakeOff = true; - } - }else{ - if(record.getStatus().equals(EnumCouponChannelStatus.STATUS_THROW_IN.getCode())){ - isThrowIn = true; - } - } - - if(isThrowIn){ - //查找是否该券 在该频道有其他上架 - WxCouponChannel query = new WxCouponChannel(); - query.updateTenantInfo(record); - query.setCouponId(record.getCouponId()); - query.setStatus(EnumCouponChannelStatus.STATUS_THROW_IN.getCode());//已上架 - query.setTargetAd(record.getTargetAd()); - List list = wxCouponChannelMapper.findList(query); - if (list != null && list.size() > 0) { - return new ResultData(ErrorCode.COUPON_CHANNEL_IS_EXISTED); - } - //上架该券的审核渠道 - updateOnlineDouyin(wxCoupon); - } + } + if (wxCoupon == null){ + return new ResultData(ErrorCode.COUPON_IS_EMPTY); + } + if (wxCoupon.getStatus().equals(EnumCouponStatus.COUPON_STATUS_TAKE_OFFF)){ + return new ResultData(ErrorCode.COUPON_IS_TAKE_OFF); + } + if(EnumCouponType.getDouYinType().contains(wxCoupon.getType())){ + TtCouponChannelPoi ttCouponChannelPoi = ttCouponChannelPoiMapper.selectById(wxCoupon.getTenantId(),wxCoupon.getId()); + if(ttCouponChannelPoi == null || EnumSpuSyncStatus.sync_auditing.getCode().equals(ttCouponChannelPoi.getLastStatus()) + || EnumSpuSyncStatus.sync_audit_rejection.getCode().equals(ttCouponChannelPoi.getLastStatus())){ + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"该券未提交审核或审核未通过"); + } + } - if(isTakeOff){ - wxScreenAdService.updateStatusByCouponChannelId(record.getId(),record,EnumScreenAdStatus.INVALID.getCode()); - //下架拼团券 - wxOrderService.updateOrderGroupStatusByCouponChannelId(record.getId(), record, EnumOrderStatus.ORDER_STATUS_COOPERATING_CANCEL.getCode()); - //修改卡状态 - wxCardInfoMapper.updateTransferStatusByCouponId(record.getCouponId()); - //浮层下架 - wxFloatingLayerMapper.updateStatus(record.getCouponId()); - - //下架该券的审核渠道(如所有渠道都已下线) - updateTakeOffDouyin(wxCoupon,record.getId()); - } + if(isThrowIn){ + //查找是否该券 在该频道有其他上架 + WxCouponChannel query = new WxCouponChannel(); + query.updateTenantInfo(record); + query.setCouponId(record.getCouponId()); + query.setStatus(EnumCouponChannelStatus.STATUS_THROW_IN.getCode());//已上架 + query.setTargetAd(record.getTargetAd()); + List list = wxCouponChannelMapper.findList(query); + if (list != null && list.size() > 0) { + return new ResultData(ErrorCode.COUPON_CHANNEL_IS_EXISTED); } + //上架该券的审核渠道 + updateOnlineDouyin(wxCoupon); + } + + if(isTakeOff){ + wxScreenAdService.updateStatusByCouponChannelId(record.getId(),record,EnumScreenAdStatus.INVALID.getCode()); + //下架拼团券 + wxOrderService.updateOrderGroupStatusByCouponChannelId(record.getId(), record, EnumOrderStatus.ORDER_STATUS_COOPERATING_CANCEL.getCode()); + //修改卡状态 + wxCardInfoMapper.updateTransferStatusByCouponId(record.getCouponId()); + //浮层下架 + wxFloatingLayerMapper.updateStatus(record.getCouponId()); + + //下架该券的审核渠道(如所有渠道都已下线) + updateTakeOffDouyin(wxCoupon,record.getId()); } if (record.getId() == null) {