Commit 2d23a638 by zhiwj

项目排序

parent 4e38dfcb
...@@ -13,7 +13,6 @@ import java.util.List; ...@@ -13,7 +13,6 @@ import java.util.List;
*/ */
public class ProjectDTO implements Serializable{ public class ProjectDTO implements Serializable{
private static final long serialVersionUID = -6709186360782680347L; private static final long serialVersionUID = -6709186360782680347L;
public interface SaveValid{} public interface SaveValid{}
/** /**
...@@ -43,6 +42,17 @@ public class ProjectDTO implements Serializable{ ...@@ -43,6 +42,17 @@ public class ProjectDTO implements Serializable{
private Integer itemUseCount; private Integer itemUseCount;
private int seq;
public void setSeq(int seq) {
this.seq = seq;
}
public int getSeq() {
return seq;
}
public void setItemTotalCount(Integer itemTotalCount) { public void setItemTotalCount(Integer itemTotalCount) {
this.itemTotalCount = itemTotalCount; this.itemTotalCount = itemTotalCount;
} }
......
...@@ -68,6 +68,7 @@ public class ProjectItemDTO implements Serializable { ...@@ -68,6 +68,7 @@ public class ProjectItemDTO implements Serializable {
* 审批模板类型 0:普通审批项, 1:风险模式审批, 2:导出完整数据 * 审批模板类型 0:普通审批项, 1:风险模式审批, 2:导出完整数据
*/ */
private Integer auditTemplateType; private Integer auditTemplateType;
private int seq;
public Integer getProjectItemId() { public Integer getProjectItemId() {
return projectItemId; return projectItemId;
...@@ -164,4 +165,12 @@ public class ProjectItemDTO implements Serializable { ...@@ -164,4 +165,12 @@ public class ProjectItemDTO implements Serializable {
public void setAuditTemplateType(Integer auditTemplateType) { public void setAuditTemplateType(Integer auditTemplateType) {
this.auditTemplateType = auditTemplateType; this.auditTemplateType = auditTemplateType;
} }
public void setSeq(int seq) {
this.seq = seq;
}
public int getSeq() {
return seq;
}
} }
...@@ -57,4 +57,26 @@ public interface ProjectApiService { ...@@ -57,4 +57,26 @@ public interface ProjectApiService {
* @throws * @throws
*/ */
ServiceResponse<List<ProjectDTO>> listAllProject(); ServiceResponse<List<ProjectDTO>> listAllProject();
/**
* @Title: setProjectSort
* @Description:
* @author zhiwj
* @param projectId
* @param seq
* @return com.gic.api.base.commons.ServiceResponse<java.lang.Void>
* @throws
*/
ServiceResponse<Void> setProjectSort(Integer projectId, Integer seq);
/**
* @Title: setProjectItemSort
* @Description:
* @author zhiwj
* @param projectItemId
* @param seq
* @return com.gic.api.base.commons.ServiceResponse<java.lang.Void>
* @throws
*/
ServiceResponse<Void> setProjectItemSort(Integer projectItemId, Integer seq);
} }
package com.gic.enterprise.dao.mapper; package com.gic.enterprise.dao.mapper;
import com.gic.enterprise.dto.ProjectItemDTO; import com.gic.enterprise.dto.ProjectItemDTO;
import com.gic.enterprise.entity.TabProject;
import com.gic.enterprise.entity.TabProjectItem; import com.gic.enterprise.entity.TabProjectItem;
import com.gic.enterprise.qo.ProjectItemQO; import com.gic.enterprise.qo.ProjectItemQO;
import com.github.pagehelper.Page; import com.github.pagehelper.Page;
...@@ -65,4 +66,10 @@ public interface TabProjectItemMapper { ...@@ -65,4 +66,10 @@ public interface TabProjectItemMapper {
List<Map<String,Object>> getProjectItemCountByProjectIds(@Param("ids") List<Integer> projectIds, @Param("useStatus") Integer useStatus); List<Map<String,Object>> getProjectItemCountByProjectIds(@Param("ids") List<Integer> projectIds, @Param("useStatus") Integer useStatus);
TabProjectItem getByProjectItemCode(@Param("projectItemCode") String projectItemCode); TabProjectItem getByProjectItemCode(@Param("projectItemCode") String projectItemCode);
List<TabProject> listTwoElementExceptId(@Param("start") int start, @Param("size") int size, @Param("projectItemId") Integer projectItemId);
Double getMinSort();
Double getMaxSort();
} }
\ No newline at end of file
...@@ -3,6 +3,7 @@ package com.gic.enterprise.dao.mapper; ...@@ -3,6 +3,7 @@ package com.gic.enterprise.dao.mapper;
import com.gic.enterprise.dto.ProjectDTO; import com.gic.enterprise.dto.ProjectDTO;
import com.gic.enterprise.entity.TabProject; import com.gic.enterprise.entity.TabProject;
import com.github.pagehelper.Page; import com.github.pagehelper.Page;
import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
...@@ -58,4 +59,10 @@ public interface TabProjectMapper { ...@@ -58,4 +59,10 @@ public interface TabProjectMapper {
TabProject getFirstProject(ProjectDTO projectDTO); TabProject getFirstProject(ProjectDTO projectDTO);
Page<TabProject> listProject(ProjectDTO projectDTO); Page<TabProject> listProject(ProjectDTO projectDTO);
List<TabProject> listTwoElementExceptId(@Param("start") int start, @Param("size") int size, @Param("projectId") Integer projectId);
Double getMinSort();
Double getMaxSort();
} }
\ No newline at end of file
...@@ -31,6 +31,11 @@ public class TabProject { ...@@ -31,6 +31,11 @@ public class TabProject {
*/ */
private Date updateTime; private Date updateTime;
/**
* 排序
*/
private Double sort;
public Integer getProjectId() { public Integer getProjectId() {
return projectId; return projectId;
} }
...@@ -70,4 +75,12 @@ public class TabProject { ...@@ -70,4 +75,12 @@ public class TabProject {
public void setUpdateTime(Date updateTime) { public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime; this.updateTime = updateTime;
} }
public Double getSort() {
return sort;
}
public void setSort(Double sort) {
this.sort = sort;
}
} }
\ No newline at end of file
...@@ -71,6 +71,11 @@ public class TabProjectItem { ...@@ -71,6 +71,11 @@ public class TabProjectItem {
*/ */
private Integer auditTemplateType; private Integer auditTemplateType;
/**
*
*/
private Double sort;
public Integer getProjectItemId() { public Integer getProjectItemId() {
return projectItemId; return projectItemId;
} }
...@@ -174,4 +179,12 @@ public class TabProjectItem { ...@@ -174,4 +179,12 @@ public class TabProjectItem {
public void setAuditTemplateType(Integer auditTemplateType) { public void setAuditTemplateType(Integer auditTemplateType) {
this.auditTemplateType = auditTemplateType; this.auditTemplateType = auditTemplateType;
} }
public Double getSort() {
return sort;
}
public void setSort(Double sort) {
this.sort = sort;
}
} }
\ No newline at end of file
...@@ -36,4 +36,6 @@ public interface ProjectItemService { ...@@ -36,4 +36,6 @@ public interface ProjectItemService {
TabProjectItem getById(Integer projectItemId); TabProjectItem getById(Integer projectItemId);
TabProjectItem getByProjectItemCode(String projectItemCode); TabProjectItem getByProjectItemCode(String projectItemCode);
void setProjectItemSort(Integer projectItemId, Integer seq);
} }
...@@ -28,4 +28,6 @@ public interface ProjectService { ...@@ -28,4 +28,6 @@ public interface ProjectService {
List<TabProject> listAllProject(); List<TabProject> listAllProject();
TabProject getProjectByProjectItem(Integer projectItemId); TabProject getProjectByProjectItem(Integer projectItemId);
void setProjectSort(Integer projectId, Integer seq);
} }
...@@ -4,11 +4,13 @@ import com.gic.commons.util.EntityUtil; ...@@ -4,11 +4,13 @@ import com.gic.commons.util.EntityUtil;
import com.gic.commons.util.GlobalInfo; import com.gic.commons.util.GlobalInfo;
import com.gic.enterprise.dao.mapper.TabProjectItemMapper; import com.gic.enterprise.dao.mapper.TabProjectItemMapper;
import com.gic.enterprise.dto.ProjectItemDTO; import com.gic.enterprise.dto.ProjectItemDTO;
import com.gic.enterprise.entity.TabProject;
import com.gic.enterprise.entity.TabProjectItem; import com.gic.enterprise.entity.TabProjectItem;
import com.gic.enterprise.qo.ProjectItemQO; import com.gic.enterprise.qo.ProjectItemQO;
import com.gic.enterprise.service.ProjectItemService; import com.gic.enterprise.service.ProjectItemService;
import com.github.pagehelper.Page; import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -39,6 +41,8 @@ public class ProjectItemServiceImpl implements ProjectItemService { ...@@ -39,6 +41,8 @@ public class ProjectItemServiceImpl implements ProjectItemService {
TabProjectItem projectItem = EntityUtil.changeEntityByJSON(TabProjectItem.class, copy); TabProjectItem projectItem = EntityUtil.changeEntityByJSON(TabProjectItem.class, copy);
projectItem.setStatus(GlobalInfo.DATA_STATUS_NORMAL); projectItem.setStatus(GlobalInfo.DATA_STATUS_NORMAL);
projectItem.setCreateTime(new Date()); projectItem.setCreateTime(new Date());
Double sort = tabProjectItemMapper.getMinSort();
projectItem.setSort(sort == null ? 1d : sort - 1d);
tabProjectItemMapper.insertSelective(projectItem); tabProjectItemMapper.insertSelective(projectItem);
return projectItem.getProjectItemId(); return projectItem.getProjectItemId();
} }
...@@ -107,4 +111,52 @@ public class ProjectItemServiceImpl implements ProjectItemService { ...@@ -107,4 +111,52 @@ public class ProjectItemServiceImpl implements ProjectItemService {
public TabProjectItem getByProjectItemCode(String projectItemCode) { public TabProjectItem getByProjectItemCode(String projectItemCode) {
return tabProjectItemMapper.getByProjectItemCode(projectItemCode); return tabProjectItemMapper.getByProjectItemCode(projectItemCode);
} }
@Override
public void setProjectItemSort(Integer projectItemId, Integer seq) {
if (seq <= 1) {
// 相当于置顶
sortTopping(projectItemId);
} else {
int start = seq - 2;
int size = 2;
List<TabProject> list = tabProjectItemMapper.listTwoElementExceptId(start, size, projectItemId);
if (CollectionUtils.isEmpty(list)) {
// 置底
sortBottom(projectItemId);
} else {
Double sort;
if (list.size() == 1) {
// 置底
sort = list.get(0).getSort() + 1d;
} else {
sort = (list.get(0).getSort() + list.get(1).getSort()) / 2d;
}
TabProjectItem project = new TabProjectItem();
project.setProjectItemId(projectItemId);
project.setSort(sort);
tabProjectItemMapper.updateByPrimaryKeySelective(project);
}
}
}
private void sortTopping(Integer projectItemId) {
Double sort = tabProjectItemMapper.getMinSort();
TabProjectItem projectItem = new TabProjectItem();
projectItem.setProjectItemId(projectItemId);
projectItem.setSort(sort - 1d);
tabProjectItemMapper.updateByPrimaryKeySelective(projectItem);
}
private void sortBottom(Integer projectItemId) {
Double sort = tabProjectItemMapper.getMaxSort();
if (sort != null) {
TabProjectItem projectItem = new TabProjectItem();
projectItem.setProjectItemId(projectItemId);
projectItem.setSort(sort + 1d);
tabProjectItemMapper.updateByPrimaryKeySelective(projectItem);
}
}
} }
...@@ -9,6 +9,7 @@ import com.gic.enterprise.entity.TabProjectItem; ...@@ -9,6 +9,7 @@ import com.gic.enterprise.entity.TabProjectItem;
import com.gic.enterprise.service.ProjectService; import com.gic.enterprise.service.ProjectService;
import com.github.pagehelper.Page; import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -36,6 +37,10 @@ public class ProjectServiceImpl implements ProjectService { ...@@ -36,6 +37,10 @@ public class ProjectServiceImpl implements ProjectService {
tabProject.setProjectName(copy.getProjectName()); tabProject.setProjectName(copy.getProjectName());
tabProject.setStatus(GlobalInfo.DATA_STATUS_NORMAL); tabProject.setStatus(GlobalInfo.DATA_STATUS_NORMAL);
tabProject.setCreateTime(new Date()); tabProject.setCreateTime(new Date());
Double sort = tabProjectMapper.getMinSort();
tabProject.setSort(sort == null ? 1d : sort - 1d);
tabProjectMapper.insertSelective(tabProject); tabProjectMapper.insertSelective(tabProject);
return tabProject.getProjectId(); return tabProject.getProjectId();
} }
...@@ -90,4 +95,52 @@ public class ProjectServiceImpl implements ProjectService { ...@@ -90,4 +95,52 @@ public class ProjectServiceImpl implements ProjectService {
TabProjectItem projectItem = tabProjectItemMapper.selectByPrimaryKey(projectItemId); TabProjectItem projectItem = tabProjectItemMapper.selectByPrimaryKey(projectItemId);
return tabProjectMapper.selectByPrimaryKey(projectItem.getProjectId()); return tabProjectMapper.selectByPrimaryKey(projectItem.getProjectId());
} }
@Override
public void setProjectSort(Integer projectId, Integer seq) {
if (seq <= 1) {
// 相当于置顶
sortTopping(projectId);
} else {
int start = seq - 2;
int size = 2;
List<TabProject> list = tabProjectMapper.listTwoElementExceptId(start, size, projectId);
if (CollectionUtils.isEmpty(list)) {
// 置底
sortBottom(projectId);
} else {
Double sort;
if (list.size() == 1) {
// 置底
sort = list.get(0).getSort() + 1d;
} else {
sort = (list.get(0).getSort() + list.get(1).getSort()) / 2d;
}
TabProject project = new TabProject();
project.setProjectId(projectId);
project.setSort(sort);
tabProjectMapper.updateByPrimaryKeySelective(project);
}
}
}
private void sortTopping(Integer projectId) {
Double sort = tabProjectMapper.getMinSort();
TabProject project = new TabProject();
project.setProjectId(projectId);
project.setSort(sort - 1d);
tabProjectMapper.updateByPrimaryKeySelective(project);
}
private void sortBottom(Integer projectId) {
Double sort = tabProjectMapper.getMaxSort();
if (sort != null) {
TabProject project = new TabProject();
project.setProjectId(projectId);
project.setSort(sort + 1d);
tabProjectMapper.updateByPrimaryKeySelective(project);
}
}
} }
...@@ -79,6 +79,8 @@ public class ProjectApiServiceImpl implements ProjectApiService{ ...@@ -79,6 +79,8 @@ public class ProjectApiServiceImpl implements ProjectApiService{
Map<Integer, Integer> totalCountMap = projectItemService.getProjectItemCountByProjectIds(projectIds, null); Map<Integer, Integer> totalCountMap = projectItemService.getProjectItemCountByProjectIds(projectIds, null);
Map<Integer, Integer> countUseMap = projectItemService.getProjectItemCountByProjectIds(projectIds, GlobalInfo.DATA_STATUS_NORMAL); Map<Integer, Integer> countUseMap = projectItemService.getProjectItemCountByProjectIds(projectIds, GlobalInfo.DATA_STATUS_NORMAL);
List<ProjectDTO> resultList = projectPage.getResult(); List<ProjectDTO> resultList = projectPage.getResult();
int index = (pageNum - 1) * pageSize + 1;
int i = 0;
for (ProjectDTO dto : resultList) { for (ProjectDTO dto : resultList) {
Integer totalCount = totalCountMap.get(dto.getProjectId()); Integer totalCount = totalCountMap.get(dto.getProjectId());
dto.setItemTotalCount(totalCount == null ? 0 : totalCount); dto.setItemTotalCount(totalCount == null ? 0 : totalCount);
...@@ -90,6 +92,8 @@ public class ProjectApiServiceImpl implements ProjectApiService{ ...@@ -90,6 +92,8 @@ public class ProjectApiServiceImpl implements ProjectApiService{
itemQO.setPageSize(3); itemQO.setPageSize(3);
com.github.pagehelper.Page<TabProjectItem> itemList = projectItemService.listProjectItem(itemQO); com.github.pagehelper.Page<TabProjectItem> itemList = projectItemService.listProjectItem(itemQO);
dto.setItemList(EntityUtil.changeEntityListNew(ProjectItemDTO.class, itemList)); dto.setItemList(EntityUtil.changeEntityListNew(ProjectItemDTO.class, itemList));
dto.setSeq(index + i);
i++;
} }
} }
return ServiceResponse.success(projectPage); return ServiceResponse.success(projectPage);
...@@ -114,5 +118,16 @@ public class ProjectApiServiceImpl implements ProjectApiService{ ...@@ -114,5 +118,16 @@ public class ProjectApiServiceImpl implements ProjectApiService{
return ServiceResponse.success(result); return ServiceResponse.success(result);
} }
@Override
public ServiceResponse<Void> setProjectSort(Integer projectId, Integer seq) {
this.projectService.setProjectSort(projectId, seq);
return ServiceResponse.success();
}
@Override
public ServiceResponse<Void> setProjectItemSort(Integer projectItemId, Integer seq) {
this.projectItemService.setProjectItemSort(projectItemId, seq);
return ServiceResponse.success();
}
} }
...@@ -15,10 +15,13 @@ import com.gic.enterprise.service.AuditLogService; ...@@ -15,10 +15,13 @@ import com.gic.enterprise.service.AuditLogService;
import com.gic.enterprise.service.ProjectItemApiService; import com.gic.enterprise.service.ProjectItemApiService;
import com.gic.enterprise.service.ProjectItemService; import com.gic.enterprise.service.ProjectItemService;
import com.gic.enterprise.service.ProjectService; import com.gic.enterprise.service.ProjectService;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/** /**
* *
* @Description: * @Description:
...@@ -79,6 +82,12 @@ public class ProjectItemApiServiceImpl implements ProjectItemApiService { ...@@ -79,6 +82,12 @@ public class ProjectItemApiServiceImpl implements ProjectItemApiService {
public ServiceResponse<Page<ProjectItemDTO>> listProjectItem(ProjectItemQO projectItemQO) { public ServiceResponse<Page<ProjectItemDTO>> listProjectItem(ProjectItemQO projectItemQO) {
com.github.pagehelper.Page page = projectItemService.listProjectItem(projectItemQO); com.github.pagehelper.Page page = projectItemService.listProjectItem(projectItemQO);
Page<ProjectItemDTO> dtoPage = PageHelperUtils.changePageHelperToCurrentPage(page, ProjectItemDTO.class); Page<ProjectItemDTO> dtoPage = PageHelperUtils.changePageHelperToCurrentPage(page, ProjectItemDTO.class);
List<ProjectItemDTO> resultList = page.getResult();
if (CollectionUtils.isNotEmpty(resultList)) {
for (int i = 0; i < resultList.size(); i++) {
resultList.get(i).setSeq(1 + i);
}
}
return ServiceResponse.success(dtoPage); return ServiceResponse.success(dtoPage);
} }
......
...@@ -15,11 +15,12 @@ ...@@ -15,11 +15,12 @@
<result column="is_platform" jdbcType="INTEGER" property="isPlatform" /> <result column="is_platform" jdbcType="INTEGER" property="isPlatform" />
<result column="audit_expire_duration" jdbcType="INTEGER" property="auditExpireDuration" /> <result column="audit_expire_duration" jdbcType="INTEGER" property="auditExpireDuration" />
<result column="audit_template_type" jdbcType="INTEGER" property="auditTemplateType" /> <result column="audit_template_type" jdbcType="INTEGER" property="auditTemplateType" />
<result column="sort" jdbcType="DOUBLE" property="sort" />
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
project_item_id, project_item_name, project_item_code, project_item_desc, project_id, project_item_id, project_item_name, project_item_code, project_item_desc, project_id,
callback_url, use_status, status, create_time, update_time, is_platform, audit_expire_duration, callback_url, use_status, status, create_time, update_time, is_platform, audit_expire_duration,
audit_template_type audit_template_type, sort
</sql> </sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap"> <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select select
...@@ -36,14 +37,17 @@ ...@@ -36,14 +37,17 @@
project_item_desc, project_id, callback_url, project_item_desc, project_id, callback_url,
use_status, status, create_time, use_status, status, create_time,
update_time, is_platform, audit_expire_duration, update_time, is_platform, audit_expire_duration,
audit_template_type) audit_template_type, sort)
values (#{projectItemId,jdbcType=INTEGER}, #{projectItemName,jdbcType=VARCHAR}, #{projectItemCode,jdbcType=VARCHAR}, values (#{projectItemId,jdbcType=INTEGER}, #{projectItemName,jdbcType=VARCHAR}, #{projectItemCode,jdbcType=VARCHAR},
#{projectItemDesc,jdbcType=VARCHAR}, #{projectId,jdbcType=INTEGER}, #{callbackUrl,jdbcType=VARCHAR}, #{projectItemDesc,jdbcType=VARCHAR}, #{projectId,jdbcType=INTEGER}, #{callbackUrl,jdbcType=VARCHAR},
#{useStatus,jdbcType=INTEGER}, #{status,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, #{useStatus,jdbcType=INTEGER}, #{status,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP},
#{updateTime,jdbcType=TIMESTAMP}, #{isPlatform,jdbcType=INTEGER}, #{auditExpireDuration,jdbcType=INTEGER}, #{updateTime,jdbcType=TIMESTAMP}, #{isPlatform,jdbcType=INTEGER}, #{auditExpireDuration,jdbcType=INTEGER},
#{auditTemplateType,jdbcType=INTEGER}) #{auditTemplateType,jdbcType=INTEGER}, #{sort,jdbcType=DOUBLE})
</insert> </insert>
<insert id="insertSelective" parameterType="com.gic.enterprise.entity.TabProjectItem"> <insert id="insertSelective" parameterType="com.gic.enterprise.entity.TabProjectItem">
<selectKey keyProperty="projectItemId" order="AFTER" resultType="java.lang.Integer">
SELECT LAST_INSERT_ID()
</selectKey>
insert into tab_project_item insert into tab_project_item
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
<if test="projectItemId != null"> <if test="projectItemId != null">
...@@ -85,6 +89,9 @@ ...@@ -85,6 +89,9 @@
<if test="auditTemplateType != null"> <if test="auditTemplateType != null">
audit_template_type, audit_template_type,
</if> </if>
<if test="sort != null">
sort,
</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="projectItemId != null"> <if test="projectItemId != null">
...@@ -126,6 +133,9 @@ ...@@ -126,6 +133,9 @@
<if test="auditTemplateType != null"> <if test="auditTemplateType != null">
#{auditTemplateType,jdbcType=INTEGER}, #{auditTemplateType,jdbcType=INTEGER},
</if> </if>
<if test="sort != null">
#{sort,jdbcType=DOUBLE},
</if>
</trim> </trim>
</insert> </insert>
<update id="updateByPrimaryKeySelective" parameterType="com.gic.enterprise.entity.TabProjectItem"> <update id="updateByPrimaryKeySelective" parameterType="com.gic.enterprise.entity.TabProjectItem">
...@@ -167,6 +177,9 @@ ...@@ -167,6 +177,9 @@
<if test="auditTemplateType != null"> <if test="auditTemplateType != null">
audit_template_type = #{auditTemplateType,jdbcType=INTEGER}, audit_template_type = #{auditTemplateType,jdbcType=INTEGER},
</if> </if>
<if test="sort != null">
sort = #{sort,jdbcType=DOUBLE},
</if>
</set> </set>
where project_item_id = #{projectItemId,jdbcType=INTEGER} where project_item_id = #{projectItemId,jdbcType=INTEGER}
</update> </update>
...@@ -183,7 +196,8 @@ ...@@ -183,7 +196,8 @@
update_time = #{updateTime,jdbcType=TIMESTAMP}, update_time = #{updateTime,jdbcType=TIMESTAMP},
is_platform = #{isPlatform,jdbcType=INTEGER}, is_platform = #{isPlatform,jdbcType=INTEGER},
audit_expire_duration = #{auditExpireDuration,jdbcType=INTEGER}, audit_expire_duration = #{auditExpireDuration,jdbcType=INTEGER},
audit_template_type = #{auditTemplateType,jdbcType=INTEGER} audit_template_type = #{auditTemplateType,jdbcType=INTEGER},
sort = #{sort,jdbcType=DOUBLE}
where project_item_id = #{projectItemId,jdbcType=INTEGER} where project_item_id = #{projectItemId,jdbcType=INTEGER}
</update> </update>
<select id="getFirstProjectItem" resultMap="BaseResultMap"> <select id="getFirstProjectItem" resultMap="BaseResultMap">
...@@ -250,4 +264,19 @@ ...@@ -250,4 +264,19 @@
</if> </if>
limit 1 limit 1
</select> </select>
<select id="listTwoElementExceptId" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from tab_project_item
where status = 1
and project_item_id &lt;&gt; #{projectItemId}
order by sort
limit #{start}, #{size}
</select>
<select id="getMinSort" resultType="java.lang.Double">
select sort from tab_project_item where status = 1 order by sort limit 1
</select>
<select id="getMaxSort" resultType="java.lang.Double">
select sort from tab_project_item where status = 1 order by sort desc limit 1
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -7,9 +7,10 @@ ...@@ -7,9 +7,10 @@
<result column="status" jdbcType="INTEGER" property="status" /> <result column="status" jdbcType="INTEGER" property="status" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" /> <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" /> <result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="sort" jdbcType="DOUBLE" property="sort" />
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
project_id, project_name, status, create_time, update_time project_id, project_name, status, create_time, update_time, sort
</sql> </sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap"> <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select select
...@@ -23,9 +24,11 @@ ...@@ -23,9 +24,11 @@
</delete> </delete>
<insert id="insert" parameterType="com.gic.enterprise.entity.TabProject"> <insert id="insert" parameterType="com.gic.enterprise.entity.TabProject">
insert into tab_project (project_id, project_name, status, insert into tab_project (project_id, project_name, status,
create_time, update_time) create_time, update_time, sort
)
values (#{projectId,jdbcType=INTEGER}, #{projectName,jdbcType=VARCHAR}, #{status,jdbcType=INTEGER}, values (#{projectId,jdbcType=INTEGER}, #{projectName,jdbcType=VARCHAR}, #{status,jdbcType=INTEGER},
#{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}) #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}, #{sort,jdbcType=DOUBLE}
)
</insert> </insert>
<insert id="insertSelective" parameterType="com.gic.enterprise.entity.TabProject"> <insert id="insertSelective" parameterType="com.gic.enterprise.entity.TabProject">
<selectKey keyProperty="projectId" order="AFTER" resultType="java.lang.Integer"> <selectKey keyProperty="projectId" order="AFTER" resultType="java.lang.Integer">
...@@ -48,6 +51,9 @@ ...@@ -48,6 +51,9 @@
<if test="updateTime != null"> <if test="updateTime != null">
update_time, update_time,
</if> </if>
<if test="sort != null">
sort,
</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="projectId != null"> <if test="projectId != null">
...@@ -65,6 +71,9 @@ ...@@ -65,6 +71,9 @@
<if test="updateTime != null"> <if test="updateTime != null">
#{updateTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP},
</if> </if>
<if test="sort != null">
#{sort,jdbcType=DOUBLE},
</if>
</trim> </trim>
</insert> </insert>
<update id="updateByPrimaryKeySelective" parameterType="com.gic.enterprise.entity.TabProject"> <update id="updateByPrimaryKeySelective" parameterType="com.gic.enterprise.entity.TabProject">
...@@ -82,6 +91,9 @@ ...@@ -82,6 +91,9 @@
<if test="updateTime != null"> <if test="updateTime != null">
update_time = #{updateTime,jdbcType=TIMESTAMP}, update_time = #{updateTime,jdbcType=TIMESTAMP},
</if> </if>
<if test="sort != null">
sort = #{sort,jdbcType=DOUBLE},
</if>
</set> </set>
where project_id = #{projectId,jdbcType=INTEGER} where project_id = #{projectId,jdbcType=INTEGER}
</update> </update>
...@@ -90,7 +102,8 @@ ...@@ -90,7 +102,8 @@
set project_name = #{projectName,jdbcType=VARCHAR}, set project_name = #{projectName,jdbcType=VARCHAR},
status = #{status,jdbcType=INTEGER}, status = #{status,jdbcType=INTEGER},
create_time = #{createTime,jdbcType=TIMESTAMP}, create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP} update_time = #{updateTime,jdbcType=TIMESTAMP},
sort = #{sort,jdbcType=DOUBLE}
where project_id = #{projectId,jdbcType=INTEGER} where project_id = #{projectId,jdbcType=INTEGER}
</update> </update>
<select id="getFirstProject" resultMap="BaseResultMap"> <select id="getFirstProject" resultMap="BaseResultMap">
...@@ -114,6 +127,21 @@ ...@@ -114,6 +127,21 @@
<if test="projectName != null and projectName != '' "> <if test="projectName != null and projectName != '' ">
and project_name like concat('%', #{projectName}, '%') and project_name like concat('%', #{projectName}, '%')
</if> </if>
order by create_time desc order by sort
</select>
<select id="listTwoElementExceptId" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from tab_project
where status = 1
and project_id &lt;&gt; #{projectId}
order by sort
limit #{start}, #{size}
</select>
<select id="getMinSort" resultType="java.lang.Double">
select sort from tab_project where status = 1 order by sort limit 1
</select>
<select id="getMaxSort" resultType="java.lang.Double">
select sort from tab_project where status = 1 order by sort desc limit 1
</select> </select>
</mapper> </mapper>
\ No newline at end of file
...@@ -43,4 +43,10 @@ public class ProjectController { ...@@ -43,4 +43,10 @@ public class ProjectController {
ServiceResponse<Page<ProjectDTO>> serviceResponse = projectApiService.listProject(projectDTO, projectQO.getCurrentPage(), projectQO.getPageSize()); ServiceResponse<Page<ProjectDTO>> serviceResponse = projectApiService.listProject(projectDTO, projectQO.getCurrentPage(), projectQO.getPageSize());
return ResultControllerUtils.commonResult(serviceResponse); return ResultControllerUtils.commonResult(serviceResponse);
} }
@RequestMapping("/set-project-seq")
public RestResponse setProjectSeq(Integer projectId, Integer seq) {
ServiceResponse<Void> serviceResponse = projectApiService.setProjectSort(projectId, seq);
return ResultControllerUtils.commonResult(serviceResponse);
}
} }
...@@ -6,6 +6,7 @@ import com.gic.commons.util.EntityUtil; ...@@ -6,6 +6,7 @@ import com.gic.commons.util.EntityUtil;
import com.gic.commons.webapi.reponse.RestResponse; import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.enterprise.dto.ProjectItemDTO; import com.gic.enterprise.dto.ProjectItemDTO;
import com.gic.enterprise.qo.ProjectItemQO; import com.gic.enterprise.qo.ProjectItemQO;
import com.gic.enterprise.service.ProjectApiService;
import com.gic.enterprise.service.ProjectItemApiService; import com.gic.enterprise.service.ProjectItemApiService;
import com.gic.enterprise.utils.ResultControllerUtils; import com.gic.enterprise.utils.ResultControllerUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -23,6 +24,8 @@ public class ProjectItemController { ...@@ -23,6 +24,8 @@ public class ProjectItemController {
@Autowired @Autowired
private ProjectItemApiService projectItemApiService; private ProjectItemApiService projectItemApiService;
@Autowired
private ProjectApiService projectApiService;
@RequestMapping("/save-project-item") @RequestMapping("/save-project-item")
public RestResponse saveProjectItem(ProjectItemQO projectItemQO) { public RestResponse saveProjectItem(ProjectItemQO projectItemQO) {
...@@ -43,4 +46,9 @@ public class ProjectItemController { ...@@ -43,4 +46,9 @@ public class ProjectItemController {
return ResultControllerUtils.commonResult(serviceResponse); return ResultControllerUtils.commonResult(serviceResponse);
} }
@RequestMapping("/set-project-item-seq")
public RestResponse setProjectSeq(Integer projectItemId, Integer seq) {
ServiceResponse<Void> serviceResponse = projectApiService.setProjectItemSort(projectItemId, seq);
return ResultControllerUtils.commonResult(serviceResponse);
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment