提交 c5a35f0e authored 作者: 马路路's avatar 马路路

Merge branch 'v29.6_ultimate_interaction_20241017' into test_jdk17

Former-commit-id: 6a44ce20
...@@ -227,6 +227,8 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int ...@@ -227,6 +227,8 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int
OrderGoodsTodaySumDTO countTodayOrderGoodsSumByUserNo(Long userNo); OrderGoodsTodaySumDTO countTodayOrderGoodsSumByUserNo(Long userNo);
OrderGoodsTodaySumDTO countTodayOrderGoodsSumByTruckOwnUserNo(Long userNo);
OrderGoodsTodaySumDTO sumOrderChildFreightByDriverUserNo(Long driverUserNo); OrderGoodsTodaySumDTO sumOrderChildFreightByDriverUserNo(Long driverUserNo);
Long queryTruckProcessingOrderChild(String truckNo); Long queryTruckProcessingOrderChild(String truckNo);
......
...@@ -752,6 +752,11 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild, ...@@ -752,6 +752,11 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
return baseMapper.countTodayOrderGoodsSumByUserNo(userNo); return baseMapper.countTodayOrderGoodsSumByUserNo(userNo);
} }
@Override
public OrderGoodsTodaySumDTO countTodayOrderGoodsSumByTruckOwnUserNo(Long truckOwnUserNo) {
return baseMapper.countTodayOrderGoodsSumByTruckOwnUserNo(truckOwnUserNo);
}
@Override @Override
public OrderGoodsTodaySumDTO sumOrderChildFreightByDriverUserNo(Long driverUserNo) { public OrderGoodsTodaySumDTO sumOrderChildFreightByDriverUserNo(Long driverUserNo) {
return baseMapper.sumOrderChildFreightByDriverUserNo(driverUserNo); return baseMapper.sumOrderChildFreightByDriverUserNo(driverUserNo);
......
...@@ -193,11 +193,28 @@ public interface OrderChildMapper extends BaseMapper<OrderChild> { ...@@ -193,11 +193,28 @@ public interface OrderChildMapper extends BaseMapper<OrderChild> {
" where order_goods_no=#{orderGoodsNo} and status in(50,60,70,80,90,100)") " where order_goods_no=#{orderGoodsNo} and status in(50,60,70,80,90,100)")
int countLoadByOrderGoodsNo(@Param("orderGoodsNo") String orderGoodsNo); int countLoadByOrderGoodsNo(@Param("orderGoodsNo") String orderGoodsNo);
/**
* 统计司机今日的订单数
* @param userNo
* @return
*/
@Select("select count(*) AS todayOrderGoodsSum, IFNULL(SUM(freight),0) AS todayEstimateProfit from order_child " + @Select("select count(*) AS todayOrderGoodsSum, IFNULL(SUM(freight),0) AS todayEstimateProfit from order_child " +
" where user_no=#{userNo} and status in(10,20,30,40,50,60,70,80,90,100,110,111,112,113) AND create_time >= CURDATE()" + " where driver_user_no=#{userNo} and truck_own_user_no != #{userNo} " +
" AND status in(10,20,30,40,50,60,70,80,90,100,110,111,112,113) AND create_time >= CURDATE()" +
" AND create_time <= CURDATE() + INTERVAL 1 DAY - INTERVAL 1 SECOND") " AND create_time <= CURDATE() + INTERVAL 1 DAY - INTERVAL 1 SECOND")
OrderGoodsTodaySumDTO countTodayOrderGoodsSumByUserNo(Long userNo); OrderGoodsTodaySumDTO countTodayOrderGoodsSumByUserNo(Long userNo);
/**
* 统计车主今日的订单数
* @param truckOwnUserNo
* @return
*/
@Select("select count(*) AS todayOrderGoodsSum, IFNULL(SUM(freight),0) AS todayEstimateProfit from order_child " +
" where truck_own_user_no=#{truckOwnUserNo} and status in(10,20,30,40,50,60,70,80,90,100,110,111,112,113) " +
" AND create_time >= CURDATE()" +
" AND create_time <= CURDATE() + INTERVAL 1 DAY - INTERVAL 1 SECOND")
OrderGoodsTodaySumDTO countTodayOrderGoodsSumByTruckOwnUserNo(Long truckOwnUserNo);
/** /**
* 统计司机今日的订单数和运费 * 统计司机今日的订单数和运费
* *
......
...@@ -50,7 +50,10 @@ import com.clx.performance.vo.pc.OrderGoodsEditVO; ...@@ -50,7 +50,10 @@ import com.clx.performance.vo.pc.OrderGoodsEditVO;
import com.clx.performance.vo.pc.OrderGoodsPendingVO; import com.clx.performance.vo.pc.OrderGoodsPendingVO;
import com.clx.performance.vo.pc.OrderGoodsVO; import com.clx.performance.vo.pc.OrderGoodsVO;
import com.clx.user.enums.driver.DriverInfoEnum; import com.clx.user.enums.driver.DriverInfoEnum;
import com.clx.user.feign.DriverFeign;
import com.clx.user.feign.UserClxFeign; import com.clx.user.feign.UserClxFeign;
import com.clx.user.vo.feign.DriverInfoFeignVo;
import com.clx.user.vo.feign.DriverTruckInfoFeignVo;
import com.msl.common.base.Optional; import com.msl.common.base.Optional;
import com.msl.common.enums.ResultCodeEnum; import com.msl.common.enums.ResultCodeEnum;
import com.msl.common.exception.ServiceSystemException; import com.msl.common.exception.ServiceSystemException;
...@@ -136,6 +139,9 @@ public class OrderGoodsServiceImpl implements OrderGoodsService, InitializingBea ...@@ -136,6 +139,9 @@ public class OrderGoodsServiceImpl implements OrderGoodsService, InitializingBea
@Autowired @Autowired
OrderService orderService; OrderService orderService;
@Autowired
private DriverFeign driverFeign;
private static Map<Integer, Consumer<OrderGoodsCancelDTO>> orderGoodsCancelMap = new HashMap<>(); private static Map<Integer, Consumer<OrderGoodsCancelDTO>> orderGoodsCancelMap = new HashMap<>();
...@@ -1112,12 +1118,75 @@ public class OrderGoodsServiceImpl implements OrderGoodsService, InitializingBea ...@@ -1112,12 +1118,75 @@ public class OrderGoodsServiceImpl implements OrderGoodsService, InitializingBea
@Override @Override
public OrderGoodsTodaySumVO getTodayOrderGoodsSum() { public OrderGoodsTodaySumVO getTodayOrderGoodsSum() {
OrderGoodsTodaySumVO vo = new OrderGoodsTodaySumVO(); OrderGoodsTodaySumVO vo = new OrderGoodsTodaySumVO();
OrderGoodsTodaySumDTO dto = orderChildDao.countTodayOrderGoodsSumByUserNo(TokenUtil.getLoginUserInfo().getUserNo()); Integer ownerTruck = 0;
OrderGoodsTodaySumDTO dtoTwo = orderChildDao.sumOrderChildFreightByDriverUserNo(TokenUtil.getLoginUserInfo().getUserNo()); BigDecimal ownerWeight = BigDecimal.ZERO;
vo.setTodayOrderGoodsSum(dto.getTodayOrderGoodsSum()); Integer driver = 0;
vo.setTodayEstimateProfit(dtoTwo.getTodayEstimateProfit()); // 获取当前登录用户是否为车主
boolean ownerFlag = isTruckOwner(TokenUtil.getLoginUserInfo().getUserNo());
// 获取当亲登录用户是否是司机
boolean driverFlag = isDriver(TokenUtil.getLoginUserInfo().getUserNo());
// 若是车主
if (ownerFlag) {
// 计算当前用户关联的所有订单数
ownerTruck = orderChildDao.countTodayOrderGoodsSumByTruckOwnUserNo(TokenUtil.getLoginUserInfo().getUserNo())
.getTodayOrderGoodsSum();
// 计算当前用户今天所有收益
ownerWeight = orderChildDao.sumOrderChildFreightByDriverUserNo(TokenUtil.getLoginUserInfo().getUserNo())
.getTodayEstimateProfit();
vo.setTodayOrderGoodsSum(ownerTruck);
vo.setTodayEstimateProfit(ownerWeight);
}
// 若是司机
if (driverFlag){
// 计算当前用户今天所有订单数(以司机维度查询)
driver = orderChildDao.countTodayOrderGoodsSumByUserNo(TokenUtil.getLoginUserInfo().getUserNo())
.getTodayOrderGoodsSum();
vo.setTodayOrderGoodsSum(driver);
// 计算当前用户(司机)今天所有收益==0
vo.setTodayEstimateProfit(BigDecimal.ZERO);
}
// 若是车主也是司机
if (ownerFlag && driverFlag) {
vo.setTodayOrderGoodsSum(ownerTruck + driver);
vo.setTodayEstimateProfit(ownerWeight);
return vo;
}
return vo; return vo;
} }
/**
* 判断当前用户是否为车主
*
* @param trunkOwnerUserNo
* @return
*/
private boolean isTruckOwner(Long trunkOwnerUserNo){
// 获取车辆新信息
DriverTruckInfoFeignVo driverTruckInfoFeignVo = Optional.ofNullable(driverFeign
.getDriverTruckInfoByTrunkOwnerUserNo(trunkOwnerUserNo)).filter(Result:: succeed).map(Result::getData)
.orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
if (Objects.nonNull(driverTruckInfoFeignVo)) {
return true;
}
return false;
}
/**
* 判断当前用户是否为司机
*
* @param driverUserNo
* @return
*/
private boolean isDriver(Long driverUserNo) {
DriverInfoFeignVo driverInfoFeignVo = Optional.ofNullable(driverFeign.getDriverInfo(driverUserNo)).filter(Result:: succeed).map(Result::getData)
.orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
if (Objects.nonNull(driverInfoFeignVo)) {
return true;
}
return false;
}
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论