diff --git a/play-admin/pom.xml b/play-admin/pom.xml
index 16cad1d..8320fa4 100644
--- a/play-admin/pom.xml
+++ b/play-admin/pom.xml
@@ -62,12 +62,37 @@
org.springframework.boot
spring-boot-starter-data-redis
+
+
- com.starry
- play-weichat
- 1.0
- compile
+ com.github.binarywang
+ weixin-java-common
+
+
+ com.github.binarywang
+ weixin-java-mp
+
+
+
+ com.github.binarywang
+ weixin-java-miniapp
+
+
+
+
+ com.github.binarywang
+ weixin-java-pay
+
+
+ guava
+ com.google.guava
+
+
+
+
+
+
\ No newline at end of file
diff --git a/play-admin/src/main/java/com/starry/admin/common/aspect/DataScopeAspect.java b/play-admin/src/main/java/com/starry/admin/common/aspect/DataScopeAspect.java
index 967dd92..71a2517 100644
--- a/play-admin/src/main/java/com/starry/admin/common/aspect/DataScopeAspect.java
+++ b/play-admin/src/main/java/com/starry/admin/common/aspect/DataScopeAspect.java
@@ -6,7 +6,7 @@ import com.starry.admin.modules.system.entity.SysRoleEntity;
import com.starry.admin.modules.system.entity.SysUserEntity;
import com.starry.admin.utils.SecurityUtils;
import com.starry.common.annotation.DataScope;
-import com.starry.common.context.SecurityContextHolder;
+import com.starry.common.context.CustomSecurityContextHolder;
import com.starry.common.domain.BaseEntity;
import com.starry.common.utils.StringUtils;
import org.aspectj.lang.JoinPoint;
@@ -125,7 +125,7 @@ public class DataScopeAspect {
SysUserEntity currentUser = loginUser.getUser();
// 如果是超级管理员,则不过滤数据
if (StringUtils.isNotNull(currentUser) && !currentUser.isAdmin()) {
- String permission = StringUtils.defaultIfEmpty(controllerDataScope.permission(), SecurityContextHolder.getPermission());
+ String permission = StringUtils.defaultIfEmpty(controllerDataScope.permission(), CustomSecurityContextHolder.getPermission());
dataScopeFilter(joinPoint, currentUser, controllerDataScope.deptAlias(),
controllerDataScope.userAlias(), permission);
}
diff --git a/play-admin/src/main/java/com/starry/admin/common/component/JwtToken.java b/play-admin/src/main/java/com/starry/admin/common/component/JwtToken.java
index d844190..a69fee3 100644
--- a/play-admin/src/main/java/com/starry/admin/common/component/JwtToken.java
+++ b/play-admin/src/main/java/com/starry/admin/common/component/JwtToken.java
@@ -9,6 +9,7 @@ import com.starry.admin.common.security.entity.JwtUser;
import com.starry.common.constant.CacheConstants;
import com.starry.common.constant.Constants;
import com.starry.common.constant.SecurityConstants;
+import com.starry.common.context.CustomSecurityContextHolder;
import com.starry.common.redis.RedisCache;
import com.starry.common.utils.ServletUtils;
import com.starry.common.utils.StringUtils;
@@ -312,8 +313,8 @@ public class JwtToken {
String uuid = (String) claims.get(SecurityConstants.USER_KEY);
String userKey = getTokenKey(uuid);
LoginUser loginUser = redisCache.getCacheObject(userKey);
- com.starry.common.context.SecurityContextHolder.set(SecurityConstants.DETAILS_TENANT_ID, loginUser.getUser().getTenantId());
- com.starry.common.context.SecurityContextHolder.set(SecurityConstants.LOGIN_USER, loginUser);
+ CustomSecurityContextHolder.set(SecurityConstants.DETAILS_TENANT_ID, loginUser.getUser().getTenantId());
+ CustomSecurityContextHolder.set(SecurityConstants.LOGIN_USER, loginUser);
return loginUser;
} catch (Exception e) {
diff --git a/play-admin/src/main/java/com/starry/admin/common/component/PermissionService.java b/play-admin/src/main/java/com/starry/admin/common/component/PermissionService.java
index fdd8d0c..451a4cd 100644
--- a/play-admin/src/main/java/com/starry/admin/common/component/PermissionService.java
+++ b/play-admin/src/main/java/com/starry/admin/common/component/PermissionService.java
@@ -27,7 +27,7 @@ public class PermissionService {
*/
private static final String SUPER_ADMIN = "admin";
- private static final String ROLE_DELIMETER = ",";
+ private static final String ROLE_DELIMITER = ",";
private static final String PERMISSION_DELIMETER = ",";
@@ -37,7 +37,7 @@ public class PermissionService {
* @param permission 权限字符串
* @return 用户是否具备某权限
*/
- public boolean hasPermi(String permission) {
+ public boolean hasPermission(String permission) {
if (StringUtils.isEmpty(permission)) {
return false;
}
@@ -49,13 +49,13 @@ public class PermissionService {
}
/**
- * 验证用户是否不具备某权限,与 hasPermi逻辑相反
+ * 验证用户是否不具备某权限,与 hasPermission逻辑相反
*
* @param permission 权限字符串
* @return 用户是否不具备某权限
*/
- public boolean lacksPermi(String permission) {
- return hasPermi(permission) != true;
+ public boolean lacksPermission(String permission) {
+ return hasPermission(permission) != true;
}
/**
@@ -64,7 +64,7 @@ public class PermissionService {
* @param permissions 以 PERMISSION_NAMES_DELIMETER 为分隔符的权限列表
* @return 用户是否具有以下任意一个权限
*/
- public boolean hasAnyPermi(String permissions) {
+ public boolean hasAnyPermission(String permissions) {
if (StringUtils.isEmpty(permissions)) {
return false;
}
@@ -111,13 +111,13 @@ public class PermissionService {
* @return 用户是否不具备某角色
*/
public boolean lacksRole(String role) {
- return hasRole(role) != true;
+ return !hasRole(role);
}
/**
* 验证用户是否具有以下任意一个角色
*
- * @param roles 以 ROLE_NAMES_DELIMETER 为分隔符的角色列表
+ * @param roles 以 ROLE_NAMES_DELIMITER 为分隔符的角色列表
* @return 用户是否具有以下任意一个角色
*/
public boolean hasAnyRoles(String roles) {
@@ -128,7 +128,7 @@ public class PermissionService {
if (loginUser == null || CollectionUtils.isEmpty(loginUser.getUser().getRoles())) {
return false;
}
- for (String role : roles.split(ROLE_DELIMETER)) {
+ for (String role : roles.split(ROLE_DELIMITER)) {
if (hasRole(role)) {
return true;
}
diff --git a/play-admin/src/main/java/com/starry/admin/common/mybatis/handler/MyTenantLineHandler.java b/play-admin/src/main/java/com/starry/admin/common/mybatis/handler/MyTenantLineHandler.java
index 0b48b22..470ecc1 100644
--- a/play-admin/src/main/java/com/starry/admin/common/mybatis/handler/MyTenantLineHandler.java
+++ b/play-admin/src/main/java/com/starry/admin/common/mybatis/handler/MyTenantLineHandler.java
@@ -1,5 +1,6 @@
package com.starry.admin.common.mybatis.handler;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.plugins.handler.TenantLineHandler;
import com.starry.admin.utils.SecurityUtils;
import com.starry.common.utils.StringUtils;
@@ -33,8 +34,8 @@ public class MyTenantLineHandler implements TenantLineHandler {
@Override
public Expression getTenantId() {
// 取出当前请求的服务商ID,通过解析器注入到SQL中。
- Long tenantId = SecurityUtils.getTenantId();
- if (tenantId == null) {
+ String tenantId = SecurityUtils.getTenantId();
+ if (StrUtil.isBlankIfStr(tenantId)) {
return new NullValue();
}
return new LongValue(tenantId);
diff --git a/play-admin/src/main/java/com/starry/admin/modules/commodity/controller/CommodityInfoController.java b/play-admin/src/main/java/com/starry/admin/modules/commodity/controller/CommodityInfoController.java
new file mode 100644
index 0000000..57dec0a
--- /dev/null
+++ b/play-admin/src/main/java/com/starry/admin/modules/commodity/controller/CommodityInfoController.java
@@ -0,0 +1,85 @@
+package com.starry.admin.modules.commodity.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.starry.admin.modules.commodity.module.entity.CommodityInfoEntity;
+import com.starry.admin.modules.commodity.service.ICommodityInfoService;
+import com.starry.common.annotation.Log;
+import com.starry.common.enums.BusinessType;
+import com.starry.common.result.R;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+
+
+/**
+ * 商品Controller
+ *
+ * @author admin
+ * @since 2024-03-22
+ */
+@RestController
+@RequestMapping("/commodity/info")
+public class CommodityInfoController {
+ @Resource
+ private ICommodityInfoService commodityInfoService;
+
+ /**
+ * 查询商品列表
+ */
+ @PreAuthorize("@customSs.hasPermission('commodity:info:list')")
+ @GetMapping("/list")
+ public R list(CommodityInfoEntity commodityInfo) {
+ IPage list = commodityInfoService.selectCommodityInfoByPage(commodityInfo);
+ return R.ok(list);
+ }
+
+
+ /**
+ * 获取商品详细信息
+ */
+ @PreAuthorize("@customSs.hasPermission('commodity:info:query')")
+ @GetMapping(value = "/{id}")
+ public R getInfo(@PathVariable("id") String id) {
+ return R.ok(commodityInfoService.selectCommodityInfoEntityById(id));
+ }
+
+ /**
+ * 新增商品
+ */
+ @PreAuthorize("@customSs.hasPermission('commodity:info:create')")
+ @Log(title = "商品", businessType = BusinessType.INSERT)
+ @PostMapping("/create")
+ public R create(@RequestBody CommodityInfoEntity commodityInfo) {
+ boolean success = commodityInfoService.create(commodityInfo);
+ if (success) {
+ return R.ok();
+ }
+ return R.error("添加失败");
+ }
+
+ /**
+ * 修改商品
+ */
+ @PreAuthorize("@customSs.hasPermission('commodity:info:edit')")
+ @Log(title = "商品", businessType = BusinessType.UPDATE)
+ @PostMapping(value = "/update/{id}")
+ public R update(@PathVariable String id, @RequestBody CommodityInfoEntity commodityInfo) {
+ commodityInfo.setId(id);
+ boolean success = commodityInfoService.update(commodityInfo);
+ if (success) {
+ return R.ok();
+ }
+ return R.error("修改失败");
+ }
+
+ /**
+ * 删除商品
+ */
+ @PreAuthorize("@customSs.hasPermission('commodity:info:remove')")
+ @Log(title = "商品", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public R remove(@PathVariable String[] ids) {
+ return R.ok(commodityInfoService.deleteCommodityInfoEntityByIds(ids));
+ }
+}
diff --git a/play-admin/src/main/java/com/starry/admin/modules/commodity/mapper/CommodityInfoMapper.java b/play-admin/src/main/java/com/starry/admin/modules/commodity/mapper/CommodityInfoMapper.java
new file mode 100644
index 0000000..b604b17
--- /dev/null
+++ b/play-admin/src/main/java/com/starry/admin/modules/commodity/mapper/CommodityInfoMapper.java
@@ -0,0 +1,16 @@
+package com.starry.admin.modules.commodity.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.starry.admin.modules.commodity.module.entity.CommodityInfoEntity;
+
+
+/**
+ * 商品Mapper接口
+ *
+ * @author admin
+ * @since 2024-03-22
+ */
+public interface CommodityInfoMapper extends BaseMapper {
+
+
+}
diff --git a/play-admin/src/main/java/com/starry/admin/modules/commodity/module/entity/CommodityInfoEntity.java b/play-admin/src/main/java/com/starry/admin/modules/commodity/module/entity/CommodityInfoEntity.java
new file mode 100644
index 0000000..77fe4ca
--- /dev/null
+++ b/play-admin/src/main/java/com/starry/admin/modules/commodity/module/entity/CommodityInfoEntity.java
@@ -0,0 +1,24 @@
+package com.starry.admin.modules.commodity.module.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.starry.common.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("commodity_info")
+public class CommodityInfoEntity extends BaseEntity {
+
+ /**
+ * UUID
+ */
+ private String id;
+
+ /**
+ * 价格
+ */
+ private String money;
+
+
+}
\ No newline at end of file
diff --git a/play-admin/src/main/java/com/starry/admin/modules/commodity/service/ICommodityInfoService.java b/play-admin/src/main/java/com/starry/admin/modules/commodity/service/ICommodityInfoService.java
new file mode 100644
index 0000000..612cf2c
--- /dev/null
+++ b/play-admin/src/main/java/com/starry/admin/modules/commodity/service/ICommodityInfoService.java
@@ -0,0 +1,62 @@
+package com.starry.admin.modules.commodity.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.starry.admin.modules.commodity.module.entity.CommodityInfoEntity;
+
+
+/**
+ * 商品Service接口
+ *
+ * @author admin
+ * @since 2024-03-22
+ */
+public interface ICommodityInfoService extends IService {
+ /**
+ * 查询商品
+ *
+ * @param id 商品主键
+ * @return 商品
+ */
+ CommodityInfoEntity selectCommodityInfoEntityById(String id);
+
+ /**
+ * 查询商品列表
+ *
+ * @param CommodityInfoEntity 商品
+ * @return 商品集合
+ */
+ IPage selectCommodityInfoByPage(CommodityInfoEntity CommodityInfoEntity);
+
+ /**
+ * 新增商品
+ *
+ * @param CommodityInfoEntity 商品
+ * @return 结果
+ */
+ boolean create(CommodityInfoEntity CommodityInfoEntity);
+
+ /**
+ * 修改商品
+ *
+ * @param CommodityInfoEntity 商品
+ * @return 结果
+ */
+ boolean update(CommodityInfoEntity CommodityInfoEntity);
+
+ /**
+ * 批量删除商品
+ *
+ * @param ids 需要删除的商品主键集合
+ * @return 结果
+ */
+ int deleteCommodityInfoEntityByIds(String[] ids);
+
+ /**
+ * 删除商品信息
+ *
+ * @param id 商品主键
+ * @return 结果
+ */
+ int deleteCommodityInfoEntityById(String id);
+}
diff --git a/play-admin/src/main/java/com/starry/admin/modules/commodity/service/impl/CommodityInfoServiceImpl.java b/play-admin/src/main/java/com/starry/admin/modules/commodity/service/impl/CommodityInfoServiceImpl.java
new file mode 100644
index 0000000..10b53ed
--- /dev/null
+++ b/play-admin/src/main/java/com/starry/admin/modules/commodity/service/impl/CommodityInfoServiceImpl.java
@@ -0,0 +1,92 @@
+package com.starry.admin.modules.commodity.service.impl;
+
+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.starry.admin.modules.commodity.mapper.CommodityInfoMapper;
+import com.starry.admin.modules.commodity.module.entity.CommodityInfoEntity;
+import com.starry.admin.modules.commodity.service.ICommodityInfoService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.Arrays;
+
+/**
+ * 商品Service业务层处理
+ *
+ * @author admin
+ * @since 2024-03-22
+ */
+@Service
+public class CommodityInfoServiceImpl extends ServiceImpl implements ICommodityInfoService {
+ @Resource
+ private CommodityInfoMapper CommodityInfoMapper;
+
+ /**
+ * 查询商品
+ *
+ * @param id 商品主键
+ * @return 商品
+ */
+ @Override
+ public CommodityInfoEntity selectCommodityInfoEntityById(String id) {
+ return this.baseMapper.selectById(id);
+ }
+
+ /**
+ * 查询商品列表
+ *
+ * @param CommodityInfoEntity 商品
+ * @return 商品
+ */
+ @Override
+ public IPage selectCommodityInfoByPage(CommodityInfoEntity CommodityInfoEntity) {
+ Page page = new Page<>(1, 10);
+ return this.baseMapper.selectPage(page, new LambdaQueryWrapper());
+ }
+
+ /**
+ * 新增商品
+ *
+ * @param CommodityInfoEntity 商品
+ * @return 结果
+ */
+ @Override
+ public boolean create(CommodityInfoEntity CommodityInfoEntity) {
+ return save(CommodityInfoEntity);
+ }
+
+ /**
+ * 修改商品
+ *
+ * @param CommodityInfoEntity 商品
+ * @return 结果
+ */
+ @Override
+ public boolean update(CommodityInfoEntity CommodityInfoEntity) {
+ return updateById(CommodityInfoEntity);
+ }
+
+ /**
+ * 批量删除商品
+ *
+ * @param ids 需要删除的商品主键
+ * @return 结果
+ */
+ @Override
+ public int deleteCommodityInfoEntityByIds(String[] ids) {
+ return CommodityInfoMapper.deleteBatchIds(Arrays.asList(ids));
+ }
+
+ /**
+ * 删除商品信息
+ *
+ * @param id 商品主键
+ * @return 结果
+ */
+ @Override
+ public int deleteCommodityInfoEntityById(String id) {
+ return CommodityInfoMapper.deleteById(id);
+ }
+}
diff --git a/play-admin/src/main/java/com/starry/admin/modules/coupon/controller/CouponInfoController.java b/play-admin/src/main/java/com/starry/admin/modules/coupon/controller/CouponInfoController.java
new file mode 100644
index 0000000..5ec3c51
--- /dev/null
+++ b/play-admin/src/main/java/com/starry/admin/modules/coupon/controller/CouponInfoController.java
@@ -0,0 +1,85 @@
+package com.starry.admin.modules.coupon.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.starry.admin.modules.coupon.module.entity.CouponInfoEntity;
+import com.starry.admin.modules.coupon.service.ICouponInfoService;
+import com.starry.common.annotation.Log;
+import com.starry.common.enums.BusinessType;
+import com.starry.common.result.R;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+
+/**
+ * 商品Controller
+ *
+ * @author admin
+ * @since 2024-03-22
+ */
+@RestController
+@RequestMapping("/coupon/info")
+public class CouponInfoController {
+ @Resource
+ private ICouponInfoService couponInfoService;
+
+ /**
+ * 查询商品列表
+ */
+ @PreAuthorize("@customSs.hasPermission('coupon/infolist')")
+ @GetMapping("/list")
+ public R list(CouponInfoEntity couponInfo) {
+
+ IPage list = couponInfoService.selectCouponInfoByPage(couponInfo);
+ return R.ok(list);
+ }
+
+
+ /**
+ * 获取商品详细信息
+ */
+ @PreAuthorize("@customSs.hasPermission('coupon/infoquery')")
+ @GetMapping(value = "/{id}")
+ public R getInfo(@PathVariable("id") String id) {
+ return R.ok(couponInfoService.selectCouponInfoById(id));
+ }
+
+ /**
+ * 新增商品
+ */
+ @PreAuthorize("@customSs.hasPermission('coupon/infocreate')")
+ @Log(title = "商品", businessType = BusinessType.INSERT)
+ @PostMapping("/create")
+ public R create(@RequestBody CouponInfoEntity couponInfo) {
+ boolean success = couponInfoService.create(couponInfo);
+ if (success) {
+ return R.ok();
+ }
+ return R.error("添加失败");
+ }
+
+ /**
+ * 修改商品
+ */
+ @PreAuthorize("@customSs.hasPermission('coupon/infoedit')")
+ @Log(title = "商品", businessType = BusinessType.UPDATE)
+ @PostMapping(value = "/update/{id}")
+ public R update(@PathVariable String id, @RequestBody CouponInfoEntity couponInfo) {
+ couponInfo.setId(id);
+ boolean success = couponInfoService.update(couponInfo);
+ if (success) {
+ return R.ok();
+ }
+ return R.error("修改失败");
+ }
+
+ /**
+ * 删除商品
+ */
+ @PreAuthorize("@customSs.hasPermission('coupon/inforemove')")
+ @Log(title = "商品", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public R remove(@PathVariable String[] ids) {
+ return R.ok(couponInfoService.deleteCouponInfoByIds(ids));
+ }
+}
diff --git a/play-admin/src/main/java/com/starry/admin/modules/coupon/mapper/CouponInfoMapper.java b/play-admin/src/main/java/com/starry/admin/modules/coupon/mapper/CouponInfoMapper.java
new file mode 100644
index 0000000..9fdf8a4
--- /dev/null
+++ b/play-admin/src/main/java/com/starry/admin/modules/coupon/mapper/CouponInfoMapper.java
@@ -0,0 +1,29 @@
+package com.starry.admin.modules.coupon.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.starry.admin.modules.coupon.module.entity.CouponInfoEntity;
+
+import java.util.List;
+
+/**
+ * 商品Mapper接口
+ *
+ * @author admin
+ * @since 2024-03-22
+ */
+public interface CouponInfoMapper extends BaseMapper {
+ /**
+ * 查询商品
+ * @param id 商品主键
+ * @return 商品
+ */
+ CouponInfoEntity selectCouponInfoById(String id);
+
+ /**
+ * 查询商品列表
+ * @param couponInfo 商品
+ * @return 商品集合
+ */
+ List selectCouponInfoList(CouponInfoEntity couponInfo);
+
+}
diff --git a/play-admin/src/main/java/com/starry/admin/modules/coupon/module/entity/CouponInfoEntity.java b/play-admin/src/main/java/com/starry/admin/modules/coupon/module/entity/CouponInfoEntity.java
new file mode 100644
index 0000000..6bc40f3
--- /dev/null
+++ b/play-admin/src/main/java/com/starry/admin/modules/coupon/module/entity/CouponInfoEntity.java
@@ -0,0 +1,25 @@
+package com.starry.admin.modules.coupon.module.entity;
+
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.starry.common.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("coupon_info")
+public class CouponInfoEntity extends BaseEntity {
+
+ /**
+ * UUID
+ */
+ private String id;
+
+ /**
+ * 价格
+ */
+ private String money;
+
+
+}
diff --git a/play-admin/src/main/java/com/starry/admin/modules/coupon/service/ICouponInfoService.java b/play-admin/src/main/java/com/starry/admin/modules/coupon/service/ICouponInfoService.java
new file mode 100644
index 0000000..bf3d17b
--- /dev/null
+++ b/play-admin/src/main/java/com/starry/admin/modules/coupon/service/ICouponInfoService.java
@@ -0,0 +1,61 @@
+package com.starry.admin.modules.coupon.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.starry.admin.modules.coupon.module.entity.CouponInfoEntity;
+
+/**
+ * 商品Service接口
+ *
+ * @author admin
+ * @since 2024-03-22
+ */
+public interface ICouponInfoService extends IService {
+ /**
+ * 查询商品
+ *
+ * @param id 商品主键
+ * @return 商品
+ */
+ CouponInfoEntity selectCouponInfoById(String id);
+
+ /**
+ * 查询商品列表
+ *
+ * @param couponInfo 商品
+ * @return 商品集合
+ */
+ IPage selectCouponInfoByPage(CouponInfoEntity couponInfo);
+
+ /**
+ * 新增商品
+ *
+ * @param couponInfo 商品
+ * @return 结果
+ */
+ boolean create(CouponInfoEntity couponInfo);
+
+ /**
+ * 修改商品
+ *
+ * @param couponInfo 商品
+ * @return 结果
+ */
+ boolean update(CouponInfoEntity couponInfo);
+
+ /**
+ * 批量删除商品
+ *
+ * @param ids 需要删除的商品主键集合
+ * @return 结果
+ */
+ int deleteCouponInfoByIds(String[] ids);
+
+ /**
+ * 删除商品信息
+ *
+ * @param id 商品主键
+ * @return 结果
+ */
+ int deleteCouponInfoById(String id);
+}
diff --git a/play-admin/src/main/java/com/starry/admin/modules/coupon/service/impl/CouponInfoServiceImpl.java b/play-admin/src/main/java/com/starry/admin/modules/coupon/service/impl/CouponInfoServiceImpl.java
new file mode 100644
index 0000000..e1c41c0
--- /dev/null
+++ b/play-admin/src/main/java/com/starry/admin/modules/coupon/service/impl/CouponInfoServiceImpl.java
@@ -0,0 +1,86 @@
+package com.starry.admin.modules.coupon.service.impl;
+
+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.starry.admin.modules.coupon.mapper.CouponInfoMapper;
+import com.starry.admin.modules.coupon.module.entity.CouponInfoEntity;
+import com.starry.admin.modules.coupon.service.ICouponInfoService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.Arrays;
+
+/**
+ * 商品Service业务层处理
+ *
+ * @author admin
+ * @since 2024-03-22
+ */
+@Service
+public class CouponInfoServiceImpl extends ServiceImpl implements ICouponInfoService {
+ @Resource
+ private CouponInfoMapper couponInfoMapper;
+
+ /**
+ * 查询商品
+ * @param id 商品主键
+ * @return 商品
+ */
+ @Override
+ public CouponInfoEntity selectCouponInfoById(String id) {
+ return this.baseMapper.selectById(id);
+ }
+
+ /**
+ * 查询商品列表
+ * @param couponInfo 商品
+ * @return 商品
+ */
+ @Override
+ public IPage selectCouponInfoByPage(CouponInfoEntity couponInfo) {
+ Page page = new Page<>(1, 10);
+ return this.baseMapper.selectPage(page, new LambdaQueryWrapper());
+ }
+
+ /**
+ * 新增商品
+ * @param couponInfo 商品
+ * @return 结果
+ */
+ @Override
+ public boolean create(CouponInfoEntity couponInfo) {
+ return save(couponInfo);
+ }
+
+ /**
+ * 修改商品
+ * @param couponInfo 商品
+ * @return 结果
+ */
+ @Override
+ public boolean update(CouponInfoEntity couponInfo) {
+ return updateById(couponInfo);
+ }
+
+ /**
+ * 批量删除商品
+ * @param ids 需要删除的商品主键
+ * @return 结果
+ */
+ @Override
+ public int deleteCouponInfoByIds(String[] ids) {
+ return couponInfoMapper.deleteBatchIds(Arrays.asList(ids));
+ }
+
+ /**
+ * 删除商品信息
+ * @param id 商品主键
+ * @return 结果
+ */
+ @Override
+ public int deleteCouponInfoById(String id) {
+ return couponInfoMapper.deleteById(id);
+ }
+}
diff --git a/play-admin/src/main/java/com/starry/admin/modules/monitor/controller/CacheController.java b/play-admin/src/main/java/com/starry/admin/modules/monitor/controller/CacheController.java
index 493fe89..cc87fe7 100644
--- a/play-admin/src/main/java/com/starry/admin/modules/monitor/controller/CacheController.java
+++ b/play-admin/src/main/java/com/starry/admin/modules/monitor/controller/CacheController.java
@@ -33,7 +33,7 @@ public class CacheController {
CACHES.add(new Cache(CacheConstants.CAPTCHA_CODE_KEY, "验证码"));
}
- @PreAuthorize("@customSs.hasPermi('monitor:cache:list')")
+ @PreAuthorize("@customSs.hasPermission('monitor:cache:list')")
@GetMapping()
public R getInfo() throws Exception {
Properties info = (Properties) redisTemplate.execute((RedisCallback