修改标签服务

master
bynt 3 years ago
parent 1cd1efdaf9
commit 2929b619fd

@ -0,0 +1,23 @@
package com.baiye.util;
import cn.hutool.json.JSONUtil;
import javax.persistence.AttributeConverter;
import javax.persistence.Converter;
/**
* @author Enzo
* @date : 2021/12/28
*/
@Converter
public class JpaConverterListJson implements AttributeConverter<Object, String> {
@Override
public String convertToDatabaseColumn(Object obj) {
return JSONUtil.toJsonStr(obj);
}
@Override
public Object convertToEntityAttribute(String s) {
return JSONUtil.parseArray(s);
}
}

@ -1,5 +1,6 @@
package com.baiye.model.entity; package com.baiye.model.entity;
import com.baiye.util.JpaConverterListJson;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import org.hibernate.annotations.CreationTimestamp; import org.hibernate.annotations.CreationTimestamp;
@ -8,6 +9,7 @@ import org.springframework.data.jpa.domain.support.AuditingEntityListener;
import javax.persistence.*; import javax.persistence.*;
import java.io.Serializable; import java.io.Serializable;
import java.util.List;
/** /**
@ -21,6 +23,8 @@ import java.io.Serializable;
@EntityListeners(AuditingEntityListener.class) @EntityListeners(AuditingEntityListener.class)
public class ClueBase implements Serializable { public class ClueBase implements Serializable {
private static final long serialVersionUID = -5485885423091953188L;
@ApiModelProperty(value = "姓名") @ApiModelProperty(value = "姓名")
@Column(name = "name") @Column(name = "name")
private String name; private String name;
@ -82,4 +86,8 @@ public class ClueBase implements Serializable {
@ApiModelProperty(value = "备注") @ApiModelProperty(value = "备注")
@Column(name = "remark") @Column(name = "remark")
private String remark; private String remark;
@Convert(converter = JpaConverterListJson.class)
private List<String> sourceLabel;
} }

@ -1,5 +1,6 @@
package com.baiye.model.entity; package com.baiye.model.entity;
import com.baiye.util.JpaConverterListJson;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import javax.persistence.*; import javax.persistence.*;
import lombok.Getter; import lombok.Getter;
@ -9,6 +10,7 @@ import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener; import org.springframework.data.jpa.domain.support.AuditingEntityListener;
import java.io.Serializable; import java.io.Serializable;
import java.util.List;
/** /**
@ -84,4 +86,8 @@ public class TaskBase implements Serializable {
@Column(name = "update_time", nullable = true) @Column(name = "update_time", nullable = true)
@LastModifiedDate @LastModifiedDate
private java.util.Date updateTime; private java.util.Date updateTime;
@Convert(converter = JpaConverterListJson.class)
private List<String> baseLabel;
} }

@ -20,9 +20,12 @@ import javax.persistence.*;
@ApiModel(value = "Clue") @ApiModel(value = "Clue")
public class Clue extends ClueBase { public class Clue extends ClueBase {
private static final long serialVersionUID = -3141323148265583553L;
@Id @Id
@ApiModelProperty(value = "线索表主键id自动递增") @ApiModelProperty(value = "线索表主键id自动递增")
@Column(name = "id") @Column(name = "id")
@GeneratedValue(strategy = GenerationType.IDENTITY) @GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id; private Long id;
} }

@ -13,16 +13,16 @@ import java.io.Serializable;
import java.sql.Timestamp; import java.sql.Timestamp;
/** /**
* @website https://el-admin.vip * @author Enzo
* @description / * @website https://el-admin.vip
* @author Enzo * @description /
* @date 2021-12-16 * @date 2021-12-16
**/ **/
@Entity @Entity
@Setter @Setter
@Getter @Getter
@Table(name="tb_label") @Table(name = "tb_label")
public class Label extends BaseEntity implements Serializable { public class Label extends BaseEntity implements Serializable {
private static final long serialVersionUID = 5417477394926030757L; private static final long serialVersionUID = 5417477394926030757L;
@Id @Id
@ -68,7 +68,8 @@ public class Label extends BaseEntity implements Serializable {
@ApiModelProperty(value = "用户id") @ApiModelProperty(value = "用户id")
private Long userId; private Long userId;
public void copy(Label source){
BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true)); public void copy(Label source) {
BeanUtil.copyProperties(source, this, CopyOptions.create().setIgnoreNullValue(true));
} }
} }

