From 2929b619fd6d32d6f25b25c94ea2accc300c878e Mon Sep 17 00:00:00 2001 From: bynt Date: Tue, 28 Dec 2021 14:30:55 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=A0=87=E7=AD=BE=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/baiye/util/JpaConverterListJson.java | 23 +++++++++++++++++++ .../java/com/baiye/model/entity/ClueBase.java | 8 +++++++ .../java/com/baiye/model/entity/TaskBase.java | 6 +++++ .../com/baiye/modules/system/domain/Clue.java | 3 +++ .../baiye/modules/system/domain/Label.java | 19 +++++++-------- .../com/baiye/modules/system/domain/Task.java | 6 +++++ .../modules/system/service/TaskService.java | 3 +++ .../dto/OrganizeMemberDistributionDTO.java | 8 +++++-- .../service/impl/OrganizeServiceImpl.java | 3 +-- .../system/service/impl/TaskServiceImpl.java | 14 ++++++++--- .../main/test/java/com/baiye/SettingTest.java | 2 +- .../com/baiye/service/AssignDataService.java | 3 +-- .../src/test/java/com/baiye/SettingTest.java | 7 +----- 13 files changed, 80 insertions(+), 25 deletions(-) create mode 100644 ad-platform-common/src/main/java/com/baiye/util/JpaConverterListJson.java diff --git a/ad-platform-common/src/main/java/com/baiye/util/JpaConverterListJson.java b/ad-platform-common/src/main/java/com/baiye/util/JpaConverterListJson.java new file mode 100644 index 00000000..84589b98 --- /dev/null +++ b/ad-platform-common/src/main/java/com/baiye/util/JpaConverterListJson.java @@ -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 { + @Override + public String convertToDatabaseColumn(Object obj) { + return JSONUtil.toJsonStr(obj); + } + + @Override + public Object convertToEntityAttribute(String s) { + return JSONUtil.parseArray(s); + } +} diff --git a/ad-platform-pojo/src/main/java/com/baiye/model/entity/ClueBase.java b/ad-platform-pojo/src/main/java/com/baiye/model/entity/ClueBase.java index 72313c14..0ccebfad 100644 --- a/ad-platform-pojo/src/main/java/com/baiye/model/entity/ClueBase.java +++ b/ad-platform-pojo/src/main/java/com/baiye/model/entity/ClueBase.java @@ -1,5 +1,6 @@ package com.baiye.model.entity; +import com.baiye.util.JpaConverterListJson; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.hibernate.annotations.CreationTimestamp; @@ -8,6 +9,7 @@ import org.springframework.data.jpa.domain.support.AuditingEntityListener; import javax.persistence.*; import java.io.Serializable; +import java.util.List; /** @@ -21,6 +23,8 @@ import java.io.Serializable; @EntityListeners(AuditingEntityListener.class) public class ClueBase implements Serializable { + private static final long serialVersionUID = -5485885423091953188L; + @ApiModelProperty(value = "姓名") @Column(name = "name") private String name; @@ -82,4 +86,8 @@ public class ClueBase implements Serializable { @ApiModelProperty(value = "备注") @Column(name = "remark") private String remark; + + @Convert(converter = JpaConverterListJson.class) + private List sourceLabel; + } diff --git a/ad-platform-pojo/src/main/java/com/baiye/model/entity/TaskBase.java b/ad-platform-pojo/src/main/java/com/baiye/model/entity/TaskBase.java index 5e08e011..a63a463c 100644 --- a/ad-platform-pojo/src/main/java/com/baiye/model/entity/TaskBase.java +++ b/ad-platform-pojo/src/main/java/com/baiye/model/entity/TaskBase.java @@ -1,5 +1,6 @@ package com.baiye.model.entity; +import com.baiye.util.JpaConverterListJson; import io.swagger.annotations.ApiModelProperty; import javax.persistence.*; import lombok.Getter; @@ -9,6 +10,7 @@ import org.springframework.data.annotation.LastModifiedDate; import org.springframework.data.jpa.domain.support.AuditingEntityListener; import java.io.Serializable; +import java.util.List; /** @@ -84,4 +86,8 @@ public class TaskBase implements Serializable { @Column(name = "update_time", nullable = true) @LastModifiedDate private java.util.Date updateTime; + + + @Convert(converter = JpaConverterListJson.class) + private List baseLabel; } diff --git a/manage/ad-platform-management/src/main/java/com/baiye/modules/system/domain/Clue.java b/manage/ad-platform-management/src/main/java/com/baiye/modules/system/domain/Clue.java index 455531f4..7357e445 100644 --- a/manage/ad-platform-management/src/main/java/com/baiye/modules/system/domain/Clue.java +++ b/manage/ad-platform-management/src/main/java/com/baiye/modules/system/domain/Clue.java @@ -20,9 +20,12 @@ import javax.persistence.*; @ApiModel(value = "Clue") public class Clue extends ClueBase { + private static final long serialVersionUID = -3141323148265583553L; + @Id @ApiModelProperty(value = "线索表,主键id(自动递增)") @Column(name = "id") @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; + } diff --git a/manage/ad-platform-management/src/main/java/com/baiye/modules/system/domain/Label.java b/manage/ad-platform-management/src/main/java/com/baiye/modules/system/domain/Label.java index 8dd4ed05..5d456006 100644 --- a/manage/ad-platform-management/src/main/java/com/baiye/modules/system/domain/Label.java +++ b/manage/ad-platform-management/src/main/java/com/baiye/modules/system/domain/Label.java @@ -13,16 +13,16 @@ import java.io.Serializable; import java.sql.Timestamp; /** -* @website https://el-admin.vip -* @description / -* @author Enzo -* @date 2021-12-16 -**/ + * @author Enzo + * @website https://el-admin.vip + * @description / + * @date 2021-12-16 + **/ @Entity @Setter @Getter -@Table(name="tb_label") -public class Label extends BaseEntity implements Serializable { +@Table(name = "tb_label") +public class Label extends BaseEntity implements Serializable { private static final long serialVersionUID = 5417477394926030757L; @Id @@ -68,7 +68,8 @@ public class Label extends BaseEntity implements Serializable { @ApiModelProperty(value = "用户id") 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)); } } diff --git a/manage/ad-platform-management/src/main/java/com/baiye/modules/system/domain/Task.java b/manage/ad-platform-management/src/main/java/com/baiye/modules/system/domain/Task.java index c9009043..e4e3bf08 100644 --- a/manage/ad-platform-management/src/main/java/com/baiye/modules/system/domain/Task.java +++ b/manage/ad-platform-management/src/main/java/com/baiye/modules/system/domain/Task.java @@ -8,17 +8,23 @@ import lombok.Data; import javax.persistence.*; import java.util.List; +/** + * @author yqy + */ @Data @Entity @Table(name = "tb_task") @ApiModel(value = "Task") public class Task extends TaskBase { + private static final long serialVersionUID = 8403350605300756760L; + @Id @ApiModelProperty(value = "任务表,主键ID") @Column(name = "id") private Long id; + @Transient @ApiModelProperty(value = "任务小组信息") private List organizeList; diff --git a/manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/TaskService.java b/manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/TaskService.java index b3fcfce9..716d8ce0 100644 --- a/manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/TaskService.java +++ b/manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/TaskService.java @@ -8,6 +8,9 @@ import org.springframework.http.ResponseEntity; import java.util.List; +/** + * @author + */ public interface TaskService { /** diff --git a/manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/dto/OrganizeMemberDistributionDTO.java b/manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/dto/OrganizeMemberDistributionDTO.java index ba72680d..1a1908b4 100644 --- a/manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/dto/OrganizeMemberDistributionDTO.java +++ b/manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/dto/OrganizeMemberDistributionDTO.java @@ -6,10 +6,11 @@ import lombok.Data; import javax.validation.constraints.NotEmpty; import java.sql.Timestamp; -import java.util.Date; import java.util.List; -import java.util.Set; +/** + * @author + */ @Data public class OrganizeMemberDistributionDTO { @@ -17,6 +18,9 @@ public class OrganizeMemberDistributionDTO { @ApiModelProperty("小组成员id集合") private List userIds; + @ApiModelProperty("资源标签") + private List sourceLabel; + @NotEmpty(message = "小组id") @ApiModelProperty("小组id") private Long organizeId; diff --git a/manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/impl/OrganizeServiceImpl.java b/manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/impl/OrganizeServiceImpl.java index 743c14f0..1086d42a 100644 --- a/manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/impl/OrganizeServiceImpl.java +++ b/manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/impl/OrganizeServiceImpl.java @@ -9,8 +9,6 @@ import com.baiye.model.dto.ClueQueryCriteria; import com.baiye.model.dto.DistributeDTO; import com.baiye.model.dto.DistributeResponseDTO; 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.OrganizeUserRepository; import com.baiye.modules.system.repository.TaskRepository; @@ -199,6 +197,7 @@ public class OrganizeServiceImpl implements OrganizeService { //小组内资源分配 //Map> : 用户id -> 资源ID集合 List>> maps = AverageDataUtil.averageData(clueIds, userIds); + // TODO 修改资源标签 转为json JSONUtil.toJsonStr(organizeMemberDistributionDTO.getSourceLabel()); sourceClueClient.batchUpdateUserId(maps); //更新小组任务信息 Organize updateOrganize = organizeRepository.findById(organizeMemberDistributionDTO.getOrganizeId()).orElseGet(Organize::new); diff --git a/manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/impl/TaskServiceImpl.java b/manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/impl/TaskServiceImpl.java index 52ca871c..4fd1fc14 100644 --- a/manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/impl/TaskServiceImpl.java +++ b/manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/impl/TaskServiceImpl.java @@ -1,5 +1,6 @@ package com.baiye.modules.system.service.impl; +import cn.hutool.core.collection.CollUtil; import com.baiye.constant.DefaultNumberConstants; import com.baiye.http.CommonResponse; import com.baiye.http.ResponseCode; @@ -29,6 +30,9 @@ import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; +/** + * @author + */ @Service @RequiredArgsConstructor public class TaskServiceImpl implements TaskService { @@ -41,13 +45,16 @@ public class TaskServiceImpl implements TaskService { @Override public ResponseEntity saveTask(Task task) { + if (CollUtil.isNotEmpty(task.getOrganizeList())) { + task.setOrganizeList(task.getOrganizeList()); + } 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) { @@ -67,7 +74,7 @@ public class TaskServiceImpl implements TaskService { @Override public List query(TaskQueryCriteria taskQueryCriteria) { Sort sort = Sort.by(Sort.Direction.ASC, "createTime"); - List taskDtos = taskMapper.toDto(taskRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, taskQueryCriteria, criteriaBuilder),sort)); + List taskDtos = taskMapper.toDto(taskRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, taskQueryCriteria, criteriaBuilder), sort)); for (TaskDto taskDto : taskDtos) { //任务下的小组信息加入 selectOrganizeUser(taskDto); @@ -77,9 +84,10 @@ public class TaskServiceImpl implements TaskService { /** * 小组id查询 组长用户信息 + * * @return */ - public void selectOrganizeUser(TaskDto taskDto){ + public void selectOrganizeUser(TaskDto taskDto) { //任务下的小组信息加入 List organizeList = organizeRepository.findByTaskId(taskDto.getId()); diff --git a/manage/ad-platform-management/src/main/test/java/com/baiye/SettingTest.java b/manage/ad-platform-management/src/main/test/java/com/baiye/SettingTest.java index e324b669..e1cc2664 100644 --- a/manage/ad-platform-management/src/main/test/java/com/baiye/SettingTest.java +++ b/manage/ad-platform-management/src/main/test/java/com/baiye/SettingTest.java @@ -36,7 +36,7 @@ public class SettingTest { List strings = Lists.newArrayList("a", "b", "c", "d"); List longs = Lists.newArrayList(12360L,12361L); - distributeDTO.setResourceList(strings); + // distributeDTO.setResourceList(strings); distributeDTO.setDeptIds(longs); CommonResponse> listCommonResponse = assignDataClient.dataDistribution(distributeDTO); if (listCommonResponse.getStatus() == 0){ diff --git a/services/ad-platform-service/src/main/java/com/baiye/service/AssignDataService.java b/services/ad-platform-service/src/main/java/com/baiye/service/AssignDataService.java index e1bbcd61..be2fc4e1 100644 --- a/services/ad-platform-service/src/main/java/com/baiye/service/AssignDataService.java +++ b/services/ad-platform-service/src/main/java/com/baiye/service/AssignDataService.java @@ -17,7 +17,6 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Map; -import java.util.concurrent.CopyOnWriteArrayList; import java.util.stream.Collectors; /** @@ -76,7 +75,7 @@ public class AssignDataService { distributeResponseDTO.setResponseList(value); distributeResponseDTO.setDeptId(key); list.add(distributeResponseDTO); - // 并集方式删除元素 + // 差集方式删除元素 arrayList = CollUtil.subtractToList(arrayList, value); // copyOnWriteArrayList.removeAll(value); } else { diff --git a/services/ad-platform-service/src/test/java/com/baiye/SettingTest.java b/services/ad-platform-service/src/test/java/com/baiye/SettingTest.java index f1e89c0e..7ea117ab 100644 --- a/services/ad-platform-service/src/test/java/com/baiye/SettingTest.java +++ b/services/ad-platform-service/src/test/java/com/baiye/SettingTest.java @@ -35,12 +35,7 @@ public class SettingTest { List strings = Lists.newArrayList("a", "b", "c", "d","e","f","g","h","i","j"); - List longs = Lists.newArrayList(12360L, 12361L,12362L,12363L,12364L,12365L); - List 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))); + String s = JSONUtil.toJsonStr(strings); }