店铺结算设置开始、结束时间

This commit is contained in:
lifenlong 2021-06-07 15:08:12 +08:00
parent 4849e7d57e
commit e176d920cc
8 changed files with 39 additions and 39 deletions

View File

@ -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<StoreSettlementDay> storeList = storeDetailMapper.getSettlementStore(new QueryWrapper<StoreSettlementDay>().like("settlement_cycle", day));
List<StoreSettlementDay> 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);
}
}
}

View File

@ -45,16 +45,13 @@
<de.codecentric>2.3.1</de.codecentric>
<userAgentUtils>1.21</userAgentUtils>
<interceptor-api>1.2</interceptor-api>
<<<<<<< HEAD
<poi-version>5.0.0</poi-version>
<poi-ooxml-version>5.0.0</poi-ooxml-version>
<logstash-logback-encoder>6.6</logstash-logback-encoder>
<zxing>3.4.1</zxing>
<slf4j-api>1.7.28</slf4j-api>
<xk-time>2.2.0</xk-time>
=======
<commons-text>1.4</commons-text>
>>>>>>> master
</properties>
<dependencies>
@ -345,7 +342,6 @@
<artifactId>UserAgentUtils</artifactId>
<version>${userAgentUtils}</version>
</dependency>
<<<<<<< HEAD
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
@ -393,14 +389,11 @@
<groupId>com.github.xkzhangsan</groupId>
<artifactId>xk-time</artifactId>
<version>${xk-time}</version>
=======
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-text</artifactId>
<version>${commons-text}</version>
>>>>>>> master
</dependency>
</dependencies>

View File

@ -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<DistributionOrder> {
/**
* 分销提佣
*/
@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);
}

View File

@ -141,14 +141,9 @@ public class StoreFlowServiceImpl extends ServiceImpl<StoreFlowMapper, StoreFlow
LambdaQueryWrapper<StoreFlow> 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);
}
}

View File

@ -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<Bill> {
@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<Bill> 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<Bill> queryWrapper);
}

View File

@ -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<StoreDetail> {
"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<StoreSettlementDay> getSettlementStore(@Param(Constants.WRAPPER) Wrapper<StoreSettlementDay> 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<StoreSettlementDay> getSettlementStore(int day);
@Update("UPDATE li_store_detail SET settlement_day=#{dateTime} WHERE store_id=#{storeId}")
void updateSettlementDay(String storeId, DateTime dateTime);

View File

@ -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<Bill> {
*
* @param storeId 商家ID
* @param startTime 开始时间
* @param endTime 结束时间
*/
void createBill(String storeId, Date startTime);
void createBill(String storeId, Date startTime, DateTime endTime);
/**

View File

@ -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<BillMapper, Bill> 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<BillMapper, Bill> implements Bi
bill.setSn(SnowFlake.createStr("B"));
//入账结算信息
Bill orderBill = this.baseMapper.getOrderBill(storeId, FlowTypeEnum.PAY.name());
Bill orderBill = this.baseMapper.getOrderBill(new QueryWrapper<Bill>()
.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<BillMapper, Bill> implements Bi
//退款结算信息
Bill refundBill = this.baseMapper.getRefundBill(storeId, FlowTypeEnum.REFUND.name());
Bill refundBill = this.baseMapper.getRefundBill(new QueryWrapper<Bill>()
.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());