add 新增用户解绑个人桩接口

This commit is contained in:
Lemon
2023-07-12 16:31:09 +08:00
parent 318be441a4
commit 4715bea85a
7 changed files with 75 additions and 7 deletions

View File

@@ -1,5 +1,6 @@
package com.jsowell.api.uniapp;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.jsowell.common.annotation.Anonymous;
import com.jsowell.common.core.controller.BaseController;
@@ -70,6 +71,31 @@ public class PersonPileController extends BaseController {
return response;
}
/**
* 用户解绑个人桩
* @return
*/
@RequestMapping("/userUnbindPile")
public RestApiResponse<?> userUnbindPile(HttpServletRequest request, @RequestBody PileMemberBindingDTO dto) {
logger.info("用户解绑个人桩信息 params:{}", JSONObject.toJSONString(dto));
RestApiResponse<?> response = null;
try {
String memberId = getMemberIdByAuthorization(request);
dto.setMemberId(memberId);
int i = pileService.userUnbindPile(dto);
response = new RestApiResponse<>(i);
} catch (BusinessException e) {
logger.error("用户解绑个人桩 error, ", e);
response = new RestApiResponse<>(e.getCode(), e.getMessage());
} catch (Exception e) {
logger.error("用户解绑个人桩 error, ", e);
response = new RestApiResponse<>(ReturnCodeEnum.CODE_UNBIND_PILE_ERROR);
}
logger.info("用户解绑个人桩 result:{}", response);
return response;
}
/**
* 个人桩管理员下发给其他用户
*

View File

@@ -49,11 +49,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.*;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
import java.util.stream.Collectors;
@@ -297,6 +293,34 @@ public class PileService {
return pileMemberRelationService.insertPileMemberRelation(pileMemberRelation);
}
/**
* 用户解绑个人桩
* @param dto
*
*/
public int userUnbindPile(PileMemberBindingDTO dto) {
// 查询该用户的身份,是管理员还是普通用户
PileMemberRelation relation = new PileMemberRelation();
relation.setPileSn(dto.getPileSn());
relation.setMemberId(dto.getMemberId());
PileMemberRelation pileMemberRelation = pileMemberRelationService.selectPileMemberRelation(relation);
if (pileMemberRelation == null) {
throw new BusinessException(ReturnCodeEnum.CODE_THIS_PILE_INFO_IS_NULL);
}
String type = pileMemberRelation.getType();
List<Integer> idList = new ArrayList<>();
// 管理员解绑则会将此桩下面所有用户解绑
if (StringUtils.equals(Constants.ONE, type)) {
List<PileMemberRelation> pileMemberRelations = pileMemberRelationService.selectPileMemberRelationByPileSn(dto.getPileSn());
idList = pileMemberRelations.stream().map(PileMemberRelation::getId).collect(Collectors.toList());
}else {
idList.add(pileMemberRelation.getId());
}
return pileMemberRelationService.deleteRelationByIds(idList);
}
/**
* 个人桩管理员下发给其他用户使用
*