소스 검색

优化车辆选择,优化自动带出当前匝道车牌费用

qzyReal 3 년 전
부모
커밋
cfd368fae0

+ 3 - 0
app/apis/api.js

@@ -111,5 +111,8 @@ export default {
 	},
 	getWxConfig(data){
 		return ajax.get('/wx/getWxConfig',data)
+	},
+	getPartCarByChannel(data){
+		return ajax.get('/api/getPartCarByChannel',data)
 	}
 }

+ 7 - 7
app/pages/index/index.vue

@@ -73,13 +73,13 @@
 					url: '/pages/enterprise-reg/enterprise-reg',
 					show:uni.getStorageSync('info')?false:true
 				},
-				{
-					auth: true,
-					icon: '../../static/home-icon-02.png',
-					text: '业务录入',
-					url: '/pages/business-entering/business-entering',
-					show: uni.getStorageSync('perList').indexOf('tb-business-add')!==-1
-				},
+				// {
+				// 	auth: true,
+				// 	icon: '../../static/home-icon-02.png',
+				// 	text: '业务录入',
+				// 	url: '/pages/business-entering/business-entering',
+				// 	show: uni.getStorageSync('perList').indexOf('tb-business-add')!==-1
+				// },
 				{
 					auth: true,
 					icon: '../../static/home-icon-03.png',

+ 21 - 15
app/pages/wx/pay.vue

@@ -4,9 +4,7 @@
 			<view class="top" style="padding-top: 50rpx;">
 				<text class="title">支付</text>
 			</view>
-			<u-search placeholder="输入车牌号查询" 
-			shape="square" v-model="p.carNo"
-			 @search="searchFn()" @change="searchFn"
+			<u-search placeholder="输入车牌号查询" shape="square" v-model="p.carNo" @search="searchFn()" @change="searchFn"
 				:height="80" style="margin: 30rpx;">
 			</u-search>
 		</view>
@@ -42,14 +40,8 @@
 				</view>
 			</view>
 		</view>
-	
+
 		<view class="bottom bgc-f bottom-safety" v-if="total>0">
-			<!-- <u-radio-group style="margin: 50rpx 0 20rpx 30rpx;" v-model="form.payType" placement="column"
-				@change="payTypeChange">
-				<u-radio :customStyle="{marginBottom: '8px'}" v-for="(item, index) in payTypeList" :key="index"
-					:label="item.name" :name="item.value">
-				</u-radio>
-			</u-radio-group> -->
 			<view class="box">
 				<view class="l">
 					<text class="t1">金额:</text>
@@ -103,12 +95,26 @@
 		},
 		created() {},
 		mounted() {
+			this.getChannelCar();
 			this.getWxConfig();
 		},
 		beforeDestroy() {
 			this.$common.hidingLoading()
 		},
 		methods: {
+			getChannelCar() {
+				if (this.state !== 'STATE') {
+					this.$api.getPartCarByChannel({
+						channel: this.state
+					}).then(resp => {
+						let data = resp.data;
+						if (data.cars.length > 0) {
+							this.total = data.total;
+							this.cars = data.cars;
+						}
+					})
+				}
+			},
 			getWxConfig() {
 				let url = window.location.href;
 				this.$api.getWxConfig({
@@ -153,9 +159,9 @@
 						success: function(res) {
 							if (res.errMsg === "chooseWXPay:ok") {
 								that.$common.toast('支付成功')
-								that.cars=[];
-								that.item.list=[];
-								that.total=0
+								that.cars = [];
+								that.item.list = [];
+								that.total = 0
 								// wx.closeWindow();
 							}
 						}
@@ -194,9 +200,9 @@
 						businessId: value,
 						list: data.itemList
 					})
-					if(data.total==0){
+					if (data.total == 0) {
 						this.$common.toast('您无需缴费');
-						this.p.carNo=''
+						this.p.carNo = ''
 					}
 				})
 			},

+ 2 - 2
app/utils/request.js

@@ -1,6 +1,6 @@
-// const server = 'http://127.0.0.1:8099/pro';
+const server = 'http://127.0.0.1:8099/pro';
 // const server = 'http://47.101.143.145/pro';
- const server = 'https://dxkaa1.bgigc.com/pro';
+ // const server = 'https://dxkaa1.bgigc.com/pro';
 
 import common from '../common/js/common.js';
 

+ 36 - 6
sp-admin/sa-view/tb-business/tb-business-add.html

@@ -80,9 +80,15 @@
 										</div>
 										<sa-item type="num" name="载重(吨)" placeholder="请输入车辆载重" v-model="m.netWeight" br>
 										</sa-item>
-										<sa-item type="text" name="境外车牌号" placeholder="请输入境外车牌号" v-model="m.cardNo" br>
-										</sa-item>
-										</sa-item>
+									<!-- 	<sa-item type="text" name="境外车牌号" placeholder="请输入境外车牌号" v-model="m.cardNo" br>
+										</sa-item> -->
+										<div class="c-item">
+											<label class="c-label"><span style="color: red;">*</span>境外车牌号:</label>
+											<el-autocomplete v-model="m.cardNo" placeholder="请输入境外车牌号"
+												@select="handleSelectCar" value-key='carNo'
+												:fetch-suggestions="queryCarAsync">
+											</el-autocomplete>
+										</div>
 										<div class="c-item">
 											<label class="c-label"><span style="color: red;">*</span>境外车规格:</label>
 											<el-autocomplete v-model="m.cardSize" placeholder="请输入车规格"
@@ -225,8 +231,10 @@
 					<el-form label-position="left">
 						<div class="c-item">
 							<label class="c-label"><span style="color: red;">*</span>车牌号:</label>
-							<el-input v-model="car.form.carNo" placeholder="车牌号">
-							</el-input>
+							<el-autocomplete v-model="car.form.carNo" placeholder="请输入车牌号"
+								@select="handleSelectChinaCar" value-key='carNo'
+								:fetch-suggestions="queryChinaCarAsync">
+							</el-autocomplete>
 						</div>
 						<div class="c-item">
 							<label class="c-label"><span style="color: red;">*</span>车辆规格:</label>
@@ -279,7 +287,7 @@
 					}, // 实体对象 
 					checkItem:'',
 					customerList: [],
-					cardList: [],
+					carList: [],
 					driverList: [],
 					currentCustomerId: 1,
 					itemTypeList: [],
@@ -342,6 +350,27 @@
 					}
 				},
 				methods: {
+					findInAndNoBusinessCar(){
+						sa.ajax('/TbBusinessCar/findInAndNoBusinessCar',function(resp){
+							this.carList=resp.data;
+						}.bind(this))
+					},
+					handleSelectCar(data){
+						this.m.cardNo=data.carNo;
+					},
+					queryCarAsync(queryStr,cb){
+						let list = this.carList;
+						let filterList = list.filter(obj => obj.carNo.indexOf(queryStr) !== -1);
+						cb(filterList)
+					},
+					handleSelectChinaCar(data){
+						this.car.form.carNo=data.carNo;
+					},
+					queryChinaCarAsync(queryStr,cb){
+						let list = this.carList;
+						let filterList = list.filter(obj => obj.carNo.indexOf(queryStr) !== -1&&obj.carNo!==this.m.cardNo);
+						cb(filterList)
+					},
 					cleanItem(type) {
 						type.itemId = '';
 						let typeName=type.name;
@@ -632,6 +661,7 @@
 					this.getItemTypeList();
 					this.getGoods();
 					this.getUnitList();
+					this.findInAndNoBusinessCar();
 				}
 			})
 		</script>

+ 40 - 5
sp-admin/sa-view/tb-business/tb-business-edit.html

@@ -76,9 +76,15 @@
 										</div>
 										<sa-item type="num" name="载重(吨)" placeholder="请输入车辆载重" v-model="m.netWeight" br>
 										</sa-item>
-										<sa-item type="text" name="境外车牌号" placeholder="请输入境外车牌号" v-model="m.cardNo" br>
-										</sa-item>
-										</sa-item>
+										<!-- <sa-item type="text" name="境外车牌号" placeholder="请输入境外车牌号" v-model="m.cardNo" br>
+										</sa-item> -->
+										<div class="c-item">
+											<label class="c-label"><span style="color: red;">*</span>境外车牌号:</label>
+											<el-autocomplete v-model="m.cardNo" placeholder="请输入境外车牌号"
+												@select="handleSelectCar" value-key='carNo'
+												:fetch-suggestions="queryCarAsync">
+											</el-autocomplete>
+										</div>
 										<div class="c-item">
 											<label class="c-label"><span style="color: red;">*</span>境外车规格:</label>
 											<el-autocomplete v-model="m.cardSize" placeholder="请输入车规格"
