From e67fb064952339d99b0986e18679f4e87f46ac2e Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Sat, 23 Mar 2019 07:55:57 +0800 Subject: [PATCH] =?UTF-8?q?[banner=E5=9B=BE=E6=9B=B4=E6=96=B0][=E4=BF=AE?= =?UTF-8?q?=E6=94=B9]:banner=E5=9B=BE=E6=96=B0=E5=8A=A0=E5=88=B8=EF=BC=8C?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=88=B8=E6=A3=80=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WxCampaignController.java | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/WxCampaignController.java b/mallinkAdmin/src/main/java/com/iformall/controller/WxCampaignController.java index 60fd37043..88449d955 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/WxCampaignController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/WxCampaignController.java @@ -3,15 +3,20 @@ package com.iformall.controller; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.github.pagehelper.PageInfo; +import com.iformall.common.ErrorCode; import com.iformall.common.Result; import com.iformall.common.ResultData; import com.iformall.domain.po.WxCampaign; +import com.iformall.domain.po.WxCoupon; import com.iformall.domain.po.WxCouponChannel; import com.iformall.domain.vo.WxCouponChannelVo; import com.iformall.enums.EnumCampaignStatus; +import com.iformall.enums.EnumCampaignType; import com.iformall.enums.EnumCouponChannelType; +import com.iformall.enums.EnumCouponStatus; import com.iformall.service.WxCampaignService; import com.iformall.service.WxCouponChannelService; +import com.iformall.service.WxCouponService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -22,6 +27,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.util.Date; import java.util.List; @RestController @@ -33,6 +39,9 @@ public class WxCampaignController extends BaseController { @Autowired private WxCampaignService wxCampaignService; + @Autowired + WxCouponService wxCouponService; + @Autowired private WxCouponChannelService wxCouponChannelService; @@ -87,6 +96,26 @@ public class WxCampaignController extends BaseController { @PostMapping("updateStatus") public ResultData updateStatus(@RequestBody WxCampaign wxCampaign) { logger.debug("[" + getIpAddr() + "] WxCampaignController::updateStatus"); + // check coupon 状态 + if (wxCampaign.getType().equals(EnumCampaignType.STABLE.getCode())) { + if (wxCampaign.getStatus().equals(EnumCampaignStatus.STATUS_THROW_IN.getCode())) { + List ids = JSONArray.parseArray(wxCampaign.getCouponIds(), String.class); + for (String couponIdStr : ids) { + Long couponId = Long.parseLong(couponIdStr); + + WxCoupon wxCoupon = wxCouponService.getById(couponId); + if (wxCoupon == null) { + return new ResultData(ErrorCode.COUPON_IS_EMPTY); + } + if (wxCoupon.getStatus() != EnumCouponStatus.COUPON_STATUS_THROW_IN.getCode()) { + return new ResultData(ErrorCode.COUPON_IS_TAKE_OFF); + } + if (wxCoupon.getValidEndDate() != null && wxCoupon.getValidEndDate().before(new Date())) { + return new ResultData(ErrorCode.COUPON_IS_TAKE_OFF); + } + } + } + } return wxCampaignService.updateStatus(wxCampaign); }