| @@ -128,68 +128,70 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService { | |||||
| public ResultData saveOrUpdate(WxCouponChannel record) { | public ResultData saveOrUpdate(WxCouponChannel record) { | ||||
| boolean isThrowIn = false;//是否上架 | boolean isThrowIn = false;//是否上架 | ||||
| boolean isTakeOff = 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); | 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) { | if (record.getId() == null) { | ||||