!110 优化编辑商品时的生成索引,修复店铺结算单结算金额对于积分商品和砍价商品重复计算问题
Merge pull request !110 from OceansDeep/feature/pg
This commit is contained in:
commit
62fd1f3012
@ -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<StoreSettlementDay> storeList = storeDetailMapper.getSettlementStore(day);
|
||||
List<StoreSettlementDay> 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
61
consumer/src/test/java/cn/lili/buyer/test/bill/BillTest.java
Normal file
61
consumer/src/test/java/cn/lili/buyer/test/bill/BillTest.java
Normal file
@ -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<StoreSettlementDay> 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);
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -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<GoodsSkuMapper, GoodsSku> 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())) {
|
||||
|
@ -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<StoreDetail> {
|
||||
* @param merchantEuid 店铺客服信息
|
||||
*/
|
||||
Boolean editMerchantEuid(String merchantEuid);
|
||||
|
||||
/**
|
||||
* 获取待结算店铺列表
|
||||
*
|
||||
* @param day 结算日
|
||||
* @return 待结算店铺列表
|
||||
*/
|
||||
List<StoreSettlementDay> getSettlementStore(int day);
|
||||
|
||||
/**
|
||||
* 修改店铺的结算日
|
||||
*
|
||||
* @param storeId 店铺ID
|
||||
* @param dateTime 结算日
|
||||
*/
|
||||
void updateSettlementDay(String storeId, DateTime dateTime);
|
||||
}
|
@ -90,7 +90,7 @@ public class BillServiceImpl extends ServiceImpl<BillMapper, Bill> 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());
|
||||
@ -98,9 +98,8 @@ public class BillServiceImpl extends ServiceImpl<BillMapper, Bill> implements Bi
|
||||
bill.setSiteCouponCommission(orderBill.getSiteCouponCommission());
|
||||
bill.setPointSettlementPrice(orderBill.getPointSettlementPrice());
|
||||
bill.setKanjiaSettlementPrice(orderBill.getKanjiaSettlementPrice());
|
||||
//入账金额=订单金额+积分商品+砍价商品
|
||||
orderPrice = CurrencyUtil.add(orderBill.getBillPrice(), orderBill.getPointSettlementPrice(),
|
||||
orderBill.getKanjiaSettlementPrice());
|
||||
//入账金额=订单金额
|
||||
orderPrice = orderBill.getBillPrice();
|
||||
}
|
||||
|
||||
|
||||
|
@ -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<StoreDetailMapper, Store
|
||||
return storeService.updateById(store);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取待结算店铺列表
|
||||
*
|
||||
* @param day 结算日
|
||||
* @return 待结算店铺列表
|
||||
*/
|
||||
@Override
|
||||
public List<StoreSettlementDay> 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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user