From 50589b32201e39e5cdf82ccce39eaff48acaa931 Mon Sep 17 00:00:00 2001 From: zhengfangyuan Date: Fri, 18 Nov 2022 16:17:32 +0800 Subject: [PATCH] fix bug --- .../controller/market/WxCouponController.java | 39 +++++++++++++++ .../domain/po/TtCouponChannelPoi.java | 2 +- .../iformall/enums/EnumCouponMallStatus.java | 36 ++++++++++++++ .../com/iformall/enums/EnumSpuSyncStatus.java | 11 +++++ .../iformall/mapper/WxCouponMallMapper.java | 5 +- .../iformall/service/WxCouponMallService.java | 3 ++ .../service/impl/WxCouponMallServiceImpl.java | 48 +++++++++++++++++++ .../resources/mapper/WxCouponMallMapper.xml | 12 ++--- 8 files changed, 146 insertions(+), 10 deletions(-) create mode 100644 mallinkService/src/main/java/com/iformall/enums/EnumCouponMallStatus.java diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java index 0f523e8c2..eae80b8a8 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java @@ -625,5 +625,44 @@ public class WxCouponController extends BaseController { } } + + @ApiOperation("商场设置平台券已完成") + @PostMapping("/setPlatCouponFinished") + public ResultData setPlatCouponFinished(@RequestBody WxCoupon wxCoupon) { + try { + TenantEntity tenantEntity = getTenantInfo(); + String mallTenantId = tenantEntity.getTenantId(); + String tenantId = tenantEntity.getTenantId(); + if (null != tenantEntity.getParentTenantId()) { + tenantId = tenantEntity.getParentTenantId(); + } + wxCouponMallService.finised(tenantId, wxCoupon.getId(), mallTenantId); + return new ResultData(); + } catch (Exception e) { + return new ResultData(Result.ERROR,e.getMessage()); + } + + } + + @ApiOperation("商场设置平台券已完成") + @PostMapping("/setPlatCouponUnFinished") + public ResultData setPlatCouponUnFinished(@RequestBody WxCoupon wxCoupon) { + try { + if (null == wxCoupon.getType()) { + return new ResultData(Result.ERROR,"缺少参数"); + } + TenantEntity tenantEntity = getTenantInfo(); + String mallTenantId = tenantEntity.getTenantId(); + String tenantId = tenantEntity.getTenantId(); + if (null != tenantEntity.getParentTenantId()) { + tenantId = tenantEntity.getParentTenantId(); + } + wxCouponMallService.unfinised(tenantId, wxCoupon.getId(),wxCoupon.getType(), mallTenantId); + return new ResultData(); + } catch (Exception e) { + return new ResultData(Result.ERROR,e.getMessage()); + } + + } } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/TtCouponChannelPoi.java b/mallinkService/src/main/java/com/iformall/domain/po/TtCouponChannelPoi.java index 03866d5ab..cfd78b340 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/TtCouponChannelPoi.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/TtCouponChannelPoi.java @@ -32,7 +32,7 @@ public class TtCouponChannelPoi extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value="描述",name="statusDesc") private String statusDesc; - @io.swagger.annotations.ApiModelProperty(value="状态:0-审核中,1-上架,2-下架,3-审核拒绝 4-审核通过",name="lastStatus") + @io.swagger.annotations.ApiModelProperty(value="EnumSpuSyncStatus状态:0-审核中,1-上架,2-下架,3-审核拒绝 4-审核通过",name="lastStatus") private Integer lastStatus; @io.swagger.annotations.ApiModelProperty(value="描述",name="lastStatusDesc") diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumCouponMallStatus.java b/mallinkService/src/main/java/com/iformall/enums/EnumCouponMallStatus.java new file mode 100644 index 000000000..280a58b05 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/enums/EnumCouponMallStatus.java @@ -0,0 +1,36 @@ +package com.iformall.enums; + +/** + * Created by Stormeye on 2018/08/09. + */ +public enum EnumCouponMallStatus { + + UNFINISED(0, "未设置完成"), + FINISED(1, "已设置完成") + ; + + public static EnumCouponMallStatus getEnum(Integer code) { + for (EnumCouponMallStatus value : values()) { + if (value.getCode().equals(code)) { + return value; + } + } + return null; + } + + private Integer code; + private String message; + + EnumCouponMallStatus(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/iformall/enums/EnumSpuSyncStatus.java b/mallinkService/src/main/java/com/iformall/enums/EnumSpuSyncStatus.java index 43de3788a..231f0e696 100644 --- a/mallinkService/src/main/java/com/iformall/enums/EnumSpuSyncStatus.java +++ b/mallinkService/src/main/java/com/iformall/enums/EnumSpuSyncStatus.java @@ -38,4 +38,15 @@ public enum EnumSpuSyncStatus { public String getMessage() { return message; } + + public static boolean isValid(Integer code) { + if (code == sync_auditing.getCode()) { + return true; + }else if (code == sync_put_on.getCode()) { + return true; + }else if (code == sync_audit_pass.getCode()) { + return true; + } + return false; + } } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCouponMallMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCouponMallMapper.java index 8730942fd..c938f0593 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCouponMallMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCouponMallMapper.java @@ -3,6 +3,7 @@ package com.iformall.mapper; import com.iformall.common.CommonMapper; import com.iformall.domain.po.WxCouponMall; +import com.iformall.domain.po.base.TenantEntity; import java.util.List; import java.util.Map; @@ -11,6 +12,6 @@ import org.apache.ibatis.annotations.Param; public interface WxCouponMallMapper extends CommonMapper { - List findList(WxCouponMall wxCouponMerchant); - List findMerchantListByProduct(@Param("productId")Long productId,@Param("tenantId")String tenantId); + List findList(WxCouponMall wxCouponMall); + void updateStatus(WxCouponMall wxCouponMall); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxCouponMallService.java b/mallinkService/src/main/java/com/iformall/service/WxCouponMallService.java index 97b23d0f0..1e8480755 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCouponMallService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCouponMallService.java @@ -24,4 +24,7 @@ public interface WxCouponMallService { List list(WxCouponMall wxCouponMall); + void finised(String tenantId,Long couponId,String mallTenantId); + void unfinised(String tenantId, Long couponId,Integer couponType, String mallTenantId) throws Exception; + } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponMallServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponMallServiceImpl.java index 82cc1f89e..40d64553f 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponMallServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponMallServiceImpl.java @@ -2,7 +2,15 @@ package com.iformall.service.impl; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; +import com.iformall.common.ErrorCode; import com.iformall.domain.po.*; +import com.iformall.domain.po.base.TenantEntity; +import com.iformall.enums.EnumAppPlat; +import com.iformall.enums.EnumCouponChannelStatus; +import com.iformall.enums.EnumCouponMallStatus; +import com.iformall.enums.EnumCouponType; +import com.iformall.enums.EnumSpuSyncStatus; +import com.iformall.exception.MallinkException; import com.iformall.mapper.*; import com.iformall.service.*; import org.slf4j.Logger; @@ -17,6 +25,10 @@ public class WxCouponMallServiceImpl implements WxCouponMallService { @Autowired WxCouponMallMapper wxCouponMallMapper; + @Autowired + TtCouponChannelPoiMapper ttCouponChannelPoiMapper; + @Autowired + WxCouponChannelMapper wxCouponChannelMapper; @Override public List list(WxCouponMall wxCouponMall){ @@ -28,4 +40,40 @@ public class WxCouponMallServiceImpl implements WxCouponMallService { return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponMallMapper.findList(record)); } + @Override + public void finised(String tenantId, Long couponId, String mallTenantId) { + WxCouponMall couponMall = new WxCouponMall(); + couponMall.setTenantId(tenantId); + couponMall.setMallTenantId(mallTenantId); + couponMall.setProductId(couponId); + couponMall.setStatus(EnumCouponMallStatus.FINISED.getCode()); + wxCouponMallMapper.updateStatus(couponMall); + } + + @Override + public void unfinised(String tenantId, Long couponId,Integer couponType, String mallTenantId) throws Exception{ + //抖音平台查询的是未提交抖音审核的,微信是未上架的 + EnumAppPlat plat = EnumCouponType.getAppPlat(couponType); + if (plat == EnumAppPlat.TOUTIAO) { + TtCouponChannelPoi poi = ttCouponChannelPoiMapper.selectById(tenantId, couponId); + if (null != poi &&( EnumSpuSyncStatus.isValid(poi.getLastStatus()))) { + throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"券已在抖音审核流程中,无法修改。"); + } + }else if (plat == EnumAppPlat.WX) { + WxCouponChannel couponChannel = new WxCouponChannel(); + couponChannel.setTenantId(tenantId); + couponChannel.setStatus(EnumCouponChannelStatus.STATUS_THROW_IN.getCode()); + List clist = wxCouponChannelMapper.findList(couponChannel); + if (null != clist && clist.size() > 0 ) { + throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"券已投放且上架,无法修改。"); + } + } + WxCouponMall couponMall = new WxCouponMall(); + couponMall.setTenantId(tenantId); + couponMall.setMallTenantId(mallTenantId); + couponMall.setProductId(couponId); + couponMall.setStatus(EnumCouponMallStatus.UNFINISED.getCode()); + wxCouponMallMapper.updateStatus(couponMall); + } + } diff --git a/mallinkService/src/main/resources/mapper/WxCouponMallMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponMallMapper.xml index 7a5c012ce..8a5836da4 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponMallMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponMallMapper.xml @@ -76,12 +76,10 @@ from wx_coupon_mall - - + + + update wx_coupon_mall set status = #{status} where `product_id` = #{productId} + and `tenant_id` = #{tenantId} and `mall_tenant_id` = #{mallTenantId} +