| | |
| | | package com.stylefeng.guns.modular.system.controller.specialTrain; |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.baomidou.mybatisplus.mapper.Wrapper; |
| | | import com.baomidou.mybatisplus.plugins.Page; |
| | |
| | | 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.dao.TCompanyMapper; |
| | | import com.stylefeng.guns.modular.system.model.*; |
| | | import com.stylefeng.guns.modular.system.service.*; |
| | | import com.stylefeng.guns.modular.system.util.*; |
| | | import com.stylefeng.guns.modular.system.util.qianyuntong.OrderUtil; |
| | | import com.stylefeng.guns.modular.system.util.qianyuntong.model.*; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.data.domain.Sort; |
| | |
| | | * @author fengshuonan |
| | | * @Date 2020-09-02 17:28:59 |
| | | */ |
| | | @Slf4j |
| | | @Controller |
| | | @RequestMapping("/abnormal") |
| | | public class TAbnormalOrderCarController extends BaseController { |
| | |
| | | |
| | | @Autowired |
| | | private TAbnormalPayOrderService tAbnormalPayOrderService; |
| | | |
| | | |
| | | |
| | | |
| | | @Autowired |
| | | private ITSystemNoticeService systemNoticeService; |
| | | @Autowired |
| | | private TCompanyMapper tCompanyMapper; |
| | | |
| | | |
| | | /** |
| | | * 跳转到快车订单首页 |
| | | */ |
| | |
| | | } |
| | | model.addAttribute("item",item); |
| | | model.addAttribute("type",1); |
| | | model.addAttribute("show",0); |
| | | |
| | | List<TOrderPrivateCar> tOrderPrivateCars = tOrderPrivateCarService.selectList(new EntityWrapper<TOrderPrivateCar>().eq("pid", tOrderPrivateCarId).eq("isDelete", 1)); |
| | | List<Map<String, Object>> maps = new ArrayList<>(); |
| | |
| | | } |
| | | Object o2 = item.get("responsibilityType"); |
| | | model.addAttribute("money",0); |
| | | model.addAttribute("show",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("abnormalImg",new String[]{}); |
| | | } |
| | | model.addAttribute("money",0); |
| | | model.addAttribute("show",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_orderDetail1") |
| | | public String tOrderPrivateCarUpdate1(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); |
| | | model.addAttribute("show",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); |
| | | model.addAttribute("show",1); |
| | | 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); |
| | | model.addAttribute("show",1); |
| | | Object o2 = item.get("responsibilityType"); |
| | | if(o2!=null){ |
| | | if(Integer.valueOf(o2.toString())>2){ |
| | |
| | | } |
| | | abnormal = 2; |
| | | Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage(); |
| | | if(type==null){ |
| | | type=1; |
| | | } |
| | | // 快车 |
| | | if(type==1){ |
| | | page.setRecords(tOrderPrivateCarService.getPrivateCarOrderList(page, beginTime, endTime, shiroExtUtil.getUser().getRoleType(), shiroExtUtil.getUser().getObjectId(), |
| | |
| | | @RequestMapping(value = "/save") |
| | | @ResponseBody |
| | | public Object save(Integer responsibilityTypeVal,String remark,String money,Integer type,String orderNum) { |
| | | Integer userId =null; |
| | | if(type==1){ |
| | | TOrderPrivateCar tOrderPrivateCar = tOrderPrivateCarService.selectOne(new EntityWrapper<TOrderPrivateCar>().eq("orderNum",orderNum)); |
| | | TOrderPrivateCar tOrderPrivateCar = tOrderPrivateCarService.selectOne(new EntityWrapper<TOrderPrivateCar>().eq("id",orderNum)); |
| | | userId = tOrderPrivateCar.getUserId(); |
| | | tOrderPrivateCar.setResponsibilityType(responsibilityTypeVal); |
| | | tOrderPrivateCar.setAbnormalStatus(2); |
| | | if(responsibilityTypeVal>3){ |
| | | tOrderPrivateCar.setResponsibilityMoney(tOrderPrivateCar.getPayMoney()); |
| | | tOrderPrivateCar.setPayMoney(new BigDecimal(money)); |
| | | tOrderPrivateCar.setOrderMoney(new BigDecimal(money)); |
| | | } |
| | | if(responsibilityTypeVal>2){ |
| | | // 追偿订单记录表 |
| | | TAbnormalPayOrder tAbnormalPayOrder = new TAbnormalPayOrder(); |
| | | tAbnormalPayOrder.setOrderNum(orderNum); |
| | | tAbnormalPayOrder.setOrderNo(tOrderPrivateCar.getOrderNum()); |
| | | tAbnormalPayOrder.setType(1); |
| | | tAbnormalPayOrder.setUserId(tOrderPrivateCar.getUserId()); |
| | | tAbnormalPayOrder.setPayStatus(1); |
| | | tAbnormalPayOrder.setPayTime(new Date()); |
| | | if(responsibilityTypeVal==3){ |
| | | tAbnormalPayOrder.setPayMoney(tOrderPrivateCar.getPayMoney()); |
| | | }else { |
| | | tAbnormalPayOrder.setPayMoney(new BigDecimal( money)); |
| | | } |
| | | tAbnormalPayOrder.setCompanyId(tOrderPrivateCar.getCompanyId()); |
| | | tAbnormalPayOrderService.insert(tAbnormalPayOrder); |
| | | } |
| | | |
| | | if(responsibilityTypeVal<3){ |
| | | tOrderPrivateCar.setState(9); |
| | | } |
| | | tOrderPrivateCar.setAbnormalRemark(remark); |
| | | tOrderPrivateCarService.updateById(tOrderPrivateCar); |
| | | } |
| | | //平台全责和司机全责需要调起备付金支付 |
| | | if(9 == tOrderPrivateCar.getState()){ |
| | | TDriver driver = tDriverService.selectById(tOrderPrivateCar.getDriverId()); |
| | | TCompany company = tCompanyMapper.selectById(driver.getCompanyId()); |
| | | TUser userInfo = userService.selectById(tOrderPrivateCar.getUserId()); |
| | | if(null == tOrderPrivateCar.getIsCreated()){ |
| | | //先调中台创建订单 |
| | | CreateOrderRequest createOrderRequest = new CreateOrderRequest(); |
| | | createOrderRequest.setTreatShopId(driver.getEmpId().toString()); |
| | | createOrderRequest.setField1("{\"profitSharing\":\"1\",\"isPromote\":\"" + (tOrderPrivateCar.getPromotion() == 2 ? 1 : 0) + "\"}"); |
| | | createOrderRequest.setCharge(tOrderPrivateCar.getOrderMoney()); |
| | | createOrderRequest.setOrderNo("PR" + tOrderPrivateCar.getId()); |
| | | createOrderRequest.setOrderId(tOrderPrivateCar.getTravelId()); |
| | | createOrderRequest.setCustomerId(userInfo.getOnconUUID()); |
| | | OrderInfo orderInfo = com.stylefeng.guns.modular.system.util.qianyuntong.OrderUtil.tradeOrderCreate(createOrderRequest); |
| | | tOrderPrivateCar.setIsCreated(1); |
| | | tOrderPrivateCar.setTravelId(orderInfo.getOrderId()); |
| | | tOrderPrivateCarService.updateById(tOrderPrivateCar); |
| | | } |
| | | //使用备付金进行支付订单 |
| | | TradePayOffData tradePayOffData = new TradePayOffData(); |
| | | tradePayOffData.setPartnerPayId(tOrderPrivateCar.getTravelId()); |
| | | tradePayOffData.setTotalFee(tOrderPrivateCar.getOrderMoney().multiply(new BigDecimal(100)).toString()); |
| | | tradePayOffData.setOrderDesc("完成订单"); |
| | | PayInfo payInfo = com.stylefeng.guns.modular.system.util.qianyuntong.OrderUtil.tradePayOff(tradePayOffData); |
| | | String retCode = payInfo.getRetCode(); |
| | | if (!"000000".equals(retCode)) { |
| | | log.error("备付金支付失败:{}", payInfo.getRetMsg()); |
| | | return "备付金支付失败:" + payInfo.getRetMsg(); |
| | | } |
| | | PayInfoData data = payInfo.getData(); |
| | | String status = data.getStatus(); |
| | | if ("3".equals(status)) { |
| | | log.error("备付金支付失败:{}", payInfo.getRetMsg()); |
| | | return "备付金支付失败:" + payInfo.getRetMsg(); |
| | | } |
| | | if("0".equals(status)){ |
| | | //查询支付信息 |
| | | GetPaymentInfoDataRequest getPaymentInfoDataRequest = new GetPaymentInfoDataRequest(); |
| | | getPaymentInfoDataRequest.setPartnerPayId(tOrderPrivateCar.getTravelId()); |
| | | GetPaymentInfo getPaymentInfo = com.stylefeng.guns.modular.system.util.qianyuntong.OrderUtil.paymentInfo(getPaymentInfoDataRequest); |
| | | status = getPaymentInfo.getStatus(); |
| | | } |
| | | PayInfoData payInfoData = payInfo.getData(); |
| | | PaymentInfo paymentInfo = payInfoData.getPaymentInfos().get(0); |
| | | if(!"0".equals(status)) { |
| | | //支付成功,通知三方 |
| | | PaymentOrderRequest paymentOrderRequest = new PaymentOrderRequest(); |
| | | paymentOrderRequest.setPayItemId(paymentInfo.getPayItemId()); |
| | | paymentOrderRequest.setPaymentInfo(JSON.toJSONString(payInfoData.getPaymentInfos())); |
| | | paymentOrderRequest.setOrderId(tOrderPrivateCar.getTravelId()); |
| | | paymentOrderRequest.setCharge(tOrderPrivateCar.getOrderMoney()); |
| | | paymentOrderRequest.setPayTime(data.getPayTime()); |
| | | paymentOrderRequest.setPaymentSerialNumber(payInfoData.getPayId()); |
| | | OrderInfo orderInfo1 = OrderUtil.paymentOrder(paymentOrderRequest); |
| | | |
| | | //中台修改订单状态 |
| | | ModifyTravelItineraryRequest request1 = new ModifyTravelItineraryRequest(); |
| | | request1.setOrderId(tOrderPrivateCar.getTravelId()); |
| | | request1.setStatus(9); |
| | | if (null != tOrderPrivateCar.getDriverId()) { |
| | | request1.setDriverId(driver.getEmpId().toString()); |
| | | request1.setSupplierShopId(company.getEnterCode()); |
| | | } |
| | | if (2 == tOrderPrivateCar.getPromotion()) { |
| | | TDriver driver2 = tDriverService.selectById(tOrderPrivateCar.getPromotionDriverId()); |
| | | request1.setPromoterId(driver2.getEmpId().toString()); |
| | | } |
| | | OrderUtil.modifyTravelItinerary(request1); |
| | | } |
| | | } |
| | | } |
| | | if(type==2){ |
| | | TOrderCrossCity tOrderCrossCity = tOrderCrossCityService.selectOne(new EntityWrapper<TOrderCrossCity>().eq("orderNum", orderNum)); |
| | | TOrderCrossCity tOrderCrossCity = tOrderCrossCityService.selectOne(new EntityWrapper<TOrderCrossCity>().eq("id", orderNum)); |
| | | userId = tOrderCrossCity.getUserId(); |
| | | tOrderCrossCity.setResponsibilityType(responsibilityTypeVal); |
| | | tOrderCrossCity.setAbnormalStatus(2); |
| | | if(responsibilityTypeVal>3) { |
| | | tOrderCrossCity.setResponsibilityMoney(tOrderCrossCity.getPayMoney()); |
| | | tOrderCrossCity.setPayMoney(new BigDecimal(money)); |
| | | tOrderCrossCity.setOrderMoney(new BigDecimal(money)); |
| | | } |
| | | if(responsibilityTypeVal>2){ |
| | | // 追偿订单记录表 |
| | | TAbnormalPayOrder tAbnormalPayOrder = new TAbnormalPayOrder(); |
| | | tAbnormalPayOrder.setOrderNum(orderNum); |
| | | |
| | | tAbnormalPayOrder.setOrderNo(tOrderCrossCity.getOrderNum()); |
| | | tAbnormalPayOrder.setType(2); |
| | | tAbnormalPayOrder.setUserId(tOrderCrossCity.getUserId()); |
| | | tAbnormalPayOrder.setPayStatus(1); |
| | | tAbnormalPayOrder.setPayTime(new Date()); |
| | | if(responsibilityTypeVal==3){ |
| | | tAbnormalPayOrder.setPayMoney(tOrderCrossCity.getPayMoney()); |
| | | }else { |
| | | tAbnormalPayOrder.setPayMoney(new BigDecimal(money)); |
| | | } |
| | | tAbnormalPayOrder.setCompanyId(tOrderCrossCity.getCompanyId()); |
| | | tAbnormalPayOrderService.insert(tAbnormalPayOrder); |
| | | } |
| | | if(responsibilityTypeVal<3){ |
| | | tOrderCrossCity.setState(9); |
| | | } |
| | | tOrderCrossCity.setAbnormalRemark(remark); |
| | | tOrderCrossCityService.updateById(tOrderCrossCity); |
| | | |
| | | } |
| | | if(type==3){ |
| | | TOrderTaxi tOrderTaxi = tOrderTaxiService.selectOne(new EntityWrapper<TOrderTaxi>().eq("orderNum", orderNum)); |
| | | TOrderTaxi tOrderTaxi = tOrderTaxiService.selectOne(new EntityWrapper<TOrderTaxi>().eq("id", orderNum)); |
| | | userId = tOrderTaxi.getUserId(); |
| | | tOrderTaxi.setResponsibilityType(responsibilityTypeVal); |
| | | tOrderTaxi.setAbnormalStatus(2); |
| | | if(responsibilityTypeVal>3) { |
| | | tOrderTaxi.setResponsibilityMoney(tOrderTaxi.getPayMoney()); |
| | | tOrderTaxi.setPayMoney(new BigDecimal(money)); |
| | | tOrderTaxi.setOrderMoney(new BigDecimal(money)); |
| | | } |
| | | if(responsibilityTypeVal>2){ |
| | | // 追偿订单记录表 |
| | | TAbnormalPayOrder tAbnormalPayOrder = new TAbnormalPayOrder(); |
| | | tAbnormalPayOrder.setOrderNum(orderNum); |
| | | tAbnormalPayOrder.setOrderNo(tOrderTaxi.getOrderNum()); |
| | | tAbnormalPayOrder.setType(3); |
| | | tAbnormalPayOrder.setUserId(tOrderTaxi.getUserId()); |
| | | tAbnormalPayOrder.setPayStatus(1); |
| | | tAbnormalPayOrder.setPayTime(new Date()); |
| | | if(responsibilityTypeVal==3){ |
| | | tAbnormalPayOrder.setPayMoney(tOrderTaxi.getPayMoney()); |
| | | }else { |
| | | tAbnormalPayOrder.setPayMoney(new BigDecimal( money)); |
| | | } |
| | | |
| | | tAbnormalPayOrder.setCompanyId(tOrderTaxi.getCompanyId()); |
| | | tAbnormalPayOrderService.insert(tAbnormalPayOrder); |
| | | } |
| | | if(responsibilityTypeVal<3){ |
| | | tOrderTaxi.setState(9); |
| | | } |
| | | tOrderTaxi.setAbnormalRemark(remark); |
| | | tOrderTaxiService.updateById(tOrderTaxi); |
| | | } |
| | | |
| | | |
| | | TSystemNotice tSystemNotice = new TSystemNotice(); |
| | | tSystemNotice.setType(2); |
| | | tSystemNotice.setNoticeType(1); |
| | | tSystemNotice.setUserType(1); |
| | | tSystemNotice.setUserId(userId); |
| | | tSystemNotice.setContent("您提交的申诉平台已处理"); |
| | | tSystemNotice.setRead(1); |
| | | tSystemNotice.setInsertTime(new Date()); |
| | | systemNoticeService.insert(tSystemNotice); |
| | | return SUCCESS_TIP; |
| | | |
| | | } |
| | | |
| | | |