Merge branch 'master' of gitee.com:beijing_hongye_huicheng/lilishop
This commit is contained in:
commit
203abe1087
@ -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;
|
||||
|
||||
/**
|
||||
@ -36,20 +36,23 @@ public class BillExecute implements EveryDayExecute {
|
||||
@Override
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -16,9 +16,9 @@ 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}))")
|
||||
@Select("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);
|
||||
|
||||
}
|
@ -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);
|
||||
}
|
||||
}
|
@ -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);
|
||||
}
|
@ -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);
|
||||
|
@ -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);
|
||||
|
||||
|
||||
/**
|
||||
|
@ -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;
|
||||
@ -31,6 +32,7 @@ import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Propagation;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
@ -50,11 +52,11 @@ public class BillServiceImpl extends ServiceImpl<BillMapper, Bill> implements Bi
|
||||
@Autowired
|
||||
private StoreFlowService storeFlowService;
|
||||
//结算单
|
||||
@Autowired
|
||||
@Resource
|
||||
private BillMapper billMapper;
|
||||
|
||||
@Override
|
||||
public void createBill(String storeId, Date startTime) {
|
||||
public void createBill(String storeId, Date startTime, DateTime endTime) {
|
||||
|
||||
//获取结算店铺
|
||||
StoreDetailVO store = storeDetailService.getStoreDetailVO(storeId);
|
||||
@ -77,7 +79,10 @@ public class BillServiceImpl extends ServiceImpl<BillMapper, Bill> implements Bi
|
||||
bill.setSn(SnowFlake.createStr("B"));
|
||||
|
||||
//入账结算信息
|
||||
Bill orderBill = billMapper.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());
|
||||
@ -89,7 +94,10 @@ public class BillServiceImpl extends ServiceImpl<BillMapper, Bill> implements Bi
|
||||
|
||||
|
||||
//退款结算信息
|
||||
Bill refundBill = billMapper.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());
|
||||
|
Loading…
x
Reference in New Issue
Block a user