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;
|
package cn.lili.timetask.handler.impl.bill;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateTime;
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.lili.modules.store.entity.dto.StoreSettlementDay;
|
import cn.lili.modules.store.entity.dto.StoreSettlementDay;
|
||||||
import cn.lili.modules.store.mapper.StoreDetailMapper;
|
import cn.lili.modules.store.mapper.StoreDetailMapper;
|
||||||
import cn.lili.modules.store.service.BillService;
|
import cn.lili.modules.store.service.BillService;
|
||||||
import cn.lili.timetask.handler.EveryDayExecute;
|
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.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -25,7 +25,7 @@ public class BillExecute implements EveryDayExecute {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private BillService billService;
|
private BillService billService;
|
||||||
//店铺详情
|
//店铺详情
|
||||||
@Autowired
|
@Resource
|
||||||
private StoreDetailMapper storeDetailMapper;
|
private StoreDetailMapper storeDetailMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -36,20 +36,23 @@ public class BillExecute implements EveryDayExecute {
|
|||||||
@Override
|
@Override
|
||||||
public void execute() {
|
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) {
|
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 " +
|
@Select("UPDATE li_distribution AS d " +
|
||||||
"d.can_rebate =(can_rebate +(SELECT SUM( dorder.rebate ) FROM li_distribution_order AS dorder " +
|
"SET d.can_rebate =(d.can_rebate +(SELECT SUM( dorder.rebate ) FROM li_distribution_order AS dorder WHERE dorder.distribution_id = d.id AND " +
|
||||||
"WHERE dorder.distribution_id = d.id AND dorder.distribution_order_status=#{distributionOrderStatus} AND dorder.settle_cycle<=#{settleCycle}))")
|
"dorder.distribution_order_status=#{distributionOrderStatus} AND dorder.settle_cycle< #{settleCycle} ))")
|
||||||
void rebate(String distributionOrderStatus, DateTime settleCycle);
|
void rebate(String distributionOrderStatus, DateTime settleCycle);
|
||||||
|
|
||||||
}
|
}
|
@ -141,14 +141,9 @@ public class StoreFlowServiceImpl extends ServiceImpl<StoreFlowMapper, StoreFlow
|
|||||||
|
|
||||||
LambdaQueryWrapper<StoreFlow> lambdaQueryWrapper = Wrappers.lambdaQuery();
|
LambdaQueryWrapper<StoreFlow> lambdaQueryWrapper = Wrappers.lambdaQuery();
|
||||||
lambdaQueryWrapper.eq(StoreFlow::getStoreId, storeId);
|
lambdaQueryWrapper.eq(StoreFlow::getStoreId, storeId);
|
||||||
if (distribution) {
|
lambdaQueryWrapper.isNotNull(distribution,StoreFlow::getDistributionRebate);
|
||||||
lambdaQueryWrapper.isNotNull(StoreFlow::getDistributionRebate);
|
|
||||||
}
|
|
||||||
lambdaQueryWrapper.between(StoreFlow::getCreateTime, startTime, endTime);
|
lambdaQueryWrapper.between(StoreFlow::getCreateTime, startTime, endTime);
|
||||||
if (StringUtils.isNotEmpty(type)) {
|
lambdaQueryWrapper.eq(StringUtils.isNotEmpty(type),StoreFlow::getFlowType, type);
|
||||||
lambdaQueryWrapper.eq(StoreFlow::getFlowType, type);
|
|
||||||
}
|
|
||||||
|
|
||||||
return this.page(PageUtil.initPage(pageVO), lambdaQueryWrapper);
|
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.dos.Bill;
|
||||||
import cn.lili.modules.store.entity.vos.BillListVO;
|
import cn.lili.modules.store.entity.vos.BillListVO;
|
||||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
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.mapper.BaseMapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
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" +
|
@Select("SELECT SUM( final_price ) AS orderPrice,SUM( commission_price ) AS commissionPrice" +
|
||||||
",SUM( distribution_rebate ) AS distributionCommission,SUM( site_coupon_commission ) AS siteCouponCommission" +
|
",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}")
|
",SUM( bill_price ) AS billPrice FROM li_store_flow ${ew.customSqlSegment}")
|
||||||
Bill getOrderBill(String storeId, String flowType);
|
Bill getOrderBill(@Param(Constants.WRAPPER) QueryWrapper<Bill> queryWrapper);
|
||||||
|
|
||||||
@Select("SELECT SUM( final_price ) AS refundPrice,SUM( commission_price ) AS refundCommissionPrice" +
|
@Select("SELECT SUM( final_price ) AS refundPrice,SUM( commission_price ) AS refundCommissionPrice" +
|
||||||
",SUM( distribution_rebate ) AS distributionRefundCommission,SUM( site_coupon_commission ) AS siteCouponRefundCommission" +
|
",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}")
|
",SUM( bill_price ) AS billPrice FROM li_store_flow ${ew.customSqlSegment}")
|
||||||
Bill getRefundBill(String storeId, String flowType);
|
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.dto.StoreSettlementDay;
|
||||||
import cn.lili.modules.store.entity.vos.StoreBasicInfoVO;
|
import cn.lili.modules.store.entity.vos.StoreBasicInfoVO;
|
||||||
import cn.lili.modules.store.entity.vos.StoreDetailVO;
|
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.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.Select;
|
||||||
import org.apache.ibatis.annotations.Update;
|
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}")
|
"from li_store_detail s where s.store_id=#{storeId}")
|
||||||
StoreAfterSaleAddressDTO getStoreAfterSaleAddressDTO(String storeId);
|
StoreAfterSaleAddressDTO getStoreAfterSaleAddressDTO(String storeId);
|
||||||
|
|
||||||
@Select("SELECT store_id,settlement_day FROM li_store_detail ${ew.customSqlSegment}")
|
@Select("SELECT store_id,settlement_day FROM li_store_detail " +
|
||||||
List<StoreSettlementDay> getSettlementStore(@Param(Constants.WRAPPER) Wrapper<StoreSettlementDay> queryWrapper);
|
"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}")
|
@Update("UPDATE li_store_detail SET settlement_day=#{dateTime} WHERE store_id=#{storeId}")
|
||||||
void updateSettlementDay(String storeId, DateTime dateTime);
|
void updateSettlementDay(String storeId, DateTime dateTime);
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package cn.lili.modules.store.service;
|
package cn.lili.modules.store.service;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateTime;
|
||||||
import cn.lili.common.vo.PageVO;
|
import cn.lili.common.vo.PageVO;
|
||||||
import cn.lili.modules.order.order.entity.dos.StoreFlow;
|
import cn.lili.modules.order.order.entity.dos.StoreFlow;
|
||||||
import cn.lili.modules.store.entity.dos.Bill;
|
import cn.lili.modules.store.entity.dos.Bill;
|
||||||
@ -26,8 +27,9 @@ public interface BillService extends IService<Bill> {
|
|||||||
*
|
*
|
||||||
* @param storeId 商家ID
|
* @param storeId 商家ID
|
||||||
* @param startTime 开始时间
|
* @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;
|
package cn.lili.modules.store.serviceimpl;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateTime;
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.lili.common.enums.ResultCode;
|
import cn.lili.common.enums.ResultCode;
|
||||||
import cn.lili.common.exception.ServiceException;
|
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.Propagation;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -50,11 +52,11 @@ public class BillServiceImpl extends ServiceImpl<BillMapper, Bill> implements Bi
|
|||||||
@Autowired
|
@Autowired
|
||||||
private StoreFlowService storeFlowService;
|
private StoreFlowService storeFlowService;
|
||||||
//结算单
|
//结算单
|
||||||
@Autowired
|
@Resource
|
||||||
private BillMapper billMapper;
|
private BillMapper billMapper;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void createBill(String storeId, Date startTime) {
|
public void createBill(String storeId, Date startTime, DateTime endTime) {
|
||||||
|
|
||||||
//获取结算店铺
|
//获取结算店铺
|
||||||
StoreDetailVO store = storeDetailService.getStoreDetailVO(storeId);
|
StoreDetailVO store = storeDetailService.getStoreDetailVO(storeId);
|
||||||
@ -77,7 +79,10 @@ public class BillServiceImpl extends ServiceImpl<BillMapper, Bill> implements Bi
|
|||||||
bill.setSn(SnowFlake.createStr("B"));
|
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;
|
Double orderPrice = 0D;
|
||||||
if (orderBill != null) {
|
if (orderBill != null) {
|
||||||
bill.setOrderPrice(orderBill.getOrderPrice());
|
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;
|
Double refundPrice = 0D;
|
||||||
if(refundBill!=null){
|
if(refundBill!=null){
|
||||||
bill.setRefundPrice(refundBill.getRefundPrice());
|
bill.setRefundPrice(refundBill.getRefundPrice());
|
||||||
|
Loading…
x
Reference in New Issue
Block a user