Преглед изворни кода

Merge remote-tracking branch 'origin/dev' into dev

lengfaqiang пре 2 година
родитељ
комит
7ab8f2b8b7
17 измењених фајлова са 172 додато и 64 уклоњено
  1. 1 0
      sckw-auth/src/main/java/com/sckw/auth/model/vo/req/LoginReqVo.java
  2. 3 0
      sckw-auth/src/main/java/com/sckw/auth/model/vo/res/DeptInfoResVo.java
  3. 3 0
      sckw-auth/src/main/java/com/sckw/auth/model/vo/res/EntInfoResVo.java
  4. 3 0
      sckw-auth/src/main/java/com/sckw/auth/model/vo/res/LoginResVo.java
  5. 10 0
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/page/PageResult.java
  6. 6 5
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/utils/LongToStringUtils.java
  7. 3 0
      sckw-modules-api/sckw-system-api/src/main/java/com/sckw/system/api/model/dto/res/KwsRoleResDto.java
  8. 1 6
      sckw-modules/sckw-product/src/main/java/com/sckw/product/controller/KwpGoodsController.java
  9. 6 0
      sckw-modules/sckw-product/src/main/java/com/sckw/product/dao/KwpGoodsMapper.java
  10. 4 1
      sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/SelectGoodsListParam.java
  11. 35 26
      sckw-modules/sckw-product/src/main/java/com/sckw/product/service/KwpGoodsService.java
  12. 46 0
      sckw-modules/sckw-product/src/main/resources/mapper/KwpGoodsMapper.xml
  13. 3 6
      sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/KwsMenuController.java
  14. 23 0
      sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/req/DelsMenuReqVo.java
  15. 1 1
      sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/res/FindMenuTreeResVo.java
  16. 1 1
      sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/res/QueryChildMenuResVo.java
  17. 23 18
      sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsMenuService.java

+ 1 - 0
sckw-auth/src/main/java/com/sckw/auth/model/vo/req/LoginReqVo.java

@@ -3,6 +3,7 @@ package com.sckw.auth.model.vo.req;
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
 import lombok.Data;
+import org.springframework.web.bind.annotation.RequestHeader;
 
 import java.io.Serial;
 import java.io.Serializable;

+ 3 - 0
sckw-auth/src/main/java/com/sckw/auth/model/vo/res/DeptInfoResVo.java

@@ -1,5 +1,7 @@
 package com.sckw.auth.model.vo.res;
 
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.sckw.core.utils.LongToStringUtils;
 import lombok.Data;
 
 /**
@@ -13,6 +15,7 @@ public class DeptInfoResVo {
     /**
      * 机构ID
      */
+    @JsonSerialize(using = LongToStringUtils.class)
     private long id;
 
     /**

+ 3 - 0
sckw-auth/src/main/java/com/sckw/auth/model/vo/res/EntInfoResVo.java

@@ -1,5 +1,7 @@
 package com.sckw.auth.model.vo.res;
 
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.sckw.core.utils.LongToStringUtils;
 import com.sckw.system.api.model.dto.res.EntCertificateResDto;
 import lombok.Data;
 
@@ -17,6 +19,7 @@ public class EntInfoResVo {
     /**
      * 企业id
      */
+    @JsonSerialize(using = LongToStringUtils.class)
     private Long id;
 
     /**

+ 3 - 0
sckw-auth/src/main/java/com/sckw/auth/model/vo/res/LoginResVo.java

@@ -1,5 +1,7 @@
 package com.sckw.auth.model.vo.res;
 
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.sckw.core.utils.LongToStringUtils;
 import com.sckw.system.api.model.dto.res.KwsRoleResDto;
 import lombok.Data;
 
@@ -26,6 +28,7 @@ public class LoginResVo implements Serializable {
     /**
      * 用户id
      */
