From ed02b20b31e013159c55ab14b81772e41b36649c Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期六, 26 七月 2025 17:37:59 +0800 Subject: [PATCH] 修改下单逻辑和抢单等相关逻辑 --- DriverQYTTravel/guns-admin/src/main/resources/application.yml | 115 ------ DriverQYTTravel/guns-admin/src/main/resources/application-dev.yml | 1 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java | 85 +-- DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/PhoneServiceImpl.java | 40 - DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/SysReformistMapper.xml | 3 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/SysReformistMapper.java | 4 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java | 83 ++- DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java | 22 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IPushOrderService.java | 2 DriverQYTTravel/guns-admin/pom.xml | 20 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java | 36 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/newlyAdded/NewlyAddedController.java | 16 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/PhoneMapper.xml | 24 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOpenCityService.java | 33 + DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/SysReformist.java | 15 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/zhenglian/SM4Util.java | 22 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/PushOrderMapper.java | 2 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/SysIntegral.java | 111 +++-- DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TbShowModular.java | 16 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/OpenCityMapper.xml | 61 +++ DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Phone.java | 15 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java | 33 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/OpenCityMapper.java | 25 + DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java | 28 - DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/SysTimeoutMoney.java | 15 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/PushOrderMapper.xml | 4 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/PhoneMapper.java | 6 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java | 18 /dev/null | 0 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/PushOrderServiceImpl.java | 4 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/OpenCity.java | 115 ++++++ DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IDriverService.java | 2 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java | 28 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java | 24 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/SysIntegralMapper.java | 2 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/PushOrder.java | 5 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/SysIntegralMapper.xml | 3 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OpenCityServiceImpl.java | 99 +++++ 38 files changed, 702 insertions(+), 435 deletions(-) diff --git a/DriverQYTTravel/guns-admin/lib/cas-client-oncon-3.0.5.jar b/DriverQYTTravel/guns-admin/lib/cas-client-oncon-3.0.5.jar deleted file mode 100644 index b5a22e1..0000000 --- a/DriverQYTTravel/guns-admin/lib/cas-client-oncon-3.0.5.jar +++ /dev/null Binary files differ diff --git a/DriverQYTTravel/guns-admin/lib/cas-client-oncon-core-1.2.2.jar b/DriverQYTTravel/guns-admin/lib/cas-client-oncon-core-1.2.2.jar deleted file mode 100644 index 6db5395..0000000 --- a/DriverQYTTravel/guns-admin/lib/cas-client-oncon-core-1.2.2.jar +++ /dev/null Binary files differ diff --git a/DriverQYTTravel/guns-admin/pom.xml b/DriverQYTTravel/guns-admin/pom.xml index 5b9cc00..c4ae99d 100644 --- a/DriverQYTTravel/guns-admin/pom.xml +++ b/DriverQYTTravel/guns-admin/pom.xml @@ -133,6 +133,11 @@ <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <dependency> + <groupId>org.redisson</groupId> + <artifactId>redisson-spring-boot-starter</artifactId> + <version>3.16.8</version> + </dependency> + <dependency> <groupId>io.lettuce</groupId> <artifactId>lettuce-core</artifactId> </dependency> @@ -241,21 +246,6 @@ <version>1.0.0</version> <scope>system</scope> <systemPath>${pom.basedir}/lib/openApiClient-1.0.0.jar</systemPath> - </dependency> - <!--单点登录sdk--> - <dependency> - <groupId>com.cas</groupId> - <artifactId>cas-client-oncon</artifactId> - <version>3.0.5</version> - <scope>system</scope> - <systemPath>${pom.basedir}/lib/cas-client-oncon-3.0.5.jar</systemPath> - </dependency> - <dependency> - <groupId>com.cas</groupId> - <artifactId>cas-client-oncon-core</artifactId> - <version>1.2.2</version> - <scope>system</scope> - <systemPath>${pom.basedir}/lib/cas-client-oncon-core-1.2.2.jar</systemPath> </dependency> <dependency> <groupId>commons-httpclient</groupId> diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java index a0e7847..de9e68d 100644 --- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java +++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java @@ -6,7 +6,6 @@ import cn.hutool.http.HttpUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; -import com.alipay.api.internal.util.file.IOUtils; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.plugins.Page; import com.stylefeng.guns.config.properties.GunsProperties; @@ -22,7 +21,6 @@ import com.stylefeng.guns.modular.system.model.*; import com.stylefeng.guns.modular.system.model.vo.*; import com.stylefeng.guns.modular.system.service.*; -import com.stylefeng.guns.modular.system.util.ALiSendSms; import com.stylefeng.guns.modular.system.util.ResultUtil; import com.stylefeng.guns.modular.system.util.WeChatUtil; import com.stylefeng.guns.modular.system.util.qianyuntong.NCOSSUtil; @@ -38,7 +36,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.data.redis.core.RedisTemplate; -import org.springframework.http.*; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpMethod; +import org.springframework.http.ResponseEntity; import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.MultiValueMap; import org.springframework.web.bind.annotation.*; @@ -46,7 +46,6 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpSession; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; @@ -57,8 +56,6 @@ import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; - -import static org.bouncycastle.cms.RecipientId.password; /** * 司机控制器 @@ -1010,17 +1007,18 @@ */ @ResponseBody @PostMapping("/api/driver/queryPhone") - @ApiOperation(value = "获取客服电话", tags = {"司机端-个人中心"}, notes = "车队=franchisee,分公司=branch,平台=platform") + @ApiOperation(value = "获取客服电话(黔云通)", tags = {"司机端-个人中心"}, notes = "车队=franchisee,分公司=branch,平台=platform") @ApiImplicitParams({ + @ApiImplicitParam(value = "当前行政区划代码", name = "code", required = true, dataType = "String"), @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) - public ResultUtil queryPhone(HttpServletRequest request){ + public ResultUtil queryPhone(String code, HttpServletRequest request){ try { Integer uid = driverService.getUserIdFormRedis(request); if(null == uid){ return ResultUtil.tokenErr(); } - Map<String, Object> map = driverService.queryPhone(uid); + Map<String, Object> map = driverService.queryPhone(uid, code); return ResultUtil.success(map); }catch (Exception e){ e.printStackTrace(); @@ -1844,18 +1842,6 @@ } } - - @ResponseBody - @GetMapping("/base/driver/getDriverInfo") - public void getDriverInfo(String lsu, String ssologinid, String ticket, HttpSession session) { - try { - String onconParam = edu.yale.its.tp.cas.client.Util.getOnconParam(session); - onconParam = new String(Base64.getDecoder().decode(onconParam), "UTF-8"); - System.err.println("lsu: " + lsu + ",ticket: " + ticket + ",ssologinid: " + ssologinid); - } catch (Exception e) { - e.printStackTrace(); - } - } // @ResponseBody diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java index 4ed52c8..10b334c 100644 --- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java +++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java @@ -9,10 +9,7 @@ import com.stylefeng.guns.modular.smallLogistics.model.OrderLogistics; import com.stylefeng.guns.modular.smallLogistics.server.IOrderLogisticsService; import com.stylefeng.guns.modular.system.dao.DriverWorkMapper; -import com.stylefeng.guns.modular.system.model.DriverWork; -import com.stylefeng.guns.modular.system.model.Reassign; -import com.stylefeng.guns.modular.system.model.SysTimeoutMoney; -import com.stylefeng.guns.modular.system.model.TimeOutAppeal; +import com.stylefeng.guns.modular.system.model.*; import com.stylefeng.guns.modular.system.service.*; import com.stylefeng.guns.modular.system.util.ChinaMobileUtil; import com.stylefeng.guns.modular.system.util.PushUtil; @@ -62,7 +59,10 @@ @Resource private DriverWorkMapper driverWorkMapper; - + @Autowired + private ISysTimeoutMoneyService sysTimeoutMoneyService; + @Autowired + private IOpenCityService openCityService; @@ -265,8 +265,7 @@ } - @Autowired - private ISysTimeoutMoneyService sysTimeoutMoneyService; + /** * 获取服务中页面订单详情 @@ -291,8 +290,8 @@ Map<String, Object> map = orderService.queryOrderInfo(uid, orderId, orderType); if (orderType == 4 || orderType == 5){ - - SysTimeoutMoney sysTimeoutMoney = sysTimeoutMoneyService.selectOne(null); + OpenCity openCity = openCityService.openCity1(map.get("startLon").toString(), map.get("startLat").toString()); + SysTimeoutMoney sysTimeoutMoney = sysTimeoutMoneyService.selectOne(new EntityWrapper<SysTimeoutMoney>().eq("openCityId", openCity.getId())); map.put("timeOutMoney",Double.parseDouble(map.get("timeOutMoney").toString())); map.put("note","配送超过" + sysTimeoutMoney.getTimeOut() + "分钟扣订单的" + sysTimeoutMoney.getDeductMoney() + "%费用"); @@ -311,7 +310,6 @@ } } return ResultUtil.success(OrderInfoWarpper.getOrderInfoWarpper(map)); - //return ResultUtil.success(OrderInfoWarpper.getOrderInfoWarpper(map)); }catch (Exception e){ e.printStackTrace(); return ResultUtil.runErr(); @@ -335,8 +333,8 @@ Map<String, Object> map = orderService.queryOrderInfo(uid, orderId, 7); if (orderType == 4 || orderType == 5){ - - SysTimeoutMoney sysTimeoutMoney = sysTimeoutMoneyService.selectOne(null); + OpenCity openCity = openCityService.openCity1(map.get("startLon").toString(), map.get("startLat").toString()); + SysTimeoutMoney sysTimeoutMoney = sysTimeoutMoneyService.selectOne(new EntityWrapper<SysTimeoutMoney>().eq("openCityId", openCity.getId())); map.put("timeOutMoney",Double.parseDouble(map.get("timeOutMoney").toString())); map.put("note","配送超过" + sysTimeoutMoney.getTimeOut() + "分钟扣订单的" + sysTimeoutMoney.getDeductMoney() + "%费用"); diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java index 37c3447..2da4352 100644 --- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java +++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java @@ -74,6 +74,8 @@ @Resource private UserInfoMapper userInfoMapper; + @Autowired + private IOpenCityService openCityService; @Autowired private DateUtil dateUtil; @@ -232,7 +234,8 @@ map.put("orderNumber", orderCrossCity.getOrderNum()); map.put("totalMoney", new BigDecimal(totalMoney).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); map.put("serverMoney", new BigDecimal(serverMoney).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); - Phone phone = phoneMapper.queryInfo(orderCrossCity.getCompanyId(), 1); + OpenCity openCity = openCityService.openCity1(orderCrossCity.getStartLon().toString(), orderCrossCity.getStartLat().toString()); + Phone phone = phoneMapper.queryInfo(openCity.getId(), 1, 1); map.put("emergencyCall", null != phone ? phone.getPhone() : "110"); map.put("orders", JSON.toJSONString(order)); @@ -541,16 +544,16 @@ orderCrossCity.setIsReassign(1); orderCrossCity.setLineShiftDriverId(orderCrossCityWarpper.getLineShiftDriverId()); //调用高德创建轨迹 - String s = gdFalconUtil.selectTerminal(driver.getPhone()); - String track = gdFalconUtil.createTrack(s); - orderCrossCity.setTrackId(track); +// String s = gdFalconUtil.selectTerminal(driver.getPhone()); +// String track = gdFalconUtil.createTrack(s); +// orderCrossCity.setTrackId(track); //调用移动的小号接口 - Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderCrossCity.getPassengersPhone(), driver.getPhone(), (System.currentTimeMillis() + 86400000)); - if(String.valueOf(map.get("code")).equals("200")){ - orderCrossCity.setTelX(map.get("telX")); - orderCrossCity.setBindId(map.get("bindId")); - } +// Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderCrossCity.getPassengersPhone(), driver.getPhone(), (System.currentTimeMillis() + 86400000)); +// if(String.valueOf(map.get("code")).equals("200")){ +// orderCrossCity.setTelX(map.get("telX")); +// orderCrossCity.setBindId(map.get("bindId")); +// } if(orderCrossCityWarpper.getTravelMode() == 2){//包车 // orderCrossCity.setSeatNumber(lineShiftDriver.getLaveSeatNumber()); // orderCrossCity.setPeopleNumber(lineShiftDriver.getLaveSeat()); @@ -853,7 +856,8 @@ UserInfo userInfo = userInfoMapper.selectById(orderCrossCity.getUserId()); - SysIntegral query1 = sysIntegralMapper.query(orderCrossCity.getCompanyId()); + OpenCity openCity = openCityService.openCity1(orderCrossCity.getStartLon().toString(), orderCrossCity.getStartLat().toString()); + SysIntegral query1 = sysIntegralMapper.query(openCity.getId()); userInfo.setIntegral(userInfo.getIntegral() + (query.getAmount().intValue() * query1.getIntegral()));//积分 userInfoMapper.updateById(userInfo); System.out.println("==============userInfo修改完毕==================="+userInfo); diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/newlyAdded/NewlyAddedController.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/newlyAdded/NewlyAddedController.java index 28e2745..82deb41 100644 --- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/newlyAdded/NewlyAddedController.java +++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/newlyAdded/NewlyAddedController.java @@ -6,7 +6,6 @@ import com.baomidou.mybatisplus.plugins.Page; import com.stylefeng.guns.core.util.DateUtil; import com.stylefeng.guns.modular.system.dao.UserInfoMapper; -import com.stylefeng.guns.modular.system.dao.UserMapper; import com.stylefeng.guns.modular.system.model.*; import com.stylefeng.guns.modular.system.service.*; import com.stylefeng.guns.modular.system.util.ResultUtil; @@ -32,8 +31,10 @@ @RestController @RequestMapping("") public class NewlyAddedController { - - + + + @Autowired + private IOpenCityService openCityService; @Autowired private IDriverService driverService; @@ -241,17 +242,20 @@ @ResponseBody @PostMapping("/api/newlyAdded/getShowModular") - @ApiOperation(value = "获取显示模块设置", tags = {"司机端-2.0新增"}, notes = "") + @ApiOperation(value = "获取显示模块设置(黔云通)", tags = {"司机端-2.0新增"}, notes = "") @ApiImplicitParams({ + @ApiImplicitParam(value = "当前经度", name = "lon", required = true, dataType = "String"), + @ApiImplicitParam(value = "当前纬度", name = "lon", required = true, dataType = "String"), @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) - public ResultUtil<List<TbShowModular>> getShowModular(HttpServletRequest request){ + public ResultUtil<List<TbShowModular>> getShowModular(String lon, String lat, HttpServletRequest request){ try { Integer uid = driverService.getUserIdFormRedis(request); if(null == uid){ return ResultUtil.tokenErr(); } - return ResultUtil.success(showModularService.selectList(null)); + OpenCity openCity = openCityService.openCity1(lon, lat); + return ResultUtil.success(showModularService.selectList(new EntityWrapper<TbShowModular>().eq("openCityId",openCity.getId()))); }catch (Exception e){ e.printStackTrace(); return ResultUtil.runErr(); diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java index d270062..b6985f9 100644 --- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java +++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java @@ -134,24 +134,24 @@ orderLogistics.setSnatchOrderTime(new Date()); //调用高德创建轨迹 - String s = gdFalconUtil.selectTerminal(driver.getPhone()); - String track = gdFalconUtil.createTrack(s); - orderLogistics.setTrackId(track); +// String s = gdFalconUtil.selectTerminal(driver.getPhone()); +// String track = gdFalconUtil.createTrack(s); +// orderLogistics.setTrackId(track); //调用移动的小号接口 - Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderLogistics.getRecipientPhone(), driver.getPhone(), (System.currentTimeMillis() + 86400000)); - if(String.valueOf(map.get("code")).equals("200")){ - orderLogistics.setTelX(map.get("telX")); - orderLogistics.setBindId(map.get("bindId")); - } - UserInfo userInfo = userInfoMapper.selectById(orderLogistics.getUserId()); +// Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderLogistics.getRecipientPhone(), driver.getPhone(), (System.currentTimeMillis() + 86400000)); +// if(String.valueOf(map.get("code")).equals("200")){ +// orderLogistics.setTelX(map.get("telX")); +// orderLogistics.setBindId(map.get("bindId")); +// } +// UserInfo userInfo = userInfoMapper.selectById(orderLogistics.getUserId()); - Map<String, String> map1 = chinaMobileUtil.midAxbBindSend(userInfo.getPhone(), driver.getPhone(), (System.currentTimeMillis() + 86400000)); - System.out.println("二次绑定信息:"+map1); - if(String.valueOf(map1.get("code")).equals("200")){ - orderLogistics.setTelXOne(map1.get("telX")); - orderLogistics.setBindIdOne(map1.get("bindId")); - } +// Map<String, String> map1 = chinaMobileUtil.midAxbBindSend(userInfo.getPhone(), driver.getPhone(), (System.currentTimeMillis() + 86400000)); +// System.out.println("二次绑定信息:"+map1); +// if(String.valueOf(map1.get("code")).equals("200")){ +// orderLogistics.setTelXOne(map1.get("telX")); +// orderLogistics.setBindIdOne(map1.get("bindId")); +// } this.updateById(orderLogistics); @@ -495,9 +495,9 @@ } //调用高德创建轨迹 - String s = gdFalconUtil.selectTerminal(driver.getPhone()); - String track = gdFalconUtil.createTrack(s); - orderLogistics.setTrackId(track); +// String s = gdFalconUtil.selectTerminal(driver.getPhone()); +// String track = gdFalconUtil.createTrack(s); +// orderLogistics.setTrackId(track); //调用移动的小号接口 TODO 车载端使用真实号码 // Map<String, String> geocode = gdMapGeocodingUtil.geocode(orderTaxi.getStartLon().toString(), orderTaxi.getStartLat().toString()); diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java index eca95fe..8c7e85c 100644 --- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java +++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java @@ -141,7 +141,7 @@ * @throws Exception */ @Override - public synchronized ResultUtil grabOrder(Integer orderId, Integer uid) throws Exception { + public ResultUtil grabOrder(Integer orderId, Integer uid) throws Exception { OrderPrivateCar orderPrivateCar = this.selectById(orderId); if(null == orderPrivateCar){ return ResultUtil.error("订单已被抢了"); @@ -215,16 +215,16 @@ orderPrivateCar.setSnatchOrderTime(new Date()); //调用高德创建轨迹 - String s = gdFalconUtil.selectTerminal(driver.getPhone()); - String track = gdFalconUtil.createTrack(s); - orderPrivateCar.setTrackId(track); +// String s = gdFalconUtil.selectTerminal(driver.getPhone()); +// String track = gdFalconUtil.createTrack(s); +// orderPrivateCar.setTrackId(track); //调用移动的小号接口 - Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderPrivateCar.getPassengersPhone(), driver.getPhone(), (System.currentTimeMillis() + 86400000)); - if(String.valueOf(map.get("code")).equals("200")){ - orderPrivateCar.setTelX(map.get("telX")); - orderPrivateCar.setBindId(map.get("bindId")); - } +// Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderPrivateCar.getPassengersPhone(), driver.getPhone(), (System.currentTimeMillis() + 86400000)); +// if(String.valueOf(map.get("code")).equals("200")){ +// orderPrivateCar.setTelX(map.get("telX")); +// orderPrivateCar.setBindId(map.get("bindId")); +// } this.updateById(orderPrivateCar); @@ -293,17 +293,18 @@ systemNoticeService.addSystemNotice(2, "您已成功抢得快车订单,请及时联系客户!", orderPrivateCar.getDriverId(), 1); systemNoticeService.addSystemNotice(1, "您的订单已指派给" + driver.getName().substring(0, 1) + "师傅,请保持电话畅通!", orderPrivateCar.getUserId(), 1); - - new Thread(new Runnable() { - @Override - public void run() { - if(pushMinistryOfTransport){ + + if(pushMinistryOfTransport){ + new Thread(new Runnable() { + @Override + public void run() { //上传数据 pushMinistryOfTransportUtil.orderCreate(orderId); pushMinistryOfTransportUtil.orderMatch(orderId); } - } - }).start(); + }).start(); + } + return ResultUtil.success(orderPrivateCar.getId()); } diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/OpenCityMapper.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/OpenCityMapper.java new file mode 100644 index 0000000..1286955 --- /dev/null +++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/OpenCityMapper.java @@ -0,0 +1,25 @@ +package com.stylefeng.guns.modular.system.dao; + +import com.baomidou.mybatisplus.mapper.BaseMapper; +import com.stylefeng.guns.modular.system.model.OpenCity; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface OpenCityMapper extends BaseMapper<OpenCity> { + + + /** + * 获取开通城市列表(有效的) + * @return + */ + List<OpenCity> queryOpenCity(); + + + /** + * 获取开通城市 + * @param code + * @return + */ + List<OpenCity> queryByCode(@Param("code") String code); +} diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/PhoneMapper.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/PhoneMapper.java index 7d6ca9d..3bf53a7 100644 --- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/PhoneMapper.java +++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/PhoneMapper.java @@ -14,7 +14,7 @@ * @param code * @return */ - List<Phone> queryPhones(@Param("province") String province, @Param("city") String city, @Param("code") String code); + List<Phone> queryPhones(@Param("openCityId") Integer openCityId); /** @@ -31,9 +31,9 @@ /** * 获取电话 - * @param companyId + * @param openCityId * @param type * @return */ - Phone queryInfo(@Param("companyId") Integer companyId, @Param("type") Integer type); + Phone queryInfo(@Param("openCityId") Integer openCityId, @Param("type") Integer type, @Param("platform") Integer platform); } diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/PushOrderMapper.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/PushOrderMapper.java index 58c8fe0..450f4d6 100644 --- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/PushOrderMapper.java +++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/PushOrderMapper.java @@ -16,5 +16,5 @@ * @return */ List<PushOrder> querys(@Param("type") Integer type, @Param("pushType") Integer pushType, - @Param("companyId") Integer companyId); + @Param("openCityId") Integer openCityId); } diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/SysIntegralMapper.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/SysIntegralMapper.java index 848238a..cde2dfc 100644 --- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/SysIntegralMapper.java +++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/SysIntegralMapper.java @@ -6,5 +6,5 @@ public interface SysIntegralMapper extends BaseMapper<SysIntegral> { - SysIntegral query(@Param("companyId") Integer companyId); + SysIntegral query(@Param("openCityId") Integer openCityId); } diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/SysReformistMapper.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/SysReformistMapper.java index 0d648ce..879baa9 100644 --- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/SysReformistMapper.java +++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/SysReformistMapper.java @@ -9,9 +9,9 @@ /** * 获取改派金额 - * @param companyId + * @param openCityId * @return * @throws Exception */ - Double queryMoney(@Param("companyId") Integer companyId) throws Exception; + Double queryMoney(@Param("openCityId") Integer openCityId) throws Exception; } diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/OpenCityMapper.xml b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/OpenCityMapper.xml new file mode 100644 index 0000000..9c6a66e --- /dev/null +++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/OpenCityMapper.xml @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.stylefeng.guns.modular.system.dao.OpenCityMapper"> + + <!-- 通用查询映射结果 --> + <resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.system.model.OpenCity"> + <id column="id" property="id"/> + <result column="code" property="code"/> + <result column="lon" property="lon"/> + <result column="lat" property="lat"/> + <result column="isQualifications" property="isQualifications"/> + <result column="areaName" property="areaName"/> + <result column="cityName" property="cityName"/> + <result column="provinceName" property="provinceName"/> + + <result column="flag" property="flag"/> + <result column="insertTime" property="insertTime"/> + <result column="insertUser" property="insertUser"/> + <result column="updateTime" property="updateTime"/> + <result column="updateUser" property="updateUser"/> + </resultMap> + + + + <select id="queryOpenCity" resultType="OpenCity"> + select + id as id, + code as code, + lon as lon, + lat as lat, + isQualifications as isQualifications, + areaName as areaName, + cityName as cityName, + provinceName as provinceName, + flag as flag, + insertTime as insertTime, + insertUser as insertUser, + updateTime as updateTime, + updateUser as updateUser + from t_open_city where flag = 1 + </select> + + + <select id="queryByCode" resultType="OpenCity"> + select + id as id, + code as code, + lon as lon, + lat as lat, + isQualifications as isQualifications, + areaName as areaName, + cityName as cityName, + provinceName as provinceName, + flag as flag, + insertTime as insertTime, + insertUser as insertUser, + updateTime as updateTime, + updateUser as updateUser + from t_open_city where flag = 1 and code = #{code} + </select> +</mapper> \ No newline at end of file diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/PhoneMapper.xml b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/PhoneMapper.xml index fba4dca..e1a12d1 100644 --- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/PhoneMapper.xml +++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/PhoneMapper.xml @@ -9,6 +9,7 @@ <result column="platform" property="platform"/> <result column="phone" property="phone" /> <result column="companyId" property="companyId"/> + <result column="openCityId" property="openCityId"/> </resultMap> @@ -19,19 +20,9 @@ type as type, platform as platform, phone as phone, - companyId as companyId - from t_phone where companyId in ( - select companyId from t_company_city where state = 1 - <if test="null != province"> - and provinceCode = #{province} - </if> - <if test="null != city"> - and cityCode = #{city} - </if> - <if test="null != code"> - and areaCode = #{code} - </if> - ) + companyId as companyId, + openCityId as openCityId + from t_phone where openCityId = #{openCityId} </select> @@ -77,8 +68,11 @@ <if test="null != type"> and type = #{type} </if> - <if test="null != companyId"> - and companyId = #{companyId} + <if test="null != platform"> + and platform = #{platform} + </if> + <if test="null != openCityId"> + and openCityId = #{openCityId} </if> </select> </mapper> \ No newline at end of file diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/PushOrderMapper.xml b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/PushOrderMapper.xml index 04d7e4c..d68cc89 100644 --- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/PushOrderMapper.xml +++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/PushOrderMapper.xml @@ -6,6 +6,7 @@ <resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.system.model.PushOrder"> <id column="id" property="id"/> <result column="companyId" property="companyId"/> + <result column="openCityId" property="openCityId"/> <result column="pushDistance" property="pushDistance"/> <result column="pushTime" property="pushTime"/> <result column="driverProportion" property="driverProportion"/> @@ -18,12 +19,13 @@ select id as id, companyId as companyId, + openCityId as openCityId, pushDistance as pushDistance, pushTime as pushTime, driverProportion as driverProportion, `type` as `type`, pushType as pushType - from t_sys_push_order where companyId = #{companyId} + from t_sys_push_order where openCityId = #{openCityId} <if test="null != type"> and `type` = #{type} </if> diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/SysIntegralMapper.xml b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/SysIntegralMapper.xml index 0311370..c35dab2 100644 --- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/SysIntegralMapper.xml +++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/SysIntegralMapper.xml @@ -6,12 +6,13 @@ <resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.system.model.SysIntegral"> <id column="id" property="id" /> <result column="companyId" property="companyId" /> + <result column="openCityId" property="openCityId" /> <result column="integral" property="integral" /> </resultMap> <select id="query" resultType="SysIntegral"> - select * from t_sys_integral where companyId = #{companyId} + select * from t_sys_integral where openCityId = #{openCityId} </select> </mapper> \ No newline at end of file diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/SysReformistMapper.xml b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/SysReformistMapper.xml index 27f52b2..f7ae258 100644 --- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/SysReformistMapper.xml +++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/SysReformistMapper.xml @@ -9,11 +9,12 @@ <result column="money" property="money"/> <result column="isSpecialCar" property="isSpecialCar"/> <result column="isTaxiCar" property="isTaxiCar"/> + <result column="openCityId" property="openCityId"/> </resultMap> <select id="queryMoney" resultType="double"> - select money from t_sys_reformist where companyId = #{companyId} + select money from t_sys_reformist where openCityId = #{openCityId} </select> </mapper> \ No newline at end of file diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/OpenCity.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/OpenCity.java new file mode 100644 index 0000000..0cf1845 --- /dev/null +++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/OpenCity.java @@ -0,0 +1,115 @@ +package com.stylefeng.guns.modular.system.model; + +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableName; + +/** + * 开通城市 + */ +@TableName("t_open_city") +public class OpenCity extends BaseBean { + /** + * 城市编号(行政编号) + */ + @TableField("code") + private String code; + /** + * 经度 + */ + @TableField("lon") + private Double lon; + /** + * 纬度 + */ + @TableField("lat") + private Double lat; + /** + * 是否需要网约车资格(1:是,2:否) + */ + @TableField("isQualifications") + private Integer isQualifications; + /** + * 省名称 + */ + @TableField("areaName") + private String areaName; + /** + * 市名称 + */ + @TableField("cityName") + private String cityName; + /** + * 区县名称 + */ + @TableField("provinceName") + private String provinceName; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public Integer getIsQualifications() { + return isQualifications; + } + + public void setIsQualifications(Integer isQualifications) { + this.isQualifications = isQualifications; + } + + public String getAreaName() { + return areaName; + } + + public void setAreaName(String areaName) { + this.areaName = areaName; + } + + public String getCityName() { + return cityName; + } + + public void setCityName(String cityName) { + this.cityName = cityName; + } + + public String getProvinceName() { + return provinceName; + } + + public void setProvinceName(String provinceName) { + this.provinceName = provinceName; + } + + public Double getLon() { + return lon; + } + + public void setLon(Double lon) { + this.lon = lon; + } + + public Double getLat() { + return lat; + } + + public void setLat(Double lat) { + this.lat = lat; + } + + @Override + public String toString() { + return "OpenCity{" + + "code='" + code + '\'' + + ", lon=" + lon + + ", lat=" + lat + + ", isQualifications=" + isQualifications + + ", areaName='" + areaName + '\'' + + ", cityName='" + cityName + '\'' + + ", provinceName='" + provinceName + '\'' + + '}'; + } +} diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Phone.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Phone.java index 7069fa4..a211ed9 100644 --- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Phone.java +++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Phone.java @@ -36,6 +36,11 @@ */ @TableField("companyId") private Integer companyId; + /** + * 开通城市id + */ + @TableField("openCityId") + private Integer openCityId; public Integer getId() { return id; @@ -76,7 +81,15 @@ public void setCompanyId(Integer companyId) { this.companyId = companyId; } - + + public Integer getOpenCityId() { + return openCityId; + } + + public void setOpenCityId(Integer openCityId) { + this.openCityId = openCityId; + } + @Override public String toString() { return "Phone{" + diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/PushOrder.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/PushOrder.java index 64df32c..d5b49b1 100644 --- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/PushOrder.java +++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/PushOrder.java @@ -22,6 +22,11 @@ @TableField("companyId") private Integer companyId; /** + * 开通城市id + */ + @TableField("openCityId") + private Integer openCityId; + /** * 推单距离(公里) */ @TableField("pushDistance") diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/SysIntegral.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/SysIntegral.java index 0b46a6a..25f82c4 100644 --- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/SysIntegral.java +++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/SysIntegral.java @@ -10,53 +10,66 @@ */ @TableName("t_sys_integral") public class SysIntegral { - /** - * 主键 - */ - @TableId(value = "id", type = IdType.AUTO) - @TableField("id") - private Integer id; - /** - * 企业id - */ - @TableField("companyId") - private Integer companyId; - /** - * 积分 - */ - @TableField("integral") - private Integer integral; - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public Integer getCompanyId() { - return companyId; - } - - public void setCompanyId(Integer companyId) { - this.companyId = companyId; - } - - public Integer getIntegral() { - return integral; - } - - public void setIntegral(Integer integral) { - this.integral = integral; - } - - @Override - public String toString() { - return "SysIntegral{" + - "id=" + id + - ", companyId=" + companyId + - ", integral=" + integral + - '}'; - } + /** + * 主键 + */ + @TableId(value = "id", type = IdType.AUTO) + @TableField("id") + private Integer id; + /** + * 企业id + */ + @TableField("companyId") + private Integer companyId; + /** + * 开通城市id + */ + @TableField("openCityId") + private Integer openCityId; + /** + * 积分 + */ + @TableField("integral") + private Integer integral; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public Integer getCompanyId() { + return companyId; + } + + public void setCompanyId(Integer companyId) { + this.companyId = companyId; + } + + public Integer getOpenCityId() { + return openCityId; + } + + public void setOpenCityId(Integer openCityId) { + this.openCityId = openCityId; + } + + public Integer getIntegral() { + return integral; + } + + public void setIntegral(Integer integral) { + this.integral = integral; + } + + @Override + public String toString() { + return "SysIntegral{" + + "id=" + id + + ", companyId=" + companyId + + ", integral=" + integral + + '}'; + } } diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/SysReformist.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/SysReformist.java index 644e751..cbb1265 100644 --- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/SysReformist.java +++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/SysReformist.java @@ -22,6 +22,11 @@ @TableField("companyId") private Integer companyId; /** + * 开通城市id + */ + @TableField("openCityId") + private Integer openCityId; + /** * 金额 */ @TableField("money") @@ -54,7 +59,15 @@ public void setCompanyId(Integer companyId) { this.companyId = companyId; } - + + public Integer getOpenCityId() { + return openCityId; + } + + public void setOpenCityId(Integer openCityId) { + this.openCityId = openCityId; + } + public Double getMoney() { return money; } diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/SysTimeoutMoney.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/SysTimeoutMoney.java index b5e0ef8..a31dcb1 100644 --- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/SysTimeoutMoney.java +++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/SysTimeoutMoney.java @@ -29,6 +29,11 @@ */ @TableField("deductMoney") private Double deductMoney; + /** + * 开通城市id + */ + @TableField("openCityId") + private Integer openCityId; public Integer getId() { return id; @@ -53,7 +58,15 @@ public void setDeductMoney(Double deductMoney) { this.deductMoney = deductMoney; } - + + public Integer getOpenCityId() { + return openCityId; + } + + public void setOpenCityId(Integer openCityId) { + this.openCityId = openCityId; + } + @Override protected Serializable pkVal() { return this.id; diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TbShowModular.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TbShowModular.java index 8090a51..5bd322b 100644 --- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TbShowModular.java +++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TbShowModular.java @@ -1,6 +1,7 @@ package com.stylefeng.guns.modular.system.model; import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; import com.baomidou.mybatisplus.enums.IdType; @@ -38,6 +39,11 @@ */ @ApiModelProperty("用户是否显示(1=是,2=否)") private Integer userShow; + /** + * 开通城市id + */ + @TableField("openCityId") + private Integer openCityId; public Integer getId() { @@ -71,7 +77,15 @@ public void setUserShow(Integer userShow) { this.userShow = userShow; } - + + public Integer getOpenCityId() { + return openCityId; + } + + public void setOpenCityId(Integer openCityId) { + this.openCityId = openCityId; + } + @Override protected Serializable pkVal() { return this.id; diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IDriverService.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IDriverService.java index 1c04b91..9a21295 100644 --- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IDriverService.java +++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IDriverService.java @@ -237,7 +237,7 @@ * @return * @throws Exception */ - Map<String, Object> queryPhone(Integer uid) throws Exception; + Map<String, Object> queryPhone(Integer uid, String code) throws Exception; /** diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOpenCityService.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOpenCityService.java new file mode 100644 index 0000000..16bcdb8 --- /dev/null +++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IOpenCityService.java @@ -0,0 +1,33 @@ +package com.stylefeng.guns.modular.system.service; + +import com.baomidou.mybatisplus.service.IService; +import com.stylefeng.guns.modular.system.model.OpenCity; +import com.stylefeng.guns.modular.system.warpper.BaseWarpper; + +import java.util.List; + +public interface IOpenCityService extends IService<OpenCity> { + + + /** + * 获取开通城市列表 + * @return + * @throws Exception + */ + List<BaseWarpper> queryOpenCity() throws Exception; + + + /** + * 判断是否是开通城市 + * @param code + * @return + * @throws Exception + */ + boolean openCity(String code) throws Exception; + + + OpenCity openCity1(String code) throws Exception; + + + OpenCity openCity1(String lon, String lat) throws Exception; +} diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IPushOrderService.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IPushOrderService.java index aa1bfc8..31271d2 100644 --- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IPushOrderService.java +++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IPushOrderService.java @@ -15,5 +15,5 @@ * @return * @throws Exception */ - List<PushOrder> querys(Integer type, Integer pushType, Integer companyId) throws Exception; + List<PushOrder> querys(Integer type, Integer pushType, Integer openCityId) throws Exception; } diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java index 7c0e5cc..fe336f4 100644 --- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java +++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java @@ -97,6 +97,8 @@ @Autowired private ICompanyCityService companyCityService; + @Autowired + private IOpenCityService openCityService; @Autowired private GDFalconUtil gdFalconUtil; @@ -129,9 +131,6 @@ private CarServiceMapper carServiceMapper; @Autowired - private PushUtil pushUtil; - - @Autowired private IOrderLogisticsService orderLogisticsService; @Value("${pushMinistryOfTransport}") @@ -139,15 +138,13 @@ private String salt = "SA;d5#"; - - - @Autowired + @Resource private OrderPrivateCarMapper orderPrivateCarMapper; - @Autowired + @Resource private OrderCrossCityMapper orderCrossCityMapper; - @Autowired + @Resource private OrderTaxiMapper orderTaxiMapper; @Autowired @@ -509,14 +506,10 @@ */ @Override public Map<String, Object> queryPhone(String code) throws Exception { - Company query = companyCityService.query(code); Map<String, Object> map = new HashMap<>(); - if(null == query){ - map.put("phone", ""); - }else{ - Phone phone = phoneMapper.queryInfo(query.getId(), 2); - map.put("phone", null != phone ? phone.getPhone() : ""); - } + OpenCity openCity = openCityService.openCity1(code); + Phone phone = phoneMapper.queryInfo(openCity.getId(), 2, 2); + map.put("phone", null != phone ? phone.getPhone() : ""); return map; } @@ -569,9 +562,9 @@ loginWarpper.setRongYunToken(token1.getToken()); //创建高德猎鹰的终端数据 - String tid = gdFalconUtil.createTerminal(phone); - loginWarpper.setServerId(gdFalconUtil.getServerId()); - loginWarpper.setTerminalId(tid); +// String tid = gdFalconUtil.createTerminal(phone); +// loginWarpper.setServerId(gdFalconUtil.getServerId()); +// loginWarpper.setTerminalId(tid); return ResultUtil.success(loginWarpper); } @@ -920,47 +913,31 @@ * @throws Exception */ @Override - public Map<String, Object> queryPhone(Integer uid) throws Exception { + public Map<String, Object> queryPhone(Integer uid, String code) throws Exception { Driver driver = this.selectById(uid); - Company company = companyMapper.selectById(driver.getFranchiseeId() != null && driver.getFranchiseeId() != 0 ? driver.getFranchiseeId() : ( - driver.getCompanyId() != null && driver.getCompanyId() != 0 ? driver.getCompanyId() : 1)); + OpenCity openCity = openCityService.openCity1(code); + Company company = companyMapper.selectById(driver.getCompanyId()); Map<String, Object> map = new HashMap<>(); if(company.getType() == 3){//加盟商 - Phone phone = phoneMapper.queryInfo(company.getId(), 2); + map.put("branch", ""); + Phone phone = phoneMapper.queryInfo(openCity.getId(), 2, 2); map.put("franchisee", null != phone ? phone.getPhone() : ""); - company = companyMapper.selectById(company.getSuperiorId()); - if(null != company){ - phone = phoneMapper.queryInfo(company.getId(), 2); - map.put("branch", null != phone ? phone.getPhone() : ""); - }else{ - map.put("branch", ""); - } - company = companyMapper.selectById(company.getSuperiorId()); - if(null != company){ - phone = phoneMapper.queryInfo(company.getId(), 2); - map.put("platform", null != phone ? phone.getPhone() : ""); - }else{ - map.put("platform", ""); - } + phone = phoneMapper.queryInfo(openCity.getId(), 2, 1); + map.put("platform",null != phone ? phone.getPhone() : ""); return map; } if(company.getType() == 2){//分公司 map.put("franchisee", ""); - Phone phone = phoneMapper.queryInfo(company.getId(), 2); + Phone phone = phoneMapper.queryInfo(openCity.getId(), 2, 2); map.put("branch", null != phone ? phone.getPhone() : ""); - company = companyMapper.selectById(company.getSuperiorId()); - if(null != company){ - phone = phoneMapper.queryInfo(company.getId(), 2); - map.put("platform",null != phone ? phone.getPhone() : ""); - }else{ - map.put("platform", ""); - } + phone = phoneMapper.queryInfo(openCity.getId(), 2, 1); + map.put("platform",null != phone ? phone.getPhone() : ""); return map; } if(company.getType() == 1){//平台 map.put("franchisee", ""); map.put("branch", ""); - Phone phone = phoneMapper.queryInfo(company.getId(), 2); + Phone phone = phoneMapper.queryInfo(company.getId(), 2, 1); map.put("platform", null != phone ? phone.getPhone() : ""); return map; } @@ -1319,9 +1296,9 @@ loginWarpper.setAppid(UUIDUtil.getRandomCode()); //创建高德猎鹰的终端数据 - String tid = gdFalconUtil.createTerminal(driver.getPhone()); - loginWarpper.setServerId(gdFalconUtil.getServerId()); - loginWarpper.setTerminalId(tid); +// String tid = gdFalconUtil.createTerminal(driver.getPhone()); +// loginWarpper.setServerId(gdFalconUtil.getServerId()); +// loginWarpper.setTerminalId(tid); return ResultUtil.success(loginWarpper); } @@ -1415,9 +1392,9 @@ loginWarpper.setAppid(UUIDUtil.getRandomCode()); //创建高德猎鹰的终端数据 - String tid = gdFalconUtil.createTerminal(driver.getPhone()); - loginWarpper.setServerId(gdFalconUtil.getServerId()); - loginWarpper.setTerminalId(tid); +// String tid = gdFalconUtil.createTerminal(driver.getPhone()); +// loginWarpper.setServerId(gdFalconUtil.getServerId()); +// loginWarpper.setTerminalId(tid); return ResultUtil.success(loginWarpper); } @@ -1501,9 +1478,9 @@ loginWarpper.setAppid(UUIDUtil.getRandomCode()); //创建高德猎鹰的终端数据 - String tid = gdFalconUtil.createTerminal(driver.getPhone()); - loginWarpper.setServerId(gdFalconUtil.getServerId()); - loginWarpper.setTerminalId(tid); +// String tid = gdFalconUtil.createTerminal(driver.getPhone()); +// loginWarpper.setServerId(gdFalconUtil.getServerId()); +// loginWarpper.setTerminalId(tid); return ResultUtil.success(loginWarpper); } diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OpenCityServiceImpl.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OpenCityServiceImpl.java new file mode 100644 index 0000000..ea7f3f5 --- /dev/null +++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OpenCityServiceImpl.java @@ -0,0 +1,99 @@ +package com.stylefeng.guns.modular.system.service.impl; + +import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import com.stylefeng.guns.core.util.ToolUtil; +import com.stylefeng.guns.modular.system.dao.OpenCityMapper; +import com.stylefeng.guns.modular.system.model.OpenCity; +import com.stylefeng.guns.modular.system.service.IOpenCityService; +import com.stylefeng.guns.modular.system.util.GDMapGeocodingUtil; +import com.stylefeng.guns.modular.system.warpper.BaseWarpper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + + +@Service +public class OpenCityServiceImpl extends ServiceImpl<OpenCityMapper, OpenCity> implements IOpenCityService { + + @Resource + private OpenCityMapper openCityMapper; + + @Autowired + private GDMapGeocodingUtil gdMapGeocodingUtil; + + + /** + * 获取开通城市列表 + * @return + * @throws Exception + */ + @Override + public List<BaseWarpper> queryOpenCity() throws Exception { + List<OpenCity> openCities = openCityMapper.queryOpenCity(); + List<BaseWarpper> list = new ArrayList<>(); + for(OpenCity c : openCities){ + BaseWarpper baseWarpper = new BaseWarpper(); + baseWarpper.setId(c.getId()); + baseWarpper.setName(ToolUtil.isEmpty(c.getProvinceName()) ? + (ToolUtil.isEmpty(c.getCityName()) ? (ToolUtil.isEmpty(c.getAreaName()) ? "" : c.getAreaName()) : c.getCityName()) : c.getProvinceName()); + baseWarpper.setLon(null != c.getLon() ? c.getLon() : 0); + baseWarpper.setLat(null != c.getLat() ? c.getLat() : 0); + baseWarpper.setContent(c.getCode()); + baseWarpper.setName(baseWarpper.getName().replaceAll("市辖区", "")); + list.add(baseWarpper); + } + return list; + } + + + /** + * 判断是否是开通城市 + * @param code + * @return + * @throws Exception + */ + @Override + public boolean openCity(String code) throws Exception { + String province = code.substring(0, 2) + "0000"; + String city = code.substring(0, 4) + "00"; + List<OpenCity> openCities = openCityMapper.queryByCode(code); + if(openCities.size() == 0){ + openCities = openCityMapper.queryByCode(city); + } + if(openCities.size() == 0){ + openCities = openCityMapper.queryByCode(province); + } + if(openCities.size() == 0){ + return false; + } + return true; + } + + @Override + public OpenCity openCity1(String code) throws Exception { + String province = code.substring(0, 2) + "0000"; + String city = code.substring(0, 4) + "00"; + List<OpenCity> openCities = openCityMapper.queryByCode(code); + if(openCities.size() == 0){ + openCities = openCityMapper.queryByCode(city); + } + if(openCities.size() == 0){ + openCities = openCityMapper.queryByCode(province); + } + if(openCities.size() == 0){ + return null; + } + return openCities.get(0); + } + + @Override + public OpenCity openCity1(String lon, String lat) throws Exception { + Map<String, String> geocode = gdMapGeocodingUtil.geocode(lon, lat); + String districtCode = geocode.get("districtCode"); + return openCity1(districtCode); + } +} diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java index 39a7c06..49c8fb3 100644 --- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java +++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java @@ -20,12 +20,15 @@ import com.stylefeng.guns.modular.system.model.OrderPosition; import com.stylefeng.guns.modular.system.service.IAdditionalFeeService; import com.stylefeng.guns.modular.system.service.IDriverService; +import com.stylefeng.guns.modular.system.service.IOpenCityService; import com.stylefeng.guns.modular.system.service.IOrderService; import com.stylefeng.guns.modular.system.util.*; import com.stylefeng.guns.modular.system.warpper.BaseWarpper; import com.stylefeng.guns.modular.system.warpper.OrderListWarpper; import com.stylefeng.guns.modular.taxi.model.OrderTaxi; import com.stylefeng.guns.modular.taxi.service.IOrderTaxiService; +import org.redisson.api.RLock; +import org.redisson.api.RedissonClient; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.data.redis.core.RedisTemplate; @@ -93,6 +96,11 @@ @Autowired private IAdditionalFeeService additionalFeeService; + + @Autowired + private RedissonClient redissonClient; + @Autowired + private IOpenCityService openCityService; @@ -500,12 +508,27 @@ * @throws Exception */ @Override - public synchronized ResultUtil grabOrder(Integer orderId, Integer orderType, Integer uid) throws Exception { + public ResultUtil grabOrder(Integer orderId, Integer orderType, Integer uid) throws Exception { + //专车和出租是批量下单,所以这里需要将两种类型的抢单操作通过一个锁来一起控制 + if(1 == orderType || 2 == orderType){ + RLock lock = redissonClient.getLock("grabOrder:" + orderId); + if(!lock.tryLock()){ + return ResultUtil.error("抢单失败,请稍后重试"); + } + try { + if(1 == orderType){ + return orderPrivateCarService.grabOrder(orderId, uid); + } + if(2 == orderType){ + return orderTaxiService.grabOrder(orderId, uid); + } + }catch (Exception e){ + e.printStackTrace(); + }finally { + lock.unlock(); + } + } switch (orderType){ - case 1://专车 - return orderPrivateCarService.grabOrder(orderId, uid); - case 2://出租 - return orderTaxiService.grabOrder(orderId, uid); case 3://城际 return ResultUtil.success();//不作任何操作,跨城默认选择的司机 case 4://同城小件 @@ -611,27 +634,33 @@ */ @Override public Double queryReassignMoney(Integer orderId, Integer orderType) throws Exception { - Integer companyId = null; + Integer openCityId = null; switch (orderType){ case 1://专车 - companyId = orderPrivateCarService.selectById(orderId).getCompanyId(); + OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId); + openCityId = openCityService.openCity1(orderPrivateCar.getStartLon().toString(), orderPrivateCar.getStartLat().toString()).getId(); break; case 2://出租 - companyId = orderTaxiService.selectById(orderId).getCompanyId(); + OrderTaxi orderTaxi = orderTaxiService.selectById(orderId); + openCityId = openCityService.openCity1(orderTaxi.getStartLon().toString(), orderTaxi.getStartLat().toString()).getId(); break; case 3://城际 - companyId = orderCrossCityService.selectById(orderId).getCompanyId(); + OrderCrossCity orderCrossCity = orderCrossCityService.selectById(orderId); + openCityId = openCityService.openCity1(orderCrossCity.getStartLon().toString(), orderCrossCity.getStartLat().toString()).getId(); break; case 4://同城小件 - companyId = orderLogisticsService.selectById(orderId).getCompanyId(); + OrderLogistics orderLogistics = orderLogisticsService.selectById(orderId); + openCityId = openCityService.openCity1(orderLogistics.getStartLon().toString(), orderLogistics.getStartLat().toString()).getId(); break; case 5://跨城小件 - companyId = orderLogisticsService.selectById(orderId).getCompanyId(); + OrderLogistics orderLogistics1 = orderLogisticsService.selectById(orderId); + openCityId = openCityService.openCity1(orderLogistics1.getStartLon().toString(), orderLogistics1.getStartLat().toString()).getId(); + break; case 6: break; } - return sysReformistMapper.queryMoney(companyId); + return sysReformistMapper.queryMoney(openCityId); } @@ -1008,11 +1037,11 @@ } //调用移动的小号接口 Driver driver = driverService.selectById(orderPrivateCar.getDriverId()); - Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderPrivateCar.getPassengersPhone(), driver.getPhone(), (System.currentTimeMillis() + 86400000)); - if(String.valueOf(map.get("code")).equals("200")){ - orderPrivateCar.setTelX(map.get("telX")); - orderPrivateCar.setBindId(map.get("bindId")); - } +// Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderPrivateCar.getPassengersPhone(), driver.getPhone(), (System.currentTimeMillis() + 86400000)); +// if(String.valueOf(map.get("code")).equals("200")){ +// orderPrivateCar.setTelX(map.get("telX")); +// orderPrivateCar.setBindId(map.get("bindId")); +// } orderPrivateCarService.updateById(orderPrivateCar); } break; @@ -1025,11 +1054,11 @@ } //调用移动的小号接口 Driver driver = driverService.selectById(orderTaxi.getDriverId()); - Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderTaxi.getPassengersPhone(), driver.getPhone(), (System.currentTimeMillis() + 86400000)); - if(String.valueOf(map.get("code")).equals("200")){ - orderTaxi.setTelX(map.get("telX")); - orderTaxi.setBindId(map.get("bindId")); - } +// Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderTaxi.getPassengersPhone(), driver.getPhone(), (System.currentTimeMillis() + 86400000)); +// if(String.valueOf(map.get("code")).equals("200")){ +// orderTaxi.setTelX(map.get("telX")); +// orderTaxi.setBindId(map.get("bindId")); +// } orderTaxiService.updateById(orderTaxi); } break; @@ -1042,11 +1071,11 @@ } //调用移动的小号接口 Driver driver = driverService.selectById(orderCrossCity.getDriverId()); - Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderCrossCity.getPassengersPhone(), driver.getPhone(), (System.currentTimeMillis() + 86400000)); - if(String.valueOf(map.get("code")).equals("200")){ - orderCrossCity.setTelX(map.get("telX")); - orderCrossCity.setBindId(map.get("bindId")); - } +// Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderCrossCity.getPassengersPhone(), driver.getPhone(), (System.currentTimeMillis() + 86400000)); +// if(String.valueOf(map.get("code")).equals("200")){ +// orderCrossCity.setTelX(map.get("telX")); +// orderCrossCity.setBindId(map.get("bindId")); +// } orderCrossCityService.updateById(orderCrossCity); } break; diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/PhoneServiceImpl.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/PhoneServiceImpl.java index 2c21a67..1c4396a 100644 --- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/PhoneServiceImpl.java +++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/PhoneServiceImpl.java @@ -2,8 +2,11 @@ import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.stylefeng.guns.modular.system.dao.PhoneMapper; +import com.stylefeng.guns.modular.system.model.OpenCity; import com.stylefeng.guns.modular.system.model.Phone; +import com.stylefeng.guns.modular.system.service.IOpenCityService; import com.stylefeng.guns.modular.system.service.IPhoneService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -17,6 +20,8 @@ @Resource private PhoneMapper phoneMapper; + @Autowired + private IOpenCityService openCityService; /** * 获取所有系统电话 @@ -25,16 +30,8 @@ */ @Override public List<Phone> queryPhones(String code) throws Exception { - String province = code.substring(0, 2) + "0000"; - String city = code.substring(0, 4) + "00"; - - List<Phone> list = phoneMapper.queryPhones(province, city, code); - if(list.size() == 0){ - list = phoneMapper.queryPhones(province, city, null); - } - if(list.size() == 0){ - list = phoneMapper.queryPhones(province, null, null); - } + OpenCity openCity = openCityService.openCity1(code); + List<Phone> list = phoneMapper.queryPhones(openCity.getId()); return list; } @@ -47,32 +44,19 @@ */ @Override public Map<String, Object> queryCustomerPhone(String code) throws Exception { - String province = code.substring(0, 2) + "0000"; - String city = code.substring(0, 4) + "00"; - + OpenCity openCity = openCityService.openCity1(code); + Map<String, Object> map = new HashMap<>(); //平台电话 - Phone query = phoneMapper.query(2, 1, null, null, null); + Phone query = phoneMapper.queryInfo(openCity.getId(), 2, 1); map.put("platform", null != query ? query.getPhone() : ""); //公司 - query = phoneMapper.query(2, null, province, city, code); - if(query == null){ - query = phoneMapper.query(2, null, province, city, null); - } - if(query == null){ - query = phoneMapper.query(2, null, province, null, null); - } + query = phoneMapper.queryInfo(openCity.getId(), 2, 2); map.put("company", null != query ? query.getPhone() : ""); //调度电话 - query = phoneMapper.query(3, null, province, city, code); - if(query == null){ - query = phoneMapper.query(3, null, province, city, null); - } - if(query == null){ - query = phoneMapper.query(3, null, province, null, null); - } + query = phoneMapper.queryInfo(openCity.getId(), 3, null); map.put("scheduling", null != query ? query.getPhone() : ""); return map; } diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/PushOrderServiceImpl.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/PushOrderServiceImpl.java index 6256d0a..c14ca61 100644 --- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/PushOrderServiceImpl.java +++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/PushOrderServiceImpl.java @@ -25,7 +25,7 @@ * @throws Exception */ @Override - public List<PushOrder> querys(Integer type, Integer pushType, Integer companyId) throws Exception { - return pushOrderMapper.querys(type, pushType, companyId); + public List<PushOrder> querys(Integer type, Integer pushType, Integer openCityId) throws Exception { + return pushOrderMapper.querys(type, pushType, openCityId); } } diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java index 6b901be..7fbad66 100644 --- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java +++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java @@ -23,7 +23,6 @@ import com.stylefeng.guns.modular.system.util.*; import com.stylefeng.guns.modular.taxi.model.OrderTaxi; import com.stylefeng.guns.modular.taxi.service.IOrderTaxiService; -import com.stylefeng.guns.modular.taxi.service.impl.OrderTaxiServiceImpl; import org.apache.commons.lang.time.DateFormatUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -666,6 +665,9 @@ @Autowired private IPushOrderService pushOrderService; + + @Autowired + private IOpenCityService openCityService; @Autowired private PushUtil pushUtil; @@ -686,10 +688,11 @@ if (ToolUtil.isNotEmpty(vehicle)) { integers = JSON.parseArray(vehicle).toJavaList(Integer.class); } - Company query = companyCityService.query(String.valueOf(orderTaxi.getStartLon()), String.valueOf(orderTaxi.getStartLat()));//获取起点所属分公司 - List<PushOrder> querys = pushOrderService.querys(null, 2, query.getId());//获取需要推送的次数 + OpenCity openCity = openCityService.openCity1(orderTaxi.getStartLon().toString(), orderTaxi.getStartLat().toString()); + List<PushOrder> querys = pushOrderService.querys(null, 2, openCity.getId());//获取需要推送的次数 for (int i = 1; i <=6; i++) { - PushOrder pushOrder = pushOrderService.querys(i, 2, query.getId()).get(0); + int finalI = i; + PushOrder pushOrder = querys.stream().filter(s -> s.getType() == (finalI <= 3 ? finalI : 3)).findFirst().orElse(null); System.out.println("pushOrder:" + pushOrder); //获取空闲司机 List<Driver> list = driverService.queryIdleDriver(2, orderTaxi.getStartLon(), orderTaxi.getStartLat(), pushOrder.getPushDistance(), null);//所有附近空闲司机 @@ -753,14 +756,15 @@ if(ToolUtil.isNotEmpty(vehicle)){ integers = JSON.parseArray(vehicle).toJavaList(Integer.class); } - Company query = companyCityService.query(String.valueOf(orderPrivateCar.getStartLon()), String.valueOf(orderPrivateCar.getStartLat()));//获取起点所属分公司 - List<PushOrder> querys = pushOrderService.querys(null, 1, query.getId());//获取需要推送的次数 + OpenCity openCity = openCityService.openCity1(orderPrivateCar.getStartLon().toString(), orderPrivateCar.getStartLat().toString()); + List<PushOrder> querys = pushOrderService.querys(null, 1, openCity.getId());//获取需要推送的次数 for(int i = 1; i <= 6; i++){ OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(id); if (null == orderPrivateCar || orderPrivateCar.getState() > 1) { break; } - PushOrder pushOrder = pushOrderService.querys(i, 1, query.getId()).get(0); + int finalI = i; + PushOrder pushOrder = querys.stream().filter(s -> s.getType() == (finalI <= 3 ? finalI : 3)).findFirst().orElse(null); System.out.println("pushOrder:"+pushOrder); int i2 = pushOrder.getPushTime() / 10; if(i2==0){ diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/zhenglian/SM4Util.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/zhenglian/SM4Util.java index 5f2e18b..a577a70 100644 --- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/zhenglian/SM4Util.java +++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/zhenglian/SM4Util.java @@ -17,14 +17,14 @@ */ public class SM4Util { private static final String ALGORITHM_NAME = "SM4"; - + private static final String ALGORITHM_MODE = "SM4/ECB/PKCS5Padding"; - - + + static { Security.addProvider(new BouncyCastleProvider()); } - + /** * 生成 SM4 密钥 * @return 密钥的 Base64 编码字符串 @@ -36,7 +36,7 @@ SecretKey secretKey = kg.generateKey(); return Base64.getEncoder().encodeToString(secretKey.getEncoded()); } - + /** * SM4 加密 * @param plainText 明文 @@ -52,7 +52,7 @@ byte[] encryptedBytes = cipher.doFinal(plainText.getBytes(StandardCharsets.UTF_8)); return Base64.getEncoder().encodeToString(encryptedBytes); } - + /** * SM4 解密 * @param cipherText 密文的 Base64 编码字符串 @@ -69,21 +69,21 @@ byte[] decryptedBytes = cipher.doFinal(cipherBytes); return new String(decryptedBytes, StandardCharsets.UTF_8); } - + public static void main(String[] args) { try { // 生成密钥 String key = generateKey(); System.out.println("生成的密钥: " + key); - + // 明文 String plainText = "Hello, SM4!"; System.out.println("明文: " + plainText); - + // 加密 String cipherText = encrypt(plainText, key); System.out.println("密文: " + cipherText); - + // 解密 String decryptedText = decrypt(cipherText, key); System.out.println("解密后的明文: " + decryptedText); @@ -91,5 +91,5 @@ e.printStackTrace(); } } - + } diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java index abdd299..c8da649 100644 --- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java +++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java @@ -133,7 +133,7 @@ * @throws Exception */ @Override - public synchronized ResultUtil grabOrder(Integer orderId, Integer uid) throws Exception { + public ResultUtil grabOrder(Integer orderId, Integer uid) throws Exception { OrderPrivateCar orderPrivateCar1 = orderPrivateCarService.selectById(orderId); if(null != orderPrivateCar1 && orderPrivateCar1.getType() == 3 && orderPrivateCar1.getState() != 1&& orderPrivateCar1.getState() != 11){ return ResultUtil.error("订单已被抢了"); @@ -196,16 +196,16 @@ orderTaxi.setSnatchOrderTime(new Date()); //调用高德创建轨迹 - String s = gdFalconUtil.selectTerminal(driver.getPhone()); - String track = gdFalconUtil.createTrack(s); - orderTaxi.setTrackId(track); - - //调用移动的小号接口 - Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderTaxi.getPassengersPhone(), driver.getPhone(), (System.currentTimeMillis() + 86400000)); - if(String.valueOf(map.get("code")).equals("200")){ - orderTaxi.setTelX(map.get("telX")); - orderTaxi.setBindId(map.get("bindId")); - } +// String s = gdFalconUtil.selectTerminal(driver.getPhone()); +// String track = gdFalconUtil.createTrack(s); +// orderTaxi.setTrackId(track); +// +// //调用移动的小号接口 +// Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderTaxi.getPassengersPhone(), driver.getPhone(), (System.currentTimeMillis() + 86400000)); +// if(String.valueOf(map.get("code")).equals("200")){ +// orderTaxi.setTelX(map.get("telX")); +// orderTaxi.setBindId(map.get("bindId")); +// } this.updateById(orderTaxi); @@ -356,9 +356,9 @@ } //调用高德创建轨迹 - String s = gdFalconUtil.selectTerminal(driver.getPhone()); - String track = gdFalconUtil.createTrack(s); - orderTaxi.setTrackId(track); +// String s = gdFalconUtil.selectTerminal(driver.getPhone()); +// String track = gdFalconUtil.createTrack(s); +// orderTaxi.setTrackId(track); //调用移动的小号接口 TODO 车载端使用真实号码 // Map<String, String> geocode = gdMapGeocodingUtil.geocode(orderTaxi.getStartLon().toString(), orderTaxi.getStartLat().toString()); diff --git a/DriverQYTTravel/guns-admin/src/main/resources/application-dev.yml b/DriverQYTTravel/guns-admin/src/main/resources/application-dev.yml index 636dbc5..bc114f2 100644 --- a/DriverQYTTravel/guns-admin/src/main/resources/application-dev.yml +++ b/DriverQYTTravel/guns-admin/src/main/resources/application-dev.yml @@ -78,6 +78,7 @@ appletsAppSecret: 5610fc6126255ca5f7bd9fa4330338b6 # mchId: 111 #微信支付分配的商户号 key: 111 #key为商户平台设置的密钥key: + url: https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={0}&secret={1} --- diff --git a/DriverQYTTravel/guns-admin/src/main/resources/application.yml b/DriverQYTTravel/guns-admin/src/main/resources/application.yml index f0c95b4..59943d5 100644 --- a/DriverQYTTravel/guns-admin/src/main/resources/application.yml +++ b/DriverQYTTravel/guns-admin/src/main/resources/application.yml @@ -1,116 +1,3 @@ -server: - port: 8007 - -guns: - swagger-open: true #是否开启swagger (true/false) - kaptcha-open: false #是否开启登录时验证码 (true/false) - file-upload-path: d:/tmp #文件上传目录(不配置的话为java.io.tmpdir目录) - picture-server-address: http://192.168.0.43/resources/ #图片服务器地址 - spring-session-open: false #是否开启spring session,如果是多机环境需要开启(true/false) - session-invalidate-time: 1800 #session失效时间(只在单机环境下生效,多机环境在SpringSessionConfig类中配置) 单位:秒 - session-validation-interval: 900 #多久检测一次失效的session(只在单机环境下生效) 单位:秒 - spring: - application: - name: driver-server profiles: - active: dev - mvc: - static-path-pattern: /static/** - view: - prefix: /WEB-INF/view - devtools: - restart: - enabled: false - additional-paths: src/main/java - exclude: static/**,WEB-INF/view/** - servlet: - multipart: - max-request-size: 100MB - max-file-size: 100MB - redis: - host: 172.21.35.151 - port: 6512 - password: SC_cache@20#25 - database: 0 - timeout: 1000 - cluster: - nodes: 172.21.35.151:6512,172.21.35.152:6512,172.21.35.153:6512,172.21.35.151:6513,172.21.35.152:6513,172.21.35.153:6513 - -mybatis-plus: - typeAliasesPackage: com.stylefeng.guns.modular - global-config: - id-type: 0 #0:数据库ID自增 1:用户输入id 2:全局唯一id(IdWorker) 3:全局唯一ID(uuid) - db-column-underline: false - configuration: - configuration.map-underscore-to-camel-case: true #是否开启自动驼峰命名规则(camel case)映射 - log-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl #输出Sql,如需打印Sql注释该配置 - - -eureka: - client: - service-url: #注册中心地址 - defaultZone: http://sinata:sinata@127.0.0.1:8000/eureka #启用身份验证的方式连接 - register-with-eureka: true #在注册中心进行注册 - fetch-registry: true #从Eureka中获取注册信息。 - ---- - -spring: - datasource: - url: jdbc:mysql://172.21.35.140:8066/traffic_scdb?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=Asia/Shanghai - username: traffic_scusr - password: QYT_sc@20#25 - db-name: traffic_scdb #用来搜集数据库的所有表 - filters: wall,mergeStat - ---- -spring: - data: - mongodb: - uri: mongodb://qyt_jtcx:qyt_jtcx2025@172.21.35.195:27017,172.21.35.196:27017/traveling_track - ---- - -wx: - grantType: authorization_code #填authorization_code - appid: 111 #应用唯一标识,在微信开放平台提交应用审核通过后获得 - appSecret: 111 #应用密钥AppSecret,在微信开放平台提交应用审核通过后获得 - appletsAppid: wxcc3c9058e2b294db #小程序APPid - appletsAppSecret: 5610fc6126255ca5f7bd9fa4330338b6 # - mchId: 111 #微信支付分配的商户号 - key: 111 #key为商户平台设置的密钥key: - ---- - -alipay: - appid: 111 #应用程序唯一标识 - appPrivateKey: 111 #开发者应用私钥 - alipayPublicKey: 1 #应用公钥 - alipay_public_key: 111 #支付宝公钥 - ---- - -juhe: #聚合数据 - appKey: 111 # - - ---- - -jiguang: - appKey-driver: 111 #极光推送应用唯一标识 - masterSecret-driver: 111 #用于服务器端 API 调用时与 AppKey 配合使用达到鉴权的目的 - appKey-dispatch: 111 #极光推送应用唯一标识 - masterSecret-dispatch: 111 #用于服务器端 API 调用时与 AppKey 配合使用达到鉴权的目的 - - ---- - -#支付回调地址 -#正式环境 -callbackPath: https://traffic.qytzt.cn/driver - ---- -#交通部推送数据功能开关 -pushMinistryOfTransport: false - + active: "@spring.active@" \ No newline at end of file -- Gitblit v1.7.1