From 10f6cad6cbb601421fe8afd34490a57c6755ced0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A7=9C=E7=8E=89=E7=90=A6?= <7507756+jiang_yuqi@user.noreply.gitee.com> Date: Sun, 9 Mar 2025 15:43:21 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yanzhu/manage/domain/WxMenuConfig.java | 18 +++- .../manage/domain/WxMenuConfigRole.java | 2 +- .../manage/mapper/WxMenuConfigMapper.java | 29 +++++- .../manage/mapper/WxMenuConfigRoleMapper.java | 61 ------------ .../mapper/manage/WxMenuConfigMapper.xml | 39 +++++++- .../mapper/manage/WxMenuConfigRoleMapper.xml | 65 ------------ .../controller/WxMenuConfigController.java | 98 +++++++++++++++++++ .../controller/wechat/WXPublicController.java | 1 - .../service/IWxMenuConfigRoleService.java | 61 ------------ .../manage/service/IWxMenuConfigService.java | 69 ------------- .../impl/WxMenuConfigRoleServiceImpl.java | 93 ------------------ .../service/impl/WxMenuConfigServiceImpl.java | 54 ++++++++-- 12 files changed, 223 insertions(+), 367 deletions(-) delete mode 100644 yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/mapper/WxMenuConfigRoleMapper.java delete mode 100644 yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/WxMenuConfigRoleMapper.xml create mode 100644 yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/WxMenuConfigController.java delete mode 100644 yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/IWxMenuConfigRoleService.java delete mode 100644 yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/IWxMenuConfigService.java delete mode 100644 yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/WxMenuConfigRoleServiceImpl.java diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/domain/WxMenuConfig.java b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/domain/WxMenuConfig.java index b18ff661..cdffbf0c 100644 --- a/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/domain/WxMenuConfig.java +++ b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/domain/WxMenuConfig.java @@ -5,11 +5,13 @@ import com.yanzhu.common.core.web.domain.BaseEntity; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; +import java.util.List; + /** * 菜单配置对象 wx_menu_config * * @author JiangYuQi - * @date 2024-12-29 + * @date 2025-03-09 */ public class WxMenuConfig extends BaseEntity { @@ -49,6 +51,9 @@ public class WxMenuConfig extends BaseEntity @Excel(name = "菜单类型") private String menuType; + /** 菜单配置角色信息 */ + private List wxMenuConfigRoleList; + public void setId(Long id) { this.id = id; @@ -131,6 +136,16 @@ public class WxMenuConfig extends BaseEntity return menuType; } + public List getWxMenuConfigRoleList() + { + return wxMenuConfigRoleList; + } + + public void setWxMenuConfigRoleList(List wxMenuConfigRoleList) + { + this.wxMenuConfigRoleList = wxMenuConfigRoleList; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) @@ -144,6 +159,7 @@ public class WxMenuConfig extends BaseEntity .append("menuSort", getMenuSort()) .append("createTime", getCreateTime()) .append("menuType", getMenuType()) + .append("wxMenuConfigRoleList", getWxMenuConfigRoleList()) .toString(); } } diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/domain/WxMenuConfigRole.java b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/domain/WxMenuConfigRole.java index a5038de3..2348427c 100644 --- a/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/domain/WxMenuConfigRole.java +++ b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/domain/WxMenuConfigRole.java @@ -9,7 +9,7 @@ import org.apache.commons.lang3.builder.ToStringStyle; * 菜单配置角色对象 wx_menu_config_role * * @author JiangYuQi - * @date 2024-12-29 + * @date 2025-03-09 */ public class WxMenuConfigRole extends BaseEntity { diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/mapper/WxMenuConfigMapper.java b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/mapper/WxMenuConfigMapper.java index 3beac408..08a87a25 100644 --- a/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/mapper/WxMenuConfigMapper.java +++ b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/mapper/WxMenuConfigMapper.java @@ -2,12 +2,13 @@ package com.yanzhu.manage.mapper; import java.util.List; import com.yanzhu.manage.domain.WxMenuConfig; +import com.yanzhu.manage.domain.WxMenuConfigRole; /** * 菜单配置Mapper接口 * * @author JiangYuQi - * @date 2024-12-29 + * @date 2025-03-09 */ public interface WxMenuConfigMapper { @@ -59,6 +60,31 @@ public interface WxMenuConfigMapper */ public int deleteWxMenuConfigByIds(Long[] ids); + /** + * 批量删除菜单配置角色 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteWxMenuConfigRoleBySmcids(Long[] ids); + + /** + * 批量新增菜单配置角色 + * + * @param wxMenuConfigRoleList 菜单配置角色列表 + * @return 结果 + */ + public int batchWxMenuConfigRole(List wxMenuConfigRoleList); + + + /** + * 通过菜单配置主键删除菜单配置角色信息 + * + * @param id 菜单配置ID + * @return 结果 + */ + public int deleteWxMenuConfigRoleBySmcid(Long id); + /** * 查询微信用户菜单 * @@ -66,5 +92,4 @@ public interface WxMenuConfigMapper * @return 菜单配置集合 */ public List findUserMenuList(WxMenuConfig wxMenuConfig); - } diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/mapper/WxMenuConfigRoleMapper.java b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/mapper/WxMenuConfigRoleMapper.java deleted file mode 100644 index e159068e..00000000 --- a/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/mapper/WxMenuConfigRoleMapper.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.yanzhu.manage.mapper; - -import java.util.List; -import com.yanzhu.manage.domain.WxMenuConfigRole; - -/** - * 菜单配置角色Mapper接口 - * - * @author JiangYuQi - * @date 2024-12-29 - */ -public interface WxMenuConfigRoleMapper -{ - /** - * 查询菜单配置角色 - * - * @param smcid 菜单配置角色主键 - * @return 菜单配置角色 - */ - public WxMenuConfigRole selectWxMenuConfigRoleBySmcid(Long smcid); - - /** - * 查询菜单配置角色列表 - * - * @param wxMenuConfigRole 菜单配置角色 - * @return 菜单配置角色集合 - */ - public List selectWxMenuConfigRoleList(WxMenuConfigRole wxMenuConfigRole); - - /** - * 新增菜单配置角色 - * - * @param wxMenuConfigRole 菜单配置角色 - * @return 结果 - */ - public int insertWxMenuConfigRole(WxMenuConfigRole wxMenuConfigRole); - - /** - * 修改菜单配置角色 - * - * @param wxMenuConfigRole 菜单配置角色 - * @return 结果 - */ - public int updateWxMenuConfigRole(WxMenuConfigRole wxMenuConfigRole); - - /** - * 删除菜单配置角色 - * - * @param smcid 菜单配置角色主键 - * @return 结果 - */ - public int deleteWxMenuConfigRoleBySmcid(Long smcid); - - /** - * 批量删除菜单配置角色 - * - * @param smcids 需要删除的数据主键集合 - * @return 结果 - */ - public int deleteWxMenuConfigRoleBySmcids(Long[] smcids); -} diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/WxMenuConfigMapper.xml b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/WxMenuConfigMapper.xml index c6fcb4d8..f9951a3b 100644 --- a/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/WxMenuConfigMapper.xml +++ b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/WxMenuConfigMapper.xml @@ -17,6 +17,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + + + + + + + select id, project_id, menu_name, menu_identi, menu_img, menu_url, del_flag, menu_sort, create_time, menu_type from wx_menu_config @@ -27,14 +37,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and project_id = #{projectId} and menu_name like concat('%', #{menuName}, '%') and menu_type = #{menuType} - and project_id is null - and del_flag = 0 - + select a.id, a.project_id, a.menu_name, a.menu_identi, a.menu_img, a.menu_url, a.del_flag, a.menu_sort, a.create_time, a.menu_type, + b.smcid as sub_smcid, b.role_id as sub_role_id, b.user_id as sub_user_id + from wx_menu_config a + left join wx_menu_config_role b on b.smcid = a.id + where a.id = #{id} @@ -89,6 +100,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{id} + + + delete from wx_menu_config_role where smcid in + + #{smcid} + + + + + delete from wx_menu_config_role where smcid = #{smcid} + + + + insert into wx_menu_config_role( smcid, role_id, user_id) values + + ( #{item.smcid}, #{item.roleId}, #{item.userId}) + + - - - and smcid = #{smcid} - and role_id = #{roleId} - and user_id = #{userId} - - - - - - - insert into wx_menu_config_role - - smcid, - role_id, - user_id, - - - #{smcid}, - #{roleId}, - #{userId}, - - - - - update wx_menu_config_role - - role_id = #{roleId}, - user_id = #{userId}, - - where smcid = #{smcid} - - - - delete from wx_menu_config_role where smcid = #{smcid} - - - - delete from wx_menu_config_role where smcid in - - #{smcid} - - - - \ No newline at end of file diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/WxMenuConfigController.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/WxMenuConfigController.java new file mode 100644 index 00000000..6180d7cc --- /dev/null +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/WxMenuConfigController.java @@ -0,0 +1,98 @@ +package com.yanzhu.manage.controller; + +import com.yanzhu.common.core.utils.poi.ExcelUtil; +import com.yanzhu.common.core.web.controller.BaseController; +import com.yanzhu.common.core.web.domain.AjaxResult; +import com.yanzhu.common.core.web.page.TableDataInfo; +import com.yanzhu.common.log.annotation.Log; +import com.yanzhu.common.log.enums.BusinessType; +import com.yanzhu.common.security.annotation.RequiresPermissions; +import com.yanzhu.manage.domain.WxMenuConfig; +import com.yanzhu.manage.service.IWxMenuConfigService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 菜单配置Controller + * + * @author JiangYuQi + * @date 2025-03-09 + */ +@RestController +@RequestMapping("/wxMenuConfig") +public class WxMenuConfigController extends BaseController +{ + @Autowired + private IWxMenuConfigService wxMenuConfigService; + + /** + * 查询菜单配置列表 + */ + @RequiresPermissions("manage:wxMenuConfig:list") + @GetMapping("/list") + public TableDataInfo list(WxMenuConfig wxMenuConfig) + { + startPage(); + List list = wxMenuConfigService.selectWxMenuConfigList(wxMenuConfig); + return getDataTable(list); + } + + /** + * 导出菜单配置列表 + */ + @RequiresPermissions("manage:wxMenuConfig:export") + @Log(title = "菜单配置", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, WxMenuConfig wxMenuConfig) + { + List list = wxMenuConfigService.selectWxMenuConfigList(wxMenuConfig); + ExcelUtil util = new ExcelUtil(WxMenuConfig.class); + util.exportExcel(response, list, "菜单配置数据"); + } + + /** + * 获取菜单配置详细信息 + */ + @RequiresPermissions("manage:wxMenuConfig:query") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(wxMenuConfigService.selectWxMenuConfigById(id)); + } + + /** + * 新增菜单配置 + */ + @RequiresPermissions("manage:wxMenuConfig:add") + @Log(title = "菜单配置", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody WxMenuConfig wxMenuConfig) + { + return toAjax(wxMenuConfigService.insertWxMenuConfig(wxMenuConfig)); + } + + /** + * 修改菜单配置 + */ + @RequiresPermissions("manage:wxMenuConfig:edit") + @Log(title = "菜单配置", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody WxMenuConfig wxMenuConfig) + { + return toAjax(wxMenuConfigService.updateWxMenuConfig(wxMenuConfig)); + } + + /** + * 删除菜单配置 + */ + @RequiresPermissions("manage:wxMenuConfig:remove") + @Log(title = "菜单配置", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(wxMenuConfigService.deleteWxMenuConfigByIds(ids)); + } +} diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/wechat/WXPublicController.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/wechat/WXPublicController.java index a2657a58..5b8dffe1 100644 --- a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/wechat/WXPublicController.java +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/wechat/WXPublicController.java @@ -6,7 +6,6 @@ import com.yanzhu.common.core.web.domain.AjaxResult; import com.yanzhu.common.redis.service.RedisService; import com.yanzhu.common.security.utils.SecurityUtils; import com.yanzhu.manage.domain.WxMenuConfig; -import com.yanzhu.manage.service.IWxMenuConfigService; import com.yanzhu.system.api.domain.SysUser; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/IWxMenuConfigRoleService.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/IWxMenuConfigRoleService.java deleted file mode 100644 index d21b3ce8..00000000 --- a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/IWxMenuConfigRoleService.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.yanzhu.manage.service; - -import java.util.List; -import com.yanzhu.manage.domain.WxMenuConfigRole; - -/** - * 菜单配置角色Service接口 - * - * @author JiangYuQi - * @date 2024-12-29 - */ -public interface IWxMenuConfigRoleService -{ - /** - * 查询菜单配置角色 - * - * @param smcid 菜单配置角色主键 - * @return 菜单配置角色 - */ - public WxMenuConfigRole selectWxMenuConfigRoleBySmcid(Long smcid); - - /** - * 查询菜单配置角色列表 - * - * @param wxMenuConfigRole 菜单配置角色 - * @return 菜单配置角色集合 - */ - public List selectWxMenuConfigRoleList(WxMenuConfigRole wxMenuConfigRole); - - /** - * 新增菜单配置角色 - * - * @param wxMenuConfigRole 菜单配置角色 - * @return 结果 - */ - public int insertWxMenuConfigRole(WxMenuConfigRole wxMenuConfigRole); - - /** - * 修改菜单配置角色 - * - * @param wxMenuConfigRole 菜单配置角色 - * @return 结果 - */ - public int updateWxMenuConfigRole(WxMenuConfigRole wxMenuConfigRole); - - /** - * 批量删除菜单配置角色 - * - * @param smcids 需要删除的菜单配置角色主键集合 - * @return 结果 - */ - public int deleteWxMenuConfigRoleBySmcids(Long[] smcids); - - /** - * 删除菜单配置角色信息 - * - * @param smcid 菜单配置角色主键 - * @return 结果 - */ - public int deleteWxMenuConfigRoleBySmcid(Long smcid); -} diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/IWxMenuConfigService.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/IWxMenuConfigService.java deleted file mode 100644 index c7153c80..00000000 --- a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/IWxMenuConfigService.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.yanzhu.manage.service; - -import java.util.List; -import com.yanzhu.manage.domain.WxMenuConfig; - -/** - * 菜单配置Service接口 - * - * @author JiangYuQi - * @date 2024-12-29 - */ -public interface IWxMenuConfigService -{ - /** - * 查询菜单配置 - * - * @param id 菜单配置主键 - * @return 菜单配置 - */ - public WxMenuConfig selectWxMenuConfigById(Long id); - - /** - * 查询菜单配置列表 - * - * @param wxMenuConfig 菜单配置 - * @return 菜单配置集合 - */ - public List selectWxMenuConfigList(WxMenuConfig wxMenuConfig); - - /** - * 新增菜单配置 - * - * @param wxMenuConfig 菜单配置 - * @return 结果 - */ - public int insertWxMenuConfig(WxMenuConfig wxMenuConfig); - - /** - * 修改菜单配置 - * - * @param wxMenuConfig 菜单配置 - * @return 结果 - */ - public int updateWxMenuConfig(WxMenuConfig wxMenuConfig); - - /** - * 批量删除菜单配置 - * - * @param ids 需要删除的菜单配置主键集合 - * @return 结果 - */ - public int deleteWxMenuConfigByIds(Long[] ids); - - /** - * 删除菜单配置信息 - * - * @param id 菜单配置主键 - * @return 结果 - */ - public int deleteWxMenuConfigById(Long id); - - /** - * 查询微信用户菜单 - * - * @param wxMenuConfig 菜单配置 - * @return 菜单配置集合 - */ - public List findUserMenuList(WxMenuConfig wxMenuConfig); -} diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/WxMenuConfigRoleServiceImpl.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/WxMenuConfigRoleServiceImpl.java deleted file mode 100644 index d57f2198..00000000 --- a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/WxMenuConfigRoleServiceImpl.java +++ /dev/null @@ -1,93 +0,0 @@ -package com.yanzhu.manage.service.impl; - -import java.util.List; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import com.yanzhu.manage.mapper.WxMenuConfigRoleMapper; -import com.yanzhu.manage.domain.WxMenuConfigRole; -import com.yanzhu.manage.service.IWxMenuConfigRoleService; - -/** - * 菜单配置角色Service业务层处理 - * - * @author JiangYuQi - * @date 2024-12-29 - */ -@Service -public class WxMenuConfigRoleServiceImpl implements IWxMenuConfigRoleService -{ - @Autowired - private WxMenuConfigRoleMapper wxMenuConfigRoleMapper; - - /** - * 查询菜单配置角色 - * - * @param smcid 菜单配置角色主键 - * @return 菜单配置角色 - */ - @Override - public WxMenuConfigRole selectWxMenuConfigRoleBySmcid(Long smcid) - { - return wxMenuConfigRoleMapper.selectWxMenuConfigRoleBySmcid(smcid); - } - - /** - * 查询菜单配置角色列表 - * - * @param wxMenuConfigRole 菜单配置角色 - * @return 菜单配置角色 - */ - @Override - public List selectWxMenuConfigRoleList(WxMenuConfigRole wxMenuConfigRole) - { - return wxMenuConfigRoleMapper.selectWxMenuConfigRoleList(wxMenuConfigRole); - } - - /** - * 新增菜单配置角色 - * - * @param wxMenuConfigRole 菜单配置角色 - * @return 结果 - */ - @Override - public int insertWxMenuConfigRole(WxMenuConfigRole wxMenuConfigRole) - { - return wxMenuConfigRoleMapper.insertWxMenuConfigRole(wxMenuConfigRole); - } - - /** - * 修改菜单配置角色 - * - * @param wxMenuConfigRole 菜单配置角色 - * @return 结果 - */ - @Override - public int updateWxMenuConfigRole(WxMenuConfigRole wxMenuConfigRole) - { - return wxMenuConfigRoleMapper.updateWxMenuConfigRole(wxMenuConfigRole); - } - - /** - * 批量删除菜单配置角色 - * - * @param smcids 需要删除的菜单配置角色主键 - * @return 结果 - */ - @Override - public int deleteWxMenuConfigRoleBySmcids(Long[] smcids) - { - return wxMenuConfigRoleMapper.deleteWxMenuConfigRoleBySmcids(smcids); - } - - /** - * 删除菜单配置角色信息 - * - * @param smcid 菜单配置角色主键 - * @return 结果 - */ - @Override - public int deleteWxMenuConfigRoleBySmcid(Long smcid) - { - return wxMenuConfigRoleMapper.deleteWxMenuConfigRoleBySmcid(smcid); - } -} diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/WxMenuConfigServiceImpl.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/WxMenuConfigServiceImpl.java index c0d9e607..eb96e110 100644 --- a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/WxMenuConfigServiceImpl.java +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/WxMenuConfigServiceImpl.java @@ -1,22 +1,26 @@ package com.yanzhu.manage.service.impl; -import java.util.List; - import com.yanzhu.common.core.utils.DateUtils; +import com.yanzhu.common.core.utils.StringUtils; +import com.yanzhu.manage.domain.WxMenuConfig; +import com.yanzhu.manage.domain.WxMenuConfigRole; +import com.yanzhu.manage.mapper.WxMenuConfigMapper; +import com.yanzhu.manage.service.IWxMenuConfigService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.yanzhu.manage.mapper.WxMenuConfigMapper; -import com.yanzhu.manage.domain.WxMenuConfig; -import com.yanzhu.manage.service.IWxMenuConfigService; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.List; /** * 菜单配置Service业务层处理 * * @author JiangYuQi - * @date 2024-12-29 + * @date 2025-03-09 */ @Service -public class WxMenuConfigServiceImpl implements IWxMenuConfigService +public class WxMenuConfigServiceImpl implements IWxMenuConfigService { @Autowired private WxMenuConfigMapper wxMenuConfigMapper; @@ -51,11 +55,14 @@ public class WxMenuConfigServiceImpl implements IWxMenuConfigService * @param wxMenuConfig 菜单配置 * @return 结果 */ + @Transactional @Override public int insertWxMenuConfig(WxMenuConfig wxMenuConfig) { wxMenuConfig.setCreateTime(DateUtils.getNowDate()); - return wxMenuConfigMapper.insertWxMenuConfig(wxMenuConfig); + int rows = wxMenuConfigMapper.insertWxMenuConfig(wxMenuConfig); + insertWxMenuConfigRole(wxMenuConfig); + return rows; } /** @@ -64,9 +71,12 @@ public class WxMenuConfigServiceImpl implements IWxMenuConfigService * @param wxMenuConfig 菜单配置 * @return 结果 */ + @Transactional @Override public int updateWxMenuConfig(WxMenuConfig wxMenuConfig) { + wxMenuConfigMapper.deleteWxMenuConfigRoleBySmcid(wxMenuConfig.getId()); + insertWxMenuConfigRole(wxMenuConfig); return wxMenuConfigMapper.updateWxMenuConfig(wxMenuConfig); } @@ -76,9 +86,11 @@ public class WxMenuConfigServiceImpl implements IWxMenuConfigService * @param ids 需要删除的菜单配置主键 * @return 结果 */ + @Transactional @Override public int deleteWxMenuConfigByIds(Long[] ids) { + wxMenuConfigMapper.deleteWxMenuConfigRoleBySmcids(ids); return wxMenuConfigMapper.deleteWxMenuConfigByIds(ids); } @@ -88,12 +100,38 @@ public class WxMenuConfigServiceImpl implements IWxMenuConfigService * @param id 菜单配置主键 * @return 结果 */ + @Transactional @Override public int deleteWxMenuConfigById(Long id) { + wxMenuConfigMapper.deleteWxMenuConfigRoleBySmcid(id); return wxMenuConfigMapper.deleteWxMenuConfigById(id); } + /** + * 新增菜单配置角色信息 + * + * @param wxMenuConfig 菜单配置对象 + */ + public void insertWxMenuConfigRole(WxMenuConfig wxMenuConfig) + { + List wxMenuConfigRoleList = wxMenuConfig.getWxMenuConfigRoleList(); + Long id = wxMenuConfig.getId(); + if (StringUtils.isNotNull(wxMenuConfigRoleList)) + { + List list = new ArrayList(); + for (WxMenuConfigRole wxMenuConfigRole : wxMenuConfigRoleList) + { + wxMenuConfigRole.setSmcid(id); + list.add(wxMenuConfigRole); + } + if (list.size() > 0) + { + wxMenuConfigMapper.batchWxMenuConfigRole(list); + } + } + } + /** * 查询微信用户菜单 *