| | |
| | | |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.baomidou.mybatisplus.mapper.Wrapper; |
| | | import com.baomidou.mybatisplus.plugins.Page; |
| | | 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.dao.OrderCancelMapper; |
| | | import com.stylefeng.guns.modular.system.model.*; |
| | | import com.stylefeng.guns.modular.system.service.*; |
| | | import com.stylefeng.guns.modular.system.util.HttpRequestUtil; |
| | | import com.stylefeng.guns.modular.system.util.PushMinistryOfTransportUtil; |
| | | import com.stylefeng.guns.modular.system.util.PushURL; |
| | | import com.stylefeng.guns.modular.system.util.ResultUtil; |
| | | import org.apache.commons.collections.CollectionUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import com.stylefeng.guns.modular.system.util.*; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.ui.Model; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.ui.Model; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import com.stylefeng.guns.core.log.LogObjectHolder; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.io.BufferedReader; |
| | |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * 快车订单控制器 |
| | | * 专车订单控制器 |
| | | * |
| | | * @author fengshuonan |
| | | * @Date 2020-09-02 17:28:59 |
| | |
| | | private ITOrderPositionService tOrderPositionService; |
| | | |
| | | @Autowired |
| | | private ITServerCarmodelService serverCarmodelService; |
| | | |
| | | @Autowired |
| | | private ITDriverService tDriverService; |
| | | |
| | | @Autowired |
| | | private PushMinistryOfTransportUtil pushMinistryOfTransportUtil; |
| | | @Autowired |
| | | private ITUserService userService; |
| | | |
| | | @Resource |
| | | private OrderCancelMapper orderCancelMapper; |
| | | |
| | |
| | | |
| | | |
| | | /** |
| | | * 跳转到快车订单首页 |
| | | * 跳转到专车订单首页 |
| | | */ |
| | | @RequestMapping("") |
| | | public String index(Model model) { |
| | | //服务快车车型 |
| | | //服务专车车型 |
| | | List<TServerCarmodel> carmodelList = tServerCarmodelService.selectList(new EntityWrapper<TServerCarmodel>().eq("type", 1).eq("state", 1)); |
| | | model.addAttribute("carmodelList",carmodelList); |
| | | return PREFIX + "tOrderPrivateCar.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到修改快车订单 |
| | | * 跳转到修改专车订单 |
| | | */ |
| | | @RequestMapping("/tOrderPrivateCar_orderDetail/{tOrderPrivateCarId}") |
| | | public String tOrderPrivateCarUpdate(@PathVariable Integer tOrderPrivateCarId, Model model) { |
| | | Map<String, Object> item = tOrderPrivateCarService.getPrivateCarOrderDetailById(tOrderPrivateCarId); |
| | | item.put("userPhone", null != item.get("userPhone") ? AESUtil.decrypt(item.get("userPhone").toString()) : ""); |
| | | model.addAttribute("item",item); |
| | | List<TOrderPrivateCar> tOrderPrivateCars = tOrderPrivateCarService.selectList(new EntityWrapper<TOrderPrivateCar>().eq("pid", tOrderPrivateCarId).eq("isDelete", 1)); |
| | | List<Map<String, Object>> maps = new ArrayList<>(); |
| | | for (TOrderPrivateCar tOrderPrivateCar : tOrderPrivateCars) { |
| | | item = tOrderPrivateCarService.getPrivateCarOrderDetailById(tOrderPrivateCar.getId()); |
| | | String phone = item.get("userPhone").toString(); |
| | | item.put("userPhone1", phone.substring(phone.length() - 4)); |
| | | maps.add(item); |
| | | } |
| | | model.addAttribute("maps",maps); |
| | | return PREFIX + "tOrderPrivateCar_orderDetail.html"; |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | /** |
| | | * 获取快车订单列表 |
| | | * 获取专车订单列表 |
| | | */ |
| | | @RequestMapping(value = "/list") |
| | | @ResponseBody |
| | |
| | | String passengersPhone, |
| | | Integer serverCarModelId, |
| | | String driver, |
| | | Integer state, |
| | | Integer rideType) { |
| | | Integer state) { |
| | | String beginTime = null; |
| | | String endTime = null; |
| | | if (SinataUtil.isNotEmpty(insertTime)){ |
| | |
| | | endTime = timeArray[1]; |
| | | } |
| | | Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage(); |
| | | page.setRecords(tOrderPrivateCarService.getPrivateCarOrderList(page,beginTime,endTime,ShiroKit.getUser().getRoleType(),ShiroKit.getUser().getObjectId(), |
| | | orderNum,orderSource,userName,userPhone,passengers,passengersPhone,serverCarModelId,driver,state,rideType)); |
| | | page.setRecords(tOrderPrivateCarService.getPrivateCarOrderList(page,beginTime,endTime,ShiroKit.getUser().getRoleType(),ShiroKit.getUser().getObjectId(),orderNum,orderSource,userName,userPhone,passengers,passengersPhone,serverCarModelId,driver,state)); |
| | | return super.packForBT(page); |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | /** |
| | | * 取消快车订单 |
| | | * 取消专车订单 |
| | | */ |
| | | @RequestMapping(value = "/cancel") |
| | | @ResponseBody |
| | |
| | | map.put("id", tOrderPrivateCar.getId().toString()); |
| | | map.put("orderType", "1"); |
| | | String result = HttpRequestUtil.postRequest(PushURL.cancel_order_url, map); |
| | | System.out.println("快车取消:【orderId="+tOrderPrivateCar.getId().toString()+"】,调用接口:"+result); |
| | | System.out.println("专车取消:【orderId="+tOrderPrivateCar.getId().toString()+"】,调用接口:"+result); |
| | | |
| | | new Thread(new Runnable() { |
| | | @Override |
| | |
| | | } |
| | | |
| | | /** |
| | | * 删除快车订单 |
| | | * 删除专车订单 |
| | | */ |
| | | @RequestMapping(value = "/delete") |
| | | @ResponseBody |
| | |
| | | TOrderPrivateCar tOrderPrivateCar = tOrderPrivateCarService.selectById(tOrderPrivateCarId); |
| | | tOrderPrivateCar.setIsDelete(2); |
| | | tOrderPrivateCarService.updateById(tOrderPrivateCar); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 跳转添加快车订单 |
| | | * |
| | | * @return |
| | | */ |
| | | @RequestMapping("/tOrderPrivateCar_addOrder") |
| | | public String addOrderIndex(Model model) { |
| | | |
| | | /*获取车型*/ |
| | | Wrapper<TServerCarmodel> wrapper = new EntityWrapper<>(); |
| | | wrapper.eq("state", 1); |
| | | List<TServerCarmodel> models = serverCarmodelService.selectList(wrapper); |
| | | model.addAttribute("carModelList", models); |
| | | |
| | | return PREFIX + "tOrderPrivateCar_add.html"; |
| | | } |
| | | |
| | | |
| | | @RequestMapping("/add") |
| | | @ResponseBody |
| | | public Object add(TOrderPrivateCar privateCar) { |
| | | TUser user = userService.selectOne(new EntityWrapper<TUser>().eq("phone", privateCar.getPassengersPhone())); |
| | | if (ToolUtil.isNotEmpty(user)) {/// 用户是平台用户 |
| | | privateCar.setOrderNum("PRIVATE" + String.valueOf(1000000 + privateCar.selectList(null).size() + 1).substring(1)); |
| | | privateCar.setUserId(user.getId()); |
| | | privateCar.setState(1); |
| | | privateCar.setInsertTime(DateUtil.parseTime(DateUtil.getTime())); |
| | | privateCar.setOrderType(5); |
| | | privateCar.setType(1); |
| | | privateCar.setIsReassign(1); |
| | | privateCar.setReassignNotice(0); |
| | | privateCar.setSubstitute(0); |
| | | privateCar.setOrderSource(5); |
| | | privateCar.setBoardingLon(privateCar.getStartLon()); |
| | | privateCar.setBoardingLat(privateCar.getStartLat()); |
| | | privateCar.setPlacementAddress(ToolUtil.formatting(privateCar.getEndAddress())); |
| | | privateCar.setStartAddress(ToolUtil.formatting(privateCar.getStartAddress())); |
| | | privateCar.setEndAddress(ToolUtil.formatting(privateCar.getEndAddress())); |
| | | /// 判断是否为预约单 |
| | | long travelTime = privateCar.getTravelTime().getTime(); |
| | | long momengtTime = new Date().getTime(); |
| | | if ((travelTime - momengtTime) > 10 * 60 * 1000) { |
| | | privateCar.setOrderType(2); |
| | | } else { |
| | | privateCar.setOrderType(1); |
| | | } |
| | | tOrderPrivateCarService.insert(privateCar); |
| | | } else {/// 用户不是平台用户时 |
| | | TUser tUser = new TUser(); |
| | | tUser.setInsertTime(DateUtil.parseTime(DateUtil.getTime())); |
| | | tUser.setPhone(privateCar.getPassengersPhone()); |
| | | tUser.setName(privateCar.getPassengers()); |
| | | tUser.setNickName("PRIVATE" + String.valueOf(1000000 + userService.selectList(null).size() + 1).substring(1)); |
| | | userService.insert(tUser); |
| | | |
| | | /// 存入订单信息 |
| | | privateCar.setOrderNum("PRIVATE" + String.valueOf(1000000 + tOrderPrivateCarService.selectList(null).size() + 1).substring(1)); |
| | | privateCar.setUserId(tUser.getId()); |
| | | privateCar.setState(1); |
| | | privateCar.setInsertTime(DateUtil.parseTime(DateUtil.getTime())); |
| | | privateCar.setOrderType(5); |
| | | privateCar.setType(1); |
| | | privateCar.setIsReassign(1); |
| | | privateCar.setReassignNotice(0); |
| | | privateCar.setSubstitute(0); |
| | | privateCar.setOrderSource(5); |
| | | privateCar.setBoardingLon(privateCar.getStartLon()); |
| | | privateCar.setBoardingLat(privateCar.getStartLat()); |
| | | privateCar.setPlacementAddress(ToolUtil.formatting(privateCar.getStartAddress())); |
| | | privateCar.setStartAddress(ToolUtil.formatting(privateCar.getStartAddress())); |
| | | privateCar.setEndAddress(ToolUtil.formatting(privateCar.getEndAddress())); |
| | | |
| | | /// 判断是否为预约单 |
| | | long travelTime = privateCar.getTravelTime().getTime(); |
| | | long momengtTime = new Date().getTime(); |
| | | if ((travelTime - momengtTime) > 10 * 60 * 1000) { |
| | | privateCar.setOrderType(2); |
| | | } else { |
| | | privateCar.setOrderType(1); |
| | | } |
| | | tOrderPrivateCarService.insert(privateCar); |
| | | } |
| | | return SUCCESS_TIP; |
| | | } |
| | | } |