排序改为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. Python os.renames() 方法

    概述 os.renames() 方法用于递归重命名目录或文件.类似rename().高佣联盟 www.cgewang.com 语法 renames()方法语法格式如下: os.renames(old, ...

  2. PHP date_sunrise() 函数

    ------------恢复内容开始------------ 实例 返回葡萄牙里斯本今天的日出时间: <?php// Lisbon, Portugal:// Latitude: 38.4 Nor ...

  3. luogu P2607 [ZJOI2008]骑士 tarjan dp

    LINK:骑士 本来是不打算写的 发现这道题在tarjan的时候有一个坑点 所以写出来记录一下. 可以发现图可能是不连通的 且一个连通块中是一个奇环树. 做法:类似tarjan找割点 然后把环给拉出来 ...

  4. ABC 158 F - Removing Robots dp 单调栈

    LINK:Removing Robots 没想到 自闭. 考虑了一个容斥 发现不合法方案难以计算. 就算可以计算也几乎是n^2的做法. 考虑dp 左边会对右边产生影响 所以考虑先dp右边的再考虑左边的 ...

  5. Linux 下使用 killall 命令终止进程的 8 大用法

    Linux 的命令行提供很多命令来杀死进程.比如,你可以向 kill 命传递一个PID来杀死进程:pkill 命令使用一个正则表达式作为输入,所以和该模式匹配的进程都被杀死. 但是还有一个命令叫 ki ...

  6. PCL使用RANSAC拟合三位平面

    1.使用PCL工具 //创建一个模型参数对象,用于记录结果 pcl::ModelCoefficients::Ptr coefficients(new pcl::ModelCoefficients); ...

  7. springboot 使用mybatis-generator自动生成代码

    这里只介绍mybatis generator生成代码 一.pom配置 在build-->plugins-->添加plugin <plugin> <groupId>o ...

  8. Apache Hudi + AWS S3 + Athena实战

    Apache Hudi在阿里巴巴集团.EMIS Health,LinkNovate,Tathastu.AI,腾讯,Uber内使用,并且由Amazon AWS EMR和Google云平台支持,最近Ama ...

  9. CAS(乐观锁)以及ABA问题

    https://blog.csdn.net/wwd0501/article/details/88663621独占锁是一种悲观锁,synchronized就是一种独占锁:它假设最坏的情况,并且只有在确保 ...

  10. 【可视化-2】将图像当作DSM进行三维显示

    上一篇文章中,已经跳出颜色或者亮度的局限,将图像视作一般化的栅格数据,并提供了四种利用颜色和亮度来直观表示栅格间取值差异的可视化方法. 栅格数据的四种可视化方式 这一回,我们又要从一般化走向特殊化.栅 ...