提交 30b43989 authored 作者: 李秋林's avatar 李秋林

管理后台-查看打卡记录展示图片

上级 ad3f6fa3
...@@ -33,4 +33,6 @@ public interface TemporaryActivityPhotoDao { ...@@ -33,4 +33,6 @@ public interface TemporaryActivityPhotoDao {
void updateStatus(TemporaryPhotoWrapper pw, int status); void updateStatus(TemporaryPhotoWrapper pw, int status);
void saveClockPhotoByUpdate(Integer temporaryId, Long id, Integer photoType, String url); void saveClockPhotoByUpdate(Integer temporaryId, Long id, Integer photoType, String url);
Map<Long, Map<Integer, String>> findClockPhotoGroupByClockIds(List<Long> clockIds);
} }
...@@ -90,18 +90,6 @@ public class TemporaryActivityClockDaoImpl implements TemporaryActivityClockDao ...@@ -90,18 +90,6 @@ public class TemporaryActivityClockDaoImpl implements TemporaryActivityClockDao
Page<TemporaryActivityClockDO> doPage = temporaryActivityClockMapper.selectPage(page, qw); Page<TemporaryActivityClockDO> doPage = temporaryActivityClockMapper.selectPage(page, qw);
pageInfo.pageCovert(doPage); pageInfo.pageCovert(doPage);
pageInfo.setRecords(transitionDtos(doPage.getRecords())); pageInfo.setRecords(transitionDtos(doPage.getRecords()));
// int skipNum = pageInfo.getSkipNum();
// List<TemporaryActivityClockDO> clockDOS = temporaryActivityClockMapper.employeePageFirsd(employeeQcId, pageInfo.getPageSize(), skipNum, tcw);
// if (Objects.isNull(clockDOS)) {
// throw new DataException(RCode.DATA_NOT_HAVE_ERROR);
// }
//
// List<TemporaryClockDto> temporaryClockDtos = transitionDtos(clockDOS);
// pageInfo.setRecords(temporaryClockDtos);
//
// // 查询总数
// Integer total = temporaryActivityClockMapper.employeePageCount(employeeQcId, pageInfo.getPageSize());
// pageInfo.setTotalRecord(total);
} }
@Override @Override
......
...@@ -80,18 +80,25 @@ public class TemporaryActivityPhotoDaoImpl implements TemporaryActivityPhotoDao ...@@ -80,18 +80,25 @@ public class TemporaryActivityPhotoDaoImpl implements TemporaryActivityPhotoDao
saveClockPhoto(temporaryId, id, photoType, url, true); saveClockPhoto(temporaryId, id, photoType, url, true);
} }
private void saveClockPhoto(Integer temporaryId, Long clockId, Integer photoType, String url, Boolean isUpdate) { @Override
String[] photoArr = url.split("/"); public Map<Long, Map<Integer, String>> findClockPhotoGroupByClockIds(List<Long> clockIds) {
String photoFiledId = photoArr[photoArr.length - 1]; LambdaQueryWrapper<TemporaryActivityPhotoDO> wq = new LambdaQueryWrapper<>();
wq.in(TemporaryActivityPhotoDO::getClockId, clockIds).eq(TemporaryActivityPhotoDO::getIsDelete, StatusType.VALID.getType());
TemporaryActivityPhotoDO photoDo = new TemporaryActivityPhotoDO(); List<TemporaryActivityPhotoDO> dos = temporaryActivityPhotoMapper.selectList(wq);
photoDo.setTemporaryId(temporaryId).setClockId(clockId).setType(photoType).setPhotoUrl(url).setPhotoFiledId(photoFiledId); if (CollectionUtils.isEmpty(dos)) {
if (Objects.nonNull(isUpdate) && isUpdate) { return null;
photoDo.setUpdateTime(new Date());
} }
temporaryActivityPhotoMapper.insert(photoDo); Map<Long, List<TemporaryActivityPhotoDO>> groupClockInfoMap = dos.stream().collect(Collectors.groupingBy(TemporaryActivityPhotoDO::getClockId));
log.info("保存促销员打卡图片:{}", photoDo);
Map<Long, Map<Integer, String>> groupClockPhotoMap = new HashMap<>(groupClockInfoMap.size() * 2);
for (Map.Entry<Long, List<TemporaryActivityPhotoDO>> entry : groupClockInfoMap.entrySet()) {
Long clockId = entry.getKey();
List<TemporaryActivityPhotoDO> photoDos = entry.getValue();
Map<Integer, String> photoUrlMap = photoDos.stream().collect(Collectors.toMap(TemporaryActivityPhotoDO::getType, TemporaryActivityPhotoDO::getPhotoUrl));
groupClockPhotoMap.put(clockId,photoUrlMap);
}
return groupClockPhotoMap;
} }
...@@ -126,7 +133,6 @@ public class TemporaryActivityPhotoDaoImpl implements TemporaryActivityPhotoDao ...@@ -126,7 +133,6 @@ public class TemporaryActivityPhotoDaoImpl implements TemporaryActivityPhotoDao
List<TemporaryActivityPhotoDO> dos = temporaryActivityPhotoMapper.selectList(wq); List<TemporaryActivityPhotoDO> dos = temporaryActivityPhotoMapper.selectList(wq);
List<TemporaryActivityPhotoDto> photoDtos = transitionDtos(dos); List<TemporaryActivityPhotoDto> photoDtos = transitionDtos(dos);
Map<Integer, TemporaryActivityPhotoDto> dtoMap = photoDtos.stream().collect(Collectors.toMap(TemporaryActivityPhotoDto::getType, pDto -> pDto)); Map<Integer, TemporaryActivityPhotoDto> dtoMap = photoDtos.stream().collect(Collectors.toMap(TemporaryActivityPhotoDto::getType, pDto -> pDto));
// Map<Integer, String> map = dos.stream().collect(Collectors.toMap(TemporaryActivityPhotoDO::getType, TemporaryActivityPhotoDO::getPhotoUrl));
return dtoMap; return dtoMap;
} }
...@@ -162,6 +168,20 @@ public class TemporaryActivityPhotoDaoImpl implements TemporaryActivityPhotoDao ...@@ -162,6 +168,20 @@ public class TemporaryActivityPhotoDaoImpl implements TemporaryActivityPhotoDao
} }
private void saveClockPhoto(Integer temporaryId, Long clockId, Integer photoType, String url, Boolean isUpdate) {
String[] photoArr = url.split("/");
String photoFiledId = photoArr[photoArr.length - 1];
TemporaryActivityPhotoDO photoDo = new TemporaryActivityPhotoDO();
photoDo.setTemporaryId(temporaryId).setClockId(clockId).setType(photoType).setPhotoUrl(url).setPhotoFiledId(photoFiledId);
if (Objects.nonNull(isUpdate) && isUpdate) {
photoDo.setUpdateTime(new Date());
}
temporaryActivityPhotoMapper.insert(photoDo);
log.info("保存促销员打卡图片:{}", photoDo);
}
/** /**
* DO to DTO (单个对象) * DO to DTO (单个对象)
* *
......
...@@ -2,12 +2,20 @@ package com.wangxiaolu.promotion.service.activity.manage.impl; ...@@ -2,12 +2,20 @@ package com.wangxiaolu.promotion.service.activity.manage.impl;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.wangxiaolu.promotion.domain.activity.dao.TemporaryActivityClockDao; import com.wangxiaolu.promotion.domain.activity.dao.TemporaryActivityClockDao;
import com.wangxiaolu.promotion.domain.activity.dao.TemporaryActivityPhotoDao;
import com.wangxiaolu.promotion.domain.activity.wrapperQo.TemporaryClockWrapper; import com.wangxiaolu.promotion.domain.activity.wrapperQo.TemporaryClockWrapper;
import com.wangxiaolu.promotion.enums.activity.ActivityPhotoType;
import com.wangxiaolu.promotion.pojo.PageInfo; import com.wangxiaolu.promotion.pojo.PageInfo;
import com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryClockDto;
import com.wangxiaolu.promotion.service.activity.manage.EmployeeQueryTemClockService; import com.wangxiaolu.promotion.service.activity.manage.EmployeeQueryTemClockService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/** /**
* @author : liqiulin * @author : liqiulin
...@@ -20,11 +28,30 @@ public class EmployeeQueryTemClockServiceImpl implements EmployeeQueryTemClockSe ...@@ -20,11 +28,30 @@ public class EmployeeQueryTemClockServiceImpl implements EmployeeQueryTemClockSe
@Autowired @Autowired
TemporaryActivityClockDao temporaryActivityClockDao; TemporaryActivityClockDao temporaryActivityClockDao;
@Autowired
TemporaryActivityPhotoDao temporaryActivityPhotoDao;
@Override @Override
public void findClockList(String employeeQcId, PageInfo pageInfo) { public void findClockList(String employeeQcId, PageInfo pageInfo) {
TemporaryClockWrapper tcw = JSONObject.parseObject(JSONObject.toJSONString(pageInfo.getQueryParams()), TemporaryClockWrapper.class); TemporaryClockWrapper tcw = JSONObject.parseObject(JSONObject.toJSONString(pageInfo.getQueryParams()), TemporaryClockWrapper.class);
temporaryActivityClockDao.employeePage(employeeQcId,pageInfo,tcw); temporaryActivityClockDao.employeePage(employeeQcId,pageInfo,tcw);
List<TemporaryClockDto> records = pageInfo.getRecords();
if (CollectionUtils.isEmpty(records)){
return;
}
List<Long> clockIds = records.stream().map(TemporaryClockDto::getId).collect(Collectors.toList());
Map<Long, Map<Integer, String>> clockPhotoGroupByClockIds = temporaryActivityPhotoDao.findClockPhotoGroupByClockIds(clockIds);
for (TemporaryClockDto clockDto : records) {
Map<Integer, String> photoMap = clockPhotoGroupByClockIds.get(clockDto.getId());
if (CollectionUtils.isEmpty(photoMap)){
continue;
}
clockDto.setClockInPhoto(photoMap.get(ActivityPhotoType.CLOCK_IN.getType()));
clockDto.setNoonClockOutPhoto(photoMap.get(ActivityPhotoType.NOON_CLOCK_OUT.getType()));
clockDto.setNoonClockInPhoto(photoMap.get(ActivityPhotoType.NOON_CLOCK_IN.getType()));
clockDto.setClockOutPhoto(photoMap.get(ActivityPhotoType.CLOCK_OUT.getType()));
}
} }
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论