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

申请调车相关

parent b121d313
......@@ -33,7 +33,7 @@ public class BaseController<Biz extends BaseBiz,Entity> extends CommonBaseContro
@ApiOperation("添加")
@RequestMapping(value = "",method = RequestMethod.POST)
@ResponseBody
public ObjectRestResponse<Entity> add(@RequestBody Entity entity) throws Exception {
public ObjectRestResponse<Entity> add(@RequestBody Entity entity) {
baseBiz.insertSelective(entity);
return new ObjectRestResponse<Entity>();
}
......@@ -67,7 +67,7 @@ public class BaseController<Biz extends BaseBiz,Entity> extends CommonBaseContro
@ApiOperation("查询所有")
@RequestMapping(value = "/all",method = RequestMethod.GET)
@ResponseBody
public List<Entity> all() throws Exception {
public List<Entity> all() {
return baseBiz.selectListAll();
}
......
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.PageHelper;
import com.github.pagehelper.PageInfo;
import com.github.wxiaoqi.security.common.util.Query;
import lombok.Data;
import java.lang.reflect.ParameterizedType;
import java.util.List;
@Data
......@@ -28,7 +31,6 @@ public class PageDataVO<T> {
public static <M> PageDataVO<M> pageInfo(PageInfo<M> pageInfo){
PageDataVO<M> pageDataVo = new PageDataVO<>();
pageDataVo.setTotalCount(pageInfo.getTotal());
pageDataVo.setData(pageInfo.getList());
pageDataVo.setPageNum(pageInfo.getPageNum());
pageDataVo.setTotalPage(pageInfo.getPages());
......@@ -48,4 +50,12 @@ public class PageDataVO<T> {
public static <M> PageDataVO<M> pageInfo(Query query, ISelect 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;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
......@@ -26,6 +27,7 @@ import java.util.List;
/**
* @author Administrator
*/
@Slf4j
@RestController
@RequestMapping("/staff")
@RequiredArgsConstructor(onConstructor_ = {@Autowired})
......@@ -56,8 +58,14 @@ public class AppStaffUserController extends BaseController<AppStaffUserBiz, AppS
@Override
@ApiOperation("添加")
@PostMapping(value = "")
public ObjectRestResponse<AppStaffUser> add(@RequestBody AppStaffUser appStaffUser) throws Exception {
IJWTInfo infoFromToken = userAuthUtil.getInfoFromToken(authConfig.getToken(request));
public ObjectRestResponse<AppStaffUser> add(@RequestBody AppStaffUser appStaffUser) {
IJWTInfo infoFromToken = null;
try {
infoFromToken = userAuthUtil.getInfoFromToken(authConfig.getToken(request));
} catch (Exception e) {
log.error(e.getMessage(), e);
return ObjectRestResponse.createDefaultFail();
}
Integer positionId = null;
try {
positionId = appUserDetailBiz.getUserInfoById(
......
......@@ -10,7 +10,8 @@ spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
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
password: sslcloud123*()
jackson:
......
#\u4EE3\u7801\u751F\u6210\u5668\uFF0C\u914D\u7F6E\u4FE1\u606F
#\u5305\u540D
package=com.xxfc.platform.vehicle
package=com.xxfc.platform.order
#\u4F5C\u8005
author=libin
#Email
......
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.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.xxfc.platform.order.biz.inner.OrderCalculateBiz;
import com.xxfc.platform.order.entity.OrderRentVehicleDetail;
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.pojo.BookVehicleVO;
import com.xxfc.platform.vehicle.pojo.CompanyDetail;
import lombok.extern.slf4j.Slf4j;
import org.mockito.internal.util.collections.Sets;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestBody;
import tk.mybatis.mapper.entity.Example;
import java.util.List;
import java.util.Map;
/**
* 租车订单详情
......@@ -29,6 +42,9 @@ public class OrderRentVehicleBiz extends BaseBiz<OrderRentVehicleDetailMapper, O
@Autowired
VehicleFeign vehicleFeign;
@Autowired
OrderCalculateBiz orderCalculateBiz;
public List<OrderRentVehicleDetail> listByOrderId(Integer orderId) {
return mapper.listByOrderId(orderId);
......@@ -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 {
private ArrayList<String> getIncludePathPatterns() {
ArrayList<String> list = new ArrayList<>();
String[] urls = {
"/background/**",
"/orderRentVehicle/**",
"/baseOrder/**",
"/orderTour/**",
"/orderMember/**",
"/orderRefund/**",
"/orderVehicle/**"
"/orderVehicle/**",
"/shuntApply/**"
};
Collections.addAll(list, urls);
return list;
......
......@@ -71,6 +71,7 @@ public class OrderRentVehicleController extends CommonBaseController {
@ApiOperation(value = "确认租车订单")
public ObjectRestResponse<BaseOrder> add(@RequestBody AddRentVehicleDTO vo){
RentVehicleBO bo = initRentVehicleBO(vo);
vo.setDayNum(orderCalculateBiz.getIncludeDays(vo.getStartTime(), vo.getEndTime()));
bo.setAppUserDTO(userFeign.userDetailByToken(BaseContextHandler.getToken()).getData());
orderRentVehicleService.createOrder(bo);
return ObjectRestResponse.succ(bo.getOrder());
......@@ -81,7 +82,8 @@ public class OrderRentVehicleController extends CommonBaseController {
@ResponseBody
@ApiOperation(value = "后台人员为客户下租车订单")
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.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
PageDataVO<UsableVehicleModelVO> uvmvpdvs = vehicleBiz.searchUsableModel(dto);
if(CollUtil.isNotEmpty(uvmvpdvs.getData())){
uvmvpdvs.getData().forEach(data -> {
data.setHasVehicle(SYS_FALSE);
// if(StrUtil.isNotBlank(data.getVehicleIds())) {
// String[] strs = StrUtil.split(data.getVehicleIds(), ",");
// List<Vehicle> vehicleList = vehicleBiz.selectByWeekend(w -> {
......@@ -164,6 +165,7 @@ public class RentVehicleController extends BaseController<VehicleBiz> implements
//查询可车辆信息
PageDataVO<UsableVeicleVO> pageDataVO = vehicleBiz.searchUsableVehicle(rbd);
if(CollUtil.isNotEmpty(pageDataVO.getData())) {
for (UsableVeicleVO usableVeicleVO : pageDataVO.getData()) {
//判断是否预定时间内可租
......@@ -176,6 +178,8 @@ public class RentVehicleController extends BaseController<VehicleBiz> implements
//如果"必须在这时间前预定" 存在 并且 比预定结束时间 要早,那么不允许预定
if(null != usableVeicleVO.getToReturnMustBeforeDate() && DateUtil.date(dto.getEndDateTamp()).isAfterOrEquals(usableVeicleVO.getToReturnMustBeforeDate())) {
usableVeicleVO.setAllowRent(SYS_FALSE);
}else {
data.setHasVehicle(SYS_TRUE);
}
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