ssm-springboot实现修排名再顺序排的主要代码

排序改为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实现修排名再顺序排的主要代码的更多相关文章
- 约瑟夫环问题:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
首先,我最大的学习来源不是百度而是我群友~~在这里表白一波我热爱学习的群友们!然后今天群里突然有人提出了题目的这个问题:有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人退出 ...
- ytu 1067: 顺序排号(约瑟夫环)
1067: 顺序排号 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 31 Solved: 16[Submit][Status][Web Board] ...
- C++经典题目:有n个人围成一圈,顺序排号,然后数数进行淘汰的解法和一些思考
问题描述: 有n个人围成一圈,顺序排号.从第一个人开始报数(1~3报数),凡报到3的人退出圈子,问最后留下的人原来排在第几号. 分析: 首先由用户输入人数n,然后对这n个人进行编号[因为如果不编号的话 ...
- 37 有n个人围成一圈,顺序排号,从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号那位.
题目:有n个人围成一圈,顺序排号,从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号那位. public class _037NumberOff { public st ...
- 代码实现:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
import java.util.ArrayList; import java.util.List; import java.util.Scanner; //有n个人围成一圈,顺序排号.从第一个人开始 ...
- springboot 配置文件的加载顺序
springboot 配置文件的加载顺序1.在命令行中传入的参数.2. SPRING APPLICATION JSON中的属性. SPRING_APPLICATION—JSON是以JSON格式配置在系 ...
- java例题_37 有 n 个人围成一圈,顺序排号。从第一个人开始报数(从 1 到 3 报数),凡报到 3 的人退出圈子, 3 问最后留下的是原来第几号的那位。
1 /*37 [程序 37 报数] 2 题目:有 n 个人围成一圈,顺序排号.从第一个人开始报数(从 1 到 3 报数),凡报到 3 的人退出圈子, 3 问最后留下的是原来第几号的那位. 4 */ 5 ...
- Java中的static修饰int值做全局变量与static修饰词初始化顺序
先看一道题 public class HasStatic{ private static int x=100; public static void main(String args[]){ HasS ...
- GraalVM最佳实践,使用Java开发CLI、Desktop(JavaFX)、Web(SpringBoot)项目,并使用native-image技术把Java代码静态编译为独立可执行文件(本机映像)
原创文章,转载请注明出处! 源码地址: Gitee Gtihub 介绍 GraalVM最佳实践,使用Java开发CLI.Desktop(JavaFX).Web(SpringBoot)项目,并使用nat ...
随机推荐
- PHP date_sun_info() 函数
------------恢复内容开始------------ 实例 返回有关 2013 年 1 月 1 日,纬度 31.7667,经度 35.2333 的日出/日落和黄昏开始/黄昏结束的信息: < ...
- PDO::commit
PDO::commit提交一个事务(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0) 说明 语法 bool PDO::commit ( void )高佣联盟 www.c ...
- luogu P1784 数独 dfs 舞蹈链 DXL
LINK:数独 这道题好难 比DXL模板题要难上不少. 首先 还是考虑将行当做决策 那么 一共有\(9*9*9=729\) 个决策. 考虑列用来填充 需要有的条件为 某个位置能能放一次\(9*9\) ...
- charles抓取HTTPS设置,详细踩坑版
写这篇文章的背景就是,每次我在一台新电脑上用charles抓包时,总是因为各种原因无法抓到https请求,每个百度出来的回答又不是那么详细,需要通过几篇回答才能解决过程中的各种问题,所以把自己的安装经 ...
- HDFS---NameNode管理元数据及HA模式
NameNode主要保存了下面的内容 1-维护元数据信息.Block和文件之间的关系,即某一个特定文件都有哪些Block: 2-每一个Block存储在什么位置(DataNode上面): 3-维护HDF ...
- 浅析BST二叉搜索树
2020-3-25 update: 原洛谷日报#2中代码部分出现一些问题,详情见此帖.并略微修改本文一些描述,使得语言更加自然. 2020-4-9 update:修了一些代码的锅,并且将文章同步发表于 ...
- 18-关键字:this
1.可以调用的结构:属性.方法:构造器2.this调用属性.方法: this理解为:当前对象 或 当前正在创建的对象 2.1 在类的方法中,我们可以使用"this.属性"或&quo ...
- asp.net core 3.1多种身份验证方案,cookie和jwt混合认证授权
开发了一个公司内部系统,使用asp.net core 3.1.在开发用户认证授权使用的是简单的cookie认证方式,然后开发好了要写几个接口给其它系统调用数据.并且只是几个简单的接口不准备再重新部署一 ...
- GPS坐标显示在百度地图上(Qt+百度地图)
Qt在5.6以后的版本就不支持webview控件了,这里我用的是Qt5.4的版本,里面还有这个控件: 下面简单介绍下Qt与html中的javascript调用交互过程: 一.整体实现介绍 在html中 ...
- Python高性能HTTP客户端库requests的使用
Python中有许多HTTP客户端.使用最广泛且最容易的是requests. 持续连接 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很 ...