排序改为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. PHP scandir() 函数

    ------------恢复内容开始------------ 实例 列出 images 目录中的文件和目录: <?php$dir = "/images/"; // Sort ...

  2. PHP stripcslashes() 函数

    实例 删除 "World!" 前面的反斜杠: <?php高佣联盟 www.cgewang.comecho stripslashes("Hello World!&qu ...

  3. 【mysql数据库基础】

    基础:·数据库的本质是一个文件·行---记录·列---字段·RDBMS是一个程序·SQL是结构化的查询语言·MYSQL是一个数据库软件,可以通过SQL操作MYSQL数据库·SQL语句不区分大小写·学了 ...

  4. IDEA新增类的快捷键

    1.选中新建类所在包,鼠标右击.然后依次点击New——>Java Class就可以弹出输入类名的弹出框了.         2.选中新建类所在包,按下alt+insert然后选择弹出框中的Jav ...

  5. Spring JdbcTemplate中关于RowMapper的使用实例

    在spring boot 集成使用jdbctemplate,首先在pom文件中引入相应的依赖 <dependency> <groupId>org.springframework ...

  6. Django中信号signal针对model的使用

    Django中实现对数据库操作的记录除了使用[开源插件]还可以使用信号signal独立实现 信号机制-观察者模式-发布与订阅:signal - 配置 # 文件路径:Django/myapps/__in ...

  7. C++输出错误信息perror、strerror以及全局变量errno

    头文件:#include<stdio.h>函数:perror.strerror,全局变量:errno.使用方法: FILE *fp; if((fp = fopen("test.t ...

  8. 2020-04-24:Object obj = new Object()这句话在内存里占用了多少内存

    福哥答案2020-04-25:这道题最好把对象和变量分开说明,否则容易产生误解.以下都是64位环境下.针对对象:压缩状态:MarkWord 8+klass 4+数据0+对齐4=16非压缩状态:Mark ...

  9. 【POJ2728】Desert King - 01分数规划

    Description David the Great has just become the king of a desert country. To win the respect of his ...

  10. error PRJ0003 : 生成“cmd.exe”时出错 2010-01-19 22:26

    今天用vs2005编译时代码时竟然出现了error PRJ0003 : 生成“cmd.exe”时出错这样的错误,这不是刺激我吗,我们先看msdn的解释吧. 错误消息 生成“command line”时 ...