From 6cdd1c1592549294d0aa84951dd54326a8e8967c Mon Sep 17 00:00:00 2001 From: liujiang <569804566@qq.com> Date: Thu, 10 Apr 2025 14:43:11 +0800 Subject: [PATCH] =?UTF-8?q?master=EF=BC=9A=E6=A1=A3=E5=8F=A3=E3=80=81?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E9=A6=96=E9=A1=B5=E5=BF=AB=E6=8D=B7=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E7=BB=91=E5=AE=9A=E5=8F=8A=E6=9F=A5=E8=AF=A2=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xkt/QuickFunctionController.java | 69 ++++++++++++ .../xkt/StoreQuickFunctionController.java | 69 ------------ .../QuickFuncVO.java} | 13 ++- ...eQuickFunction.java => QuickFunction.java} | 15 ++- .../QuickFuncDTO.java} | 14 ++- .../ruoyi/xkt/mapper/QuickFunctionMapper.java | 23 ++++ .../xkt/mapper/StoreQuickFunctionMapper.java | 65 ----------- .../xkt/service/IQuickFunctionService.java | 31 ++++++ .../service/IStoreQuickFunctionService.java | 30 ------ .../impl/QuickFunctionServiceImpl.java | 55 ++++++++++ .../impl/StoreQuickFunctionServiceImpl.java | 55 ---------- .../mapper/StoreQuickFunctionMapper.xml | 102 +----------------- 12 files changed, 205 insertions(+), 336 deletions(-) create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/QuickFunctionController.java delete mode 100644 ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/StoreQuickFunctionController.java rename ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/{storeQuickFunction/StoreQuickFuncVO.java => quickFunction/QuickFuncVO.java} (77%) rename xkt/src/main/java/com/ruoyi/xkt/domain/{StoreQuickFunction.java => QuickFunction.java} (88%) rename xkt/src/main/java/com/ruoyi/xkt/dto/{storeQuickFunction/StoreQuickFuncDTO.java => quickFunction/QuickFuncDTO.java} (76%) create mode 100644 xkt/src/main/java/com/ruoyi/xkt/mapper/QuickFunctionMapper.java delete mode 100644 xkt/src/main/java/com/ruoyi/xkt/mapper/StoreQuickFunctionMapper.java create mode 100644 xkt/src/main/java/com/ruoyi/xkt/service/IQuickFunctionService.java delete mode 100644 xkt/src/main/java/com/ruoyi/xkt/service/IStoreQuickFunctionService.java create mode 100644 xkt/src/main/java/com/ruoyi/xkt/service/impl/QuickFunctionServiceImpl.java delete mode 100644 xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreQuickFunctionServiceImpl.java diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/QuickFunctionController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/QuickFunctionController.java new file mode 100644 index 000000000..af4671049 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/QuickFunctionController.java @@ -0,0 +1,69 @@ +package com.ruoyi.web.controller.xkt; + +import cn.hutool.core.bean.BeanUtil; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.XktBaseController; +import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.system.domain.vo.menu.SysMenuDTO; +import com.ruoyi.system.service.ISysMenuService; +import com.ruoyi.web.controller.xkt.vo.quickFunction.QuickFuncVO; +import com.ruoyi.xkt.dto.quickFunction.QuickFuncDTO; +import com.ruoyi.xkt.service.IQuickFunctionService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 快捷功能Controller + * + * @author ruoyi + * @date 2025-03-26 + */ +@Api(tags = "快捷功能") +@RestController +@RequiredArgsConstructor +@RequestMapping("/rest/v1/quick-functions") +public class QuickFunctionController extends XktBaseController { + + final IQuickFunctionService quickFuncService; + final ISysMenuService menuService; + + private static final String MENU_TYPE_C = "C"; + + /** + * 查看已绑定的所有快捷菜单 + */ + @PreAuthorize("@ss.hasPermi('system:function:list')") + @ApiOperation(value = "查看已绑定的所有快捷菜单", httpMethod = "GET", response = R.class) + @GetMapping("/menus/{roleId}/{bizId}") + public R getMenuList(@PathVariable("roleId") Long roleId, @PathVariable("bizId") Long bizId) { + // 找到当前所有的快捷菜单 + List checkedList = quickFuncService.getCheckedMenuList(roleId, bizId); + // 找到系统所有的二级菜单 + List sysMenuList = menuService.selectMenuListByRoleIdAndMenuType(roleId, MENU_TYPE_C); + return R.ok(QuickFuncVO.builder().bizId(bizId).roleId(roleId) + .checkedList(BeanUtil.copyToList(checkedList, QuickFuncVO.QuickFuncDetailVO.class)) + .menuList(BeanUtil.copyToList(sysMenuList, QuickFuncVO.QuickFuncDetailVO.class)) + .build()); + } + + /** + * 修改快捷功能 + */ + @PreAuthorize("@ss.hasPermi('system:function:edit')") + @ApiOperation(value = "修改快捷功能", httpMethod = "PUT", response = R.class) + @Log(title = "修改快捷功能", businessType = BusinessType.UPDATE) + @PutMapping("/checked") + public R editCheckedList(@Validated @RequestBody QuickFuncVO quickFuncVO) { + quickFuncService.updateCheckedList(BeanUtil.toBean(quickFuncVO, QuickFuncDTO.class)); + return success(); + } + + +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/StoreQuickFunctionController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/StoreQuickFunctionController.java deleted file mode 100644 index 4d2ec3354..000000000 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/StoreQuickFunctionController.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.ruoyi.web.controller.xkt; - -import cn.hutool.core.bean.BeanUtil; -import com.ruoyi.common.annotation.Log; -import com.ruoyi.common.core.controller.XktBaseController; -import com.ruoyi.common.core.domain.R; -import com.ruoyi.common.enums.BusinessType; -import com.ruoyi.system.domain.vo.menu.SysMenuDTO; -import com.ruoyi.system.service.ISysMenuService; -import com.ruoyi.web.controller.xkt.vo.storeQuickFunction.StoreQuickFuncVO; -import com.ruoyi.xkt.dto.storeQuickFunction.StoreQuickFuncDTO; -import com.ruoyi.xkt.service.IStoreQuickFunctionService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import org.apache.commons.collections4.CollectionUtils; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.util.ArrayList; -import java.util.List; - -/** - * 档口快捷功能Controller - * - * @author ruoyi - * @date 2025-03-26 - */ -@Api(tags = "档口快捷功能") -@RestController -@RequiredArgsConstructor -@RequestMapping("/rest/v1/quick-functions") -public class StoreQuickFunctionController extends XktBaseController { - - final IStoreQuickFunctionService storeQuickFuncService; - final ISysMenuService menuService; - - /** - * 查看当前档口已绑定的所有快捷菜单 - */ - @PreAuthorize("@ss.hasPermi('system:function:list')") - @ApiOperation(value = "查看当前档口已绑定的所有快捷菜单", httpMethod = "GET", response = R.class) - @GetMapping("/menus/{storeId}") - public R getMenus(@PathVariable Long storeId) { - // 找到当前档口所有的快捷菜单 - List checkedList = storeQuickFuncService.getCheckedMenuList(storeId); - // 找到系统所有的二级菜单 - List sysMenuList = menuService.selectMenuListByRoleIdAndMenuType(2L, "C"); - return R.ok(StoreQuickFuncVO.builder().storeId(storeId) - .checkedList(CollectionUtils.isEmpty(checkedList) ? new ArrayList<>() : BeanUtil.copyToList(checkedList, StoreQuickFuncVO.QuickFuncDetailVO.class)) - .menuList(CollectionUtils.isEmpty(sysMenuList) ? new ArrayList<>() : BeanUtil.copyToList(sysMenuList, StoreQuickFuncVO.QuickFuncDetailVO.class)) - .build()); - } - - /** - * 修改档口快捷功能 - */ - @PreAuthorize("@ss.hasPermi('system:function:edit')") - @ApiOperation(value = "修改档口快捷功能", httpMethod = "PUT", response = R.class) - @Log(title = "修改档口快捷功能", businessType = BusinessType.UPDATE) - @PutMapping("/checked") - public R editCheckedList(@Validated @RequestBody StoreQuickFuncVO quickFuncVO) { - storeQuickFuncService.updateCheckedList(BeanUtil.toBean(quickFuncVO, StoreQuickFuncDTO.class)); - return success(); - } - - -} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeQuickFunction/StoreQuickFuncVO.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/quickFunction/QuickFuncVO.java similarity index 77% rename from ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeQuickFunction/StoreQuickFuncVO.java rename to ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/quickFunction/QuickFuncVO.java index 79726fe6d..697a7799b 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeQuickFunction/StoreQuickFuncVO.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/quickFunction/QuickFuncVO.java @@ -1,4 +1,4 @@ -package com.ruoyi.web.controller.xkt.vo.storeQuickFunction; +package com.ruoyi.web.controller.xkt.vo.quickFunction; import com.fasterxml.jackson.annotation.JsonInclude; import io.swagger.annotations.ApiModel; @@ -19,11 +19,14 @@ import java.util.List; @JsonInclude(JsonInclude.Include.NON_NULL) @NoArgsConstructor @AllArgsConstructor -public class StoreQuickFuncVO { +public class QuickFuncVO { - @ApiModelProperty(value = "档口ID", required = true) - @NotNull(message = "档口ID不能为空!") - private Long storeId; + @ApiModelProperty(value = "业务ID 根据roleId确定,可能为store_id、user_id", required = true) + @NotNull(message = "业务ID不能为空!") + private Long bizId; + @ApiModelProperty(value = "角色ID") + @NotNull(message = "角色ID不能为空!") + private Long roleId; @ApiModelProperty(value = "档口勾选的快捷功能", required = true) @NotNull(message = "档口勾选的快捷功能不能为空!") private List checkedList; diff --git a/xkt/src/main/java/com/ruoyi/xkt/domain/StoreQuickFunction.java b/xkt/src/main/java/com/ruoyi/xkt/domain/QuickFunction.java similarity index 88% rename from xkt/src/main/java/com/ruoyi/xkt/domain/StoreQuickFunction.java rename to xkt/src/main/java/com/ruoyi/xkt/domain/QuickFunction.java index 6b02085ab..e8a44cbdb 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/domain/StoreQuickFunction.java +++ b/xkt/src/main/java/com/ruoyi/xkt/domain/QuickFunction.java @@ -17,7 +17,8 @@ import org.apache.commons.lang3.builder.ToStringStyle; */ @EqualsAndHashCode(callSuper = true) @Data -public class StoreQuickFunction extends XktBaseEntity { +@Accessors(chain = true) +public class QuickFunction extends XktBaseEntity { private static final long serialVersionUID = 1L; /** @@ -27,10 +28,14 @@ public class StoreQuickFunction extends XktBaseEntity { private Long id; /** - * store.id + * store.id or user.id */ - @Excel(name = "store.id") - private Long storeId; + private Long bizId; + + /** + * 角色ID + */ + private Long roleId; /** * 快捷功能名称 @@ -61,7 +66,7 @@ public class StoreQuickFunction extends XktBaseEntity { public String toString() { return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) .append("id", getId()) - .append("storeId", getStoreId()) + .append("bizId", getBizId()) .append("menuName", getMenuName()) .append("icon", getIcon()) .append("path", getPath()) diff --git a/xkt/src/main/java/com/ruoyi/xkt/dto/storeQuickFunction/StoreQuickFuncDTO.java b/xkt/src/main/java/com/ruoyi/xkt/dto/quickFunction/QuickFuncDTO.java similarity index 76% rename from xkt/src/main/java/com/ruoyi/xkt/dto/storeQuickFunction/StoreQuickFuncDTO.java rename to xkt/src/main/java/com/ruoyi/xkt/dto/quickFunction/QuickFuncDTO.java index b76f441f1..f61bafc87 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/dto/storeQuickFunction/StoreQuickFuncDTO.java +++ b/xkt/src/main/java/com/ruoyi/xkt/dto/quickFunction/QuickFuncDTO.java @@ -1,15 +1,11 @@ -package com.ruoyi.xkt.dto.storeQuickFunction; +package com.ruoyi.xkt.dto.quickFunction; import com.fasterxml.jackson.annotation.JsonInclude; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.RequiredArgsConstructor; import lombok.experimental.Accessors; -import javax.validation.constraints.NotNull; import java.util.List; /** @@ -20,10 +16,12 @@ import java.util.List; @ApiModel("档口快捷功能") @Data @JsonInclude(JsonInclude.Include.NON_NULL) -public class StoreQuickFuncDTO { +public class QuickFuncDTO { - @ApiModelProperty(value = "档口ID") - private Long storeId; + @ApiModelProperty(value = "bizId 根据roleId确定,为storeId或者userId") + private Long bizId; + @ApiModelProperty(value = "角色ID") + private Long roleId; @ApiModelProperty(value = "档口勾选的快捷功能") List checkedList; diff --git a/xkt/src/main/java/com/ruoyi/xkt/mapper/QuickFunctionMapper.java b/xkt/src/main/java/com/ruoyi/xkt/mapper/QuickFunctionMapper.java new file mode 100644 index 000000000..2e1f61c7f --- /dev/null +++ b/xkt/src/main/java/com/ruoyi/xkt/mapper/QuickFunctionMapper.java @@ -0,0 +1,23 @@ +package com.ruoyi.xkt.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.xkt.domain.QuickFunction; +import org.apache.ibatis.annotations.Param; + +/** + * 档口快捷功能Mapper接口 + * + * @author ruoyi + * @date 2025-03-26 + */ +public interface QuickFunctionMapper extends BaseMapper { + + /** + * 将指定角色指定bizId的快捷功能置为无效 + * + * @param roleId 角色ID + * @param bizId 业务ID + */ + void updateDelFlagByRoleIdAndBizId(@Param("roleId") Long roleId, @Param("bizId") Long bizId); + +} diff --git a/xkt/src/main/java/com/ruoyi/xkt/mapper/StoreQuickFunctionMapper.java b/xkt/src/main/java/com/ruoyi/xkt/mapper/StoreQuickFunctionMapper.java deleted file mode 100644 index e0f84243f..000000000 --- a/xkt/src/main/java/com/ruoyi/xkt/mapper/StoreQuickFunctionMapper.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.ruoyi.xkt.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.ruoyi.xkt.domain.StoreQuickFunction; - -import java.util.List; - -/** - * 档口快捷功能Mapper接口 - * - * @author ruoyi - * @date 2025-03-26 - */ -public interface StoreQuickFunctionMapper extends BaseMapper { - /** - * 查询档口快捷功能 - * - * @param id 档口快捷功能主键 - * @return 档口快捷功能 - */ - public StoreQuickFunction selectStoreQuickFunctionByStoreQuickFuncId(Long id); - - /** - * 查询档口快捷功能列表 - * - * @param storeQuickFunction 档口快捷功能 - * @return 档口快捷功能集合 - */ - public List selectStoreQuickFunctionList(StoreQuickFunction storeQuickFunction); - - /** - * 新增档口快捷功能 - * - * @param storeQuickFunction 档口快捷功能 - * @return 结果 - */ - public int insertStoreQuickFunction(StoreQuickFunction storeQuickFunction); - - /** - * 修改档口快捷功能 - * - * @param storeQuickFunction 档口快捷功能 - * @return 结果 - */ - public int updateStoreQuickFunction(StoreQuickFunction storeQuickFunction); - - /** - * 删除档口快捷功能 - * - * @param id 档口快捷功能主键 - * @return 结果 - */ - public int deleteStoreQuickFunctionByStoreQuickFuncId(Long id); - - /** - * 批量删除档口快捷功能 - * - * @param storeQuickFuncIds 需要删除的数据主键集合 - * @return 结果 - */ - public int deleteStoreQuickFunctionByStoreQuickFuncIds(Long[] storeQuickFuncIds); - - void updateDelFlagByStoreId(Long storeId); - -} diff --git a/xkt/src/main/java/com/ruoyi/xkt/service/IQuickFunctionService.java b/xkt/src/main/java/com/ruoyi/xkt/service/IQuickFunctionService.java new file mode 100644 index 000000000..6fb13662d --- /dev/null +++ b/xkt/src/main/java/com/ruoyi/xkt/service/IQuickFunctionService.java @@ -0,0 +1,31 @@ +package com.ruoyi.xkt.service; + +import com.ruoyi.xkt.dto.quickFunction.QuickFuncDTO; + +import java.util.List; + +/** + * 档口快捷功能Service接口 + * + * @author ruoyi + * @date 2025-03-26 + */ +public interface IQuickFunctionService { + /** + * 获取当前绑定的快捷功能 + * + * @param roleId 当前角色ID + * @param bizId bizId + * @return List + */ + List getCheckedMenuList(Long roleId, Long bizId); + + /** + * 更新绑定的快捷功能 + * + * @param storeQuickFuncDTO 绑定快捷功能的DTO + * @return + */ + void updateCheckedList(QuickFuncDTO storeQuickFuncDTO); + +} diff --git a/xkt/src/main/java/com/ruoyi/xkt/service/IStoreQuickFunctionService.java b/xkt/src/main/java/com/ruoyi/xkt/service/IStoreQuickFunctionService.java deleted file mode 100644 index 346c3ff4f..000000000 --- a/xkt/src/main/java/com/ruoyi/xkt/service/IStoreQuickFunctionService.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.ruoyi.xkt.service; - -import com.ruoyi.xkt.dto.storeQuickFunction.StoreQuickFuncDTO; - -import java.util.List; - -/** - * 档口快捷功能Service接口 - * - * @author ruoyi - * @date 2025-03-26 - */ -public interface IStoreQuickFunctionService { - /** - * 获取当前档口绑定的快捷功能 - * - * @param storeId 当前档口ID - * @return List - */ - List getCheckedMenuList(Long storeId); - - /** - * 更新档口绑定的快捷功能 - * - * @param storeQuickFuncDTO 绑定档口快捷功能的DTO - * @return - */ - void updateCheckedList(StoreQuickFuncDTO storeQuickFuncDTO); - -} diff --git a/xkt/src/main/java/com/ruoyi/xkt/service/impl/QuickFunctionServiceImpl.java b/xkt/src/main/java/com/ruoyi/xkt/service/impl/QuickFunctionServiceImpl.java new file mode 100644 index 000000000..a4569994e --- /dev/null +++ b/xkt/src/main/java/com/ruoyi/xkt/service/impl/QuickFunctionServiceImpl.java @@ -0,0 +1,55 @@ +package com.ruoyi.xkt.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.ruoyi.common.constant.Constants; +import com.ruoyi.xkt.domain.QuickFunction; +import com.ruoyi.xkt.dto.quickFunction.QuickFuncDTO; +import com.ruoyi.xkt.mapper.QuickFunctionMapper; +import com.ruoyi.xkt.service.IQuickFunctionService; +import lombok.RequiredArgsConstructor; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.List; + +/** + * 快捷功能Service业务层处理 + * + * @author ruoyi + * @date 2025-03-26 + */ +@Service +@RequiredArgsConstructor +public class QuickFunctionServiceImpl implements IQuickFunctionService { + + final QuickFunctionMapper quickFuncMapper; + + @Override + @Transactional(readOnly = true) + public List getCheckedMenuList(Long roleId, Long bizId) { + List storeQuickFuncList = quickFuncMapper.selectList(new LambdaQueryWrapper() + .eq(QuickFunction::getBizId, bizId).eq(QuickFunction::getRoleId, roleId).eq(QuickFunction::getDelFlag, Constants.UNDELETED)); + return CollectionUtils.isEmpty(storeQuickFuncList) ? new ArrayList<>() : BeanUtil.copyToList(storeQuickFuncList, QuickFuncDTO.DetailDTO.class); + } + + /** + * 更新绑定的快捷功能 + * + * @param storeQuickFuncDTO 绑定快捷功能的DTO + * @return + */ + @Override + @Transactional + public void updateCheckedList(QuickFuncDTO storeQuickFuncDTO) { + // 先将旧的绑定关系置为无效 + this.quickFuncMapper.updateDelFlagByRoleIdAndBizId(storeQuickFuncDTO.getRoleId(), storeQuickFuncDTO.getBizId()); + // 新增档口的快捷功能 + List checkedList = BeanUtil.copyToList(storeQuickFuncDTO.getCheckedList(), QuickFunction.class); + checkedList.forEach(x -> x.setBizId(storeQuickFuncDTO.getBizId()).setRoleId(storeQuickFuncDTO.getRoleId())); + this.quickFuncMapper.insert(checkedList); + } + +} diff --git a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreQuickFunctionServiceImpl.java b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreQuickFunctionServiceImpl.java deleted file mode 100644 index 7f2009ab4..000000000 --- a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreQuickFunctionServiceImpl.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.ruoyi.xkt.service.impl; - -import cn.hutool.core.bean.BeanUtil; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.ruoyi.common.constant.Constants; -import com.ruoyi.xkt.domain.StoreQuickFunction; -import com.ruoyi.xkt.dto.storeQuickFunction.StoreQuickFuncDTO; -import com.ruoyi.xkt.mapper.StoreQuickFunctionMapper; -import com.ruoyi.xkt.service.IStoreQuickFunctionService; -import lombok.RequiredArgsConstructor; -import org.apache.commons.collections4.CollectionUtils; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.ArrayList; -import java.util.List; - -/** - * 档口快捷功能Service业务层处理 - * - * @author ruoyi - * @date 2025-03-26 - */ -@Service -@RequiredArgsConstructor -public class StoreQuickFunctionServiceImpl implements IStoreQuickFunctionService { - - final StoreQuickFunctionMapper storeQuickFuncMapper; - - @Override - @Transactional(readOnly = true) - public List getCheckedMenuList(Long storeId) { - List storeQuickFuncList = storeQuickFuncMapper.selectList(new LambdaQueryWrapper() - .eq(StoreQuickFunction::getStoreId, storeId).eq(StoreQuickFunction::getDelFlag, Constants.UNDELETED)); - return CollectionUtils.isEmpty(storeQuickFuncList) ? new ArrayList<>() : BeanUtil.copyToList(storeQuickFuncList, StoreQuickFuncDTO.DetailDTO.class); - } - - /** - * 更新档口绑定的快捷功能 - * - * @param storeQuickFuncDTO 绑定档口快捷功能的DTO - * @return - */ - @Override - @Transactional - public void updateCheckedList(StoreQuickFuncDTO storeQuickFuncDTO) { - // 先将旧的绑定关系置为无效 - this.storeQuickFuncMapper.updateDelFlagByStoreId(storeQuickFuncDTO.getStoreId()); - // 新增档口的快捷功能 - List checkedList = BeanUtil.copyToList(storeQuickFuncDTO.getCheckedList(), StoreQuickFunction.class); - checkedList.forEach(x -> x.setStoreId(storeQuickFuncDTO.getStoreId())); - this.storeQuickFuncMapper.insert(checkedList); - } - -} diff --git a/xkt/src/main/resources/mapper/StoreQuickFunctionMapper.xml b/xkt/src/main/resources/mapper/StoreQuickFunctionMapper.xml index d10706d4c..32b0bc361 100644 --- a/xkt/src/main/resources/mapper/StoreQuickFunctionMapper.xml +++ b/xkt/src/main/resources/mapper/StoreQuickFunctionMapper.xml @@ -2,106 +2,10 @@ - - - - - - - - - - - - - - - - + - - select id, store_id, menu_name, icon, path, order_num, version, del_flag, create_by, create_time, update_by, update_time from store_quick_function - - - - - - - - insert into store_quick_function - - store_id, - menu_name, - icon, - path, - order_num, - version, - del_flag, - create_by, - create_time, - update_by, - update_time, - - - #{storeId}, - #{menuName}, - #{icon}, - #{path}, - #{orderNum}, - #{version}, - #{delFlag}, - #{createBy}, - #{createTime}, - #{updateBy}, - #{updateTime}, - - - - - update store_quick_function - - store_id = #{storeId}, - menu_name = #{menuName}, - icon = #{icon}, - path = #{path}, - order_num = #{orderNum}, - version = #{version}, - del_flag = #{delFlag}, - create_by = #{createBy}, - create_time = #{createTime}, - update_by = #{updateBy}, - update_time = #{updateTime}, - - where id = #{id} + + UPDATE quick_function SET del_flag = 2 WHERE role_id = #{roleId} AND biz_id = #{bizId} - - delete from store_quick_function where id = #{id} - - - - delete from store_quick_function where id in - - #{id} - - - - - UPDATE store_quick_function SET del_flag = 2 WHERE store_id = #{storeId} - - - \ No newline at end of file