提交 085fdb8e authored 作者: 马路路's avatar 马路路

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

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.CarrierDriverCollectTransportIntentionListParam;
import com.clx.performance.param.app.collect.CarrierDriverCollectTransportIntentionParam;
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 lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
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 CarrierDriverCollectTransportIntentionParam param) {
collectDriverTransportIntentionService.saveCarrierDriverCollectTransportIntention(param);
return Result.ok();
}
@Operation(summary = "编辑更新/拖动更新", description = "<br>By:马路路")
@PostMapping("/update")
public Result<Object> updateCarrierDriverCollectTransportIntention(@RequestBody @Validated CarrierDriverCollectTransportIntentionParam param) {
collectDriverTransportIntentionService.updateCarrierDriverCollectTransportIntention(param);
return Result.ok();
}
@Operation(summary = "删除", description = "<br>By:马路路")
@PostMapping("/delete")
public Result<Object> deleteCarrierDriverCollectTransportIntention(@RequestBody List<Integer> param) {
collectDriverTransportIntentionService.deleteCarrierDriverCollectTransportIntention(param);
return Result.ok();
}
@Operation(summary = "启用/禁用", description = "<br>By:马路路")
@PostMapping("/enable")
public Result<Object> enableCarrierDriverCollectTransportIntention(@RequestBody @Validated CarrierDriverCollectTransportIntentionParam 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 Integer param) {
return Result.ok(collectDriverTransportIntentionService.detailCarrierDriverCollectTransportIntention(param));
}
}
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);
}
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> {
}
package com.clx.performance.dao.impl.collect;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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;
/**
* @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::getId);
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());
// 按照排序编号降序
query.orderByDesc(CollectDriverTransportIntention::getSortNo);
return baseMapper.selectPage(Page.of(param.getPage(), param.getPageSize()), query);
}
}
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.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 Integer 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;
}
}
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.AppCarrierDriverCollectTransportIntentionParam;
import com.clx.performance.param.app.collect.CarrierDriverCollectTransportIntentionListParam;
import com.clx.performance.param.app.collect.CarrierDriverCollectTransportIntentionParam;
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(CarrierDriverCollectTransportIntentionParam param);
Integer updateCarrierDriverCollectTransportIntention(CarrierDriverCollectTransportIntentionParam param);
Integer enableCarrierDriverCollectTransportIntention(CarrierDriverCollectTransportIntentionParam param);
Integer deleteCarrierDriverCollectTransportIntention(List<Integer> param);
IPage<CarrierDriverCollectTransportIntentionVO> listCarrierDriverCollectTransportIntention(CarrierDriverCollectTransportIntentionListParam param);
List<CarrierDriverCollectTransportIntentionRecordVO> detailCarrierDriverCollectTransportIntention(Integer param);
IPage<CarrierDriverCollectTransportIntentionVO> listCarrierDriverCollectTransportIntentionAll(AppCarrierDriverCollectTransportIntentionParam param);
}
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();
}
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.clx.performance.dao.collect.CollectDriverTransportIntentionDao;
import com.clx.performance.dao.collect.CollectDriverTransportIntentionRecordDao;
import com.clx.performance.dao.collect.DriverTransportIntentionInfoDao;
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.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 CollectDriverTransportIntentionServiceImpl collectDriverTransportIntentionService;
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())) {
// todo 错误提示
}
List<DriverTransportIntentionInfo> driverTransportIntentionInfoList = new ArrayList<>();
for (AppCarrierDriverCollectMainParam saveParam : param.getParamList()) {
if (CollectionUtils.isEmpty(saveParam.getRecordIdList())) {
// todo 错误提示
}
// 遍历已勾选的选项
for (Integer intentionRecordId : saveParam.getRecordIdList()) {
DriverTransportIntentionInfo driverTransportIntentionInfo = new DriverTransportIntentionInfo();
driverTransportIntentionInfo.setCollectTransportIntentionId(saveParam.getId());
driverTransportIntentionInfo.setCollectTransportIntentionRecordId(intentionRecordId);
driverTransportIntentionInfo.setCreateUserNo(TokenUtil.getLoginUserInfo().getUserNo());
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)) {
// todo 错误提示
}
// 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", example = "123")
private Integer id;
@Schema(description = "拉运意愿选项主键id", example = "[2,3,4]")
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 {
@NotBlank(message = "类型:1拉运意向 2拒绝拉运原因,类型不能为空")
@Schema(description="状态:1拉运意向 2拒绝拉运")
private Integer collectType;
}
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;
@NotBlank(message = "选择设置不能为空")
@Schema(description="状态:1单选 2多选")
private Integer collectCheckType;
@NotBlank(message = "类型:1拉运意向 2拒绝拉运原因,类型不能为空")
@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.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 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论