初始化
This commit is contained in:
parent
5215f47acb
commit
030fb37a0f
|
|
@ -44,7 +44,6 @@ public class DictionaryController extends BaseController {
|
|||
|
||||
/**
|
||||
* 搜索字典
|
||||
*
|
||||
* @param request 请求参数
|
||||
* @return 字典列表
|
||||
*/
|
||||
|
|
@ -56,7 +55,6 @@ public class DictionaryController extends BaseController {
|
|||
|
||||
/**
|
||||
* 保存字典
|
||||
*
|
||||
* @param request 请求参数
|
||||
*/
|
||||
@PostMapping("saveDictionary")
|
||||
|
|
@ -68,7 +66,6 @@ public class DictionaryController extends BaseController {
|
|||
|
||||
/**
|
||||
* 删除字典
|
||||
*
|
||||
* @param ids id列表
|
||||
*/
|
||||
@PostMapping("deleteDictionary")
|
||||
|
|
@ -80,7 +77,6 @@ public class DictionaryController extends BaseController {
|
|||
|
||||
/**
|
||||
* 搜索字典值
|
||||
*
|
||||
* @param request 请求参数
|
||||
* @return 字典列表
|
||||
*/
|
||||
|
|
@ -92,7 +88,6 @@ public class DictionaryController extends BaseController {
|
|||
|
||||
/**
|
||||
* 保存字典值
|
||||
*
|
||||
* @param request 请求参数
|
||||
*/
|
||||
@PostMapping("saveDictionaryItem")
|
||||
|
|
@ -104,7 +99,6 @@ public class DictionaryController extends BaseController {
|
|||
|
||||
/**
|
||||
* 删除字典值
|
||||
*
|
||||
* @param ids id列表
|
||||
*/
|
||||
@PostMapping("deleteDictionaryItem")
|
||||
|
|
@ -116,7 +110,6 @@ public class DictionaryController extends BaseController {
|
|||
|
||||
/**
|
||||
* 获取字典值翻译列表
|
||||
*
|
||||
* @param id 字典值id
|
||||
* @return 字典值翻译列表
|
||||
*/
|
||||
|
|
@ -128,7 +121,6 @@ public class DictionaryController extends BaseController {
|
|||
|
||||
/**
|
||||
* 导出字典值翻译列表
|
||||
*
|
||||
* @param dictionaryItemIds 字典值id列表
|
||||
*/
|
||||
@GetMapping("exportDictionaryItemTranslates")
|
||||
|
|
@ -141,7 +133,6 @@ public class DictionaryController extends BaseController {
|
|||
|
||||
/**
|
||||
* 导入字典值翻译列表
|
||||
*
|
||||
* @param file 文件
|
||||
*/
|
||||
@PostMapping("importDictionaryItemTranslates")
|
||||
|
|
@ -156,7 +147,6 @@ public class DictionaryController extends BaseController {
|
|||
|
||||
/**
|
||||
* 根据字典编码获取字典值列表
|
||||
*
|
||||
* @param dictionaryCode 字典编码
|
||||
* @return 字典值列表
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -0,0 +1,109 @@
|
|||
package com.nflg.wms.admin.controller;
|
||||
|
||||
import com.nflg.wms.common.pojo.ApiResult;
|
||||
import com.nflg.wms.common.pojo.PageData;
|
||||
import com.nflg.wms.common.pojo.qo.EnableQO;
|
||||
import com.nflg.wms.common.pojo.qo.LDAPAddQO;
|
||||
import com.nflg.wms.common.pojo.qo.LDAPUpdateQO;
|
||||
import com.nflg.wms.common.pojo.qo.PageQO;
|
||||
import com.nflg.wms.common.pojo.vo.AdSyncVO;
|
||||
import com.nflg.wms.repository.entity.Ad;
|
||||
import com.nflg.wms.starter.BaseController;
|
||||
import jakarta.annotation.Resource;
|
||||
import jakarta.validation.Valid;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
/**
|
||||
* LDAP管理
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/ldap")
|
||||
public class LDAPController extends BaseController {
|
||||
|
||||
@Resource
|
||||
private LDAPControllerService ldapControllerService;
|
||||
|
||||
/**
|
||||
* 测试ad域
|
||||
*/
|
||||
@PostMapping("check")
|
||||
public ApiResult<Boolean> check(@Valid @RequestBody LDAPAddQO request){
|
||||
return ApiResult.success(ldapControllerService.check(request));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增ad域
|
||||
*/
|
||||
@PostMapping("add")
|
||||
public ApiResult<Void> add(@Valid @RequestBody LDAPAddQO request){
|
||||
ldapControllerService.add(request);
|
||||
return ApiResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新ad域
|
||||
*/
|
||||
@PostMapping("update")
|
||||
public ApiResult<Void> update(@Valid @RequestBody LDAPUpdateQO request){
|
||||
ldapControllerService.update(request);
|
||||
return ApiResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除ad域
|
||||
*/
|
||||
@PostMapping("delete")
|
||||
public ApiResult<Void> delete(@Valid @NotNull Long id){
|
||||
ldapControllerService.delete(id);
|
||||
return ApiResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 启用/禁用ad域
|
||||
* @param request 请求参数
|
||||
*/
|
||||
@PostMapping("/enable")
|
||||
public ApiResult<Void> enable(@Valid @RequestBody EnableQO request){
|
||||
ldapControllerService.enable(request);
|
||||
return ApiResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取同步配置
|
||||
* @param id ad域id
|
||||
*/
|
||||
@GetMapping("getSyncConfig")
|
||||
public ApiResult<AdSyncVO> getSyncConfig(@Valid @RequestParam @NotNull Long id){
|
||||
return ApiResult.success(ldapControllerService.getSyncConfig(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存同步配置
|
||||
* @param request 同步配置
|
||||
*/
|
||||
@PostMapping("saveSyncConfig")
|
||||
public ApiResult<Void> saveSyncConfig(@Valid @RequestBody AdSyncVO request){
|
||||
ldapControllerService.saveSyncConfig(request);
|
||||
return ApiResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 同步ad域用户
|
||||
* @param id ad域id
|
||||
*/
|
||||
@GetMapping("sync")
|
||||
public ApiResult<Void> sync(@Valid @RequestParam @NotNull Long id){
|
||||
ldapControllerService.sync(id);
|
||||
return ApiResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 搜索ad域
|
||||
* @param request 搜索参数
|
||||
*/
|
||||
@PostMapping("search")
|
||||
public ApiResult<PageData<Ad>> search(@Valid @RequestBody PageQO request){
|
||||
return ApiResult.success(ldapControllerService.search(request));
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,77 @@
|
|||
package com.nflg.wms.admin.controller;
|
||||
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.nflg.wms.admin.service.DepartmentControllerService;
|
||||
import com.nflg.wms.admin.service.LdapService;
|
||||
import com.nflg.wms.common.pojo.dto.AdDTO;
|
||||
import com.nflg.wms.common.pojo.qo.EnableQO;
|
||||
import com.nflg.wms.common.pojo.qo.LDAPAddQO;
|
||||
import com.nflg.wms.common.pojo.qo.LDAPUpdateQO;
|
||||
import com.nflg.wms.common.pojo.qo.PageQO;
|
||||
import com.nflg.wms.common.pojo.vo.AdSyncVO;
|
||||
import com.nflg.wms.common.util.VUtil;
|
||||
import com.nflg.wms.repository.entity.Ad;
|
||||
import com.nflg.wms.repository.service.IAdService;
|
||||
import com.nflg.wms.repository.service.IAdSyncService;
|
||||
import jakarta.annotation.Resource;
|
||||
import jakarta.validation.Valid;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
@Component
|
||||
public class LDAPControllerService {
|
||||
|
||||
@Resource
|
||||
private IAdService adService;
|
||||
|
||||
@Resource
|
||||
private IAdSyncService adSyncService;
|
||||
|
||||
@Resource
|
||||
private DepartmentControllerService departmentControllerService;
|
||||
|
||||
public void add(@Valid LDAPAddQO request) {
|
||||
Ad ad = Convert.convert(Ad.class, request);
|
||||
adService.add(ad);
|
||||
}
|
||||
|
||||
public void update(@Valid LDAPUpdateQO request) {
|
||||
Ad ad = Convert.convert(Ad.class, request);
|
||||
adService.update(ad);
|
||||
}
|
||||
|
||||
public void delete(@Valid @NotNull Long id) {
|
||||
adService.delete(id);
|
||||
}
|
||||
|
||||
public void enable(@Valid EnableQO request) {
|
||||
adService.enable(request);
|
||||
}
|
||||
|
||||
public AdSyncVO getSyncConfig(@Valid @NotNull Long id) {
|
||||
return adSyncService.getByAd(id);
|
||||
}
|
||||
|
||||
public void saveSyncConfig(@Valid AdSyncVO request) {
|
||||
adSyncService.save(request);
|
||||
}
|
||||
|
||||
public void sync(@Valid @NotNull Long id) {
|
||||
Ad ad = adService.getById(id);
|
||||
VUtil.trueThrowBusinessError(Objects.isNull(ad)).throwMessage("数据不存在");
|
||||
departmentControllerService.syncFromLdap(Convert.convert(AdDTO.class, ad));
|
||||
}
|
||||
|
||||
public IPage<Ad> search(@Valid PageQO request) {
|
||||
return adService.search(request);
|
||||
}
|
||||
|
||||
public Boolean check(@Valid LDAPAddQO request) {
|
||||
LdapService ldapService = new LdapService();
|
||||
ldapService.init(request.getServer(), request.getPort(), request.getUserName(), request.getUserPwd(), request.getOu(), request.getTimeout());
|
||||
return ldapService.check();
|
||||
}
|
||||
}
|
||||
|
|
@ -6,6 +6,7 @@ import com.nflg.wms.common.pojo.PageData;
|
|||
import com.nflg.wms.common.pojo.qo.*;
|
||||
import com.nflg.wms.common.pojo.vo.RoleSimpleVO;
|
||||
import com.nflg.wms.common.pojo.vo.UserSupplierVO;
|
||||
import com.nflg.wms.repository.entity.DictionaryItem;
|
||||
import com.nflg.wms.starter.BaseController;
|
||||
import jakarta.annotation.Resource;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
|
|
@ -29,6 +30,15 @@ public class SupplierController extends BaseController {
|
|||
@Resource
|
||||
private UserControllerService userControllerService;
|
||||
|
||||
|
||||
/**
|
||||
* 获取供应商类别列表
|
||||
*/
|
||||
@GetMapping("/getTypeList")
|
||||
public ApiResult<List<DictionaryItem>> getTypeList(){
|
||||
return ApiResult.success(userControllerService.getTypeList());
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增供应商
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -3,8 +3,6 @@ package com.nflg.wms.admin.service;
|
|||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.nflg.wms.common.constant.STATE;
|
||||
import com.nflg.wms.common.exception.NflgException;
|
||||
import com.nflg.wms.common.pojo.PageData;
|
||||
|
|
@ -62,16 +60,11 @@ public class DictionaryControllerService {
|
|||
|
||||
/**
|
||||
* 搜索字典
|
||||
*
|
||||
* @param request 请求参数
|
||||
* @return 字典列表
|
||||
*/
|
||||
public PageData<DictionaryVO> searchDictionary(@RequestBody DictionarySearchQO request) {
|
||||
IPage<DictionaryVO> page = new Page<>();
|
||||
page.setCurrent(request.getPage());
|
||||
page.setSize(request.getPageSize());
|
||||
dictionaryService.search(request, page);
|
||||
return PageUtil.convert(page, d -> d);
|
||||
return PageUtil.convert(dictionaryService.search(request), d -> Convert.convert(DictionaryVO.class, d));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -12,18 +12,21 @@ import org.springframework.ldap.query.LdapQuery;
|
|||
import org.springframework.ldap.query.LdapQueryBuilder;
|
||||
import org.springframework.ldap.query.SearchScope;
|
||||
|
||||
import javax.naming.directory.DirContext;
|
||||
import java.util.*;
|
||||
|
||||
@Slf4j
|
||||
public class LdapService {
|
||||
|
||||
private LdapContextSource contextSource;
|
||||
|
||||
private LdapTemplate ldapTemplate;
|
||||
|
||||
private String baseDn;
|
||||
|
||||
public void init(String server, int port, String username, String password, String baseDn, int timeout) {
|
||||
this.baseDn = baseDn;
|
||||
LdapContextSource contextSource = new LdapContextSource();
|
||||
contextSource = new LdapContextSource();
|
||||
contextSource.setUrl("ldap://" + server + ":" + port);
|
||||
contextSource.setBase(baseDn);
|
||||
contextSource.setUserDn(username);
|
||||
|
|
@ -139,4 +142,23 @@ public class LdapService {
|
|||
log.info("获取用户信息完成");
|
||||
return users;
|
||||
}
|
||||
|
||||
public Boolean check() {
|
||||
DirContext ctx = null;
|
||||
try {
|
||||
// 获取连接,如果成功说明可连接
|
||||
ctx = contextSource.getReadOnlyContext();
|
||||
return true;
|
||||
} catch (Exception e) {
|
||||
log.error("LDAP 验证出错", e);
|
||||
return false;
|
||||
} finally {
|
||||
if (ctx != null) {
|
||||
try {
|
||||
ctx.close(); // 关闭连接
|
||||
} catch (Exception ignored) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -506,4 +506,8 @@ public class UserControllerService {
|
|||
.addSheet(new ListSheet<>(datas))
|
||||
.writeTo(response.getOutputStream());
|
||||
}
|
||||
|
||||
public List<DictionaryItem> getTypeList() {
|
||||
return dictionaryItemService.getListByDictionaryCode(Constant.DICTIONARY_SUPPLIERS_CATEGORY);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,22 +7,24 @@ import cn.dev33.satoken.stp.StpUtil;
|
|||
import cn.dev33.satoken.stp.parameter.SaLoginParameter;
|
||||
import com.nflg.wms.auth.service.LdapService;
|
||||
import com.nflg.wms.common.constant.Constant;
|
||||
import com.nflg.wms.common.constant.STATE;
|
||||
import com.nflg.wms.common.pojo.ApiResult;
|
||||
import com.nflg.wms.common.pojo.vo.ButtonVO;
|
||||
import com.nflg.wms.common.pojo.vo.MenuVO;
|
||||
import com.nflg.wms.common.pojo.vo.RoleVO;
|
||||
import com.nflg.wms.common.pojo.vo.UserLoginVO;
|
||||
import com.nflg.wms.common.util.UserUtil;
|
||||
import com.nflg.wms.common.util.VUtil;
|
||||
import com.nflg.wms.repository.entity.Ad;
|
||||
import com.nflg.wms.repository.entity.User;
|
||||
import com.nflg.wms.repository.service.IAdService;
|
||||
import com.nflg.wms.repository.service.IUserRoleMapService;
|
||||
import com.nflg.wms.repository.service.IUserService;
|
||||
import com.nflg.wms.repository.service.*;
|
||||
import jakarta.annotation.Resource;
|
||||
import jakarta.validation.Valid;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
|
||||
import org.springframework.security.crypto.password.PasswordEncoder;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
|
@ -46,6 +48,12 @@ public class SsoServerController {
|
|||
@Resource
|
||||
private IAdService adService;
|
||||
|
||||
@Resource
|
||||
private IRoleService roleService;
|
||||
|
||||
@Resource
|
||||
private IMenuService menuService;
|
||||
|
||||
/**
|
||||
* 登录
|
||||
*/
|
||||
|
|
@ -102,4 +110,26 @@ public class SsoServerController {
|
|||
.setRoles(roleCodes.stream().map(RoleVO::getName).collect(Collectors.toList())));
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取权限菜单
|
||||
* @param serviceId 服务id
|
||||
* @return 权限列表
|
||||
*/
|
||||
@GetMapping("getPermissionMenus")
|
||||
public ApiResult<List<MenuVO>> getPermissionMenus(@Valid @RequestParam @NotNull Long serviceId) {
|
||||
VUtil.trueThrow(!StpUtil.isLogin()).throwMessage(STATE.LoginError,"请重新登录");
|
||||
return ApiResult.success(roleService.getMenusByRoleCodes(serviceId, UserUtil.getUserId()));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取权限按钮
|
||||
* @param menuId 菜单id
|
||||
* @return 按钮列表
|
||||
*/
|
||||
@GetMapping("getPermissionButtons")
|
||||
public ApiResult<List<ButtonVO>> getPermissionButtons(@Valid @NotNull @RequestParam("menuId") Long menuId){
|
||||
VUtil.trueThrow(!StpUtil.isLogin()).throwMessage(STATE.LoginError,"请重新登录");
|
||||
return ApiResult.success(menuService.getButtonsByMenuId(UserUtil.getUserId(),menuId));
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
package com.nflg.wms.common.pojo.qo;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class LDAPAddQO {
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
@NotBlank
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 服务器地址
|
||||
*/
|
||||
@NotBlank
|
||||
private String server;
|
||||
|
||||
/**
|
||||
* 服务器端口
|
||||
*/
|
||||
@NotBlank
|
||||
private Integer port;
|
||||
|
||||
/**
|
||||
* 超时时间,单位秒
|
||||
*/
|
||||
@NotBlank
|
||||
private Short timeout;
|
||||
|
||||
/**
|
||||
* 账号
|
||||
*/
|
||||
@NotBlank
|
||||
private String userName;
|
||||
|
||||
/**
|
||||
* 密码
|
||||
*/
|
||||
@NotBlank
|
||||
private String userPwd;
|
||||
|
||||
/**
|
||||
* 是否启用
|
||||
*/
|
||||
@NotBlank
|
||||
private Boolean enable;
|
||||
|
||||
/**
|
||||
* 根节点
|
||||
*/
|
||||
@NotBlank
|
||||
private String ou;
|
||||
}
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
package com.nflg.wms.common.pojo.qo;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.NonNull;
|
||||
|
||||
@Data
|
||||
public class LDAPUpdateQO extends LDAPAddQO{
|
||||
|
||||
@NonNull
|
||||
private Long id;
|
||||
}
|
||||
|
|
@ -0,0 +1,66 @@
|
|||
package com.nflg.wms.common.pojo.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Data
|
||||
public class AdSyncVO {
|
||||
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 是否启用
|
||||
*/
|
||||
private Boolean enable;
|
||||
|
||||
/**
|
||||
* 同步对象
|
||||
*/
|
||||
private String mapFrom;
|
||||
|
||||
/**
|
||||
* 同步到
|
||||
*/
|
||||
private String mapTo;
|
||||
|
||||
/**
|
||||
* 同步周期,单位:天
|
||||
*/
|
||||
private Short interval;
|
||||
|
||||
/**
|
||||
* 同步方式 1:同步选中的对象及成员(包括上层的组织结构) 2:同步选中的对象及成员(不包括上层的组织结构) 3:只同步用户账号(不包括组织结构)
|
||||
*/
|
||||
private Short type;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 最后更新人
|
||||
*/
|
||||
private String updateBy;
|
||||
|
||||
/**
|
||||
* 最后更新时间
|
||||
*/
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
/**
|
||||
* AD域id
|
||||
*/
|
||||
private Long adId;
|
||||
|
||||
/**
|
||||
* 下次同步时间
|
||||
*/
|
||||
private String nextSyncDate;
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
package com.nflg.wms.common.pojo.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class ButtonVO {
|
||||
|
||||
// 按钮名称
|
||||
private String name;
|
||||
|
||||
// 按钮编码
|
||||
private String code;
|
||||
}
|
||||
|
|
@ -1,7 +1,10 @@
|
|||
package com.nflg.wms.common.pojo.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Data
|
||||
public class DictionaryVO {
|
||||
|
||||
private Long id;
|
||||
|
|
|
|||
|
|
@ -1,12 +1,14 @@
|
|||
package com.nflg.wms.common.pojo.vo;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class MenuVO {
|
||||
|
||||
private Long id;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package com.nflg.wms.repository.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
|
@ -56,6 +57,7 @@ public class FileUploadRecord implements Serializable {
|
|||
/**
|
||||
* 来源
|
||||
*/
|
||||
@TableField(value="`from`")
|
||||
private String from;
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -1,7 +1,10 @@
|
|||
package com.nflg.wms.repository.mapper;
|
||||
|
||||
import com.nflg.wms.repository.entity.Menu;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.nflg.wms.common.pojo.vo.ButtonVO;
|
||||
import com.nflg.wms.repository.entity.Menu;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
|
|
@ -13,4 +16,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|||
*/
|
||||
public interface MenuMapper extends BaseMapper<Menu> {
|
||||
|
||||
List<ButtonVO> getButtonsByMenuId(Long userId, Long menuId);
|
||||
|
||||
Boolean menuIsSelected(Long roleId, Long menuId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,9 +4,13 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.nflg.wms.common.pojo.qo.RoleSearchQO;
|
||||
import com.nflg.wms.common.pojo.vo.ButtonVO;
|
||||
import com.nflg.wms.common.pojo.vo.MenuVO;
|
||||
import com.nflg.wms.common.pojo.vo.RoleVO;
|
||||
import com.nflg.wms.repository.entity.Role;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 后台-角色 Mapper 接口
|
||||
|
|
@ -18,4 +22,8 @@ import com.nflg.wms.repository.entity.Role;
|
|||
public interface RoleMapper extends BaseMapper<Role> {
|
||||
|
||||
IPage<RoleVO> search(RoleSearchQO request, Page<?> objectPage);
|
||||
|
||||
List<MenuVO> getMenusByRoleCodes(Long serviceId, Long userId);
|
||||
|
||||
List<ButtonVO> getButtonsByMenuId(Long userId, Long menuId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,13 @@
|
|||
package com.nflg.wms.repository.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.nflg.wms.common.pojo.dto.AdDTO;
|
||||
import com.nflg.wms.common.pojo.qo.EnableQO;
|
||||
import com.nflg.wms.common.pojo.qo.PageQO;
|
||||
import com.nflg.wms.repository.entity.Ad;
|
||||
import jakarta.validation.Valid;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
|
@ -17,4 +22,14 @@ import java.util.List;
|
|||
public interface IAdService extends IService<Ad> {
|
||||
|
||||
List<AdDTO> getList();
|
||||
|
||||
void add(Ad ad);
|
||||
|
||||
void update(Ad ad);
|
||||
|
||||
void delete(@Valid @NotNull Long id);
|
||||
|
||||
void enable(@Valid EnableQO request);
|
||||
|
||||
IPage<Ad> search(@Valid PageQO request);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,10 @@
|
|||
package com.nflg.wms.repository.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.nflg.wms.common.pojo.vo.AdSyncVO;
|
||||
import com.nflg.wms.repository.entity.AdSync;
|
||||
import jakarta.validation.Valid;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
|
|
@ -13,4 +16,9 @@ import com.nflg.wms.repository.entity.AdSync;
|
|||
*/
|
||||
public interface IAdSyncService extends IService<AdSync> {
|
||||
|
||||
void deleteByAd(Long id);
|
||||
|
||||
AdSyncVO getByAd(@Valid @NotNull Long id);
|
||||
|
||||
void save(AdSyncVO request);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
|||
import com.nflg.wms.common.pojo.dto.DictionaryItemTranslateDTO;
|
||||
import com.nflg.wms.common.pojo.qo.DictionarySearchQO;
|
||||
import com.nflg.wms.common.pojo.qo.SaveDictionaryQO;
|
||||
import com.nflg.wms.common.pojo.vo.DictionaryVO;
|
||||
import com.nflg.wms.repository.entity.Dictionary;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
|
||||
|
|
@ -21,7 +20,7 @@ import java.util.List;
|
|||
*/
|
||||
public interface IDictionaryService extends IService<Dictionary> {
|
||||
|
||||
void search(DictionarySearchQO request, IPage<DictionaryVO> page);
|
||||
IPage<Dictionary> search(DictionarySearchQO request);
|
||||
|
||||
void save(SaveDictionaryQO request);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,15 +1,17 @@
|
|||
package com.nflg.wms.repository.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.nflg.wms.common.pojo.qo.EnableMenuQO;
|
||||
import com.nflg.wms.common.pojo.qo.MenuAddQO;
|
||||
import com.nflg.wms.common.pojo.qo.MenuSearchQO;
|
||||
import com.nflg.wms.common.pojo.qo.MenuUpdateQO;
|
||||
import com.nflg.wms.common.pojo.vo.ButtonVO;
|
||||
import com.nflg.wms.common.pojo.vo.MenuAuthorizeVO;
|
||||
import com.nflg.wms.common.pojo.vo.MenuVO;
|
||||
import com.nflg.wms.repository.entity.Menu;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import jakarta.validation.Valid;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
|
@ -34,4 +36,6 @@ public interface IMenuService extends IService<Menu> {
|
|||
void delete(@Valid List<Integer> ids);
|
||||
|
||||
void enableMenu(@Valid EnableMenuQO request);
|
||||
|
||||
List<ButtonVO> getButtonsByMenuId(Long userId, @Valid @NotNull Long menuId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,10 +6,14 @@ import com.nflg.wms.common.pojo.qo.EnableQO;
|
|||
import com.nflg.wms.common.pojo.qo.RoleAddQO;
|
||||
import com.nflg.wms.common.pojo.qo.RoleSearchQO;
|
||||
import com.nflg.wms.common.pojo.qo.RoleUpdateQO;
|
||||
import com.nflg.wms.common.pojo.vo.MenuVO;
|
||||
import com.nflg.wms.common.pojo.vo.RoleVO;
|
||||
import com.nflg.wms.repository.entity.Role;
|
||||
import jakarta.validation.Valid;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
|
|
@ -28,4 +32,6 @@ public interface IRoleService extends IService<Role> {
|
|||
IPage<RoleVO> search(@Valid RoleSearchQO request);
|
||||
|
||||
void enable(@Valid EnableQO request, String userName);
|
||||
|
||||
List<MenuVO> getMenusByRoleCodes(@Valid @NotNull Long serviceId, Long userId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,12 +1,22 @@
|
|||
package com.nflg.wms.repository.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.nflg.wms.common.pojo.dto.AdDTO;
|
||||
import com.nflg.wms.common.pojo.qo.EnableQO;
|
||||
import com.nflg.wms.common.pojo.qo.PageQO;
|
||||
import com.nflg.wms.common.util.UserUtil;
|
||||
import com.nflg.wms.repository.entity.Ad;
|
||||
import com.nflg.wms.repository.mapper.AdMapper;
|
||||
import com.nflg.wms.repository.service.IAdService;
|
||||
import com.nflg.wms.repository.service.IAdSyncService;
|
||||
import com.nflg.wms.repository.service.IAuditLogService;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
|
|
@ -20,8 +30,55 @@ import java.util.List;
|
|||
@Service
|
||||
public class AdServiceImpl extends ServiceImpl<AdMapper, Ad> implements IAdService {
|
||||
|
||||
@Resource
|
||||
private IAuditLogService auditLogService;
|
||||
|
||||
@Resource
|
||||
private IAdSyncService adSyncService;
|
||||
|
||||
@Override
|
||||
public List<AdDTO> getList() {
|
||||
return baseMapper.getList();
|
||||
}
|
||||
|
||||
@Transactional
|
||||
@Override
|
||||
public void add(Ad ad) {
|
||||
save(ad);
|
||||
auditLogService.addInsert(Ad.class,ad,ad.getCreateBy());
|
||||
}
|
||||
|
||||
@Transactional
|
||||
@Override
|
||||
public void update(Ad ad) {
|
||||
Ad old = getById(ad.getId());
|
||||
auditLogService.addUpdate(Ad.class, old, ad, ad.getUpdateBy());
|
||||
updateById(ad);
|
||||
}
|
||||
|
||||
@Transactional
|
||||
@Override
|
||||
public void delete(Long id) {
|
||||
Ad old = getById(id);
|
||||
removeById(id);
|
||||
adSyncService.deleteByAd(id);
|
||||
auditLogService.addDelete(Ad.class, old, UserUtil.getUserName());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void enable(EnableQO request) {
|
||||
Ad old = getById(request.getId());
|
||||
lambdaUpdate().set(Ad::getEnable, request.getEnable())
|
||||
.set(Ad::getUpdateBy, UserUtil.getUserName())
|
||||
.set(Ad::getUpdateTime, LocalDateTime.now())
|
||||
.eq(Ad::getId, request.getId())
|
||||
.update();
|
||||
Ad newAd = getById(request.getId());
|
||||
auditLogService.addUpdate(Ad.class, old, newAd, UserUtil.getUserName());
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage<Ad> search(PageQO request) {
|
||||
return lambdaQuery().page(new Page<>(request.getPage(), request.getPageSize()));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,10 +1,19 @@
|
|||
package com.nflg.wms.repository.service.impl;
|
||||
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.nflg.wms.common.pojo.vo.AdSyncVO;
|
||||
import com.nflg.wms.common.util.UserUtil;
|
||||
import com.nflg.wms.repository.entity.AdSync;
|
||||
import com.nflg.wms.repository.mapper.AdSyncMapper;
|
||||
import com.nflg.wms.repository.service.IAdSyncService;
|
||||
import com.nflg.wms.repository.service.IAuditLogService;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
|
|
@ -17,4 +26,52 @@ import org.springframework.stereotype.Service;
|
|||
@Service
|
||||
public class AdSyncServiceImpl extends ServiceImpl<AdSyncMapper, AdSync> implements IAdSyncService {
|
||||
|
||||
@Resource
|
||||
private IAuditLogService auditLogService;
|
||||
|
||||
@Transactional
|
||||
@Override
|
||||
public void deleteByAd(Long id) {
|
||||
AdSync adSync= lambdaQuery().eq(AdSync::getAdId, id).one();
|
||||
removeById(adSync);
|
||||
auditLogService.addDelete(AdSync.class, adSync, UserUtil.getUserName());
|
||||
}
|
||||
|
||||
@Override
|
||||
public AdSyncVO getByAd(Long id) {
|
||||
AdSync adSync = lambdaQuery().eq(AdSync::getAdId, id).one();
|
||||
return Convert.convert(AdSyncVO.class, adSync);
|
||||
}
|
||||
|
||||
@Transactional
|
||||
@Override
|
||||
public void save(AdSyncVO request) {
|
||||
if (Objects.isNull(request.getId())){
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Transactional
|
||||
protected void add(AdSyncVO request){
|
||||
AdSync adSync= Convert.convert(AdSync.class, request);
|
||||
save(adSync);
|
||||
auditLogService.addInsert(AdSync.class, adSync, UserUtil.getUserName());
|
||||
}
|
||||
|
||||
@Transactional
|
||||
protected void update(AdSyncVO request){
|
||||
AdSync old= getById(request.getId());
|
||||
lambdaUpdate()
|
||||
.set(AdSync::getEnable, request.getEnable())
|
||||
.set(AdSync::getMapFrom, request.getMapFrom())
|
||||
.set(AdSync::getMapTo, request.getMapTo())
|
||||
.set(AdSync::getInterval, request.getInterval())
|
||||
.set(AdSync::getType, request.getType())
|
||||
.set(AdSync::getUpdateBy, UserUtil.getUserName())
|
||||
.set(AdSync::getUpdateTime, LocalDateTime.now())
|
||||
.eq(AdSync::getId, request.getId())
|
||||
.update();
|
||||
AdSync newAdSync = getById(request.getId());
|
||||
auditLogService.addUpdate(AdSync.class, old, newAdSync, UserUtil.getUserName());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollectionUtil;
|
|||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.nflg.wms.common.pojo.dto.DictionaryItemTranslateDTO;
|
||||
import com.nflg.wms.common.pojo.qo.DictionarySearchQO;
|
||||
|
|
@ -50,7 +51,7 @@ public class DictionaryServiceImpl extends ServiceImpl<DictionaryMapper, Diction
|
|||
private ILanguageService languageService;
|
||||
|
||||
@Override
|
||||
public void search(DictionarySearchQO request, IPage page) {
|
||||
public IPage<Dictionary> search(DictionarySearchQO request) {
|
||||
LambdaQueryWrapper<Dictionary> queryWrapper = new LambdaQueryWrapper<>();
|
||||
if (StrUtil.isNotBlank(request.getName())) {
|
||||
queryWrapper.like(Dictionary::getName, request.getName());
|
||||
|
|
@ -59,7 +60,7 @@ public class DictionaryServiceImpl extends ServiceImpl<DictionaryMapper, Diction
|
|||
queryWrapper.like(Dictionary::getCode, request.getCode());
|
||||
}
|
||||
queryWrapper.orderByDesc(Dictionary::getId);
|
||||
baseMapper.selectPage(page, queryWrapper);
|
||||
return baseMapper.selectPage(new Page<>(request.getPage(), request.getPageSize()), queryWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -6,7 +6,12 @@ import cn.hutool.core.util.StrUtil;
|
|||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.nflg.wms.common.pojo.qo.*;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.nflg.wms.common.pojo.qo.EnableMenuQO;
|
||||
import com.nflg.wms.common.pojo.qo.MenuAddQO;
|
||||
import com.nflg.wms.common.pojo.qo.MenuSearchQO;
|
||||
import com.nflg.wms.common.pojo.qo.MenuUpdateQO;
|
||||
import com.nflg.wms.common.pojo.vo.ButtonVO;
|
||||
import com.nflg.wms.common.pojo.vo.MenuAuthorizeVO;
|
||||
import com.nflg.wms.common.pojo.vo.MenuVO;
|
||||
import com.nflg.wms.common.util.UserUtil;
|
||||
|
|
@ -14,13 +19,10 @@ import com.nflg.wms.common.util.VUtil;
|
|||
import com.nflg.wms.repository.entity.Menu;
|
||||
import com.nflg.wms.repository.entity.MenuButton;
|
||||
import com.nflg.wms.repository.entity.RoleButtonMap;
|
||||
import com.nflg.wms.repository.entity.RoleMenuMap;
|
||||
import com.nflg.wms.repository.mapper.MenuMapper;
|
||||
import com.nflg.wms.repository.service.IMenuButtonService;
|
||||
import com.nflg.wms.repository.service.IMenuService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.nflg.wms.repository.service.IRoleButtonMapService;
|
||||
import com.nflg.wms.repository.service.IRoleMenuMapService;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
|
@ -42,9 +44,6 @@ public class MenuServiceImpl extends ServiceImpl<MenuMapper, Menu> implements IM
|
|||
@Resource
|
||||
private IMenuButtonService menuButtonService;
|
||||
|
||||
@Resource
|
||||
private IRoleMenuMapService roleMenuMapService;
|
||||
|
||||
@Resource
|
||||
private IRoleButtonMapService roleButtonMapService;
|
||||
|
||||
|
|
@ -153,6 +152,11 @@ public class MenuServiceImpl extends ServiceImpl<MenuMapper, Menu> implements IM
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ButtonVO> getButtonsByMenuId(Long userId, Long menuId) {
|
||||
return baseMapper.getButtonsByMenuId(userId,menuId);
|
||||
}
|
||||
|
||||
private void disable(List<Long> ids){
|
||||
if (CollectionUtil.isNotEmpty(ids)) {
|
||||
lambdaUpdate()
|
||||
|
|
@ -243,10 +247,7 @@ public class MenuServiceImpl extends ServiceImpl<MenuMapper, Menu> implements IM
|
|||
}
|
||||
|
||||
private Boolean menuIsSelected(Long roleId, Long menuId) {
|
||||
return roleMenuMapService.lambdaQuery()
|
||||
.eq(RoleMenuMap::getMenuId, menuId)
|
||||
.eq(RoleMenuMap::getRoleId, roleId)
|
||||
.exists();
|
||||
return baseMapper.menuIsSelected(roleId,menuId);
|
||||
}
|
||||
|
||||
private List<MenuVO> getChildren(Long parentId) {
|
||||
|
|
|
|||
|
|
@ -8,17 +8,21 @@ import com.nflg.wms.common.pojo.qo.EnableQO;
|
|||
import com.nflg.wms.common.pojo.qo.RoleAddQO;
|
||||
import com.nflg.wms.common.pojo.qo.RoleSearchQO;
|
||||
import com.nflg.wms.common.pojo.qo.RoleUpdateQO;
|
||||
import com.nflg.wms.common.pojo.vo.MenuVO;
|
||||
import com.nflg.wms.common.pojo.vo.RoleVO;
|
||||
import com.nflg.wms.common.util.VUtil;
|
||||
import com.nflg.wms.repository.entity.Menu;
|
||||
import com.nflg.wms.repository.entity.Role;
|
||||
import com.nflg.wms.repository.mapper.RoleMapper;
|
||||
import com.nflg.wms.repository.service.IAuditLogService;
|
||||
import com.nflg.wms.repository.service.IMenuService;
|
||||
import com.nflg.wms.repository.service.IRoleService;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
|
|
@ -35,6 +39,9 @@ public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements IR
|
|||
@Resource
|
||||
private IAuditLogService auditLogService;
|
||||
|
||||
@Resource
|
||||
private IMenuService menuService;
|
||||
|
||||
@Transactional
|
||||
@Override
|
||||
public void add(RoleAddQO request, String userName) {
|
||||
|
|
@ -80,4 +87,24 @@ public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements IR
|
|||
updateById(role2);
|
||||
auditLogService.addUpdate(Role.class, role1, role2, userName);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MenuVO> getMenusByRoleCodes(Long serviceId, Long userId) {
|
||||
List<MenuVO> menus=baseMapper.getMenusByRoleCodes(serviceId,userId);
|
||||
for (int i = 0; i < menus.size(); i++) {
|
||||
MenuVO menu = menus.get(i);
|
||||
bindParent(menu, menus);
|
||||
}
|
||||
return menus;
|
||||
}
|
||||
|
||||
private void bindParent(MenuVO menu, List<MenuVO> datas) {
|
||||
if (!Objects.equals(0L, menu.getParentId())) {
|
||||
Menu mp = menuService.getById(menu.getParentId());
|
||||
if (datas.stream().noneMatch(d -> Objects.equals(d.getId(), mp.getId()))) {
|
||||
MenuVO m = new MenuVO().setId(mp.getId()).setName(mp.getName()).setShow(mp.getShow()).setUrl(mp.getUrl()).setComponent(mp.getComponent()).setParentId(mp.getParentId());
|
||||
datas.add(m);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,4 +2,21 @@
|
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.nflg.wms.repository.mapper.MenuMapper">
|
||||
|
||||
<select id="getButtonsByMenuId" resultType="com.nflg.wms.common.pojo.vo.ButtonVO">
|
||||
SELECT DISTINCT mb.name, mb.code
|
||||
FROM role r
|
||||
INNER JOIN role_button_map rbm ON r.id = rbm.role_id
|
||||
INNER JOIN admin_menu_button mb ON rbm.button_id = mb.id
|
||||
INNER JOIN user_role_map urm ON urm.role_id = r.id
|
||||
WHERE mb.enable = 1
|
||||
AND mb.menu_id = #{menuId}
|
||||
AND urm.user_id = #{userId}
|
||||
</select>
|
||||
|
||||
<select id="menuIsSelected" resultType="java.lang.Boolean">
|
||||
SELECT EXISTS(SELECT 1
|
||||
FROM role_menu_map
|
||||
WHERE menu_id = #{menuId}
|
||||
AND role_id = #{roleId})
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -11,4 +11,16 @@
|
|||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="getMenusByRoleCodes" resultType="com.nflg.wms.common.pojo.vo.MenuVO">
|
||||
SELECT DISTINCT m.id, m.name, m.url, m.component, m.parent_id AS "parentId", m.show
|
||||
FROM role r
|
||||
INNER JOIN role_menu_map rmm ON r.id = rmm.role_id
|
||||
INNER JOIN admin_menu m ON rmm.menu_id = m.id
|
||||
INNER JOIN user_role_map urm ON urm.role_id = r.id
|
||||
WHERE m.enable = 1
|
||||
AND r.enable = 1
|
||||
AND urm.user_id = #{userId}
|
||||
AND m.service_desc_id = #{serviceId}
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
|||
Loading…
Reference in New Issue