共享钥匙

This commit is contained in:
邱贞招 2024-12-30 14:51:24 +08:00
parent 7ddf6ebd1e
commit cc11bdac13
8 changed files with 38 additions and 19 deletions

View File

@ -833,12 +833,16 @@ public class AppVerifyController extends BaseController
{ {
logger.info("【根据token查询车辆列表商家】:keywords= {}", keywords); logger.info("【根据token查询车辆列表商家】:keywords= {}", keywords);
EUserVO userVO = userService.selectUserById(getUserId()); EUserVO userVO = userService.selectUserById(getUserId());
String userType = userVO.getUserType(); // String userType = userVO.getUserType();
ServiceUtil.assertion(!(userType.equals(USER_TYPE_MERCHANT) || userType.equals(USER_TYPE_INDIVIDUAL)), "您没有权限访问"); // ServiceUtil.assertion(!(userType.equals(USER_TYPE_MERCHANT) || userType.equals(USER_TYPE_INDIVIDUAL)), "您没有权限访问");
EDeviceQuery deviceQuery = new EDeviceQuery(); EDeviceQuery deviceQuery = new EDeviceQuery();
deviceQuery.setUserId(getUserId()); deviceQuery.setUserId(getUserId());
deviceQuery.setKeywords(keywords); deviceQuery.setKeywords(keywords);
List<EDeviceVO> list = deviceService.selectEDeviceListWithIsolate(deviceQuery); List<EDeviceVO> list = deviceService.selectEDeviceListWithIsolate(deviceQuery);
// list添加type等于1
list.forEach(device -> {
device.setType("1");
});
// 拼接分享的车辆 // 拼接分享的车辆
if(list.isEmpty()){ if(list.isEmpty()){
list = new ArrayList<>(); list = new ArrayList<>();
@ -848,9 +852,15 @@ public class AppVerifyController extends BaseController
} }
private void assembleShareDevice(List<EDeviceVO> list,EUserVO userVO) { private void assembleShareDevice(List<EDeviceVO> list,EUserVO userVO) {
List<String> sns = shareKeyService.selectEShareSnListByShareUserId(userVO.getUserId()); List<EShareKey> sns = shareKeyService.selectEShareSnListByShareUserId(userVO.getUserId());
ArrayList<EDeviceVO> devices = new ArrayList<>();
if(!sns.isEmpty()){ if(!sns.isEmpty()){
List<EDeviceVO> devices = deviceService.selectBySns(sns); sns.forEach(key -> {
EDeviceVO deviceVO = deviceService.selectEDeviceBySn(key.getSn());
deviceVO.setType("2");
deviceVO.setExpirationTime(key.getExpirationTime());
devices.add(deviceVO);
});
list.addAll(devices); list.addAll(devices);
} }
} }
@ -1087,21 +1097,20 @@ public class AppVerifyController extends BaseController
public AjaxResult claimKey(Long keyId) public AjaxResult claimKey(Long keyId)
{ {
logger.info("扫码领取钥匙:keyId=【{}】", keyId); logger.info("扫码领取钥匙:keyId=【{}】", keyId);
EShareKey eShareKey = shareKeyService.selectEShareKeyByKeyId(keyId); EShareKey shareKey = shareKeyService.selectEShareKeyByKeyId(keyId);
if(!ServiceConstants.KEY_STATUS_NEW.equals(eShareKey.getStatus())){ if(!ServiceConstants.KEY_STATUS_NEW.equals(shareKey.getStatus())){
return AjaxResult.error("【扫码领取钥匙】失败,非待领取状态"); return AjaxResult.error("【扫码领取钥匙】失败,非待领取状态");
} }
if(!shareKey.getShareId().equals(getUserId())){
return AjaxResult.error("不是被分享人不能领取");
}
EShareKey bandKey = geteShareKey(keyId); EShareKey bandKey = geteShareKey(keyId);
return success(shareKeyService.updateEShareKey(bandKey)); return success(shareKeyService.updateEShareKey(bandKey));
} }
private @NotNull EShareKey geteShareKey(Long keyId) { private @NotNull EShareKey geteShareKey(Long keyId) {
EUserVO userVO = userService.selectUserById(getUserId());
EShareKey bandKey = new EShareKey(); EShareKey bandKey = new EShareKey();
bandKey.setKeyId(keyId); bandKey.setKeyId(keyId);
bandKey.setShareId(getUserId());
bandKey.setShareUserName(userVO.getUserName());
bandKey.setSharePhone(userVO.getPhonenumber());
bandKey.setStatus(ServiceConstants.KEY_STATUS_RECEIVED); bandKey.setStatus(ServiceConstants.KEY_STATUS_RECEIVED);
return bandKey; return bandKey;
} }

View File

@ -6,9 +6,9 @@ spring:
druid: druid:
# 主库数据源 # 主库数据源
master: master:
url: jdbc:mysql://localhost:3306/eride?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 url: jdbc:mysql://47.120.68.19:3306/eride?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root username: root
password: 123456 password: d0dbe100b71c1d09
# 从库数据源 # 从库数据源
slave: slave:
# 从数据源开关/默认关闭 # 从数据源开关/默认关闭

View File

@ -1,10 +1,12 @@
package com.ruoyi.system.domain.device; package com.ruoyi.system.domain.device;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.annotation.Excel;
import com.ruoyi.system.domain.EFunction; import com.ruoyi.system.domain.EFunction;
import com.ruoyi.system.domain.accessory.EAccessoryVO; import com.ruoyi.system.domain.accessory.EAccessoryVO;
import lombok.Data; import lombok.Data;
import java.util.Date;
import java.util.List; import java.util.List;
@Data @Data
@ -39,4 +41,11 @@ public class EDeviceVO extends EDevice{
@Excel(name = "正在进行中的订单号") @Excel(name = "正在进行中的订单号")
private String inProgressOrderNo; private String inProgressOrderNo;
@Excel(name = "车辆来源类型1-自己的车2-分享的车")
private String type;
/** 有效时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date expirationTime;
} }

View File

@ -89,7 +89,7 @@ public interface EShareKeyMapper
/** /**
* 根据分享用户id查询未过期车辆sn * 根据分享用户id查询未过期车辆sn
*/ */
List<String> selectEShareSnListByShareUserId(Long shareUserId); List<EShareKey> selectEShareSnListByShareUserId(Long shareUserId);
/** /**
* 查询已过期但改变状态的共享钥匙列表 * 查询已过期但改变状态的共享钥匙列表

View File

@ -41,7 +41,7 @@ public interface IEShareKeyService
* @param ownerId 归属用户id * @param ownerId 归属用户id
* @return 共享钥匙集合 * @return 共享钥匙集合
*/ */
public List<String> selectEShareSnListByShareUserId(Long ownerId); public List<EShareKey> selectEShareSnListByShareUserId(Long ownerId);
/** /**
* 根据归属用户id查询共享钥匙列表(已失效) * 根据归属用户id查询共享钥匙列表(已失效)

View File

@ -69,7 +69,7 @@ public class EShareKeyServiceImpl implements IEShareKeyService
* @return 共享钥匙集合 * @return 共享钥匙集合
*/ */
@Override @Override
public List<String> selectEShareSnListByShareUserId(Long shareUserId){ public List<EShareKey> selectEShareSnListByShareUserId(Long shareUserId){
return eShareKeyMapper.selectEShareSnListByShareUserId(shareUserId); return eShareKeyMapper.selectEShareSnListByShareUserId(shareUserId);
} }

View File

@ -133,7 +133,7 @@ public class RlTask {
* 分享key过期状态处理 * 分享key过期状态处理
*/ */
public void expiredKeyHandler(){ public void expiredKeyHandler(){
log.info("-------------------【定时任务】分享key过期状态处理---开始----------------"); // log.info("-------------------【定时任务】分享key过期状态处理---开始----------------");
List<EShareKey> eShareKeys = shareKeyService.selectExpiredShareKeyList(); List<EShareKey> eShareKeys = shareKeyService.selectExpiredShareKeyList();
for (EShareKey eShareKey:eShareKeys) { for (EShareKey eShareKey:eShareKeys) {
EShareKey updateKey = new EShareKey(); EShareKey updateKey = new EShareKey();
@ -141,7 +141,7 @@ public class RlTask {
updateKey.setStatus(ServiceConstants.KEY_STATUS_EXPIRED); updateKey.setStatus(ServiceConstants.KEY_STATUS_EXPIRED);
int i = shareKeyService.updateEShareKey(updateKey); int i = shareKeyService.updateEShareKey(updateKey);
} }
log.info("-------------------【定时任务】分享key过期状态处理---结束----------------"); // log.info("-------------------【定时任务】分享key过期状态处理---结束----------------");
} }
} }

View File

@ -61,9 +61,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where k.share_id = #{shareUserId} and k.del_flag = '0' where k.share_id = #{shareUserId} and k.del_flag = '0'
</select> </select>
<select id="selectEShareSnListByShareUserId" parameterType="Long" resultType="java.lang.String"> <select id="selectEShareSnListByShareUserId" parameterType="Long" resultMap="EShareKeyResult">
SELECT SELECT
k.sn k.sn,
k.expiration_time
FROM FROM
e_share_key k e_share_key k
WHERE WHERE