yanghb
2023-04-21 0481353111afb43a2322e18530dde26f1d841ead
ManagementTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarController.java
@@ -2,27 +2,22 @@
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;
@@ -32,7 +27,7 @@
import java.util.*;
/**
 * 快车订单控制器
 * 专车订单控制器
 *
 * @author fengshuonan
 * @Date 2020-09-02 17:28:59
@@ -53,15 +48,11 @@
    private ITOrderPositionService tOrderPositionService;
    @Autowired
    private ITServerCarmodelService serverCarmodelService;
    @Autowired
    private ITDriverService tDriverService;
    @Autowired
    private PushMinistryOfTransportUtil pushMinistryOfTransportUtil;
    @Autowired
    private ITUserService userService;
    @Resource
    private OrderCancelMapper orderCancelMapper;
@@ -75,32 +66,24 @@
    /**
     * 跳转到快车订单首页
     * 跳转到专车订单首页
     */
    @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";
    }
@@ -114,7 +97,7 @@
    }
    /**
     * 获取快车订单列表
     * 获取专车订单列表
     */
    @RequestMapping(value = "/list")
    @ResponseBody
@@ -127,8 +110,7 @@
                       String passengersPhone,
                       Integer serverCarModelId,
                       String driver,
                       Integer state,
                       Integer rideType) {
                       Integer state) {
        String beginTime = null;
        String endTime = null;
        if (SinataUtil.isNotEmpty(insertTime)){
@@ -137,8 +119,7 @@
            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);
    }
@@ -184,7 +165,7 @@
    }
    /**
     * 取消快车订单
     * 取消专车订单
     */
    @RequestMapping(value = "/cancel")
    @ResponseBody
@@ -216,7 +197,7 @@
        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
@@ -231,7 +212,7 @@
    }
    /**
     * 删除快车订单
     * 删除专车订单
     */
    @RequestMapping(value = "/delete")
    @ResponseBody
@@ -239,92 +220,6 @@
        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;
    }
}