diff --git a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/MemberController.java b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/MemberController.java
index a084c8ac2..3efa68d99 100644
--- a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/MemberController.java
+++ b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/MemberController.java
@@ -327,6 +327,12 @@ public class MemberController extends BaseController {
return response;
}
+ /**
+ * 用户解绑鉴权卡
+ * @param request
+ * @param dto
+ * @return
+ */
@PostMapping("/memberUnbindingCard")
public RestApiResponse> memberUnbindingCard(HttpServletRequest request, @RequestBody BindingCardDTO dto) {
logger.info("用户解绑鉴权卡 param:{}", JSONObject.toJSONString(dto));
diff --git a/jsowell-admin/src/main/java/com/jsowell/service/MemberService.java b/jsowell-admin/src/main/java/com/jsowell/service/MemberService.java
index f2b15a49d..41dc6522c 100644
--- a/jsowell-admin/src/main/java/com/jsowell/service/MemberService.java
+++ b/jsowell-admin/src/main/java/com/jsowell/service/MemberService.java
@@ -33,6 +33,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
+import java.util.Locale;
import java.util.Objects;
@Service
@@ -289,6 +290,10 @@ public class MemberService {
// memberId 不为空,说明此卡已被绑定
throw new BusinessException(ReturnCodeEnum.CODE_THIS_CARD_HAS_BEEN_BINDING);
}
+ if (!StringUtils.equals(pileAuthCardInfo.getSecretKey(), dto.getSecretKey().toUpperCase(Locale.ROOT))) {
+ // 密钥不一致,不能绑定
+ throw new BusinessException(ReturnCodeEnum.CODE_SECRET_KEY_NOT_SAME);
+ }
authCard.setMemberId(dto.getMemberId());
authCard.setStatus("1"); // 1-正常使用
authCard.setCreateBy(dto.getMemberId());
diff --git a/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/PileAuthCardController.java b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/PileAuthCardController.java
index 88e6f52f7..1e1ce8aea 100644
--- a/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/PileAuthCardController.java
+++ b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/PileAuthCardController.java
@@ -109,4 +109,14 @@ public class PileAuthCardController extends BaseController {
public AjaxResult remove(@PathVariable Long[] ids) {
return toAjax(pileAuthCardService.deletePileAuthCardByIds(ids));
}
+
+ /**
+ * 停用充电站鉴权卡
+ */
+ @PreAuthorize("@ss.hasPermi('pile:card:edit')")
+ @Log(title = "充电站鉴权卡", businessType = BusinessType.UPDATE)
+ @GetMapping("/deactivateCard/{id}")
+ public AjaxResult deactivateCard(@PathVariable("id") Long id) {
+ return toAjax(pileAuthCardService.deactivateCard(id));
+ }
}
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 47ae14515..a5988c2dd 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
@@ -129,6 +129,8 @@ public enum ReturnCodeEnum {
CODE_THIS_CARD_NOT_BIND_USER("00600002", "此卡未绑定用户!"),
CODE_THIS_CARD_HAS_BEEN_BINDING("00600003", "此卡已被绑定!"),
+
+ CODE_SECRET_KEY_NOT_SAME("00600004", "密钥错误,请检查!"),
;
private String value;
diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/domain/PileAuthCard.java b/jsowell-pile/src/main/java/com/jsowell/pile/domain/PileAuthCard.java
index 93bcccc45..8aa314b32 100644
--- a/jsowell-pile/src/main/java/com/jsowell/pile/domain/PileAuthCard.java
+++ b/jsowell-pile/src/main/java/com/jsowell/pile/domain/PileAuthCard.java
@@ -45,6 +45,8 @@ public class PileAuthCard {
@Excel(name = "卡状态")
private String status;
+ private String secretKey;
+
/**
* 所属用户的会员id
*/
diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/dto/BindingCardDTO.java b/jsowell-pile/src/main/java/com/jsowell/pile/dto/BindingCardDTO.java
index 572fe0944..f0882fa22 100644
--- a/jsowell-pile/src/main/java/com/jsowell/pile/dto/BindingCardDTO.java
+++ b/jsowell-pile/src/main/java/com/jsowell/pile/dto/BindingCardDTO.java
@@ -22,6 +22,11 @@ public class BindingCardDTO {
*/
private String physicsCard;
+ /**
+ * 密钥
+ */
+ private String secretKey;
+
/**
* 电话号码
*/
diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PileAuthCardMapper.java b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PileAuthCardMapper.java
index 75ab4eb6a..18b600c43 100644
--- a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PileAuthCardMapper.java
+++ b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PileAuthCardMapper.java
@@ -71,6 +71,13 @@ public interface PileAuthCardMapper {
*/
public int deletePileAuthCardById(Long id);
+ /**
+ * 停用某张卡
+ * @param id
+ * @return
+ */
+ int deactivateCard(Long id);
+
/**
* 批量删除充电站鉴权卡
*
diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/IPileAuthCardService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/IPileAuthCardService.java
index c84733a97..ca21d1274 100644
--- a/jsowell-pile/src/main/java/com/jsowell/pile/service/IPileAuthCardService.java
+++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/IPileAuthCardService.java
@@ -88,5 +88,12 @@ public interface IPileAuthCardService {
*/
public int deletePileAuthCardById(Long id);
+ /**
+ * 停用某张卡
+ * @param id
+ * @return
+ */
+ int deactivateCard(Long id);
+
int unBindingCard(PileAuthCard pileAuthCard);
}
diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileAuthCardServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileAuthCardServiceImpl.java
index 92ebc5eb2..d399f7af9 100644
--- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileAuthCardServiceImpl.java
+++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileAuthCardServiceImpl.java
@@ -1,6 +1,7 @@
package com.jsowell.pile.service.impl;
import java.util.List;
+import java.util.Locale;
import com.jsowell.common.enums.ykc.ReturnCodeEnum;
import com.jsowell.common.exception.BusinessException;
@@ -9,6 +10,7 @@ import com.jsowell.pile.domain.MemberBasicInfo;
import com.jsowell.pile.dto.PileAuthCardDTO;
import com.jsowell.pile.service.IMemberBasicInfoService;
import com.jsowell.pile.vo.web.PileAuthCardVO;
+import org.apache.commons.lang3.RandomStringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.jsowell.pile.mapper.PileAuthCardMapper;
@@ -109,10 +111,12 @@ public class PileAuthCardServiceImpl implements IPileAuthCardService {
}
memberBasicInfo.setStatus("1"); // 1-正常使用
}
+ String secretKey = RandomStringUtils.randomAlphanumeric(8).toUpperCase(Locale.ROOT); // 生成8位数的字母 + 数字随机数
PileAuthCard pileAuthCard = PileAuthCard.builder()
.logicCard(dto.getLogicCard())
.memberId(memberBasicInfo.getMemberId())
.status(memberBasicInfo.getStatus())
+ .secretKey(secretKey)
.build();
return pileAuthCardMapper.insertPileAuthCard(pileAuthCard);
}
@@ -167,6 +171,11 @@ public class PileAuthCardServiceImpl implements IPileAuthCardService {
return pileAuthCardMapper.deletePileAuthCardById(id);
}
+ @Override
+ public int deactivateCard(Long id) {
+ return pileAuthCardMapper.deactivateCard(id);
+ }
+
@Override
public int unBindingCard(PileAuthCard pileAuthCard) {
return pileAuthCardMapper.unBindingCard(pileAuthCard);
diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/PileAuthCardVO.java b/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/PileAuthCardVO.java
index b4493dca5..a92a207eb 100644
--- a/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/PileAuthCardVO.java
+++ b/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/PileAuthCardVO.java
@@ -20,6 +20,8 @@ public class PileAuthCardVO {
private String status;
+ private String secretKey;
+
private String createTime;
private String memberId;
diff --git a/jsowell-pile/src/main/resources/mapper/pile/PileAuthCardMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/PileAuthCardMapper.xml
index 359dbd713..cf998be58 100644
--- a/jsowell-pile/src/main/resources/mapper/pile/PileAuthCardMapper.xml
+++ b/jsowell-pile/src/main/resources/mapper/pile/PileAuthCardMapper.xml
@@ -9,6 +9,7 @@
+
@@ -18,11 +19,11 @@
- select id, logic_card, physics_card, status, member_id, create_time, create_by, update_time, update_by, del_flag from pile_auth_card
+ select id, logic_card, physics_card, status, secret_key, member_id, create_time, create_by, update_time, update_by, del_flag from pile_auth_card
- id, logic_card, physics_card, status, member_id, create_time, create_by, update_time, update_by, del_flag
+ id, logic_card, physics_card, status, secret_key, member_id, create_time, create_by, update_time, update_by, del_flag
@@ -46,6 +48,7 @@
t1.logic_card as logicCard,
t1.physics_card as physicsCard,
t1.status,
+ t1.secret_key as secretKey,
t1.create_time as createTime,
t1.member_id as memberId,
t2.mobile_number as phoneNumber,
@@ -63,6 +66,7 @@
logic_card,
physics_card,
status,
+ secret_key,
member_id,
create_time,
create_by,
@@ -74,6 +78,7 @@
#{logicCard},
#{physicsCard},
#{status},
+ #{secretKey},
#{memberId},
#{createTime},
#{createBy},
@@ -102,6 +107,12 @@
delete from pile_auth_card where id = #{id}
+
+ update pile_auth_card
+ set status = '9'
+ where id = #{id,jdbcType=BIGINT}
+
+
delete from pile_auth_card where id in
@@ -139,6 +150,7 @@
t1.logic_card as logicCard,
t1.physics_card as physicsCard,
t1.status,
+ t1.secret_key as secretKey,
t1.create_time as createTime,
t1.member_id as memberId,
t2.mobile_number as phoneNumber,
diff --git a/jsowell-ui/src/api/pile/card.js b/jsowell-ui/src/api/pile/card.js
index dbc81f274..5fcb5cbb0 100644
--- a/jsowell-ui/src/api/pile/card.js
+++ b/jsowell-ui/src/api/pile/card.js
@@ -42,3 +42,11 @@ export function delCard(id) {
method: 'delete'
})
}
+
+// 停用某张卡
+export function deactivateCard(id){
+ return request({
+ url: '/pile/card/deactivateCard/' + id,
+ method: 'get'
+ })
+}
diff --git a/jsowell-ui/src/views/pile/card/index.vue b/jsowell-ui/src/views/pile/card/index.vue
index 8a356600d..afa5009a4 100644
--- a/jsowell-ui/src/views/pile/card/index.vue
+++ b/jsowell-ui/src/views/pile/card/index.vue
@@ -87,6 +87,7 @@
:value="scope.row.status"/>
+
@@ -112,8 +113,8 @@
停用
@@ -170,7 +171,7 @@