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

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

...@@ -7,6 +7,8 @@ import com.msl.common.dao.BaseDao; ...@@ -7,6 +7,8 @@ import com.msl.common.dao.BaseDao;
import com.clx.performance.mapper.collect.CollectDriverTransportIntentionMapper; import com.clx.performance.mapper.collect.CollectDriverTransportIntentionMapper;
import com.clx.performance.model.collect.CollectDriverTransportIntention; import com.clx.performance.model.collect.CollectDriverTransportIntention;
import java.time.LocalDateTime;
/** /**
* @author kavin * @author kavin
* Date 2024-10-17 * Date 2024-10-17
...@@ -20,4 +22,6 @@ public interface CollectDriverTransportIntentionDao extends BaseDao<CollectDrive ...@@ -20,4 +22,6 @@ public interface CollectDriverTransportIntentionDao extends BaseDao<CollectDrive
IPage<CollectDriverTransportIntention> listEnableInfo(AppCarrierDriverCollectTransportIntentionParam param); IPage<CollectDriverTransportIntention> listEnableInfo(AppCarrierDriverCollectTransportIntentionParam param);
void updateRecordOrder(Long sortNo, boolean isUp); void updateRecordOrder(Long sortNo, boolean isUp);
LocalDateTime getLastUpdateTime();
} }
package com.clx.performance.dao.collect; 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.msl.common.dao.BaseDao;
import com.clx.performance.mapper.collect.CollectDriverTransportIntentionRecordMapper; import com.clx.performance.mapper.collect.CollectDriverTransportIntentionRecordMapper;
import com.clx.performance.model.collect.CollectDriverTransportIntentionRecord; import com.clx.performance.model.collect.CollectDriverTransportIntentionRecord;
import java.util.List; import java.time.LocalDateTime;
/** /**
* @author kavin * @author kavin
...@@ -16,4 +13,5 @@ import java.util.List; ...@@ -16,4 +13,5 @@ import java.util.List;
*/ */
public interface CollectDriverTransportIntentionRecordDao extends BaseDao<CollectDriverTransportIntentionRecordMapper, CollectDriverTransportIntentionRecord, Integer> { public interface CollectDriverTransportIntentionRecordDao extends BaseDao<CollectDriverTransportIntentionRecordMapper, CollectDriverTransportIntentionRecord, Integer> {
LocalDateTime getLastUpdateTime();
} }
...@@ -14,6 +14,7 @@ import com.msl.common.dao.impl.BaseDaoImpl; ...@@ -14,6 +14,7 @@ import com.msl.common.dao.impl.BaseDaoImpl;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.time.LocalDateTime;
import java.util.Objects; import java.util.Objects;
/** /**
...@@ -63,4 +64,13 @@ public class CollectDriverTransportIntentionDaoImpl extends BaseDaoImpl<CollectD ...@@ -63,4 +64,13 @@ public class CollectDriverTransportIntentionDaoImpl extends BaseDaoImpl<CollectD
update.setSql("sort_no = sort_no + 1"); update.setSql("sort_no = sort_no + 1");
baseMapper.update(null, update); baseMapper.update(null, update);
} }
@Override
public LocalDateTime getLastUpdateTime() {
LambdaQueryWrapper<CollectDriverTransportIntention> query = new LambdaQueryWrapper<>();
query.select(CollectDriverTransportIntention::getModifiedTime);
query.orderByDesc(CollectDriverTransportIntention::getModifiedTime);
query.last("limit 1");
return baseMapper.selectOne(query).getModifiedTime();
}
} }
package com.clx.performance.dao.impl.collect; package com.clx.performance.dao.impl.collect;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.clx.performance.dao.collect.CollectDriverTransportIntentionRecordDao; import com.clx.performance.dao.collect.CollectDriverTransportIntentionRecordDao;
import com.clx.performance.mapper.collect.CollectDriverTransportIntentionRecordMapper; import com.clx.performance.mapper.collect.CollectDriverTransportIntentionRecordMapper;
import com.clx.performance.model.collect.CollectDriverTransportIntentionRecord; import com.clx.performance.model.collect.CollectDriverTransportIntentionRecord;
import com.clx.performance.vo.pc.collect.CarrierDriverCollectTransportIntentionRecordVO;
import com.msl.common.dao.impl.BaseDaoImpl; import com.msl.common.dao.impl.BaseDaoImpl;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.time.LocalDateTime;
/** /**
* @author kavin * @author kavin
* Date 2024-10-17 * Date 2024-10-17
...@@ -16,4 +17,12 @@ import org.springframework.stereotype.Repository; ...@@ -16,4 +17,12 @@ import org.springframework.stereotype.Repository;
@Repository @Repository
public class CollectDriverTransportIntentionRecordDaoImpl extends BaseDaoImpl<CollectDriverTransportIntentionRecordMapper, CollectDriverTransportIntentionRecord, Integer> implements CollectDriverTransportIntentionRecordDao { public class CollectDriverTransportIntentionRecordDaoImpl extends BaseDaoImpl<CollectDriverTransportIntentionRecordMapper, CollectDriverTransportIntentionRecord, Integer> implements CollectDriverTransportIntentionRecordDao {
@Override
public LocalDateTime getLastUpdateTime() {
LambdaQueryWrapper<CollectDriverTransportIntentionRecord> query = new LambdaQueryWrapper<>();
query.select(CollectDriverTransportIntentionRecord::getModifiedTime);
query.orderByDesc(CollectDriverTransportIntentionRecord::getModifiedTime);
query.last("limit 1");
return baseMapper.selectOne(query).getModifiedTime();
}
} }
...@@ -38,10 +38,18 @@ public class DriverTransportIntentionInfo implements HasKey<Integer> { ...@@ -38,10 +38,18 @@ public class DriverTransportIntentionInfo implements HasKey<Integer> {
@Schema(description="选项排序编号") @Schema(description="选项排序编号")
private Integer collectTransportIntentionId; private Integer collectTransportIntentionId;
@TableField("collect_transport_intention_name")
@Schema(description="问题名称")
private String collectTransportIntentionName;
@TableField("collect_transport_intention_record_id") @TableField("collect_transport_intention_record_id")
@Schema(description="选项名称") @Schema(description="选项名称")
private Integer collectTransportIntentionRecordId; private Integer collectTransportIntentionRecordId;
@TableField("collect_transport_intention_record_name")
@Schema(description="选项名称")
private String collectTransportIntentionRecordName;
@TableField("create_time") @TableField("create_time")
@Schema(description="创建时间") @Schema(description="创建时间")
private LocalDateTime createTime; private LocalDateTime createTime;
......
...@@ -7,6 +7,7 @@ import com.clx.performance.enums.PerformanceResultEnum; ...@@ -7,6 +7,7 @@ import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.model.collect.CollectDriverTransportIntention; import com.clx.performance.model.collect.CollectDriverTransportIntention;
import com.clx.performance.model.collect.CollectDriverTransportIntentionRecord; import com.clx.performance.model.collect.CollectDriverTransportIntentionRecord;
import com.clx.performance.model.collect.DriverTransportIntentionInfo; import com.clx.performance.model.collect.DriverTransportIntentionInfo;
import com.clx.performance.param.app.collect.AppCarrierDriverCollectChildParam;
import com.clx.performance.param.app.collect.AppCarrierDriverCollectMainParam; import com.clx.performance.param.app.collect.AppCarrierDriverCollectMainParam;
import com.clx.performance.param.app.collect.AppCarrierDriverCollectSaveParam; import com.clx.performance.param.app.collect.AppCarrierDriverCollectSaveParam;
import com.clx.performance.service.collect.DriverTransportIntentionInfoService; import com.clx.performance.service.collect.DriverTransportIntentionInfoService;
...@@ -48,17 +49,25 @@ public class DriverTransportIntentionInfoServiceImpl implements DriverTransportI ...@@ -48,17 +49,25 @@ public class DriverTransportIntentionInfoServiceImpl implements DriverTransportI
throw new ServiceSystemException(PerformanceResultEnum.DATA_NOT_FIND); throw new ServiceSystemException(PerformanceResultEnum.DATA_NOT_FIND);
} }
if (this.existUpdateChange()) {
log.info("driverTransportIntentionInfoServiceImpl saveCheckedList existUpdateChange");
// 返回异常错误码
throw new ServiceSystemException(PerformanceResultEnum.DRIVER_TRANSPORT_INTENTION_HAPPEN_CHANGE_ERROR_MSG);
}
List<DriverTransportIntentionInfo> driverTransportIntentionInfoList = new ArrayList<>(); List<DriverTransportIntentionInfo> driverTransportIntentionInfoList = new ArrayList<>();
for (AppCarrierDriverCollectMainParam saveParam : param.getParamList()) { for (AppCarrierDriverCollectMainParam saveParam : param.getParamList()) {
if (CollectionUtils.isEmpty(saveParam.getRecordIdList())) { if (CollectionUtils.isEmpty(saveParam.getRecordList())) {
log.info("driverTransportIntentionInfoServiceImpl saveCheckedList saveParam is null"); log.info("driverTransportIntentionInfoServiceImpl saveCheckedList saveParam is null");
throw new ServiceSystemException(PerformanceResultEnum.DATA_NOT_FIND); throw new ServiceSystemException(PerformanceResultEnum.DATA_NOT_FIND);
} }
// 遍历已勾选的选项 // 遍历已勾选的选项
for (Integer intentionRecordId : saveParam.getRecordIdList()) { for (AppCarrierDriverCollectChildParam collectChildParam : saveParam.getRecordList()) {
DriverTransportIntentionInfo driverTransportIntentionInfo = new DriverTransportIntentionInfo(); DriverTransportIntentionInfo driverTransportIntentionInfo = new DriverTransportIntentionInfo();
driverTransportIntentionInfo.setCollectTransportIntentionId(saveParam.getId()); driverTransportIntentionInfo.setCollectTransportIntentionId(saveParam.getId());
driverTransportIntentionInfo.setCollectTransportIntentionRecordId(intentionRecordId); driverTransportIntentionInfo.setCollectTransportIntentionName(saveParam.getCollectName());
driverTransportIntentionInfo.setCollectTransportIntentionRecordId(saveParam.getId());
driverTransportIntentionInfo.setCollectTransportIntentionRecordName(collectChildParam.getCollectRecordName());
driverTransportIntentionInfo.setCreateUserNo(TokenUtil.getLoginUserInfo().getUserNo()); driverTransportIntentionInfo.setCreateUserNo(TokenUtil.getLoginUserInfo().getUserNo());
driverTransportIntentionInfo.setCreateUserName(TokenUtil.getLoginUserInfo().getUserName()); driverTransportIntentionInfo.setCreateUserName(TokenUtil.getLoginUserInfo().getUserName());
driverTransportIntentionInfo.setCreateTime(LocalDateTime.now()); driverTransportIntentionInfo.setCreateTime(LocalDateTime.now());
...@@ -111,5 +120,14 @@ public class DriverTransportIntentionInfoServiceImpl implements DriverTransportI ...@@ -111,5 +120,14 @@ public class DriverTransportIntentionInfoServiceImpl implements DriverTransportI
return intentionVOList; return intentionVOList;
} }
public boolean existUpdateChange() {
// 获取当前时间
LocalDateTime now = LocalDateTime.now();
// 获取主表最新一次更新时间
LocalDateTime intentionLastUpdateTime =collectDriverTransportIntentionDao.getLastUpdateTime();
// 获取子表最新一次更新时间
LocalDateTime intentionRecordLastUpdateTime = collectDriverTransportIntentionRecordDao.getLastUpdateTime();
// 当前时间在主表和子表更新时间之前,说明有更新
return now.isBefore(intentionLastUpdateTime) || now.isBefore(intentionRecordLastUpdateTime);
}
} }
...@@ -196,6 +196,11 @@ public enum PerformanceResultEnum implements ResultEnum { ...@@ -196,6 +196,11 @@ public enum PerformanceResultEnum implements ResultEnum {
SETTLEMENT_OWNER_DETAIL_COMPANY_ADD_ERROR(2112, "所选数据存在状态”已处理“的数据,请核实后重新提交"), SETTLEMENT_OWNER_DETAIL_COMPANY_ADD_ERROR(2112, "所选数据存在状态”已处理“的数据,请核实后重新提交"),
SETTLEMENT_OWNER_CONFIRM_SETTLEMENT_ERROR(2113, "运单需重新分配开票公司,请联系结算人员处理"), SETTLEMENT_OWNER_CONFIRM_SETTLEMENT_ERROR(2113, "运单需重新分配开票公司,请联系结算人员处理"),
/**
* 收集司机拉运意向主题
*/
DRIVER_TRANSPORT_INTENTION_HAPPEN_CHANGE_ERROR_MSG(2210, "页面已失效,请重新选择"),
/** /**
* 运单装车限制配置 * 运单装车限制配置
......
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 AppCarrierDriverCollectChildParam {
@Schema(description = "收集司机拉运意向选项id")
private Integer collectRecordId;
@Schema(description="选项名称")
private String collectRecordName;
}
package com.clx.performance.param.app.collect; package com.clx.performance.param.app.collect;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.Size;
import lombok.Getter; import lombok.Getter;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.Setter; import lombok.Setter;
...@@ -15,6 +16,10 @@ public class AppCarrierDriverCollectMainParam { ...@@ -15,6 +16,10 @@ public class AppCarrierDriverCollectMainParam {
@Schema(description = "拉运意愿主键id") @Schema(description = "拉运意愿主键id")
private Integer id; private Integer id;
@Schema(description = "拉运意愿选项主键id") @Schema(description="问题名称")
private List<Integer> recordIdList; @Size(max = 10, message = "问题名称长度不能超过10")
private String collectName;
@Schema(description = "拉运意愿选项")
private List<AppCarrierDriverCollectChildParam> recordList;
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论