From b7d7bb82334af8574ad2510b9fa2220581e3f9f2 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 19 二月 2025 18:13:36 +0800
Subject: [PATCH] jtt808初始化
---
server/platform/src/main/java/com/doumee/api/business/LocksController.java | 6 +++
server/services/src/main/java/com/doumee/core/wx/WxMiniUtilService.java | 36 ++++++++++++++++++
server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java | 12 +++---
server/services/src/main/java/com/doumee/dao/business/model/Bikes.java | 6 ++
server/services/src/main/java/com/doumee/core/constants/Constants.java | 1
server/services/src/main/java/com/doumee/service/business/LocksService.java | 3 +
server/services/src/main/java/com/doumee/service/business/impl/LocksServiceImpl.java | 33 ++++++++++++++++
7 files changed, 90 insertions(+), 7 deletions(-)
diff --git a/server/platform/src/main/java/com/doumee/api/business/LocksController.java b/server/platform/src/main/java/com/doumee/api/business/LocksController.java
index 92cf29a..1e399eb 100644
--- a/server/platform/src/main/java/com/doumee/api/business/LocksController.java
+++ b/server/platform/src/main/java/com/doumee/api/business/LocksController.java
@@ -8,6 +8,7 @@
import com.doumee.core.model.ApiResponse;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.Bikes;
import com.doumee.dao.business.model.Locks;
import com.doumee.service.business.DeviceService;
import com.doumee.service.business.LocksService;
@@ -119,4 +120,9 @@
locks.setSiteId(siteId);
return ApiResponse.success(locksService.findLockBase64List(locks));
}
+ @ApiOperation("鑾峰彇鐢佃溅灏忕▼搴忎簩缁寸爜")
+ @GetMapping("/findBikeBase")
+ public ApiResponse<Bikes> findBikeBase(@RequestParam String bikeId){
+ return ApiResponse.success(locksService.findBikeBase(bikeId));
+ }
}
diff --git a/server/services/src/main/java/com/doumee/core/constants/Constants.java b/server/services/src/main/java/com/doumee/core/constants/Constants.java
index 9ca52dd..2e621be 100644
--- a/server/services/src/main/java/com/doumee/core/constants/Constants.java
+++ b/server/services/src/main/java/com/doumee/core/constants/Constants.java
@@ -52,6 +52,7 @@
public static final String HEART_TIME_EXPIRE_TIME ="HEART_TIME_EXPIRE_TIME" ;
public static final String PARK_LAT_LNG_LIST = "PARK_LAT_LNG_LIST";
public static final String LOW_BIKE_VOLTAGE ="LOW_BIKE_VOLTAGE" ;
+ public static final String EBIKE_PREFIX ="ebike-" ;
public static String REDIS_DEBUG_STR="test_";
public static final String AD = "AD";
public static String REPAIR = "REPAIR";
diff --git a/server/services/src/main/java/com/doumee/core/wx/WxMiniUtilService.java b/server/services/src/main/java/com/doumee/core/wx/WxMiniUtilService.java
index 68410dc..3800317 100644
--- a/server/services/src/main/java/com/doumee/core/wx/WxMiniUtilService.java
+++ b/server/services/src/main/java/com/doumee/core/wx/WxMiniUtilService.java
@@ -11,6 +11,7 @@
import com.doumee.core.utils.ImageDesignerUtil;
import com.doumee.dao.business.RefundMapper;
import com.doumee.dao.business.TransactionsMapper;
+import com.doumee.dao.business.model.Bikes;
import com.doumee.dao.business.model.Locks;
import com.doumee.dao.business.model.Refund;
import com.doumee.dao.business.model.Transactions;
@@ -290,6 +291,41 @@
e.printStackTrace();
}
}
+ public void generateEbikeWXMiniCode(Bikes bikes, String token, String prePath, String path){
+ if(Objects.isNull(token)){
+ return;
+ }
+ String url = "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token="+ token;
+ String release = systemDictDataBiz.queryByCode(Constants.MINI_PROGRAMME,Constants.MINI_PROGRAMME_REALEASE).getCode();
+ //鐢熸垚鍥剧墖涓婁紶OSS
+ Map<String,Object> body = new HashMap<>();
+ // 鍦烘櫙鐮侊紝涓庡墠绔害瀹氾紝鏈�缁堟槸闇�瑕佸墠绔В鏋�
+ body.put("scene", Constants.EBIKE_PREFIX +bikes.getCode() );
+ // 姝e紡鐗堜负 "release"锛屼綋楠岀増涓� "trial"锛屽紑鍙戠増涓� "develop"銆傞粯璁ゆ槸姝e紡鐗堛��
+// body.put("env_version", "release");
+ body.put("env_version", StringUtils.defaultString(release, "release"));
+ // 閫忔槑锛屾牴鎹綘鐨勫満鏅嚜琛岃缃産ody鍙傛暟
+ body.put("is_hyaline", false);
+ body.put("check_path", false);
+ body.put("width", 290);
+ body.put("page","pages/index/index");
+ log.info("=========================================="+url+"\n"+JSONObject.toJSONString(body));
+ try {
+ InputStream inputStream =HttpsUtil.postJson(url,JSONObject.toJSONString(body));;
+ if (inputStream !=null) {
+ String nowDate = DateUtil.getNowShortDate();
+ String name =Constants.EBIKE_PREFIX+bikes.getCode()+"-"+nowDate+".png";
+ String fileName =prePath+path+"/"+name;
+// File file = new File(prePath+path,locks.getSiteId()+"-"+locks.getCode()+"-"+nowDate+".png");
+// FileUtils.copyInputStreamToFile(inputStream,file);
+ if(ImageDesignerUtil.graphicsGenerationIs(bikes.getCode(),inputStream,fileName)){
+ bikes.setImgurl(name);
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
/**
* 鐢熸垚灏忕▼搴忕爜
* https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/qrcode-link/qr-code/getUnlimitedQRCode.html
diff --git a/server/services/src/main/java/com/doumee/dao/business/model/Bikes.java b/server/services/src/main/java/com/doumee/dao/business/model/Bikes.java
index c9417fc..9a59e62 100644
--- a/server/services/src/main/java/com/doumee/dao/business/model/Bikes.java
+++ b/server/services/src/main/java/com/doumee/dao/business/model/Bikes.java
@@ -129,6 +129,10 @@
@ApiModelProperty(value = "鏄惁浣庣數閲� 0鍚� 1鏄�")
@TableField(exist = false )
private Integer lowVoltage;
+ @ApiModelProperty(value = "寮哄埗杩樿溅缁撴灉澶囨敞")
+ @ExcelColumn(name="寮哄埗杩樿溅缁撴灉澶囨敞")
+ private String forceBackInfo;
-
+ @ApiModelProperty(value = "灏忕▼搴忕爜")
+ private String imgurl;
}
diff --git a/server/services/src/main/java/com/doumee/service/business/LocksService.java b/server/services/src/main/java/com/doumee/service/business/LocksService.java
index caf2c5a..4056db7 100644
--- a/server/services/src/main/java/com/doumee/service/business/LocksService.java
+++ b/server/services/src/main/java/com/doumee/service/business/LocksService.java
@@ -2,6 +2,7 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.Bikes;
import com.doumee.dao.business.model.Locks;
import javax.servlet.http.HttpServletResponse;
@@ -107,4 +108,6 @@
long count(Locks locks);
void exportImages(String siteid, HttpServletResponse response);
+
+ Bikes findBikeBase(String bikeId);
}
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/LocksServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/LocksServiceImpl.java
index 63c8345..fccf2b8 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/LocksServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/LocksServiceImpl.java
@@ -3,6 +3,7 @@
import com.doumee.core.exception.BusinessException;
import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.wx.WxMiniConfig;
+import com.doumee.dao.business.BikesMapper;
import com.google.common.collect.Lists;
import com.doumee.biz.system.SystemDictDataBiz;
@@ -67,6 +68,8 @@
@Autowired
private SystemDictDataBiz systemDictDataBiz;
+ @Autowired
+ private BikesMapper bikesMapper;
@Override
public String create(Locks locks) {
@@ -155,6 +158,36 @@
}
return new ArrayList<>();
}
+ @Override
+ public Bikes findBikeBase(String bikeId) {
+ Locks re = new Locks();
+ LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ String fullPath = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.FILE_DIR).getCode() +
+ systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.PROJECTS).getCode() ;
+
+ Bikes bikes = bikesMapper.selectById(bikeId);
+ if(bikes == null){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ String code = systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.PROJECTS).getCode();
+ String prePath = systemDictDataBiz.queryByCode(Constants.SYSTEM, Constants.IMG_DIR).getCode();
+ // 妫�鏌ユ槸鍚︽湁鍥剧墖淇℃伅娌℃湁鏇存柊淇濆瓨鍥剧墖
+ if (StringUtils.isBlank(bikes.getImgurl())){
+ try {
+ wxMiniUtilService.generateEbikeWXMiniCode(bikes, WxMiniConfig.wxMaService.getAccessToken(),prePath,code);
+ }catch (Exception e){
+ }
+ if (StringUtils.isNotBlank(bikes.getImgurl())){
+ bikes.setEditor(loginUserInfo.getId());
+ bikes.setEditDate(new Date());
+ bikesMapper.updateById(bikes);
+ }
+ }
+ if (StringUtils.isNotBlank(bikes.getImgurl())){
+ bikes.setImgurl(fullPath+bikes.getInfo());
+ }
+ return bikes;
+ }
@Override
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 c7a2291..3dff2f5 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
@@ -392,14 +392,14 @@
bike.setLastBackDate(model.getRentDate());
bike.setStatus(Constants.ZERO);
bike.setType(Constants.ZERO);
- bike.setInfo("寮哄埗杩樿溅缁戝畾");
+ bike.setForceBackInfo("寮哄埗杩樿溅缁戝畾");
bikesMapper.insert(bike);
}
}else{
//濡傛灉鏄數杞︼紝璇锋眰web绔帴鍙e叧闂溅杈嗕俊鎭�
bike = sendCloseElecBikeRequest(memberRides.getBikeCode(),Constants.ONE);
}
- logInfo = bike!=null?bike.getInfo():null;
+ logInfo = bike!=null?bike.getForceBackInfo():null;
Integer freeRentTime = Integer.valueOf(collect.get(Constants.FREE_RENT_TIME).getCode());
Integer rideTime = DateUtil.betweenMin(model.getRentDate(), update.getBackDate());
//璁$畻楠戣璁¤垂鏃堕暱
@@ -446,7 +446,7 @@
if(bike == null){
return null;
}
- bike.setInfo("寮哄埗杩樿溅鍏抽棴杞﹂攣澶辫触锛�");
+ bike.setForceBackInfo("寮哄埗杩樿溅鍏抽棴杞﹂攣澶辫触锛�");
if(StringUtils.isNotBlank(bike.getDeviceSn())){
try {
//璇锋眰鍦板潃
@@ -458,15 +458,15 @@
JSONObject json = JSONObject.parseObject(res);
if(json.get("code").equals("200")){
//鍙戣捣鎸囦护鎴愬姛
- bike.setInfo("寮哄埗杩樿溅鍏抽棴杞﹂攣鎴愬姛锛�");
+ bike.setForceBackInfo("寮哄埗杩樿溅鍏抽棴杞﹂攣鎴愬姛锛�");
}else{
- bike.setInfo("寮哄埗杩樿溅鍏抽棴杞﹂攣澶辫触锛�"+json.get("msg"));
+ bike.setForceBackInfo("寮哄埗杩樿溅鍏抽棴杞﹂攣澶辫触锛�"+json.get("msg"));
}
}catch (Exception e){
e.printStackTrace();
}
}else{
- bike.setInfo("寮哄埗杩樿溅鍏抽棴杞﹂攣澶辫触,鏈粦瀹氭帶鍒跺櫒sn锛�");
+ bike.setForceBackInfo("寮哄埗杩樿溅鍏抽棴杞﹂攣澶辫触,鏈粦瀹氭帶鍒跺櫒sn锛�");
}
bikesMapper.updateById(bike);
return bike;
--
Gitblit v1.9.3