Commit d0adcdd0 authored by 周健威's avatar 周健威

提供订单详情

parent 0a91060e
package com.xxfc.platform.order.vo.order;
import com.xxfc.platform.order.entity.BaseOrder;
import com.xxfc.platform.order.entity.inter.OrderDetail;
import com.xxfc.platform.vehicle.entity.VehicleModel;
import lombok.Data;
import java.util.Map;
@Data
public class OrderDetailVO extends OrderPageVO {
VehicleModel vehicleModel;
}
package com.xxfc.platform.order.vo; package com.xxfc.platform.order.vo.order;
import com.xxfc.platform.order.entity.BaseOrder; import com.xxfc.platform.order.entity.BaseOrder;
import lombok.Data; import lombok.Data;
......
package com.xxfc.platform.order.biz; package com.xxfc.platform.order.biz;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.util.Query;
import com.xxfc.platform.order.entity.BaseOrder; import com.xxfc.platform.order.entity.BaseOrder;
import com.xxfc.platform.order.mapper.BaseOrderMapper; import com.xxfc.platform.order.mapper.BaseOrderMapper;
import com.xxfc.platform.order.vo.OrderPageVO; import com.xxfc.platform.order.vo.order.OrderPageVO;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
......
...@@ -49,7 +49,7 @@ public class SwaggerConfig { ...@@ -49,7 +49,7 @@ public class SwaggerConfig {
pars.add(ticketPar2.build()); pars.add(ticketPar2.build());
return new Docket(DocumentationType.SWAGGER_2) return new Docket(DocumentationType.SWAGGER_2)
.host("10.1.37.248:"+port) .host("10.1.37.248:8765/api/order")
.select() .select()
.apis(RequestHandlerSelectors.basePackage("com.xxfc.platform.order")) .apis(RequestHandlerSelectors.basePackage("com.xxfc.platform.order"))
//.apis(RequestHandlerSelectors.any()) //.apis(RequestHandlerSelectors.any())
......
package com.xxfc.platform.order.mapper; package com.xxfc.platform.order.mapper;
import com.xxfc.platform.order.entity.BaseOrder; import com.xxfc.platform.order.entity.BaseOrder;
import com.xxfc.platform.order.vo.OrderPageVO; import com.xxfc.platform.order.vo.order.OrderPageVO;
import tk.mybatis.mapper.common.Mapper; import tk.mybatis.mapper.common.Mapper;
import java.util.List; import java.util.List;
......
...@@ -5,10 +5,8 @@ import cn.hutool.core.util.StrUtil; ...@@ -5,10 +5,8 @@ import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken; import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken; import com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken;
import com.github.wxiaoqi.security.common.constant.RestCode;
import com.github.wxiaoqi.security.common.context.BaseContextHandler; import com.github.wxiaoqi.security.common.context.BaseContextHandler;
import com.github.wxiaoqi.security.common.exception.BaseException; import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.msg.BaseResponse;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.rest.CommonBaseController; import com.github.wxiaoqi.security.common.rest.CommonBaseController;
import com.github.wxiaoqi.security.common.util.ClientUtil; import com.github.wxiaoqi.security.common.util.ClientUtil;
...@@ -19,7 +17,9 @@ import com.github.wxiaoqi.security.common.vo.PageParam; ...@@ -19,7 +17,9 @@ import com.github.wxiaoqi.security.common.vo.PageParam;
import com.xxfc.platform.order.biz.BaseOrderBiz; import com.xxfc.platform.order.biz.BaseOrderBiz;
import com.xxfc.platform.order.contant.enumerate.OrderStatusEnum; import com.xxfc.platform.order.contant.enumerate.OrderStatusEnum;
import com.xxfc.platform.order.entity.BaseOrder; import com.xxfc.platform.order.entity.BaseOrder;
import com.xxfc.platform.order.vo.OrderPageVO; import com.xxfc.platform.order.entity.inter.OrderDetail;
import com.xxfc.platform.order.vo.order.OrderDetailVO;
import com.xxfc.platform.order.vo.order.OrderPageVO;
import com.xxfc.platform.order.vo.pay.RentVehicleOrderPayVO; import com.xxfc.platform.order.vo.pay.RentVehicleOrderPayVO;
import com.xxfc.platform.universal.constant.enumerate.PayChannelEnum; import com.xxfc.platform.universal.constant.enumerate.PayChannelEnum;
import com.xxfc.platform.universal.feign.ThirdFeign; import com.xxfc.platform.universal.feign.ThirdFeign;
...@@ -33,10 +33,7 @@ import org.apache.commons.lang3.StringUtils; ...@@ -33,10 +33,7 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import java.math.BigDecimal; import java.math.BigDecimal;
...@@ -76,6 +73,29 @@ public class BaseOrderController extends CommonBaseController { ...@@ -76,6 +73,29 @@ public class BaseOrderController extends CommonBaseController {
return new ObjectRestResponse<>().data(PageDataVO.pageInfo(query.getPage(), query.getLimit(), baseOrderBiz.pageByParm(query.getSuper()))); return new ObjectRestResponse<>().data(PageDataVO.pageInfo(query.getPage(), query.getLimit(), baseOrderBiz.pageByParm(query.getSuper())));
} }
@ApiOperation("订单详情")
@RequestMapping(value = "/{no}",method = RequestMethod.GET)
@IgnoreClientToken
@ResponseBody
public ObjectRestResponse<OrderPageVO> get(@PathVariable String no){
//查询列表数据
if(StringUtils.isBlank(BaseContextHandler.getUserID())) {
throw new BaseException(ResultCode.AJAX_WECHAT_NOTEXIST_CODE);
}
QueryOrderDetailDTO qodd = new QueryOrderDetailDTO();
qodd.setCrtUser(Integer.valueOf(BaseContextHandler.getUserID()));
qodd.setNo(no);
qodd.setLimit(1);
qodd.setPage(1);
Query query = new Query(qodd);
PageDataVO<OrderPageVO> page = PageDataVO.pageInfo(query.getPage(), query.getLimit(), baseOrderBiz.pageByParm(query.getSuper()));
if(page.getData().isEmpty()) {
throw new BaseException(ResultCode.NOTEXIST_CODE);
}
return new ObjectRestResponse<>().data(page.getData().get(0));
}
@RequestMapping(value = "/pay",method = RequestMethod.POST) @RequestMapping(value = "/pay",method = RequestMethod.POST)
@ResponseBody @ResponseBody
@ApiOperation(value = "订单支付") @ApiOperation(value = "订单支付")
...@@ -152,6 +172,14 @@ public class BaseOrderController extends CommonBaseController { ...@@ -152,6 +172,14 @@ public class BaseOrderController extends CommonBaseController {
private Integer status; private Integer status;
} }
/**
* 订单查询类
*/
@Data
public class QueryOrderDetailDTO extends QueryOrderDTO {
private String no;
}
@Data @Data
public class NotifyUrlDTO{ public class NotifyUrlDTO{
//订单号 //订单号
......
...@@ -25,10 +25,10 @@ ...@@ -25,10 +25,10 @@
<!-- <result property="updHost" column="upd_host"/>--> <!-- <result property="updHost" column="upd_host"/>-->
<!-- </resultMap>--> <!-- </resultMap>-->
<resultMap type="com.xxfc.platform.order.vo.OrderPageVO" id="orderPageMap"> <resultMap type="com.xxfc.platform.order.vo.order.OrderPageVO" id="orderPageMap">
<result javaType="Integer" column="type" property="type"></result> <result javaType="Integer" column="type" property="type"></result>
<discriminator javaType="Integer" column="type"> <discriminator javaType="Integer" column="type">
<case value="1" resultType="com.xxfc.platform.order.vo.OrderPageVO"> <case value="1" resultType="com.xxfc.platform.order.vo.order.OrderPageVO">
<association column="id" property="detail" select="com.xxfc.platform.order.mapper.OrderRentVehicleDetailMapper.oneByOrderId"></association> <association column="id" property="detail" select="com.xxfc.platform.order.mapper.OrderRentVehicleDetailMapper.oneByOrderId"></association>
</case> </case>
</discriminator> </discriminator>
...@@ -41,12 +41,14 @@ ...@@ -41,12 +41,14 @@
<if test="crtUser != null"> <if test="crtUser != null">
and crt_user = #{crtUser} and crt_user = #{crtUser}
</if> </if>
<if test="status != null"> <if test="status != null">
and status = #{status} and status = #{status}
</if> </if>
<if test="no != null">
and no = #{no}
</if>
</where> </where>
order by crt_time desc; order by crt_time desc
</select> </select>
</mapper> </mapper>
\ No newline at end of file
package com.xxfc.platform.vehicle.vo; package com.xxfc.platform.vehicle.vo;
import com.github.wxiaoqi.security.common.vo.PageParam; import com.github.wxiaoqi.security.common.vo.PageParam;
import com.xxfc.platform.vehicle.entity.VehiclePlatCata;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
...@@ -11,6 +12,7 @@ import java.time.LocalDateTime; ...@@ -11,6 +12,7 @@ import java.time.LocalDateTime;
import java.time.ZoneOffset; import java.time.ZoneOffset;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.List; import java.util.List;
import java.util.Map;
import static java.time.LocalDateTime.ofEpochSecond; import static java.time.LocalDateTime.ofEpochSecond;
...@@ -38,8 +40,11 @@ public class UsableVeicleDTO extends PageParam { ...@@ -38,8 +40,11 @@ public class UsableVeicleDTO extends PageParam {
String priceEnd; String priceEnd;
@ApiModelProperty("分类逗号分割") @ApiModelProperty("分类逗号分割")
String catasStr; String catasStr;
@ApiModelProperty(value = "分类列表") @ApiModelProperty(value = "分类列表", hidden = true)
List<Integer> catas; Map<Integer, List<VehiclePlatCata>> catas;
// @ApiModelProperty(value = "一级分类列表", hidden = true)
// Map<Integer, List<VehiclePlatCata>> pCatas;
public void setStartDateTamp(Long startDateTamp) { public void setStartDateTamp(Long startDateTamp) {
this.startDateTamp = startDateTamp; this.startDateTamp = startDateTamp;
......
...@@ -42,7 +42,7 @@ public class SwaggerConfig{ ...@@ -42,7 +42,7 @@ public class SwaggerConfig{
pars.add(ticketPar.build()); //根据每个方法名也知道当前方法在设置什么参数 pars.add(ticketPar.build()); //根据每个方法名也知道当前方法在设置什么参数
return new Docket(DocumentationType.SWAGGER_2) return new Docket(DocumentationType.SWAGGER_2)
.host("10.1.37.248:"+port) .host("10.1.37.248:8765/vehicle")
.select() .select()
.apis(RequestHandlerSelectors.basePackage("com.xxfc.platform.vehicle")) .apis(RequestHandlerSelectors.basePackage("com.xxfc.platform.vehicle"))
//.apis(RequestHandlerSelectors.any()) //.apis(RequestHandlerSelectors.any())
......
...@@ -13,6 +13,7 @@ import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; ...@@ -13,6 +13,7 @@ import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.vo.PageDataVO; import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.vehicle.biz.VehicleBiz; import com.xxfc.platform.vehicle.biz.VehicleBiz;
import com.xxfc.platform.vehicle.biz.VehicleBookRecordBiz; import com.xxfc.platform.vehicle.biz.VehicleBookRecordBiz;
import com.xxfc.platform.vehicle.biz.VehiclePlatCataBiz;
import com.xxfc.platform.vehicle.common.BaseController; import com.xxfc.platform.vehicle.common.BaseController;
import com.xxfc.platform.vehicle.common.CustomIllegalParamException; import com.xxfc.platform.vehicle.common.CustomIllegalParamException;
import com.xxfc.platform.vehicle.common.RestResponse; import com.xxfc.platform.vehicle.common.RestResponse;
...@@ -20,6 +21,8 @@ import com.xxfc.platform.vehicle.constant.ResCode.ResCode; ...@@ -20,6 +21,8 @@ import com.xxfc.platform.vehicle.constant.ResCode.ResCode;
import com.xxfc.platform.vehicle.constant.VehicleBookRecordStatus; import com.xxfc.platform.vehicle.constant.VehicleBookRecordStatus;
import com.xxfc.platform.vehicle.entity.Vehicle; import com.xxfc.platform.vehicle.entity.Vehicle;
import com.xxfc.platform.vehicle.entity.VehicleBookInfo; import com.xxfc.platform.vehicle.entity.VehicleBookInfo;
import com.xxfc.platform.vehicle.entity.VehicleCata;
import com.xxfc.platform.vehicle.entity.VehiclePlatCata;
import com.xxfc.platform.vehicle.feign.UserFeign; import com.xxfc.platform.vehicle.feign.UserFeign;
import com.xxfc.platform.vehicle.feign.dto.UserDTO; import com.xxfc.platform.vehicle.feign.dto.UserDTO;
import com.xxfc.platform.vehicle.vo.*; import com.xxfc.platform.vehicle.vo.*;
...@@ -34,8 +37,15 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -34,8 +37,15 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import tk.mybatis.mapper.entity.Example;
import tk.mybatis.mapper.weekend.Weekend;
import tk.mybatis.mapper.weekend.WeekendCriteria;
import tk.mybatis.mapper.weekend.WeekendSqls;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -60,6 +70,9 @@ public class VehicleController extends BaseController<VehicleBiz> { ...@@ -60,6 +70,9 @@ public class VehicleController extends BaseController<VehicleBiz> {
@Autowired @Autowired
private UserAuthConfig userAuthConfig; private UserAuthConfig userAuthConfig;
@Autowired
private VehiclePlatCataBiz vehiclePlatCataBiz;
private static Integer MAX_DRIVING_LICENSE_SIZE = 10 * 1024 * 1024;//10M private static Integer MAX_DRIVING_LICENSE_SIZE = 10 * 1024 * 1024;//10M
public static final DateTimeFormatter DEFAULT_FORMATTER = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss"); public static final DateTimeFormatter DEFAULT_FORMATTER = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
...@@ -270,8 +283,21 @@ public class VehicleController extends BaseController<VehicleBiz> { ...@@ -270,8 +283,21 @@ public class VehicleController extends BaseController<VehicleBiz> {
public ObjectRestResponse<PageDataVO<UsableVehicleModelVO>> rentUsableVehicle(UsableVeicleDTO dto) throws Exception { public ObjectRestResponse<PageDataVO<UsableVehicleModelVO>> rentUsableVehicle(UsableVeicleDTO dto) throws Exception {
//根据时间 获得 可用车辆 //根据时间 获得 可用车辆
//结合车型 //结合车型
List<Integer> catasIds = Pattern.compile(",").splitAsStream(dto.getCatasStr()).map((s)-> Integer.parseInt(s)).collect(Collectors.toList());
List<VehiclePlatCata> catas = vehiclePlatCataBiz.selectByExample(new Example.Builder(VehiclePlatCata.class)
.where(WeekendSqls.<VehiclePlatCata>custom().andIn(VehiclePlatCata::getId, catasIds)).build());
Map<Integer, List<VehiclePlatCata>> vpcMap = new HashMap<Integer, List<VehiclePlatCata>>();
for(VehiclePlatCata vpc : catas) {
List<VehiclePlatCata> vpcs = vpcMap.get(vpc.getParentId());
if(null == vpcs) {
vpcs = new ArrayList<VehiclePlatCata>();
}
vpcs.add(vpc);
vpcMap.put(vpc.getParentId(), vpcs);
}
if(StringUtils.isNotBlank(dto.getCatasStr())) { if(StringUtils.isNotBlank(dto.getCatasStr())) {
dto.setCatas(Pattern.compile(",").splitAsStream(dto.getCatasStr()).map((s)-> Integer.parseInt(s)).collect(Collectors.toList())); dto.setCatas(vpcMap);
} }
return new ObjectRestResponse<>().data(vehicleBiz.searchUsableModel(dto)).rel(true); return new ObjectRestResponse<>().data(vehicleBiz.searchUsableModel(dto)).rel(true);
} }
......
...@@ -275,7 +275,7 @@ ...@@ -275,7 +275,7 @@
</if> </if>
left join vehicle_model vm on v.model_id = vm.id left join vehicle_model vm on v.model_id = vm.id
left join branch_company bc on v.park_branch_company_id = bc.id left join branch_company bc on v.park_branch_company_id = bc.id
<if test=" catas != null"> <if test=" catas != null ">
left join vehicle_cata vc on vm.id = vc.vehicle_model_id left join vehicle_cata vc on vm.id = vc.vehicle_model_id
</if> </if>
<where> <where>
...@@ -292,11 +292,16 @@ ...@@ -292,11 +292,16 @@
and v.model_id = #{modelId} and v.model_id = #{modelId}
</if> </if>
<if test=" catas != null "> <if test=" catas != null ">
and vc.cata_id in ( <foreach collection="catas" index="key" item="cataList">
<foreach collection="catas" index="catasIndex" item="cata" separator=","> and (
#{cata} <foreach collection="cataList" index="cIndex" item="cata">
<if test=" cIndex != 0">
or
</if>
vc.cata_id = #{cata.id}
</foreach>
)
</foreach> </foreach>
)
</if> </if>
</where> </where>
<if test="lon != null and lat != null"> <if test="lon != null and lat != null">
......
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