|
|
|
@@ -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<String> 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); |
|
|
|
} |
|
|
|
|
|
|
|
|