接口优化

This commit is contained in:
zhangzhicheng 2024-08-08 18:02:39 +08:00
parent b070e0e61a
commit 26fe1d5010
5 changed files with 54 additions and 2 deletions

View File

@ -6,6 +6,7 @@ import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*; import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.SaCheckPermission;
import org.dromara.common.satoken.utils.LoginHelper;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit; import org.dromara.common.idempotent.annotation.RepeatSubmit;
@ -76,6 +77,10 @@ public class EqShareController extends BaseController {
@RepeatSubmit() @RepeatSubmit()
@PostMapping() @PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody EqShareBo bo) { public R<Void> add(@Validated(AddGroup.class) @RequestBody EqShareBo bo) {
if (bo.getShareUserId() == null){
bo.setShareUserId(LoginHelper.getUserId());
bo.setShareUserName(LoginHelper.getUsername());
}
return toAjax(eqShareService.insertByBo(bo)); return toAjax(eqShareService.insertByBo(bo));
} }

View File

@ -1,9 +1,11 @@
package org.dromara.web.controller.app; package org.dromara.web.controller.app;
import cn.dev33.satoken.secure.BCrypt; import cn.dev33.satoken.secure.BCrypt;
import jakarta.validation.constraints.NotEmpty;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R; import org.dromara.common.core.domain.R;
import org.dromara.common.core.exception.ServiceException; 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.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.common.satoken.utils.LoginHelper;
@ -85,6 +87,32 @@ public class EqHomeController extends BaseController {
return R.ok(eqShareVos); return R.ok(eqShareVos);
} }
/**
* 分享(添加家庭成员)
* @param bo
* @return
*/
@PostMapping("/share")
public R<Void> 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<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable String sharedId) {
return toAjax(eqShareService.deleteByShareId(sharedId));
}
/** /**
* 查询指定用户下分布列表 * 查询指定用户下分布列表
*/ */
@ -149,6 +177,8 @@ public class EqHomeController extends BaseController {
} }
private final IEqShareService eqShareService;
} }

View File

@ -29,13 +29,13 @@ public class EqShareBo extends BaseEntity {
/** /**
* 分享者ID * 分享者ID
*/ */
@NotNull(message = "分享者ID不能为空", groups = { AddGroup.class, EditGroup.class }) @NotNull(message = "分享者ID不能为空", groups = { EditGroup.class })
private Long shareUserId; private Long shareUserId;
/** /**
* 分享者名称 * 分享者名称
*/ */
@NotBlank(message = "分享者名称不能为空", groups = { AddGroup.class, EditGroup.class }) @NotBlank(message = "分享者名称不能为空", groups = { EditGroup.class })
private String shareUserName; private String shareUserName;
/** /**

View File

@ -65,4 +65,11 @@ public interface IEqShareService {
* @return 是否删除成功 * @return 是否删除成功
*/ */
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid); Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
/**
* 删除家庭成员
* @param sharedId
* @return
*/
Boolean deleteByShareId(String sharedId);
} }

View File

@ -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.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.dromara.common.satoken.utils.LoginHelper;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.dromara.web.domain.bo.EqShareBo; import org.dromara.web.domain.bo.EqShareBo;
import org.dromara.web.domain.vo.EqShareVo; import org.dromara.web.domain.vo.EqShareVo;
@ -129,4 +130,13 @@ public class EqShareServiceImpl implements IEqShareService {
} }
return baseMapper.deleteByIds(ids) > 0; return baseMapper.deleteByIds(ids) > 0;
} }
@Override
public Boolean deleteByShareId(String sharedId) {
Long userId = LoginHelper.getUserId();
LambdaQueryWrapper<EqShare> query = Wrappers.lambdaQuery();
query.eq(EqShare::getShareUserId, userId).eq(EqShare::getSharedUserId, sharedId);
int delete = baseMapper.delete(query);
return true;
}
} }