| | |
| | | import com.stylefeng.guns.core.base.controller.BaseController; |
| | | import com.stylefeng.guns.core.common.constant.factory.PageFactory; |
| | | import com.stylefeng.guns.core.shiro.ShiroKit; |
| | | import com.stylefeng.guns.core.util.DateUtil; |
| | | import com.stylefeng.guns.core.util.SinataUtil; |
| | | import com.stylefeng.guns.core.util.ToolUtil; |
| | | import com.stylefeng.guns.modular.system.model.TDriver; |
| | | import com.stylefeng.guns.modular.system.model.TOrderPosition; |
| | | import com.stylefeng.guns.modular.system.model.TUser; |
| | | import com.stylefeng.guns.modular.system.service.*; |
| | | import com.stylefeng.guns.modular.system.util.HttpRequestUtil; |
| | | import com.stylefeng.guns.modular.system.util.PushURL; |
| | | import com.stylefeng.guns.modular.system.util.ResultUtil; |
| | | import org.apache.commons.collections.CollectionUtils; |
| | | import com.stylefeng.guns.modular.system.service.ITDriverService; |
| | | import com.stylefeng.guns.modular.system.service.ITOrderPositionService; |
| | | import com.stylefeng.guns.modular.system.util.*; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.web.bind.annotation.*; |
| | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import com.stylefeng.guns.core.log.LogObjectHolder; |
| | | import com.stylefeng.guns.modular.system.model.TOrderTaxi; |
| | | import com.stylefeng.guns.modular.system.service.ITOrderTaxiService; |
| | | |
| | | import java.io.BufferedReader; |
| | | import java.io.File; |
| | | import java.io.FileInputStream; |
| | | import java.io.InputStreamReader; |
| | | import java.util.*; |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * 出租车订单控制器 |
| | |
| | | private ITOrderTaxiService tOrderTaxiService; |
| | | |
| | | @Autowired |
| | | private ITOrderPrivateCarService tOrderPrivateCarService; |
| | | |
| | | @Autowired |
| | | private ITOrderPositionService tOrderPositionService; |
| | | |
| | | @Autowired |
| | | private ITDriverService tDriverService; |
| | | |
| | | @Autowired |
| | | private ITUserService userService; |
| | | |
| | | @Value("${filePath}") |
| | | private String filePath; |
| | |
| | | @RequestMapping("/tOrderTaxi_update/{tOrderTaxiId}") |
| | | public String tOrderTaxiUpdate(@PathVariable Integer tOrderTaxiId, Model model) { |
| | | Map<String, Object> tOrderTaxi = tOrderTaxiService.getTaxiOrderDetailById(tOrderTaxiId); |
| | | |
| | | if (ToolUtil.isNotEmpty(tOrderTaxi)){ |
| | | List<Map<String, Object>> surchargeList = new ArrayList<>(); |
| | | List<Map<String, Object>> mapList = tOrderPrivateCarService.getSurcharge(tOrderTaxi.get("id"),2); |
| | | if (CollectionUtils.isNotEmpty(mapList)) { |
| | | tOrderTaxi.put("roadTollMoney", String.format(String.format("%.2f", mapList.get(0).get("amount")))); |
| | | for (int i = 0; i < mapList.size(); i++) { |
| | | if (i > 0) { |
| | | mapList.get(i).put("amount",String.format("%.2f", Double.valueOf(Double.valueOf(mapList.get(i).get("amount").toString())))); |
| | | surchargeList.add(mapList.get(i)); |
| | | } |
| | | } |
| | | tOrderTaxi.put("surchargeList", surchargeList); |
| | | } |
| | | } |
| | | model.addAttribute("item", tOrderTaxi); |
| | | LogObjectHolder.me().set(tOrderTaxi); |
| | | |
| | | tOrderTaxi.put("userPhone", null != tOrderTaxi.get("userPhone") ? AESUtil.decrypt(tOrderTaxi.get("userPhone").toString()) : ""); |
| | | model.addAttribute("item", tOrderTaxi); |
| | | LogObjectHolder.me().set(tOrderTaxi); |
| | | return PREFIX + "tOrderTaxi_edit.html"; |
| | |
| | | |
| | | /** |
| | | * 获取订单轨迹 |
| | | * |
| | | * @param orderDetailId |
| | | * @return |
| | | */ |
| | |
| | | public Object cancel(@RequestParam Integer tOrderTaxiId) { |
| | | TOrderTaxi tOrderTaxi = tOrderTaxiService.selectById(tOrderTaxiId); |
| | | |
| | | if (SinataUtil.isNotEmpty(tOrderTaxi.getDriverId())) { |
| | | //修改之前司机状态 -- 空闲 |
| | | TDriver driver = tDriverService.selectById(tOrderTaxi.getDriverId()); |
| | | driver.setState(2); |
| | | tDriverService.updateById(driver); |
| | | } |
| | | |
| | | tOrderTaxi.setState(10); |
| | | tOrderTaxiService.updateById(tOrderTaxi); |
| | |
| | | String result = HttpRequestUtil.postRequest(PushURL.cancel_order_url, map); |
| | | System.out.println("出租车取消:【orderId=" + tOrderTaxi.getId().toString() + "】,调用接口:" + result); |
| | | |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 修改出租车订单 |
| | | */ |
| | | @RequestMapping(value = "/add") |
| | | @ResponseBody |
| | | public Object add(TOrderTaxi tOrderTaxi) { |
| | | TUser user = userService.selectOne(new EntityWrapper<TUser>().eq("phone", tOrderTaxi.getPassengersPhone())); |
| | | if (ToolUtil.isNotEmpty(user)) {/// 用户是平台用户 |
| | | tOrderTaxi.setOrderNum("TAXI" + String.valueOf(1000000 + tOrderTaxiService.selectList(null).size() + 1).substring(1)); |
| | | tOrderTaxi.setUserId(user.getId()); |
| | | tOrderTaxi.setState(1); |
| | | tOrderTaxi.setInsertTime(DateUtil.parseTime(DateUtil.getTime())); |
| | | tOrderTaxi.setOrderType(5); |
| | | tOrderTaxi.setType(1); |
| | | tOrderTaxi.setIsReassign(1); |
| | | tOrderTaxi.setReassignNotice(0); |
| | | tOrderTaxi.setSubstitute(0); |
| | | tOrderTaxi.setBoardingLon(tOrderTaxi.getStartLon()); |
| | | tOrderTaxi.setBoardingLat(tOrderTaxi.getStartLat()); |
| | | tOrderTaxi.setPlacementAddress(tOrderTaxi.getStartAddress()); |
| | | |
| | | /// 判断是否为预约单 |
| | | long travelTime = tOrderTaxi.getTravelTime().getTime(); |
| | | long momengtTime = new Date().getTime(); |
| | | if ((travelTime - momengtTime) > 10 * 60 * 1000) { |
| | | tOrderTaxi.setOrderType(2); |
| | | } else { |
| | | tOrderTaxi.setOrderType(1); |
| | | } |
| | | tOrderTaxiService.insert(tOrderTaxi); |
| | | } else {/// 用户不是平台用户时 |
| | | TUser tUser = new TUser(); |
| | | tUser.setInsertTime(DateUtil.parseTime(DateUtil.getTime())); |
| | | tUser.setPhone(tOrderTaxi.getPassengersPhone()); |
| | | tUser.setName(tOrderTaxi.getPassengers()); |
| | | tUser.setNickName("JYX" + String.valueOf(1000000 + userService.selectList(null).size() + 1).substring(1)); |
| | | userService.insert(tUser); |
| | | |
| | | /// 存入订单信息 |
| | | tOrderTaxi.setOrderNum("TAXI" + String.valueOf(1000000 + tOrderTaxiService.selectList(null).size() + 1).substring(1)); |
| | | tOrderTaxi.setUserId(tUser.getId()); |
| | | tOrderTaxi.setState(1); |
| | | tOrderTaxi.setInsertTime(DateUtil.parseTime(DateUtil.getTime())); |
| | | tOrderTaxi.setOrderType(5); |
| | | tOrderTaxi.setType(1); |
| | | tOrderTaxi.setIsReassign(1); |
| | | tOrderTaxi.setReassignNotice(0); |
| | | tOrderTaxi.setSubstitute(0); |
| | | tOrderTaxi.setBoardingLon(tOrderTaxi.getStartLon()); |
| | | tOrderTaxi.setBoardingLat(tOrderTaxi.getStartLat()); |
| | | tOrderTaxi.setPlacementAddress(tOrderTaxi.getStartAddress()); |
| | | |
| | | /// 判断是否为预约单 |
| | | long travelTime = tOrderTaxi.getTravelTime().getTime(); |
| | | long momengtTime = new Date().getTime(); |
| | | if ((travelTime - momengtTime) > 10 * 60 * 1000) { |
| | | tOrderTaxi.setOrderType(2); |
| | | } else { |
| | | tOrderTaxi.setOrderType(1); |
| | | } |
| | | tOrderTaxiService.insert(tOrderTaxi); |
| | | } |
| | | return SUCCESS_TIP; |
| | | } |
| | | |