From 3e242903008f50818729fe17a4fa38e0b1f02551 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期三, 19 二月 2025 16:44:58 +0800 Subject: [PATCH] jtt808初始化 --- server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java | 94 +++++++++++++++++++++++++++++++++++++--------- 1 files changed, 75 insertions(+), 19 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 1302e95..c7a2291 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 @@ -13,6 +13,8 @@ import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.DateUtil; +import com.doumee.core.utils.HttpsUtil; +import com.doumee.core.utils.StringTools; import com.doumee.core.utils.Utils; import com.doumee.dao.business.ActionLogMapper; import com.doumee.dao.business.BikesMapper; @@ -371,8 +373,33 @@ update.setBackUserid(user.getId()); update.setBackType(Constants.ONE); update.setStatus(Constants.MEMBER_RIDES_STATUS.BACK_CYCLING.getKey()); - update.setBackSiteId(collect.get(Constants.FORCE_BACK_SITE).getCode()); - update.setBackLockId(Constants.formatIntegerFromStr(collect.get(Constants.FORCE_BACK_LOCK).getCode())); + String logInfo = null; + Bikes bike =null; + if(Constants.equalsInteger(model.getType(),Constants.ZERO)){ + //濡傛灉鏄嚜琛岃溅锛岀粦瀹氬埌铏氭嫙绔欑偣鍜岄攣澶� + update.setBackSiteId(collect.get(Constants.FORCE_BACK_SITE).getCode()); + update.setBackLockId(Constants.formatIntegerFromStr(collect.get(Constants.FORCE_BACK_LOCK).getCode())); + //鎻掑叆铏氭嫙閿佸ご鍜岀珯鐐逛笂------- + bike = new Bikes(); + bike.setIsdeleted(Constants.ZERO); + bike.setCode(model.getBikeCode()); + bike.setType(model.getType()); + bike.setSiteId(update.getBackSiteId()); + bike.setLockId(update.getBackLockId()); + if(bikesMapper.selectCount(new QueryWrapper<>(bike)) == 0){ + bike.setId(Constants.getUUID()); + bike.setParamId(model.getParamId()); + bike.setLastBackDate(model.getRentDate()); + bike.setStatus(Constants.ZERO); + bike.setType(Constants.ZERO); + bike.setInfo("寮哄埗杩樿溅缁戝畾"); + bikesMapper.insert(bike); + } + }else{ + //濡傛灉鏄數杞︼紝璇锋眰web绔帴鍙e叧闂溅杈嗕俊鎭� + bike = sendCloseElecBikeRequest(memberRides.getBikeCode(),Constants.ONE); + } + logInfo = bike!=null?bike.getInfo():null; Integer freeRentTime = Integer.valueOf(collect.get(Constants.FREE_RENT_TIME).getCode()); Integer rideTime = DateUtil.betweenMin(model.getRentDate(), update.getBackDate()); //璁$畻楠戣璁¤垂鏃堕暱 @@ -383,23 +410,6 @@ String beforeContent = JSONObject.toJSONString(model); //淇敼鍚� String after = JSONObject.toJSONString(update); - - //鎻掑叆铏氭嫙閿佸ご鍜岀珯鐐逛笂------- - Bikes bike = new Bikes(); - bike.setIsdeleted(Constants.ZERO); - bike.setCode(model.getBikeCode()); - bike.setType(model.getType()); - bike.setSiteId(update.getBackSiteId()); - bike.setLockId(update.getBackLockId()); - if(bikesMapper.selectCount(new QueryWrapper<>(bike)) == 0){ - bike.setId(Constants.getUUID()); - bike.setParamId(model.getParamId()); - bike.setLastBackDate(model.getRentDate()); - bike.setStatus(Constants.ZERO); - bike.setType(Constants.ZERO); - bike.setInfo("寮哄埗杩樿溅缁戝畾"); - bikesMapper.insert(bike); - } ActionLog log = new ActionLog(); log.setId(Constants.getUUID()); @@ -414,6 +424,7 @@ log.setObjType(Constants.ActionLogObjType.memberrides); log.setResult(Constants.ZERO); log.setObjId(model.getId()); + log.setInfo(logInfo); log.setType(Constants.ACTIONLOG_TYPE.FORCE_BACK.getKey()); log.setContent(Constants.ACTIONLOG_TYPE.FORCE_BACK.getInfo()); log.setTitle(Constants.ACTIONLOG_TYPE.FORCE_BACK.getName()); @@ -423,7 +434,52 @@ actionLogMapper.insert(log); } + /** + * 濡傛灉鏄數杞︼紝璇锋眰web绔帴鍙e叧闂溅杈嗕俊鎭� + */ + private Bikes sendCloseElecBikeRequest(String bikeCode,int type) { + Bikes bike = bikesMapper.selectOne(new QueryWrapper<Bikes>().lambda() + .eq(Bikes::getType,Constants.ONE) + .eq(Bikes::getIsdeleted,Constants.ZERO) + .eq(Bikes::getCode,bikeCode) + ); + if(bike == null){ + return null; + } + bike.setInfo("寮哄埗杩樿溅鍏抽棴杞﹂攣澶辫触锛�"); + if(StringUtils.isNotBlank(bike.getDeviceSn())){ + try { + //璇锋眰鍦板潃 + String url = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.ELEC_BIKE_CONTRIL_API_URL).getCode(); + JSONObject param = new JSONObject(); + param.put("clientId",StringTools.leftTrip(bike.getDeviceSn(),'0')); + param.put("type",type);//0寮�閿� 1鍏抽攣 + String res = HttpsUtil.postJsonString(url,param.toJSONString()); + JSONObject json = JSONObject.parseObject(res); + if(json.get("code").equals("200")){ + //鍙戣捣鎸囦护鎴愬姛 + bike.setInfo("寮哄埗杩樿溅鍏抽棴杞﹂攣鎴愬姛锛�"); + }else{ + bike.setInfo("寮哄埗杩樿溅鍏抽棴杞﹂攣澶辫触锛�"+json.get("msg")); + } + }catch (Exception e){ + e.printStackTrace(); + } + }else{ + bike.setInfo("寮哄埗杩樿溅鍏抽棴杞﹂攣澶辫触,鏈粦瀹氭帶鍒跺櫒sn锛�"); + } + bikesMapper.updateById(bike); + return bike; + } + public static void main(String[] args) { + String url = "http://localhost:10025/jtt808/device/8500"; + JSONObject param = new JSONObject(); + param.put("clientId",StringTools.leftTrip("0067244400211",'0')); + param.put("type",0);//0寮�閿� 1鍏抽攣 + String res = HttpsUtil.postJsonString(url,param.toJSONString()); + System.out.println(res); + } public ConcurrentMap<String,Integer> cacheOpenLock = new ConcurrentReferenceHashMap<>(); @Override -- Gitblit v1.9.3