From fdc5cd5269453cb2eefd67a36e1115379b85c5bb Mon Sep 17 00:00:00 2001 From: hupeng Date: Mon, 17 Dec 2018 17:02:19 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=88=86=E8=B4=A6][=E4=BF=AE=E5=A4=8D]:?= =?UTF-8?q?=E5=A4=9A=E4=BA=BA=E5=88=86=E8=B4=A6=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iformall/domain/po/WxCouponMerchant.java | 3 +- .../domain/po/WxProfitSharingReceiver.java | 12 +++++++ .../service/impl/WxCouponServiceImpl.java | 18 +++++------ .../impl/WxProfitSharingOrderServiceImpl.java | 31 +++++++++++++++---- 4 files changed, 47 insertions(+), 17 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxCouponMerchant.java b/mallinkService/src/main/java/com/iformall/domain/po/WxCouponMerchant.java index 8a18a2c07..0625779a1 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxCouponMerchant.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCouponMerchant.java @@ -58,7 +58,7 @@ public class WxCouponMerchant implements Serializable { private Date updateDate; /*状态,0 有效 1 无效**/ - @io.swagger.annotations.ApiModelProperty(value="修改时间",name="updateDate") + @io.swagger.annotations.ApiModelProperty(value="状态,0 有效 1 无效",name="status") private Integer status; @@ -116,7 +116,6 @@ public class WxCouponMerchant implements Serializable { Id_ASC("`id` ASC"),Id_DESC("`id` DESC") ,ProductId_ASC("`product_id` ASC"),ProductId_DESC("`product_id` DESC") ,MerchantId_ASC("`merchant_id` ASC"),MerchantId_DESC("`merchant_id` DESC") - ,Parameter_ASC("`parameter` ASC"),Parameter_DESC("`description` DESC") ,CreateDate_ASC("`create_date` ASC"),CreateDate_DESC("`create_date` DESC") ,UpdateDate_ASC("`update_date` ASC"),UpdateDate_DESC("`update_date` DESC") ; diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxProfitSharingReceiver.java b/mallinkService/src/main/java/com/iformall/domain/po/WxProfitSharingReceiver.java index 6d5f1850e..b9ea9322f 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxProfitSharingReceiver.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxProfitSharingReceiver.java @@ -80,6 +80,10 @@ public class WxProfitSharingReceiver implements Serializable { @io.swagger.annotations.ApiModelProperty(value="分账参数,目前为分账比例(单位为万分之一)",name="parameter") private String parameter; + /*分账金额**/ + private Integer sharingAmount; + + public Integer getStatus() { return status; } @@ -165,6 +169,14 @@ public class WxProfitSharingReceiver implements Serializable { this.parameter = parameter; } + public Integer getSharingAmount() { + return sharingAmount; + } + + public void setSharingAmount(Integer sharingAmount) { + this.sharingAmount = sharingAmount; + } + public static enum Field { Id_ASC("`id` ASC"),Id_DESC("`id` DESC") 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 dfb492386..d50fdfd59 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java @@ -183,15 +183,15 @@ public class WxCouponServiceImpl implements WxCouponService { } } - if (record.getStatus() != null) { - if (record.getStatus().equals(EnumCouponStatus.COUPON_STATUS_TAKE_OFFF.getCode())) { - - //下架所有投放频道 - wxCouponChannelService - .updateStatusByCouponId(record.getId(), record.getTenantId(), EnumCouponChannelStatus.STATUS_TAKE_OFFF.getCode()); - wxCouponSendService - .updateStatusByCouponId(record.getId(), record.getTenantId(), EnumCouponSendStatus.INVALID.getCode()); - } + if (record.getStatus() != null && + (record.getStatus().equals(EnumCouponStatus.COUPON_STATUS_TAKE_OFFF.getCode()))) { + + //下架所有投放频道 + wxCouponChannelService + .updateStatusByCouponId(record.getId(), record.getTenantId(), EnumCouponChannelStatus.STATUS_TAKE_OFFF.getCode()); + wxCouponSendService + .updateStatusByCouponId(record.getId(), record.getTenantId(), EnumCouponSendStatus.INVALID.getCode()); + } record.setUpdateDate(new Date()); wxCouponMapper.updateByPrimaryKeySelective(record); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxProfitSharingOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxProfitSharingOrderServiceImpl.java index 6669466b9..b5e8b601e 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxProfitSharingOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxProfitSharingOrderServiceImpl.java @@ -131,6 +131,25 @@ public class WxProfitSharingOrderServiceImpl implements WxProfitSharingOrderServ throw new MallinkException(ErrorCode.PROFIT_SHARING_RECEIVER_INVALID); } + //计算分账账户合法性 + if (psReceiverList.size() > 1 && + psReceiverList.stream().filter(r->(r.getParameter() == null)).count() > 0) { + throw new MallinkException(ErrorCode.PROFIT_SHARING_RECEIVER_INVALID); + } + + //计算分账金额合法性 + psReceiverList.stream().forEach(r-> + { + if (r.getParameter() == null){ + r.setSharingAmount(sharingOrderDto.getShareAmount()); + } else { + r.setSharingAmount(sharingOrderDto.getShareAmount()*Integer.valueOf(r.getParameter())/10000); + } + }); + if (psReceiverList.stream().mapToInt(r->r.getSharingAmount()).sum() > sharingOrderDto.getShareAmount()){ + throw new MallinkException(ErrorCode.PROFIT_SHARING_RECEIVER_INVALID); + } + //单次分账检查是否已创建分账订单 WxProfitSharingOrder record = new WxProfitSharingOrder(); @@ -149,8 +168,8 @@ public class WxProfitSharingOrderServiceImpl implements WxProfitSharingOrderServ record.setSharingStatus(EnumProfitSharingOrderStatus.PROFIT_SHARING_UNKNOWN.getCode()); record.setCreateTime(currentDate); record.setUpdateTime(currentDate); - record.setPayTimeStart(currentDate); - record.setPayTimeEnd(currentDate); + record.setPayTimeStart(sharingOrderDto.getPayTimeStart()); + record.setPayTimeEnd(sharingOrderDto.getPayTimeEnd()); record.setType(sharingOrderDto.getType()); wxProfitSharingOrderMapper.insertSelective(record); @@ -167,7 +186,7 @@ public class WxProfitSharingOrderServiceImpl implements WxProfitSharingOrderServ JSONObject jo = new JSONObject(); jo.put("type",EnumProfitSharingReceiverType.getEnum(receiver.getReceiverType()).getMessage()); jo.put("account",receiver.getReceiverAccount()); - jo.put("amount", sharingOrderDto.getShareAmount()); //temp: sharing all money with only owner + jo.put("amount", receiver.getSharingAmount()); jo.put("description",receiver.getReceiverComments()); receivers.add(jo); @@ -178,7 +197,7 @@ public class WxProfitSharingOrderServiceImpl implements WxProfitSharingOrderServ result.setMerchantId(frecord.getMerchantId()); result.setSharingOrderId(frecord.getId()); result.setSharingReceiverId(receiver.getId()); - result.setPayAmount(sharingOrderDto.getShareAmount()); + result.setPayAmount(receiver.getSharingAmount()); result.setCreateTime(currentDate); result.setUpdateTime(currentDate); result.setSharingStatus(EnumProfitSharingResultStatus.PROFIT_SHARING_RESULT_PENDING.getCode()); @@ -409,8 +428,8 @@ public class WxProfitSharingOrderServiceImpl implements WxProfitSharingOrderServ record.setSharingStatus(EnumProfitSharingOrderStatus.PROFIT_SHARING_UNKNOWN.getCode()); record.setCreateTime(currentDate); record.setUpdateTime(currentDate); - record.setPayTimeStart(currentDate); - record.setPayTimeEnd(currentDate); + record.setPayTimeStart(sharingOrderDto.getPayTimeStart()); + record.setPayTimeEnd(sharingOrderDto.getPayTimeEnd()); record.setType(sharingOrderDto.getType()); wxProfitSharingOrderMapper.insertSelective(record); }