diff --git a/ruoyi-admin/src/main/java/org/dromara/web/controller/EqShareController.java b/ruoyi-admin/src/main/java/org/dromara/web/controller/EqShareController.java index 14307c98f..777418839 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/controller/EqShareController.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/controller/EqShareController.java @@ -6,6 +6,7 @@ import lombok.RequiredArgsConstructor; import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.constraints.*; import cn.dev33.satoken.annotation.SaCheckPermission; +import org.dromara.common.satoken.utils.LoginHelper; import org.springframework.web.bind.annotation.*; import org.springframework.validation.annotation.Validated; import org.dromara.common.idempotent.annotation.RepeatSubmit; @@ -76,6 +77,10 @@ public class EqShareController extends BaseController { @RepeatSubmit() @PostMapping() public R add(@Validated(AddGroup.class) @RequestBody EqShareBo bo) { + if (bo.getShareUserId() == null){ + bo.setShareUserId(LoginHelper.getUserId()); + bo.setShareUserName(LoginHelper.getUsername()); + } return toAjax(eqShareService.insertByBo(bo)); } diff --git a/ruoyi-admin/src/main/java/org/dromara/web/controller/app/EqHomeController.java b/ruoyi-admin/src/main/java/org/dromara/web/controller/app/EqHomeController.java index 8d75afd4a..9c125fc5c 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/controller/app/EqHomeController.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/controller/app/EqHomeController.java @@ -1,9 +1,11 @@ package org.dromara.web.controller.app; import cn.dev33.satoken.secure.BCrypt; +import jakarta.validation.constraints.NotEmpty; import lombok.RequiredArgsConstructor; import org.dromara.common.core.domain.R; import org.dromara.common.core.exception.ServiceException; +import org.dromara.common.core.validate.AddGroup; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.satoken.utils.LoginHelper; @@ -85,6 +87,32 @@ public class EqHomeController extends BaseController { return R.ok(eqShareVos); } + + /** + * 分享(添加家庭成员) + * @param bo + * @return + */ + @PostMapping("/share") + public R share(@Validated(AddGroup.class) @RequestBody EqShareBo bo) { + if (bo.getShareUserId() == null){ + bo.setShareUserId(LoginHelper.getUserId()); + bo.setShareUserName(LoginHelper.getUsername()); + } + return toAjax(eqShareService.insertByBo(bo)); + } + + /** + * 删除被分享的成员 + * @param sharedId + * @return + */ + @DeleteMapping("/{shareId}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable String sharedId) { + return toAjax(eqShareService.deleteByShareId(sharedId)); + } + /** * 查询指定用户下分布列表 */ @@ -149,6 +177,8 @@ public class EqHomeController extends BaseController { } + private final IEqShareService eqShareService; + } diff --git a/ruoyi-admin/src/main/java/org/dromara/web/domain/bo/EqShareBo.java b/ruoyi-admin/src/main/java/org/dromara/web/domain/bo/EqShareBo.java index 6b055a713..d5169a231 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/domain/bo/EqShareBo.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/domain/bo/EqShareBo.java @@ -29,13 +29,13 @@ public class EqShareBo extends BaseEntity { /** * 分享者ID */ - @NotNull(message = "分享者ID不能为空", groups = { AddGroup.class, EditGroup.class }) + @NotNull(message = "分享者ID不能为空", groups = { EditGroup.class }) private Long shareUserId; /** * 分享者名称 */ - @NotBlank(message = "分享者名称不能为空", groups = { AddGroup.class, EditGroup.class }) + @NotBlank(message = "分享者名称不能为空", groups = { EditGroup.class }) private String shareUserName; /** diff --git a/ruoyi-admin/src/main/java/org/dromara/web/service/IEqShareService.java b/ruoyi-admin/src/main/java/org/dromara/web/service/IEqShareService.java index 095ce24e1..1c141ec26 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/service/IEqShareService.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/service/IEqShareService.java @@ -65,4 +65,11 @@ public interface IEqShareService { * @return 是否删除成功 */ Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + + /** + * 删除家庭成员 + * @param sharedId + * @return + */ + Boolean deleteByShareId(String sharedId); } diff --git a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/EqShareServiceImpl.java b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/EqShareServiceImpl.java index ea6af7771..36a8757e7 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/EqShareServiceImpl.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/EqShareServiceImpl.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; +import org.dromara.common.satoken.utils.LoginHelper; import org.springframework.stereotype.Service; import org.dromara.web.domain.bo.EqShareBo; import org.dromara.web.domain.vo.EqShareVo; @@ -129,4 +130,13 @@ public class EqShareServiceImpl implements IEqShareService { } return baseMapper.deleteByIds(ids) > 0; } + + @Override + public Boolean deleteByShareId(String sharedId) { + Long userId = LoginHelper.getUserId(); + LambdaQueryWrapper query = Wrappers.lambdaQuery(); + query.eq(EqShare::getShareUserId, userId).eq(EqShare::getSharedUserId, sharedId); + int delete = baseMapper.delete(query); + return true; + } }