提交 8812bbba authored 作者: 刘海泉's avatar 刘海泉

Merge remote-tracking branch 'origin/dev_jdk17' into dev_jdk17

......@@ -7,6 +7,8 @@ import com.msl.common.dao.BaseDao;
import com.clx.performance.mapper.collect.CollectDriverTransportIntentionMapper;
import com.clx.performance.model.collect.CollectDriverTransportIntention;
import java.time.LocalDateTime;
/**
* @author kavin
* Date 2024-10-17
......@@ -20,4 +22,6 @@ public interface CollectDriverTransportIntentionDao extends BaseDao<CollectDrive
IPage<CollectDriverTransportIntention> listEnableInfo(AppCarrierDriverCollectTransportIntentionParam param);
void updateRecordOrder(Long sortNo, boolean isUp);
LocalDateTime getLastUpdateTime();
}
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;
import java.time.LocalDateTime;
/**
* @author kavin
......@@ -16,4 +13,5 @@ import java.util.List;
*/
public interface CollectDriverTransportIntentionRecordDao extends BaseDao<CollectDriverTransportIntentionRecordMapper, CollectDriverTransportIntentionRecord, Integer> {
LocalDateTime getLastUpdateTime();
}
......@@ -14,6 +14,7 @@ import com.msl.common.dao.impl.BaseDaoImpl;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Repository;
import java.time.LocalDateTime;
import java.util.Objects;
/**
......@@ -63,4 +64,13 @@ public class CollectDriverTransportIntentionDaoImpl extends BaseDaoImpl<CollectD
update.setSql("sort_no = sort_no + 1");
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;
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.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;
import java.time.LocalDateTime;
/**
* @author kavin
* Date 2024-10-17
......@@ -16,4 +17,12 @@ import org.springframework.stereotype.Repository;
@Repository
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> {
@Schema(description="选项排序编号")
private Integer collectTransportIntentionId;
@TableField("collect_transport_intention_name")
@Schema(description="问题名称")
private String collectTransportIntentionName;
@TableField("collect_transport_intention_record_id")
@Schema(description="选项名称")
private Integer collectTransportIntentionRecordId;
@TableField("collect_transport_intention_record_name")
@Schema(description="选项名称")
private String collectTransportIntentionRecordName;
@TableField("create_time")
@Schema(description="创建时间")
private LocalDateTime createTime;
......
......@@ -7,6 +7,7 @@ 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.AppCarrierDriverCollectChildParam;
import com.clx.performance.param.app.collect.AppCarrierDriverCollectMainParam;
import com.clx.performance.param.app.collect.AppCarrierDriverCollectSaveParam;
import com.clx.performance.service.collect.DriverTransportIntentionInfoService;
......@@ -48,17 +49,25 @@ public class DriverTransportIntentionInfoServiceImpl implements DriverTransportI
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<>();
for (AppCarrierDriverCollectMainParam saveParam : param.getParamList()) {
if (CollectionUtils.isEmpty(saveParam.getRecordIdList())) {
if (CollectionUtils.isEmpty(saveParam.getRecordList())) {
log.info("driverTransportIntentionInfoServiceImpl saveCheckedList saveParam is null");
throw new ServiceSystemException(PerformanceResultEnum.DATA_NOT_FIND);
}
// 遍历已勾选的选项
for (Integer intentionRecordId : saveParam.getRecordIdList()) {
for (AppCarrierDriverCollectChildParam collectChildParam : saveParam.getRecordList()) {
DriverTransportIntentionInfo driverTransportIntentionInfo = new DriverTransportIntentionInfo();
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.setCreateUserName(TokenUtil.getLoginUserInfo().getUserName());
driverTransportIntentionInfo.setCreateTime(LocalDateTime.now());
......@@ -111,5 +120,14 @@ public class DriverTransportIntentionInfoServiceImpl implements DriverTransportI
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 {
SETTLEMENT_OWNER_DETAIL_COMPANY_ADD_ERROR(2112, "所选数据存在状态”已处理“的数据,请核实后重新提交"),
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;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.Size;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
......@@ -15,6 +16,10 @@ public class AppCarrierDriverCollectMainParam {
@Schema(description = "拉运意愿主键id")
private Integer id;
@Schema(description = "拉运意愿选项主键id")
private List<Integer> recordIdList;
@Schema(description="问题名称")
@Size(max = 10, message = "问题名称长度不能超过10")
private String collectName;
@Schema(description = "拉运意愿选项")
private List<AppCarrierDriverCollectChildParam> recordList;
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论