package com.stylefeng.guns.modular.system.controller.specialTrain;
|
|
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.beetl.ShiroExtUtil;
|
import com.stylefeng.guns.core.common.constant.factory.PageFactory;
|
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.*;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.data.domain.Sort;
|
import org.springframework.data.mongodb.core.MongoTemplate;
|
import org.springframework.data.mongodb.core.query.Criteria;
|
import org.springframework.data.mongodb.core.query.Query;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.ui.Model;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.annotation.Resource;
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletResponse;
|
import java.math.BigDecimal;
|
import java.util.*;
|
|
/**
|
* 快车订单控制器
|
*
|
* @author fengshuonan
|
* @Date 2020-09-02 17:28:59
|
*/
|
@Controller
|
@RequestMapping("/abnormal")
|
public class TAbnormalOrderCarController extends BaseController {
|
|
private String PREFIX = "/system/tAbnormalOrderCar/";
|
|
@Autowired
|
private ITOrderPrivateCarService tOrderPrivateCarService;
|
|
@Autowired
|
private ITServerCarmodelService tServerCarmodelService;
|
|
@Autowired
|
private ITOrderPositionService tOrderPositionService;
|
|
@Autowired
|
private ITServerCarmodelService serverCarmodelService;
|
|
@Autowired
|
private ITDriverService tDriverService;
|
|
@Autowired
|
private PushMinistryOfTransportUtil pushMinistryOfTransportUtil;
|
@Autowired
|
private ITUserService userService;
|
@Resource
|
private OrderCancelMapper orderCancelMapper;
|
@Autowired
|
private ITOrderCrossCityService tOrderCrossCityService;
|
|
@Autowired
|
private ITOrderTaxiService tOrderTaxiService;
|
|
|
@Value("${pushMinistryOfTransport}")
|
private boolean pushMinistryOfTransport;
|
|
@Resource
|
private MongoTemplate mongoTemplate;
|
|
@Autowired
|
private ShiroExtUtil shiroExtUtil;
|
|
@Autowired
|
private TAbnormalPayOrderService tAbnormalPayOrderService;
|
|
|
/**
|
* 跳转到快车订单首页
|
*/
|
@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 + "tAbnormalOrder.html";
|
}
|
|
/**
|
* 跳转到修改快车订单
|
*/
|
@RequestMapping("/tOrderPrivateCar_orderDetail")
|
public String tOrderPrivateCarUpdate(Integer tOrderPrivateCarId,Integer type, Model model) {
|
if(type==1){
|
Map<String, Object> item = tOrderPrivateCarService.getPrivateCarOrderDetailById(tOrderPrivateCarId);
|
|
Object o1 = item.get("abnormalImg");
|
if(o1!=null){
|
String[] split = o1.toString().split(",");
|
model.addAttribute("abnormalImg",split);
|
}else {
|
model.addAttribute("abnormalImg",new String[]{});
|
}
|
// money是修改后的金额
|
model.addAttribute("money",0);
|
Object o2 = item.get("responsibilityType");
|
if(o2!=null){
|
if(Integer.valueOf(o2.toString())>2){
|
TAbnormalPayOrder tAbnormalPayOrder = tAbnormalPayOrderService.selectOne(new EntityWrapper<TAbnormalPayOrder>().eq("type", 1).eq("orderNum", item.get("orderNum")));
|
model.addAttribute("money",tAbnormalPayOrder.getPayMoney());
|
}
|
}
|
model.addAttribute("item",item);
|
model.addAttribute("type",1);
|
|
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);
|
}else if(type==2){
|
Map<String, Object> item = tOrderCrossCityService.getCrossCityOrderDetailById(tOrderPrivateCarId);
|
Object o1 = item.get("abnormalImg");
|
if(o1!=null){
|
String[] split = o1.toString().split(",");
|
model.addAttribute("abnormalImg",split);
|
}else {
|
model.addAttribute("abnormalImg",new String[]{});
|
}
|
Object o2 = item.get("responsibilityType");
|
model.addAttribute("money",0);
|
if(o2!=null){
|
if(Integer.valueOf(o2.toString())>2){
|
TAbnormalPayOrder tAbnormalPayOrder = tAbnormalPayOrderService.selectOne(new EntityWrapper<TAbnormalPayOrder>().eq("type", 2).eq("orderNum", item.get("orderNum")));
|
model.addAttribute("money",tAbnormalPayOrder.getPayMoney());
|
}
|
}
|
model.addAttribute("type",2);
|
model.addAttribute("item",item);
|
}else if(type==3){
|
Map<String, Object> item = tOrderTaxiService.getTaxiOrderDetailById(tOrderPrivateCarId);
|
Object o1 = item.get("abnormalImg");
|
if(o1!=null){
|
String[] split = o1.toString().split(",");
|
model.addAttribute("abnormalImg",split);
|
}else {
|
model.addAttribute("abnormalImg",new String[]{});
|
}
|
model.addAttribute("money",0);
|
Object o2 = item.get("responsibilityType");
|
if(o2!=null){
|
if(Integer.valueOf(o2.toString())>2){
|
TAbnormalPayOrder tAbnormalPayOrder = tAbnormalPayOrderService.selectOne(new EntityWrapper<TAbnormalPayOrder>().eq("type", 3).eq("orderNum", item.get("orderNum")));
|
model.addAttribute("money",tAbnormalPayOrder.getPayMoney());
|
}
|
}
|
model.addAttribute("type",3);
|
model.addAttribute("item",item);
|
}
|
|
return PREFIX + "tAbnormalOrder_orderDetail.html";
|
}
|
|
/**
|
* 跳转到出租车订单轨迹页面
|
*/
|
@RequestMapping("/tOrderPrivateCar_trajectory/{tOrderPrivateCarId}")
|
public String tOrderTaxi_trajectory(@PathVariable Integer tOrderPrivateCarId, Model model) {
|
model.addAttribute("tOrderPrivateCarId",tOrderPrivateCarId);
|
return PREFIX + "tOrderPrivateCar_trajectory.html";
|
}
|
|
/**
|
* 获取快车订单列表
|
*/
|
@RequestMapping(value = "/list")
|
@ResponseBody
|
public Object list(String insertTime,
|
String orderNum,
|
Integer orderSource,
|
String userName,
|
String userPhone,
|
String passengers,
|
String passengersPhone,
|
Integer serverCarModelId,
|
String driver,
|
Integer state,
|
Integer rideType,
|
Integer abnormal,
|
Integer promotion,
|
String promotionUser,Integer type,Integer abnormalStatus
|
) {
|
String beginTime = null;
|
String endTime = null;
|
if (SinataUtil.isNotEmpty(insertTime)) {
|
String[] timeArray = insertTime.split(" - ");
|
beginTime = timeArray[0];
|
endTime = timeArray[1];
|
}
|
abnormal = 2;
|
Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
|
// 快车
|
if(type==1){
|
page.setRecords(tOrderPrivateCarService.getPrivateCarOrderList(page, beginTime, endTime, shiroExtUtil.getUser().getRoleType(), shiroExtUtil.getUser().getObjectId(),
|
orderNum, orderSource, userName, userPhone, passengers, passengersPhone, serverCarModelId, driver, state, rideType, abnormal, promotion, promotionUser,abnormalStatus));
|
return super.packForBT(page);
|
// 跨城
|
}else if(type==2){
|
page.setRecords(tOrderCrossCityService.getCrossCityOrderList(page, beginTime, endTime, shiroExtUtil.getUser().getRoleType(), shiroExtUtil.getUser().getObjectId(), orderNum, orderSource, userName, userPhone, passengers, passengersPhone, serverCarModelId, driver, null, state, abnormal, promotion, promotionUser,abnormalStatus));
|
return super.packForBT(page);
|
// 出租车
|
}else if(type==3){
|
page.setRecords(tOrderTaxiService.getTaxiOrderList(page, beginTime, endTime, shiroExtUtil.getUser().getRoleType(), shiroExtUtil.getUser().getObjectId(), orderNum, orderSource, userName, userPhone, passengers, passengersPhone, driver, state, abnormal, promotion, promotionUser,abnormalStatus));
|
return super.packForBT(page);
|
}
|
return super.packForBT(page);
|
}
|
|
|
|
@GetMapping("/export")
|
@ResponseBody
|
public void export(String insertTime,
|
String orderNum,
|
Integer orderSource,
|
String userName,
|
String userPhone,
|
String passengers,
|
String passengersPhone,
|
Integer serverCarModelId,
|
String driver,
|
Integer state,
|
Integer rideType,
|
Integer abnormal,
|
Integer promotion,
|
String promotionUser,Integer type,Integer abnormalStatus, HttpServletRequest request, HttpServletResponse response) {
|
try {
|
String beginTime = null;
|
String endTime = null;
|
if (SinataUtil.isNotEmpty(insertTime)) {
|
String[] timeArray = insertTime.split(" - ");
|
beginTime = timeArray[0];
|
endTime = timeArray[1];
|
}
|
abnormal = 2;
|
List<Map<String, Object>> list=new ArrayList<>();
|
if(type==1){
|
list = tOrderPrivateCarService.getPrivateCarOrderListExport(null, beginTime, endTime, shiroExtUtil.getUser().getRoleType(), shiroExtUtil.getUser().getObjectId(),
|
orderNum, orderSource, userName, userPhone, passengers, passengersPhone, serverCarModelId, driver, state, rideType, abnormal, promotion, promotionUser,abnormalStatus);
|
}else if(type==2){
|
list = tOrderCrossCityService.getCrossCityOrderListExport(null, beginTime, endTime, shiroExtUtil.getUser().getRoleType(), shiroExtUtil.getUser().getObjectId(), orderNum, orderSource, userName, userPhone, passengers, passengersPhone, serverCarModelId, driver, null, state, abnormal, promotion, promotionUser,abnormalStatus);
|
}else if(type==3){
|
list = tOrderTaxiService.getTaxiOrderListExport(null, beginTime, endTime, shiroExtUtil.getUser().getRoleType(), shiroExtUtil.getUser().getObjectId(), orderNum, orderSource, userName, userPhone, passengers, passengersPhone, driver, state, abnormal, promotion, promotionUser,abnormalStatus);
|
}
|
|
|
// 表格数据【封装】
|
List<List<String>> dataList = new ArrayList<>();
|
|
//第一行显示【封装】
|
List<String> twoList = new ArrayList<String>();
|
twoList.add("总计:");
|
twoList.add(String.valueOf(list.size())+"条");
|
dataList.add(twoList);
|
|
// 列【封装】
|
List<String> shellList = new ArrayList<String>();
|
shellList.add("下单时间");
|
shellList.add("订单编号");
|
shellList.add("订单来源");
|
shellList.add("乘车时间");
|
shellList.add("下单用户昵称");
|
shellList.add("下单用户手机");
|
shellList.add("乘车用户姓名");
|
shellList.add("乘车用户手机");
|
shellList.add("起点");
|
shellList.add("终点");
|
shellList.add("线路名称");
|
shellList.add("选择车型");
|
shellList.add("接单司机");
|
shellList.add("接单车辆");
|
shellList.add("订单金额");
|
shellList.add("状态");
|
shellList.add("是否异常订单");
|
shellList.add("是否推广订单");
|
shellList.add("推广员姓名");
|
shellList.add("推广员电话");
|
dataList.add(shellList);
|
|
for (Map<String,Object> object : list){
|
// 详细数据列【封装】
|
shellList = new ArrayList<String>();
|
if(SinataUtil.isNotEmpty(object.get("insertTime"))){
|
shellList.add(DateUtil.formatDate(DateUtil.parse(object.get("insertTime").toString(),"YYYY-MM-dd HH:mm:ss.S"), "YYYY-MM-dd HH:mm:ss"));
|
}else{
|
shellList.add("-");
|
}
|
if(SinataUtil.isNotEmpty(object.get("orderNum"))){
|
shellList.add(object.get("orderNum").toString());
|
}else{
|
shellList.add("-");
|
}
|
|
// 1:APP下单,2:扫码下单,3:小程序下单,4:司机下单,5:调度下单
|
if(SinataUtil.isNotEmpty(object.get("orderSource"))){
|
switch (object.get("orderSource").toString()){
|
case "1":
|
shellList.add("APP下单");
|
break;
|
case "2":
|
shellList.add("扫码下单");
|
break;
|
case "3":
|
shellList.add("小程序下单");
|
break;
|
case "4":
|
shellList.add("司机下单");
|
break;
|
case "5":
|
shellList.add("调度下单");
|
break;
|
case "6":
|
shellList.add("道行龙城下单");
|
break;
|
default:
|
shellList.add("-");
|
break;
|
}
|
|
}
|
|
if(SinataUtil.isNotEmpty(object.get("travelTime"))){
|
shellList.add(DateUtil.formatDate(DateUtil.parse(object.get("travelTime").toString(),"YYYY-MM-dd HH:mm:ss.S"), "YYYY-MM-dd HH:mm:ss"));
|
}else{
|
shellList.add("-");
|
}
|
|
|
if(SinataUtil.isNotEmpty(object.get("userName"))){
|
shellList.add(object.get("userName").toString());
|
}else{
|
shellList.add("-");
|
}
|
|
if(SinataUtil.isNotEmpty(object.get("userPhone"))){
|
shellList.add(object.get("userPhone").toString());
|
}else{
|
shellList.add("-");
|
}
|
|
if(SinataUtil.isNotEmpty(object.get("passengers"))){
|
shellList.add(object.get("passengers").toString());
|
}else{
|
shellList.add("-");
|
}
|
|
if(SinataUtil.isNotEmpty(object.get("passengersPhone"))){
|
shellList.add(object.get("passengersPhone").toString());
|
}else{
|
shellList.add("-");
|
}
|
|
|
if(SinataUtil.isNotEmpty(object.get("startAddress"))){
|
shellList.add(object.get("startAddress").toString());
|
}else{
|
shellList.add("-");
|
}
|
|
if(SinataUtil.isNotEmpty(object.get("endAddress"))){
|
shellList.add(object.get("endAddress").toString());
|
}else{
|
shellList.add("-");
|
}
|
if(SinataUtil.isNotEmpty(object.get("lineName"))){
|
shellList.add(object.get("lineName").toString());
|
}else{
|
shellList.add("-");
|
}
|
if(SinataUtil.isNotEmpty(object.get("serverCarModelName"))){
|
shellList.add(object.get("serverCarModelName").toString());
|
}else{
|
shellList.add("-");
|
}
|
|
if(SinataUtil.isNotEmpty(object.get("driver"))){
|
shellList.add(object.get("driver").toString());
|
}else{
|
shellList.add("-");
|
}
|
|
if(SinataUtil.isNotEmpty(object.get("car"))){
|
shellList.add(object.get("car").toString());
|
}else{
|
shellList.add("-");
|
}
|
|
if(SinataUtil.isNotEmpty(object.get("orderMoney"))){
|
shellList.add(object.get("orderMoney").toString());
|
}else{
|
shellList.add("-");
|
}
|
|
// 1=待接单,2=待出发,3=待到达预约地点,4=待乘客上车,5=服务中,6=完成服务,7=待支付,8=待评价,9=已完成,10=已取消,11=改派中,12=取消待支付
|
if(SinataUtil.isNotEmpty(object.get("state"))){
|
switch (object.get("state").toString()){
|
case "1":
|
shellList.add("待接单");
|
break;
|
case "2":
|
shellList.add("待出发");
|
break;
|
case "3":
|
shellList.add("待到达预约地点");
|
break;
|
case "4":
|
shellList.add("待乘客上车");
|
break;
|
case "5":
|
shellList.add("服务中");
|
break;
|
case "6":
|
shellList.add("完成服务");
|
break;
|
case "7":
|
shellList.add("待支付");
|
break;
|
case "8":
|
shellList.add("待评价");
|
break;
|
case "9":
|
shellList.add("已完成");
|
break;
|
case "10":
|
shellList.add("已取消");
|
break;
|
case "11":
|
shellList.add("改派中");
|
break;
|
case "12":
|
shellList.add("取消待支付");
|
break;
|
default:
|
shellList.add("-");
|
break;
|
}
|
}
|
|
|
if(SinataUtil.isNotEmpty(object.get("abnormal"))){
|
shellList.add(object.get("abnormal").toString().equals("1")?"否":"是");
|
}else{
|
shellList.add("-");
|
}
|
|
|
if(SinataUtil.isNotEmpty(object.get("promotion"))){
|
shellList.add(object.get("promotion").toString().equals("1")?"否":"是");
|
}else{
|
shellList.add("-");
|
}
|
|
|
if(SinataUtil.isNotEmpty(object.get("promotionUser"))){
|
shellList.add(object.get("promotionUser").toString());
|
}else{
|
shellList.add("-");
|
}
|
if(SinataUtil.isNotEmpty(object.get("promotionPhone"))){
|
shellList.add(object.get("promotionPhone").toString());
|
}else{
|
shellList.add("-");
|
}
|
|
|
dataList.add(shellList);
|
}
|
try {
|
// 调用工具类进行导出
|
ExcelExportUtil.easySheet("订单导出记录"+DateUtil.formatDate(new Date(), "YYYYMMddHHmmss"), "订单导出记录", dataList,request, response);
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
}
|
|
|
private ResultUtil resultUtil;
|
|
/**
|
* 获取订单轨迹
|
*
|
* @param orderDetailId
|
* @return
|
*/
|
@ResponseBody
|
@RequestMapping(value = "/getOrderTrack", method = RequestMethod.POST)
|
public ResultUtil getOrderTrack(Integer orderDetailId) {
|
if (ToolUtil.isNotEmpty(orderDetailId)) {
|
try {
|
Query query = new Query()
|
.addCriteria(Criteria.where("orderId").is(orderDetailId).and("orderType").is(1))
|
.with(new Sort(Sort.Direction.ASC, "insertTime"));
|
List<TOrderPosition> positions = mongoTemplate.find(query, TOrderPosition.class);
|
resultUtil = ResultUtil.success(positions);
|
} catch (Exception e) {
|
e.printStackTrace();
|
resultUtil = ResultUtil.runErr();
|
}
|
} else {
|
resultUtil = ResultUtil.paranErr();
|
}
|
return resultUtil;
|
}
|
|
/**
|
* 取消快车订单
|
*/
|
@RequestMapping(value = "/cancel")
|
@ResponseBody
|
public Object cancel(@RequestParam Integer tOrderPrivateCarId) {
|
TOrderPrivateCar tOrderPrivateCar = tOrderPrivateCarService.selectById(tOrderPrivateCarId);
|
|
//修改之前司机状态 -- 空闲
|
if(null != tOrderPrivateCar.getDriverId()){
|
TDriver driver = tDriverService.selectById(tOrderPrivateCar.getDriverId());
|
driver.setState(2);
|
tDriverService.updateById(driver);
|
}
|
|
tOrderPrivateCar.setState(10);
|
tOrderPrivateCarService.updateById(tOrderPrivateCar);
|
|
OrderCancel orderCancel = new OrderCancel();
|
orderCancel.setOrderId(tOrderPrivateCarId);
|
orderCancel.setOrderType(1);
|
orderCancel.setReason("平台取消订单");
|
orderCancel.setRemark("平台取消订单");
|
orderCancel.setUserType(2);
|
orderCancel.setState(2);
|
orderCancel.setInsertTime(new Date());
|
orderCancelMapper.insert(orderCancel);
|
|
//增加推送
|
Map<String,String> map = new HashMap<>();
|
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);
|
|
new Thread(new Runnable() {
|
@Override
|
public void run() {
|
if(pushMinistryOfTransport){//上传数据
|
pushMinistryOfTransportUtil.orderCancel(tOrderPrivateCarId);
|
}
|
}
|
}).start();
|
|
return SUCCESS_TIP;
|
}
|
|
/**
|
* 删除快车订单
|
*/
|
@RequestMapping(value = "/delete")
|
@ResponseBody
|
public Object delete(@RequestParam Integer tOrderPrivateCarId) {
|
TOrderPrivateCar tOrderPrivateCar = tOrderPrivateCarService.selectById(tOrderPrivateCarId);
|
tOrderPrivateCar.setIsDelete(2);
|
tOrderPrivateCarService.updateById(tOrderPrivateCar);
|
return SUCCESS_TIP;
|
}
|
|
|
@RequestMapping(value = "/save")
|
@ResponseBody
|
public Object save(Integer responsibilityTypeVal,String remark,String money,Integer type,String orderNum) {
|
if(type==1){
|
TOrderPrivateCar tOrderPrivateCar = tOrderPrivateCarService.selectOne(new EntityWrapper<TOrderPrivateCar>().eq("orderNum",orderNum));
|
tOrderPrivateCar.setResponsibilityType(responsibilityTypeVal);
|
tOrderPrivateCar.setAbnormalStatus(2);
|
if(responsibilityTypeVal>3){
|
tOrderPrivateCar.setResponsibilityMoney(new BigDecimal(money));
|
}
|
tOrderPrivateCar.setAbnormalRemark(remark);
|
tOrderPrivateCarService.updateById(tOrderPrivateCar);
|
}
|
|
if(type==2){
|
TOrderCrossCity tOrderCrossCity = tOrderCrossCityService.selectOne(new EntityWrapper<TOrderCrossCity>().eq("orderNum", orderNum));
|
tOrderCrossCity.setResponsibilityType(responsibilityTypeVal);
|
tOrderCrossCity.setAbnormalStatus(2);
|
if(responsibilityTypeVal>3) {
|
tOrderCrossCity.setResponsibilityMoney(new BigDecimal(money));
|
}
|
tOrderCrossCity.setAbnormalRemark(remark);
|
tOrderCrossCityService.updateById(tOrderCrossCity);
|
|
}
|
if(type==3){
|
TOrderTaxi tOrderTaxi = tOrderTaxiService.selectOne(new EntityWrapper<TOrderTaxi>().eq("orderNum", orderNum));
|
tOrderTaxi.setResponsibilityType(responsibilityTypeVal);
|
tOrderTaxi.setAbnormalStatus(2);
|
if(responsibilityTypeVal>3) {
|
tOrderTaxi.setResponsibilityMoney(new BigDecimal(money));
|
}
|
tOrderTaxi.setAbnormalRemark(remark);
|
tOrderTaxiService.updateById(tOrderTaxi);
|
}
|
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(1);
|
privateCar.setType(1);
|
privateCar.setIsReassign(1);
|
privateCar.setReassignNotice(0);
|
privateCar.setSubstitute(0);
|
privateCar.setOrderSource(5);
|
privateCar.setPlacementAddress(ToolUtil.formatting(privateCar.getStartAddress()));
|
privateCar.setPlacementLat(privateCar.getStartLat());
|
privateCar.setPlacementLon(privateCar.getStartLon());
|
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(1);
|
privateCar.setType(1);
|
privateCar.setIsReassign(1);
|
privateCar.setReassignNotice(0);
|
privateCar.setSubstitute(0);
|
privateCar.setOrderSource(5);
|
privateCar.setPlacementAddress(ToolUtil.formatting(privateCar.getStartAddress()));
|
privateCar.setPlacementLat(privateCar.getStartLat());
|
privateCar.setPlacementLon(privateCar.getStartLon());
|
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);
|
}
|
|
//增加推送
|
Map<String, String> map = new HashMap<>();
|
map.put("orderId", privateCar.getId().toString());
|
map.put("orderType", "1");
|
String result = HttpRequestUtil.postRequest(PushURL.push_order, map);
|
System.out.println("添加订单推单调用结果:" + result);
|
return SUCCESS_TIP;
|
}
|
}
|