排序改为2,结果如下:

package com.zhetang.controller;

import com.core.vo.JsonResult;
import com.utils.PageResult;
import com.zhetang.model.MallCarouseManage;
import com.zhetang.model.MallItemPic;
import com.zhetang.service.CarouselService;
import com.zhetang.service.ItemPicService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import java.util.*; @RestController
public class CarouselController { @Autowired
private CarouselService carouselServiceImpl; @Autowired
private ItemPicService itemPicServiceImpl; @RequestMapping("/carousel/add")
public JsonResult addCarousel(@RequestBody MallCarouseManage mallCarouseManage ){ System.out.println(mallCarouseManage);
MallItemPic pic1=new MallItemPic();
mallCarouseManage.setCarouselId(UUID.randomUUID().toString().replaceAll("\\-","")); List<Map> list= mallCarouseManage.getPic();
System.out.println(list);
Map map = list.get(0);
System.out.println(map+"df");
//Collection values = map.values();
Set<Map.Entry<String,String>> set = map.entrySet();
Iterator<Map.Entry<String, String>> it = set.iterator(); List<String> list1=new ArrayList<>();
while (it.hasNext()){
Map.Entry<String, String> e = it.next(); list1.add(e.getValue()); }
pic1.setItemPic(list1.get(1));
pic1.setPicName(list1.get(0));
pic1.setPicId(UUID.randomUUID().toString().replaceAll("\\-","")); pic1.setCarouselId(mallCarouseManage.getCarouselId());
System.out.println(pic1+"1111111");
itemPicServiceImpl.addPic(pic1); mallCarouseManage.setCarouselPic(list1.get(1)); System.out.println(mallCarouseManage+"2222222");
carouselServiceImpl.addCarouse(mallCarouseManage); return JsonResult.ok();
}
//List<MallCarouseManage>
@RequestMapping("/carousel/queryAll")
public JsonResult selAll(@RequestParam(defaultValue = "1") int pageNum, @RequestParam(defaultValue = "5")int pageSize){
PageResult<MallCarouseManage> list = carouselServiceImpl.selAll(pageNum, pageSize);
return JsonResult.ok(list);
} @RequestMapping("/carousel/query")
public JsonResult selCarousel(String carousel_id){
carouselServiceImpl.selCarouse(carousel_id);
return JsonResult.ok();
} @RequestMapping("/carousel/delete")
public JsonResult deleteCarousel(String carouselId,int sort){
carouselServiceImpl.deleteCarouse(carouselId); PageResult<MallCarouseManage> list2 = carouselServiceImpl.selAll1(1, 5);
sort3(list2.getRows(),sort);
return JsonResult.ok();
} @RequestMapping("/carousel/update")
public JsonResult updateCarousel(@RequestBody MallCarouseManage mallCarouseManage){
int sort = mallCarouseManage.getSort();
Date date=new Date();
mallCarouseManage.setCarouselUpdate(date);
System.out.println(mallCarouseManage);
MallItemPic pic1=new MallItemPic(); List<Map> list= mallCarouseManage.getPic();
System.out.println(list);
Map map = list.get(0);
System.out.println(map+"df");
//Collection values = map.values();
Set<Map.Entry<String,String>> set = map.entrySet();
Iterator<Map.Entry<String, String>> it = set.iterator(); List<String> list1=new ArrayList<>();
while (it.hasNext()){
Map.Entry<String, String> e = it.next(); list1.add(e.getValue()); }
pic1.setItemPic(list1.get(1));
pic1.setPicName(list1.get(0));
pic1.setCarouselId(mallCarouseManage.getCarouselId());
itemPicServiceImpl.updatePic(pic1); System.out.println(pic1); mallCarouseManage.setCarouselPic(list1.get(1)); carouselServiceImpl.updateCarouse(mallCarouseManage);
updateSort(sort,mallCarouseManage);
return JsonResult.ok();
} /**
* 从前往后排序
*/
public void sort1(List<MallCarouseManage> list2){ for(int i=0;i<list2.size();i++){
for(int j=i+1;j<list2.size();j++){
if (list2.get(i).getCarouselSort()==list2.get(j).getCarouselSort()){
list2.get(j).setCarouselSort((list2.get(j).getCarouselSort())+1);
carouselServiceImpl.updateCarouse(list2.get(j));
break;
}
}
} } /**
* 从后往前
*/
public void sort2(List<MallCarouseManage> list2){ for(int i=list2.size()-1;i>=0;i--){
for(int j=i-1;j>=0;j--){
if (list2.get(i).getCarouselSort()==list2.get(j).getCarouselSort()){
list2.get(i).setCarouselSort((list2.get(i).getCarouselSort())-1);
carouselServiceImpl.updateCarouse(list2.get(i));
break;
}
}
} } public void sort3(List<MallCarouseManage> list2,int sort){ for(int i=list2.size()-1;i>=sort-1;i--){
list2.get(i).setCarouselSort((list2.get(i).getCarouselSort())-1);
carouselServiceImpl.updateCarouse(list2.get(i));
} } /**
* 修改排序
* @param sort
* @param mallCarouseManage
*/
public void updateSort(int sort,MallCarouseManage mallCarouseManage){
/**
* 查询所有数据,然后和修改的sort进行比较,如果有,就修改加一
*/
PageResult<MallCarouseManage> list2 = carouselServiceImpl.selAll1(1, 5);
if(sort>mallCarouseManage.getCarouselSort()){
sort1(list2.getRows());
}
if(sort<mallCarouseManage.getCarouselSort()){
sort2(list2.getRows());
}
} }

