From 9e653216d56089230cc1555774dc2527522bfac3 Mon Sep 17 00:00:00 2001 From: hupeng Date: Wed, 10 Apr 2019 17:05:20 +0800 Subject: [PATCH] =?UTF-8?q?[=E4=B8=9A=E6=80=81][=E4=BF=AE=E6=94=B9]:?= =?UTF-8?q?=E5=8D=A1=E5=88=B8,=E4=BC=A0=E9=80=92=E5=AD=90=E4=B8=9A?= =?UTF-8?q?=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WxBusinessController.java | 7 --- .../domain/dto/WxCouponMerchantDto.java | 9 ++++ .../service/impl/WxCampaignServiceImpl.java | 1 + .../impl/WxCouponChannelServiceImpl.java | 1 + .../service/impl/WxCouponServiceImpl.java | 45 ++++++++++++------- .../service/impl/WxGameServiceImpl.java | 1 + 6 files changed, 42 insertions(+), 22 deletions(-) diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxBusinessController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxBusinessController.java index af8fb4fb7..f7b7ad3cf 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxBusinessController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxBusinessController.java @@ -40,13 +40,6 @@ public class WxBusinessController extends BaseController { return new ResultData(page); } - //临时兼容的代码,过度更改接口名 - @ApiOperation("业态全列表接口") - @GetMapping("allist") - public ResultData allist(@ModelAttribute WxBusiness wxBusiness) { - final List busList = wxBusinessService.findListAll(); - return new ResultData(busList); - } @ApiOperation("业态全列表接口") @GetMapping("listAll") diff --git a/mallinkService/src/main/java/com/iformall/domain/dto/WxCouponMerchantDto.java b/mallinkService/src/main/java/com/iformall/domain/dto/WxCouponMerchantDto.java index ef736ae5f..7c86cd9f2 100644 --- a/mallinkService/src/main/java/com/iformall/domain/dto/WxCouponMerchantDto.java +++ b/mallinkService/src/main/java/com/iformall/domain/dto/WxCouponMerchantDto.java @@ -9,6 +9,7 @@ public class WxCouponMerchantDto implements Serializable { Long merchantId; String parameter; Integer business; + Integer subBusiness; public Long getMerchantId() { return merchantId; @@ -33,4 +34,12 @@ public class WxCouponMerchantDto implements Serializable { public void setBusiness(Integer business) { this.business = business; } + + public Integer getSubBusiness() { + return subBusiness; + } + + public void setSubBusiness(Integer subBusiness) { + this.subBusiness = subBusiness; + } } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCampaignServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCampaignServiceImpl.java index e9bb25868..ff96353fa 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCampaignServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCampaignServiceImpl.java @@ -210,6 +210,7 @@ public class WxCampaignServiceImpl implements WxCampaignService { wxCouponChannel.setTargetAd(EnumCouponChannelType.COUPON_CHANNEL_ID_CAMPAIN.getCode()); wxCouponChannel.setTenantId(wxCoupon.getTenantId()); wxCouponChannel.setBusiness(wxCoupon.getBusiness()); + wxCouponChannel.setSubBusiness(wxCoupon.getSubBusiness()); wxCouponChannel.setTitle(wxCoupon.getTitle()); wxCouponChannel.setSubTargetId(record.getId()); final IdWorker idWorker = IdWorker.get(); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java index 669b79328..61175c6f5 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java @@ -214,6 +214,7 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService { wxCouponChannel.setTargetAd(channelId); wxCouponChannel.setTenantId(tanantId); wxCouponChannel.setBusiness(wxCoupon.getBusiness()); + wxCouponChannel.setSubBusiness(wxCoupon.getSubBusiness()); wxCouponChannel.setTitle(wxCoupon.getTitle()); saveOrUpdate(wxCouponChannel); return null; diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java index 059520007..86e6d567c 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java @@ -156,7 +156,15 @@ public class WxCouponServiceImpl implements WxCouponService { return merchantParam.getString("parameter"); } private Integer parseBusiness(JSONObject merchantParam){ - return Integer.valueOf(merchantParam.getString("businessId")); + String businessIdStr = merchantParam.getString("businessId"); + return Integer.valueOf(businessIdStr); + + } + private Integer parseSubBusiness(JSONObject merchantParam){ + String subBusinessIdStr = merchantParam.getString("subBusinessId"); + if (subBusinessIdStr != null) + return Integer.valueOf(subBusinessIdStr); + return null; } private WxCouponMerchantDto parseMerchantParam(JSONObject merchantParam){ @@ -165,6 +173,7 @@ public class WxCouponServiceImpl implements WxCouponService { wxCouponMerchantDto.setMerchantId(parseMerchantId(merchantParam)); wxCouponMerchantDto.setParameter(parseParameter(merchantParam)); wxCouponMerchantDto.setBusiness(parseBusiness(merchantParam)); + wxCouponMerchantDto.setSubBusiness(parseSubBusiness(merchantParam)); }catch (Exception e) { throw new MallinkException(ErrorCode.SYS_PARAMETER_ERROR); } @@ -204,7 +213,7 @@ public class WxCouponServiceImpl implements WxCouponService { } final IdWorker idWorker = IdWorker.get(); - + List merchantParamList = JSONObject.parseArray(record.getMerchantParams(), JSONObject.class); if (record.getId() == null) { // check 卡券补贴设置 @@ -232,9 +241,9 @@ public class WxCouponServiceImpl implements WxCouponService { } record.setId(idWorker.nextId()); - List merchantParamList = JSONObject.parseArray(record.getMerchantParams(), JSONObject.class); - if (merchantParamList != null) { - List businessList= new ArrayList<>(); + + if (merchantParamList != null && merchantParamList.size() > 0) { + List wxCouponMerchantDtoList = new ArrayList<>(); merchantParamList.forEach(merchantParam -> { WxCouponMerchant cm = new WxCouponMerchant(); WxCouponMerchantDto wxCouponMerchantDto = parseMerchantParam(merchantParam); @@ -245,13 +254,17 @@ public class WxCouponServiceImpl implements WxCouponService { cm.setCreateDate(new Date()); cm.setUpdateDate(new Date()); cm.setStatus(EnumCouponMerchantStatus.COUPON_MERCHANT_STATUS_VALID.getCode()); - businessList.add(wxCouponMerchantDto.getBusiness()); + wxCouponMerchantDtoList.add(wxCouponMerchantDto); wxCouponMerchantMapper.insertSelective(cm); }); - if (businessList.stream().distinct().count() > 1) { + if (wxCouponMerchantDtoList.stream() + .mapToInt(WxCouponMerchantDto::getBusiness).distinct().count() > 1) { record.setBusiness(EnumBusiness.BUSINESS_ID6.getCode()); + } else if (wxCouponMerchantDtoList.size() > 1){ + record.setBusiness(wxCouponMerchantDtoList.get(0).getBusiness()); } else { - record.setBusiness(businessList.get(0)); + record.setBusiness(wxCouponMerchantDtoList.get(0).getBusiness()); + record.setSubBusiness(wxCouponMerchantDtoList.get(0).getSubBusiness()); } } else{ @@ -263,13 +276,11 @@ public class WxCouponServiceImpl implements WxCouponService { wxCouponMapper.insertSelective(record); } else { - if (record.getMerchantParams() != null) { - List merchantParamList = JSONObject.parseArray(record.getMerchantParams(), JSONObject.class); - + if (merchantParamList != null && merchantParamList.size() > 0) { WxCouponMerchant cmParam = new WxCouponMerchant(); cmParam.setProductId(record.getId()); List oldList = wxCouponMerchantMapper.findList(cmParam); - List businessList= new ArrayList<>(); + List wxCouponMerchantDtoList = new ArrayList<>(); merchantParamList.stream().forEach(merchantParam -> { WxCouponMerchant cm = new WxCouponMerchant(); WxCouponMerchantDto wxCouponMerchantDto = parseMerchantParam(merchantParam); @@ -289,7 +300,7 @@ public class WxCouponServiceImpl implements WxCouponService { cm.setUpdateDate(new Date()); wxCouponMerchantMapper.insertSelective(cm); } - businessList.add(Integer.valueOf(wxCouponMerchantDto.getBusiness())); + wxCouponMerchantDtoList.add(wxCouponMerchantDto); oldList.removeIf( old->old.getProductId().equals(record.getId()) && old.getMerchantId().equals(wxCouponMerchantDto.getMerchantId())); @@ -301,10 +312,14 @@ public class WxCouponServiceImpl implements WxCouponService { wxCouponMerchantMapper.updateByPrimaryKeySelective(old); }); - if (businessList.stream().distinct().count() > 1) { + if (wxCouponMerchantDtoList.stream() + .mapToInt(WxCouponMerchantDto::getBusiness).distinct().count() > 1) { record.setBusiness(EnumBusiness.BUSINESS_ID6.getCode()); + } else if (wxCouponMerchantDtoList.size() > 1){ + record.setBusiness(wxCouponMerchantDtoList.get(0).getBusiness()); } else { - record.setBusiness(businessList.get(0)); + record.setBusiness(wxCouponMerchantDtoList.get(0).getBusiness()); + record.setSubBusiness(wxCouponMerchantDtoList.get(0).getSubBusiness()); } } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxGameServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxGameServiceImpl.java index 93e448dcd..36805fe57 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxGameServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxGameServiceImpl.java @@ -285,6 +285,7 @@ public class WxGameServiceImpl implements WxGameService { wxCouponChannel.setTargetAd(EnumCouponChannelType.COUPON_CHANNEL_ID_GAME.getCode()); wxCouponChannel.setTenantId(wxCoupon.getTenantId()); wxCouponChannel.setBusiness(wxCoupon.getBusiness()); + wxCouponChannel.setSubBusiness(wxCoupon.getSubBusiness()); wxCouponChannel.setTitle(wxCoupon.getTitle()); wxCouponChannel.setSubTargetId(record.getId()); final IdWorker idWorker = IdWorker.get();