From 0046d701fb2878895359b0ffe7a5354c4ccab7e4 Mon Sep 17 00:00:00 2001
From: Mr.Zhang <710666463@qq.com>
Date: 星期三, 18 十月 2023 16:07:09 +0800
Subject: [PATCH] 管理端
---
server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java | 84 ++++++++++++++++++++++++++++--------------
1 files changed, 56 insertions(+), 28 deletions(-)
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java
index 05b0c97..349f663 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java
@@ -220,7 +220,11 @@
queryWrapper.ge(model.getRentDateStart()!=null, MemberRides::getRentDate,model.getRentDateStart());
queryWrapper.le(model.getRentDateEnd()!=null, MemberRides::getRentDate,model.getRentDateEnd());
queryWrapper.eq(model.getCloseStatus()!=null,MemberRides::getCloseStatus, model.getCloseStatus());
+ queryWrapper.eq(model.getStatus()!=null,MemberRides::getStatus, model.getStatus());
queryWrapper.eq(model.getGoodsorderId()!=null,MemberRides::getOrdreId, model.getGoodsorderId());
+// queryWrapper.eq(MemberRides::getBackType, Constants.ZERO);
+ queryWrapper.in(MemberRides::getStatus,
+ Arrays.asList(Constants.MEMBER_RIDES_STATUS.RIDES_RUNNING.getKey(),Constants.MEMBER_RIDES_STATUS.BACK_CYCLING.getKey()));
queryWrapper
.selectAs(MemberRides::getId,MemberRidesDTO::getId)
.selectAs(Member::getOpenid,MemberRidesDTO::getOpenid)
@@ -232,12 +236,14 @@
.selectAs(MemberRides::getRentDate,MemberRidesDTO::getRentDate)
.selectAs(MemberRides::getRentLockId,MemberRidesDTO::getRentLockId)
.selectAs(MemberRides::getRentSiteId,MemberRidesDTO::getRentSiteId)
- .selectAs(MemberRides::getBackDate,MemberRidesDTO::getBackDate);
+ .selectAs(MemberRides::getBackDate,MemberRidesDTO::getBackDate)
+ .selectAs(MemberRides::getBackSiteId,MemberRidesDTO::getBackSiteId)
+ .selectAs(MemberRides::getBackLockId,MemberRidesDTO::getBackLockId);
return queryWrapper;
}
@Override
- public String getOnlineBike(String memberId){
+ public MemberRides getOnlineBike(String memberId){
MemberRides memberRides = memberRidesMapper.selectOne(new QueryWrapper<MemberRides>()
.eq("isdeleted", Constants.ZERO)
.eq("member_id",memberId)
@@ -247,7 +253,7 @@
if(Objects.isNull(memberRides)){
return null;
}
- return memberRides.getBikeCode();
+ return memberRides;
}
/**
@@ -332,7 +338,7 @@
}
QueryWrapper<SystemDictData> wrapper = new QueryWrapper<>();
wrapper.lambda()
- .eq(SystemDictData::getLabel, Arrays.asList(Constants.FORCE_BACK_SITE,Constants.FORCE_BACK_LOCK));
+ .in(SystemDictData::getLabel, Arrays.asList(Constants.FORCE_BACK_SITE,Constants.FORCE_BACK_LOCK));
List<SystemDictData> systemDictData = systemDictDataMapper.selectList(wrapper);
Map<String, SystemDictData> collect = systemDictData.stream().collect(Collectors.toMap(s -> s.getLabel(), s -> s));
@@ -430,7 +436,7 @@
throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "鎵爜鏃犳晥锛屾湭鏌ヨ鍒伴攣澶翠俊鎭�");
}
//鏌ヨ閿佸ご鏄惁瀛樺湪杞﹁締 浠ュ強鏄惁姝e父
- if (!locks.getStatus().equals(Constants.ZERO)) {
+ if (Constants.formatIntegerNum(locks.getStatus())!=Constants.ZERO) {
throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "褰撳墠鎵爜閿佸ご鐘舵�侀敊璇紝鏃犳硶杩涜寮�閿�");
}
if (StringUtils.isBlank(locks.getBikeCode())) {
@@ -472,7 +478,6 @@
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), " 璇ヨ溅鍨嬫殏鏃朵笉鑳藉�熻溅鎿嶄綔鍝︼紝璇锋洿鎹㈠叾浠栬溅鍨嬮噸璇曪紒");
}
Date date =new Date();
-
QueryWrapper<PricingParam> param = new QueryWrapper<>();
param.lambda().eq(PricingParam::getStatus,Constants.ZERO);
param.lambda().eq(PricingParam::getIsdeleted,Constants.ZERO);
@@ -541,8 +546,9 @@
* @return
*/
@Override
+ @Transactional(rollbackFor = {BusinessException.class,Exception.class})
public int mqttLockInfoEvent(Locks locks){
- if(StringUtils.isBlank(locks.getId()) ||StringUtils.isBlank(locks.getSiteId())){
+ if(StringUtils.isBlank(locks.getCode()) ||StringUtils.isBlank(locks.getSiteId())){
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"閿佸ご淇℃伅涓婃姤鍙傛暟閿欒锛�");
}
//鍒ゆ柇妫�鏌ュ鐞嗙珯鐐归攣澶翠俊鎭�
@@ -554,38 +560,54 @@
//濡傛灉鏄紑閿佷笟鍔★紝鍒ゆ柇鏄惁鏈夊紑閿佷腑鐨勪俊鎭�
MemberRides memberRides = new MemberRides();
memberRides.setStatus(Constants.MEMBER_RIDES_STATUS.LOCKING.getKey());
- memberRides.setRentLockId(model.getId());
+ memberRides.setRentLockId(model.getCode());
+ memberRides.setRentSiteId(model.getSiteId());
memberRides.setIsdeleted(Constants.ZERO);
memberRides = findOne(memberRides);
if(memberRides == null){
return 0;
}
+ MemberRides update = new MemberRides();
+ update.setStatus(Constants.MEMBER_RIDES_STATUS.RIDES_RUNNING.getKey());
+ update.setEditDate(new Date());
+ update.setId(memberRides.getId());
//锛堟洿鏂拌姹傚紑閿佷腑鐨勯攣澶村叧鑱旂殑楠戣璁板綍锛�
- memberRidesMapper.updateById( memberRides);
+ memberRidesMapper.updateById( update);
}
return 0;
}
private Bikes dealBikesByParam(Locks model) {
+ if(StringUtils.isNotBlank(model.getBikeCode())){
+ UpdateWrapper<Bikes> updateWrapper = new UpdateWrapper<>();
+ updateWrapper.lambda().set(Bikes::getCode, null );
+ updateWrapper.lambda().set(Bikes::getParamId, null );
+ updateWrapper.lambda().set(Bikes::getEditDate, new Date() );
+ updateWrapper.lambda().eq(Bikes::getCode, model.getBikeCode() );
+ //娓呯┖鍘熸潵鐨勮嚜琛岃溅缁戝畾鍏崇郴
+ bikesMapper.update(null, updateWrapper);
+ }
+
QueryWrapper<Bikes> wrapper = new QueryWrapper<>();
wrapper.lambda().eq(Bikes::getLockId, model.getCode());
wrapper.lambda().eq(Bikes::getSiteId, model.getSiteId());
- Bikes bikes = bikesMapper.selectOne(wrapper.last("last 1"));
+ Bikes bikes = bikesMapper.selectOne(wrapper.last("limit 1"));
if(bikes != null ) {
- if ( StringUtils.equals(model.getBikeCode(), bikes.getCode())){
+ if ( !StringUtils.equals(model.getBikeCode(), bikes.getCode())){
//濡傛灉缁戝畾杞﹁締淇℃伅鍙戠敓缂栧彿锛屾洿鎹㈢粦瀹氬叧绯�
UpdateWrapper<Bikes> updateWrapper = new UpdateWrapper<>();
- updateWrapper.lambda().set(Bikes::getId, bikes.getId());
+ updateWrapper.lambda().eq(Bikes::getId, bikes.getId());
updateWrapper.lambda().set(Bikes::getCode,model.getBikeCode());
updateWrapper.lambda().set(Bikes::getParamId,getBileTypeByCode(model.getBikeCode()));
//鏇存柊鑷绔欑偣閿佸ご缁戝畾鑷杞︿俊鎭�
- bikesMapper.updateById(bikes);
+ bikesMapper.update(null,updateWrapper);
}
}else{
bikes = new Bikes();
bikes.setId(Constants.getUUID());
bikes.setIsdeleted(Constants.ZERO);
bikes.setCreateDate(new Date());
+ bikes.setEditDate(bikes.getCreateDate());
bikes.setSiteId(model.getSiteId());
bikes.setLockId(model.getCode());
bikes.setCode(model.getBikeCode());
@@ -606,7 +628,7 @@
return null;
}
String type = bikeCode.substring(0,1);
- if(Constants.BIKE_TYPE.contains(type)){
+ if(!Constants.BIKE_TYPE.contains(type)){
return null;
}
BaseParam param = new BaseParam();
@@ -615,7 +637,7 @@
param.setSortnum(Integer.parseInt(type));
param = baseParamMapper.selectOne(new QueryWrapper<>(param).lambda().last("limit 1" ));
if(param == null){
- return null;
+ return type;
}
return param.getId();
}
@@ -634,7 +656,9 @@
sites.setCode(locks.getSiteId());
sites.setId(locks.getSiteId());
sites.setCreateDate(date);
+ sites.setEditDate(date);
sites.setStatus(Constants.ZERO);
+ sites.setEditDate(date);
sites.setLockNum(1);
//鏂板閿佸ご
sitesMapper.insert(sites);
@@ -652,14 +676,14 @@
model.setStatus(locks.getStatus());
locksMapper.insert(model);
}else{
- model.setSiteId(locks.getSiteId());
- model.setIsdeleted(Constants.ZERO);
- model.setCode(locks.getCode());
- model.setId(locks.getSiteId());
- model.setEditDate(date);
- model.setBikeCode(locks.getBikeCode());
- model.setStatus(locks.getStatus());
- locksMapper.update(null, new QueryWrapper<>(model));
+ UpdateWrapper<Locks> updateWrapper = new UpdateWrapper<Locks>();
+ updateWrapper.lambda().eq(Locks::getCode, locks.getCode() );
+ updateWrapper.lambda().eq(Locks::getSiteId, locks.getSiteId() );
+ updateWrapper.lambda().set(Locks::getBikeCode, locks.getBikeCode() );
+ updateWrapper.lambda().set(Locks::getStatus, locks.getStatus() );
+ updateWrapper.lambda().set(Locks::getEditDate, new Date() );
+ updateWrapper.lambda().set(Locks::getIsdeleted, Constants.ZERO);
+ locksMapper.update(null,updateWrapper);
}
model.setSites(sites);
return model;
@@ -671,6 +695,7 @@
* @return
*/
@Override
+ @Transactional(rollbackFor = {BusinessException.class,Exception.class})
public int mqttCloseBikeEvent(MemberRides bikes){
//鍏嶈垂楠戣鏃堕暱鏌ヨ锛屾暟鎹瓧鍏搁厤缃�
if(StringUtils.isBlank(bikes.getBikeCode()) ||StringUtils.isBlank(bikes.getBackLockId())||StringUtils.isBlank(bikes.getBackSiteId())){
@@ -681,7 +706,7 @@
wrapper.lambda().eq(MemberRides::getStatus, Constants.MEMBER_RIDES_STATUS.RIDES_RUNNING.getKey());
wrapper.lambda().eq(MemberRides::getIsdeleted, Constants.ZERO);
//鏍规嵁杞﹁締缂栫爜鏌ヨ楠戣涓殑楠戣璁板綍淇℃伅锛屽鏋滄湁杩涜杩樿溅鎿嶄綔
- MemberRides memberRides = memberRidesMapper.selectOne(wrapper.last("last 1"));
+ MemberRides memberRides = memberRidesMapper.selectOne(wrapper.last("limit 1"));
if(memberRides!=null){
//杩涜
dealMemberRidesBack(memberRides,bikes);
@@ -703,23 +728,26 @@
update.setBackLockId(param.getBackLockId());
update.setBackSiteId(param.getBackSiteId());
update.setBackCommondId(param.getBackCommondId());
- int duration =DateUtil.betweenMin(memberRides.getRentDate(),date)-freeTime;
+// int duration =DateUtil.betweenMin(memberRides.getRentDate(),date)-freeTime;
+ int min = DateUtil.betweenMin(memberRides.getRentDate(),date);//瀹為檯楠戣鏃堕棿
+ int duration = min>freeTime?min:0;
update.setDuration(duration>0?duration:0);
update.setBackType(Constants.ONE);
update.setBackInfo("鐢ㄦ埛姝e父杩樿溅");
+ update.setId(memberRides.getId());
Bikes bikes = new Bikes();
bikes.setSiteId(memberRides.getBackSiteId());
bikes.setLockId(memberRides.getBackLockId());
// bikes.setCode(memberRides.getBikeCode());
- bikes = bikesMapper.selectById(new QueryWrapper<>(bikes).last("limit 1"));
+ bikes = bikesMapper.selectOne(new QueryWrapper<>(bikes).last("limit 1"));
if(bikes != null ) {
UpdateWrapper<Bikes> updateWrapper = new UpdateWrapper<>();
- updateWrapper.lambda().set(Bikes::getId, bikes.getId());
+ updateWrapper.lambda().eq(Bikes::getId, bikes.getId());
updateWrapper.lambda().set(Bikes::getEditDate,new Date());
updateWrapper.lambda().set(Bikes::getLastBackDate,new Date());
//鏇存柊鑷杞︽渶鍚庤繕杞︽椂闂�
- bikesMapper.updateById(bikes);
+ bikesMapper.update(null,updateWrapper);
}
//鏇存柊杩樿溅璁板綍涓哄凡杩樿溅
memberRidesMapper.updateById(update);
--
Gitblit v1.9.3