提交 64b94a9b authored 作者: 吕本才's avatar 吕本才

feat(activity): 修改图片保存bug

上级 c4867d59
......@@ -17,7 +17,7 @@ public interface TemporaryActivityPhotoDao {
* 保存活动上报照片list
*/
void saveReportedList(Integer temporaryId, Long reportedId, Integer photoType, List<String> urls, List<String> changeUrls);
void saveReportedList(Integer temporaryId, Long reportedId, Integer photoType, List<String> urls);
void saveReportedList(Long clockId,Integer temporaryId, Long reportedId, Integer photoType, List<String> urls);
/**
* 保存促销员上下班打卡图片
......
......@@ -2,6 +2,7 @@ package com.wangxiaolu.promotion.domain.activity.dao;
import com.wangxiaolu.promotion.domain.activity.mapper.entity.TemporaryActivityTaskClockDO;
import com.wangxiaolu.promotion.domain.activity.wrapperQo.TemporaryActivityTaskWrapperDto;
import com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryTaskClockDto;
import java.util.List;
......@@ -15,4 +16,6 @@ public interface TemporaryActivityTaskClockDao {
void update(TemporaryActivityTaskClockDO taskClockDO);
TemporaryActivityTaskClockDO selectOne(TemporaryActivityTaskWrapperDto wrapper);
void updateTaskClock(TemporaryTaskClockDto updateTaskClockDto);
}
......@@ -65,7 +65,7 @@ public class TemporaryActivityPhotoDaoImpl implements TemporaryActivityPhotoDao
}
@Override
public void saveReportedList(Integer temporaryId, Long reportedId, Integer photoType, List<String> urls) {
public void saveReportedList(Long clockId,Integer temporaryId, Long reportedId, Integer photoType, List<String> urls) {
List<TemporaryActivityPhotoDO> dos = new ArrayList<>();
for (String url : urls) {
String[] uArr = url.split("/");
......@@ -73,6 +73,7 @@ public class TemporaryActivityPhotoDaoImpl implements TemporaryActivityPhotoDao
TemporaryActivityPhotoDO photoDo = new TemporaryActivityPhotoDO()
.setTemporaryId(temporaryId)
.setReportedId(reportedId)
.setClockId(clockId)
.setType(photoType)
.setPhotoUrl(url)
.setPhotoFiledId(uId);
......@@ -138,7 +139,7 @@ public class TemporaryActivityPhotoDaoImpl implements TemporaryActivityPhotoDao
@Override
public void saveClockTaskPhoto(TemporaryActivityPhotoDto dto, List<String> clockPhtos) {
// 新增数据
saveReportedList(dto.getTemporaryId(), dto.getReportedId(), dto.getType(), clockPhtos);
saveReportedList(dto.getClockId(),dto.getTemporaryId(), dto.getReportedId(), dto.getType(), clockPhtos);
}
@Override
......
......@@ -2,10 +2,12 @@ package com.wangxiaolu.promotion.domain.activity.dao.impl;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.wangxiaolu.promotion.common.util.BeanUtils;
import com.wangxiaolu.promotion.domain.activity.dao.TemporaryActivityTaskClockDao;
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.pojo.activity.temporary.dto.TemporaryTaskClockDto;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -59,4 +61,11 @@ public class TemporaryActivityTaskClockDaoImpl implements TemporaryActivityTaskC
return temporaryActivityTaskClockDO;
}
@Override
public void updateTaskClock(TemporaryTaskClockDto updateTaskClockDto) {
TemporaryActivityTaskClockDO updateTaskClockDo = BeanUtils.transitionDto(updateTaskClockDto, TemporaryActivityTaskClockDO.class);
temporaryActivityTaskClockMapper.updateById(updateTaskClockDo);
}
}
package com.wangxiaolu.promotion.pojo.activity.temporary.dto;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.wangxiaolu.promotion.enums.activity.ClockType;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.util.Date;
/**
* @author : liqiulin
* @date : 2024-04-23 14
* @describe :促销员打卡数据DTO
*/
@AllArgsConstructor
@NoArgsConstructor
@Data
@Accessors(chain = true)
public class TemporaryTaskClockDto {
/**
* 主键id
*/
private Long id;
private Integer temporaryId;
/**
* 活动打卡id
*/
private Long clockId;
/**
* temporary_info表name
*/
private String temporaryName;
/**
* 关联活动上报id
*/
private Long reportedId;
/**
* 任务类型 和图片的工业
* 10、随机任务 9、pos上传任务
*/
private Integer taskType;
/**
* 任务状态 0 待开始 1、进行中 2、已完成 3、未完成
*/
private Integer taskStatus;
/**
* activity_plan_info表id
*/
private Long planId;
/**
* 打卡时间
*/
private Date clockTime;
/**
* 要求打卡时间
*/
private Date requiredlockTime;
/**
* 创建日期YYYY-MM-DD
*/
private String createDate;
/**
* 创建时间
*/
private Date createTime;
/**
* 修改时间
*/
private Date modifyTime;
// 活动模式Id
private Integer activityPatternId;
// 活动模式
private String activityPattern;
/**
* 是否删除
* 0:否 未删除;1:已删除;
*/
private Integer isDelete;
/**
* 订阅状态 0:未订阅;1:已订阅
*/
private Integer subscribeStatus;
// 已发送订阅消息
private Integer isSendSubscribe;
/**
* 订阅消息发送时间
*/
private Date subscribeTime;
}
package com.wangxiaolu.promotion.service.activity.manage.impl;
import com.wangxiaolu.promotion.common.enums.FlagType;
import com.wangxiaolu.promotion.common.enums.StatusType;
import com.wangxiaolu.promotion.domain.activity.dao.TemporaryActivityClockDao;
import com.wangxiaolu.promotion.domain.activity.dao.TemporaryActivityPhotoDao;
import com.wangxiaolu.promotion.domain.activity.dao.TemporaryActivityReportedDao;
import com.wangxiaolu.promotion.domain.activity.dao.TemporaryActivityTaskClockDao;
import com.wangxiaolu.promotion.domain.activity.wrapperQo.TemporaryClockWrapper;
import com.wangxiaolu.promotion.domain.activity.wrapperQo.TemporaryPhotoWrapper;
import com.wangxiaolu.promotion.exception.DataException;
import com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryActivityReportedDto;
import com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryClockDto;
import com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryTaskClockDto;
import com.wangxiaolu.promotion.result.basedata.RCode;
import com.wangxiaolu.promotion.service.activity.manage.EmployeeCoreTemClockService;
import lombok.extern.slf4j.Slf4j;
......@@ -33,6 +36,8 @@ public class EmployeeCoreTemClockServiceImpl implements EmployeeCoreTemClockServ
TemporaryActivityReportedDao temporaryActivityReportedDao;
@Autowired
private TemporaryActivityPhotoDao temporaryActivityPhotoDao;
@Autowired
TemporaryActivityTaskClockDao taskClockDao;
@Transactional(rollbackFor = Exception.class)
......@@ -85,6 +90,11 @@ public class EmployeeCoreTemClockServiceImpl implements EmployeeCoreTemClockServ
tpw.setTemporaryId(clockDto.getTemporaryId())
.setClockId(clockDto.getId());
temporaryActivityPhotoDao.updateStatus(tpw,StatusType.INVALID.getType());
TemporaryTaskClockDto updateTaskClockDto = new TemporaryTaskClockDto();
updateTaskClockDto.setId(clockDto.getId())
.setIsDelete(FlagType.YES.getType());
taskClockDao.updateTaskClock(updateTaskClockDto);
return clockDto.getPlanId();
}
......
......@@ -248,21 +248,21 @@ public class TemporaryActivityCoreServiceImpl implements TemporaryActivityCoreSe
if (CollectionUtils.isEmpty(temActDto.getTgscPhotoUrls())) {
tempActivityPhotoDao.deleteList(reportedId,ActivityPhotoType.TGSC.getType());
}else {
tempActivityPhotoDao.saveReportedList(temporaryId, reportedId, ActivityPhotoType.TGSC.getType(), temActDto.getTgscPhotoUrls());
tempActivityPhotoDao.saveReportedList(null,temporaryId, reportedId, ActivityPhotoType.TGSC.getType(), temActDto.getTgscPhotoUrls());
}
// 推广互动照片
if (CollectionUtils.isEmpty(temActDto.getTghdPhotoUrls())) {
tempActivityPhotoDao.deleteList(reportedId,ActivityPhotoType.TGHD.getType());
}else {
tempActivityPhotoDao.saveReportedList(temporaryId, reportedId, ActivityPhotoType.TGHD.getType(), temActDto.getTghdPhotoUrls());
tempActivityPhotoDao.saveReportedList(temActDto.getClockDto().getId(),temporaryId, reportedId, ActivityPhotoType.TGHD.getType(), temActDto.getTghdPhotoUrls());
}
// 推广成交照片
if (CollectionUtils.isEmpty(temActDto.getTgcjPhotoUrls())) {
tempActivityPhotoDao.deleteList(reportedId,ActivityPhotoType.TGCJ.getType());
}else {
tempActivityPhotoDao.saveReportedList(temporaryId, reportedId, ActivityPhotoType.TGCJ.getType(), temActDto.getTgcjPhotoUrls());
tempActivityPhotoDao.saveReportedList(temActDto.getClockDto().getId(),temporaryId, reportedId, ActivityPhotoType.TGCJ.getType(), temActDto.getTgcjPhotoUrls());
}
// POS机页面凭证
// if (!CollectionUtils.isEmpty(temActDto.getPsvPhotoUrls())) {
......
......@@ -4,6 +4,7 @@ import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.wangxiaolu.promotion.common.enums.FlagType;
import com.wangxiaolu.promotion.common.util.BeanUtils;
import com.wangxiaolu.promotion.domain.activity.dao.TemporaryActivityPhotoDao;
import com.wangxiaolu.promotion.domain.activity.mapper.TemporaryActivityTaskClockMapper;
......@@ -21,6 +22,7 @@ import com.wangxiaolu.promotion.service.activity.temporary.TemporaryActivityTask
import com.wangxiaolu.promotion.utils.AuthUtils;
import com.wangxiaolu.promotion.utils.DateUtils;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.time.LocalTime;
......@@ -41,7 +43,7 @@ public class TemporaryActivityTaskClockServiceImpl extends ServiceImpl<Temporary
public List<TemporaryActivityTaskClockDO> listByTemporaryId(Integer temporaryId) {
TemporaryActivityTaskWrapperDto wrapper = new TemporaryActivityTaskWrapperDto()
.setTemporaryId(temporaryId)
.setIsDelete(1);
.setIsDelete(FlagType.NO.getType());
// 过滤未删除数据
return temporaryActivityTaskClockDao.selectList(wrapper);
}
......@@ -56,7 +58,7 @@ public class TemporaryActivityTaskClockServiceImpl extends ServiceImpl<Temporary
TemporaryActivityTaskWrapperDto wrapper = new TemporaryActivityTaskWrapperDto();
wrapper.setTemporaryId(dto.getTemporaryId())
.setTaskType(ActivityPhotoType.RANDOM_TASK.getType())
.setIsDelete(1);
.setIsDelete(FlagType.NO.getType());
TemporaryActivityTaskClockDO taskClockDO1 = temporaryActivityTaskClockDao.selectOne(wrapper);
if(ObjectUtil.isNotEmpty(taskClockDO1)){
return;
......@@ -95,7 +97,7 @@ public class TemporaryActivityTaskClockServiceImpl extends ServiceImpl<Temporary
TemporaryActivityTaskWrapperDto wrapper = new TemporaryActivityTaskWrapperDto();
wrapper.setTemporaryId(dto.getTemporaryId())
.setTaskType(ActivityPhotoType.POS_PHOTO.getType())
.setIsDelete(1);
.setIsDelete(FlagType.NO.getType());
TemporaryActivityTaskClockDO taskClockDO1 = temporaryActivityTaskClockDao.selectOne(wrapper);
if(ObjectUtil.isNotEmpty(taskClockDO1)){
return;
......@@ -126,23 +128,23 @@ public class TemporaryActivityTaskClockServiceImpl extends ServiceImpl<Temporary
TemporaryActivityTaskWrapperDto wrapper = new TemporaryActivityTaskWrapperDto()
.setUserId(Long.parseLong(userId))
.setTemporaryId(Integer.parseInt(userId))
.setIsDelete(1);
.setIsDelete(FlagType.NO.getType());
List<TemporaryActivityTaskClockDO> list = temporaryActivityTaskClockDao.selectList(wrapper);
return list;
}
/**
* 打卡打卡
* @param clockReq
* @param clockVo
*/
@Override
public void clock(TemporaryActivityTaskClockReq clockReq) {
TemporaryActivityTaskClockDO taskClockDO = temporaryActivityTaskClockDao.selectById(clockReq.getId());
public void clock(TemporaryActivityTaskClockReq clockVo) {
TemporaryActivityTaskClockDO taskClockDO = temporaryActivityTaskClockDao.selectById(clockVo.getId());
if (taskClockDO == null) {
throw new IllegalArgumentException("打卡任务不存在");
}
// 随机打卡
if (ActivityPhotoType.RANDOM_TASK.getType() == clockReq.getTaskType()) {
if (ActivityPhotoType.RANDOM_TASK.getType() == clockVo.getTaskType()) {
// 检查当前时间是否在打卡要求的时间内
Date requiredLockTime = taskClockDO.getRequiredlockTime();
DateTime latestRequiredLockTime = DateUtil.offsetMinute(requiredLockTime, 15);
......@@ -150,7 +152,7 @@ public class TemporaryActivityTaskClockServiceImpl extends ServiceImpl<Temporary
throw new IllegalArgumentException("当前时间不在打卡要求的时间内");
}
}
BeanUtils.copyProperties(clockReq, taskClockDO);
BeanUtils.copyProperties(clockVo, taskClockDO);
// 更新 任务状态为未完成,打卡时间为当前时间
taskClockDO.setTaskStatus(ActivityClockTaskStatus.COMPLETED.getType());
......@@ -162,9 +164,14 @@ public class TemporaryActivityTaskClockServiceImpl extends ServiceImpl<Temporary
dto.setClockId(taskClockDO.getId())
.setTemporaryId(taskClockDO.getTemporaryId())
.setReportedId(taskClockDO.getReportedId())
.setType(clockReq.getTaskType());
// 保存打卡图片
photoDao.saveClockTaskPhoto(dto,clockReq.getClockPhotos());
.setType(clockVo.getTaskType());
if(CollectionUtils.isEmpty(clockVo.getClockPhotos())){
photoDao.deleteList(taskClockDO.getReportedId(),clockVo.getTaskType());
}else{
// 保存打卡图片
photoDao.saveClockTaskPhoto(dto,clockVo.getClockPhotos());
}
}
@Override
......@@ -176,7 +183,7 @@ public class TemporaryActivityTaskClockServiceImpl extends ServiceImpl<Temporary
.setUserId(Long.parseLong(userId))
.setTaskType(taskType)
.setTemporaryId(Integer.parseInt(userId))
.setIsDelete(1);
.setIsDelete(FlagType.NO.getType());
TemporaryActivityTaskClockDO taskClockDO = temporaryActivityTaskClockDao.selectOne(wrapper);
TemporaryActivityTaskClockRes res = new TemporaryActivityTaskClockRes();
if (taskClockDO != null) {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论