提交 ba1c293f authored 作者: 000516's avatar 000516 提交者: Coding

管理后台查看任务列表,关联打卡数据

1. 管理后台查看任务列表,关联打卡数据 2. 添加报错信息
......@@ -4,6 +4,11 @@
mvn package -DskipTests
docker stop promotion-service
docker rmi
docker build -t promotion-service:latest .
docker run -d -p 8011:8011 --name promotion-service \
......
package com.wangxiaolu.promotion.controller.activity.temporary;
import com.wangxiaolu.promotion.exception.DataException;
import com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryClockDto;
import com.wangxiaolu.promotion.result.basedata.R;
import com.wangxiaolu.promotion.result.basedata.RCode;
import com.wangxiaolu.promotion.service.activity.temporary.TemporaryActivityClockQueryService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotNull;
import java.util.Objects;
/**
* @author : liqiulin
......@@ -27,7 +31,11 @@ public class TemporaryActivityClockQueryController {
* 根据促销员id查询今日打卡信息
*/
@GetMapping("/{temporary_id}")
public R findTodayTemporaryClockByTemId(@PathVariable("temporary_id") @NotNull Integer temporaryId) {
public R findTodayTemporaryClockByTemId(@PathVariable("temporary_id") Integer temporaryId) {
if (Objects.isNull(temporaryId) || temporaryId < 1){
throw new DataException(RCode.DATA_NOT_HAVE_ERROR,null);
}
TemporaryClockDto clockDto = temporaryActivityClockQueryService.findTodayTemporaryClockByTemId(temporaryId);
return R.success(clockDto);
}
......@@ -41,6 +49,10 @@ public class TemporaryActivityClockQueryController {
*/
@GetMapping("/date")
public R findTemporaryClockByTemIdAndDate(Integer temporaryId, String createDate) {
if (Objects.isNull(temporaryId) || temporaryId < 1 || StringUtils.isBlank(createDate)){
throw new DataException(RCode.DATA_NOT_HAVE_ERROR,null);
}
TemporaryClockDto clockDto = temporaryActivityClockQueryService.findTemporaryClockByTemIdAndDate(temporaryId, createDate);
return R.success(clockDto);
}
......@@ -50,6 +62,9 @@ public class TemporaryActivityClockQueryController {
*/
@GetMapping("/id")
public R findTemporaryClockByTemIdAndDate(Long id) {
if (Objects.isNull(id) || id < 1){
throw new DataException(RCode.DATA_NOT_HAVE_ERROR,null);
}
TemporaryClockDto clockDto = temporaryActivityClockQueryService.findById(id);
return R.success(clockDto);
}
......
......@@ -4,6 +4,8 @@ import com.wangxiaolu.promotion.domain.activity.wrapperQo.TemporaryClockWrapper;
import com.wangxiaolu.promotion.pojo.PageInfo;
import com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryClockDto;
import java.util.List;
/**
* @author : liqiulin
* @date : 2024-04-23 17
......@@ -28,6 +30,8 @@ public interface TemporaryActivityClockDao {
*/
TemporaryClockDto selectOne(TemporaryClockWrapper tcw);
List<TemporaryClockDto> selectList(TemporaryClockWrapper tcw);
TemporaryClockDto selectById(Long id);
......
......@@ -72,6 +72,13 @@ public class TemporaryActivityClockDaoImpl implements TemporaryActivityClockDao
return transitionDto(clockDO);
}
@Override
public List<TemporaryClockDto> selectList(TemporaryClockWrapper tcw) {
LambdaQueryWrapper<TemporaryActivityClockDO> qw = buildWrapper(tcw);
List<TemporaryActivityClockDO> clockDOS = temporaryActivityClockMapper.selectList(qw);
return transitionDtos(clockDOS);
}
@Override
public TemporaryClockDto selectById(Long id) {
TemporaryActivityClockDO clockDO = temporaryActivityClockMapper.selectById(id);
......@@ -108,6 +115,10 @@ public class TemporaryActivityClockDaoImpl implements TemporaryActivityClockDao
if (StringUtils.isNotBlank(tcw.getCreateDate())) {
qw.eq(TemporaryActivityClockDO::getCreateDate, tcw.getCreateDate());
}
if (!CollectionUtils.isEmpty(tcw.getReportedIds())){
qw.in(TemporaryActivityClockDO::getReportedId,tcw.getReportedIds());
}
return qw;
}
......
......@@ -6,6 +6,7 @@ import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.util.Date;
import java.util.List;
/**
* @author : liqiulin
......@@ -37,4 +38,9 @@ public class TemporaryClockWrapper {
* 下班卡=null
*/
private Boolean clockOutTimeIsNull;
/**
* 根据关联id批量查询
*/
private List<Long> reportedIds;
}
......@@ -138,4 +138,9 @@ public class TemporaryActivityReportedDto {
private Date modifyTime;
private List<TemporaryActivityMarketCellDto> marketCells;
/**
* 任务记录关联打卡id
*/
private TemporaryClockDto clockDto;
}
package com.wangxiaolu.promotion.service.activity.employee.impl;
import com.alibaba.fastjson.JSONObject;
import com.wangxiaolu.promotion.domain.activity.dao.TemporaryActivityClockDao;
import com.wangxiaolu.promotion.domain.activity.dao.TemporaryActivityMarketCellDao;
import com.wangxiaolu.promotion.domain.activity.dao.TemporaryActivityReportedDao;
import com.wangxiaolu.promotion.domain.activity.wrapperQo.TemporaryActivityWrapper;
import com.wangxiaolu.promotion.domain.activity.wrapperQo.TemporaryClockWrapper;
import com.wangxiaolu.promotion.domain.activity.wrapperQo.TemporaryMarketCellWrapper;
import com.wangxiaolu.promotion.enums.activity.TemActApproveStatus;
import com.wangxiaolu.promotion.pojo.PageInfo;
import com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryActivityMarketCellDto;
import com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryActivityReportedDto;
import com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryClockDto;
import com.wangxiaolu.promotion.result.basedata.R;
import com.wangxiaolu.promotion.service.activity.employee.EmployeeQueryTemActivityService;
import lombok.extern.slf4j.Slf4j;
......@@ -34,6 +37,8 @@ public class EmployeeQueryTemActivityServiceImpl implements EmployeeQueryTemActi
TemporaryActivityReportedDao temporaryActivityReportedDao;
@Autowired
TemporaryActivityMarketCellDao temporaryActivityMarketCellDao;
@Autowired
TemporaryActivityClockDao temporaryActivityClockDao;
/**
* tw.setApproverId(employeeQcId)
......@@ -52,6 +57,30 @@ public class EmployeeQueryTemActivityServiceImpl implements EmployeeQueryTemActi
List<TemporaryActivityReportedDto> records = pageInfo.getRecords();
List<Long> activityIds = records.stream().map(TemporaryActivityReportedDto::getId).collect(Collectors.toList());
// 查询打卡信息
repClockInfo(activityIds,records);
// 查询售卖商品信息
repMarketCell(activityIds,records);
}
/**
* 补充打卡信息
*/
private void repClockInfo(List<Long> activityIds,List<TemporaryActivityReportedDto> records) {
TemporaryClockWrapper tcw = new TemporaryClockWrapper().setReportedIds(activityIds);
List<TemporaryClockDto> temporaryClockDtos = temporaryActivityClockDao.selectList(tcw);
Map<Long, List<TemporaryClockDto>> clockDtos = temporaryClockDtos.stream().collect(Collectors.groupingBy(TemporaryClockDto::getReportedId));
records.stream().forEach(record -> {
record.setClockDto(clockDtos.get(record.getId()).get(0));
});
}
/**
* 补充售卖商品信息
*/
private void repMarketCell(List<Long> activityIds,List<TemporaryActivityReportedDto> records){
TemporaryMarketCellWrapper mcw = new TemporaryMarketCellWrapper().setActivityIds(activityIds);
List<TemporaryActivityMarketCellDto> marketCellAll = temporaryActivityMarketCellDao.selectList(mcw);
......@@ -64,4 +93,6 @@ public class EmployeeQueryTemActivityServiceImpl implements EmployeeQueryTemActi
record.setMarketCells(marketCellGroup.get(record.getId()));
});
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论