From 157ed8f9399f0e4447670c583696af6dabef810b Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Mon, 16 Sep 2019 23:46:52 +0800 Subject: [PATCH 1/7] =?UTF-8?q?[=E7=9F=AD=E4=BF=A1][=E4=BF=AE=E6=94=B9]:?= =?UTF-8?q?=E7=9F=AD=E4=BF=A1=E6=A8=A1=E6=9D=BF=E5=88=9D=E5=A7=8B=E5=8C=96?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/iformall/controller/sys/DataInitController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mallinkSysAdmin/src/main/java/com/iformall/controller/sys/DataInitController.java b/mallinkSysAdmin/src/main/java/com/iformall/controller/sys/DataInitController.java index cc1ce4e7e..bb62be64b 100644 --- a/mallinkSysAdmin/src/main/java/com/iformall/controller/sys/DataInitController.java +++ b/mallinkSysAdmin/src/main/java/com/iformall/controller/sys/DataInitController.java @@ -70,7 +70,7 @@ public class DataInitController { List dbModelList = modelMapper.select(query); Map dbModelMap = dbModelList.stream().collect(Collectors.toMap(WxMsgValidationcodeModel::getTenantId, WxMsgValidationcodeModel::getName)); - List malls = mallMapper.selectAll(); + List malls = mallMapper.findList(new WxMall()); malls.stream().filter(wxMall -> !dbModelMap.containsKey(wxMall.getTenantId())).forEach(wxMall -> { addBirthDayMsgModelItem(tenantOfSignature, idWorker, wxMall, type, content); }); From 0a73fee356a428592de4c3fd61c794fb2ee03d1f Mon Sep 17 00:00:00 2001 From: Burce Date: Tue, 17 Sep 2019 00:16:10 +0800 Subject: [PATCH 2/7] =?UTF-8?q?[=E8=B0=83=E6=95=B4]=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E6=8E=A5=E5=8F=A3=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E7=9F=AD=E4=BF=A1=E7=AD=BE=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/sys/DataInitController.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/mallinkSysAdmin/src/main/java/com/iformall/controller/sys/DataInitController.java b/mallinkSysAdmin/src/main/java/com/iformall/controller/sys/DataInitController.java index bb62be64b..730d16e8d 100644 --- a/mallinkSysAdmin/src/main/java/com/iformall/controller/sys/DataInitController.java +++ b/mallinkSysAdmin/src/main/java/com/iformall/controller/sys/DataInitController.java @@ -55,14 +55,14 @@ public class DataInitController { */ @Transactional(rollbackFor = Exception.class) public void addBirthDayMsgModel() { - List list = signatureMapper.selectAll(); - Map tenantOfSignature = list.stream().collect(Collectors.toMap(WxMsgSignature::getTenantId, WxMsgSignature::getName)); + //List list = signatureMapper.selectAll(); + //Map tenantOfSignature = list.stream().collect(Collectors.toMap(WxMsgSignature::getTenantId, WxMsgSignature::getName)); IdWorker idWorker = IdWorker.get(); - addBirthDayMsgModelToMall(tenantOfSignature, EnumMsgModel.COUPON_BIRTHDAY_OPENED, idWorker, "亲到的{userName},在您的生日到来之际,我们精心的为您准备了一份生日礼物,并在生日当天消费领取{creditScale}倍积分,赶快打开{mallName}微信小程序领取您的专属生日礼物吧!"); - addBirthDayMsgModelToMall(tenantOfSignature, EnumMsgModel.COUPON_BIRTHDAY_OPENED_NO, idWorker, "亲到的{userName},在您的生日到来之际,我们精心的为您准备了一份生日礼物,赶快打开{mallName}微信小程序领取您的专属生日礼物吧!"); + addBirthDayMsgModelToMall(EnumMsgModel.COUPON_BIRTHDAY_OPENED, idWorker, "亲到的{userName},在您的生日到来之际,我们精心的为您准备了一份生日礼物,并在生日当天消费领取{creditScale}倍积分,赶快打开{mallName}微信小程序领取您的专属生日礼物吧!"); + addBirthDayMsgModelToMall(EnumMsgModel.COUPON_BIRTHDAY_OPENED_NO, idWorker, "亲到的{userName},在您的生日到来之际,我们精心的为您准备了一份生日礼物,赶快打开{mallName}微信小程序领取您的专属生日礼物吧!"); } - private void addBirthDayMsgModelToMall(Map tenantOfSignature, EnumMsgModel type, IdWorker idWorker, String content) { + private void addBirthDayMsgModelToMall(EnumMsgModel type, IdWorker idWorker, String content) { //查找已经添加过的接口列表 WxMsgValidationcodeModel query = new WxMsgValidationcodeModel(); query.setMsgType(1); @@ -72,17 +72,17 @@ public class DataInitController { List malls = mallMapper.findList(new WxMall()); malls.stream().filter(wxMall -> !dbModelMap.containsKey(wxMall.getTenantId())).forEach(wxMall -> { - addBirthDayMsgModelItem(tenantOfSignature, idWorker, wxMall, type, content); + addBirthDayMsgModelItem(idWorker, wxMall, type, content); }); } - private void addBirthDayMsgModelItem(Map tenantOfSignature, IdWorker idWorker, WxMall wxMall, EnumMsgModel msgModel, String content) { + private void addBirthDayMsgModelItem(IdWorker idWorker, WxMall wxMall, EnumMsgModel msgModel, String content) { WxMsgValidationcodeModel model = new WxMsgValidationcodeModel(); model.setTenantId(wxMall.getTenantId()); model.setId(idWorker.nextId()); model.setType(msgModel.getCode()); model.setName(msgModel.getMessage()); - model.setSignature(tenantOfSignature.get(wxMall.getTenantId())); + model.setSignature(wxMall.getName()); model.setContent(content); model.setCreatetime(new Date()); model.setStatus(1); From 4cd4075af614a7b42fce27aec86e323f41486bd8 Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Tue, 17 Sep 2019 00:32:46 +0800 Subject: [PATCH 3/7] =?UTF-8?q?[=E8=8F=9C=E5=8D=95=E6=9D=83=E9=99=90][?= =?UTF-8?q?=E4=BF=AE=E6=94=B9]:=E7=9F=AD=E4=BF=A1=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../migration/V201909170031__MENU_CHANGED.sql | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 mallinkAdmin/src/main/resources/db/migration/V201909170031__MENU_CHANGED.sql diff --git a/mallinkAdmin/src/main/resources/db/migration/V201909170031__MENU_CHANGED.sql b/mallinkAdmin/src/main/resources/db/migration/V201909170031__MENU_CHANGED.sql new file mode 100644 index 000000000..b1cab12ce --- /dev/null +++ b/mallinkAdmin/src/main/resources/db/migration/V201909170031__MENU_CHANGED.sql @@ -0,0 +1,24 @@ +DROP TABLE IF EXISTS `mall_sale_type` ; +CREATE TABLE `mall_sale_type` ( + `id` bigint(64) NOT NULL, + `name` varchar(32) DEFAULT NULL COMMENT '销售类型', + `type` tinyint(2) DEFAULT NULL COMMENT '资源类型1:尊享全能版 2:尊享营销版 3.速享版', + `period` tinyint(2) DEFAULT NULL COMMENT '有效期(单位月)', + `menus` json DEFAULT NULL COMMENT '菜单列表', + PRIMARY KEY (`id`), + UNIQUE `id_UNIQUE` USING BTREE (`id`) comment '' +) ENGINE=`InnoDB` ROW_FORMAT=DYNAMIC COMMENT='系统销售表' CHECKSUM=0 DELAY_KEY_WRITE=0; + +INSERT INTO `mall_sale_type` + (`id`,`name`, `type`, `period`, `menus`) +VALUES + (1, '尊享全能版', 1, 12, + '[1,2,3,4,5,6,7,8,9,10,50,101,102,103,104,105,106,107,108,201,202,203,204,205,206,211,212,221,222,251,299,300,301,302,303,304,305,306,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,501,502,503,504,505,506,507,508,509,511,512,513,521,522,523,531,532,533,591,595,601,602,603,604,605,606,607,608,609,610,611,612,621,622,623,624,625,626,627,641,642,643,644,645,651,661,662,663,671,672,673,674,681,682,683,684,685,691,692,693,694,695,701,702,711,712,713,901,902,903,931,932,951,952,961,962,965,966,967,968]' + ), + (2, '尊享营销版', 2, 12, + '[1,2,4,5,6,7,8,9,10,50,101,102,103,104,105,106,107,201,202,203,204,205,211,212,221,222,251,409,410,411,416,501,502,503,504,505,506,507,508,509,511,512,513,521,522,523,531,532,533,591,592,595,601,602,603,604,605,606,607,608,609,610,611,612,621,622,623,624,625,626,627,641,642,643,644,645,651,661,662,663,671,672,673,674,681,682,683,684,685,691,692,693,694,695,701,702,711,712,713,901,902,903,931,932,951,961]' + ), + (3, '速享版', 3, 1, + '[2,4,5,6,7,10,50,201,202,205,211,212,221,222,251,409,410,411,416,501,502,503,504,505,506,507,508,511,512,513,521,522,523,531,532,533,591,592,601,602,603,604,605,606,607,608,609,610,611,612,621,622,623,624,625,626,641,642,643,644,645,651,661,662,663,671,672,673,674,681,682,683,684,685,691,692,693,694,695,701,702,711,712,713,901,902,903,931,932]' + ) + ; From 04db92a4a49804e8f6560a63e97d3faea8929d62 Mon Sep 17 00:00:00 2001 From: luozukai Date: Tue, 17 Sep 2019 00:40:50 +0800 Subject: [PATCH 4/7] =?UTF-8?q?[=E4=BF=AE=E6=94=B9][=E7=BB=93=E7=AE=97?= =?UTF-8?q?=E5=8D=95][=E4=BF=AE=E6=94=B9=E7=8A=B6=E6=80=81]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/WxBillSettleServiceImpl.java | 6 ++++++ .../iformall/service/impl/WxFlowServiceImpl.java | 14 +++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBillSettleServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBillSettleServiceImpl.java index e458926d0..116277dab 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillSettleServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillSettleServiceImpl.java @@ -477,6 +477,11 @@ public class WxBillSettleServiceImpl implements WxBillSettleService { //选择的账单改为已结清 updateFreezeOrStatus(record.getReceiveBillIds(), null,EnumBillRentStatus.PAID.getCode()); updateFreezeOrStatus(record.getPayBillIds(), null,EnumBillRentStatus.PAID.getCode()); + + //刚好结清 + if(record.getReceiveMoney().equals(record.getPayMoney())){ + record.setStatus(EnumSettleStatus.FINISH.getCode()); + } } if (record.getId() == null) { record.setId(idWorker.nextId()); @@ -543,3 +548,4 @@ public class WxBillSettleServiceImpl implements WxBillSettleService { } } + diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java index f7a549cee..6b1e9be95 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java @@ -309,11 +309,17 @@ public class WxFlowServiceImpl implements WxFlowService { wxBillSettle.setStatus(EnumSettleStatus.NOT_FINISH.getCode()); wxBillSettleService.updateFreezeOrStatus(settle.getReceiveBillIds(), EnumFreezeType.DEF.getCode(),EnumBillRentStatus.PAID.getCode()); wxBillSettleService.updateFreezeOrStatus(settle.getPayBillIds(),EnumFreezeType.DEF.getCode(),EnumBillRentStatus.PAID.getCode()); + + //刚好结清 + if(settle.getReceiveMoney().equals(settle.getPayMoney())){ + wxBillSettle.setStatus(EnumSettleStatus.FINISH.getCode()); + } }else if(EnumRentContractAppStatus.SETBACK.getCode().intValue() == applyStatus.intValue() || EnumRentContractAppStatus.REJECT.getCode().intValue() == applyStatus.intValue()) { //解冻 wxBillSettleService.updateFreezeOrStatus(settle.getReceiveBillIds(), EnumFreezeType.DEF.getCode(),null); wxBillSettleService.updateFreezeOrStatus(settle.getPayBillIds(),EnumFreezeType.DEF.getCode(),null); } + wxBillSettleMapper.updateByPrimaryKeySelective(wxBillSettle); } } @@ -549,7 +555,7 @@ public class WxFlowServiceImpl implements WxFlowService { public boolean isBill(Integer flowType){ if(EnumFlowKey.BILL.getCode().equals(flowType) ||EnumFlowKey.NEW_BILL_CHANGE.getCode().equals(flowType)){ - return true; + return true; } return false; } @@ -1516,4 +1522,10 @@ public class WxFlowServiceImpl implements WxFlowService { public List getModelBybusiness(WxFlowModel wxFlowModel) { return wxFlowModelMapper.getModelBybusiness(wxFlowModel); } + + public static void main(String[] args) { + new Thread(() -> System.out.println(1 + "hello world")).start(); + + } } + From 34c1a0ebb056c58f7664437a75459836915c7d9f Mon Sep 17 00:00:00 2001 From: luozukai Date: Tue, 17 Sep 2019 00:47:18 +0800 Subject: [PATCH 5/7] =?UTF-8?q?[=E4=BF=AE=E6=94=B9][=E7=BB=93=E7=AE=97?= =?UTF-8?q?=E5=8D=95][=E4=BF=AE=E6=94=B9=E7=8A=B6=E6=80=81]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/WxBillSettleServiceImpl.java | 48 +++++++++---------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBillSettleServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBillSettleServiceImpl.java index 116277dab..1efac2b15 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillSettleServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillSettleServiceImpl.java @@ -447,30 +447,30 @@ public class WxBillSettleServiceImpl implements WxBillSettleService { final IdWorker idWorker = IdWorker.get(); //检查账单是否存在其他结算单中 - WxBillSettle query = new WxBillSettle(); - query.setId(record.getId()); - List list = new ArrayList<>(); - list.addAll(record.getReceiveBillIds()); - list.addAll(record.getPayBillIds()); - query.setReceiveBillIds(list); - List existList = wxBillSettleBillMapper.findExist(query); - Set idSet = new HashSet(); - if(CollectionUtils.isNotEmpty(existList)){ - for (WxBillSettleBill b:existList) { - idSet.add(b.getBillId()); - } - String ids = ""; - for (Long id:idSet) { - WxBillSettleBill queryBill = new WxBillSettleBill(); - queryBill.setBillId(id); - queryBill.setType(getType(id,record)); - WxBillSettleBill db = wxBillSettleBillMapper.findByBillId(queryBill).get(0); - BigDecimal r = new BigDecimal(db.getReceivePay()).divide(new BigDecimal(100),2,BigDecimal.ROUND_HALF_UP); - ids += db.getBillName()+r.toString()+"元,"; - } - - return new ResultData(ErrorCode.DB_FAIL.getCode(), ids.substring(0,ids.length()-1)+"已经在其他结算单中,请移除!"); - } +// WxBillSettle query = new WxBillSettle(); +// query.setId(record.getId()); +// List list = new ArrayList<>(); +// list.addAll(record.getReceiveBillIds()); +// list.addAll(record.getPayBillIds()); +// query.setReceiveBillIds(list); +// List existList = wxBillSettleBillMapper.findExist(query); +// Set idSet = new HashSet(); +// if(CollectionUtils.isNotEmpty(existList)){ +// for (WxBillSettleBill b:existList) { +// idSet.add(b.getBillId()); +// } +// String ids = ""; +// for (Long id:idSet) { +// WxBillSettleBill queryBill = new WxBillSettleBill(); +// queryBill.setBillId(id); +// queryBill.setType(getType(id,record)); +// WxBillSettleBill db = wxBillSettleBillMapper.findByBillId(queryBill).get(0); +// BigDecimal r = new BigDecimal(db.getReceivePay()).divide(new BigDecimal(100),2,BigDecimal.ROUND_HALF_UP); +// ids += db.getBillName()+r.toString()+"元,"; +// } +// +// return new ResultData(ErrorCode.DB_FAIL.getCode(), ids.substring(0,ids.length()-1)+"已经在其他结算单中,请移除!"); +// } if (record.getFlowParams() == null || record.getFlowParams().size() == 0) { record.setStatus(EnumSettleStatus.NOT_FINISH.getCode()); From 48dc4cc80ce0fa7615b89d7291725870071947cd Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Tue, 17 Sep 2019 00:59:56 +0800 Subject: [PATCH 6/7] =?UTF-8?q?[=E9=80=9A=E9=81=93=E8=B4=B9][=E4=BF=AE?= =?UTF-8?q?=E6=94=B9]:=E9=80=9A=E9=81=93=E8=B4=B9=E7=AE=97=E6=B3=95?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/WxCardSpendServiceImpl.java | 10 ++++---- .../impl/WxCouponOrderServiceImpl.java | 4 +-- .../service/impl/WxPayOrderServiceImpl.java | 8 +++--- .../service/impl/WxSubsidyServiceImpl.java | 2 +- .../java/com/iformall/utils/PayUtils.java | 25 +++++++++---------- 5 files changed, 24 insertions(+), 25 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java index 2c5c7e238..ffaa007b6 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCardSpendServiceImpl.java @@ -125,7 +125,7 @@ public class WxCardSpendServiceImpl implements WxCardSpendService { // 4. 扣减计算 Double paymentD = 1.0 * cardInfo.getSaleAmount() * record.getDeductionAmount() / cardInfo.getAmount(); Integer payment = paymentD.intValue(); - int iChargeFee = PayUtils.getPayRate(payment, payAccount.getRate()); + int iChargeFee = PayUtils.getPayRate(payment, payAccount.getRate(), false); Integer real_payment = payment - iChargeFee; Integer remain_real_pament = cardInfo.getRemainingShareFeeAmount() - real_payment; Integer remaingAmount = cardInfo.getRemainingAmount()-record.getDeductionAmount(); @@ -200,7 +200,7 @@ public class WxCardSpendServiceImpl implements WxCardSpendService { logger.info("补贴额: " + subsidyFee); if(subsidyFee > 0) { // 有补贴时入库 - int iSubChargeFee = PayUtils.getPayRate(subsidyFee, payAccount.getRate()); + int iSubChargeFee = PayUtils.getPayRate(subsidyFee, payAccount.getRate(), false); Integer realSubsidyFee = subsidyFee - iSubChargeFee; WxMerchantSubsidy merchantSubsidy = new WxMerchantSubsidy(); merchantSubsidy.setId(idWorker.nextId()); @@ -599,7 +599,7 @@ public class WxCardSpendServiceImpl implements WxCardSpendService { // 4. 扣减计算 Double paymentD = 1.0 * cardInfo.getSaleAmount() * record.getDeductionAmount() / cardInfo.getAmount(); Integer payment = paymentD.intValue(); - int iChargeFee = PayUtils.getPayRate(payment, payAccount.getRate()); + int iChargeFee = PayUtils.getPayRate(payment, payAccount.getRate(), false); Integer real_payment = payment - iChargeFee; Integer remain_real_pament = cardInfo.getRemainingShareFeeAmount() - real_payment; Integer remaingAmount = cardInfo.getRemainingAmount()-record.getDeductionAmount(); @@ -680,7 +680,7 @@ public class WxCardSpendServiceImpl implements WxCardSpendService { // 4. 增加计算 Double paymentD = 1.0 * cardInfo.getSaleAmount() * record.getDeductionAmount() / cardInfo.getAmount(); Integer payment = paymentD.intValue(); - int iChargeFee = PayUtils.getPayRate(payment, payAccount.getRate()); + int iChargeFee = PayUtils.getPayRate(payment, payAccount.getRate(), false); Integer real_payment = payment - iChargeFee; Integer remain_real_pament = cardInfo.getRemainingShareFeeAmount() + real_payment; Integer remaingAmount = cardInfo.getRemainingAmount()+record.getDeductionAmount(); @@ -772,7 +772,7 @@ public class WxCardSpendServiceImpl implements WxCardSpendService { logger.info("补贴额: " + subsidyFee); if(subsidyFee > 0) { // 有补贴时入库 - int iSubChargeFee = PayUtils.getPayRate(subsidyFee, payAccount.getRate()); + int iSubChargeFee = PayUtils.getPayRate(subsidyFee, payAccount.getRate(), false); Integer realSubsidyFee = subsidyFee - iSubChargeFee; WxMerchantSubsidy merchantSubsidy = new WxMerchantSubsidy(); merchantSubsidy.setId(idWorker.nextId()); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java index f2c0fd52f..6e4a3380a 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java @@ -509,10 +509,10 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { } if (subsidyNum != null && subsidyNum.intValue() > 0) { // 有补贴时入库 - int iSubChargeFee = PayUtils.getPayRate(subsidyNum, payAccount.getRate()); + int iSubChargeFee = PayUtils.getPayRate(subsidyNum, payAccount.getRate(), false); Integer realSubsidyFee = subsidyNum - iSubChargeFee; - int iPriceChargeFee = PayUtils.getPayRate(coupon.getSalePrice(), payAccount.getRate()); + int iPriceChargeFee = PayUtils.getPayRate(coupon.getSalePrice(), payAccount.getRate(), false); Integer realPayment = coupon.getSalePrice() - iPriceChargeFee; WxMerchantSubsidy merchantSubsidy = new WxMerchantSubsidy(); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java index 578b45146..003c319d5 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java @@ -228,11 +228,11 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { record.setShare(isShare.getCode()); if (isShare == EnumPayShare.YES) { // 分账金额 - int iChargeFee = PayUtils.getPayRate(record.getPayAmount(), payAccount.getRate()); + int iChargeFee = PayUtils.getPayRate(record.getPayAmount(), payAccount.getRate(), false); Integer share_amount = record.getPayAmount() - iChargeFee; record.setShareAmount(share_amount); if(payAccount.getRealRate() != null) { - int iRealChargeFee = PayUtils.getPayRate(record.getPayAmount(), payAccount.getRealRate()); + int iRealChargeFee = PayUtils.getPayRate(record.getPayAmount(), payAccount.getRealRate(), true); if(iChargeFee > iRealChargeFee) { record.setRateAmount(iChargeFee - iRealChargeFee); } @@ -459,11 +459,11 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { record.setShare(isShare.getCode()); if (isShare == EnumPayShare.YES) { // 分账金额 - int iChargeFee = PayUtils.getPayRate(record.getPayAmount(), payAccount.getRate()); + int iChargeFee = PayUtils.getPayRate(record.getPayAmount(), payAccount.getRate(), false); Integer share_amount = record.getPayAmount() - iChargeFee; record.setShareAmount(share_amount); if(payAccount.getRealRate() != null) { - int iRealChargeFee = PayUtils.getPayRate(record.getPayAmount(), payAccount.getRealRate()); + int iRealChargeFee = PayUtils.getPayRate(record.getPayAmount(), payAccount.getRealRate(), true); record.setRateAmount(iRealChargeFee); } if (share_amount <= 0) { diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxSubsidyServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxSubsidyServiceImpl.java index 1ec3a1d08..547ebea7d 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxSubsidyServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxSubsidyServiceImpl.java @@ -114,7 +114,7 @@ public class WxSubsidyServiceImpl implements WxSubsidyService { record.setPayTimeEnd(curDate); record.setAmount(totalFee); // 分账金额 - int iChargeFee = PayUtils.getPayRate(record.getAmount(), payAccount.getRate()); + int iChargeFee = PayUtils.getPayRate(record.getAmount(), payAccount.getRate(), false); Integer share_amount = record.getAmount() - iChargeFee; record.setShareAmount(share_amount); record.setShareRemainAmount(share_amount); diff --git a/mallinkService/src/main/java/com/iformall/utils/PayUtils.java b/mallinkService/src/main/java/com/iformall/utils/PayUtils.java index d7ea670ba..10133e3b1 100755 --- a/mallinkService/src/main/java/com/iformall/utils/PayUtils.java +++ b/mallinkService/src/main/java/com/iformall/utils/PayUtils.java @@ -15,10 +15,16 @@ public class PayUtils { * @param rate 万分之几 * @return */ - public static int getPayRate(int payAmount, int rate) { + public static int getPayRate(int payAmount, int rate, boolean isReal) { Double dBaseAmount = 5.0D * 1000 / rate; // 基础分 千分之6 83分 - if(payAmount > dBaseAmount.intValue()) { + if (isReal) { + // 小于基础分,四舍五入 + Double dPayRate = 1.0D * payAmount * rate / 10000; + long dChargeFee = Math.round(dPayRate); + return Long.valueOf(dChargeFee).intValue(); + } + else if(payAmount > dBaseAmount.intValue()) { // 大于基础分,不小于他的最小整数 Double dChargeFee = Math.ceil(payAmount * 1.0D * rate / 10000); return dChargeFee.intValue(); @@ -30,21 +36,14 @@ public class PayUtils { } } + /* public static void main(String[] args) { - int iValue = getPayRate(100, 60); - System.out.println(iValue); - - iValue = getPayRate(200, 60); - System.out.println(iValue); - - iValue = getPayRate(82, 60); - System.out.println(iValue); - - iValue = getPayRate(83, 60); + int iValue = getPayRate(600, 60, false); System.out.println(iValue); - iValue = getPayRate(84, 60); + iValue = getPayRate(600, 20, true); System.out.println(iValue); } + */ } From ba4e8fe6556e8c9185692188e9300b494b4365cb Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Tue, 17 Sep 2019 01:00:14 +0800 Subject: [PATCH 7/7] =?UTF-8?q?[POS][=E4=BF=AE=E6=94=B9]:warn=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/iformall/domain/vo/PromotionCalc.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/PromotionCalc.java b/mallinkService/src/main/java/com/iformall/domain/vo/PromotionCalc.java index 99dd6bc5c..672b5d54a 100644 --- a/mallinkService/src/main/java/com/iformall/domain/vo/PromotionCalc.java +++ b/mallinkService/src/main/java/com/iformall/domain/vo/PromotionCalc.java @@ -2,8 +2,10 @@ package com.iformall.domain.vo; import com.iformall.domain.po.BaseEntity; import lombok.Data; +import lombok.EqualsAndHashCode; @Data +@EqualsAndHashCode(callSuper = true) public class PromotionCalc extends BaseEntity { @io.swagger.annotations.ApiModelProperty(value="订单总金额",name="orderAmount") Integer orderAmount;