From 4715bea85abfcbb0c12d144fc978874239ee09f1 Mon Sep 17 00:00:00 2001 From: Lemon Date: Wed, 12 Jul 2023 16:31:09 +0800 Subject: [PATCH] =?UTF-8?q?add=20=20=E6=96=B0=E5=A2=9E=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E8=A7=A3=E7=BB=91=E4=B8=AA=E4=BA=BA=E6=A1=A9=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/uniapp/PersonPileController.java | 26 ++++++++++++++ .../java/com/jsowell/service/PileService.java | 34 ++++++++++++++++--- .../common/enums/ykc/ReturnCodeEnum.java | 6 +++- .../pile/mapper/PileMemberRelationMapper.java | 1 + .../service/IPileMemberRelationService.java | 3 ++ .../impl/PileMemberRelationServiceImpl.java | 5 +++ .../mapper/pile/PileMemberRelationMapper.xml | 7 +++- 7 files changed, 75 insertions(+), 7 deletions(-) diff --git a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/PersonPileController.java b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/PersonPileController.java index ccc1f7d18..8405a4ee5 100644 --- a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/PersonPileController.java +++ b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/PersonPileController.java @@ -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; + } + + /** * 个人桩管理员下发给其他用户 * diff --git a/jsowell-admin/src/main/java/com/jsowell/service/PileService.java b/jsowell-admin/src/main/java/com/jsowell/service/PileService.java index f3670e2d1..7b3f57f75 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/PileService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/PileService.java @@ -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 idList = new ArrayList<>(); + // 管理员解绑则会将此桩下面所有用户解绑 + if (StringUtils.equals(Constants.ONE, type)) { + List pileMemberRelations = pileMemberRelationService.selectPileMemberRelationByPileSn(dto.getPileSn()); + idList = pileMemberRelations.stream().map(PileMemberRelation::getId).collect(Collectors.toList()); + }else { + idList.add(pileMemberRelation.getId()); + } + + return pileMemberRelationService.deleteRelationByIds(idList); + } + /** * 个人桩管理员下发给其他用户使用 * diff --git a/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/ReturnCodeEnum.java b/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/ReturnCodeEnum.java index 3438bb08f..84ea3dc68 100644 --- a/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/ReturnCodeEnum.java +++ b/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/ReturnCodeEnum.java @@ -112,7 +112,7 @@ public enum ReturnCodeEnum { CODE_NO_REAL_TIME_INFO("00400006", "未查到充电枪口实时信息"), - CODE_BINDING_PERSONAL_PILE_ERROR("00400007", "获取个人桩枪口实时数据异常"), + CODE_BINDING_PERSONAL_PILE_ERROR("00400007", "绑定个人桩异常!"), CODE_ADMIN_ISSUE_ERROR("00400008", "桩管理员下发个人桩异常"), @@ -120,6 +120,10 @@ public enum ReturnCodeEnum { CODE_GET_PERSONAL_PILE_CONNECTOR_INFO_ERROR("00400010", "获取个人桩枪口实时数据异常"), + CODE_THIS_PILE_INFO_IS_NULL("00400011", "未查到该桩信息!"), + + CODE_UNBIND_PILE_ERROR("00400012", "解绑个人桩异常!"), + /* 个人桩 end */ CODE_THIS_CARNO_HAS_BEEN_BINDING("00500001", "当前车牌号已经绑定,请检查!"), diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PileMemberRelationMapper.java b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PileMemberRelationMapper.java index 672042776..2a66f5261 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PileMemberRelationMapper.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PileMemberRelationMapper.java @@ -71,4 +71,5 @@ public interface PileMemberRelationMapper public int deletePileMemberRelationByIds(Integer[] ids); + int deleteRelationByIds(List ids); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/IPileMemberRelationService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/IPileMemberRelationService.java index 53a653737..cfa613594 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/IPileMemberRelationService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/IPileMemberRelationService.java @@ -61,6 +61,9 @@ public interface IPileMemberRelationService */ public int deletePileMemberRelationByIds(Integer[] ids); + + public int deleteRelationByIds(List ids); + /** * 删除桩与用户绑定关系信息 * diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileMemberRelationServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileMemberRelationServiceImpl.java index 9f8ba88ee..a14073edb 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileMemberRelationServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileMemberRelationServiceImpl.java @@ -96,6 +96,11 @@ public class PileMemberRelationServiceImpl implements IPileMemberRelationService return pileMemberRelationMapper.deletePileMemberRelationByIds(ids); } + @Override + public int deleteRelationByIds(List ids) { + return pileMemberRelationMapper.deleteRelationByIds(ids); + } + /** * 删除桩与用户绑定关系信息 * diff --git a/jsowell-pile/src/main/resources/mapper/pile/PileMemberRelationMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/PileMemberRelationMapper.xml index 2fcffd640..7fcaaedb8 100644 --- a/jsowell-pile/src/main/resources/mapper/pile/PileMemberRelationMapper.xml +++ b/jsowell-pile/src/main/resources/mapper/pile/PileMemberRelationMapper.xml @@ -85,5 +85,10 @@ - + + delete from pile_member_relation where id in + + #{id} + + \ No newline at end of file