From 16e27b2490c94f40fa6876125ffed56cb59acfbc Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 17 十月 2023 17:39:58 +0800
Subject: [PATCH] 计价规则小程序
---
server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java | 48 ++++++++++++++++-------
server/services/src/main/java/com/doumee/service/business/impl/SitesServiceImpl.java | 2
server/platform/src/main/java/com/doumee/service/impl/MqttSubServiceImpl.java | 3 +
server/services/src/main/resources/application-test.yml | 27 +++++++++++--
server/services/src/main/java/com/doumee/dao/business/model/Locks.java | 2
server/services/src/main/java/com/doumee/service/business/impl/PricingDetailServiceImpl.java | 2
server/services/src/main/java/com/doumee/dao/business/web/response/MemberRidesResponse.java | 2 +
server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java | 4 ++
server/platform/src/main/resources/application.yml | 2
9 files changed, 68 insertions(+), 24 deletions(-)
diff --git a/server/platform/src/main/java/com/doumee/service/impl/MqttSubServiceImpl.java b/server/platform/src/main/java/com/doumee/service/impl/MqttSubServiceImpl.java
index a803fd3..c4d49cb 100644
--- a/server/platform/src/main/java/com/doumee/service/impl/MqttSubServiceImpl.java
+++ b/server/platform/src/main/java/com/doumee/service/impl/MqttSubServiceImpl.java
@@ -31,6 +31,7 @@
@Override
@PostConstruct
public void startSubcribe() {
- mqttToolService.subscribe(new String[]{ Constants.MqttTopic.sub_lockInfo, Constants.MqttTopic.sub_closeLock});
+ mqttToolService.subscribe(
+ new String[]{ Constants.MqttTopic.sub_lockInfo, Constants.MqttTopic.sub_closeLock});
}
}
diff --git a/server/platform/src/main/resources/application.yml b/server/platform/src/main/resources/application.yml
index b5c2c9e..7a60062 100644
--- a/server/platform/src/main/resources/application.yml
+++ b/server/platform/src/main/resources/application.yml
@@ -9,7 +9,7 @@
# application:
# name: parkbike
profiles:
- active: dev
+ active: test
# JSON杩斿洖閰嶇疆
jackson:
# 榛樿鏃跺尯
diff --git a/server/services/src/main/java/com/doumee/dao/business/model/Locks.java b/server/services/src/main/java/com/doumee/dao/business/model/Locks.java
index e5cf83f..bb86ca0 100644
--- a/server/services/src/main/java/com/doumee/dao/business/model/Locks.java
+++ b/server/services/src/main/java/com/doumee/dao/business/model/Locks.java
@@ -82,7 +82,7 @@
private String bikeType;
@ApiModelProperty(value = "褰撳墠閿佸畾鑷杞︾紪鍙�")
- @TableField(select = false)
+ @TableField(exist = false)
private Sites sites;
}
diff --git a/server/services/src/main/java/com/doumee/dao/business/web/response/MemberRidesResponse.java b/server/services/src/main/java/com/doumee/dao/business/web/response/MemberRidesResponse.java
index fc9d167..629334e 100644
--- a/server/services/src/main/java/com/doumee/dao/business/web/response/MemberRidesResponse.java
+++ b/server/services/src/main/java/com/doumee/dao/business/web/response/MemberRidesResponse.java
@@ -35,6 +35,8 @@
@ApiModelProperty(value = "璁¤垂鏃堕暱")
private Integer duration;
+ @ApiModelProperty(value = "璁′环瑙勫垯")
+ private String priceRole;
@ApiModelProperty(value = "杞﹀瀷")
private String bikeType;
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
index a342183..213d97e 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
@@ -295,6 +295,10 @@
memberRidesResponse.setBaseTime(memberRides.getBaseTime());
memberRidesResponse.setUnitTime(memberRides.getUnitTime());
memberRidesResponse.setUnitPrice(memberRides.getUnitPrice());
+ memberRidesResponse.setPriceRole(PricingDetailServiceImpl.getRoleNameByParam(
+ memberRidesResponse.getBasePrice(),memberRidesResponse.getBaseTime(),
+ memberRidesResponse.getUnitPrice()
+ ,memberRidesResponse.getUnitTime()));
homeResponse.setMemberRidesResponse(memberRidesResponse);
}
}
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..4a85145 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
@@ -430,7 +430,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())) {
@@ -541,8 +541,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,14 +555,19 @@
//濡傛灉鏄紑閿佷笟鍔★紝鍒ゆ柇鏄惁鏈夊紑閿佷腑鐨勪俊鎭�
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;
}
@@ -570,7 +576,7 @@
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())){
//濡傛灉缁戝畾杞﹁締淇℃伅鍙戠敓缂栧彿锛屾洿鎹㈢粦瀹氬叧绯�
@@ -582,6 +588,15 @@
bikesMapper.updateById(bikes);
}
}else{
+ 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.getCode() );
+ //娓呯┖鍘熸潵鐨勮嚜琛岃溅缁戝畾鍏崇郴
+ bikesMapper.update(null, updateWrapper);
+ }
bikes = new Bikes();
bikes.setId(Constants.getUUID());
bikes.setIsdeleted(Constants.ZERO);
@@ -615,7 +630,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();
}
@@ -635,6 +650,7 @@
sites.setId(locks.getSiteId());
sites.setCreateDate(date);
sites.setStatus(Constants.ZERO);
+ sites.setEditDate(date);
sites.setLockNum(1);
//鏂板閿佸ご
sitesMapper.insert(sites);
@@ -652,14 +668,15 @@
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 +688,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 +699,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);
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/PricingDetailServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/PricingDetailServiceImpl.java
index a2b0930..96e25b1 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/PricingDetailServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/PricingDetailServiceImpl.java
@@ -90,7 +90,7 @@
return pricingDetail.getId();
}
- private String getRoleNameByParam(BigDecimal basePrice, Integer baseTime, BigDecimal unitPrice, Integer unitTime) {
+ public static String getRoleNameByParam(BigDecimal basePrice, Integer baseTime, BigDecimal unitPrice, Integer unitTime) {
String title = "";
if(baseTime < 0){
title = "瑙勫垯锛�"+Constants.translateMoney(basePrice).doubleValue()+"鍏冪晠楠戜竴鏁村ぉ";
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/SitesServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/SitesServiceImpl.java
index 8ba5bf2..f05ef39 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/SitesServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/SitesServiceImpl.java
@@ -215,7 +215,7 @@
if (!CollectionUtils.isEmpty(sitesMonitorDTO.getRecords())){
sitesMonitorDTO.getRecords().forEach(s->{
- s.setRate(new BigDecimal(s.getBikeCount()).divide(new BigDecimal(s.getAllLockNum()),2));
+ s.setRate(new BigDecimal(s.getBikeCount()).divide(new BigDecimal(s.getAllLockNum()),BigDecimal.ROUND_UP).setScale(2));
});
}
diff --git a/server/services/src/main/resources/application-test.yml b/server/services/src/main/resources/application-test.yml
index 7c95b9d..2725372 100644
--- a/server/services/src/main/resources/application-test.yml
+++ b/server/services/src/main/resources/application-test.yml
@@ -1,7 +1,3 @@
-# WEB鏈嶅姟鍣ㄩ厤缃�
-server:
- port: 10012
-
spring:
# 鏁版嵁婧愰厤缃�
datasource:
@@ -43,3 +39,26 @@
enabled: true
# 绂佺敤swagger鏃剁殑閲嶅畾鍚戝湴鍧�
redirect-uri: /
+
+
+########################寰俊鏀粯鐩稿叧閰嶇疆########################
+wx:
+ pay:
+ appId: wxcd2b89fd2ff065f8
+ appSecret: 1ceb7c9dff3c4330d653adc3ca55ea24
+ mchId: 1229817002
+ mchKey: u4TSNtv0wFP7WRfnxBgijYOtRhS9FvlM
+ # notifyUrl: http://xiaopiqiu.natapp1.cc/api/wxPayNotify
+ notifyUrl: https://dmtest.ahapp.net/bike_h5_api/api/wxPayNotify
+ # keyPath: D:\DouMee\config\doumeeTest\apiclient_cert.p12
+ keyPath: /usr/local/apiclient_cert.p12
+########################mqtt鐩稿叧閰嶇疆########################
+mqtt:
+ host: tcp://175.27.187.84:1883
+ username: doumee1
+ password: doumee@168
+
+tencent:
+ map:
+ remoteHost: https://apis.map.qq.com
+ appKey: 3AYBZ-I5R3V-2BVP3-UWBDQ-ETBM5-B2BBQ
--
Gitblit v1.9.3