@ -8,17 +8,23 @@ import lombok.Data;
import javax.persistence.*; import javax.persistence.*;
import java.util.List; import java.util.List;
/**
* @author yqy
*/
@Data @Data
@Entity @Entity
@Table(name = "tb_task") @Table(name = "tb_task")
@ApiModel(value = "Task") @ApiModel(value = "Task")
public class Task extends TaskBase { public class Task extends TaskBase {
private static final long serialVersionUID = 8403350605300756760L;
@Id @Id
@ApiModelProperty(value = "任务表主键ID") @ApiModelProperty(value = "任务表主键ID")
@Column(name = "id") @Column(name = "id")
private Long id; private Long id;
@Transient @Transient
@ApiModelProperty(value = "任务小组信息") @ApiModelProperty(value = "任务小组信息")
private List<Organize> organizeList; private List<Organize> organizeList;

@ -8,6 +8,9 @@ import org.springframework.http.ResponseEntity;
import java.util.List; import java.util.List;
/**
* @author
*/
public interface TaskService { public interface TaskService {
/** /**

@ -6,10 +6,11 @@ import lombok.Data;
import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotEmpty;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Set;
/**
* @author
*/
@Data @Data
public class OrganizeMemberDistributionDTO { public class OrganizeMemberDistributionDTO {
@ -17,6 +18,9 @@ public class OrganizeMemberDistributionDTO {
@ApiModelProperty("小组成员id集合") @ApiModelProperty("小组成员id集合")
private List<Long> userIds; private List<Long> userIds;
@ApiModelProperty("资源标签")
private List<String> sourceLabel;
@NotEmpty(message = "小组id") @NotEmpty(message = "小组id")
@ApiModelProperty("小组id") @ApiModelProperty("小组id")
private Long organizeId; private Long organizeId;

@ -9,8 +9,6 @@ import com.baiye.model.dto.ClueQueryCriteria;
import com.baiye.model.dto.DistributeDTO; import com.baiye.model.dto.DistributeDTO;
import com.baiye.model.dto.DistributeResponseDTO; import com.baiye.model.dto.DistributeResponseDTO;
import com.baiye.modules.system.domain.*; import com.baiye.modules.system.domain.*;
import com.baiye.modules.system.service.dto.OrganizeMemberDistributionDTO;
import com.baiye.modules.system.service.dto.OrganizeSaveDTO;
import com.baiye.modules.system.repository.OrganizeRepository; import com.baiye.modules.system.repository.OrganizeRepository;
import com.baiye.modules.system.repository.OrganizeUserRepository; import com.baiye.modules.system.repository.OrganizeUserRepository;
import com.baiye.modules.system.repository.TaskRepository; import com.baiye.modules.system.repository.TaskRepository;
@ -199,6 +197,7 @@ public class OrganizeServiceImpl implements OrganizeService {
//小组内资源分配 //小组内资源分配
//Map<Long, List<Long>> 用户id -> 资源ID集合 //Map<Long, List<Long>> 用户id -> 资源ID集合
List<Map<Long, List<Long>>> maps = AverageDataUtil.averageData(clueIds, userIds); List<Map<Long, List<Long>>> maps = AverageDataUtil.averageData(clueIds, userIds);
// TODO 修改资源标签 转为json JSONUtil.toJsonStr(organizeMemberDistributionDTO.getSourceLabel());
sourceClueClient.batchUpdateUserId(maps); sourceClueClient.batchUpdateUserId(maps);
//更新小组任务信息 //更新小组任务信息
Organize updateOrganize = organizeRepository.findById(organizeMemberDistributionDTO.getOrganizeId()).orElseGet(Organize::new); Organize updateOrganize = organizeRepository.findById(organizeMemberDistributionDTO.getOrganizeId()).orElseGet(Organize::new);

@ -1,5 +1,6 @@
package com.baiye.modules.system.service.impl; package com.baiye.modules.system.service.impl;
import cn.hutool.core.collection.CollUtil;
import com.baiye.constant.DefaultNumberConstants; import com.baiye.constant.DefaultNumberConstants;
import com.baiye.http.CommonResponse; import com.baiye.http.CommonResponse;
import com.baiye.http.ResponseCode; import com.baiye.http.ResponseCode;
@ -29,6 +30,9 @@ import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
/**
* @author
*/
@Service @Service
@RequiredArgsConstructor @RequiredArgsConstructor
public class TaskServiceImpl implements TaskService { public class TaskServiceImpl implements TaskService {
@ -41,13 +45,16 @@ public class TaskServiceImpl implements TaskService {
@Override @Override
public ResponseEntity<Object> saveTask(Task task) { public ResponseEntity<Object> saveTask(Task task) {
if (CollUtil.isNotEmpty(task.getOrganizeList())) {
task.setOrganizeList(task.getOrganizeList());
}
task.setIsDistribution(DefaultNumberConstants.ZERO_NUMBER); task.setIsDistribution(DefaultNumberConstants.ZERO_NUMBER);
taskRepository.save(task); taskRepository.save(task);
return new ResponseEntity<>(CommonResponse.createBySuccess(ResponseCode.SUCCESS), HttpStatus.OK); return new ResponseEntity<>(CommonResponse.createBySuccess(ResponseCode.SUCCESS), HttpStatus.OK);
} }
/** /**
*()() * ()()
*/ */
@Override @Override
public Object queryAll(TaskQueryCriteria taskQueryCriteria, Pageable pageable) { public Object queryAll(TaskQueryCriteria taskQueryCriteria, Pageable pageable) {
@ -67,7 +74,7 @@ public class TaskServiceImpl implements TaskService {
@Override @Override
public List<TaskDto> query(TaskQueryCriteria taskQueryCriteria) { public List<TaskDto> query(TaskQueryCriteria taskQueryCriteria) {
Sort sort = Sort.by(Sort.Direction.ASC, "createTime"); Sort sort = Sort.by(Sort.Direction.ASC, "createTime");
List<TaskDto> taskDtos = taskMapper.toDto(taskRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, taskQueryCriteria, criteriaBuilder),sort)); List<TaskDto> taskDtos = taskMapper.toDto(taskRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, taskQueryCriteria, criteriaBuilder), sort));
for (TaskDto taskDto : taskDtos) { for (TaskDto taskDto : taskDtos) {
//任务下的小组信息加入 //任务下的小组信息加入
selectOrganizeUser(taskDto); selectOrganizeUser(taskDto);
@ -77,9 +84,10 @@ public class TaskServiceImpl implements TaskService {
/** /**
* id * id
*
* @return * @return
*/ */
public void selectOrganizeUser(TaskDto taskDto){ public void selectOrganizeUser(TaskDto taskDto) {
//任务下的小组信息加入 //任务下的小组信息加入
List<Organize> organizeList = organizeRepository.findByTaskId(taskDto.getId()); List<Organize> organizeList = organizeRepository.findByTaskId(taskDto.getId());

@ -36,7 +36,7 @@ public class SettingTest {
List<String> strings = Lists.newArrayList("a", "b", "c", "d"); List<String> strings = Lists.newArrayList("a", "b", "c", "d");
List<Long> longs = Lists.newArrayList(12360L,12361L); List<Long> longs = Lists.newArrayList(12360L,12361L);
distributeDTO.setResourceList(strings); // distributeDTO.setResourceList(strings);
distributeDTO.setDeptIds(longs); distributeDTO.setDeptIds(longs);
CommonResponse<List<DistributeResponseDTO>> listCommonResponse = assignDataClient.dataDistribution(distributeDTO); CommonResponse<List<DistributeResponseDTO>> listCommonResponse = assignDataClient.dataDistribution(distributeDTO);
if (listCommonResponse.getStatus() == 0){ if (listCommonResponse.getStatus() == 0){

@ -17,7 +17,6 @@ import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@ -76,7 +75,7 @@ public class AssignDataService {
distributeResponseDTO.setResponseList(value); distributeResponseDTO.setResponseList(value);
distributeResponseDTO.setDeptId(key); distributeResponseDTO.setDeptId(key);
list.add(distributeResponseDTO); list.add(distributeResponseDTO);
// 集方式删除元素 // 集方式删除元素
arrayList = CollUtil.subtractToList(arrayList, value); arrayList = CollUtil.subtractToList(arrayList, value);
// copyOnWriteArrayList.removeAll(value); // copyOnWriteArrayList.removeAll(value);
} else { } else {

@ -35,12 +35,7 @@ public class SettingTest {
List<String> strings = Lists.newArrayList("a", "b", "c", "d","e","f","g","h","i","j"); List<String> strings = Lists.newArrayList("a", "b", "c", "d","e","f","g","h","i","j");
List<Long> longs = Lists.newArrayList(12360L, 12361L,12362L,12363L,12364L,12365L); String s = JSONUtil.toJsonStr(strings);
List<Double> doubleList = Lists.newArrayList(16.66, 16.66,16.66,16.66,16.66,16.7);
distributeDTO.setResourceList(strings);
distributeDTO.setWeights(doubleList);
distributeDTO.setDeptIds(longs);
log.info(JSONUtil.toJsonStr(assignDataService.assignData(distributeDTO)));
} }

Loading…
Cancel
Save