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.dto.CharteredCarDto;
|
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.BeanUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import javax.annotation.Resource;
|
import java.text.SimpleDateFormat;
|
import java.util.Date;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
|
@Service
|
public class OrderCharteredCarServiceImpl extends ServiceImpl<OrderCharteredCarMapper, OrderCharteredCar> 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.setContactPhone(contactPhone);
|
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<Map<String, Object>> queryMyOrderList(Integer uid, Integer pageNum, Integer size) throws Exception {
|
pageNum = (pageNum - 1) * size;
|
List<Map<String, Object>> 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> 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<String, Object> map = new HashMap<>();
|
map.put("id", orderCancel.getId());
|
return ResultUtil.success(map);
|
}
|
|
@Override
|
public ResultUtil createOrder(CharteredCarDto charteredCarDto) {
|
OrderCharteredCar orderCharteredCar = new OrderCharteredCar();
|
BeanUtils.copyProperties(charteredCarDto,orderCharteredCar);
|
try {
|
orderCharteredCar.setOrderNumber(this.getOrderNum());
|
orderCharteredCar.setCompanyId(1);
|
orderCharteredCar.setIsDelete(1);
|
orderCharteredCar.setInsertTime(new Date());
|
|
String strDateTime = charteredCarDto.getTraveltime();
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-M-d H:m");
|
|
try {
|
Date date = sdf.parse(strDateTime);
|
System.out.println("Converted Date and Time: " + date);
|
orderCharteredCar.setTraveltime(date);
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
|
}catch (Exception e){
|
e.printStackTrace();
|
}
|
this.insert(orderCharteredCar);
|
return ResultUtil.success();
|
|
|
}
|
|
|
public synchronized String getOrderNum() throws Exception{
|
int size = this.selectCount(null);
|
return "CHARTERED" + String.valueOf(1000000 + size + 1).substring(1);
|
}
|
}
|