Commit 5fa479a1 authored by 周健威's avatar 周健威

申请调车相关

parent b121d313
...@@ -33,7 +33,7 @@ public class BaseController<Biz extends BaseBiz,Entity> extends CommonBaseContro ...@@ -33,7 +33,7 @@ public class BaseController<Biz extends BaseBiz,Entity> extends CommonBaseContro
@ApiOperation("添加") @ApiOperation("添加")
@RequestMapping(value = "",method = RequestMethod.POST) @RequestMapping(value = "",method = RequestMethod.POST)
@ResponseBody @ResponseBody
public ObjectRestResponse<Entity> add(@RequestBody Entity entity) throws Exception { public ObjectRestResponse<Entity> add(@RequestBody Entity entity) {
baseBiz.insertSelective(entity); baseBiz.insertSelective(entity);
return new ObjectRestResponse<Entity>(); return new ObjectRestResponse<Entity>();
} }
...@@ -67,7 +67,7 @@ public class BaseController<Biz extends BaseBiz,Entity> extends CommonBaseContro ...@@ -67,7 +67,7 @@ public class BaseController<Biz extends BaseBiz,Entity> extends CommonBaseContro
@ApiOperation("查询所有") @ApiOperation("查询所有")
@RequestMapping(value = "/all",method = RequestMethod.GET) @RequestMapping(value = "/all",method = RequestMethod.GET)
@ResponseBody @ResponseBody
public List<Entity> all() throws Exception { public List<Entity> all() {
return baseBiz.selectListAll(); return baseBiz.selectListAll();
} }
......
package com.github.wxiaoqi.security.common.vo; package com.github.wxiaoqi.security.common.vo;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert;
import com.github.pagehelper.ISelect; import com.github.pagehelper.ISelect;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.github.wxiaoqi.security.common.util.Query; import com.github.wxiaoqi.security.common.util.Query;
import lombok.Data; import lombok.Data;
import java.lang.reflect.ParameterizedType;
import java.util.List; import java.util.List;
@Data @Data
...@@ -28,7 +31,6 @@ public class PageDataVO<T> { ...@@ -28,7 +31,6 @@ public class PageDataVO<T> {
public static <M> PageDataVO<M> pageInfo(PageInfo<M> pageInfo){ public static <M> PageDataVO<M> pageInfo(PageInfo<M> pageInfo){
PageDataVO<M> pageDataVo = new PageDataVO<>(); PageDataVO<M> pageDataVo = new PageDataVO<>();
pageDataVo.setTotalCount(pageInfo.getTotal());
pageDataVo.setData(pageInfo.getList()); pageDataVo.setData(pageInfo.getList());
pageDataVo.setPageNum(pageInfo.getPageNum()); pageDataVo.setPageNum(pageInfo.getPageNum());
pageDataVo.setTotalPage(pageInfo.getPages()); pageDataVo.setTotalPage(pageInfo.getPages());
...@@ -48,4 +50,12 @@ public class PageDataVO<T> { ...@@ -48,4 +50,12 @@ public class PageDataVO<T> {
public static <M> PageDataVO<M> pageInfo(Query query, ISelect select){ public static <M> PageDataVO<M> pageInfo(Query query, ISelect select){
return PageDataVO.pageInfo(PageHelper.startPage(query.getPage(), query.getLimit()).doSelectPageInfo(select)); return PageDataVO.pageInfo(PageHelper.startPage(query.getPage(), query.getLimit()).doSelectPageInfo(select));
} }
public static <M> PageDataVO<M> pageInfo(Query query, ISelect select, Class classz){
PageDataVO<M> pageDataVo = pageInfo(query, select);
if(CollUtil.isNotEmpty(pageDataVo.getData()) && pageDataVo.getData().get(0).getClass() != classz) {
pageDataVo.setData(Convert.toList(classz, pageDataVo.getData()));
}
return pageDataVo;
}
} }
...@@ -17,6 +17,7 @@ import com.github.wxiaoqi.security.common.util.process.ResultCode; ...@@ -17,6 +17,7 @@ import com.github.wxiaoqi.security.common.util.process.ResultCode;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -26,6 +27,7 @@ import java.util.List; ...@@ -26,6 +27,7 @@ import java.util.List;
/** /**
* @author Administrator * @author Administrator
*/ */
@Slf4j
@RestController @RestController
@RequestMapping("/staff") @RequestMapping("/staff")
@RequiredArgsConstructor(onConstructor_ = {@Autowired}) @RequiredArgsConstructor(onConstructor_ = {@Autowired})
...@@ -56,8 +58,14 @@ public class AppStaffUserController extends BaseController<AppStaffUserBiz, AppS ...@@ -56,8 +58,14 @@ public class AppStaffUserController extends BaseController<AppStaffUserBiz, AppS
@Override @Override
@ApiOperation("添加") @ApiOperation("添加")
@PostMapping(value = "") @PostMapping(value = "")
public ObjectRestResponse<AppStaffUser> add(@RequestBody AppStaffUser appStaffUser) throws Exception { public ObjectRestResponse<AppStaffUser> add(@RequestBody AppStaffUser appStaffUser) {
IJWTInfo infoFromToken = userAuthUtil.getInfoFromToken(authConfig.getToken(request)); IJWTInfo infoFromToken = null;
try {
infoFromToken = userAuthUtil.getInfoFromToken(authConfig.getToken(request));
} catch (Exception e) {
log.error(e.getMessage(), e);
return ObjectRestResponse.createDefaultFail();
}
Integer positionId = null; Integer positionId = null;
try { try {
positionId = appUserDetailBiz.getUserInfoById( positionId = appUserDetailBiz.getUserInfoById(
......
...@@ -10,7 +10,8 @@ spring: ...@@ -10,7 +10,8 @@ spring:
datasource: datasource:
type: com.alibaba.druid.pool.DruidDataSource type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.jdbc.Driver driverClassName: com.mysql.jdbc.Driver
url: jdbc:mysql://10.5.52.3:3306/xxfc_vehicle?useUnicode=true&characterEncoding=UTF-8 #url: jdbc:mysql://10.5.52.3:3306/xxfc_vehicle?useUnicode=true&characterEncoding=UTF-8
url: jdbc:mysql://10.5.52.3:3306/tiande_order?useUnicode=true&characterEncoding=UTF-8
username: root username: root
password: sslcloud123*() password: sslcloud123*()
jackson: jackson:
......
#\u4EE3\u7801\u751F\u6210\u5668\uFF0C\u914D\u7F6E\u4FE1\u606F #\u4EE3\u7801\u751F\u6210\u5668\uFF0C\u914D\u7F6E\u4FE1\u606F
#\u5305\u540D #\u5305\u540D
package=com.xxfc.platform.vehicle package=com.xxfc.platform.order
#\u4F5C\u8005 #\u4F5C\u8005
author=libin author=libin
#Email #Email
......
package com.xxfc.platform.order.biz; package com.xxfc.platform.order.biz;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.github.wxiaoqi.security.common.util.result.JsonResultUtil; import com.github.wxiaoqi.security.common.util.result.JsonResultUtil;
import com.xxfc.platform.order.biz.inner.OrderCalculateBiz;
import com.xxfc.platform.order.entity.OrderRentVehicleDetail; import com.xxfc.platform.order.entity.OrderRentVehicleDetail;
import com.xxfc.platform.order.mapper.OrderRentVehicleDetailMapper; import com.xxfc.platform.order.mapper.OrderRentVehicleDetailMapper;
import com.xxfc.platform.order.pojo.order.RentVehicleBO;
import com.xxfc.platform.order.pojo.order.add.AddRentVehicleDTO;
import com.xxfc.platform.vehicle.entity.BranchCompany;
import com.xxfc.platform.vehicle.feign.VehicleFeign; import com.xxfc.platform.vehicle.feign.VehicleFeign;
import com.xxfc.platform.vehicle.pojo.BookVehicleVO;
import com.xxfc.platform.vehicle.pojo.CompanyDetail;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.mockito.internal.util.collections.Sets;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestBody;
import tk.mybatis.mapper.entity.Example; import tk.mybatis.mapper.entity.Example;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* 租车订单详情 * 租车订单详情
...@@ -29,6 +42,9 @@ public class OrderRentVehicleBiz extends BaseBiz<OrderRentVehicleDetailMapper, O ...@@ -29,6 +42,9 @@ public class OrderRentVehicleBiz extends BaseBiz<OrderRentVehicleDetailMapper, O
@Autowired @Autowired
VehicleFeign vehicleFeign; VehicleFeign vehicleFeign;
@Autowired
OrderCalculateBiz orderCalculateBiz;
public List<OrderRentVehicleDetail> listByOrderId(Integer orderId) { public List<OrderRentVehicleDetail> listByOrderId(Integer orderId) {
return mapper.listByOrderId(orderId); return mapper.listByOrderId(orderId);
...@@ -84,7 +100,50 @@ public class OrderRentVehicleBiz extends BaseBiz<OrderRentVehicleDetailMapper, O ...@@ -84,7 +100,50 @@ public class OrderRentVehicleBiz extends BaseBiz<OrderRentVehicleDetailMapper, O
} }
} }
//获取全部评论 public RentVehicleBO initRentVehicleBO(AddRentVehicleDTO vo) {
//计算天数
vo.setDayNum(orderCalculateBiz.getIncludeDays(vo.getStartTime(), vo.getEndTime()));
if(null == vo.getEndCompanyId() || vo.getEndCompanyId().equals(0)) {
if(StrUtil.isBlank(vo.getEndAddr())) {
throw new BaseException(ResultCode.PARAM_ILLEGAL_CODE, Sets.newSet("公司参数不正确"));
}else {
Map<String, Object> map = BeanUtil.beanToMap(new BranchCompany(){{
setName(vo.getEndAddr());
}}, false, true);
List<BranchCompany> data = vehicleFeign.branchCompanyEntityList(map).getData();
if(null == data) {
throw new BaseException(ResultCode.PARAM_ILLEGAL_CODE, Sets.newSet("公司参数不正确"));
}else {
BranchCompany endCompany = vehicleFeign.branchCompanyEntityList(map).getData().get(0);
vo.setEndCompanyId(endCompany.getId());
}
}
}
if(vo.getStartCompanyId() != null) {
CompanyDetail companyDetail = vehicleFeign.getCompanyDetail(vo.getStartCompanyId()).getData();
if(companyDetail != null) {
vo.setStartAddr(companyDetail.detailAddr());
}
}
if(vo.getEndCompanyId() != null) {
CompanyDetail companyDetail = vehicleFeign.getCompanyDetail(vo.getEndCompanyId()).getData();
if(companyDetail != null) {
vo.setEndAddr(companyDetail.detailAddr());
}
}
RentVehicleBO bo = BeanUtil.toBean(vo, RentVehicleBO.class);
bo.setBookVehicleVO(new BookVehicleVO(){{
setBookStartDate(vo.getBookStartDate());
setBookEndDate(vo.getBookEndDate());
setBookStartDateTime(vo.getBookStartDateTime());
setBookEndDateTime(vo.getBookEndDateTime());
}});
bo.setTickerNo(StrUtil.isNotBlank(vo.getTickerNos())?
StrUtil.splitTrim(vo.getTickerNos(), ","):null);
bo.setAccompanyItems(vo.getAccompanyItems());
return bo;
}
} }
\ No newline at end of file
...@@ -53,12 +53,14 @@ public class WebConfiguration implements WebMvcConfigurer { ...@@ -53,12 +53,14 @@ public class WebConfiguration implements WebMvcConfigurer {
private ArrayList<String> getIncludePathPatterns() { private ArrayList<String> getIncludePathPatterns() {
ArrayList<String> list = new ArrayList<>(); ArrayList<String> list = new ArrayList<>();
String[] urls = { String[] urls = {
"/background/**",
"/orderRentVehicle/**", "/orderRentVehicle/**",
"/baseOrder/**", "/baseOrder/**",
"/orderTour/**", "/orderTour/**",
"/orderMember/**", "/orderMember/**",
"/orderRefund/**", "/orderRefund/**",
"/orderVehicle/**" "/orderVehicle/**",
"/shuntApply/**"
}; };
Collections.addAll(list, urls); Collections.addAll(list, urls);
return list; return list;
......
...@@ -71,6 +71,7 @@ public class OrderRentVehicleController extends CommonBaseController { ...@@ -71,6 +71,7 @@ public class OrderRentVehicleController extends CommonBaseController {
@ApiOperation(value = "确认租车订单") @ApiOperation(value = "确认租车订单")
public ObjectRestResponse<BaseOrder> add(@RequestBody AddRentVehicleDTO vo){ public ObjectRestResponse<BaseOrder> add(@RequestBody AddRentVehicleDTO vo){
RentVehicleBO bo = initRentVehicleBO(vo); RentVehicleBO bo = initRentVehicleBO(vo);
vo.setDayNum(orderCalculateBiz.getIncludeDays(vo.getStartTime(), vo.getEndTime()));
bo.setAppUserDTO(userFeign.userDetailByToken(BaseContextHandler.getToken()).getData()); bo.setAppUserDTO(userFeign.userDetailByToken(BaseContextHandler.getToken()).getData());
orderRentVehicleService.createOrder(bo); orderRentVehicleService.createOrder(bo);
return ObjectRestResponse.succ(bo.getOrder()); return ObjectRestResponse.succ(bo.getOrder());
...@@ -81,7 +82,8 @@ public class OrderRentVehicleController extends CommonBaseController { ...@@ -81,7 +82,8 @@ public class OrderRentVehicleController extends CommonBaseController {
@ResponseBody @ResponseBody
@ApiOperation(value = "后台人员为客户下租车订单") @ApiOperation(value = "后台人员为客户下租车订单")
public ObjectRestResponse<BaseOrder> backStagedd(@RequestBody BgAddRentDTO dto){ public ObjectRestResponse<BaseOrder> backStagedd(@RequestBody BgAddRentDTO dto){
RentVehicleBO bo = initRentVehicleBO(dto); RentVehicleBO bo = orderRentVehicleBiz.initRentVehicleBO(dto);
bo.setDayNum(orderCalculateBiz.getIncludeDays(dto.getStartTime(), dto.getEndTime()));
bo.setAppUserDTO(userFeign.userDetailById(dto.getAppUserId()).getData()); bo.setAppUserDTO(userFeign.userDetailById(dto.getAppUserId()).getData());
bo.setCrtUser("-1"+ BaseContextHandler.getUserID()); bo.setCrtUser("-1"+ BaseContextHandler.getUserID());
......
package com.xxfc.platform.order.rest.background;
import cn.hutool.core.util.StrUtil;
import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.common.context.BaseContextHandler;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.rest.BaseController;
import com.github.wxiaoqi.security.common.util.Query;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.github.wxiaoqi.security.common.vo.PageParam;
import com.xxfc.platform.order.biz.OrderRentVehicleBiz;
import com.xxfc.platform.order.biz.ShuntApplyBiz;
import com.xxfc.platform.order.biz.inner.OrderCalculateBiz;
import com.xxfc.platform.order.entity.ShuntApply;
import com.xxfc.platform.order.pojo.order.RentVehicleBO;
import com.xxfc.platform.order.pojo.order.add.BgAddRentDTO;
import com.xxfc.platform.order.service.OrderRentVehicleService;
import com.xxfc.platform.vehicle.entity.VehicleModel;
import com.xxfc.platform.vehicle.feign.VehicleFeign;
import io.swagger.annotations.ApiOperation;
import lombok.Data;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/background/shuntApply")
public class ShuntApplyController extends BaseController<ShuntApplyBiz, ShuntApply> {
@Autowired
VehicleFeign vehicleFeign;
@Autowired
UserFeign userFeign;
@Autowired
OrderRentVehicleBiz orderRentVehicleBiz;
@Autowired
OrderCalculateBiz orderCalculateBiz;
@Autowired
ShuntApplyBiz shuntApplyBiz;
@Autowired
OrderRentVehicleService orderRentVehicleService;
@RequestMapping(value = "/confirmApply", method = RequestMethod.POST)
@ResponseBody
@ApiOperation(value = "后台确认申请")
public ObjectRestResponse confirmApply(@RequestBody confirmApplyDTO dto) {
//查询列表数据
if (StrUtil.isBlank(getCurrentUserId())) {
throw new BaseException(ResultCode.AJAX_WECHAT_NOTEXIST_CODE);
}
if(null == dto.getApplyId()) {
throw new BaseException(ResultCode.PARAM_ILLEGAL_CODE);
}
ShuntApply shuntApply = shuntApplyBiz.selectById(dto.getApplyId());
if(null == shuntApply) {
throw new BaseException(ResultCode.PARAM_ILLEGAL_CODE);
}
BgAddRentDTO bgAddRentDTO = new BgAddRentDTO();
bgAddRentDTO.setAppUserId(shuntApply.getUserId());
bgAddRentDTO.setStartTime(shuntApply.getStartTime());
bgAddRentDTO.setEndTime(shuntApply.getEndTime());
RentVehicleBO bo = orderRentVehicleBiz.initRentVehicleBO(bgAddRentDTO);
bo.setDayNum(orderCalculateBiz.getIncludeDays(bgAddRentDTO.getStartTime(), bgAddRentDTO.getEndTime()));
bo.setAppUserDTO(userFeign.userDetailById(bgAddRentDTO.getAppUserId()).getData());
bo.setCrtUser("-1"+ BaseContextHandler.getUserID());
//设置-1表示查询所有的车
//bo.setUseType(-1);
orderRentVehicleService.createOrder(bo);
return ObjectRestResponse.succ(bo.getOrder());
}
@Data
public static class confirmApplyDTO {
Integer applyId;
Integer vehicleId;
}
}
\ No newline at end of file
...@@ -139,6 +139,7 @@ public class RentVehicleController extends BaseController<VehicleBiz> implements ...@@ -139,6 +139,7 @@ public class RentVehicleController extends BaseController<VehicleBiz> implements
PageDataVO<UsableVehicleModelVO> uvmvpdvs = vehicleBiz.searchUsableModel(dto); PageDataVO<UsableVehicleModelVO> uvmvpdvs = vehicleBiz.searchUsableModel(dto);
if(CollUtil.isNotEmpty(uvmvpdvs.getData())){ if(CollUtil.isNotEmpty(uvmvpdvs.getData())){
uvmvpdvs.getData().forEach(data -> { uvmvpdvs.getData().forEach(data -> {
data.setHasVehicle(SYS_FALSE);
// if(StrUtil.isNotBlank(data.getVehicleIds())) { // if(StrUtil.isNotBlank(data.getVehicleIds())) {
// String[] strs = StrUtil.split(data.getVehicleIds(), ","); // String[] strs = StrUtil.split(data.getVehicleIds(), ",");
// List<Vehicle> vehicleList = vehicleBiz.selectByWeekend(w -> { // List<Vehicle> vehicleList = vehicleBiz.selectByWeekend(w -> {
...@@ -164,6 +165,7 @@ public class RentVehicleController extends BaseController<VehicleBiz> implements ...@@ -164,6 +165,7 @@ public class RentVehicleController extends BaseController<VehicleBiz> implements
//查询可车辆信息 //查询可车辆信息
PageDataVO<UsableVeicleVO> pageDataVO = vehicleBiz.searchUsableVehicle(rbd); PageDataVO<UsableVeicleVO> pageDataVO = vehicleBiz.searchUsableVehicle(rbd);
if(CollUtil.isNotEmpty(pageDataVO.getData())) { if(CollUtil.isNotEmpty(pageDataVO.getData())) {
for (UsableVeicleVO usableVeicleVO : pageDataVO.getData()) { for (UsableVeicleVO usableVeicleVO : pageDataVO.getData()) {
//判断是否预定时间内可租 //判断是否预定时间内可租
...@@ -176,6 +178,8 @@ public class RentVehicleController extends BaseController<VehicleBiz> implements ...@@ -176,6 +178,8 @@ public class RentVehicleController extends BaseController<VehicleBiz> implements
//如果"必须在这时间前预定" 存在 并且 比预定结束时间 要早,那么不允许预定 //如果"必须在这时间前预定" 存在 并且 比预定结束时间 要早,那么不允许预定
if(null != usableVeicleVO.getToReturnMustBeforeDate() && DateUtil.date(dto.getEndDateTamp()).isAfterOrEquals(usableVeicleVO.getToReturnMustBeforeDate())) { if(null != usableVeicleVO.getToReturnMustBeforeDate() && DateUtil.date(dto.getEndDateTamp()).isAfterOrEquals(usableVeicleVO.getToReturnMustBeforeDate())) {
usableVeicleVO.setAllowRent(SYS_FALSE); usableVeicleVO.setAllowRent(SYS_FALSE);
}else {
data.setHasVehicle(SYS_TRUE);
} }
String priceStartDateStr = StrUtil.isNotBlank(dto.getPriceStartDate())? dto.getPriceStartDate(): dto.getStartDate(); String priceStartDateStr = StrUtil.isNotBlank(dto.getPriceStartDate())? dto.getPriceStartDate(): dto.getStartDate();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment