修改定时任务

This commit is contained in:
shuo.wang
2024-05-13 14:35:46 +08:00
parent c091a520b5
commit 34b5bbb27f
12 changed files with 75 additions and 62 deletions

View File

@@ -138,7 +138,6 @@ public class XxlJobHandler {
int pageNum = 1;
int pageSize = 50;
while (hasNext) {
PageHelper.startPage(pageNum, pageSize);
List<ShopStageInfoDO> shopIdListByStageStatus = shopStageInfoDAO.getShopIdListByStageStatus(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_152.getShopSubStageStatus());
if (CollectionUtils.isEmpty(shopIdListByStageStatus)) {
@@ -157,7 +156,7 @@ public class XxlJobHandler {
if (Objects.nonNull(firstOrderList) && CollectionUtils.isNotEmpty(firstOrderList.getData())) {
for (xfsgFirstOderDTO o : firstOrderList.getData()) {
if (o.getBalance()) {
shopStageInfoDAO.updateShopStageAndAuditInfo(map.get(o.getStoreCode()), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_151, null);
shopStageInfoDAO.updateShopStageInfo(map.get(o.getStoreCode()), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_151);
preparationService.whetherToOpenForAcceptance(map.get(o.getStoreCode()));
}
}
@@ -175,53 +174,73 @@ public class XxlJobHandler {
/**
* @Auther: wangshuo
* @Date: 2024/4/29
* @description: 每天更新装修阶段进场时间等,至预约状态
* @description: 每天更新装修阶段进场时间等
*/
@XxlJob("fitmentAcceptanceHandler")
public void fitmentAcceptanceHandler() {
log.info("----定时任务每天更新装修阶段进场时间,施工完成时间等,至预约状态----");
@XxlJob("updateEntryTime")
public void updateEntryTime() {
log.info("----定时任务每天更新装修阶段进场时间,施工完成时间等----");
boolean hasNext = true;
int pageNum = 1;
int pageSize = 50;
while (hasNext) {
PageHelper.startPage(pageNum, pageSize);
//获取表中处于施工中或施工完成阶段并且三方验收未预约
List<ShopStageInfoDO> subStageList = shopStageInfoDAO.getSubStageListBySubStageStatus(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_111,
ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_112, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_120);
if (CollectionUtils.isEmpty(subStageList)) {
log.info("------定时任务结束调用鲜丰获取进场时间结束------");
//获取表中进场时间为空
List<AcceptanceInfoDO> acceptanceInfoDOS = acceptanceInfoDAO.selectByEntryTimeNull();
if (CollectionUtils.isEmpty(acceptanceInfoDOS)) {
log.info("------定时任务结束每天更新至预约状态结束------");
return;
}
for (ShopStageInfoDO shopStageInfoDO : subStageList) {
for (AcceptanceInfoDO acceptanceInfoDO : acceptanceInfoDOS) {
int flag = CommonConstants.ZERO;
while (flag < CommonConstants.TWO) {
try {
Long shopId = shopStageInfoDO.getShopId();
//施工子阶段
List<ConstructionScheduleDTO> construction = decorationService.getConstruction(shopId);
Map<String, ConstructionScheduleDTO> constructionMap = construction.stream().
collect(Collectors.toMap(ConstructionScheduleDTO::getName, dto -> dto));
//进场时间
ConstructionScheduleDTO approach = constructionMap.get(CommonConstants.APPROACH);
if (Objects.nonNull(approach)) {
Date date = CoolDateUtils.parseDate(approach.getActualBeginDate(), CoolDateUtils.DATE_FORMAT_DAY);
if (Objects.nonNull(date)) {
LocalDate plusFDays = DateUtils.getPlusFDays(date, CommonConstants.FOUR);
//小于等于当前时间
if (plusFDays.isEqual(LocalDate.now()) || plusFDays.isBefore(LocalDate.now())) {
//三方验收待预约
shopStageInfoDAO.updateShopStageInfo(shopId, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_120);
}
}
}
Long shopId = acceptanceInfoDO.getShopId();
//施工子阶段 更新装修阶段进场时间等
decorationService.getConstruction(shopId);
break;
} catch (Exception e) {
log.error("定时任务设置进场时间失败,shopId:{}", shopStageInfoDO.getShopId());
log.error("定时任务设置进场时间失败,shopId:{}", acceptanceInfoDO.getShopId());
flag++;
}
}
}
hasNext = subStageList.size() >= pageSize;
hasNext = acceptanceInfoDOS.size() >= pageSize;
pageNum++;
}
log.info("------定时任务结束每天更新至预约状态结束------");
XxlJobHelper.handleSuccess();
}
/**
* @Auther: wangshuo
* @Date: 2024/4/29
* @description: 每天更新装修阶段进场时间等,至预约状态
*/
@XxlJob("fitmentAcceptanceHandler")
public void fitmentAcceptanceHandler() {
log.info("----定时任务每天更新至预约状态----");
boolean hasNext = true;
int pageNum = 1;
int pageSize = 50;
while (hasNext) {
PageHelper.startPage(pageNum, pageSize);
//获取表中的三方验收状态为-100状态和进场时间不为空的
List<AcceptanceInfoDO> acceptanceInfoDOS = acceptanceInfoDAO.selectAcceptanceInfoBySignatures(ShopSubStageEnum.SHOP_STAGE_12.getShopSubStage(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_00.getShopSubStageStatus());
if (CollectionUtils.isEmpty(acceptanceInfoDOS)) {
log.info("------定时任务结束每天更新至预约状态结束------");
return;
}
for (AcceptanceInfoDO acceptanceInfoDO : acceptanceInfoDOS) {
Long shopId = acceptanceInfoDO.getShopId();
Date actualEntryTime = acceptanceInfoDO.getActualEntryTime();
LocalDate plusFDays = DateUtils.getPlusFDays(actualEntryTime, CommonConstants.FOUR);
//小于等于当前时间
if (plusFDays.isEqual(LocalDate.now()) || plusFDays.isBefore(LocalDate.now())) {
//三方验收待预约
shopStageInfoDAO.updateShopStageInfo(shopId, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_120);
}
}
hasNext = acceptanceInfoDOS.size() >= pageSize;
pageNum++;
}
log.info("------定时任务结束调用鲜丰获取进场时间结束------");
@@ -312,11 +331,10 @@ public class XxlJobHandler {
}
List<Long> shopIds = ShopStageInfoList.stream().filter(o -> o.getShopId() != null)
.map(ShopStageInfoDO::getShopId).collect(Collectors.toList());
Map<Long, ShopStageInfoDO> lineIdMap = ShopStageInfoList.stream().filter(o -> o.getLineId() != null)
.collect(Collectors.toMap(ShopStageInfoDO::getLineId, Function.identity()));
List<AcceptanceInfoDO> acceptanceList = acceptanceInfoDAO.selectByShopIds(shopIds);
int flag = CommonConstants.ZERO;
for (AcceptanceInfoDO acceptanceInfoDO : acceptanceList) {
int flag = CommonConstants.ZERO;
while (flag < CommonConstants.TWO) {
try {
Date approach = acceptanceInfoDO.getActualEntryTime();
@@ -366,7 +384,7 @@ public class XxlJobHandler {
}
flag = CommonConstants.ZERO;
}
hasNext = ShopStageInfoList.size() >= pageSize;
pageNum++;
@@ -408,7 +426,7 @@ public class XxlJobHandler {
LocalDate plusFDays = DateUtils.getPlusFDays(approach, CommonConstants.SIX);//7天
if (plusFDays.equals(LocalDate.now())) {
ShopInfoDO shopInfoDO = shopIdMap.get(shopId);
if (StringUtils.isBlank(shopInfoDO.getSupervisorUserId())){
if (StringUtils.isBlank(shopInfoDO.getSupervisorUserId())) {
log.error("定时任务三方待验收钉钉通知,督导id为空,shopId:{}", shopId);
}
Long lineId = shopInfoDO.getLineId();