From 525c89d0b33986813d22b07481e0de9fb0a41553 Mon Sep 17 00:00:00 2001 From: hupeng Date: Sat, 15 Sep 2018 11:54:31 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=8D=A1=E5=88=B8][=E4=BF=AE=E6=94=B9]:?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=B8=80=E4=BA=9B=E9=94=99=E8=AF=AF=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E5=AE=9A=E4=B9=89,=E6=95=B4=E7=90=86=E5=8D=A1?= =?UTF-8?q?=E5=8D=B7=E5=AE=9A=E5=90=91=E5=8F=91=E9=80=81=E4=BA=A7=E7=94=9F?= =?UTF-8?q?=E7=9A=84=E4=B8=80=E4=BA=9B=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/CouponInjectController.java | 3 +- .../controller/WxCarCallBackController.java | 4 +- .../controller/WxCouponSendController.java | 16 ++++++-- .../java/com/simple/common/ErrorCode.java | 14 +++++-- .../enums/EnumCouponInjectSendType.java | 37 ++++++++++++++++++ .../simple/enums/EnumCouponSendSendType.java | 37 ++++++++++++++++++ .../simple/enums/EnumCouponSendStatus.java | 37 ++++++++++++++++++ .../com/simple/enums/EnumCouponSendType.java | 6 +-- .../com/simple/enums/EnumCouponValidType.java | 38 +++++++++++++++++++ .../simple/service/WxCouponSendService.java | 5 +-- .../service/impl/CouponInjectServiceImpl.java | 22 +++++++---- .../impl/WxCouponOrderServiceImpl.java | 3 +- .../service/impl/WxCouponSendServiceImpl.java | 12 +++--- 13 files changed, 202 insertions(+), 32 deletions(-) create mode 100644 mallinkService/src/main/java/com/simple/enums/EnumCouponInjectSendType.java create mode 100644 mallinkService/src/main/java/com/simple/enums/EnumCouponSendSendType.java create mode 100644 mallinkService/src/main/java/com/simple/enums/EnumCouponSendStatus.java create mode 100644 mallinkService/src/main/java/com/simple/enums/EnumCouponValidType.java diff --git a/mallinkAdmin/src/main/java/com/simple/controller/CouponInjectController.java b/mallinkAdmin/src/main/java/com/simple/controller/CouponInjectController.java index 0e6da25a4..974679e9c 100644 --- a/mallinkAdmin/src/main/java/com/simple/controller/CouponInjectController.java +++ b/mallinkAdmin/src/main/java/com/simple/controller/CouponInjectController.java @@ -5,6 +5,7 @@ import com.github.pagehelper.PageInfo; import com.simple.common.Result; import com.simple.common.ResultData; import com.simple.domain.po.CouponInject; +import com.simple.enums.EnumCouponInjectSendType; import com.simple.service.CouponInjectService; import com.simple.service.WxCUserTagsService; import io.swagger.annotations.Api; @@ -51,7 +52,7 @@ public class CouponInjectController extends BaseController { couponInject.setTenantId(getUser().getTenantId()); couponInject.setMUserId(getUser().getId()); - if (couponInject.getSendType() == 0) { + if (couponInject.getSendType() == EnumCouponInjectSendType.IMMEDIATE.getCode()) { couponInject.setSendTime(new Date()); } //Assert.notNull(couponInject.getName(), "角色名不能为空"); diff --git a/mallinkAdmin/src/main/java/com/simple/controller/WxCarCallBackController.java b/mallinkAdmin/src/main/java/com/simple/controller/WxCarCallBackController.java index 8012438d7..7f731af45 100644 --- a/mallinkAdmin/src/main/java/com/simple/controller/WxCarCallBackController.java +++ b/mallinkAdmin/src/main/java/com/simple/controller/WxCarCallBackController.java @@ -8,7 +8,7 @@ import com.simple.domain.po.WxCarCmdLog; import com.simple.domain.po.WxPark; import com.simple.enums.EnumCarCmd; import com.simple.enums.EnumCarVendor; -import com.simple.enums.EnumCouponSendType; +import com.simple.enums.EnumCouponSendSendType; import com.simple.enums.EnumETCPCode; import com.simple.service.*; import com.simple.utils.ETCPUtil; @@ -109,7 +109,7 @@ public class WxCarCallBackController extends BaseController { // TODO 可能多用户关联同一张车牌 List userCarList = wxCUserCarService.getList(userCarQ); for (WxCUserCar userCar : userCarList) { - wxCouponSendService.sendCouponToUser(tenantId, userCar.getCUserId(), EnumCouponSendType.CAR_STOP); + wxCouponSendService.sendCouponToUser(tenantId, userCar.getCUserId(), EnumCouponSendSendType.CAR_STOP); } } diff --git a/mallinkAdmin/src/main/java/com/simple/controller/WxCouponSendController.java b/mallinkAdmin/src/main/java/com/simple/controller/WxCouponSendController.java index 09c131ee8..dc8a8c4db 100644 --- a/mallinkAdmin/src/main/java/com/simple/controller/WxCouponSendController.java +++ b/mallinkAdmin/src/main/java/com/simple/controller/WxCouponSendController.java @@ -1,10 +1,13 @@ package com.simple.controller; import com.github.pagehelper.PageInfo; +import com.simple.common.ErrorCode; import com.simple.common.Result; import com.simple.common.ResultData; import com.simple.domain.po.WxCoupon; import com.simple.domain.po.WxCouponSend; +import com.simple.enums.EnumCouponSendType; +import com.simple.enums.EnumCouponStatus; import com.simple.service.WxCouponSendService; import com.simple.service.WxCouponService; import io.swagger.annotations.ApiImplicitParam; @@ -43,19 +46,24 @@ public class WxCouponSendController extends BaseController { @PostMapping("add") public ResultData add(@RequestBody WxCouponSend wxCouponSend) { if (null == wxCouponSend) { - return new ResultData(Result.ERROR, "参数不对"); + return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); } wxCouponSend.setTenantId(getTenantId()); wxCouponSend.setStatus(0); List wxCouponSendList = wxCouponSendService.listAsPage(wxCouponSend, 1, 1).getList(); if (wxCouponSendList != null && wxCouponSendList.size() > 0) { - return new ResultData(Result.ERROR, "已经添加过该券"); + return new ResultData(ErrorCode.COUPON_SEND_IS_EXISTED); } WxCoupon wxCoupon = wxCouponService.getById(wxCouponSend.getCouponId()); - if (wxCoupon.getStatus() != 0 || wxCoupon.getSendType() != 2) { - return new ResultData(Result.ERROR, "该券的状态有问题"); + if (wxCoupon.getStatus() != EnumCouponStatus.COUPON_STATUS_THROW_IN.getCode()){ + return new ResultData(ErrorCode.COUPON_IS_TAKE_OFF); } + if (wxCoupon.getSendType() != EnumCouponSendType.PASSIVE.getCode()) { + return new ResultData(ErrorCode.COUPON_TYPE_IS_NOT_PASSIVE); + } + + wxCouponSend.setMerchantId(wxCoupon.getMerchantId()); wxCouponSend.setType(wxCoupon.getType()); wxCouponSend.setTenantId(wxCoupon.getTenantId()); diff --git a/mallinkService/src/main/java/com/simple/common/ErrorCode.java b/mallinkService/src/main/java/com/simple/common/ErrorCode.java index 1228a07cb..eab36ba7b 100644 --- a/mallinkService/src/main/java/com/simple/common/ErrorCode.java +++ b/mallinkService/src/main/java/com/simple/common/ErrorCode.java @@ -71,11 +71,19 @@ public enum ErrorCode{ /** * 券 */ - COUPON_IS_EMPTY(2020, "券不存在"), - COUPON_IS_NOT_FREE(2021, "券不免费"), + COUPON_IS_EMPTY(2020, "此券不存在"), + COUPON_IS_NOT_FREE(2021, "此券不免费"), COUPON_IS_TAKE_OFF(2022, "此券已下架"), + COUPON_IS_EXPIRED(2023, "此券已过期"), + COUPON_IS_SELL_OUT(2024, "此券已售罄"), + + COUPON_TYPE_IS_NOT_ACTIVE(2025, "此券不能用于主动领取"), + COUPON_TYPE_IS_NOT_PASSIVE(2026, "此券不能用于定向投放"), + + COUPON_CHANNEL_IS_EXISTED(2027, "此券已投放过"), + + COUPON_SEND_IS_EXISTED(2028, "此券已经添加到该渠道"), - COUPON_CHANNEL_IS_EXISTED(2023, "券已投放过"), /** * 车流 2040 */ diff --git a/mallinkService/src/main/java/com/simple/enums/EnumCouponInjectSendType.java b/mallinkService/src/main/java/com/simple/enums/EnumCouponInjectSendType.java new file mode 100644 index 000000000..28f5bd0f9 --- /dev/null +++ b/mallinkService/src/main/java/com/simple/enums/EnumCouponInjectSendType.java @@ -0,0 +1,37 @@ +package com.simple.enums; + +/** + * Created by Stormeye on 2018/08/09. + */ +public enum EnumCouponInjectSendType { + + // 0:立即发送 1:定时发送 + IMMEDIATE(0, "立即发送"), + TIMING(1, "定时发送") + ; + + public static EnumCouponInjectSendType getEnum(Integer code) { + for (EnumCouponInjectSendType value : values()) { + if (value.getCode().equals(code)) { + return value; + } + } + return null; + } + + private Integer code; + private String message; + + EnumCouponInjectSendType(Integer code, String message) { + this.code = code; + this.message = message; + } + + public Integer getCode() { + return code; + } + + public String getMessage() { + return message; + } +} diff --git a/mallinkService/src/main/java/com/simple/enums/EnumCouponSendSendType.java b/mallinkService/src/main/java/com/simple/enums/EnumCouponSendSendType.java new file mode 100644 index 000000000..2e6c13e14 --- /dev/null +++ b/mallinkService/src/main/java/com/simple/enums/EnumCouponSendSendType.java @@ -0,0 +1,37 @@ +package com.simple.enums; + +/** + * Created by Stormeye on 2018/08/09. + */ +public enum EnumCouponSendSendType { + + // 2:停车发券 3:核销发券 + CAR_STOP(2, "停车发券"), + COUPON_VERIFY(3, "核销发券") + ; + + public static EnumCouponSendSendType getEnum(Integer code) { + for (EnumCouponSendSendType value : values()) { + if (value.getCode().equals(code)) { + return value; + } + } + return null; + } + + private Integer code; + private String message; + + EnumCouponSendSendType(Integer code, String message) { + this.code = code; + this.message = message; + } + + public Integer getCode() { + return code; + } + + public String getMessage() { + return message; + } +} diff --git a/mallinkService/src/main/java/com/simple/enums/EnumCouponSendStatus.java b/mallinkService/src/main/java/com/simple/enums/EnumCouponSendStatus.java new file mode 100644 index 000000000..b45237b59 --- /dev/null +++ b/mallinkService/src/main/java/com/simple/enums/EnumCouponSendStatus.java @@ -0,0 +1,37 @@ +package com.simple.enums; + +/** + * Created by Stormeye on 2018/08/09. + */ +public enum EnumCouponSendStatus { + + // 0:有效 1:无效 + VALID(0,"有效"), + INVALID(1, "无效") + ; + + public static EnumCouponSendStatus getEnum(Integer code) { + for (EnumCouponSendStatus value : values()) { + if (value.getCode().equals(code)) { + return value; + } + } + return null; + } + + private Integer code; + private String message; + + EnumCouponSendStatus(Integer code, String message) { + this.code = code; + this.message = message; + } + + public Integer getCode() { + return code; + } + + public String getMessage() { + return message; + } +} diff --git a/mallinkService/src/main/java/com/simple/enums/EnumCouponSendType.java b/mallinkService/src/main/java/com/simple/enums/EnumCouponSendType.java index 4cca85f76..54f498f06 100644 --- a/mallinkService/src/main/java/com/simple/enums/EnumCouponSendType.java +++ b/mallinkService/src/main/java/com/simple/enums/EnumCouponSendType.java @@ -5,9 +5,9 @@ package com.simple.enums; */ public enum EnumCouponSendType { - // 2:停车发券 3:核销发券 - CAR_STOP(2, "停车发券"), - COUPON_VERIFY(3, "核销发券") + // 1:主动领取 2:定向投放 + ACTIVE(1,"主动领取"), + PASSIVE(2, "定向投放") ; public static EnumCouponSendType getEnum(Integer code) { diff --git a/mallinkService/src/main/java/com/simple/enums/EnumCouponValidType.java b/mallinkService/src/main/java/com/simple/enums/EnumCouponValidType.java new file mode 100644 index 000000000..f5bc26ada --- /dev/null +++ b/mallinkService/src/main/java/com/simple/enums/EnumCouponValidType.java @@ -0,0 +1,38 @@ +package com.simple.enums; + +/** + * Created by Stormeye on 2018/08/09. + */ +public enum EnumCouponValidType { + + // 1-时间范围 ;2-领取后时长; + + BETWEEN_TWO_TIME(1, "时间范围"), + DAYS_AFTER_RECEIVING(2, "领取后天数"), + ; + + public static EnumCouponValidType getEnum(Integer code) { + for (EnumCouponValidType value : values()) { + if (value.getCode().equals(code)) { + return value; + } + } + return null; + } + + private Integer code; + private String message; + + EnumCouponValidType(Integer code, String message) { + this.code = code; + this.message = message; + } + + public Integer getCode() { + return code; + } + + public String getMessage() { + return message; + } +} diff --git a/mallinkService/src/main/java/com/simple/service/WxCouponSendService.java b/mallinkService/src/main/java/com/simple/service/WxCouponSendService.java index 3db6d00d7..ed55220c8 100644 --- a/mallinkService/src/main/java/com/simple/service/WxCouponSendService.java +++ b/mallinkService/src/main/java/com/simple/service/WxCouponSendService.java @@ -1,9 +1,8 @@ package com.simple.service; -import java.util.*; import com.github.pagehelper.PageInfo; import com.simple.domain.po.WxCouponSend; -import com.simple.enums.EnumCouponSendType; +import com.simple.enums.EnumCouponSendSendType; public interface WxCouponSendService { @@ -45,7 +44,7 @@ public interface WxCouponSendService { * @param cUserId * @param type 2:停车发券 3:核销发券 */ - void sendCouponToUser(String tenantId, Long cUserId, EnumCouponSendType type); + void sendCouponToUser(String tenantId, Long cUserId, EnumCouponSendSendType type); void updateStatusByCouponId(Long couponId,String tenantId,int status); diff --git a/mallinkService/src/main/java/com/simple/service/impl/CouponInjectServiceImpl.java b/mallinkService/src/main/java/com/simple/service/impl/CouponInjectServiceImpl.java index 9cf7b022a..1ae8f9d8d 100644 --- a/mallinkService/src/main/java/com/simple/service/impl/CouponInjectServiceImpl.java +++ b/mallinkService/src/main/java/com/simple/service/impl/CouponInjectServiceImpl.java @@ -3,10 +3,14 @@ package com.simple.service.impl; import com.alibaba.fastjson.JSON; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; +import com.simple.common.ErrorCode; import com.simple.common.IdWorker; import com.simple.common.Result; import com.simple.common.ResultData; import com.simple.domain.po.*; +import com.simple.enums.EnumCouponSendType; +import com.simple.enums.EnumCouponStatus; +import com.simple.enums.EnumCouponValidType; import com.simple.mapper.CouponInjectMapper; import com.simple.service.*; import org.apache.commons.lang.time.DateUtils; @@ -65,17 +69,21 @@ public class CouponInjectServiceImpl implements CouponInjectService { @Override public ResultData add(CouponInject record) { - ResultData resultData = new ResultData(); + WxCoupon wxCoupon = wxCouponService.getById(record.getCouponId()); - if (wxCoupon.getValidType() == 1) { //时间范围 + if (wxCoupon.getValidType() == EnumCouponValidType.BETWEEN_TWO_TIME.getCode()) { //时间范围 if (new Date().after(wxCoupon.getValidEndDate())) { - return new ResultData(Result.ERROR,"已过期"); + return new ResultData(ErrorCode.COUPON_IS_EXPIRED); } } - if(wxCoupon.getStatus()!=0||wxCoupon.getSendType()!=1){ - return new ResultData(Result.ERROR,"券状态有问题,不能投放"); + if(wxCoupon.getStatus() != EnumCouponStatus.COUPON_STATUS_THROW_IN.getCode()){ + return new ResultData(ErrorCode.COUPON_IS_TAKE_OFF); + } + if(wxCoupon.getSendType()!=EnumCouponSendType.PASSIVE.getCode()) { + return new ResultData(ErrorCode.COUPON_TYPE_IS_NOT_PASSIVE); } + //解析前台tags,并转换json String[] arys = record.getTags().split(","); List tagids = new ArrayList<>(); @@ -99,7 +107,7 @@ public class CouponInjectServiceImpl implements CouponInjectService { } int inventory = wxCoupon.getRemainInventory();//库存数量 if(cUsers.size()>inventory){ - return new ResultData(Result.ERROR,"库存不足"); + return new ResultData(ErrorCode.COUPON_IS_SELL_OUT); } record.setCouponName(wxCoupon.getTitle()); record.setSendAmount(cUsers.size()); @@ -131,7 +139,7 @@ public class CouponInjectServiceImpl implements CouponInjectService { wxCouponOrder.setCUserId(tempCUser.getId()); wxCouponOrder.setCouponPrice(0); wxCouponOrder.setCreateDate(new Date()); - if (wxCoupon.getValidType() == 1) { //时间范围区间 + if (wxCoupon.getValidType() == EnumCouponValidType.BETWEEN_TWO_TIME.getCode()) { //时间范围区间 wxCouponOrder.setExpiredTime(wxCoupon.getValidEndDate()); } else { Date date = DateUtils.addDays(new Date(), wxCoupon.getValidDays()); diff --git a/mallinkService/src/main/java/com/simple/service/impl/WxCouponOrderServiceImpl.java b/mallinkService/src/main/java/com/simple/service/impl/WxCouponOrderServiceImpl.java index 58609d142..904b709f7 100644 --- a/mallinkService/src/main/java/com/simple/service/impl/WxCouponOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/simple/service/impl/WxCouponOrderServiceImpl.java @@ -26,7 +26,6 @@ import me.chanjar.weixin.common.error.WxErrorException; import org.apache.log4j.Logger; import org.apache.poi.ss.usermodel.Workbook; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.autoconfigure.AutoConfigureOrder; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @@ -383,7 +382,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { WxOrder wxOrder = wxOrderMapper.selectByPrimaryKey(couponOrder.getOrderId()); if (wxOrder != null) { try { - wxCouponSendService.sendCouponToUser(bUser.getTenantId(), wxOrder.getCUserId(), EnumCouponSendType.COUPON_VERIFY); + wxCouponSendService.sendCouponToUser(bUser.getTenantId(), wxOrder.getCUserId(), EnumCouponSendSendType.COUPON_VERIFY); } catch (Exception e) { logger.error("核销发券: " + e.getMessage()); } diff --git a/mallinkService/src/main/java/com/simple/service/impl/WxCouponSendServiceImpl.java b/mallinkService/src/main/java/com/simple/service/impl/WxCouponSendServiceImpl.java index 8c546e64f..06e6f1559 100644 --- a/mallinkService/src/main/java/com/simple/service/impl/WxCouponSendServiceImpl.java +++ b/mallinkService/src/main/java/com/simple/service/impl/WxCouponSendServiceImpl.java @@ -8,12 +8,10 @@ import com.simple.enums.*; import com.simple.mapper.WxCouponOrderMapper; import com.simple.mapper.WxCouponSendMapper; import com.simple.service.*; -import org.apache.commons.lang.time.DateUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.Date; import java.util.List; @Service @@ -66,22 +64,22 @@ public class WxCouponSendServiceImpl implements WxCouponSendService { @Override @Transactional - public void sendCouponToUser(String tenantId, Long cUserId, EnumCouponSendType type) { + public void sendCouponToUser(String tenantId, Long cUserId, EnumCouponSendSendType type) { //查询开关是否打开 //查询停车或者核销的券 stopCarCouponSwitch verifyConponSwitch WxCouponSend wxCouponSendQuery = new WxCouponSend(); wxCouponSendQuery.setTenantId(tenantId); int actionLogType = 0; String configKey = ""; - if (type == EnumCouponSendType.CAR_STOP) { + if (type == EnumCouponSendSendType.CAR_STOP) { //停车 - wxCouponSendQuery.setSendType(EnumCouponSendType.CAR_STOP.getCode()); + wxCouponSendQuery.setSendType(EnumCouponSendSendType.CAR_STOP.getCode()); actionLogType = EnumCouponActionChannelType.CAR.getCode(); configKey = "stopCarCouponSwitch"; } - if (type == EnumCouponSendType.COUPON_VERIFY) { + if (type == EnumCouponSendSendType.COUPON_VERIFY) { //核销 - wxCouponSendQuery.setSendType(EnumCouponSendType.COUPON_VERIFY.getCode()); + wxCouponSendQuery.setSendType(EnumCouponSendSendType.COUPON_VERIFY.getCode()); actionLogType = EnumCouponActionChannelType.VERIFY.getCode(); configKey = "verifyConponSwitch"; } else {