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

    实例 返回不同数的双曲正弦: <?phpecho(sinh(3) . "<br>");echo(sinh(-3) . "<br>" ...

  2. 搭建Redis主从复制的集群

    在主从复制模式的集群里,主节点一般是一个,从节点一般是两个或多个,写入主节点的数据会被复制到从节点上,这样一旦主节点出现故障,应用系统能切换到从节点去读写数据,这样能提升系统的可用性.而且如果再采用主 ...

  3. Spring Cloud Data Flow初体验,以Local模式运行

    1 前言 欢迎访问南瓜慢说 www.pkslow.com获取更多精彩文章! Spring Cloud Data Flow是什么,虽然已经出现一段时间了,但想必很多人不知道,因为在项目中很少有人用.不仅 ...

  4. 【NOI2017】游戏 题解(2-SAT+缩点)

    题目链接 题目大意:有四种场地$a,b,c,x$和三种赛车$A,B,C$,$a$不能跑$A$,$b$不能跑$B$,$c$不能跑$C$,$x$都可以跑.给定$n$个场地和$m$个四元组$(i,h_i,j ...

  5. SAFe必备——提高团队敏捷性

    规模化敏捷之于项目群,就像Scrum之于敏捷团队.为了创建高质量业务解决方案,企业需要提高自身能力,提升团队和技术敏捷性,实现真正的规模化敏捷. 敏捷发布火车 实现团队和技术敏捷性,首先需要敏捷团队围 ...

  6. JAVA的基本程序设计结构<上>

    一个简单的Java应用程序 public class FirstSample { public static void main(String[] args) { System.out.println ...

  7. 022_go语言中的协程

    代码演示 package main import "fmt" func f(from string) { for i := 0; i < 3; i++ { fmt.Print ...

  8. 你知道MySQL是如何处理千万级数据的吗?

    mysql 分表思路 一张一亿的订单表,可以分成五张表,这样每张表就只有两千万数据,分担了原来一张表的压力,分表需要根据某个条件进行分,这里可以根据地区来分表,需要一个中间件来控制到底是去哪张表去找到 ...

  9. C#开发笔记之05-迭代器中的状态机(State Machine)到底是什么?

    C#开发笔记概述 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/961 访问. 状态机可以理解为实现了备忘录模式(仅作为 ...

  10. async 函数的含义和用法

    Generator函数的含义与用法 Thunk函数的含义与用法 co函数库的含义与用法 async函数的含义与用法 一.终极解决 异步操作是 JavaScript 编程的麻烦事,麻烦到一直有人提出各种 ...