| @@ -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<WxCouponChannel> 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<WxCouponChannel> 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) { | |||