Commit b4d39ecd authored by hezhen's avatar hezhen

Merge branch 'master-vehicle-price' of...

Merge branch 'master-vehicle-price' of http://113.105.137.151:22280/youjj/cloud-platform into master-vehicle-price
parents ba3750e5 6723a534
...@@ -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.entity;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 调车申请
*
* @author libin
* @email 18178966185@163.com
* @date 2020-09-09 14:49:51
*/
@Data
@Table(name = "shunt_apply")
public class ShuntApply implements Serializable {
private static final long serialVersionUID = 1L;
public static final int STATUS_DEL = 0;
public static final int STATUS_CRT = 1;
public static final int STATUS_CNL = 2;
public static final int STATUS_CONFIRM = 3;
public static final int STATUS_ORDER = 4;
/**
* 主键
*/
@Id
@GeneratedValue(generator = "JDBC")
@ApiModelProperty("主键")
private Integer id;
/**
* 状态
0--删除
1--创建
2--取消
3--申请成功
*/
@Column(name = "status")
@ApiModelProperty(value = "状态 0--删除 1--创建 2--取消 3--申请成功 ")
private Integer status;
/**
* 创建时间
*/
@Column(name = "crt_time")
@ApiModelProperty(value = "创建时间", hidden = true )
private Date crtTime;
/**
* 创建者id
*/
@Column(name = "crt_user")
@ApiModelProperty(value = "创建者id")
private String crtUser;
/**
* 用户id
*/
@Column(name = "user_id")
@ApiModelProperty(value = "用户id")
private Integer userId;
/**
* 更新者id
*/
@Column(name = "upd_user")
@ApiModelProperty(value = "更新者id")
private String updUser;
/**
* 更新时间
*/
@Column(name = "upd_time")
@ApiModelProperty(value = "更新时间", hidden = true )
private Date updTime;
/**
* 开始公司
*/
@Column(name = "start_company_id")
@ApiModelProperty(value = "开始公司")
private Integer startCompanyId;
/**
* 结束公司
*/
@Column(name = "end_company_id")
@ApiModelProperty(value = "结束公司")
private Integer endCompanyId;
/**
* 车型id
*/
@Column(name = "model_id")
@ApiModelProperty(value = "车型id")
private Integer modelId;
/**
* 车辆id
*/
@Column(name = "vehicle_id")
@ApiModelProperty(value = "车辆id")
private String vehicleId;
/**
* 开始时间
*/
@Column(name = "start_time")
@ApiModelProperty(value = "开始时间")
private Long startTime;
/**
* 结束时间
*/
@Column(name = "end_time")
@ApiModelProperty(value = "结束时间")
private Long endTime;
/**
* 订单id
*/
@Column(name = "order_id")
@ApiModelProperty(value = "订单id")
private Integer orderId;
/**
* 订单编号
*/
@Column(name = "order_no")
@ApiModelProperty(value = "订单编号")
private String orderNo;
/**
* 开始公司名称
*/
@Column(name = "start_company_name")
@ApiModelProperty(value = "开始公司名称")
private String startCompanyName;
/**
* 结束公司名称
*/
@Column(name = "end_company_name")
@ApiModelProperty(value = "结束公司名称")
private String endCompanyName;
/**
* 超时时间戳
*/
@Column(name = "over_time")
@ApiModelProperty(value = "超时时间戳", hidden = true )
private Long overTime;
}
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
package com.xxfc.platform.order.biz;
import org.springframework.stereotype.Service;
import com.xxfc.platform.order.entity.ShuntApply;
import com.xxfc.platform.order.mapper.ShuntApplyMapper;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
/**
* 调车申请
*
* @author libin
* @email 18178966185@163.com
* @date 2020-09-09 14:49:51
*/
@Service
public class ShuntApplyBiz extends BaseBiz<ShuntApplyMapper, ShuntApply> {
}
\ 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;
......
package com.xxfc.platform.order.mapper;
import com.xxfc.platform.order.entity.ShuntApply;
import tk.mybatis.mapper.common.Mapper;
/**
* 调车申请
*
* @author libin
* @email 18178966185@163.com
* @date 2020-09-09 14:49:51
*/
public interface ShuntApplyMapper extends Mapper<ShuntApply> {
}
...@@ -70,7 +70,8 @@ public class OrderRentVehicleController extends CommonBaseController { ...@@ -70,7 +70,8 @@ public class OrderRentVehicleController extends CommonBaseController {
@ResponseBody @ResponseBody
@ApiOperation(value = "确认租车订单") @ApiOperation(value = "确认租车订单")
public ObjectRestResponse<BaseOrder> add(@RequestBody AddRentVehicleDTO vo){ public ObjectRestResponse<BaseOrder> add(@RequestBody AddRentVehicleDTO vo){
RentVehicleBO bo = initRentVehicleBO(vo); RentVehicleBO bo = orderRentVehicleBiz.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,8 +82,8 @@ public class OrderRentVehicleController extends CommonBaseController { ...@@ -81,8 +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());
//设置-1表示查询所有的车 //设置-1表示查询所有的车
...@@ -91,51 +92,6 @@ public class OrderRentVehicleController extends CommonBaseController { ...@@ -91,51 +92,6 @@ public class OrderRentVehicleController extends CommonBaseController {
return ObjectRestResponse.succ(bo.getOrder()); return ObjectRestResponse.succ(bo.getOrder());
} }
private RentVehicleBO initRentVehicleBO(@RequestBody 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;
}
@RequestMapping(value = "list-by-order/{orderId}",method = RequestMethod.GET) @RequestMapping(value = "list-by-order/{orderId}",method = RequestMethod.GET)
@ResponseBody @ResponseBody
@ApiOperation(value = "租车列表by订单Id") @ApiOperation(value = "租车列表by订单Id")
......
package com.xxfc.platform.order.rest;
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.AddRentVehicleDTO;
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.*;
import static com.github.wxiaoqi.security.common.vo.PageDataVO.pageInfo;
import static com.xxfc.platform.order.entity.ShuntApply.STATUS_CNL;
import static com.xxfc.platform.order.entity.ShuntApply.STATUS_CRT;
@RestController
@RequestMapping("shuntApply")
public class ShuntApplyController extends BaseController<ShuntApplyBiz, ShuntApply> {
@Autowired
VehicleFeign vehicleFeign;
@Autowired
UserFeign userFeign;
@Autowired
OrderRentVehicleBiz orderRentVehicleBiz;
@Autowired
OrderCalculateBiz orderCalculateBiz;
@Autowired
OrderRentVehicleService orderRentVehicleService;
@RequestMapping(value = "/addApply", method = RequestMethod.POST)
@ResponseBody
@ApiOperation(value = "申请列表")
public ObjectRestResponse addApply(@RequestBody ShuntApply shuntApply) {
//查询列表数据
if (StrUtil.isBlank(getCurrentUserId())) {
throw new BaseException(ResultCode.AJAX_WECHAT_NOTEXIST_CODE);
}
shuntApply.setUserId(getCurrentUserIdInt());
shuntApply.setStatus(STATUS_CRT);
return add(shuntApply);
}
@RequestMapping(value = "/cancelApply", method = RequestMethod.POST)
@ResponseBody
@ApiOperation(value = "取消申请")
public ObjectRestResponse addApply(@RequestBody CnlApplyDTO dto) {
//查询列表数据
if (StrUtil.isBlank(getCurrentUserId())) {
throw new BaseException(ResultCode.AJAX_WECHAT_NOTEXIST_CODE);
}
ShuntApply shuntApply = baseBiz.selectById(dto.getApplyId());
if(null == shuntApply) {
throw new BaseException(ResultCode.PARAM_ILLEGAL_CODE);
}
baseBiz.updateSelectiveById(new ShuntApply(){{
setId(shuntApply.getId());
setStatus(STATUS_CNL);
}});
return ObjectRestResponse.succ();
}
@RequestMapping(value = "/pageList", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "申请列表")
public ObjectRestResponse<PageDataVO<ShuntApplyVO>> pageList(QueryDTO dto) {
//查询列表数据
if (StrUtil.isBlank(getCurrentUserId())) {
throw new BaseException(ResultCode.AJAX_WECHAT_NOTEXIST_CODE);
}
dto.setUserId(Integer.valueOf(BaseContextHandler.getUserID()));
Query query = new Query(dto);
PageDataVO<ShuntApplyVO> pages = PageDataVO.pageInfo(query, () -> baseBiz.selectByWeekend(w -> {
w.andEqualTo(ShuntApply::getUserId, dto.getUserId());
return w;
}, " crt_time desc "), ShuntApplyVO.class);
pages.getData().forEach(data -> {
data.setVehicleModel(vehicleFeign.get(data.getModelId()).getData());
});
return ObjectRestResponse.succ(pages);
}
@RequestMapping(value = "/applyOrder", method = RequestMethod.POST)
@ResponseBody
@ApiOperation(value = "申请调车下单")
public ObjectRestResponse applyOrder(@RequestBody ApplyOrderDTO 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 = baseBiz.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());
// bgAddRentDTO.setVehicleId(shuntApply.getVehicleId());
//
// 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);
// AddRentVehicleDTO vo = new AddRentVehicleDTO(){{
// setStartTime(shuntApply.getStartTime());
// setEndTime(shuntApply.getEndTime());
// setC
// setDayNum(orderCalculateBiz.getIncludeDays(shuntApply.getStartTime(), shuntApply.getEndTime()));
// }};
RentVehicleBO bo = orderRentVehicleBiz.initRentVehicleBO(dto);
bo.setAppUserDTO(userFeign.userDetailByToken(BaseContextHandler.getToken()).getData());
orderRentVehicleService.createOrder(bo);
return ObjectRestResponse.succ(bo.getOrder());
}
@Data
public static class QueryDTO extends PageParam {
Integer userId;
}
@Data
public static class ShuntApplyVO extends ShuntApply {
VehicleModel vehicleModel;
}
@Data
public static class ApplyOrderDTO extends AddRentVehicleDTO {
Integer applyId;
}
@Data
public static class CnlApplyDTO {
Integer applyId;
}
}
\ No newline at end of file
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.*;
import static com.xxfc.platform.order.entity.ShuntApply.STATUS_CONFIRM;
import static com.xxfc.platform.order.entity.ShuntApply.STATUS_CRT;
@RestController
@RequestMapping("/background/shuntApply")
public class BgShuntApplyController extends BaseController<ShuntApplyBiz, ShuntApply> {
@Autowired
VehicleFeign vehicleFeign;
@Autowired
UserFeign userFeign;
@Autowired
OrderRentVehicleBiz orderRentVehicleBiz;
@Autowired
OrderCalculateBiz orderCalculateBiz;
@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 = baseBiz.selectById(dto.getApplyId());
if(null == shuntApply && shuntApply.getStatus() != STATUS_CRT) {
throw new BaseException(ResultCode.PARAM_ILLEGAL_CODE);
}
shuntApply.setVehicleId(dto.getVehicleId());
shuntApply.setStatus(STATUS_CONFIRM);
baseBiz.updateSelectiveById(shuntApply);
return ObjectRestResponse.succ();
}
@Data
public static class confirmApplyDTO {
Integer applyId;
String vehicleId;
}
}
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xxfc.platform.order.mapper.ShuntApplyMapper">
<!-- 可根据自己的需求,是否要使用 -->
<resultMap type="com.xxfc.platform.order.entity.ShuntApply" id="shuntApplyMap">
<result property="id" column="id"/>
<result property="status" column="status"/>
<result property="crtTime" column="crt_time"/>
<result property="crtUser" column="crt_user"/>
<result property="userId" column="user_id"/>
<result property="updUser" column="upd_user"/>
<result property="updTime" column="upd_time"/>
<result property="startCompanyId" column="start_company_id"/>
<result property="endCompanyId" column="end_company_id"/>
<result property="modelId" column="model_id"/>
<result property="vehicleId" column="vehicle_id"/>
<result property="startTime" column="start_time"/>
<result property="endTime" column="end_time"/>
<result property="orderId" column="order_id"/>
<result property="orderNo" column="order_no"/>
<result property="startCompanyName" column="start_company_name"/>
<result property="endCompanyName" column="end_company_name"/>
</resultMap>
</mapper>
\ No newline at end of file
...@@ -52,9 +52,14 @@ public interface VehicleFeign { ...@@ -52,9 +52,14 @@ public interface VehicleFeign {
@RequestMapping(value = "/vehicleModel/app/addScore", method = RequestMethod.GET) @RequestMapping(value = "/vehicleModel/app/addScore", method = RequestMethod.GET)
public RestResponse addScore(@RequestParam(value = "id") Integer id, @RequestParam(value = "score") Integer score); public RestResponse addScore(@RequestParam(value = "id") Integer id, @RequestParam(value = "score") Integer score);
//租车预约(无需审核)
@RequestMapping(value = "/vehicleInfo/rent/book/vehicle", method = RequestMethod.POST) @RequestMapping(value = "/vehicleInfo/rent/book/vehicle", method = RequestMethod.POST)
public ObjectRestResponse<VehicleBookRecord> rentApplyVehicle(@RequestBody RentVehicleBookDTO rentVehicleBookDTO); public ObjectRestResponse<VehicleBookRecord> rentApplyVehicle(@RequestBody RentVehicleBookDTO rentVehicleBookDTO);
//租车预约(需要审核)
@RequestMapping(value = "/vehicleInfo/apply/book/vehicle", method = RequestMethod.POST)
public ObjectRestResponse<VehicleBookRecord> applyBookVehicle(@RequestBody RentVehicleBookDTO rentVehicleBookDTO);
@RequestMapping(value = "/branchCompany/app/unauth/detail/{id}", method = RequestMethod.GET) @RequestMapping(value = "/branchCompany/app/unauth/detail/{id}", method = RequestMethod.GET)
public ObjectRestResponse<CompanyDetail> getCompanyDetail(@PathVariable(value = "id") Integer id); public ObjectRestResponse<CompanyDetail> getCompanyDetail(@PathVariable(value = "id") Integer id);
......
...@@ -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