From d2cab9f4a19e5dccaa9a8226c8dd5f0a62c38f37 Mon Sep 17 00:00:00 2001 From: paulGao Date: Mon, 10 Jan 2022 18:04:21 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=BA=97=E9=93=BA?= =?UTF-8?q?=E7=BB=93=E7=AE=97=E5=8D=95=E7=BB=93=E7=AE=97=E9=87=91=E9=A2=9D?= =?UTF-8?q?=E5=AF=B9=E4=BA=8E=E7=A7=AF=E5=88=86=E5=95=86=E5=93=81=E5=92=8C?= =?UTF-8?q?=E7=A0=8D=E4=BB=B7=E5=95=86=E5=93=81=E9=87=8D=E5=A4=8D=E8=AE=A1?= =?UTF-8?q?=E7=AE=97=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../handler/impl/bill/BillExecute.java | 15 +++-- .../cn/lili/buyer/test/bill/BillTest.java | 61 +++++++++++++++++++ .../store/serviceimpl/BillServiceImpl.java | 5 +- 3 files changed, 70 insertions(+), 11 deletions(-) create mode 100644 consumer/src/test/java/cn/lili/buyer/test/bill/BillTest.java diff --git a/consumer/src/main/java/cn/lili/timetask/handler/impl/bill/BillExecute.java b/consumer/src/main/java/cn/lili/timetask/handler/impl/bill/BillExecute.java index f197ab07..958402db 100644 --- a/consumer/src/main/java/cn/lili/timetask/handler/impl/bill/BillExecute.java +++ b/consumer/src/main/java/cn/lili/timetask/handler/impl/bill/BillExecute.java @@ -3,13 +3,12 @@ package cn.lili.timetask.handler.impl.bill; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.lili.modules.store.entity.dto.StoreSettlementDay; -import cn.lili.modules.store.mapper.StoreDetailMapper; import cn.lili.modules.store.service.BillService; +import cn.lili.modules.store.service.StoreDetailService; import cn.lili.timetask.handler.EveryDayExecute; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; -import javax.annotation.Resource; import java.util.List; /** @@ -29,8 +28,8 @@ public class BillExecute implements EveryDayExecute { /** * 店铺详情 */ - @Resource - private StoreDetailMapper storeDetailMapper; + @Autowired + private StoreDetailService storeDetailService; /** * 1.查询今日待结算的商家 @@ -44,18 +43,18 @@ public class BillExecute implements EveryDayExecute { int day = DateUtil.date().dayOfMonth(); //获取待结算商家列表 - List storeList = storeDetailMapper.getSettlementStore(day); + List storeList = storeDetailService.getSettlementStore(day); //获取当前时间 - DateTime endTime =DateUtil.date(); + DateTime endTime = DateUtil.date(); //批量商家结算 for (StoreSettlementDay storeSettlementDay : storeList) { //生成结算单 - billService.createBill(storeSettlementDay.getStoreId(), storeSettlementDay.getSettlementDay(),endTime); + billService.createBill(storeSettlementDay.getStoreId(), storeSettlementDay.getSettlementDay(), endTime); //修改店铺结算时间 - storeDetailMapper.updateSettlementDay(storeSettlementDay.getStoreId(), endTime); + storeDetailService.updateSettlementDay(storeSettlementDay.getStoreId(), endTime); } } } diff --git a/consumer/src/test/java/cn/lili/buyer/test/bill/BillTest.java b/consumer/src/test/java/cn/lili/buyer/test/bill/BillTest.java new file mode 100644 index 00000000..969fa7fc --- /dev/null +++ b/consumer/src/test/java/cn/lili/buyer/test/bill/BillTest.java @@ -0,0 +1,61 @@ +package cn.lili.buyer.test.bill; + +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import cn.lili.modules.store.entity.dto.StoreSettlementDay; +import cn.lili.modules.store.service.BillService; +import cn.lili.modules.store.service.StoreDetailService; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit.jupiter.SpringExtension; + +import java.util.List; + +/** + * @author paulG + * @since 2022/1/10 + **/ +@ExtendWith(SpringExtension.class) +@SpringBootTest +public class BillTest { + + + /** + * 结算单 + */ + @Autowired + private BillService billService; + + /** + * 店铺详情 + */ + @Autowired + private StoreDetailService storeDetailService; + + @Test + void createBillTest() { + //获取当前天数 + int day = DateUtil.date().dayOfMonth(); + + //获取待结算商家列表 + List storeList = storeDetailService.getSettlementStore(day); + + //获取当前时间 + DateTime endTime = DateUtil.date(); + //批量商家结算 + for (StoreSettlementDay storeSettlementDay : storeList) { + + //生成结算单 + billService.createBill(storeSettlementDay.getStoreId(), storeSettlementDay.getSettlementDay(), endTime); + + //修改店铺结算时间 + storeDetailService.updateSettlementDay(storeSettlementDay.getStoreId(), endTime); + } + Assertions.assertTrue(true); + } + + +} diff --git a/framework/src/main/java/cn/lili/modules/store/serviceimpl/BillServiceImpl.java b/framework/src/main/java/cn/lili/modules/store/serviceimpl/BillServiceImpl.java index 6597bf56..eab78d76 100644 --- a/framework/src/main/java/cn/lili/modules/store/serviceimpl/BillServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/store/serviceimpl/BillServiceImpl.java @@ -90,7 +90,7 @@ public class BillServiceImpl extends ServiceImpl implements Bi .eq("store_id", storeId) .eq("flow_type", FlowTypeEnum.PAY.name()) .between("create_time", startTime, endTime)); - Double orderPrice = 0D; + double orderPrice = 0D; if (orderBill != null) { bill.setOrderPrice(orderBill.getOrderPrice()); bill.setCommissionPrice(orderBill.getCommissionPrice()); @@ -99,8 +99,7 @@ public class BillServiceImpl extends ServiceImpl implements Bi bill.setPointSettlementPrice(orderBill.getPointSettlementPrice()); bill.setKanjiaSettlementPrice(orderBill.getKanjiaSettlementPrice()); //入账金额=订单金额+积分商品+砍价商品 - orderPrice = CurrencyUtil.add(CurrencyUtil.add(orderBill.getBillPrice(), orderBill.getPointSettlementPrice()), - orderBill.getKanjiaSettlementPrice()); + orderPrice = orderBill.getBillPrice(); } From ec8d511e9e270adec072919c32be5ec00ca50533 Mon Sep 17 00:00:00 2001 From: paulGao Date: Mon, 10 Jan 2022 18:04:38 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=BA=97=E9=93=BA?= =?UTF-8?q?=E7=BB=93=E7=AE=97=E5=8D=95=E7=BB=93=E7=AE=97=E9=87=91=E9=A2=9D?= =?UTF-8?q?=E5=AF=B9=E4=BA=8E=E7=A7=AF=E5=88=86=E5=95=86=E5=93=81=E5=92=8C?= =?UTF-8?q?=E7=A0=8D=E4=BB=B7=E5=95=86=E5=93=81=E9=87=8D=E5=A4=8D=E8=AE=A1?= =?UTF-8?q?=E7=AE=97=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../store/service/StoreDetailService.java | 18 ++++++++++++++ .../serviceimpl/StoreDetailServiceImpl.java | 24 +++++++++++++++++++ 2 files changed, 42 insertions(+) diff --git a/framework/src/main/java/cn/lili/modules/store/service/StoreDetailService.java b/framework/src/main/java/cn/lili/modules/store/service/StoreDetailService.java index e90ccc9e..07995f46 100644 --- a/framework/src/main/java/cn/lili/modules/store/service/StoreDetailService.java +++ b/framework/src/main/java/cn/lili/modules/store/service/StoreDetailService.java @@ -1,9 +1,11 @@ package cn.lili.modules.store.service; +import cn.hutool.core.date.DateTime; import cn.lili.modules.store.entity.dos.Store; import cn.lili.modules.store.entity.dos.StoreDetail; import cn.lili.modules.store.entity.dto.StoreAfterSaleAddressDTO; import cn.lili.modules.store.entity.dto.StoreSettingDTO; +import cn.lili.modules.store.entity.dto.StoreSettlementDay; import cn.lili.modules.store.entity.vos.StoreBasicInfoVO; import cn.lili.modules.store.entity.vos.StoreDetailVO; import cn.lili.modules.store.entity.vos.StoreManagementCategoryVO; @@ -120,4 +122,20 @@ public interface StoreDetailService extends IService { * @param merchantEuid 店铺客服信息 */ Boolean editMerchantEuid(String merchantEuid); + + /** + * 获取待结算店铺列表 + * + * @param day 结算日 + * @return 待结算店铺列表 + */ + List getSettlementStore(int day); + + /** + * 修改店铺的结算日 + * + * @param storeId 店铺ID + * @param dateTime 结算日 + */ + void updateSettlementDay(String storeId, DateTime dateTime); } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreDetailServiceImpl.java b/framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreDetailServiceImpl.java index 342f138f..c071f9b2 100644 --- a/framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreDetailServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/store/serviceimpl/StoreDetailServiceImpl.java @@ -1,5 +1,6 @@ package cn.lili.modules.store.serviceimpl; +import cn.hutool.core.date.DateTime; import cn.hutool.core.map.MapUtil; import cn.hutool.json.JSONUtil; import cn.lili.common.properties.RocketmqCustomProperties; @@ -14,6 +15,7 @@ import cn.lili.modules.store.entity.dos.Store; import cn.lili.modules.store.entity.dos.StoreDetail; import cn.lili.modules.store.entity.dto.StoreAfterSaleAddressDTO; import cn.lili.modules.store.entity.dto.StoreSettingDTO; +import cn.lili.modules.store.entity.dto.StoreSettlementDay; import cn.lili.modules.store.entity.vos.StoreBasicInfoVO; import cn.lili.modules.store.entity.vos.StoreDetailVO; import cn.lili.modules.store.entity.vos.StoreManagementCategoryVO; @@ -115,6 +117,28 @@ public class StoreDetailServiceImpl extends ServiceImpl getSettlementStore(int day) { + return this.baseMapper.getSettlementStore(day); + } + + /** + * 修改店铺的结算日 + * + * @param storeId 店铺ID + * @param dateTime 结算日 + */ + @Override + public void updateSettlementDay(String storeId, DateTime dateTime) { + this.baseMapper.updateSettlementDay(storeId, dateTime); + } + @Override public StoreBasicInfoVO getStoreBasicInfoDTO(String storeId) { return this.baseMapper.getStoreBasicInfoDTO(storeId); From ad351688762accfec69acf5c617376d636d8adb1 Mon Sep 17 00:00:00 2001 From: paulGao Date: Mon, 10 Jan 2022 18:05:53 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=BC=96=E8=BE=91?= =?UTF-8?q?=E5=95=86=E5=93=81=E6=97=B6=E7=9A=84=E7=94=9F=E6=88=90=E7=B4=A2?= =?UTF-8?q?=E5=BC=95=EF=BC=8C=E5=A2=9E=E5=8A=A0=E4=BA=8B=E5=8A=A1=E7=9B=91?= =?UTF-8?q?=E5=90=AC=E5=9C=A8=E6=8F=90=E4=BA=A4=E5=90=8E=E5=8F=91=E9=80=81?= =?UTF-8?q?mq=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/lili/modules/goods/serviceimpl/GoodsSkuServiceImpl.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsSkuServiceImpl.java b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsSkuServiceImpl.java index 8f458c69..a7e67948 100644 --- a/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsSkuServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/goods/serviceimpl/GoodsSkuServiceImpl.java @@ -51,6 +51,8 @@ import org.apache.rocketmq.spring.core.RocketMQTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.event.TransactionPhase; +import org.springframework.transaction.event.TransactionalEventListener; import java.util.*; import java.util.stream.Collectors; @@ -564,6 +566,7 @@ public class GoodsSkuServiceImpl extends ServiceImpl i * @param goods 商品信息 */ @Override + @TransactionalEventListener(phase = TransactionPhase.AFTER_COMMIT) public void generateEs(Goods goods) { // 不生成没有审核通过且没有上架的商品 if (!GoodsStatusEnum.UPPER.name().equals(goods.getMarketEnable()) || !GoodsAuthEnum.PASS.name().equals(goods.getAuthFlag())) {