diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponPresentController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponPresentController.java index 7e84eb485..ddfcadbd1 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponPresentController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponPresentController.java @@ -5,14 +5,13 @@ import com.iformall.annotation.SystemControllerLog; import com.iformall.common.ErrorCode; import com.iformall.common.ResultData; import com.iformall.controller.base.BaseController; -import com.iformall.domain.po.BaseEntity; -import com.iformall.domain.po.MallUserInfo; -import com.iformall.domain.po.WxCoupon; -import com.iformall.domain.po.WxCouponPresent; +import com.iformall.domain.po.*; +import com.iformall.enums.EnumCouponPasswordStatus; import com.iformall.enums.EnumCouponStatus; import com.iformall.enums.EnumCouponValidType; import com.iformall.exception.MallinkException; import com.iformall.service.PushLimitService; +import com.iformall.service.WxCouponPasswordService; import com.iformall.service.WxCouponPresentService; import com.iformall.service.WxCouponService; import io.swagger.annotations.Api; @@ -25,6 +24,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.Date; +import java.util.HashSet; +import java.util.List; +import java.util.Set; /** * @author gongbiao @@ -44,6 +46,9 @@ public class WxCouponPresentController extends BaseController { @Autowired WxCouponService wxCouponService; + @Autowired + WxCouponPasswordService wxCouponPasswordService; + @ApiOperation("分页列表接口") @GetMapping("/list") @ApiImplicitParams({ @@ -99,8 +104,30 @@ public class WxCouponPresentController extends BaseController { if (!wxCoupon.getStatus().equals(EnumCouponStatus.COUPON_STATUS_THROW_IN.getCode())) { return new ResultData(ErrorCode.COUPON_IS_TAKE_OFF); } + + //获取手机号 + String phones = wxCouponPresent.getPhones(); + String[] phoneSplit = phones.split(","); + Set phoneSet = new HashSet<>(phoneSplit.length); + for (String phone : phoneSplit) { + if (!phone.isEmpty()) { + phoneSet.add(phone); + } + } + //查询有效券数量 + WxCouponPassword wxCouponPassword = new WxCouponPassword(); + wxCouponPassword.setTenantId(user.getTenantId()); + wxCouponPassword.setCouponId(wxCouponPresent.getCouponId()); + wxCouponPassword.setStatus(EnumCouponPasswordStatus.INIT.getCode()); + List list = wxCouponPasswordService.findList(wxCouponPassword); + if (phoneSet.size() > list.size()) { + logger.info(ErrorCode.REMAIN_IS_EMPTY.getMessage()); + return new ResultData(ErrorCode.REMAIN_IS_EMPTY); + } + wxCouponPresent.setCouponName(wxCoupon.getTitle()); - return wxCouponPresentService.add(wxCouponPresent); + wxCouponPresentService.add(wxCouponPresent, list, phoneSet); + return new ResultData(); } } diff --git a/mallinkService/src/main/java/com/iformall/service/WxCouponPasswordService.java b/mallinkService/src/main/java/com/iformall/service/WxCouponPasswordService.java index 6eb6d0651..aae959129 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCouponPasswordService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCouponPasswordService.java @@ -6,6 +6,7 @@ import com.iformall.domain.vo.WxCouponPasswordCountInfoVO; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.util.List; public interface WxCouponPasswordService { @@ -67,4 +68,5 @@ public interface WxCouponPasswordService { PageInfo findCouponList(WxCouponPassword wxCouponPassword, Integer pageNum, Integer pageSize); + List findList(WxCouponPassword wxCouponPassword); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxCouponPresentService.java b/mallinkService/src/main/java/com/iformall/service/WxCouponPresentService.java index e54cb7dc7..8c4ca3d1d 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCouponPresentService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCouponPresentService.java @@ -2,8 +2,12 @@ package com.iformall.service; import com.github.pagehelper.PageInfo; import com.iformall.common.ResultData; +import com.iformall.domain.po.WxCouponPassword; import com.iformall.domain.po.WxCouponPresent; +import java.util.List; +import java.util.Set; + /** * @author gongbiao */ @@ -14,6 +18,6 @@ public interface WxCouponPresentService { WxCouponPresent findById(Long id); - ResultData add(WxCouponPresent wxCouponPresent); + ResultData add(WxCouponPresent wxCouponPresent, List list, Set phoneSet); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponPasswordServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponPasswordServiceImpl.java index fb0aa99b4..379156481 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponPasswordServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponPasswordServiceImpl.java @@ -161,6 +161,11 @@ public class WxCouponPasswordServiceImpl implements WxCouponPasswordService { return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponPasswordMapper.findCouponCountInfo(record)); } + @Override + public List findList(WxCouponPassword wxCouponPassword) { + return wxCouponPasswordMapper.findList(wxCouponPassword); + } + /* public static void main(String[] args) { WxCouponPasswordServiceImpl ll = new WxCouponPasswordServiceImpl(); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponPresentServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponPresentServiceImpl.java index 79aca266d..0eb665c87 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponPresentServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponPresentServiceImpl.java @@ -2,7 +2,6 @@ package com.iformall.service.impl; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; -import com.iformall.common.ErrorCode; import com.iformall.common.IdWorker; import com.iformall.common.ResultData; import com.iformall.domain.po.WxAppinfo; @@ -54,27 +53,9 @@ public class WxCouponPresentServiceImpl implements WxCouponPresentService { @Async @Override - public ResultData add(WxCouponPresent record) { + public ResultData add(WxCouponPresent record, List list, Set phoneSet) { String tenantId = record.getTenantId(); - //获取手机号 - String phones = record.getPhones(); - String[] phoneSplit = phones.split(","); - Set phoneSet = new HashSet<>(phoneSplit.length); - for (String phone : phoneSplit) { - if (!phone.isEmpty()) { - phoneSet.add(phone); - } - } - //查询有效券数量 - WxCouponPassword wxCouponPassword = new WxCouponPassword(); - wxCouponPassword.setTenantId(tenantId); - wxCouponPassword.setCouponId(record.getCouponId()); - wxCouponPassword.setStatus(EnumCouponPasswordStatus.INIT.getCode()); - List list = wxCouponPasswordMapper.findList(wxCouponPassword); - if (phoneSet.size() > list.size()) { - logger.info(ErrorCode.REMAIN_IS_EMPTY.getMessage()); - return new ResultData(ErrorCode.REMAIN_IS_EMPTY); - } + //添加记录 final IdWorker idWorker = IdWorker.get(); long id = idWorker.nextId();