提交 9c82cfa9 authored 作者: 马路路's avatar 马路路

Merge remote-tracking branch 'origin/v29.6_ultimate_interaction_20241017' into test_jdk17

# Conflicts: # clx-performance-web/src/main/java/com/clx/performance/dao/OrderChildDao.java # clx-performance-web/src/main/java/com/clx/performance/dao/impl/OrderChildDaoImpl.java Former-commit-id: 63ae4cee
package com.clx.performance.controller.app; package com.clx.performance.controller.app;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.mapper.OrderGoodsMapper;
import com.clx.performance.model.OrderGoods;
import com.clx.performance.param.app.AppGoodsOrderSearchParam; import com.clx.performance.param.app.AppGoodsOrderSearchParam;
import com.clx.performance.param.app.OrderGoodsListPageParam; import com.clx.performance.param.app.OrderGoodsListPageParam;
import com.clx.performance.service.OrderGoodsService; import com.clx.performance.service.OrderGoodsService;
import com.clx.performance.service.OrderGoodsTruckBindService; import com.clx.performance.service.OrderGoodsTruckBindService;
import com.clx.performance.vo.app.OrderGoodsAPPVO; import com.clx.performance.vo.app.OrderGoodsAPPVO;
import com.clx.performance.vo.app.OrderGoodsTodaySumVO;
import com.clx.performance.vo.pc.OrderGoodsVO; import com.clx.performance.vo.pc.OrderGoodsVO;
import com.msl.common.base.PageData; import com.msl.common.base.PageData;
import com.msl.common.convertor.aspect.UnitCovert; import com.msl.common.convertor.aspect.UnitCovert;
import com.msl.common.result.Result; import com.msl.common.result.Result;
import com.msl.user.data.UserSessionData;
import com.msl.user.utils.TokenUtil;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -76,4 +72,11 @@ public class AppGoodsOrderController { ...@@ -76,4 +72,11 @@ public class AppGoodsOrderController {
public Result<List<OrderGoodsAPPVO>> getCancelOrderGoods(@RequestParam(value = "userNo") Long userNo) { public Result<List<OrderGoodsAPPVO>> getCancelOrderGoods(@RequestParam(value = "userNo") Long userNo) {
return Result.ok(orderGoodsTruckBindService.getCancelOrderGoods(userNo)); return Result.ok(orderGoodsTruckBindService.getCancelOrderGoods(userNo));
} }
@Operation(summary = "司机端获取当日已接单(包含已取消)、今日预估利润", description = "br>By:马路路")
@GetMapping("/getTodayOrderGoodsSum")
@UnitCovert(param = false)
public Result<OrderGoodsTodaySumVO> getTodayOrderGoodsSum () {
return Result.ok(orderGoodsService.getTodayOrderGoodsSum());
}
} }
package com.clx.performance.controller.app.collect;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.app.collect.AppCarrierDriverCollectSaveParam;
import com.clx.performance.param.app.collect.AppCarrierDriverCollectTransportIntentionParam;
import com.clx.performance.service.collect.CollectDriverTransportIntentionService;
import com.clx.performance.service.collect.DriverTransportIntentionInfoService;
import com.clx.performance.vo.pc.collect.CarrierDriverCollectTransportIntentionVO;
import com.msl.common.base.PageData;
import com.msl.common.result.Result;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@Slf4j
@RestController
@RequestMapping(value="/app/collect/intention")
@Validated
@Tag(name = "承运司机端-拉运意愿")
@AllArgsConstructor
public class AppCarrierDriverCollectTransportIntentionController {
private final DriverTransportIntentionInfoService driverTransportIntentionInfoService;
private final CollectDriverTransportIntentionService collectDriverTransportIntentionService;
@Operation(summary = "获取Web端已配置的拉运意愿列表",description = "<br>By:马路路")
@PostMapping("/getList")
Result<PageData<CarrierDriverCollectTransportIntentionVO>> getList(@RequestBody AppCarrierDriverCollectTransportIntentionParam param) {
IPage<CarrierDriverCollectTransportIntentionVO> page = collectDriverTransportIntentionService.listCarrierDriverCollectTransportIntentionAll(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
@Operation(summary = "保存已勾选拉运意愿",description = "<br>By:马路路")
@PostMapping("/saveCheckedList")
public Result<Object> saveCheckedList(@RequestBody AppCarrierDriverCollectSaveParam param) {
driverTransportIntentionInfoService.saveCheckedList(param);
return Result.ok();
}
@Operation(summary = "获取当前用户已勾选信息", description = "<br>By:马路路")
@PostMapping("/getCurrentUserCheckInfo")
public Result<List<CarrierDriverCollectTransportIntentionVO>> getCurrentUserCheckInfo() {
return Result.ok(driverTransportIntentionInfoService.getCurrentUserCheckInfo());
}
}
package com.clx.performance.controller.pc.collect;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.app.collect.*;
import com.clx.performance.service.collect.CollectDriverTransportIntentionService;
import com.clx.performance.vo.pc.collect.CarrierDriverCollectTransportIntentionRecordVO;
import com.clx.performance.vo.pc.collect.CarrierDriverCollectTransportIntentionVO;
import com.msl.common.base.PageData;
import com.msl.common.result.Result;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@Slf4j
@RestController
@RequestMapping(value = "/pc/carrier/driver/collect/intention")
@Validated
@Tag(name = "承运PC-配置中心—配置管理—问卷配置")
@AllArgsConstructor
public class CarrierDriverCollectTransportIntentionController {
private final CollectDriverTransportIntentionService collectDriverTransportIntentionService;
@Operation(summary = "新增", description = "<br>By:马路路")
@PostMapping("/add")
public Result<Object> saveCarrierDriverCollectTransportIntention(@RequestBody @Validated CarrierDriverCollectTransportIntentionAddParam param) {
collectDriverTransportIntentionService.saveCarrierDriverCollectTransportIntention(param);
return Result.ok();
}
@Operation(summary = "编辑更新", description = "<br>By:马路路")
@PostMapping("/update")
public Result<Object> updateCarrierDriverCollectTransportIntention(@RequestBody @Validated CarrierDriverCollectTransportIntentionEditParam param) {
collectDriverTransportIntentionService.updateCarrierDriverCollectTransportIntention(param);
return Result.ok();
}
@Operation(summary = "删除", description = "<br>By:马路路")
@PostMapping("/delete")
public Result<Object> deleteCarrierDriverCollectTransportIntention(@RequestBody CarrierDriverCollectTransportIntentionDetailParam param) {
collectDriverTransportIntentionService.deleteCarrierDriverCollectTransportIntention(param);
return Result.ok();
}
@Operation(summary = "启用/禁用", description = "<br>By:马路路")
@PostMapping("/enable")
public Result<Object> enableCarrierDriverCollectTransportIntention(@RequestBody @Validated CarrierDriverCollectTransportIntentionEnableParam param) {
collectDriverTransportIntentionService.enableCarrierDriverCollectTransportIntention(param);
return Result.ok();
}
@Operation(summary = "列表", description = "<br>By:马路路")
@PostMapping("/list")
public Result<PageData<CarrierDriverCollectTransportIntentionVO>> listCarrierDriverCollectTransportIntention(@RequestBody CarrierDriverCollectTransportIntentionListParam param) {
IPage<CarrierDriverCollectTransportIntentionVO> page = collectDriverTransportIntentionService.listCarrierDriverCollectTransportIntention(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
@Operation(summary = "查看选项详情", description = "<br>By:马路路")
@PostMapping("/detail")
public Result<List<CarrierDriverCollectTransportIntentionRecordVO>> detailCarrierDriverCollectTransportIntention(@RequestBody CarrierDriverCollectTransportIntentionDetailParam param) {
return Result.ok(collectDriverTransportIntentionService.detailCarrierDriverCollectTransportIntention(param));
}
@Operation(summary = "进行中数据调整顺序", description = "<br>By:马路路")
@GetMapping("/updateAdjustOrder")
public Result<Object> updateAdjustOrder (@RequestParam("adjustOrderOneId") @NotNull(message = "调整订单1的id不能为空") Integer adjustOrderId,
@RequestParam("adjustOrderTwoId") @NotNull(message = "调整订单2的id不能为空") Integer adjustOrderBeforeId) {
collectDriverTransportIntentionService.updateAdjustOrder(adjustOrderId,adjustOrderBeforeId);
return Result.ok();
}
}
...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; ...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dto.CancelOrderGoodsWeightDTO; import com.clx.performance.dto.CancelOrderGoodsWeightDTO;
import com.clx.performance.dto.OrderGoodsNotCancelChildDTO; import com.clx.performance.dto.OrderGoodsNotCancelChildDTO;
import com.clx.performance.dto.OrderGoodsTodaySumDTO;
import com.clx.performance.dto.linewarn.LineWarnOrderChildStatisticsDTO; import com.clx.performance.dto.linewarn.LineWarnOrderChildStatisticsDTO;
import com.clx.performance.mapper.OrderChildMapper; import com.clx.performance.mapper.OrderChildMapper;
import com.clx.performance.model.OrderChild; import com.clx.performance.model.OrderChild;
...@@ -198,7 +199,6 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int ...@@ -198,7 +199,6 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int
void updateBatchOwnerCancel(List<String> childNos); void updateBatchOwnerCancel(List<String> childNos);
List<CancelOrderGoodsWeightDTO> statisticsCancelOrderGoodsWeight(List<String> childNos); List<CancelOrderGoodsWeightDTO> statisticsCancelOrderGoodsWeight(List<String> childNos);
List<OrderChild> listBeforeUnloadOrderChild(LocalDateTime startTime,LocalDateTime endTime); List<OrderChild> listBeforeUnloadOrderChild(LocalDateTime startTime,LocalDateTime endTime);
...@@ -207,11 +207,8 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int ...@@ -207,11 +207,8 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int
List<OrderChild> listCompleteByOrderNos(List<String> strings); List<OrderChild> listCompleteByOrderNos(List<String> strings);
List<OrderChild> listChidNosByStatus(List<Integer> status); List<OrderChild> listChidNosByStatus(List<Integer> status);
List<OrderGoodsNotCancelChildDTO> countValidByOrderGoodsNoList(List<String> orderGoodsList); List<OrderGoodsNotCancelChildDTO> countValidByOrderGoodsNoList(List<String> orderGoodsList);
void batchUpdateCancel(List<OrderChild> canCancelOrderChildList); void batchUpdateCancel(List<OrderChild> canCancelOrderChildList);
...@@ -227,4 +224,7 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int ...@@ -227,4 +224,7 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int
Long queryNoCancelChildByOrderGoodsNo(String orderGoodsNo, Integer code); Long queryNoCancelChildByOrderGoodsNo(String orderGoodsNo, Integer code);
List<OrderChild> listNoCancelOrderChild(String orderNo); List<OrderChild> listNoCancelOrderChild(String orderNo);
OrderGoodsTodaySumDTO countTodayOrderGoodsSumByUserNo(Long userNo);
} }
package com.clx.performance.dao.collect;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.app.collect.AppCarrierDriverCollectTransportIntentionParam;
import com.clx.performance.param.app.collect.CarrierDriverCollectTransportIntentionListParam;
import com.msl.common.dao.BaseDao;
import com.clx.performance.mapper.collect.CollectDriverTransportIntentionMapper;
import com.clx.performance.model.collect.CollectDriverTransportIntention;
/**
* @author kavin
* Date 2024-10-17
* Time 16:26
*/
public interface CollectDriverTransportIntentionDao extends BaseDao<CollectDriverTransportIntentionMapper, CollectDriverTransportIntention, Integer> {
IPage<CollectDriverTransportIntention> listByCondition(CarrierDriverCollectTransportIntentionListParam param);
IPage<CollectDriverTransportIntention> listEnableInfo(AppCarrierDriverCollectTransportIntentionParam param);
void updateRecordOrder(Long sortNo, boolean isUp);
}
package com.clx.performance.dao.collect;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.model.collect.CollectDriverTransportIntention;
import com.clx.performance.vo.pc.collect.CarrierDriverCollectTransportIntentionRecordVO;
import com.msl.common.dao.BaseDao;
import com.clx.performance.mapper.collect.CollectDriverTransportIntentionRecordMapper;
import com.clx.performance.model.collect.CollectDriverTransportIntentionRecord;
import java.util.List;
/**
* @author kavin
* Date 2024-10-17
* Time 16:26
*/
public interface CollectDriverTransportIntentionRecordDao extends BaseDao<CollectDriverTransportIntentionRecordMapper, CollectDriverTransportIntentionRecord, Integer> {
}
package com.clx.performance.dao.collect;
import com.clx.performance.mapper.collect.DriverTransportIntentionInfoMapper;
import com.clx.performance.model.collect.DriverTransportIntentionInfo;
import com.msl.common.dao.BaseDao;
/**
* @author kavin
* Date 2024-10-18
* Time 18:03
*/
public interface DriverTransportIntentionInfoDao extends BaseDao<DriverTransportIntentionInfoMapper, DriverTransportIntentionInfo, Integer> {
}
...@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; ...@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dao.OrderChildDao; import com.clx.performance.dao.OrderChildDao;
import com.clx.performance.dto.CancelOrderGoodsWeightDTO; import com.clx.performance.dto.CancelOrderGoodsWeightDTO;
import com.clx.performance.dto.OrderGoodsNotCancelChildDTO; import com.clx.performance.dto.OrderGoodsNotCancelChildDTO;
import com.clx.performance.dto.OrderGoodsTodaySumDTO;
import com.clx.performance.dto.linewarn.LineWarnOrderChildStatisticsDTO; import com.clx.performance.dto.linewarn.LineWarnOrderChildStatisticsDTO;
import com.clx.performance.enums.OrderChildEnum; import com.clx.performance.enums.OrderChildEnum;
import com.clx.performance.mapper.OrderChildMapper; import com.clx.performance.mapper.OrderChildMapper;
...@@ -458,7 +459,6 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild, ...@@ -458,7 +459,6 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
.in(OrderChild::getChildNo, childNoList) .in(OrderChild::getChildNo, childNoList)
); } ); }
@Override @Override
public BigDecimal getLinePoundDifferenceRatioAvg(Integer sendSystemAddressId, Integer receiveSystemAddressId, String beginTime) { public BigDecimal getLinePoundDifferenceRatioAvg(Integer sendSystemAddressId, Integer receiveSystemAddressId, String beginTime) {
return baseMapper.getLinePoundDifferenceRatioAvg(sendSystemAddressId, receiveSystemAddressId, beginTime); return baseMapper.getLinePoundDifferenceRatioAvg(sendSystemAddressId, receiveSystemAddressId, beginTime);
...@@ -584,7 +584,6 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild, ...@@ -584,7 +584,6 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
return list(lQrWrapper().in(OrderChild :: getChildNo,childNoList)); return list(lQrWrapper().in(OrderChild :: getChildNo,childNoList));
} }
@Override @Override
public MonthInComeAndOrderedVO statisticsTruckMonth(LocalDateTime startTime, LocalDateTime endTime, String truckNo) { public MonthInComeAndOrderedVO statisticsTruckMonth(LocalDateTime startTime, LocalDateTime endTime, String truckNo) {
return baseMapper.statisticsTruckMonth(startTime,endTime,truckNo); return baseMapper.statisticsTruckMonth(startTime,endTime,truckNo);
...@@ -658,7 +657,6 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild, ...@@ -658,7 +657,6 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
); );
} }
@Override @Override
public List<CancelOrderGoodsWeightDTO> statisticsCancelOrderGoodsWeight(List<String> childNos) { public List<CancelOrderGoodsWeightDTO> statisticsCancelOrderGoodsWeight(List<String> childNos) {
return baseMapper.statisticsCancelOrderGoodsWeight(childNos); return baseMapper.statisticsCancelOrderGoodsWeight(childNos);
...@@ -690,6 +688,14 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild, ...@@ -690,6 +688,14 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
); );
} }
@Override
public List<OrderChild> listBeforeUnloadOrderChild(LocalDateTime startTime,LocalDateTime endTime) {
return list(lQrWrapper()
.lt(OrderChild :: getStatus, OrderChildEnum.Status.ARRIVE_RECEIVE.getCode())
.ge(OrderChild :: getCreateTime,startTime)
.le(OrderChild :: getCreateTime,endTime)
);
}
@Override @Override
public List<OrderChild> listChidNosByStatus(List<Integer> status) { public List<OrderChild> listChidNosByStatus(List<Integer> status) {
...@@ -698,7 +704,6 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild, ...@@ -698,7 +704,6 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
); );
} }
@Override @Override
public List<OrderGoodsNotCancelChildDTO> countValidByOrderGoodsNoList(List<String> orderGoodsList) { public List<OrderGoodsNotCancelChildDTO> countValidByOrderGoodsNoList(List<String> orderGoodsList) {
return baseMapper.countValidByOrderGoodsNoList(orderGoodsList); return baseMapper.countValidByOrderGoodsNoList(orderGoodsList);
...@@ -750,4 +755,9 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild, ...@@ -750,4 +755,9 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
); );
} }
@Override
public OrderGoodsTodaySumDTO countTodayOrderGoodsSumByUserNo(Long userNo) {
return baseMapper.countTodayOrderGoodsSumByUserNo(userNo);
}
} }
package com.clx.performance.dao.impl.collect;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dao.collect.CollectDriverTransportIntentionDao;
import com.clx.performance.enums.collect.CollectDriverTransportIntentionEnum;
import com.clx.performance.mapper.collect.CollectDriverTransportIntentionMapper;
import com.clx.performance.model.collect.CollectDriverTransportIntention;
import com.clx.performance.param.app.collect.AppCarrierDriverCollectTransportIntentionParam;
import com.clx.performance.param.app.collect.CarrierDriverCollectTransportIntentionListParam;
import com.msl.common.dao.impl.BaseDaoImpl;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Repository;
import java.util.Objects;
/**
* @author kavin
* Date 2024-10-17
* Time 16:26
*/
@Repository
public class CollectDriverTransportIntentionDaoImpl extends BaseDaoImpl<CollectDriverTransportIntentionMapper, CollectDriverTransportIntention, Integer> implements CollectDriverTransportIntentionDao {
@Override
public IPage<CollectDriverTransportIntention> listByCondition(CarrierDriverCollectTransportIntentionListParam param) {
LambdaQueryWrapper<CollectDriverTransportIntention> query = new LambdaQueryWrapper<>();
if (StringUtils.isNotBlank(param.getCollectName())) {
query.like(CollectDriverTransportIntention::getCollectName, param.getCollectName());
}
// 时间倒序排列
query.orderByDesc(CollectDriverTransportIntention::getSortNo);
return baseMapper.selectPage(Page.of(param.getPage(), param.getPageSize()), query);
}
@Override
public IPage<CollectDriverTransportIntention> listEnableInfo(AppCarrierDriverCollectTransportIntentionParam param) {
LambdaQueryWrapper<CollectDriverTransportIntention> query = new LambdaQueryWrapper<>();
// 启用状态
query.eq(CollectDriverTransportIntention::getStatus,
CollectDriverTransportIntentionEnum.StatusType.STATUS_ENABLE.getCode());
if (Objects.nonNull(param.getCollectType())) {
query.eq(CollectDriverTransportIntention::getCollectType, param.getCollectType());
}
// 按照排序编号降序
query.orderByDesc(CollectDriverTransportIntention::getSortNo);
return baseMapper.selectPage(Page.of(param.getPage(), param.getPageSize()), query);
}
@Override
public void updateRecordOrder(Long seq, boolean isUp) {
LambdaUpdateWrapper<CollectDriverTransportIntention> update = new LambdaUpdateWrapper<>();
if (isUp) {
update.gt(CollectDriverTransportIntention::getSortNo, seq);
} else {
update.ge(CollectDriverTransportIntention::getSortNo, seq);
}
update.setSql("sort_no = sort_no + 1");
baseMapper.update(null, update);
}
}
package com.clx.performance.dao.impl.collect;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.dao.collect.CollectDriverTransportIntentionRecordDao;
import com.clx.performance.mapper.collect.CollectDriverTransportIntentionRecordMapper;
import com.clx.performance.model.collect.CollectDriverTransportIntentionRecord;
import com.clx.performance.vo.pc.collect.CarrierDriverCollectTransportIntentionRecordVO;
import com.msl.common.dao.impl.BaseDaoImpl;
import org.springframework.stereotype.Repository;
/**
* @author kavin
* Date 2024-10-17
* Time 16:26
*/
@Repository
public class CollectDriverTransportIntentionRecordDaoImpl extends BaseDaoImpl<CollectDriverTransportIntentionRecordMapper, CollectDriverTransportIntentionRecord, Integer> implements CollectDriverTransportIntentionRecordDao {
}
package com.clx.performance.dao.impl.collect;
import com.clx.performance.dao.collect.DriverTransportIntentionInfoDao;
import com.clx.performance.mapper.collect.DriverTransportIntentionInfoMapper;
import com.clx.performance.model.collect.DriverTransportIntentionInfo;
import com.msl.common.dao.impl.BaseDaoImpl;
import org.springframework.stereotype.Repository;
/**
* @author kavin
* Date 2024-10-18
* Time 18:03
*/
@Repository
public class DriverTransportIntentionInfoDaoImpl extends BaseDaoImpl<DriverTransportIntentionInfoMapper, DriverTransportIntentionInfo, Integer> implements DriverTransportIntentionInfoDao {
}
package com.clx.performance.dto;
import com.msl.common.convertor.type.MoneyOutConvert;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.math.BigDecimal;
@Getter
@Setter
@NoArgsConstructor
public class OrderGoodsTodaySumDTO {
@Schema(description="今日已接单数")
private Integer todayOrderGoodsSum;
@Schema(description="今日预估利润")
@MoneyOutConvert
private BigDecimal todayEstimateProfit;
}
...@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; ...@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dto.CancelOrderGoodsWeightDTO; import com.clx.performance.dto.CancelOrderGoodsWeightDTO;
import com.clx.performance.dto.OrderGoodsNotCancelChildDTO; import com.clx.performance.dto.OrderGoodsNotCancelChildDTO;
import com.clx.performance.dto.OrderGoodsTodaySumDTO;
import com.clx.performance.dto.linewarn.LineWarnOrderChildStatisticsDTO; import com.clx.performance.dto.linewarn.LineWarnOrderChildStatisticsDTO;
import com.clx.performance.model.OrderChild; import com.clx.performance.model.OrderChild;
import com.clx.performance.param.app.PageOrderChildOfDriverParam; import com.clx.performance.param.app.PageOrderChildOfDriverParam;
...@@ -192,4 +193,8 @@ public interface OrderChildMapper extends BaseMapper<OrderChild> { ...@@ -192,4 +193,8 @@ 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);
@Select("select count(*) AS todayOrderGoodsSum, IFNULL(SUM(freight),0) AS todayEstimateProfit from order_child " +
" where user_no=#{userNo} and status in(10,110) AND create_time >= CURDATE()" +
" AND create_time <= CURDATE() + INTERVAL 1 DAY - INTERVAL 1 SECOND")
OrderGoodsTodaySumDTO countTodayOrderGoodsSumByUserNo(Long userNo);
} }
\ No newline at end of file
package com.clx.performance.mapper.collect;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.clx.performance.model.collect.CollectDriverTransportIntention;
/**
* @author kavin
* Date 2024-10-17
* Time 16:26
*/
public interface CollectDriverTransportIntentionMapper extends BaseMapper<CollectDriverTransportIntention> {
}
package com.clx.performance.mapper.collect;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.clx.performance.model.collect.CollectDriverTransportIntentionRecord;
/**
* @author kavin
* Date 2024-10-17
* Time 16:26
*/
public interface CollectDriverTransportIntentionRecordMapper extends BaseMapper<CollectDriverTransportIntentionRecord> {
}
package com.clx.performance.mapper.collect;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.clx.performance.model.collect.DriverTransportIntentionInfo;
/**
* @author kavin
* Date 2024-10-18
* Time 18:03
*/
public interface DriverTransportIntentionInfoMapper extends BaseMapper<DriverTransportIntentionInfo> {
}
package com.clx.performance.model.collect;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.msl.common.config.KeyColumn;
import com.msl.common.model.HasKey;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
/**
* @author kavin
* Date 2024-10-17
* Time 16:26
*/
@Getter
@Setter
@Accessors(chain = true)
@TableName("collect_driver_transport_intention")
public class CollectDriverTransportIntention implements HasKey<Integer> {
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@TableField("sort_no")
@Schema(description="排序编号")
private Long sortNo;
@TableField("collect_name")
@Schema(description="问题名称")
private String collectName;
@TableField("collect_describe")
@Schema(description="问题描述")
private String collectDescribe;
@TableField("collect_check_type")
@Schema(description="状态:1单选 2多选")
private Integer collectCheckType;
@TableField("collect_type")
@Schema(description="状态:1拉运意向 2拒绝拉运")
private Integer collectType;
@TableField("create_user_no")
@Schema(description="操作人编码")
private Long createUserNo;
@TableField("create_user_name")
@Schema(description="操作人")
private String createUserName;
@TableField("delete_status")
@Schema(description="删除状态: 0-否;1-是")
private Integer deleteStatus;
@TableField("status")
@Schema(description="状态:1启用 2禁用")
private Integer status;
@TableField("create_time")
@Schema(description="创建时间")
private LocalDateTime createTime;
@TableField("modified_time")
@Schema(description="修改时间")
private LocalDateTime modifiedTime;
@Override
@KeyColumn("id")
public Integer gainKey() {
return this.id;
}
}
package com.clx.performance.model.collect;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.msl.common.config.KeyColumn;
import com.msl.common.model.HasKey;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
/**
* @author kavin
* Date 2024-10-17
* Time 16:26
*/
@Getter
@Setter
@Accessors(chain = true)
@TableName("collect_driver_transport_intention_record")
public class CollectDriverTransportIntentionRecord implements HasKey<Integer> {
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@TableField("collect_driver_transport_intention_id")
@Schema(description="收集司机拉运意向id")
private Integer collectDriverTransportIntentionId;
@TableField("collect_record_sort_no")
@Schema(description="选项排序编号")
private Integer collectRecordSort;
@TableField("collect_record_name")
@Schema(description="选项名称")
private String collectRecordName;
@TableField("create_user_no")
@Schema(description="操作人编码")
private Long createUserNo;
@TableField("create_user_name")
@Schema(description="操作人")
private String createUserName;
@TableField("delete_status")
@Schema(description="删除状态: 0-否;1-是")
private Integer deleteStatus;
@TableField("create_time")
@Schema(description="创建时间")
private LocalDateTime createTime;
@TableField("modified_time")
@Schema(description="修改时间")
private LocalDateTime modifiedTime;
@Override
@KeyColumn("id")
public Integer gainKey() {
return this.id;
}
}
package com.clx.performance.model.collect;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.msl.common.config.KeyColumn;
import com.msl.common.model.HasKey;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import io.swagger.v3.oas.annotations.media.Schema;
/**
* @author kavin
* Date 2024-10-18
* Time 18:03
*/
@Getter
@Setter
@Accessors(chain = true)
@TableName("driver_transport_intention_info")
public class DriverTransportIntentionInfo implements HasKey<Integer> {
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@TableField("create_user_no")
@Schema(description="操作人编码")
private Long createUserNo;
@TableField("create_user_name")
@Schema(description="操作人")
private String createUserName;
@TableField("collect_transport_intention_id")
@Schema(description="选项排序编号")
private Integer collectTransportIntentionId;
@TableField("collect_transport_intention_record_id")
@Schema(description="选项名称")
private Integer collectTransportIntentionRecordId;
@TableField("create_time")
@Schema(description="创建时间")
private LocalDateTime createTime;
@TableField("modified_time")
@Schema(description="修改时间")
private LocalDateTime modifiedTime;
@Override
@KeyColumn("id")
public Integer gainKey() {
return this.id;
}
}
...@@ -8,8 +8,8 @@ import com.clx.performance.param.app.OrderGoodsListPageParam; ...@@ -8,8 +8,8 @@ import com.clx.performance.param.app.OrderGoodsListPageParam;
import com.clx.performance.param.feign.CancelOrderGoodsParam; import com.clx.performance.param.feign.CancelOrderGoodsParam;
import com.clx.performance.param.feign.DistributionTruckParam; import com.clx.performance.param.feign.DistributionTruckParam;
import com.clx.performance.param.pc.*; import com.clx.performance.param.pc.*;
import com.clx.performance.param.pc.carrier.PageSettlementOrderChildRiskParam;
import com.clx.performance.vo.app.OrderGoodsAPPVO; import com.clx.performance.vo.app.OrderGoodsAPPVO;
import com.clx.performance.vo.app.OrderGoodsTodaySumVO;
import com.clx.performance.vo.feign.FreightEstimateVO; import com.clx.performance.vo.feign.FreightEstimateVO;
import com.clx.performance.vo.feign.OrderGoodsFeignVO; import com.clx.performance.vo.feign.OrderGoodsFeignVO;
import com.clx.performance.vo.pc.DriverFreightPriceVO; import com.clx.performance.vo.pc.DriverFreightPriceVO;
...@@ -116,4 +116,6 @@ public interface OrderGoodsService { ...@@ -116,4 +116,6 @@ public interface OrderGoodsService {
BigDecimal calcOrderGoodsResidueWeight(BigDecimal extractWeight,BigDecimal alreadyWeight); BigDecimal calcOrderGoodsResidueWeight(BigDecimal extractWeight,BigDecimal alreadyWeight);
OrderGoodsTodaySumVO getTodayOrderGoodsSum();
} }
package com.clx.performance.service.collect;
/**
* @author kavin
* Date 2024-10-17
* Time 16:26
*/
public interface CollectDriverTransportIntentionRecordService {
}
package com.clx.performance.service.collect;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.app.collect.*;
import com.clx.performance.vo.pc.collect.CarrierDriverCollectTransportIntentionRecordVO;
import com.clx.performance.vo.pc.collect.CarrierDriverCollectTransportIntentionVO;
import java.util.List;
/**
* @author kavin
* Date 2024-10-17
* Time 16:26
*/
public interface CollectDriverTransportIntentionService {
Integer saveCarrierDriverCollectTransportIntention(CarrierDriverCollectTransportIntentionAddParam param);
Integer updateCarrierDriverCollectTransportIntention(CarrierDriverCollectTransportIntentionEditParam param);
Integer enableCarrierDriverCollectTransportIntention(CarrierDriverCollectTransportIntentionEnableParam param);
Integer deleteCarrierDriverCollectTransportIntention(CarrierDriverCollectTransportIntentionDetailParam param);
IPage<CarrierDriverCollectTransportIntentionVO> listCarrierDriverCollectTransportIntention(CarrierDriverCollectTransportIntentionListParam param);
List<CarrierDriverCollectTransportIntentionRecordVO> detailCarrierDriverCollectTransportIntention(CarrierDriverCollectTransportIntentionDetailParam param);
IPage<CarrierDriverCollectTransportIntentionVO> listCarrierDriverCollectTransportIntentionAll(AppCarrierDriverCollectTransportIntentionParam param);
void updateAdjustOrder(Integer adjustOrderId, Integer adjustOrderBeforeId);
}
package com.clx.performance.service.collect;
import com.clx.performance.param.app.collect.AppCarrierDriverCollectSaveParam;
import com.clx.performance.vo.pc.collect.CarrierDriverCollectTransportIntentionVO;
import java.util.List;
/**
* @author kavin
* Date 2024-10-18
* Time 18:03
*/
public interface DriverTransportIntentionInfoService {
void saveCheckedList(AppCarrierDriverCollectSaveParam param);
List<CarrierDriverCollectTransportIntentionVO> getCurrentUserCheckInfo();
}
...@@ -20,6 +20,7 @@ import com.clx.performance.constant.RabbitKeyConstants; ...@@ -20,6 +20,7 @@ import com.clx.performance.constant.RabbitKeyConstants;
import com.clx.performance.dao.*; import com.clx.performance.dao.*;
import com.clx.performance.dto.OrderGoodsBindTruckNumDTO; import com.clx.performance.dto.OrderGoodsBindTruckNumDTO;
import com.clx.performance.dto.OrderGoodsCancelDTO; import com.clx.performance.dto.OrderGoodsCancelDTO;
import com.clx.performance.dto.OrderGoodsTodaySumDTO;
import com.clx.performance.enums.*; import com.clx.performance.enums.*;
import com.clx.performance.enums.settle.SettlementWayEnum; import com.clx.performance.enums.settle.SettlementWayEnum;
import com.clx.performance.extranal.order.QuotationService; import com.clx.performance.extranal.order.QuotationService;
...@@ -39,6 +40,7 @@ import com.clx.performance.utils.excel.ExcelField; ...@@ -39,6 +40,7 @@ import com.clx.performance.utils.excel.ExcelField;
import com.clx.performance.utils.excel.ExcelSheet; import com.clx.performance.utils.excel.ExcelSheet;
import com.clx.performance.utils.excel.ExcelUtil; import com.clx.performance.utils.excel.ExcelUtil;
import com.clx.performance.vo.app.OrderGoodsAPPVO; import com.clx.performance.vo.app.OrderGoodsAPPVO;
import com.clx.performance.vo.app.OrderGoodsTodaySumVO;
import com.clx.performance.vo.feign.FreightEstimateVO; import com.clx.performance.vo.feign.FreightEstimateVO;
import com.clx.performance.vo.feign.OrderExtractWeightVO; import com.clx.performance.vo.feign.OrderExtractWeightVO;
import com.clx.performance.vo.feign.OrderGoodsFeignVO; import com.clx.performance.vo.feign.OrderGoodsFeignVO;
...@@ -1105,4 +1107,15 @@ public class OrderGoodsServiceImpl implements OrderGoodsService, InitializingBea ...@@ -1105,4 +1107,15 @@ public class OrderGoodsServiceImpl implements OrderGoodsService, InitializingBea
BigDecimal weight2 = Objects.nonNull(alreadyWeight)?alreadyWeight:BigDecimal.ZERO; BigDecimal weight2 = Objects.nonNull(alreadyWeight)?alreadyWeight:BigDecimal.ZERO;
return weight1.subtract(weight2); return weight1.subtract(weight2);
} }
@Override
public OrderGoodsTodaySumVO getTodayOrderGoodsSum() {
OrderGoodsTodaySumVO vo = new OrderGoodsTodaySumVO();
OrderGoodsTodaySumDTO dto = orderChildDao.countTodayOrderGoodsSumByUserNo(TokenUtil.getLoginUserInfo().getUserNo());
vo.setTodayOrderGoodsSum(dto.getTodayOrderGoodsSum());
vo.setTodayEstimateProfit(dto.getTodayEstimateProfit());
return vo;
}
} }
package com.clx.performance.service.impl.collect;
import com.clx.performance.service.collect.CollectDriverTransportIntentionRecordService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
/**
* @author kavin
* Date 2024-10-17
* Time 16:26
*/
@Service
@Slf4j
public class CollectDriverTransportIntentionRecordServiceImpl implements CollectDriverTransportIntentionRecordService {
}
package com.clx.performance.service.impl.collect;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dao.collect.CollectDriverTransportIntentionDao;
import com.clx.performance.dao.collect.CollectDriverTransportIntentionRecordDao;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.enums.ResultEnum;
import com.clx.performance.enums.collect.CollectDriverTransportIntentionEnum;
import com.clx.performance.model.collect.CollectDriverTransportIntention;
import com.clx.performance.model.collect.CollectDriverTransportIntentionRecord;
import com.clx.performance.param.app.collect.*;
import com.clx.performance.service.collect.CollectDriverTransportIntentionService;
import com.clx.performance.struct.collect.CollectDriverTransportIntentionDaoStruct;
import com.clx.performance.struct.collect.CollectDriverTransportIntentionRecordDaoStruct;
import com.clx.performance.vo.pc.collect.CarrierDriverCollectTransportIntentionRecordVO;
import com.clx.performance.vo.pc.collect.CarrierDriverCollectTransportIntentionVO;
import com.msl.common.base.Optional;
import com.msl.common.exception.ServiceSystemException;
import com.msl.user.utils.TokenUtil;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.time.LocalDateTime;
import java.util.*;
import java.util.stream.Collectors;
/**
* @author kavin
* Date 2024-10-17
* Time 16:26
*/
@Service
@Slf4j
@AllArgsConstructor
public class CollectDriverTransportIntentionServiceImpl implements CollectDriverTransportIntentionService {
private final CollectDriverTransportIntentionDao collectDriverTransportIntentionDao;
private final CollectDriverTransportIntentionRecordDao collectDriverTransportIntentionRecordDao;
private final CollectDriverTransportIntentionDaoStruct collectDriverTransportIntentionDaoStruct;
private final CollectDriverTransportIntentionRecordDaoStruct collectDriverTransportIntentionRecordDaoStruct;
@Override
@Transactional(rollbackFor = Exception.class)
public Integer saveCarrierDriverCollectTransportIntention(CarrierDriverCollectTransportIntentionAddParam param) {
if (Objects.isNull(param) || param.getCollectIntentionRecordList().isEmpty()) {
throw new ServiceSystemException(PerformanceResultEnum.DATA_NOT_FIND);
}
// 查询当前名字的数据是否存在
List<CollectDriverTransportIntention> returnList = collectDriverTransportIntentionDao.listByField(CollectDriverTransportIntention::getCollectName, param.getCollectName());
if (!CollectionUtils.isEmpty(returnList)) {
throw new ServiceSystemException(PerformanceResultEnum.DATA_REPEAT);
}
CollectDriverTransportIntention collectDriverTransportIntention = new CollectDriverTransportIntention();
// 默认排序
collectDriverTransportIntention.setSortNo(0L);
collectDriverTransportIntention.setCollectName(param.getCollectName());
collectDriverTransportIntention.setCollectDescribe(param.getCollectDescribe());
collectDriverTransportIntention.setCollectCheckType(param.getCollectCheckType());
collectDriverTransportIntention.setCollectType(param.getCollectType());
collectDriverTransportIntention.setCreateUserNo(TokenUtil.getLoginUserInfo().getUserNo());
collectDriverTransportIntention.setCreateUserName(TokenUtil.getLoginUserInfo().getUserName());
// 逻辑删除状态,默认未删除
collectDriverTransportIntention.setDeleteStatus(CollectDriverTransportIntentionEnum
.DeleteStatusType.DELETE_STATUS_NO.getCode());
// 状态,默认启用
collectDriverTransportIntention.setStatus(CollectDriverTransportIntentionEnum
.StatusType.STATUS_ENABLE.getCode());
collectDriverTransportIntention.setCreateTime(LocalDateTime.now());
collectDriverTransportIntention.setModifiedTime(LocalDateTime.now());
// 1.保存信息主表
collectDriverTransportIntentionDao.saveEntity(collectDriverTransportIntention);
log.info("saveCarrierDriverCollectTransportIntention id:{}", collectDriverTransportIntention.getId());
Integer id = collectDriverTransportIntention.getId();
List<CollectDriverTransportIntentionRecord> recordList = new ArrayList<>();
for (CarrierDriverCollectTransportIntentionRecordParam recordParam : param.getCollectIntentionRecordList()) {
CollectDriverTransportIntentionRecord record = new CollectDriverTransportIntentionRecord();
record.setCollectDriverTransportIntentionId(id);
record.setCollectRecordSort(CollectDriverTransportIntentionEnum.DefaultSortType.DEFAULT_SORT.getCode());
record.setCollectRecordName(recordParam.getCollectRecordName());
record.setCreateUserNo(TokenUtil.getLoginUserInfo().getUserNo());
record.setCreateUserName(TokenUtil.getLoginUserInfo().getUserName());
record.setDeleteStatus(CollectDriverTransportIntentionEnum
.DeleteStatusType.DELETE_STATUS_NO.getCode());
record.setCreateTime(LocalDateTime.now());
record.setModifiedTime(LocalDateTime.now());
recordList.add(record);
}
// 2.保存子表选项信息子表
boolean result = collectDriverTransportIntentionRecordDao.saveBatchList(recordList);
log.info("saveCarrierDriverCollectTransportIntention result:{}", result);
return result ? 1 : 0;
}
@Override
@Transactional(rollbackFor = Exception.class)
public Integer updateCarrierDriverCollectTransportIntention(CarrierDriverCollectTransportIntentionEditParam param) {
if (Objects.isNull(param) || param.getCollectIntentionRecordList().isEmpty()) {
throw new ServiceSystemException(PerformanceResultEnum.DATA_NOT_FIND);
}
// 1.修改主表信息
CollectDriverTransportIntention updateCollectDriverTransportIntention = new CollectDriverTransportIntention();
updateCollectDriverTransportIntention.setId(param.getId());
updateCollectDriverTransportIntention.setCollectName(param.getCollectName());
updateCollectDriverTransportIntention.setCollectDescribe(param.getCollectDescribe());
updateCollectDriverTransportIntention.setCollectCheckType(param.getCollectCheckType());
updateCollectDriverTransportIntention.setModifiedTime(LocalDateTime.now());
collectDriverTransportIntentionDao.updateEntityByKey(updateCollectDriverTransportIntention);
// 2.删除子表信息
collectDriverTransportIntentionRecordDao
.deleteInField(CollectDriverTransportIntentionRecord::getCollectDriverTransportIntentionId,
Collections.singletonList(param.getId()));
// 3.保存子表信息
List<CollectDriverTransportIntentionRecord> recordList = new ArrayList<>();
for (CarrierDriverCollectTransportIntentionRecordParam recordParam : param.getCollectIntentionRecordList()) {
CollectDriverTransportIntentionRecord record = new CollectDriverTransportIntentionRecord();
record.setCollectDriverTransportIntentionId(param.getId());
record.setCollectRecordSort(CollectDriverTransportIntentionEnum.DefaultSortType.DEFAULT_SORT.getCode());
record.setCollectRecordName(recordParam.getCollectRecordName());
record.setCreateUserNo(TokenUtil.getLoginUserInfo().getUserNo());
record.setCreateUserName(TokenUtil.getLoginUserInfo().getUserName());
record.setDeleteStatus(CollectDriverTransportIntentionEnum
.DeleteStatusType.DELETE_STATUS_NO.getCode());
record.setCreateTime(LocalDateTime.now());
record.setModifiedTime(LocalDateTime.now());
recordList.add(record);
}
// 2.保存子表选项信息子表
boolean result = collectDriverTransportIntentionRecordDao.saveBatchList(recordList);
log.info("updateCarrierDriverCollectTransportIntention result:{}", result);
return result ? 1 : 0;
}
@Override
public Integer enableCarrierDriverCollectTransportIntention(CarrierDriverCollectTransportIntentionEnableParam param) {
CollectDriverTransportIntention updateCollectDriverTransportIntention = new CollectDriverTransportIntention();
updateCollectDriverTransportIntention.setId(param.getId());
updateCollectDriverTransportIntention.setStatus(param.getStatus());
return collectDriverTransportIntentionDao.updateEntityByKey(updateCollectDriverTransportIntention) ? 1 : 0;
}
@Override
@Transactional(rollbackFor = Exception.class)
public Integer deleteCarrierDriverCollectTransportIntention(CarrierDriverCollectTransportIntentionDetailParam param) {
if (Objects.isNull(param)) {
log.info("deleteCarrierDriverCollectTransportIntention param is null");
throw new ServiceSystemException(PerformanceResultEnum.DATA_NOT_FIND);
}
// 1.删除主表信息
collectDriverTransportIntentionDao.deleteByField(CollectDriverTransportIntention::getId, param.getId());
// 2.删除子表信息
boolean result = collectDriverTransportIntentionRecordDao
.deleteByField(CollectDriverTransportIntentionRecord::getCollectDriverTransportIntentionId, param.getId());
return result ? 1 : 0;
}
@Override
public IPage<CarrierDriverCollectTransportIntentionVO> listCarrierDriverCollectTransportIntention(CarrierDriverCollectTransportIntentionListParam param) {
IPage<CollectDriverTransportIntention> page = collectDriverTransportIntentionDao.listByCondition(param);
List<CarrierDriverCollectTransportIntentionVO> list = collectDriverTransportIntentionDaoStruct.covertList(page.getRecords());
return new Page<CarrierDriverCollectTransportIntentionVO>().setPages(page.getPages()).setTotal(page.getTotal()).setRecords(list);
}
@Override
public List<CarrierDriverCollectTransportIntentionRecordVO> detailCarrierDriverCollectTransportIntention(CarrierDriverCollectTransportIntentionDetailParam param) {
List<CollectDriverTransportIntentionRecord> list = collectDriverTransportIntentionRecordDao
.listByField(CollectDriverTransportIntentionRecord::getCollectDriverTransportIntentionId, param.getId());
List<CarrierDriverCollectTransportIntentionRecordVO> listVO = collectDriverTransportIntentionRecordDaoStruct.covertList(list);
return listVO;
}
@Override
public IPage<CarrierDriverCollectTransportIntentionVO> listCarrierDriverCollectTransportIntentionAll(AppCarrierDriverCollectTransportIntentionParam param) {
// 1.查询所有已启用的信息
IPage<CollectDriverTransportIntention> page = collectDriverTransportIntentionDao.listEnableInfo(param);
if (CollectionUtils.isEmpty(page.getRecords())) {
log.info("listCarrierDriverCollectTransportIntentionAll page is null");
throw new ServiceSystemException(PerformanceResultEnum.DATA_NOT_FIND);
}
List<CarrierDriverCollectTransportIntentionVO> listVO = collectDriverTransportIntentionDaoStruct.covertList(page.getRecords());
// 筛选主键id
List<Integer> ids = listVO.stream().map(CarrierDriverCollectTransportIntentionVO::getId).toList();
// 2.关联子表
List<CollectDriverTransportIntentionRecord> recordList = collectDriverTransportIntentionRecordDao
.listInField(CollectDriverTransportIntentionRecord::getCollectDriverTransportIntentionId, ids);
if (CollectionUtils.isEmpty(recordList)) {
log.info("listCarrierDriverCollectTransportIntentionAll recordList is null");
throw new ServiceSystemException(PerformanceResultEnum.DATA_NOT_FIND);
}
List<CarrierDriverCollectTransportIntentionRecordVO> recordVOList
= collectDriverTransportIntentionRecordDaoStruct.covertList(recordList);
// 构建map
Map<Integer, List<CarrierDriverCollectTransportIntentionRecordVO>> recordVoMap =
recordVOList.stream().collect(Collectors
.groupingBy(CarrierDriverCollectTransportIntentionRecordVO::getCollectDriverTransportIntentionId));
// 遍历主编数据,构建子表数据
for (CarrierDriverCollectTransportIntentionVO vo : listVO) {
if (recordVoMap.containsKey(vo.getId())) {
vo.setCollectIntentionRecordList(recordVoMap.get(vo.getId()));
}
}
return new Page<CarrierDriverCollectTransportIntentionVO>().setPages(page.getPages()).setTotal(page.getTotal()).setRecords(listVO);
}
@Transactional(rollbackFor = Exception.class)
@Override
public void updateAdjustOrder(Integer adjustOrderId, Integer adjustOrderBeforeId) {
Optional<CollectDriverTransportIntention> one = collectDriverTransportIntentionDao.getEntityByKey(adjustOrderId);
//如果上调,这条记录传的是移动数据后面的记录id,如果下调,这条记录传的是移动数据前面的记录id
Optional<CollectDriverTransportIntention> two = collectDriverTransportIntentionDao.getEntityByKey(adjustOrderBeforeId);
if (!one.isPresent() || !two.isPresent()) {
throw new ServiceSystemException(ResultEnum.DATA_NOT_FIND);
}
boolean isUp = false;
//通过seq判断是上调还是下调
if (one.get().getSortNo() < two.get().getSortNo()) {
isUp = true;
}
//上调:大于two 这条记录的seq + 1 ; 下调:大于等于two这条记录的seq + 1 ;
collectDriverTransportIntentionDao.updateRecordOrder(two.get().getSortNo(), isUp);
if (isUp) { //上调
//调整的记录使用 two 的seq + 1;
CollectDriverTransportIntention updateOne = new CollectDriverTransportIntention();
updateOne.setId(one.get().getId());
updateOne.setSortNo(two.get().getSortNo() + 1);
collectDriverTransportIntentionDao.updateEntityByKey(updateOne);
} else { //下调
//调整的记录使用 two 的seq;
CollectDriverTransportIntention updateOne = new CollectDriverTransportIntention();
updateOne.setId(one.get().getId());
updateOne.setSortNo(two.get().getSortNo());
collectDriverTransportIntentionDao.updateEntityByKey(updateOne);
}
}
}
package com.clx.performance.service.impl.collect;
import com.clx.performance.dao.collect.CollectDriverTransportIntentionDao;
import com.clx.performance.dao.collect.CollectDriverTransportIntentionRecordDao;
import com.clx.performance.dao.collect.DriverTransportIntentionInfoDao;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.model.collect.CollectDriverTransportIntention;
import com.clx.performance.model.collect.CollectDriverTransportIntentionRecord;
import com.clx.performance.model.collect.DriverTransportIntentionInfo;
import com.clx.performance.param.app.collect.AppCarrierDriverCollectMainParam;
import com.clx.performance.param.app.collect.AppCarrierDriverCollectSaveParam;
import com.clx.performance.service.collect.DriverTransportIntentionInfoService;
import com.clx.performance.struct.collect.CollectDriverTransportIntentionDaoStruct;
import com.clx.performance.struct.collect.CollectDriverTransportIntentionRecordDaoStruct;
import com.clx.performance.vo.pc.collect.CarrierDriverCollectTransportIntentionRecordVO;
import com.clx.performance.vo.pc.collect.CarrierDriverCollectTransportIntentionVO;
import com.msl.common.exception.ServiceSystemException;
import com.msl.user.utils.TokenUtil;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.*;
import java.util.stream.Collectors;
/**
* @author kavin
* Date 2024-10-18
* Time 18:03
*/
@Service
@Slf4j
@AllArgsConstructor
public class DriverTransportIntentionInfoServiceImpl implements DriverTransportIntentionInfoService {
private final DriverTransportIntentionInfoDao driverTransportIntentionInfoDao;
private final CollectDriverTransportIntentionDao collectDriverTransportIntentionDao;
private final CollectDriverTransportIntentionRecordDao collectDriverTransportIntentionRecordDao;
private final CollectDriverTransportIntentionDaoStruct collectDriverTransportIntentionDaoStruct;
private final CollectDriverTransportIntentionRecordDaoStruct collectDriverTransportIntentionRecordDaoStruct;
@Override
public void saveCheckedList(AppCarrierDriverCollectSaveParam param) {
if (Objects.isNull(param) || CollectionUtils.isEmpty(param.getParamList())) {
log.info("driverTransportIntentionInfoServiceImpl saveCheckedList param is null");
throw new ServiceSystemException(PerformanceResultEnum.DATA_NOT_FIND);
}
List<DriverTransportIntentionInfo> driverTransportIntentionInfoList = new ArrayList<>();
for (AppCarrierDriverCollectMainParam saveParam : param.getParamList()) {
if (CollectionUtils.isEmpty(saveParam.getRecordIdList())) {
log.info("driverTransportIntentionInfoServiceImpl saveCheckedList saveParam is null");
throw new ServiceSystemException(PerformanceResultEnum.DATA_NOT_FIND);
}
// 遍历已勾选的选项
for (Integer intentionRecordId : saveParam.getRecordIdList()) {
DriverTransportIntentionInfo driverTransportIntentionInfo = new DriverTransportIntentionInfo();
driverTransportIntentionInfo.setCollectTransportIntentionId(saveParam.getId());
driverTransportIntentionInfo.setCollectTransportIntentionRecordId(intentionRecordId);
driverTransportIntentionInfo.setCreateUserNo(TokenUtil.getLoginUserInfo().getUserNo());
driverTransportIntentionInfo.setCreateUserName(TokenUtil.getLoginUserInfo().getUserName());
driverTransportIntentionInfo.setCreateTime(LocalDateTime.now());
driverTransportIntentionInfo.setModifiedTime(LocalDateTime.now());
driverTransportIntentionInfoList.add(driverTransportIntentionInfo);
}
}
driverTransportIntentionInfoDao.saveBatchList(driverTransportIntentionInfoList);
}
@Override
public List<CarrierDriverCollectTransportIntentionVO> getCurrentUserCheckInfo() {
// 1.根据当前用户查询所有记录
List<DriverTransportIntentionInfo> driverTransportIntentionInfoList =
driverTransportIntentionInfoDao.listByField(DriverTransportIntentionInfo::getCreateUserNo,
TokenUtil.getLoginUserInfo().getUserNo());
if (CollectionUtils.isEmpty(driverTransportIntentionInfoList)) {
log.info("driverTransportIntentionInfoServiceImpl getCurrentUserCheckInfo driverTransportIntentionInfoList is null");
throw new ServiceSystemException(PerformanceResultEnum.DATA_NOT_FIND);
}
// 2.组装主子表
// 主表id
Set<Integer> idList = driverTransportIntentionInfoList.stream()
.map(DriverTransportIntentionInfo::getCollectTransportIntentionId).collect(Collectors.toSet());
// 子表id
Set<Integer> idRecordList = driverTransportIntentionInfoList.stream()
.map(DriverTransportIntentionInfo::getCollectTransportIntentionRecordId).collect(Collectors.toSet());
List<CollectDriverTransportIntention> intentionList
= collectDriverTransportIntentionDao.listInField(CollectDriverTransportIntention::getId, idList);
List<CarrierDriverCollectTransportIntentionVO> intentionVOList
= collectDriverTransportIntentionDaoStruct.covertList(intentionList);
List<CollectDriverTransportIntentionRecord> intentionRecordList
= collectDriverTransportIntentionRecordDao.listInField(CollectDriverTransportIntentionRecord::getId, idRecordList);
List<CarrierDriverCollectTransportIntentionRecordVO> intentionRecordVOList
= collectDriverTransportIntentionRecordDaoStruct.covertList(intentionRecordList);
// 构建map
Map<Integer, List<CarrierDriverCollectTransportIntentionRecordVO>> recordMap
= intentionRecordVOList.stream().collect(Collectors
.groupingBy(CarrierDriverCollectTransportIntentionRecordVO::getCollectDriverTransportIntentionId));
for (CarrierDriverCollectTransportIntentionVO vo : intentionVOList) {
if (recordMap.containsKey(vo.getId())) {
vo.setCollectIntentionRecordList(recordMap.get(vo.getId()));
}
}
// 3.返回数据
return intentionVOList;
}
}
package com.clx.performance.struct.collect;
import com.clx.performance.model.collect.CollectDriverTransportIntention;
import com.clx.performance.vo.pc.collect.CarrierDriverCollectTransportIntentionVO;
import com.msl.common.utils.DateStructUtil;
import org.mapstruct.Mapper;
import java.util.List;
import java.util.Objects;
@Mapper(componentModel = "spring", uses = DateStructUtil.class, imports = {Objects.class})
public interface CollectDriverTransportIntentionDaoStruct {
List<CarrierDriverCollectTransportIntentionVO> covertList (List<CollectDriverTransportIntention> records);
}
package com.clx.performance.struct.collect;
import com.clx.performance.model.collect.CollectDriverTransportIntentionRecord;
import com.clx.performance.vo.pc.collect.CarrierDriverCollectTransportIntentionRecordVO;
import com.msl.common.utils.DateStructUtil;
import org.mapstruct.Mapper;
import java.util.List;
import java.util.Objects;
@Mapper(componentModel = "spring", uses = DateStructUtil.class, imports = {Objects.class})
public interface CollectDriverTransportIntentionRecordDaoStruct {
List<CarrierDriverCollectTransportIntentionRecordVO> covertList (List<CollectDriverTransportIntentionRecord> records);
}
package com.clx.performance.enums.collect;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.Optional;
/**
* 采集拉运意向删除状态
* @author 诚联信
*/
public enum CollectDriverTransportIntentionEnum {
;
@Getter
@AllArgsConstructor
public enum DeleteStatusType {
// 0-否;1-是
DELETE_STATUS_NO(0,"否"),
DELETE_STATUS_YES(1,"是");
private Integer code;
private String message;
public static Optional<DeleteStatusType> getByCode(Integer code) {
return Arrays.stream(values()).filter(e -> e.code == code).findFirst();
}
}
@Getter
@AllArgsConstructor
public enum StatusType {
// 1启用 2禁用
STATUS_ENABLE(1,"启用"),
STATUS_DISABLE(2,"禁用");
private Integer code;
private String message;
public static Optional<StatusType> getByCode(Integer code) {
return Arrays.stream(values()).filter(e -> e.code == code).findFirst();
}
}
@Getter
@AllArgsConstructor
public enum DefaultSortType {
// 默认排序0
DEFAULT_SORT(0,"默认排序");
private Integer code;
private String message;
public static Optional<DefaultSortType> getByCode(Integer code) {
return Arrays.stream(values()).filter(e -> e.code == code).findFirst();
}
}
}
package com.clx.performance.param.app.collect;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.util.List;
@Getter
@Setter
@NoArgsConstructor
public class AppCarrierDriverCollectMainParam {
@Schema(description = "拉运意愿主键id")
private Integer id;
@Schema(description = "拉运意愿选项主键id")
private List<Integer> recordIdList;
}
package com.clx.performance.param.app.collect;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.util.List;
@Getter
@Setter
@NoArgsConstructor
public class AppCarrierDriverCollectSaveParam {
@Schema(description="拉运货物意愿")
List<AppCarrierDriverCollectMainParam> paramList;
}
package com.clx.performance.param.app.collect;
import com.msl.common.base.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
public class AppCarrierDriverCollectTransportIntentionParam extends PageParam {
@Schema(description="状态:1拉运意向 2拒绝拉运")
private Integer collectType;
}
package com.clx.performance.param.app.collect;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.time.LocalDateTime;
import java.util.List;
@Getter
@Setter
@NoArgsConstructor
public class CarrierDriverCollectTransportIntentionAddParam {
@Schema(description="问题名称")
@Size(max = 10, message = "问题名称长度不能超过10")
private String collectName;
@Size(max = 20, message = "问题描述长度不能超过20")
@Schema(description="问题描述")
private String collectDescribe;
@Schema(description="状态:1单选 2多选")
@NotNull(message = "选项状态不能为空")
private Integer collectCheckType;
@Schema(description="状态:1拉运意向 2拒绝拉运")
@NotNull(message = "拉运意向状态不能为空")
private Integer collectType;
@Schema(description="操作人编码")
private Long createUserNo;
@Schema(description="操作人")
private String createUserName;
@Schema(description="删除状态: 0-否;1-是")
private Integer deleteStatus;
@Schema(description="状态:1启用 2禁用")
private Integer status;
@Schema(description="创建时间")
private LocalDateTime createTime;
@Schema(description="修改时间")
private LocalDateTime modifiedTime;
@Schema(description = "选项列表")
private List<CarrierDriverCollectTransportIntentionRecordParam> collectIntentionRecordList;
}
package com.clx.performance.param.app.collect;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
public class CarrierDriverCollectTransportIntentionDetailParam {
@Schema(description="收集司机拉运意向id")
@NotNull(message = "收集司机拉运意向id不能为null")
private Integer id;
}
package com.clx.performance.param.app.collect;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.time.LocalDateTime;
import java.util.List;
@Getter
@Setter
@NoArgsConstructor
public class CarrierDriverCollectTransportIntentionEditParam {
@Schema(description = "id", example = "123")
private Integer id;
@Schema(description="排序编号")
private Integer sortNo;
@Schema(description="问题名称")
@Size(max = 10, message = "问题名称长度不能超过10")
private String collectName;
@Size(max = 20, message = "问题描述长度不能超过20")
@Schema(description="问题描述")
private String collectDescribe;
@Schema(description="状态:1单选 2多选")
private Integer collectCheckType;
@Schema(description="状态:1拉运意向 2拒绝拉运")
private Integer collectType;
@Schema(description="操作人编码")
private Long createUserNo;
@Schema(description="操作人")
private String createUserName;
@Schema(description="删除状态: 0-否;1-是")
private Integer deleteStatus;
@Schema(description="状态:1启用 2禁用")
private Integer status;
@Schema(description="创建时间")
private LocalDateTime createTime;
@Schema(description="修改时间")
private LocalDateTime modifiedTime;
@Schema(description = "选项列表")
private List<CarrierDriverCollectTransportIntentionRecordParam> collectIntentionRecordList;
}
package com.clx.performance.param.app.collect;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
public class CarrierDriverCollectTransportIntentionEnableParam {
@Schema(description = "收集司机拉运意向id", example = "123")
private Integer id;
@Schema(description="状态:1启用 2禁用")
private Integer status;
}
package com.clx.performance.param.app.collect;
import com.msl.common.base.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.Size;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
public class CarrierDriverCollectTransportIntentionListParam extends PageParam {
@Schema(description="问题名称")
@Size(max = 10, message = "问题名称长度不能超过10")
private String collectName;
}
package com.clx.performance.param.app.collect;
import com.msl.common.base.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.time.LocalDateTime;
import java.util.List;
@Getter
@Setter
@NoArgsConstructor
public class CarrierDriverCollectTransportIntentionParam extends PageParam {
@Schema(description = "id", example = "123")
private Integer id;
@Schema(description="排序编号")
private Integer sortNo;
@Schema(description="问题名称")
@Size(max = 10, message = "问题名称长度不能超过10")
private String collectName;
@Size(max = 20, message = "问题描述长度不能超过20")
@Schema(description="问题描述")
private String collectDescribe;
@Schema(description="状态:1单选 2多选")
private Integer collectCheckType;
@Schema(description="状态:1拉运意向 2拒绝拉运")
private Integer collectType;
@Schema(description="操作人编码")
private Long createUserNo;
@Schema(description="操作人")
private String createUserName;
@Schema(description="删除状态: 0-否;1-是")
private Integer deleteStatus;
@Schema(description="状态:1启用 2禁用")
private Integer status;
@Schema(description="创建时间")
private LocalDateTime createTime;
@Schema(description="修改时间")
private LocalDateTime modifiedTime;
@Schema(description = "选项列表")
private List<CarrierDriverCollectTransportIntentionRecordParam> collectIntentionRecordList;
}
package com.clx.performance.param.app.collect;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
public class CarrierDriverCollectTransportIntentionRecordParam {
@Schema(description = "id", example = "123")
private Integer id;
@Schema(description = "收集司机拉运意向id")
private Integer collectDriverTransportIntentionId;
@Schema(description = "选项排序编号")
private Integer collectRecordSort;
@Schema(description = "选项名称")
private String collectRecordName;
}
package com.clx.performance.vo.app;
import com.msl.common.convertor.type.MoneyOutConvert;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.math.BigDecimal;
@Getter
@Setter
@NoArgsConstructor
public class OrderGoodsTodaySumVO {
@Schema(description="今日已接单数")
private Integer todayOrderGoodsSum;
@Schema(description="今日预估利润")
@MoneyOutConvert
private BigDecimal todayEstimateProfit;
}
package com.clx.performance.vo.pc.collect;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import java.time.LocalDateTime;
@Schema(description = "收集司机拉运意向选项")
@Getter
@Setter
@ToString
@NoArgsConstructor
public class CarrierDriverCollectTransportIntentionRecordVO {
private Integer id;
@Schema(description="收集司机拉运意向id")
private Integer collectDriverTransportIntentionId;
@Schema(description="选项排序编号")
private Integer collectRecordSort;
@Schema(description="选项名称")
private String collectRecordName;
@Schema(description="操作人编码")
private Long createUserNo;
@Schema(description="操作人")
private String createUserName;
@Schema(description="删除状态: 0-否;1-是")
private Integer deleteStatus;
@Schema(description="创建时间")
private LocalDateTime createTime;
@Schema(description="修改时间")
private LocalDateTime modifiedTime;
}
package com.clx.performance.vo.pc.collect;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import java.time.LocalDateTime;
import java.util.List;
@Schema(description = "收集司机拉运意向问题")
@Getter
@Setter
@ToString
@NoArgsConstructor
public class CarrierDriverCollectTransportIntentionVO {
private Integer id;
@Schema(description="排序编号")
private Integer sortNo;
@Schema(description="问题名称")
private String collectName;
@Schema(description="问题描述")
private String collectDescribe;
@Schema(description="状态:1单选 2多选")
private Integer collectCheckType;
@Schema(description="状态:1拉运意向 2拒绝拉运")
private Integer collectType;
@Schema(description="操作人编码")
private Long createUserNo;
@Schema(description="操作人")
private String createUserName;
@Schema(description="删除状态: 0-否;1-是")
private Integer deleteStatus;
@Schema(description="状态:1启用 2禁用")
private Integer status;
@Schema(description="创建时间")
private LocalDateTime createTime;
@Schema(description="修改时间")
private LocalDateTime modifiedTime;
@Schema(description = "收集司机拉运意向选项")
private List<CarrierDriverCollectTransportIntentionRecordVO> collectIntentionRecordList;
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论