+    @JsonSerialize(using = LongToStringUtils.class)
     private long id;
 
     /**

+ 10 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/page/PageResult.java

@@ -66,6 +66,16 @@ public class PageResult {
         this.list = pageInfo.getList();
     }
 
+    public static <T> PageResult build(Integer page, Integer pageSize, Integer totalCount, List<T> records) {
+        PageResult pageResult = new PageResult();
+        pageResult.setPage(page);
+        pageResult.setPageSize(pageSize);
+        pageResult.setSize(totalCount);
+        pageResult.setPages((totalCount + pageSize - 1) / pageSize);
+        pageResult.setList(records);
+        return pageResult;
+    }
+
     public void setPageInfo(PageInfo pageInfo){
         this.page = pageInfo.getPageNum();
         this.pageSize = pageInfo.getPageSize();

+ 6 - 5
sckw-common/sckw-common-core/src/main/java/com/sckw/core/utils/LongToStringUtils.java

@@ -1,9 +1,9 @@
 package com.sckw.core.utils;
 
-import org.codehaus.jackson.JsonGenerator;
-import org.codehaus.jackson.JsonProcessingException;
-import org.codehaus.jackson.map.JsonSerializer;
-import org.codehaus.jackson.map.SerializerProvider;
+
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.databind.JsonSerializer;
+import com.fasterxml.jackson.databind.SerializerProvider;
 
 import java.io.IOException;
 
@@ -14,8 +14,9 @@ import java.io.IOException;
  */
 public class LongToStringUtils extends JsonSerializer<Long> {
 
+
     @Override
-    public void serialize(Long aLong, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException {
+    public void serialize(Long aLong, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException {
         if(null!=aLong) {
             jsonGenerator.writeString(String.valueOf(aLong));
         }

+ 3 - 0
sckw-modules-api/sckw-system-api/src/main/java/com/sckw/system/api/model/dto/res/KwsRoleResDto.java

@@ -1,5 +1,7 @@
 package com.sckw.system.api.model.dto.res;
 
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.sckw.core.utils.LongToStringUtils;
 import lombok.Data;
 
 import java.io.Serial;
@@ -19,6 +21,7 @@ public class KwsRoleResDto implements Serializable {
     /**
      * 角色id
      */
+    @JsonSerialize(using = LongToStringUtils.class)
     private long id;
 
     /**

+ 1 - 6
sckw-modules/sckw-product/src/main/java/com/sckw/product/controller/KwpGoodsController.java

@@ -1,6 +1,5 @@
 package com.sckw.product.controller;
 
-import cn.hutool.core.bean.BeanUtil;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.sckw.core.model.page.PageHelperUtil;
@@ -8,7 +7,6 @@ import com.sckw.core.model.page.PageResult;
 import com.sckw.core.web.response.HttpResult;
 import com.sckw.product.model.vo.req.*;
 import com.sckw.product.model.vo.res.BuildingMaterialsMarketList;
-import com.sckw.product.model.vo.res.GoodsList;
 import com.sckw.product.service.KwpGoodsService;
 import lombok.RequiredArgsConstructor;
 import org.springframework.http.MediaType;
@@ -90,10 +88,7 @@ public class KwpGoodsController {
      */
     @PostMapping(value = "/select", produces = MediaType.APPLICATION_JSON_VALUE)
     public HttpResult select(@RequestBody SelectGoodsListParam params) {
-        PageHelper.startPage(params.getPage(), params.getPageSize());
-        List<GoodsList> list = kwpGoodsService.select(BeanUtil.copyProperties(params, ExportGoodsListParam.class));
-        PageResult result = PageHelperUtil.getPageResult(new PageInfo<>(list));
-        return HttpResult.ok(result);
+        return HttpResult.ok(kwpGoodsService.select(params,true));
     }
 
     /**

+ 6 - 0
sckw-modules/sckw-product/src/main/java/com/sckw/product/dao/KwpGoodsMapper.java

@@ -1,8 +1,12 @@
 package com.sckw.product.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.sckw.product.model.KwpGoods;
+import com.sckw.product.model.vo.req.SelectGoodsListParam;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
 
 /**
  * @desc: 商品mapper
@@ -10,6 +14,8 @@ import org.apache.ibatis.annotations.Mapper;
  * @date: 2023-06-25 14:40
  */
 @Mapper
+@Repository
 public interface KwpGoodsMapper extends BaseMapper<KwpGoods> {
 
+    IPage<KwpGoods> getGoodsLists(IPage<KwpGoods> page, @Param("queryParam") SelectGoodsListParam queryParam,@Param("entId") Long entId);
 }

+ 4 - 1
sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/SelectGoodsListParam.java

@@ -51,5 +51,8 @@ public class SelectGoodsListParam extends PageRequest {
      */
     private List<String> tradings;
 
-
+    /**
+     * 商品ids
+     */
+    private List<Long> ids;
 }

+ 35 - 26
sckw-modules/sckw-product/src/main/java/com/sckw/product/service/KwpGoodsService.java

@@ -2,8 +2,11 @@ package com.sckw.product.service;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.sckw.core.exception.BusinessException;
 import com.sckw.core.model.constant.Global;
+import com.sckw.core.model.page.PageResult;
 import com.sckw.core.model.vo.TableBottom;
 import com.sckw.core.model.vo.TableStatisticRes;
 import com.sckw.core.model.vo.TableTop;
@@ -300,18 +303,11 @@ public class KwpGoodsService {
      * @Param params:
      * @return: java.util.List<com.sckw.product.model.vo.res.GoodsList>
      */
-    public List<GoodsList> select(ExportGoodsListParam params) {
-        List<Long> ids = params.getIds();
-        List<KwpGoods> goodsLists;
-        if (CollectionUtils.isEmpty(ids)) {
-            goodsLists = getGoodsLists(params);
-        } else {
-            LambdaQueryWrapper<KwpGoods> wrapper = new LambdaQueryWrapper<>();
-            wrapper.in(KwpGoods::getId, ids).eq(KwpGoods::getEntId, LoginUserHolder.getEntId()).eq(KwpGoods::getDelFlag, Global.NO);
-            goodsLists = kwpGoodsMapper.selectList(wrapper);
-        }
+    public PageResult select(SelectGoodsListParam params, Boolean isPage) {
+        IPage<KwpGoods> goodsIpage = getGoodsLists(params, isPage);
+        List<KwpGoods> goodsLists = goodsIpage.getRecords();
         if (CollectionUtils.isEmpty(goodsLists)) {
-            return Collections.emptyList();
+            return PageResult.build(params.getPage(), params.getPageSize(), (int) goodsIpage.getTotal(), Collections.emptyList());
         }
         List<GoodsList> result = new ArrayList<>(goodsLists.size());
         List<Long> goodsIds = goodsLists.stream().map(KwpGoods::getId).toList();
@@ -331,7 +327,7 @@ public class KwpGoodsService {
             goodsList.setLowestPrice(CollectionUtils.isEmpty(priceRanges) ? null : priceRanges.get(0).getPrice());
             result.add(goodsList);
         });
-        return result;
+        return PageResult.build(params.getPage(), params.getPageSize(), (int) goodsIpage.getTotal(), result);
     }
 
     /**
@@ -341,17 +337,28 @@ public class KwpGoodsService {
      * @Param params:
      * @return: java.util.List<com.sckw.product.model.KwpGoods>
      */
-    private List<KwpGoods> getGoodsLists(GoodsListParam params) {
+    private IPage<KwpGoods> getGoodsLists(SelectGoodsListParam params, Boolean isPage) {
         LambdaQueryWrapper<KwpGoods> wrapper = new LambdaQueryWrapper<>();
-        wrapper.like(StringUtils.isNotBlank(params.getKeywords()), KwpGoods::getName, params.getKeywords())
-                .ge(Objects.nonNull(params.getStartCreateTime()), KwpGoods::getCreateTime, params.getStartCreateTime())
-                .le(Objects.nonNull(params.getEndCreateTime()), KwpGoods::getCreateTime, params.getEndCreateTime())
-                .in(CollectionUtils.isNotEmpty(params.getTradings()), KwpGoods::getTrading, params.getTradings())
-                .in(CollectionUtils.isNotEmpty(params.getTypeIds()), KwpGoods::getTypeId, params.getTypeIds())
-                .in(CollectionUtils.isNotEmpty(params.getStatus()), KwpGoods::getStatus, params.getStatus())
-                .eq(KwpGoods::getEntId, LoginUserHolder.getEntId()).eq(KwpGoods::getDelFlag, Global.NO).orderByDesc(KwpGoods::getCreateTime);
-        List<KwpGoods> list = kwpGoodsMapper.selectList(wrapper);
-        return CollectionUtils.emptyIfNull(list);
+        if (CollectionUtils.isNotEmpty(params.getIds())) {
+            wrapper.in(KwpGoods::getId, params.getIds());
+        } else {
+            wrapper.like(StringUtils.isNotBlank(params.getKeywords()), KwpGoods::getName, params.getKeywords())
+                    .ge(Objects.nonNull(params.getStartCreateTime()), KwpGoods::getCreateTime, params.getStartCreateTime())
+                    .le(Objects.nonNull(params.getEndCreateTime()), KwpGoods::getCreateTime, params.getEndCreateTime())
+                    .in(CollectionUtils.isNotEmpty(params.getTradings()), KwpGoods::getTrading, params.getTradings())
+                    .in(CollectionUtils.isNotEmpty(params.getTypeIds()), KwpGoods::getTypeId, params.getTypeIds())
+                    .in(CollectionUtils.isNotEmpty(params.getStatus()), KwpGoods::getStatus, params.getStatus());
+        }
+        wrapper.eq(KwpGoods::getEntId, LoginUserHolder.getEntId()).eq(KwpGoods::getDelFlag, Global.NO).orderByDesc(KwpGoods::getCreateTime);
+        IPage<KwpGoods> goodsIpage = new Page<>();
+        Page<KwpGoods> page = new Page<>(params.getPage(), params.getPageSize());
+        if (isPage) {
+            goodsIpage = kwpGoodsMapper.selectPage(page, wrapper);
+        } else {
+            List<KwpGoods> list = kwpGoodsMapper.selectList(wrapper);
+            goodsIpage.setRecords(list);
+        }
+        return goodsIpage;
     }
 
 
@@ -364,7 +371,7 @@ public class KwpGoodsService {
      */
     public TableStatisticRes statistic(GoodsListParam params) {
         TableStatisticRes res = new TableStatisticRes();
-        List<KwpGoods> goodsList = getGoodsLists(params);
+        List<KwpGoods> goodsList = getGoodsLists(BeanUtils.copyProperties(params, SelectGoodsListParam.class), false).getRecords();
         Map<Integer, List<KwpGoods>> map = goodsList.stream().collect(Collectors.groupingBy(KwpGoods::getStatus));
         List<TableTop> tableTops = new ArrayList<>();
         GoodsStatusEnum.getSortList().forEach(e -> {
@@ -388,15 +395,17 @@ public class KwpGoodsService {
      * @return: void
      */
     public void export(ExportGoodsListParam params) {
-        List<GoodsList> goodsLists = select(params);
+        PageResult pageResult = select(BeanUtils.copyProperties(params, SelectGoodsListParam.class), false);
+        List<GoodsList> goodsLists = pageResult.getList();
         List<GoodsListExport> list = new ArrayList<>();
         goodsLists.forEach(e -> {
             GoodsListExport export = BeanUtils.copyProperties(e, GoodsListExport.class);
             export.setStatus(GoodsStatusEnum.getNameByCode(e.getStatus()))
                     .setType("砂石").setTaxRate(String.valueOf(e.getTaxRate())).setAmount(String.valueOf(e.getAmount()))
                     .setTrading("线下付款").setHighestPrice(String.valueOf(e.getHighestPrice()))
-                    .setLowestPrice(String.valueOf(e.getLowestPrice())).setAddedTime(DateUtil.getDateTime(e.getAddedTime()))
-                    .setShelfTime(DateUtil.getDateTime(e.getShelfTime()));
+                    .setLowestPrice(String.valueOf(e.getLowestPrice()))
+                    .setAddedTime(Objects.isNull(e.getAddedTime()) ? null : DateUtil.getDateTime(e.getAddedTime()))
+                    .setAddedTime(Objects.isNull(e.getShelfTime()) ? null : DateUtil.getDateTime(e.getShelfTime()));
             list.add(export);
         });
         try {

+ 46 - 0
sckw-modules/sckw-product/src/main/resources/mapper/KwpGoodsMapper.xml

@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.sckw.product.dao.KwpGoodsMapper">
+
+
+    <select id="getGoodsLists" resultType="com.sckw.product.model.KwpGoods">
+        select
+        id, ent_id,supply_ent_id,code,name, type_id, amount, unit, spec, tax_rate, trading, advance_price, manager,
+        performed_amount,thumb,added_time,shelf_time,remark,status, create_by, create_time, update_by, update_time,del_flag
+        from kwp_goods
+        <where>
+            del_flag = 0 and ent_id = #{entId}
+            <if test="queryParam.keywords != null and queryParam.keywords != ''">
+                and name LIKE concat('%',#{queryParam.keywords},'%')
+            </if>
+            <if test="queryParam.startCreateTime != null ">
+                and create_time &gt;= #{queryParam.startCreateTime}
+            </if>
+            <if test="queryParam.endCreateTime != null ">
+                and create_time &lt;= #{queryParam.endCreateTime}
+            </if>
+            <if test="queryParam.status != null and queryParam.status.size() > 0 ">
+                and status in
+                <foreach item="item" index="index" collection="#{queryParam.status}" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="queryParam.typeIds != null and queryParam.typeIds.size() > 0 ">
+                and typeId in
+                <foreach item="item" index="index" collection="#{queryParam.typeIds}" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+            <if test="queryParam.tradings != null and queryParam.tradings.size() > 0 ">
+                and trading in
+                <foreach item="item" index="index" collection="#{queryParam.tradings}" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+
+        </where>
+        ORDER BY create_time desc
+
+
+    </select>
+</mapper>

+ 3 - 6
sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/KwsMenuController.java

@@ -4,10 +4,7 @@ import com.sckw.core.exception.SystemException;
 import com.sckw.core.web.constant.HttpStatus;
 import com.sckw.core.web.response.HttpResult;
 import com.sckw.system.model.KwsMenu;
-import com.sckw.system.model.vo.req.FindMenuTreeReqVo;
-import com.sckw.system.model.vo.req.MoveMenuReqVo;
-import com.sckw.system.model.vo.req.QueryChildMenuReqVo;
-import com.sckw.system.model.vo.req.RoleBindMenuReqVo;
+import com.sckw.system.model.vo.req.*;
 import com.sckw.system.service.KwsMenuService;
 import jakarta.validation.Valid;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -86,8 +83,8 @@ public class KwsMenuController {
      * @date 2023/5/30
      **/
     @PostMapping("/dels")
-    public HttpResult del(@RequestParam String ids) throws SystemException {
-        kwsMenuService.deleteByKey(ids);
+    public HttpResult del(@RequestBody DelsMenuReqVo ids) throws SystemException {
+        kwsMenuService.deleteByKey(ids.getIds());
         return HttpResult.ok(HttpStatus.MSG_008);
     }
 

+ 23 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/req/DelsMenuReqVo.java

@@ -0,0 +1,23 @@
+package com.sckw.system.model.vo.req;
+
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @author czh
+ * @desc 删菜单
+ * @date 2023/7/10
+ */
+@Data
+public class DelsMenuReqVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = -350332473495147582L;
+
+    /**
+     * 主键id
+     */
+    private String ids;
+}

+ 1 - 1
sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/res/FindMenuTreeResVo.java

@@ -1,8 +1,8 @@
 package com.sckw.system.model.vo.res;
 
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.sckw.core.utils.LongToStringUtils;
 import lombok.Data;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
 
 import java.io.Serial;
 import java.io.Serializable;

+ 1 - 1
sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/res/QueryChildMenuResVo.java

@@ -1,8 +1,8 @@
 package com.sckw.system.model.vo.res;
 
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.sckw.core.utils.LongToStringUtils;
 import lombok.Data;
-import org.codehaus.jackson.map.annotate.JsonSerialize;
 
 import java.io.Serial;
 import java.io.Serializable;

+ 23 - 18
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsMenuService.java

@@ -56,16 +56,22 @@ public class KwsMenuService {
      * @author: czh
      * @date: 2023/7/7
      */
-    @Transactional()
+    @Transactional(rollbackFor = {})
     public void add(KwsMenu params) throws SystemException {
         Long parentId = params.getParentId();
-        if (parentId.compareTo(0L) != 0) {
+        if (!Objects.isNull(parentId) && parentId.compareTo(0L) != 0) {
             KwsMenu kwsMenu = kwsMenuDao.selectByKey(parentId);
             if (Objects.isNull(kwsMenu)) {
                 throw new SystemException(HttpStatus.QUERY_FAIL_CODE, HttpStatus.PARENT_MENU_NOT_EXISTS);
             }
+            params.setLevel(kwsMenu.getLevel() + 1);
+        } else {
+            params.setLevel(1);
+            params.setParentId(0L);
         }
 
+
+
         //新增按钮时,有重复的序号,则把后面的都加1
         if (params.getType() == MenuTypeEnum.BUTTON.getCode()) {
             if (!Objects.isNull(params.getSort())) {
@@ -129,7 +135,7 @@ public class KwsMenuService {
      * @date: 2023/6/25
      */
     public void deleteByKey(String ids) throws SystemException {
-        List<Long> list = Arrays.stream(ids.split(",")).map(Long::parseLong).toList();
+        List<Long> list = Arrays.stream(ids.split(Global.COMMA)).map(Long::parseLong).toList();
         /*1、删除菜单*/
         List<KwsMenu> kwsMenus = kwsMenuDao.selectByKeys(list);
         if (CollectionUtils.isEmpty(kwsMenus)) {
@@ -320,31 +326,30 @@ public class KwsMenuService {
         return kwsMenuDao.selectAll();
     }
 
-    @Transactional()
+    @Transactional(rollbackFor = {})
     public void moveMenu(MoveMenuReqVo reqVo) {
         KwsMenu kwsMenu = kwsMenuDao.selectByKey(reqVo.getId());
         if (Objects.isNull(kwsMenu)) {
             throw new SystemException(HttpStatus.QUERY_FAIL_CODE, HttpStatus.MENU_NOT_EXISTS);
         }
 
-//        //查出要被换位置的按钮
-//        KwsMenu targetMenu = getTargetMenu(reqVo.getMoveType(), kwsMenu);
-//
-//        //修改要换位置的按钮
+        //查出要被换位置的按钮
+        KwsMenu targetMenu = getTargetMenu(reqVo.getMoveType(), kwsMenu);
+        if (Objects.isNull(targetMenu)) {
+            return;
+        }
+
+        //修改要换位置的按钮
         kwsMenu.setSort(kwsMenu.getSort() + reqVo.getMoveType());
         if (kwsMenuDao.update(kwsMenu) <= 0) {
             throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.UPDATE_FAIL);
         }
-//
-//        if (Objects.isNull(targetMenu)) {
-//            return;
-//        }
-//
-//        //更新被换位置的按钮
-//        targetMenu.setSort(targetMenu.getSort() - reqVo.getMoveType());
-//        if (kwsMenuDao.update(targetMenu) <= 0) {
-//            throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.UPDATE_FAIL);
-//        }
+
+        //更新被换位置的按钮
+        targetMenu.setSort(targetMenu.getSort() - reqVo.getMoveType());
+        if (kwsMenuDao.update(targetMenu) <= 0) {
+            throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.UPDATE_FAIL);
+        }
     }