主要逻辑就是,1,2,3,4修改后变成1,2,2,3,

两层for循环,一个一个的比较,相等,后一个序号加一。

从前往后排是,落后排名改成前面的排名,

从后往前排是,前面的排名改成落后的排名。

 /**
* 从前往后排序
*/
public void sort1(List<MallCarouseManage> list2){ for(int i=;i<list2.size();i++){
for(int j=i+;j<list2.size();j++){
if (list2.get(i).getCarouselSort()==list2.get(j).getCarouselSort()){
list2.get(j).setCarouselSort((list2.get(j).getCarouselSort())+);
carouselServiceImpl.updateCarouse(list2.get(j));
break;
}
}
} } /**
* 从后往前
*/
public void sort2(List<MallCarouseManage> list2){ for(int i=list2.size()-;i>=;i--){
for(int j=i-;j>=;j--){
if (list2.get(i).getCarouselSort()==list2.get(j).getCarouselSort()){
list2.get(i).setCarouselSort((list2.get(i).getCarouselSort())-);
carouselServiceImpl.updateCarouse(list2.get(i));
break;
}
}
} }

mybatis查询sql语句

数据库字段:

ssm-springboot实现修排名再顺序排的主要代码的更多相关文章

  1. 约瑟夫环问题:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。

    首先,我最大的学习来源不是百度而是我群友~~在这里表白一波我热爱学习的群友们!然后今天群里突然有人提出了题目的这个问题:有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人退出 ...

  2. ytu 1067: 顺序排号(约瑟夫环)

    1067: 顺序排号 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 31  Solved: 16[Submit][Status][Web Board] ...

  3. C++经典题目:有n个人围成一圈,顺序排号,然后数数进行淘汰的解法和一些思考

    问题描述: 有n个人围成一圈,顺序排号.从第一个人开始报数(1~3报数),凡报到3的人退出圈子,问最后留下的人原来排在第几号. 分析: 首先由用户输入人数n,然后对这n个人进行编号[因为如果不编号的话 ...

  4. 37 有n个人围成一圈,顺序排号,从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号那位.

    题目:有n个人围成一圈,顺序排号,从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号那位. public class _037NumberOff { public st ...

  5. 代码实现:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。

    import java.util.ArrayList; import java.util.List; import java.util.Scanner; //有n个人围成一圈,顺序排号.从第一个人开始 ...

  6. springboot 配置文件的加载顺序

    springboot 配置文件的加载顺序1.在命令行中传入的参数.2. SPRING APPLICATION JSON中的属性. SPRING_APPLICATION—JSON是以JSON格式配置在系 ...

  7. java例题_37 有 n 个人围成一圈,顺序排号。从第一个人开始报数(从 1 到 3 报数),凡报到 3 的人退出圈子, 3 问最后留下的是原来第几号的那位。

    1 /*37 [程序 37 报数] 2 题目:有 n 个人围成一圈,顺序排号.从第一个人开始报数(从 1 到 3 报数),凡报到 3 的人退出圈子, 3 问最后留下的是原来第几号的那位. 4 */ 5 ...

  8. Java中的static修饰int值做全局变量与static修饰词初始化顺序

    先看一道题 public class HasStatic{ private static int x=100; public static void main(String args[]){ HasS ...

  9. GraalVM最佳实践,使用Java开发CLI、Desktop(JavaFX)、Web(SpringBoot)项目,并使用native-image技术把Java代码静态编译为独立可执行文件(本机映像)

    原创文章,转载请注明出处! 源码地址: Gitee Gtihub 介绍 GraalVM最佳实践,使用Java开发CLI.Desktop(JavaFX).Web(SpringBoot)项目,并使用nat ...

随机推荐

  1. BZOJ3772精神污染&BZOJ3488&luogu3242接水果

    LINK1:精神污染 LINK2:[ONTAK2010Highways](http://www.lydsy.com/JudgeOnline/problem.php?id=3488) LINK3:[接水 ...

  2. Pintech品致-高压放大器

      pintech品致推出的HA-520(200KHz,500Vp-p)高压放大器真的是实用的高电压信号放大器, 体积小,轻便及简易的操作, 高电压输出(800Vp-p)等优点.连续输出电流量最大值达 ...

  3. Java异步之《我call(),Future在哪里》

    我们大家都知道,在 Java 中创建线程主要有三种方式: 继承 Thread 类: 实现 Runnable 接口: 实现 Callable 接口. 而后两者的区别在于 Callable 接口中的 ca ...

  4. Rx.js实现原理浅析

    前言 上次给大家分享了cycle.js的内容,这个框架核心模块的代码其实只有一百多行,要理解这个看似复杂的框架,其实最核心的是理解它依赖的异步数据流处理框架--rx.js.今天,给大家分享一下rx.j ...

  5. excel-填充

    问题[1]:需要将一列元素的空全部填充为NULL 选定列->F5定位(推荐先定位行总数)->再次F5定位(选空值)->在选定后的一个框内输入NULL->ctrl+enter 完 ...

  6. C、C++、boost、Qt在嵌入式系统开发中的使用

    概述 嵌入式系统开发相对来说属于偏底层的开发,也就是与硬件结合比较紧密,只能使用C/C++语言.对于做平台开发的人来说,C语言真的是很"古老"的语言,属于操作系统语言!好多人会觉得 ...

  7. 004_自己尝试go语言中的方法

    go语言可以给任意类型定义方法,我在学习过程中,一开始一头雾水,但是随着理解的深入,现在也大概知道了什么叫做方法 之前的一些例子其实讲的并不是特别生动,下面我用一个生动的例子演示一下 首先提出需求.我 ...

  8. 行为驱动模型-Behave

    行为驱动开发英文名为Behave Driven Development,简称BDD,是一种敏捷开发方法,主要是从用户的需求出发强调系统行为.将此模型借鉴到自动化测试中称其为行为驱动测试模型,它是一种通 ...

  9. Navicat Premium 安装破解

    软件官网 : https://www.navicat.com.cn/ Navicat Premium 12 下载地址:https://www.lanzous.com/i9j0syf 密码:7pup N ...

  10. ECS7天实践进阶训练营Day2:基于阿里云ECS部署MediaWiki

    一.概述 MediaWiki是全球最著名的开源Wiki程序,运行于PHP+MySQL环境,MediaWiki从2002年被作为维基百科的系统软件,并由大量其他应用实例(例如萌娘百科),因此MediaW ...