提交 79759eef authored 作者: 吕本才's avatar 吕本才

fix(promotion-service): 修改状态、

- 下班卡打卡时,如果任务没有完成,改成已完成
上级 385bca95
......@@ -43,4 +43,5 @@ public interface TemporaryActivityClockDao {
TemporaryClockDto findLatestClockByTemporaryId( Long temporaryId);
TemporaryClockDto findClockInfo(TemporaryClockWrapper wr);
}
......@@ -17,5 +17,7 @@ public interface TemporaryActivityTaskClockDao {
TemporaryActivityTaskClockDO selectOne(TemporaryActivityTaskWrapperDto wrapper);
void updateTaskClock(TemporaryTaskClockDto updateTaskClockDto);
void updateTaskClockByClockId(TemporaryTaskClockDto updateTaskClockDto);
void updateTaskStatusByType(int uncompleted, Long id);
}
......@@ -107,6 +107,8 @@ public class TemporaryActivityClockDaoImpl implements TemporaryActivityClockDao
return clockDto;
}
private LambdaQueryWrapper<TemporaryActivityClockDO> buildWrapper(TemporaryClockWrapper tcw) {
LambdaQueryWrapper<TemporaryActivityClockDO> qw = new LambdaQueryWrapper<>();
if (Objects.nonNull(tcw.getId())) {
......
......@@ -8,6 +8,7 @@ import com.wangxiaolu.promotion.domain.activity.dao.TemporaryActivityTaskClockDa
import com.wangxiaolu.promotion.domain.activity.mapper.TemporaryActivityTaskClockMapper;
import com.wangxiaolu.promotion.domain.activity.mapper.entity.TemporaryActivityTaskClockDO;
import com.wangxiaolu.promotion.domain.activity.wrapperQo.TemporaryActivityTaskWrapperDto;
import com.wangxiaolu.promotion.enums.activity.ActivityClockTaskStatus;
import com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryTaskClockDto;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -71,7 +72,7 @@ public class TemporaryActivityTaskClockDaoImpl implements TemporaryActivityTaskC
}
@Override
public void updateTaskClock(TemporaryTaskClockDto updateTaskClockDto) {
public void updateTaskClockByClockId(TemporaryTaskClockDto updateTaskClockDto) {
TemporaryActivityTaskClockDO updateTaskClockDo = new TemporaryActivityTaskClockDO();
BeanUtils.copyProperties(updateTaskClockDto, updateTaskClockDo);
......@@ -80,4 +81,21 @@ public class TemporaryActivityTaskClockDaoImpl implements TemporaryActivityTaskC
temporaryActivityTaskClockMapper.update(updateTaskClockDo,wraper);
}
/**
* 根据 clockId 更新任务状态
* @param uncompleted 任务状态
* @param id clockId
*/
@Override
public void updateTaskStatusByType(int uncompleted, Long id) {
TemporaryActivityTaskClockDO updateTaskClockDo = new TemporaryActivityTaskClockDO();
updateTaskClockDo.setTaskStatus(uncompleted);
Wrapper<TemporaryActivityTaskClockDO> wraper = new LambdaQueryWrapper<TemporaryActivityTaskClockDO>()
.eq(TemporaryActivityTaskClockDO::getClockId, id)
.lt(TemporaryActivityTaskClockDO::getTaskStatus, ActivityClockTaskStatus.COMPLETED.getType());
temporaryActivityTaskClockMapper.update(updateTaskClockDo,wraper);
}
}
......@@ -94,7 +94,7 @@ public class EmployeeCoreTemClockServiceImpl implements EmployeeCoreTemClockServ
TemporaryTaskClockDto updateTaskClockDto = new TemporaryTaskClockDto();
updateTaskClockDto.setClockId(clockDto.getId())
.setIsDelete(FlagType.YES.getType());
taskClockDao.updateTaskClock(updateTaskClockDto);
taskClockDao.updateTaskClockByClockId(updateTaskClockDto);
return clockDto.getPlanId();
}
......
......@@ -2,8 +2,8 @@ package com.wangxiaolu.promotion.service.activity.temporary;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wangxiaolu.promotion.domain.activity.mapper.entity.TemporaryActivityTaskClockDO;
import com.wangxiaolu.promotion.pojo.activity.temporary.res.TemporaryActivityTaskClockRes;
import com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryClockDto;
import com.wangxiaolu.promotion.pojo.activity.temporary.res.TemporaryActivityTaskClockRes;
import com.wangxiaolu.promotion.pojo.activity.temporary.vo.TemporaryActivityTaskClockReq;
import java.util.List;
......@@ -21,4 +21,6 @@ public interface TemporaryActivityTaskClockService extends IService<TemporaryAct
void taskClock(TemporaryActivityTaskClockReq clockVo);
TemporaryActivityTaskClockRes queryByMyTaskType(Integer taskType);
void updateTaskStatusByType(int uncompleted, Long id);
}
......@@ -7,9 +7,9 @@ import com.wangxiaolu.promotion.domain.activity.dao.TemporaryActivityLogDao;
import com.wangxiaolu.promotion.domain.activity.dao.TemporaryActivityPhotoDao;
import com.wangxiaolu.promotion.domain.activity.wrapperQo.TemporaryPhotoWrapper;
import com.wangxiaolu.promotion.domain.manage.dao.EmployeeActivityPlanInfoDao;
import com.wangxiaolu.promotion.enums.activity.ActivityClockTaskStatus;
import com.wangxiaolu.promotion.enums.activity.ActivityPhotoType;
import com.wangxiaolu.promotion.enums.activity.ClockType;
import com.wangxiaolu.promotion.enums.activity.LogType;
import com.wangxiaolu.promotion.enums.plan.PlanStatus;
import com.wangxiaolu.promotion.exception.ParamException;
import com.wangxiaolu.promotion.pojo.activity.manage.dto.EmployeeActivityPlanInfoDto;
......@@ -29,11 +29,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalTime;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.concurrent.ThreadLocalRandom;
/**
* @author : liqiulin
......@@ -161,6 +159,12 @@ public class TemporaryActivityClockCoreServiceImpl implements TemporaryActivityC
// 生成随机任务和pos上传任务
temporaryActivityTaskClockService.generateRandomClockTask(dto);
temporaryActivityTaskClockService.generatePosUploadTask(dto);
// 下班时修改任务状态
if(ClockType.TEMPORARY_CLOCK_OUT.equals(clockType)){
// 如果10随机任务、9pos任务 状态不是已完成的和未完成的,修改任务状态->未完成
temporaryActivityTaskClockService.updateTaskStatusByType(ActivityClockTaskStatus.UNCOMPLETED.getType(),dto.getId());
}
}
private void clockStoreCalDistanceByStoreQcId(String storeQcId, String clockCoordinates) {
// 查询组织架构参数、创建url
......
......@@ -214,12 +214,18 @@ public class TemporaryActivityTaskClockServiceImpl extends ServiceImpl<Temporary
if (taskClockDO != null) {
TemporaryActivityTaskClockRes res = new TemporaryActivityTaskClockRes();
BeanUtils.copyProperties(taskClockDO, res);
// 是否可以编辑
Date requiredlockTime = res.getRequiredlockTime();
if (requiredlockTime != null) {
Date now = new Date();
if (now.compareTo(requiredlockTime) > 0 && now.compareTo(DateUtil.offsetMinute(requiredlockTime,15)) < 0) {
res.setEditableFlag(true);
// 未完成状态的情况下,不可编辑
if(taskClockDO.getTaskStatus() == ActivityClockTaskStatus.UNCOMPLETED.getType()){
res.setEditableFlag(false);
}else{
// 是否可以编辑
Date requiredlockTime = res.getRequiredlockTime();
if (taskClockDO.getTaskType() == ActivityPhotoType.RANDOM_TASK.getType() && requiredlockTime != null) {
Date now = new Date();
if (now.compareTo(requiredlockTime) > 0
&& now.compareTo(DateUtil.offsetMinute(requiredlockTime,15)) < 0) {
res.setEditableFlag(true);
}
}
}
......@@ -238,5 +244,11 @@ public class TemporaryActivityTaskClockServiceImpl extends ServiceImpl<Temporary
return null;
}
@Override
public void updateTaskStatusByType(int uncompleted, Long id) {
// 修改任务状态
temporaryActivityTaskClockDao.updateTaskStatusByType(uncompleted,id);
}
}
......@@ -42,7 +42,7 @@ public class WechatAccessTokenUtil {
String accessTokenRedisCache = redisCache.get(Constants.REDIS_ACCESS_TOKEN);
// 检查是否过期,未过期直接返回
if (ObjectUtil.isNotEmpty(accessTokenRedisCache)) {
return accessToken;
return accessTokenRedisCache;
}
// 过期则重新获取
String url = String.format(TOKEN_URL, appid, secret);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论