From e176d920cc37704ed68acd42d144049cb129e439 Mon Sep 17 00:00:00 2001 From: lifenlong Date: Mon, 7 Jun 2021 15:08:12 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BA=97=E9=93=BA=E7=BB=93=E7=AE=97=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E5=BC=80=E5=A7=8B=E3=80=81=E7=BB=93=E6=9D=9F=E6=97=B6?= =?UTF-8?q?=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../timetask/handler/impl/bill/BillExecute.java | 16 +++++++++------- framework/pom.xml | 9 +-------- .../mapper/DistributionOrderMapper.java | 7 +++---- .../order/serviceimpl/StoreFlowServiceImpl.java | 9 ++------- .../cn/lili/modules/store/mapper/BillMapper.java | 9 +++++---- .../modules/store/mapper/StoreDetailMapper.java | 10 +++++----- .../lili/modules/store/service/BillService.java | 4 +++- .../store/serviceimpl/BillServiceImpl.java | 14 +++++++++++--- 8 files changed, 39 insertions(+), 39 deletions(-) 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 5905e279..2c62d650 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 @@ -1,15 +1,15 @@ 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.timetask.handler.EveryDayExecute; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import javax.annotation.Resource; import java.util.List; /** @@ -25,7 +25,7 @@ public class BillExecute implements EveryDayExecute { @Autowired private BillService billService; //店铺详情 - @Autowired + @Resource private StoreDetailMapper storeDetailMapper; /** @@ -37,19 +37,21 @@ public class BillExecute implements EveryDayExecute { public void execute() { //获取当前时间的前一天 - String day = "," + DateUtil.date().dayOfMonth() + ","; + int day = DateUtil.date().dayOfMonth(); //获取待结算商家列表 - List storeList = storeDetailMapper.getSettlementStore(new QueryWrapper().like("settlement_cycle", day)); + List storeList = storeDetailMapper.getSettlementStore(day); + //获取当前时间 + DateTime endTime =DateUtil.date(); //批量商家结算 for (StoreSettlementDay storeSettlementDay : storeList) { //生成结算单 - billService.createBill(storeSettlementDay.getStoreId(), storeSettlementDay.getSettlementDay()); + billService.createBill(storeSettlementDay.getStoreId(), storeSettlementDay.getSettlementDay(),endTime); //修改店铺结算时间 - storeDetailMapper.updateSettlementDay(storeSettlementDay.getStoreId(), DateUtil.date()); + storeDetailMapper.updateSettlementDay(storeSettlementDay.getStoreId(), endTime); } } } diff --git a/framework/pom.xml b/framework/pom.xml index 9c398f37..f9842efd 100644 --- a/framework/pom.xml +++ b/framework/pom.xml @@ -45,16 +45,13 @@ 2.3.1 1.21 1.2 -<<<<<<< HEAD 5.0.0 5.0.0 6.6 3.4.1 1.7.28 2.2.0 -======= 1.4 ->>>>>>> master @@ -345,7 +342,6 @@ UserAgentUtils ${userAgentUtils} -<<<<<<< HEAD org.apache.poi poi @@ -393,14 +389,11 @@ com.github.xkzhangsan xk-time ${xk-time} -======= - - + org.apache.commons commons-text ${commons-text} ->>>>>>> master diff --git a/framework/src/main/java/cn/lili/modules/distribution/mapper/DistributionOrderMapper.java b/framework/src/main/java/cn/lili/modules/distribution/mapper/DistributionOrderMapper.java index 02d8d8e1..b5997871 100644 --- a/framework/src/main/java/cn/lili/modules/distribution/mapper/DistributionOrderMapper.java +++ b/framework/src/main/java/cn/lili/modules/distribution/mapper/DistributionOrderMapper.java @@ -3,7 +3,7 @@ package cn.lili.modules.distribution.mapper; import cn.hutool.core.date.DateTime; import cn.lili.modules.distribution.entity.dos.DistributionOrder; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Select; +import org.apache.ibatis.annotations.Update; /** * 分销订单数据处理层 @@ -16,9 +16,8 @@ public interface DistributionOrderMapper extends BaseMapper { /** * 分销提佣 */ - @Select("UPDATE li_distribution AS d SET " + - "d.can_rebate =(can_rebate +(SELECT SUM( dorder.rebate ) FROM li_distribution_order AS dorder " + - "WHERE dorder.distribution_id = d.id AND dorder.distribution_order_status=#{distributionOrderStatus} AND dorder.settle_cycle<=#{settleCycle}))") + @Update("UPDATE li_distribution AS d " + + "SET d.can_rebate =(d.can_rebate +(SELECT SUM( dorder.rebate ) FROM li_distribution_order AS dorder WHERE dorder.distribution_id = d.id AND dorder.distribution_order_status=#{distributionOrderStatus} AND dorder.settle_cycle< #{settleCycle} ))") void rebate(String distributionOrderStatus, DateTime settleCycle); } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/StoreFlowServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/StoreFlowServiceImpl.java index 76a2d176..4b9f726b 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/StoreFlowServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/StoreFlowServiceImpl.java @@ -141,14 +141,9 @@ public class StoreFlowServiceImpl extends ServiceImpl lambdaQueryWrapper = Wrappers.lambdaQuery(); lambdaQueryWrapper.eq(StoreFlow::getStoreId, storeId); - if (distribution) { - lambdaQueryWrapper.isNotNull(StoreFlow::getDistributionRebate); - } + lambdaQueryWrapper.isNotNull(distribution,StoreFlow::getDistributionRebate); lambdaQueryWrapper.between(StoreFlow::getCreateTime, startTime, endTime); - if (StringUtils.isNotEmpty(type)) { - lambdaQueryWrapper.eq(StoreFlow::getFlowType, type); - } - + lambdaQueryWrapper.eq(StringUtils.isNotEmpty(type),StoreFlow::getFlowType, type); return this.page(PageUtil.initPage(pageVO), lambdaQueryWrapper); } } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/store/mapper/BillMapper.java b/framework/src/main/java/cn/lili/modules/store/mapper/BillMapper.java index cc14d1e7..468ebc87 100644 --- a/framework/src/main/java/cn/lili/modules/store/mapper/BillMapper.java +++ b/framework/src/main/java/cn/lili/modules/store/mapper/BillMapper.java @@ -4,6 +4,7 @@ package cn.lili.modules.store.mapper; import cn.lili.modules.store.entity.dos.Bill; import cn.lili.modules.store.entity.vos.BillListVO; import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Constants; @@ -23,11 +24,11 @@ public interface BillMapper extends BaseMapper { @Select("SELECT SUM( final_price ) AS orderPrice,SUM( commission_price ) AS commissionPrice" + ",SUM( distribution_rebate ) AS distributionCommission,SUM( site_coupon_commission ) AS siteCouponCommission" + - ",SUM( bill_price ) AS billPrice FROM li_store_flow WHERE store_id=#{storeId} AND flow_type=#{flowType}") - Bill getOrderBill(String storeId, String flowType); + ",SUM( bill_price ) AS billPrice FROM li_store_flow ${ew.customSqlSegment}") + Bill getOrderBill(@Param(Constants.WRAPPER) QueryWrapper queryWrapper); @Select("SELECT SUM( final_price ) AS refundPrice,SUM( commission_price ) AS refundCommissionPrice" + ",SUM( distribution_rebate ) AS distributionRefundCommission,SUM( site_coupon_commission ) AS siteCouponRefundCommission" + - ",SUM( bill_price ) AS billPrice FROM li_store_flow WHERE store_id=#{storeId} AND flow_type=#{flowType}") - Bill getRefundBill(String storeId, String flowType); + ",SUM( bill_price ) AS billPrice FROM li_store_flow ${ew.customSqlSegment}") + Bill getRefundBill(@Param(Constants.WRAPPER) QueryWrapper queryWrapper); } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/store/mapper/StoreDetailMapper.java b/framework/src/main/java/cn/lili/modules/store/mapper/StoreDetailMapper.java index 1478fea8..c6e0a920 100644 --- a/framework/src/main/java/cn/lili/modules/store/mapper/StoreDetailMapper.java +++ b/framework/src/main/java/cn/lili/modules/store/mapper/StoreDetailMapper.java @@ -6,10 +6,7 @@ import cn.lili.modules.store.entity.dto.StoreAfterSaleAddressDTO; 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 com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.toolkit.Constants; -import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Update; @@ -38,8 +35,11 @@ public interface StoreDetailMapper extends BaseMapper { "from li_store_detail s where s.store_id=#{storeId}") StoreAfterSaleAddressDTO getStoreAfterSaleAddressDTO(String storeId); - @Select("SELECT store_id,settlement_day FROM li_store_detail ${ew.customSqlSegment}") - List getSettlementStore(@Param(Constants.WRAPPER) Wrapper queryWrapper); + @Select("SELECT store_id,settlement_day FROM li_store_detail " + + "WHERE settlement_cycle LIKE concat(#{day},',%') " + + "OR settlement_cycle LIKE concat('%,',#{day},',%') " + + "OR settlement_cycle LIKE concat('%,',#{day})") + List getSettlementStore(int day); @Update("UPDATE li_store_detail SET settlement_day=#{dateTime} WHERE store_id=#{storeId}") void updateSettlementDay(String storeId, DateTime dateTime); diff --git a/framework/src/main/java/cn/lili/modules/store/service/BillService.java b/framework/src/main/java/cn/lili/modules/store/service/BillService.java index 2d0e40ee..5759a700 100644 --- a/framework/src/main/java/cn/lili/modules/store/service/BillService.java +++ b/framework/src/main/java/cn/lili/modules/store/service/BillService.java @@ -1,5 +1,6 @@ package cn.lili.modules.store.service; +import cn.hutool.core.date.DateTime; import cn.lili.common.vo.PageVO; import cn.lili.modules.order.order.entity.dos.StoreFlow; import cn.lili.modules.store.entity.dos.Bill; @@ -26,8 +27,9 @@ public interface BillService extends IService { * * @param storeId 商家ID * @param startTime 开始时间 + * @param endTime 结束时间 */ - void createBill(String storeId, Date startTime); + void createBill(String storeId, Date startTime, DateTime endTime); /** 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 36a2f95c..96afe165 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 @@ -1,5 +1,6 @@ package cn.lili.modules.store.serviceimpl; +import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.lili.common.enums.ResultCode; import cn.lili.common.exception.ServiceException; @@ -51,7 +52,7 @@ public class BillServiceImpl extends ServiceImpl implements Bi private StoreFlowService storeFlowService; @Override - public void createBill(String storeId, Date startTime) { + public void createBill(String storeId, Date startTime, DateTime endTime) { //获取结算店铺 StoreDetailVO store = storeDetailService.getStoreDetailVO(storeId); @@ -74,7 +75,11 @@ public class BillServiceImpl extends ServiceImpl implements Bi bill.setSn(SnowFlake.createStr("B")); //入账结算信息 - Bill orderBill = this.baseMapper.getOrderBill(storeId, FlowTypeEnum.PAY.name()); + Bill orderBill = this.baseMapper.getOrderBill(new QueryWrapper() + .eq("store_id",storeId) + .eq("flow_type",FlowTypeEnum.PAY.name()) + .between("create_time",startTime,endTime)); + Double orderPrice = 0D; if (orderBill != null) { bill.setOrderPrice(orderBill.getOrderPrice()); @@ -86,7 +91,10 @@ public class BillServiceImpl extends ServiceImpl implements Bi //退款结算信息 - Bill refundBill = this.baseMapper.getRefundBill(storeId, FlowTypeEnum.REFUND.name()); + Bill refundBill = this.baseMapper.getRefundBill(new QueryWrapper() + .eq("store_id",storeId) + .eq("flow_type",FlowTypeEnum.REFUND.name()) + .between("create_time",startTime,endTime)); Double refundPrice = 0D; if(refundBill!=null){ bill.setRefundPrice(refundBill.getRefundPrice());