From a84f3f39b361f5cd7b577385552f8024360572b2 Mon Sep 17 00:00:00 2001 From: yijiegong Date: Sat, 14 Sep 2024 18:04:47 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=B7=E6=B1=82=E5=91=98=E5=B7=A5=E6=9D=83?= =?UTF-8?q?=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/StaffPermissionController.java | 25 ++++ .../dao/TbShopPermissionDao.java | 15 ++ .../dao/TbShopStaffPermissionDao.java | 15 ++ .../entity/TbShopPermission.java | 129 ++++++++++++++++++ .../entity/TbShopStaffPermission.java | 77 +++++++++++ .../service/TbShopPermissionService.java | 21 +++ .../service/TbShopStaffPermissionService.java | 15 ++ .../impl/TbShopPermissionServiceImpl.java | 46 +++++++ .../TbShopStaffPermissionServiceImpl.java | 21 +++ .../cashierservice/StaffPermissionTest.java | 22 +++ 10 files changed, 386 insertions(+) create mode 100644 src/main/java/com/chaozhanggui/system/cashierservice/controller/StaffPermissionController.java create mode 100644 src/main/java/com/chaozhanggui/system/cashierservice/dao/TbShopPermissionDao.java create mode 100644 src/main/java/com/chaozhanggui/system/cashierservice/dao/TbShopStaffPermissionDao.java create mode 100644 src/main/java/com/chaozhanggui/system/cashierservice/entity/TbShopPermission.java create mode 100644 src/main/java/com/chaozhanggui/system/cashierservice/entity/TbShopStaffPermission.java create mode 100644 src/main/java/com/chaozhanggui/system/cashierservice/service/TbShopPermissionService.java create mode 100644 src/main/java/com/chaozhanggui/system/cashierservice/service/TbShopStaffPermissionService.java create mode 100644 src/main/java/com/chaozhanggui/system/cashierservice/service/impl/TbShopPermissionServiceImpl.java create mode 100644 src/main/java/com/chaozhanggui/system/cashierservice/service/impl/TbShopStaffPermissionServiceImpl.java create mode 100644 src/test/java/com/chaozhanggui/system/cashierservice/StaffPermissionTest.java diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/controller/StaffPermissionController.java b/src/main/java/com/chaozhanggui/system/cashierservice/controller/StaffPermissionController.java new file mode 100644 index 0000000..98a2b89 --- /dev/null +++ b/src/main/java/com/chaozhanggui/system/cashierservice/controller/StaffPermissionController.java @@ -0,0 +1,25 @@ +package com.chaozhanggui.system.cashierservice.controller; + +import com.chaozhanggui.system.cashierservice.service.TbShopPermissionService; +import com.chaozhanggui.system.cashierservice.service.TbShopStaffPermissionService; +import com.chaozhanggui.system.cashierservice.sign.Result; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@Slf4j +@RequestMapping("staffPermission") +public class StaffPermissionController { + + @Autowired + private TbShopPermissionService permissionService; + + @GetMapping + public Result getStaffPermission(String staffId, String code) { + return permissionService.getStaffPermission(staffId, code); + } + +} diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbShopPermissionDao.java b/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbShopPermissionDao.java new file mode 100644 index 0000000..664e64c --- /dev/null +++ b/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbShopPermissionDao.java @@ -0,0 +1,15 @@ +package com.chaozhanggui.system.cashierservice.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.chaozhanggui.system.cashierservice.entity.TbShopPermission; + +/** + * (TbShopPermission)表数据库访问层 + * + * @author makejava + * @since 2024-09-14 17:08:48 + */ +public interface TbShopPermissionDao extends BaseMapper { + +} + diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbShopStaffPermissionDao.java b/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbShopStaffPermissionDao.java new file mode 100644 index 0000000..a536686 --- /dev/null +++ b/src/main/java/com/chaozhanggui/system/cashierservice/dao/TbShopStaffPermissionDao.java @@ -0,0 +1,15 @@ +package com.chaozhanggui.system.cashierservice.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.chaozhanggui.system.cashierservice.entity.TbShopStaffPermission; + +/** + * 店铺员工权限关联表(TbShopStaffPermission)表数据库访问层 + * + * @author makejava + * @since 2024-09-14 17:07:33 + */ +public interface TbShopStaffPermissionDao extends BaseMapper { + +} + diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbShopPermission.java b/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbShopPermission.java new file mode 100644 index 0000000..380a643 --- /dev/null +++ b/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbShopPermission.java @@ -0,0 +1,129 @@ +package com.chaozhanggui.system.cashierservice.entity; + +import java.util.Date; + +import com.baomidou.mybatisplus.extension.activerecord.Model; + +import java.io.Serializable; + +/** + * (TbShopPermission)表实体类 + * + * @author makejava + * @since 2024-09-14 17:08:48 + */ +@SuppressWarnings("serial") +public class TbShopPermission extends Model { + + private Integer id; + //权限类型:staff 员工, + private String type; + //权限名称 + private String label; + //权限code,为了区分采用汉语拼音 + private String code; + //层级 + private Integer level; + //上级ID + private Integer parentId; + //是否重要: 重要对应页面红色 + private Integer isImportant; + //排序 + private Integer sort; + + private Date createTime; + + private Date updateTime; + + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getLabel() { + return label; + } + + public void setLabel(String label) { + this.label = label; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public Integer getLevel() { + return level; + } + + public void setLevel(Integer level) { + this.level = level; + } + + public Integer getParentId() { + return parentId; + } + + public void setParentId(Integer parentId) { + this.parentId = parentId; + } + + public Integer getIsImportant() { + return isImportant; + } + + public void setIsImportant(Integer isImportant) { + this.isImportant = isImportant; + } + + public Integer getSort() { + return sort; + } + + public void setSort(Integer sort) { + this.sort = sort; + } + + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + public Date getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Date updateTime) { + this.updateTime = updateTime; + } + + /** + * 获取主键值 + * + * @return 主键值 + */ + @Override + protected Serializable pkVal() { + return this.id; + } +} + diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbShopStaffPermission.java b/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbShopStaffPermission.java new file mode 100644 index 0000000..46c4a31 --- /dev/null +++ b/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbShopStaffPermission.java @@ -0,0 +1,77 @@ +package com.chaozhanggui.system.cashierservice.entity; + +import com.baomidou.mybatisplus.extension.activerecord.Model; + +import java.io.Serializable; + +/** + * 店铺员工权限关联表(TbShopStaffPermission)表实体类 + * + * @author makejava + * @since 2024-09-14 17:07:33 + */ +@SuppressWarnings("serial") +public class TbShopStaffPermission extends Model { + + private Integer id; + //权限ID + private Integer permissionId; + //员工ID + private Integer staffId; + //店铺ID + private Integer shopId; + //用户ID + private Integer userId; + + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public Integer getPermissionId() { + return permissionId; + } + + public void setPermissionId(Integer permissionId) { + this.permissionId = permissionId; + } + + public Integer getStaffId() { + return staffId; + } + + public void setStaffId(Integer staffId) { + this.staffId = staffId; + } + + public Integer getShopId() { + return shopId; + } + + public void setShopId(Integer shopId) { + this.shopId = shopId; + } + + public Integer getUserId() { + return userId; + } + + public void setUserId(Integer userId) { + this.userId = userId; + } + + /** + * 获取主键值 + * + * @return 主键值 + */ + @Override + protected Serializable pkVal() { + return this.id; + } +} + diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/TbShopPermissionService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/TbShopPermissionService.java new file mode 100644 index 0000000..9fb6a38 --- /dev/null +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/TbShopPermissionService.java @@ -0,0 +1,21 @@ +package com.chaozhanggui.system.cashierservice.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.chaozhanggui.system.cashierservice.entity.TbShopPermission; +import com.chaozhanggui.system.cashierservice.sign.Result; + +/** + * (TbShopPermission)表服务接口 + * + * @author makejava + * @since 2024-09-14 17:08:48 + */ +public interface TbShopPermissionService extends IService { + + /** + * 查询员工是否拥有某个权限 + */ + Result getStaffPermission(String staffId, String code); + +} + diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/TbShopStaffPermissionService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/TbShopStaffPermissionService.java new file mode 100644 index 0000000..e6da0ac --- /dev/null +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/TbShopStaffPermissionService.java @@ -0,0 +1,15 @@ +package com.chaozhanggui.system.cashierservice.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.chaozhanggui.system.cashierservice.entity.TbShopStaffPermission; + +/** + * 店铺员工权限关联表(TbShopStaffPermission)表服务接口 + * + * @author makejava + * @since 2024-09-14 17:07:33 + */ +public interface TbShopStaffPermissionService extends IService { + +} + diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/impl/TbShopPermissionServiceImpl.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/impl/TbShopPermissionServiceImpl.java new file mode 100644 index 0000000..686eac0 --- /dev/null +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/impl/TbShopPermissionServiceImpl.java @@ -0,0 +1,46 @@ +package com.chaozhanggui.system.cashierservice.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.chaozhanggui.system.cashierservice.dao.TbShopPermissionDao; +import com.chaozhanggui.system.cashierservice.entity.TbShopPermission; +import com.chaozhanggui.system.cashierservice.entity.TbShopStaffPermission; +import com.chaozhanggui.system.cashierservice.service.TbShopPermissionService; +import com.chaozhanggui.system.cashierservice.service.TbShopStaffPermissionService; +import com.chaozhanggui.system.cashierservice.sign.CodeEnum; +import com.chaozhanggui.system.cashierservice.sign.Result; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Primary; +import org.springframework.stereotype.Service; + +/** + * (TbShopPermission)表服务实现类 + * + * @author makejava + * @since 2024-09-14 17:08:49 + */ +@Service +@Primary +public class TbShopPermissionServiceImpl extends ServiceImpl implements TbShopPermissionService { + + @Autowired + private TbShopStaffPermissionService shopStaffPermissionService; + + @Override + public Result getStaffPermission(String staffId, String code) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("code", code); + TbShopPermission permission = this.getOne(queryWrapper); + if (permission == null) { + return Result.fail("权限不存在"); + } + + QueryWrapper staffPermissionQueryWrapper = new QueryWrapper<>(); + staffPermissionQueryWrapper.eq("staff_id", staffId); + staffPermissionQueryWrapper.eq("permission_id", permission.getId()); + TbShopStaffPermission staffPermission = shopStaffPermissionService.getOne(staffPermissionQueryWrapper); + + return Result.success(CodeEnum.SUCCESS, staffPermission != null); + } +} + diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/impl/TbShopStaffPermissionServiceImpl.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/impl/TbShopStaffPermissionServiceImpl.java new file mode 100644 index 0000000..19af549 --- /dev/null +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/impl/TbShopStaffPermissionServiceImpl.java @@ -0,0 +1,21 @@ +package com.chaozhanggui.system.cashierservice.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.chaozhanggui.system.cashierservice.dao.TbShopStaffPermissionDao; +import com.chaozhanggui.system.cashierservice.entity.TbShopStaffPermission; +import com.chaozhanggui.system.cashierservice.service.TbShopStaffPermissionService; +import org.springframework.context.annotation.Primary; +import org.springframework.stereotype.Service; + +/** + * 店铺员工权限关联表(TbShopStaffPermission)表服务实现类 + * + * @author makejava + * @since 2024-09-14 17:07:33 + */ +@Service +@Primary +public class TbShopStaffPermissionServiceImpl extends ServiceImpl implements TbShopStaffPermissionService { + +} + diff --git a/src/test/java/com/chaozhanggui/system/cashierservice/StaffPermissionTest.java b/src/test/java/com/chaozhanggui/system/cashierservice/StaffPermissionTest.java new file mode 100644 index 0000000..302aed4 --- /dev/null +++ b/src/test/java/com/chaozhanggui/system/cashierservice/StaffPermissionTest.java @@ -0,0 +1,22 @@ +package com.chaozhanggui.system.cashierservice; + +import com.chaozhanggui.system.cashierservice.service.TbShopPermissionService; +import com.chaozhanggui.system.cashierservice.sign.Result; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.ActiveProfiles; + +@ActiveProfiles("dev") +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class StaffPermissionTest { + @Autowired + private TbShopPermissionService tbShopPermissionService; + @Test + public void testStaffPermission() { + + Result yunXuTuiKuan = tbShopPermissionService.getStaffPermission("128", "yun_xu_tui_kuan2"); + System.out.println(yunXuTuiKuan); + + } +}