@@ -221,10 +227,17 @@
 			<el-dialog title="添加中国车" :visible.sync="car.visible" width="300">
 				<span>
 					<el-form label-position="left">
-						<div class="c-item">
+						<!-- <div class="c-item">
 							<label class="c-label"><span style="color: red;">*</span>车牌号:</label>
 							<el-input v-model="car.form.carNo" placeholder="车牌号">
 							</el-input>
+						</div> -->
+						<div class="c-item">
+							<label class="c-label"><span style="color: red;">*</span>车牌号:</label>
+							<el-autocomplete v-model="car.form.carNo" placeholder="请输入车牌号"
+								@select="handleSelectChinaCar" value-key='carNo'
+								:fetch-suggestions="queryChinaCarAsync">
+							</el-autocomplete>
 						</div>
 						<div class="c-item">
 							<label class="c-label"><span style="color: red;">*</span>车辆规格:</label>
@@ -277,7 +290,7 @@
 					}, // 实体对象 
 					checkItem: '',
 					customerList: [],
-					cardList: [],
+					carList: [],
 					driverList: [],
 					currentCustomerId: 1,
 					itemTypeList: [],
@@ -340,6 +353,27 @@
 					}
 				},
 				methods: {
+					findInAndNoBusinessCar(){
+						sa.ajax('/TbBusinessCar/findInAndNoBusinessCar',function(resp){
+							this.carList=resp.data;
+						}.bind(this))
+					},
+					handleSelectCar(data){
+						this.m.cardNo=data.carNo;
+					},
+					queryCarAsync(queryStr,cb){
+						let list = this.carList;
+						let filterList = list.filter(obj => obj.carNo.indexOf(queryStr) !== -1);
+						cb(filterList)
+					},
+					handleSelectChinaCar(data){
+						this.car.form.carNo=data.carNo;
+					},
+					queryChinaCarAsync(queryStr,cb){
+						let list = this.carList;
+						let filterList = list.filter(obj => obj.carNo.indexOf(queryStr) !== -1&&obj.carNo!==this.m.cardNo);
+						cb(filterList)
+					},
 					cleanItem(type) {
 						type.itemId = '';
 						let typeName = type.name;
@@ -663,6 +697,7 @@
 					this.getItemTypeList();
 					this.getGoods();
 					this.getUnitList();
+					this.findInAndNoBusinessCar();
 				},
 				beforeDestroy() {
 					parent.app.f5();

+ 1 - 1
sp-admin/static/sa.js

@@ -9,7 +9,7 @@ var sa = {
 (function(){
 	// 公司开发环境
 	var cfg_dev = {
-		api_url: 'http://192.168.3.53:8099/pro',	// 所有ajax请求接口父地址
+		api_url: 'http://192.168.3.77:8099/pro',	// 所有ajax请求接口父地址
 		web_url: 'http://www.baidu.com'		// 此项目前台地址 (此配置项非必须)
 	}
 	// 服务器测试环境

+ 1 - 1
sp-server/app.pid

@@ -1 +1 @@
-16020
+8184

+ 5 - 0
sp-server/src/main/java/com/pj/api/h5/ApiController.java

@@ -17,6 +17,7 @@ import com.pj.utils.sg.AjaxJson;
 import com.pj.utils.sg.NbUtil;
 import com.pj.utils.so.SoMap;
 import lombok.extern.slf4j.Slf4j;
+import org.aspectj.weaver.loadtime.Aj;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
@@ -99,5 +100,9 @@ public class ApiController {
         return AjaxJson.getSuccessData(apiService.getBusinessMoney(businessId,state));
     }
 
+    @GetMapping(value = "getPartCarByChannel")
+    public AjaxJson getPartCarByChannel(String channel){
+        return AjaxJson.getSuccessData(apiService.getPartCarByChannel(channel));
+    }
 
 }

+ 3 - 98
sp-server/src/main/java/com/pj/api/open/service/OpenService.java

@@ -13,6 +13,7 @@ import com.pj.project.tb_business.TbBusinessService;
 
 import com.pj.project.tb_business_car.TbBusinessCar;
 import com.pj.project.tb_business_car.TbBusinessCarService;
+import com.pj.utils.cache.RedisUtil;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -48,7 +49,7 @@ public class OpenService {
     }
 
     private void handlerIn(String carNo, String channel) {
-        carNo=carNo.toUpperCase();
+        carNo = carNo.toUpperCase();
         TbBusinessCar tbBusinessCar = tbBusinessCarService.findNotInCar(carNo);
         Date now = new Date();
         if (tbBusinessCar == null) {
@@ -84,6 +85,7 @@ public class OpenService {
         if (dif > 0) {
             tbBusinessCar.setPay(0);
             tbBusinessCarService.updateById(tbBusinessCar);
+            RedisUtil.set(channel,carNo);
             return ResultJson.error("请缴停车费" + dif + "元");
         }
         TbBusiness business = tbBusinessService.getById(businessId);
@@ -95,103 +97,6 @@ public class OpenService {
         return ResultJson.success();
     }
 
-    private ResultJson handlerOutCar(CheckCarNumberBO checkCarNumberBO) {
-        int inOrOut = checkCarNumberBO.getInOrOut();
-        String carNo = checkCarNumberBO.getCarNumber();
-        TbBusiness tbBusiness = tbBusinessService.findCarTheNewRecord(carNo, inOrOut);
-        if (tbBusiness == null) {
-            return ResultJson.error("无业务登记记录");
-        }
-        Date now = new Date();
-        String channel = checkCarNumberBO.getChannelName();
-        if (inOrOut == 1) {
-            tbBusiness.setRealInTime(now).setInChannel(channel);
-            if (StrUtil.isNotEmpty(tbBusiness.getChinaCarInChannel()) || tbBusiness.getChinaCarInTime() != null) {
-                tbBusiness.setAdminConfirmIn(1);
-            }
-            tbBusinessService.updateById(tbBusiness);
-            BusinessMessageManager.set(UserTypeEnum.PLATFORM_ADMIN.getCustomerId(), "订单号【" + tbBusiness.getNo() + "】,车辆【" + tbBusiness.getChinaCarNo() + "】已入场。" + DateUtil.now() + "。");
-            BusinessMessageManager.set(tbBusiness.getCustomerId(), "您的订单号【" + tbBusiness.getNo() + "】,车辆【" + tbBusiness.getChinaCarNo() + "】已入场。" + DateUtil.now() + "。");
-            return ResultJson.success();
-        } else {
-            if (tbBusiness.getAdminConfirmPay() == 0 && tbBusiness.getCustomerType() == 1) {
-                return ResultJson.error("账单未确认支付");
-            }
-            if (tbBusiness.getConfirmInput() == 0 && tbBusiness.getCustomerType() == 2) {
-                return ResultJson.error("账单未确认");
-            }
-            tbBusiness.setOutDayTime(now).setOutChannel(channel);
-            if (StrUtil.isNotEmpty(tbBusiness.getChinaCarOutChannel())) {
-                tbBusiness.setAdminConfirmOut(1);
-            }
-            tbBusinessService.calculationPartMoney("越南车", tbBusiness);
-            tbBusinessService.updateById(tbBusiness);
-            BusinessMessageManager.set(UserTypeEnum.PLATFORM_ADMIN.getCustomerId(), "订单号【" + tbBusiness.getNo() + "】,车辆【" + tbBusiness.getChinaCarNo() + "】已完成业务离场。" + DateUtil.now() + "。");
-            BusinessMessageManager.set(tbBusiness.getCustomerId(), "您的订单号【" + tbBusiness.getNo() + "】,车辆" + tbBusiness.getChinaCarNo() + "已完成业务离场。" + DateUtil.now() + "。");
-            return ResultJson.success();
-        }
-    }
-
-    TimedCache<String, Integer> timedCache = CacheUtil.newTimedCache(1000000);
-    TimedCache<String, Integer> inCache = CacheUtil.newTimedCache(1000000);
-
-    private ResultJson handlerChinaCar(CheckCarNumberBO checkCarNumberBO) {
-        String carNo = checkCarNumberBO.getCarNumber();
-        int inOrOut = checkCarNumberBO.getInOrOut();
-        TbBusiness cb = tbBusinessService.findByChinaCarNo(carNo, inOrOut);
-        if (cb == null) {
-            return ResultJson.error("未查询到相应业务");
-        }
-        int carNum = cb.getChinaCarNo().split(" ").length;
-        String no = cb.getNo();
-
-        Integer inCount = inCache.get(no);
-        if (inCount == null) {
-            inCount = 0;
-        }
-        Date now = new Date();
-        String channel = checkCarNumberBO.getChannelName();
-        if (checkCarNumberBO.getInOrOut() == 1) {
-            inCount++;
-            inCache.put(no, inCount);
-            if (inCount == carNum) {
-                cb.setChinaCarInTime(now).setChinaCarInChannel(channel);
-                inCache.clear();
-            }
-            if (StrUtil.isNotEmpty(cb.getInChannel()) || cb.getRealInTime() != null) {
-                cb.setAdminConfirmIn(1);
-            }
-            BusinessMessageManager.set(UserTypeEnum.PLATFORM_ADMIN.getCustomerId(), "订单号【" + cb.getNo() + "】,车辆【" + cb.getChinaCarNo() + "】已入场。" + DateUtil.now() + "。");
-            BusinessMessageManager.set(cb.getCustomerId(), "您的订单号【" + cb.getNo() + "】,车辆【" + cb.getChinaCarNo() + "】已入场。" + DateUtil.now() + "。");
-            tbBusinessService.updateById(cb);
-            return ResultJson.success();
-        } else {
-            //现结
-            if (cb.getCustomerType() == 1 && cb.getAdminConfirmPay() == 0) {
-                return ResultJson.error("账单未确认支付");
-            }
-            if (cb.getConfirmInput() == 0 && cb.getCustomerType() == 2) {
-                return ResultJson.error("账单未确认");
-            }
-
-            Integer count = timedCache.get(no);
-            if (count == null) {
-                count = 0;
-            }
-            if (count == carNum) {
-                cb.setAdminConfirmOut(1);
-                cb.setChinaCarOutTime(now).setChinaCarOutChannel(channel);
-                timedCache.clear();
-            }
-            count++;
-            timedCache.put(no, count);
-            tbBusinessService.calculationPartMoney("中国车", cb);
-            tbBusinessService.updateById(cb);
-            BusinessMessageManager.set(cb.getCustomerId(), "您的订单号【" + cb.getNo() + "】,车辆【" + cb.getChinaCarNo() + "】已完成业务离场");
-            BusinessMessageManager.set(UserTypeEnum.PLATFORM_ADMIN.getCustomerId(), "业务订单号【" + cb.getNo() + "】,车辆【" + cb.getChinaCarNo() + "】已完成业务离场");
-            return ResultJson.success();
-        }
-    }
 
 
 }

+ 25 - 5
sp-server/src/main/java/com/pj/api/service/ApiService.java

@@ -1,6 +1,7 @@
 package com.pj.api.service;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.StrUtil;
 import com.pj.api.bo.InOutRecordBO;
 import com.pj.project.tb_business.TbBusiness;
 import com.pj.project.tb_business.TbBusinessService;
@@ -10,6 +11,7 @@ import com.pj.project.tb_costomer.TbCostomer;
 import com.pj.project.tb_costomer.TbCostomerService;
 import com.pj.project.tb_pass_record.TbPassRecord;
 import com.pj.project.tb_pass_record.TbPassRecordService;
+import com.pj.utils.cache.RedisUtil;
 import com.pj.utils.so.SoMap;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.context.annotation.Lazy;
@@ -17,9 +19,8 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
+import java.math.BigDecimal;
+import java.util.*;
 
 /**
  *
@@ -75,7 +76,26 @@ public class ApiService {
         tbBusinessService.confirm(ids);
     }
 
-    public Map<String, Object> getBusinessMoney(String businessId,String state) {
-        return tbBusinessService.getBusinessMoney(businessId,state);
+    public Map<String, Object> getBusinessMoney(String businessId, String state) {
+        return tbBusinessService.getBusinessMoney(businessId, state);
+    }
+
+    public Map<String, Object> getPartCarByChannel(String channel) {
+        Map<String, Object> result = new HashMap<>();
+        String carNo = RedisUtil.get(channel);
+        if (StrUtil.isEmpty(carNo)) {
+            return result;
+        }
+        TbBusinessCar tbBusinessCar = tbBusinessCarService.findInBuNoOutAndNotPay(carNo);
+        Date now=new Date();
+        BigDecimal price = tbBusinessService.calculationPartMoney(tbBusinessCar.getRealInTime(), now, tbBusinessCar.getCarSize());
+        BigDecimal dif = price.subtract(tbBusinessCar.getMoney());
+        Map<String, Object> car = new HashMap<>();
+        car.put("id",tbBusinessCar.getId());
+        car.put("carNo",tbBusinessCar.getCarNo());
+        car.put("price",dif);
+        result.put("total",dif);
+        result.put("cars",Collections.singleton(car));
+        return result;
     }
 }

+ 2 - 1
sp-server/src/main/java/com/pj/api/wx/WxService.java

@@ -82,7 +82,7 @@ public class WxService {
         params.put("openid", openid);
         params.put("nonce_str", RandomUtil.randomString(32));
         params.put("body", "支付中心-业务订单支付");
-        params.put("out_trade_no", out_trade_no);
+        params.put("out_trade_no", out_trade_no+"_"+System.currentTimeMillis()/1000);
         params.put("attach", JSONUtil.toJsonStr(atchMap));
         String total_free = Integer.parseInt(money) * 100 + "";
 //        String total_free = "1";
@@ -154,6 +154,7 @@ public class WxService {
         BigDecimal money = new BigDecimal(total_fee).divide(new BigDecimal(100), 2, BigDecimal.ROUND_UP);
         log.info("wx pay notify;{}", JSONUtil.toJsonStr(result));
         String tradeNo = result.get("out_trade_no").toString();
+        tradeNo=StrUtil.subBefore(tradeNo,"_",false);
         String attachStr = result.get("attach") == null ? "" : result.get("attach").toString();
         String transactionId = result.get("transaction_id").toString();
         Date now = new Date();

+ 6 - 0
sp-server/src/main/java/com/pj/project/tb_business_car/TbBusinessCarController.java

@@ -44,6 +44,12 @@ public class TbBusinessCarController {
 		return AjaxJson.getSuccess();
 	}
 
+	@RequestMapping(value = "findInAndNoBusinessCar")
+	public AjaxJson findInAndNoBusinessCar(){
+		List<TbBusinessCar>list=tbBusinessCarService.findInAndNoBusinessCar();
+		return AjaxJson.getSuccessData(list);
+	}
+
 	/** 查 - 根据id */
 	@RequestMapping("update")
 	@SaCheckPermission(TbBusiness.PERMISSION_CODE)

+ 15 - 7
sp-server/src/main/java/com/pj/project/tb_business_car/TbBusinessCarService.java

@@ -55,6 +55,12 @@ public class TbBusinessCarService extends ServiceImpl<TbBusinessCarMapper, TbBus
                 .isNull("real_out_time");
         return getOne(ew);
     }
+    public List<TbBusinessCar> findInAndNoBusinessCar() {
+        QueryWrapper<TbBusinessCar> ew = new QueryWrapper<>();
+        ew.isNotNull("real_in_time")
+                .isNull("real_out_time");
+        return list(ew);
+    }
 
     public void removeByBusinessId(String businessId) {
         QueryWrapper<TbBusinessCar> ew = new QueryWrapper<>();
@@ -68,13 +74,7 @@ public class TbBusinessCarService extends ServiceImpl<TbBusinessCarMapper, TbBus
         return list(ew);
     }
 
-    public TbBusinessCar findInAndHasBusinessCar(String carNo) {
-        QueryWrapper<TbBusinessCar> ew = new QueryWrapper<>();
-        ew.eq("car_no", carNo.toUpperCase())
-                .isNull("real_out_time")
-                .isNotNull("real_in_time").eq("pay", "0");
-        return getOne(ew);
-    }
+
 
     public List<TbBusinessCar> searchPartCar(String carNo) {
         QueryWrapper<TbBusinessCar> ew = new QueryWrapper<>();
@@ -131,4 +131,12 @@ public class TbBusinessCarService extends ServiceImpl<TbBusinessCarMapper, TbBus
         car.setRealOutTime(realOutTime);
         this.updateById(car);
     }
+
+    public TbBusinessCar findInBuNoOutAndNotPay(String carNo) {
+        QueryWrapper<TbBusinessCar> ew = new QueryWrapper<>();
+        ew.eq("car_no", carNo.toUpperCase())
+                .isNull("real_out_time")
+                .isNotNull("real_in_time").eq("pay", "0");
+        return getOne(ew);
+    }
 }

+ 1 - 1
sp-server/src/main/resources/application-dev.yml

@@ -46,7 +46,7 @@ spring:
     myconfig:
         # 本项目部署到的服务器域名(文件上传等等模块  要用到)
         domain: http://192.168.3.217:8099
-        web-domain: https://192.168.3.53:8080
+        web-domain: https://192.168.3.77:8080
 part-config:
     base-price: 30 #基础费用
     extra-price: 10 #过夜额外收费