From 5bd89aa63e546873a07ac51192a99f6fc5cf1757 Mon Sep 17 00:00:00 2001
From: zhn <947514737@qq.com>
Date: Thu, 12 Jan 2023 14:59:11 +0800
Subject: [PATCH 1/2] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=BA=93--=E7=BD=AE?=
=?UTF-8?q?=E9=A1=B6=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../mapper/xml/ProjectLibraryBaseMapper.xml | 2 +-
.../impl/ProjectLibraryBaseServiceImpl.java | 96 ++++++++++++++++---
.../jero/modules/top/entity/TopProjectEO.java | 79 +++++++++++++++
.../top/mapper/TopProjectEOMapper.java | 17 ++++
.../top/mapper/xml/TopProjectEOMapper.xml | 15 +++
.../top/service/ITopProjectEOService.java | 61 ++++++++++++
.../service/impl/TopProjectEOServiceImpl.java | 89 +++++++++++++++++
7 files changed, 346 insertions(+), 13 deletions(-)
create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/top/entity/TopProjectEO.java
create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/top/mapper/TopProjectEOMapper.java
create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/top/mapper/xml/TopProjectEOMapper.xml
create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/top/service/ITopProjectEOService.java
create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/top/service/impl/TopProjectEOServiceImpl.java
diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectLibraryBaseMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectLibraryBaseMapper.xml
index 26e42dd5a..909b618e8 100644
--- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectLibraryBaseMapper.xml
+++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectLibraryBaseMapper.xml
@@ -136,7 +136,7 @@
parent_id = '' or parent_id is null
- order by plb.sort desc, plb.create_time desc
+ order by plb.create_time desc
diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java
index 45e9778aa..1b393189d 100644
--- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java
+++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java
@@ -52,6 +52,8 @@ import com.jero.modules.system.service.ISysDictService;
import com.jero.modules.system.service.ISysUserService;
import com.jero.modules.system.service.impl.SysDictItemServiceImpl;
import com.jero.modules.system.util.StringUtils;
+import com.jero.modules.top.entity.TopProjectEO;
+import com.jero.modules.top.service.ITopProjectEOService;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.poi.hssf.usermodel.HSSFSheet;
@@ -74,6 +76,7 @@ import java.text.ParseException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
+import java.util.Comparator;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
@@ -157,6 +160,9 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl targetMarketList = sysDictService.queryDictItemsByCode(DicCodeEnum.REGION.getCode());
+ //置顶
+ List idList = result.stream().map(ProjectLibraryBase::getId).collect(Collectors.toList());
+ List topProjectEOList = new ArrayList<>();
+ if(ObjectUtils.isNotEmpty(idList)){
+ LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>();
+ wrapper.in(TopProjectEO::getCreateBy,loginUser.getUsername()).in(TopProjectEO::getProjectLibraryBaseId,idList).orderByDesc(TopProjectEO::getSort);
+ topProjectEOList = iTopProjectEOService.list(wrapper);
+ }
+
for(ProjectLibraryBase projectLibraryBase: result){
+ //置顶处理
+ if(ObjectUtils.isNotEmpty(topProjectEOList)){
+ List collect = topProjectEOList.stream()
+ .filter(e -> projectLibraryBase.getId().equals(e.getProjectLibraryBaseId())
+ && loginUser.getUsername().equals(e.getCreateBy()))
+ .collect(Collectors.toList());
+ if(ObjectUtils.isNotEmpty(collect)){
+ projectLibraryBase.setFlag(collect.get(0).getFlag());
+ projectLibraryBase.setSort(collect.get(0).getSort());
+ }else{
+ projectLibraryBase.setSort("0");
+ }
+ }else{
+ projectLibraryBase.setSort("0");
+ }
//目标市场
String targetMarket = getMarket(params, targetMarketList, projectLibraryBase);
//主项目的版本号
@@ -809,6 +839,16 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl() {
+ @Override
+ public int compare(ProjectLibraryBase o1, ProjectLibraryBase o2) {
+ return -o1.getSort().compareTo(o2.getSort());
+ }
+ });
+ }
+
//所有主项目
List projectLibraryBaseListParent = projectLibraryBaseMapper.queryMaimList();
disposeData(projectLibraryBaseListParent,"",false);
@@ -1665,32 +1705,64 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl wrapper = new LambdaQueryWrapper<>();
- wrapper.isNotNull(ProjectLibraryBase::getSort).orderByDesc(ProjectLibraryBase::getSort);
- List list = this.list(wrapper);
+ LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>();
+ wrapper.in(TopProjectEO::getCreateBy,loginUser.getUsername()).orderByDesc(TopProjectEO::getSort);
+ List list = iTopProjectEOService.list(wrapper);
if(list.size() != 0){
- String sort = list.get(list.size() - 1).getSort();
+ String sort = list.get(0).getSort();
int sortTemp = Integer.valueOf(sort) + 1;
- projectLibraryBase.setSort(String.valueOf(sortTemp));
+ topProjectEO.setSort(String.valueOf(sortTemp));
}else{
//首个置顶的项目排序为1
- projectLibraryBase.setSort("1");
+ topProjectEO.setSort("1");
}
- projectLibraryBase.setFlag(TopEnum.TOP_CANCEL.getValue());
- this.updateById(projectLibraryBase);
+ iTopProjectEOService.save(topProjectEO);
}else{
//取消置顶
- LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>();
- updateWrapper.in(ProjectLibraryBase::getId,id);
- updateWrapper.set(ProjectLibraryBase::getSort,null).set(ProjectLibraryBase::getFlag,null);
- this.update(projectLibraryBase,updateWrapper);
+ LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>();
+ wrapper.in(TopProjectEO::getCreateBy,loginUser.getUsername()).in(TopProjectEO::getProjectLibraryBaseId,id);
+ iTopProjectEOService.remove(wrapper);
}
}
+// @Override
+// public void top(String id, String flag) {
+// ProjectLibraryBase projectLibraryBase = this.getById(id);
+// //置顶的时候将取消置顶标识传过来即:flag=1
+// if(TopEnum.TOP_CANCEL.getValue().equals(flag)){
+// //置顶
+// LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>();
+// wrapper.isNotNull(ProjectLibraryBase::getSort).orderByDesc(ProjectLibraryBase::getSort);
+// List list = this.list(wrapper);
+// if(list.size() != 0){
+// String sort = list.get(list.size() - 1).getSort();
+// int sortTemp = Integer.valueOf(sort) + 1;
+// projectLibraryBase.setSort(String.valueOf(sortTemp));
+// }else{
+// //首个置顶的项目排序为1
+// projectLibraryBase.setSort("1");
+// }
+// projectLibraryBase.setFlag(TopEnum.TOP_CANCEL.getValue());
+// this.updateById(projectLibraryBase);
+//
+// }else{
+// //取消置顶
+// LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>();
+// updateWrapper.in(ProjectLibraryBase::getId,id);
+// updateWrapper.set(ProjectLibraryBase::getSort,null).set(ProjectLibraryBase::getFlag,null);
+// this.update(projectLibraryBase,updateWrapper);
+// }
+// }
@Override
public List getVersionsInfo(String id) {
diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/top/entity/TopProjectEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/top/entity/TopProjectEO.java
new file mode 100644
index 000000000..7179b572d
--- /dev/null
+++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/top/entity/TopProjectEO.java
@@ -0,0 +1,79 @@
+package com.jero.modules.top.entity;
+
+import java.io.Serializable;
+import java.io.UnsupportedEncodingException;
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import com.jero.common.aspect.annotation.Dict;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+
+
+/**
+ * @Description: 项目库置顶关联表
+ * @Author: jero-boot
+ * @Date: 2023-01-12
+ * @Version: V1.0
+ */
+@Data
+@TableName("top_project")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="top_project对象", description="项目库置顶关联表")
+public class TopProjectEO implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ /**主键*/
+ @TableId(type = IdType.ASSIGN_ID)
+ @ApiModelProperty(value = "主键")
+ private java.lang.String id;
+
+ /**创建人*/
+ @ApiModelProperty(value = "创建人")
+ private java.lang.String createBy;
+
+ /**创建日期*/
+ @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+ @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+ @ApiModelProperty(value = "创建日期")
+ private java.util.Date createTime;
+
+ /**更新人*/
+ @ApiModelProperty(value = "更新人")
+ private java.lang.String updateBy;
+
+ /**更新日期*/
+ @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+ @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+ @ApiModelProperty(value = "更新日期")
+ private java.util.Date updateTime;
+
+ /**所属部门*/
+ @ApiModelProperty(value = "所属部门")
+ private java.lang.String sysOrgCode;
+
+ /**项目id*/
+ @Excel(name = "项目id", width = 15)
+ @ApiModelProperty(value = "项目id")
+ private java.lang.String projectLibraryBaseId;
+
+ /**置顶标识*/
+ @Excel(name = "置顶标识", width = 15)
+ @ApiModelProperty(value = "置顶标识")
+ private java.lang.String flag;
+
+ /**置顶排序*/
+ @Excel(name = "置顶排序", width = 15)
+ @ApiModelProperty(value = "置顶排序")
+ private java.lang.String sort;
+
+}
diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/top/mapper/TopProjectEOMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/top/mapper/TopProjectEOMapper.java
new file mode 100644
index 000000000..12dd3b6ed
--- /dev/null
+++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/top/mapper/TopProjectEOMapper.java
@@ -0,0 +1,17 @@
+package com.jero.modules.top.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import com.jero.modules.top.entity.TopProjectEO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: 项目库置顶关联表
+ * @Author: jero-boot
+ * @Date: 2023-01-12
+ * @Version: V1.0
+ */
+public interface TopProjectEOMapper extends BaseMapper {
+
+}
diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/top/mapper/xml/TopProjectEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/top/mapper/xml/TopProjectEOMapper.xml
new file mode 100644
index 000000000..3b74c28d9
--- /dev/null
+++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/top/mapper/xml/TopProjectEOMapper.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/top/service/ITopProjectEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/top/service/ITopProjectEOService.java
new file mode 100644
index 000000000..face0aac6
--- /dev/null
+++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/top/service/ITopProjectEOService.java
@@ -0,0 +1,61 @@
+package com.jero.modules.top.service;
+
+import com.jero.modules.top.entity.TopProjectEO;
+import com.baomidou.mybatisplus.extension.service.IService;
+import java.util.List;
+
+/**
+ * @Description: 项目库置顶关联表
+ * @Author: jero-boot
+ * @Date: 2023-01-12
+ * @Version: V1.0
+ */
+public interface ITopProjectEOService extends IService {
+
+ /**
+ * 保存
+ *
+ * @param topProjectEO
+ * @return
+ */
+ void add(TopProjectEO topProjectEO);
+
+ /**
+ * 更新
+ *
+ * @param topProjectEO
+ * @return
+ */
+ void editById(TopProjectEO topProjectEO);
+
+ /**
+ * 通过id删除
+ *
+ * @param id
+ * @return
+ */
+ void deleteById(String id);
+
+ /**
+ * 批量删除
+ *
+ * @param ids
+ * @return
+ */
+ void deleteByIds(List ids);
+
+ /**
+ * 通过id查询
+ *
+ * @param id
+ * @return
+ */
+ TopProjectEO queryById(String id);
+
+ /**
+ * 列表查询
+ *
+ * @return
+ */
+ List queryList();
+}
diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/top/service/impl/TopProjectEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/top/service/impl/TopProjectEOServiceImpl.java
new file mode 100644
index 000000000..d8473fc8c
--- /dev/null
+++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/top/service/impl/TopProjectEOServiceImpl.java
@@ -0,0 +1,89 @@
+package com.jero.modules.top.service.impl;
+
+import com.jero.modules.top.entity.TopProjectEO;
+import com.jero.modules.top.mapper.TopProjectEOMapper;
+import com.jero.modules.top.service.ITopProjectEOService;
+import org.springframework.stereotype.Service;
+import java.util.List;
+import java.util.Date;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: 项目库置顶关联表
+ * @Author: jero-boot
+ * @Date: 2023-01-12
+ * @Version: V1.0
+ */
+@Service
+public class TopProjectEOServiceImpl extends ServiceImpl implements ITopProjectEOService {
+
+ /**
+ * 保存
+ *
+ * @param topProjectEO
+ * @return
+ */
+ @Override
+ public void add(TopProjectEO topProjectEO) {
+ Date now = new Date();
+ topProjectEO.setCreateTime(now);
+ topProjectEO.setUpdateTime(now);
+ save(topProjectEO);
+ }
+
+ /**
+ * 更新
+ *
+ * @param topProjectEO
+ * @return
+ */
+ @Override
+ public void editById(TopProjectEO topProjectEO) {
+ Date now = new Date();
+ topProjectEO.setUpdateTime(now);
+ saveOrUpdate(topProjectEO);
+ }
+
+ /**
+ * 通过id删除
+ *
+ * @param id
+ * @return
+ */
+ @Override
+ public void deleteById(String id) {
+ removeById(id);
+ }
+
+ /**
+ * 批量删除
+ *
+ * @param ids
+ * @return
+ */
+ @Override
+ public void deleteByIds(List ids) {
+ removeByIds(ids);
+ }
+
+ /**
+ * 通过id查询
+ *
+ * @param id
+ * @return
+ */
+ @Override
+ public TopProjectEO queryById(String id) {
+ return getById(id);
+ }
+
+ /**
+ * 列表查询
+ *
+ * @return
+ */
+ @Override
+ public List queryList() {
+ return list();
+ }
+}
From 77ff0f32d8d26c624b23c98cf716bb1014ce5adc Mon Sep 17 00:00:00 2001
From: zhn <947514737@qq.com>
Date: Thu, 12 Jan 2023 15:02:15 +0800
Subject: [PATCH 2/2] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=BA=93=E7=BD=AE?=
=?UTF-8?q?=E9=A1=B6sql?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
jero-boot/db/蔚来标准sql/dev_2nd_period.sql | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/jero-boot/db/蔚来标准sql/dev_2nd_period.sql b/jero-boot/db/蔚来标准sql/dev_2nd_period.sql
index b298be65c..5417c8271 100644
--- a/jero-boot/db/蔚来标准sql/dev_2nd_period.sql
+++ b/jero-boot/db/蔚来标准sql/dev_2nd_period.sql
@@ -159,3 +159,12 @@ ALTER TABLE `laws_weilai`.`params_report_detail`
-- 更新拆分详情列 展示顺序不在列表头展示sql 2022-12-30 已同步生产环境
UPDATE `laws_weilai`.`onl_cgform_field` SET `is_show_list` = 0 WHERE `id` = '1529373706885799937'
+
+-- 项目库置顶 2023-1-12 未同步生产环境
+CREATE TABLE `laws_weilai`.`top_project` (
+ `id` varchar(36) NOT NULL COMMENT 'id',
+ `project_library_base_id` varchar(36) NULL COMMENT '项目id',
+ `flag` varchar(255) NULL COMMENT '置顶标识',
+ `sort` varchar(255) NULL COMMENT '置顶排序',
+ PRIMARY KEY (`id`)
+);