资源服务代码提交
parent
e8d45b648f
commit
48732e0232
@ -0,0 +1,45 @@
|
||||
package com.baiye.feign;
|
||||
|
||||
import com.baiye.model.dto.ClueQueryCriteria;
|
||||
import com.baiye.model.dto.DistributeResponseDTO;
|
||||
import com.baiye.modules.system.domain.Clue;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 资源服务
|
||||
*/
|
||||
@FeignClient(name = "ad-platform-source", fallback = SourceClueClientFallback.class)
|
||||
public interface SourceClueClient {
|
||||
String API_PREFIX = "/source/clue";
|
||||
|
||||
@ApiOperation("任务id查询资源列表")
|
||||
@GetMapping(API_PREFIX + "/queryList")
|
||||
ResponseEntity<List<Clue>> queryList(@RequestParam("taskId") Long taskId);
|
||||
|
||||
@ApiOperation("批量更新组信息")
|
||||
@PostMapping(API_PREFIX + "/batchUpdateOrganize")
|
||||
ResponseEntity<Object> batchUpdateOrganize(@RequestBody DistributeResponseDTO distributeResponseDTO);
|
||||
|
||||
@ApiOperation("小组id查询")
|
||||
@GetMapping(API_PREFIX + "/queryOrganizeIdList")
|
||||
ResponseEntity<List<Clue>> queryOrganizeIdList(@RequestParam("organizeId") Long organizeId);
|
||||
|
||||
@ApiOperation("批量更新组员信息")
|
||||
@PostMapping(API_PREFIX + "/batchUpdateUserId")
|
||||
ResponseEntity<Object> batchUpdateUserId(@RequestBody List<Map<Long, List<Long>>> mapList);
|
||||
|
||||
@ApiOperation("(多条件)查询资源信息")
|
||||
@PostMapping(API_PREFIX + "/queryAll")
|
||||
ResponseEntity<Map<String,Object>> queryAll(@RequestBody ClueQueryCriteria clueQueryCriteria);
|
||||
}
|
||||
|
@ -0,0 +1,41 @@
|
||||
package com.baiye.feign;
|
||||
|
||||
import com.baiye.model.dto.ClueDto;
|
||||
import com.baiye.model.dto.ClueQueryCriteria;
|
||||
import com.baiye.model.dto.DistributeResponseDTO;
|
||||
import com.baiye.modules.system.domain.Clue;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Component
|
||||
public class SourceClueClientFallback implements SourceClueClient {
|
||||
@Override
|
||||
public ResponseEntity<List<Clue>> queryList(Long taskId) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResponseEntity<Object> batchUpdateOrganize(DistributeResponseDTO distributeResponseDTO) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResponseEntity<List<Clue>> queryOrganizeIdList(Long organizeId) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResponseEntity<Object> batchUpdateUserId(List<Map<Long, List<Long>>> mapList) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResponseEntity<Map<String, Object>> queryAll(ClueQueryCriteria clueQueryCriteria) {
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,34 @@
|
||||
package com.baiye.modules.system.repository;
|
||||
|
||||
import com.baiye.modules.system.domain.Organize;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
|
||||
import org.springframework.data.jpa.repository.Modifying;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author YQY
|
||||
* @date 2021-12-13
|
||||
*/
|
||||
@Repository
|
||||
public interface OrganizeRepository extends JpaRepository<Organize, Long>, JpaSpecificationExecutor<Organize> {
|
||||
|
||||
/**
|
||||
* 查询任务下的小组
|
||||
* @param taskId
|
||||
* @return
|
||||
*/
|
||||
List<Organize> findByTaskId(Long taskId);
|
||||
|
||||
/**
|
||||
* 更新此次分配任务数量
|
||||
* @param deptId
|
||||
* @param organizeTaskNum
|
||||
*/
|
||||
@Modifying
|
||||
@Query(value = "update tb_organize set organize_task_num = ?2 where id = ?1",nativeQuery = true)
|
||||
void updateByOrganizeTaskNum(Long deptId, int organizeTaskNum);
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
package com.baiye.modules.system.repository;
|
||||
|
||||
import com.baiye.modules.system.domain.OrganizeUser;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface OrganizeUserRepository extends JpaRepository<OrganizeUser, Long>, JpaSpecificationExecutor<OrganizeUser> {
|
||||
|
||||
List<OrganizeUser> findByOrganizeId(Long id);
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
package com.baiye.modules.system.repository;
|
||||
|
||||
import com.baiye.modules.system.domain.Task;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
|
||||
import org.springframework.data.jpa.repository.Modifying;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author YQY
|
||||
* @date 2021-12-10
|
||||
*/
|
||||
@Repository
|
||||
public interface TaskRepository extends JpaRepository<Task, Long>, JpaSpecificationExecutor<Task> {
|
||||
|
||||
@Modifying
|
||||
@Query(value = "update tb_task set is_distribution = ?1 where id = ?2",nativeQuery = true)
|
||||
void updateIsDistribution(int isDistribution,Long taskId);
|
||||
}
|
@ -0,0 +1,71 @@
|
||||
package com.baiye.modules.system.rest;
|
||||
|
||||
import com.baiye.http.CommonResponse;
|
||||
import com.baiye.http.ResponseCode;
|
||||
import com.baiye.model.dto.ClueQueryCriteria;
|
||||
import com.baiye.modules.system.domain.Organize;
|
||||
import com.baiye.modules.system.service.dto.OrganizeMemberDistributionDTO;
|
||||
import com.baiye.modules.system.service.dto.OrganizeSaveDTO;
|
||||
import com.baiye.modules.system.service.OrganizeService;
|
||||
import com.baiye.modules.system.service.dto.OrganizeQueryCriteria;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
/**
|
||||
* @author YQY
|
||||
* @date 2021-12-13
|
||||
*/
|
||||
@Api(tags = "小组管理")
|
||||
@RestController
|
||||
@RequestMapping("/api/organize")
|
||||
@RequiredArgsConstructor
|
||||
public class OrganizeController {
|
||||
|
||||
private final OrganizeService organizeService;
|
||||
|
||||
@ApiOperation("管理员分配任务")
|
||||
@PostMapping("/saveOrganizeDistribution")
|
||||
public ResponseEntity<Object> saveOrganizeDistribution(@Validated @RequestBody OrganizeSaveDTO organizeSaveDTO){
|
||||
return organizeService.saveOrganizeDistribution(organizeSaveDTO);
|
||||
}
|
||||
|
||||
@ApiOperation("查询组")
|
||||
@PostMapping("/queryAll")
|
||||
public ResponseEntity<Object> queryAll(@RequestBody OrganizeQueryCriteria organizeQueryCriteria){
|
||||
return new ResponseEntity<>(organizeService.queryAll(organizeQueryCriteria),HttpStatus.OK);
|
||||
}
|
||||
|
||||
@ApiOperation("查询组长下任务列表")
|
||||
@GetMapping("/queryLeaderTaskList")
|
||||
public ResponseEntity<Object> queryLeaderTaskList(OrganizeQueryCriteria organizeQueryCriteria, Pageable pageable){
|
||||
return new ResponseEntity<>(organizeService.queryLeaderTaskList(organizeQueryCriteria,pageable), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@ApiOperation("组长分配任务")
|
||||
@PostMapping("/saveMemberDistribution")
|
||||
public ResponseEntity<Object> saveMemberDistribution(@Validated @RequestBody OrganizeMemberDistributionDTO organizeMemberDistributionDTO){
|
||||
if (organizeMemberDistributionDTO != null) {
|
||||
return organizeService.saveMemberDistribution(organizeMemberDistributionDTO);
|
||||
}
|
||||
return new ResponseEntity<>(CommonResponse.createBySuccess(ResponseCode.EMPTY_ARGUMENT), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@ApiOperation("查询任务外用户列表")
|
||||
@GetMapping("/selectMemberList")
|
||||
public ResponseEntity<Object> selectMemberList(OrganizeQueryCriteria organizeQueryCriteria){
|
||||
return new ResponseEntity<>(organizeService.selectMemberList(organizeQueryCriteria), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@ApiOperation("查询客户列表")
|
||||
@GetMapping("/queryMember")
|
||||
public ResponseEntity<Object> queryMember(ClueQueryCriteria clueQueryCriteria,Pageable pageable){
|
||||
return new ResponseEntity<>(organizeService.queryMember(clueQueryCriteria,pageable), HttpStatus.OK);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,45 @@
|
||||
package com.baiye.modules.system.rest;
|
||||
|
||||
import com.baiye.modules.system.domain.Task;
|
||||
import com.baiye.modules.system.service.TaskService;
|
||||
import com.baiye.modules.system.service.dto.OrganizeQueryCriteria;
|
||||
import com.baiye.modules.system.service.dto.TaskQueryCriteria;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
|
||||
/**
|
||||
* @author YQY
|
||||
* @date 2021-12-10
|
||||
*/
|
||||
@Api(tags = "任务管理")
|
||||
@RestController
|
||||
@RequestMapping("/api/task")
|
||||
@RequiredArgsConstructor
|
||||
public class TaskController {
|
||||
|
||||
private final TaskService taskService;
|
||||
|
||||
@ApiOperation("新建任务")
|
||||
@PostMapping("/saveTask")
|
||||
public ResponseEntity<Object> saveTask(@RequestBody Task task){
|
||||
return new ResponseEntity<>(taskService.saveTask(task),HttpStatus.CREATED);
|
||||
}
|
||||
|
||||
@ApiOperation("查询任务(分页)")
|
||||
@GetMapping("/queryAll")
|
||||
public ResponseEntity<Object> queryAll(TaskQueryCriteria taskQueryCriteria, Pageable pageable){
|
||||
return new ResponseEntity<>(taskService.queryAll(taskQueryCriteria,pageable),HttpStatus.OK);
|
||||
}
|
||||
|
||||
@ApiOperation("查询任务")
|
||||
@PostMapping("/query")
|
||||
public ResponseEntity<Object> query(@RequestBody TaskQueryCriteria taskQueryCriteria){
|
||||
return new ResponseEntity<>(taskService.query(taskQueryCriteria),HttpStatus.OK);
|
||||
}
|
||||
}
|
@ -0,0 +1,66 @@
|
||||
package com.baiye.modules.system.service;
|
||||
|
||||
import com.baiye.model.dto.ClueQueryCriteria;
|
||||
import com.baiye.modules.system.domain.Organize;
|
||||
import com.baiye.modules.system.service.dto.OrganizeMemberDistributionDTO;
|
||||
import com.baiye.modules.system.service.dto.OrganizeSaveDTO;
|
||||
import com.baiye.modules.system.service.dto.OrganizeDto;
|
||||
import com.baiye.modules.system.service.dto.OrganizeQueryCriteria;
|
||||
import com.baiye.modules.system.service.dto.UserDto;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface OrganizeService {
|
||||
|
||||
/**
|
||||
* 管理员分配任务
|
||||
* @param organizeSaveDTO
|
||||
* @return
|
||||
*/
|
||||
ResponseEntity<Object> saveOrganizeDistribution(OrganizeSaveDTO organizeSaveDTO);
|
||||
|
||||
/**
|
||||
* 查询组
|
||||
* @param organizeQueryCriteria
|
||||
* @return
|
||||
*/
|
||||
List<OrganizeDto> queryAll(OrganizeQueryCriteria organizeQueryCriteria);
|
||||
|
||||
/**
|
||||
* 查询组长下任务列表
|
||||
* @return
|
||||
*/
|
||||
HashMap<String, Object> queryLeaderTaskList(OrganizeQueryCriteria organizeQueryCriteria, Pageable pageable);
|
||||
|
||||
/**
|
||||
* 修改组信息
|
||||
* @param organize
|
||||
* @return
|
||||
*/
|
||||
ResponseEntity<Object> updateOrganize(Organize organize);
|
||||
|
||||
/**
|
||||
* 指定组员并分配任务
|
||||
* @param organizeMemberDistributionDTO
|
||||
* @return
|
||||
*/
|
||||
ResponseEntity<Object> saveMemberDistribution(OrganizeMemberDistributionDTO organizeMemberDistributionDTO);
|
||||
|
||||
/**
|
||||
* 查询用户列表,选取组员
|
||||
* @param organizeQueryCriteria
|
||||
* @return
|
||||
*/
|
||||
List<UserDto> selectMemberList(OrganizeQueryCriteria organizeQueryCriteria);
|
||||
|
||||
/**
|
||||
* 查询客户信息
|
||||
* @param clueQueryCriteria
|
||||
* @return
|
||||
*/
|
||||
Map<String,Object> queryMember(ClueQueryCriteria clueQueryCriteria,Pageable pageable);
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
package com.baiye.modules.system.service;
|
||||
|
||||
import com.baiye.modules.system.domain.Task;
|
||||
import com.baiye.modules.system.service.dto.OrganizeDto;
|
||||
import com.baiye.modules.system.service.dto.TaskDto;
|
||||
import com.baiye.modules.system.service.dto.TaskQueryCriteria;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface TaskService {
|
||||
|
||||
/**
|
||||
* 新建任务
|
||||
* @param task
|
||||
* @return
|
||||
*/
|
||||
ResponseEntity<Object> saveTask(Task task);
|
||||
|
||||
/**
|
||||
*查询任务(分页)
|
||||
* @param taskQueryCriteria
|
||||
* @param pageable
|
||||
* @return
|
||||
*/
|
||||
Object queryAll(TaskQueryCriteria taskQueryCriteria, Pageable pageable);
|
||||
|
||||
/**
|
||||
* (查询任务
|
||||
* @param taskQueryCriteria
|
||||
* @return
|
||||
*/
|
||||
List<TaskDto> query(TaskQueryCriteria taskQueryCriteria);
|
||||
}
|
@ -0,0 +1,59 @@
|
||||
package com.baiye.modules.system.service.dto;
|
||||
|
||||
import com.baiye.modules.system.domain.Task;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.Transient;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class OrganizeDto implements Serializable {
|
||||
|
||||
@JsonSerialize(using= ToStringSerializer.class)
|
||||
private Long id;
|
||||
|
||||
private String organizeName;
|
||||
|
||||
@JsonSerialize(using= ToStringSerializer.class)
|
||||
private Long taskId;
|
||||
|
||||
private Integer taskStatus;
|
||||
|
||||
private Double ratio;
|
||||
|
||||
private java.util.Date beginTime;
|
||||
|
||||
private java.util.Date endTime;
|
||||
|
||||
private Long createBy;
|
||||
|
||||
private Date createTime;
|
||||
|
||||
private Date updateTime;
|
||||
|
||||
private String remark;
|
||||
|
||||
@ApiModelProperty(value = "此次任务分配名称")
|
||||
private String organizeTaskName;
|
||||
|
||||
@ApiModelProperty(value = "此次任务分配数量")
|
||||
private Integer organizeTaskNum;
|
||||
|
||||
@ApiModelProperty(value = "用户id")
|
||||
private Long userId;
|
||||
|
||||
@ApiModelProperty(value = "用户列表")
|
||||
private List<UserDto> userList;
|
||||
|
||||
@ApiModelProperty(value = "小组下的任务信息")
|
||||
private Task organizeTask;
|
||||
|
||||
}
|
@ -0,0 +1,37 @@
|
||||
package com.baiye.modules.system.service.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import java.sql.Timestamp;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
@Data
|
||||
public class OrganizeMemberDistributionDTO {
|
||||
|
||||
@NotEmpty(message = "小组成员id集合")
|
||||
@ApiModelProperty("小组成员id集合")
|
||||
private List<Long> userIds;
|
||||
|
||||
@NotEmpty(message = "小组id")
|
||||
@ApiModelProperty("小组id")
|
||||
private Long organizeId;
|
||||
|
||||
@NotEmpty(message = "任务开始时间")
|
||||
@ApiModelProperty("任务开始时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Timestamp beginTime;
|
||||
|
||||
@NotEmpty(message = "任务结束时间")
|
||||
@ApiModelProperty("任务结束时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Timestamp endTime;
|
||||
|
||||
@NotEmpty(message = "任务id")
|
||||
@ApiModelProperty("任务id")
|
||||
private Long taskId;
|
||||
}
|
@ -0,0 +1,41 @@
|
||||
package com.baiye.modules.system.service.dto;
|
||||
|
||||
import com.baiye.annotation.Query;
|
||||
import com.baiye.modules.system.domain.Organize;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import java.sql.Timestamp;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 小组公共查询类
|
||||
*/
|
||||
@Data
|
||||
public class OrganizeQueryCriteria {
|
||||
|
||||
@Query
|
||||
private Long id;
|
||||
|
||||
@Query
|
||||
private Integer taskStatus;
|
||||
|
||||
@Query
|
||||
private Long createBy;
|
||||
|
||||
@Query
|
||||
private Long taskId;
|
||||
|
||||
@ApiModelProperty(value = "此次任务分配名称")
|
||||
@Query
|
||||
private String organizeTaskName;
|
||||
|
||||
@Query(type = Query.Type.BETWEEN)
|
||||
private List<Timestamp> createTime;
|
||||
|
||||
@ApiModelProperty(value = "标签名称")
|
||||
private List<String> labelNameList;
|
||||
|
||||
private List<Organize> organizeList;
|
||||
}
|
@ -0,0 +1,29 @@
|
||||
package com.baiye.modules.system.service.dto;
|
||||
|
||||
import com.baiye.modules.system.domain.Organize;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class OrganizeSaveDTO {
|
||||
|
||||
|
||||
@ApiModelProperty("小组集合")
|
||||
@NotNull
|
||||
private List<Organize> organizeList;
|
||||
|
||||
@ApiModelProperty("任务id")
|
||||
@NotNull
|
||||
private Long taskId;
|
||||
|
||||
@ApiModelProperty(value = "此次任务分配名称")
|
||||
@NotNull
|
||||
private String organizeTaskName;
|
||||
|
||||
@ApiModelProperty(value = "标签名称")
|
||||
private List<String> labelNameList;
|
||||
|
||||
}
|
@ -0,0 +1,36 @@
|
||||
package com.baiye.modules.system.service.dto;
|
||||
|
||||
|
||||
import com.baiye.modules.system.domain.Organize;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class TaskDto implements Serializable {
|
||||
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
private Long id;
|
||||
|
||||
private String taskName;
|
||||
|
||||
private Integer totalNumber;
|
||||
|
||||
private Integer isDistribution;
|
||||
|
||||
private Long createBy;
|
||||
|
||||
private Long updateBy;
|
||||
|
||||
private Date createTime;
|
||||
|
||||
private Date updateTime;
|
||||
|
||||
private List<Organize> organizeList;
|
||||
}
|
@ -0,0 +1,117 @@
|
||||
package com.baiye.modules.system.service.impl;
|
||||
|
||||
import com.baiye.constant.DefaultNumberConstants;
|
||||
import com.baiye.http.CommonResponse;
|
||||
import com.baiye.http.ResponseCode;
|
||||
import com.baiye.modules.system.domain.Organize;
|
||||
import com.baiye.modules.system.domain.OrganizeUser;
|
||||
import com.baiye.modules.system.domain.Task;
|
||||
import com.baiye.modules.system.repository.OrganizeRepository;
|
||||
import com.baiye.modules.system.repository.OrganizeUserRepository;
|
||||
import com.baiye.modules.system.repository.TaskRepository;
|
||||
import com.baiye.modules.system.service.OrganizeService;
|
||||
import com.baiye.modules.system.service.TaskService;
|
||||
import com.baiye.modules.system.service.UserService;
|
||||
import com.baiye.modules.system.service.dto.TaskDto;
|
||||
import com.baiye.modules.system.service.dto.TaskQueryCriteria;
|
||||
import com.baiye.modules.system.service.dto.UserDto;
|
||||
import com.baiye.modules.system.service.mapstruct.TaskMapper;
|
||||
import com.baiye.util.PageUtil;
|
||||
import com.baiye.util.QueryHelp;
|
||||
import com.baiye.util.SecurityUtils;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.data.domain.Sort;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class TaskServiceImpl implements TaskService {
|
||||
|
||||
private final TaskRepository taskRepository;
|
||||
private final TaskMapper taskMapper;
|
||||
private final OrganizeRepository organizeRepository;
|
||||
private final OrganizeUserRepository organizeUserRepository;
|
||||
private final UserService userService;
|
||||
|
||||
@Override
|
||||
public ResponseEntity<Object> saveTask(Task task) {
|
||||
task.setIsDistribution(DefaultNumberConstants.ZERO_NUMBER);
|
||||
taskRepository.save(task);
|
||||
return new ResponseEntity<>(CommonResponse.createBySuccess(ResponseCode.SUCCESS), HttpStatus.OK);
|
||||
}
|
||||
|
||||
/**
|
||||
*(分页)查询任务信息(默认查询列表)
|
||||
*/
|
||||
@Override
|
||||
public Object queryAll(TaskQueryCriteria taskQueryCriteria, Pageable pageable) {
|
||||
Sort sort = Sort.by(Sort.Direction.ASC, "createTime");
|
||||
Long userId = SecurityUtils.getCurrentUserId();
|
||||
taskQueryCriteria.setCreateBy(userId);
|
||||
Page<Task> taskRepositoryAll = taskRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, taskQueryCriteria, criteriaBuilder), pageable);
|
||||
Page<TaskDto> map = taskRepositoryAll.map(taskMapper::toDto);
|
||||
for (TaskDto taskDto : map) {
|
||||
selectOrganizeUser(taskDto);
|
||||
// List<Organize> organizeList = organizeRepository.findByTaskId(taskDto.getId());
|
||||
// for (Organize organize : organizeList) {
|
||||
// List<UserDto> userDtoList = selectOrganizeUser(organize.getId());
|
||||
// organize.setUserList(userDtoList);
|
||||
// }
|
||||
// taskDto.setOrganizeList(organizeList);
|
||||
|
||||
}
|
||||
return PageUtil.toPage(map);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询任务
|
||||
*/
|
||||
@Override
|
||||
public List<TaskDto> query(TaskQueryCriteria taskQueryCriteria) {
|
||||
Sort sort = Sort.by(Sort.Direction.ASC, "createTime");
|
||||
List<TaskDto> taskDtos = taskMapper.toDto(taskRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, taskQueryCriteria, criteriaBuilder),sort));
|
||||
for (TaskDto taskDto : taskDtos) {
|
||||
// //任务下的小组信息加入
|
||||
selectOrganizeUser(taskDto);
|
||||
// List<Organize> organizeList = organizeRepository.findByTaskId(taskDto.getId());
|
||||
// for (Organize organize : organizeList) {
|
||||
// List<UserDto> userDtoList = selectOrganizeUser(organize.getId());
|
||||
// organize.setUserList(userDtoList);
|
||||
// }
|
||||
// taskDto.setOrganizeList(organizeList);
|
||||
}
|
||||
return taskDtos;
|
||||
}
|
||||
|
||||
/**
|
||||
* 小组id查询 组长用户信息
|
||||
* @return
|
||||
*/
|
||||
public void selectOrganizeUser(TaskDto taskDto){
|
||||
|
||||
//任务下的小组信息加入
|
||||
List<Organize> organizeList = organizeRepository.findByTaskId(taskDto.getId());
|
||||
for (Organize organize : organizeList) {
|
||||
List<UserDto> list = new ArrayList<>();
|
||||
List<OrganizeUser> userIdList = organizeUserRepository.findByOrganizeId(organize.getId());
|
||||
for (OrganizeUser userIds : userIdList) {
|
||||
//判断是否为组长
|
||||
if (userIds.getIsLeader()) {
|
||||
UserDto user = userService.findById(userIds.getUserId());
|
||||
list.add(user);
|
||||
}
|
||||
}
|
||||
organize.setUserList(list);
|
||||
}
|
||||
taskDto.setOrganizeList(organizeList);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
package com.baiye.modules.system.service.mapstruct;
|
||||
|
||||
import com.baiye.model.base.BaseMapper;
|
||||
import com.baiye.modules.system.domain.Organize;
|
||||
import com.baiye.modules.system.service.dto.OrganizeDto;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.ReportingPolicy;
|
||||
|
||||
@Mapper(componentModel = "spring",unmappedTargetPolicy = ReportingPolicy.IGNORE)
|
||||
public interface OrganizeMapper extends BaseMapper<OrganizeDto, Organize> {
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
package com.baiye.modules.system.service.mapstruct;
|
||||
|
||||
import com.baiye.model.base.BaseMapper;
|
||||
import com.baiye.modules.system.domain.Organize;
|
||||
import com.baiye.modules.system.domain.OrganizeUser;
|
||||
import com.baiye.modules.system.service.dto.OrganizeDto;
|
||||
import com.baiye.modules.system.service.dto.OrganizeUserDto;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.ReportingPolicy;
|
||||
|
||||
@Mapper(componentModel = "spring",unmappedTargetPolicy = ReportingPolicy.IGNORE)
|
||||
public interface OrganizeUserMapper extends BaseMapper<OrganizeUserDto, OrganizeUser> {
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
/*
|
||||
* Copyright 2019-2020 Zheng Jie
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.baiye.modules.system.service.mapstruct;
|
||||
|
||||
import com.baiye.model.base.BaseMapper;
|
||||
import com.baiye.modules.system.domain.Dept;
|
||||
import com.baiye.modules.system.domain.Task;
|
||||
import com.baiye.modules.system.service.dto.DeptDto;
|
||||
import com.baiye.modules.system.service.dto.TaskDto;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.ReportingPolicy;
|
||||
|
||||
/**
|
||||
* @author YQY
|
||||
*/
|
||||
@Mapper(componentModel = "spring",unmappedTargetPolicy = ReportingPolicy.IGNORE)
|
||||
public interface TaskMapper extends BaseMapper<TaskDto, Task> {
|
||||
}
|
Loading…
Reference in New Issue