package com.stylefeng.guns.modular.CharteredCar.server.impl; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.stylefeng.guns.core.util.ToolUtil; import com.stylefeng.guns.modular.CharteredCar.dao.OrderCharteredCarMapper; import com.stylefeng.guns.modular.CharteredCar.model.OrderCharteredCar; import com.stylefeng.guns.modular.CharteredCar.server.IOrderCharteredCarService; import com.stylefeng.guns.modular.system.dao.SensitiveWordsMapper; import com.stylefeng.guns.modular.system.model.Company; import com.stylefeng.guns.modular.system.model.OrderCancel; import com.stylefeng.guns.modular.system.model.SensitiveWords; import com.stylefeng.guns.modular.system.model.UserInfo; import com.stylefeng.guns.modular.system.service.ICompanyCityService; import com.stylefeng.guns.modular.system.service.IOrderCancelService; import com.stylefeng.guns.modular.system.service.ISystemNoticeService; import com.stylefeng.guns.modular.system.util.DateUtil; import com.stylefeng.guns.modular.system.util.ResultUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; @Service public class OrderCharteredCarServiceImpl extends ServiceImpl implements IOrderCharteredCarService { @Resource private OrderCharteredCarMapper orderCharteredCarMapper; @Resource private SensitiveWordsMapper sensitiveWordsMapper; @Autowired private ICompanyCityService companyCityService; @Autowired private DateUtil dateUtil; @Autowired private IOrderCancelService orderCancelService; @Autowired private ISystemNoticeService systemNoticeService; /** * 保存数据 * @param traveltime * @param carTime * @param modelUse * @param peopleNumber * @param contactPerson * @param contactPhone * @param uid * @return * @throws Exception */ @Override public ResultUtil orderCharteredCar(Date travelTime, Integer carTime, Integer serverCarModelId, String modelUse, Integer peopleNumber, String contactPerson, String contactPhone, String placeLonLat, Integer uid) throws Exception { OrderCharteredCar orderCharteredCar = new OrderCharteredCar(); orderCharteredCar.setUserId(uid); Company query = companyCityService.query(placeLonLat.split(",")[0], placeLonLat.split(",")[1]); if(null == query){ return ResultUtil.error("该地点暂无企业服务"); } orderCharteredCar.setCompanyId(query.getId()); orderCharteredCar.setOrderNumber(this.getOrderNum()); orderCharteredCar.setTraveltime(travelTime); orderCharteredCar.setCarTime(carTime); orderCharteredCar.setServerCarModelId(serverCarModelId); orderCharteredCar.setModelUse(modelUse); orderCharteredCar.setPeopleNumber(peopleNumber); orderCharteredCar.setContactPerson(contactPerson); orderCharteredCar.setState(1); orderCharteredCar.setIsDelete(1); orderCharteredCar.setInsertTime(new Date()); this.insert(orderCharteredCar); return ResultUtil.success(); } /** * 获取个人中心订单列表 * @param uid * @param pageNum * @param size * @return * @throws Exception */ @Override public List> queryMyOrderList(Integer uid, Integer pageNum, Integer size) throws Exception { pageNum = (pageNum - 1) * size; List> maps = orderCharteredCarMapper.queryMyOrderList(uid, pageNum, size); return maps; } @Override public ResultUtil addCancle(Integer id, String reason, String remark, Integer uid) throws Exception { if(ToolUtil.isNotEmpty(remark)){ if(ToolUtil.isNotEmpty(remark)){ List sensitiveWords = sensitiveWordsMapper.selectList(null); for(SensitiveWords s : sensitiveWords){ remark = remark.replaceAll(s.getContent(), "***"); } } } OrderCharteredCar orderCharteredCar = this.selectById(id); if(null == orderCharteredCar){ return ResultUtil.error("取消订单失败,订单信息有误"); } if(orderCharteredCar.getState() != 1){ return ResultUtil.error("取消订单失败,不合法的操作"); } OrderCancel orderCancel = new OrderCancel(); orderCancel.setOrderId(id); orderCancel.setOrderType(6); orderCancel.setReason(reason); orderCancel.setRemark(remark); orderCancel.setState(2); orderCancel.setInsertTime(new Date()); orderCancel.setUserType(1); orderCancelService.insert(orderCancel); orderCharteredCar.setState(3); this.updateById(orderCharteredCar); //添加消息 systemNoticeService.addSystemNotice(1, "您已成功取消旅游公务用车订单,谢谢使用!", orderCharteredCar.getUserId(), 1); Map map = new HashMap<>(); map.put("id", orderCancel.getId()); return ResultUtil.success(map); } public synchronized String getOrderNum() throws Exception{ int size = this.selectCount(null); return "CHARTERED" + String.valueOf(1000000 + size + 1).substring(1); } }