Sorting to 2, results were as follows:
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 carousel_id){ carouselServiceImpl.deleteCarouse(carousel_id); 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); . the System OUT .println (pic1); mallCarouseManage.setCarouselPic (List1. GET ( . 1 )); carouselServiceImpl.updateCarouse (mallCarouseManage); / * * * All data query, and then comparing the modified sort, if any, modification to add a * / PageResult <mallCarouseManage> = List2 carouselServiceImpl.selAll1 ( . 1 , . 5 ); IF (Sort>mallCarouseManage.getCarouselSort()){ sort1(list2.getRows()); } if(sort<mallCarouseManage.getCarouselSort()){ sort2(list2.getRows()); } 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; } } } } }
The main logic is that, after modification becomes 1,2,2,3 1,2,3,4,
Two for loop, a comparison of an equal, after a sequence number plus one.
Go back from that, ranking behind into the front rank,
Forward from the back row, the front rank into ranks behind.
/** * 从前往后排序 */ 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; } } } }
mybatis query sql statement
Database fields: