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 lombok.Data;
......
package com.xxfc.platform.order.biz;
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.mapper.BaseOrderMapper;
import com.xxfc.platform.order.vo.OrderPageVO;
import com.xxfc.platform.order.vo.order.OrderPageVO;
import org.springframework.stereotype.Service;
import java.util.List;
......
......@@ -49,7 +49,7 @@ public class SwaggerConfig {
pars.add(ticketPar2.build());
return new Docket(DocumentationType.SWAGGER_2)
.host("10.1.37.248:"+port)
.host("10.1.37.248:8765/api/order")
.select()
.apis(RequestHandlerSelectors.basePackage("com.xxfc.platform.order"))
//.apis(RequestHandlerSelectors.any())
......
package com.xxfc.platform.order.mapper;
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 java.util.List;
......
......@@ -5,10 +5,8 @@ import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken;
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.exception.BaseException;
import com.github.wxiaoqi.security.common.msg.BaseResponse;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.rest.CommonBaseController;
import com.github.wxiaoqi.security.common.util.ClientUtil;
......@@ -19,7 +17,9 @@ import com.github.wxiaoqi.security.common.vo.PageParam;
import com.xxfc.platform.order.biz.BaseOrderBiz;
import com.xxfc.platform.order.contant.enumerate.OrderStatusEnum;
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.universal.constant.enumerate.PayChannelEnum;
import com.xxfc.platform.universal.feign.ThirdFeign;
......@@ -33,10 +33,7 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal;
......@@ -76,6 +73,29 @@ public class BaseOrderController extends CommonBaseController {
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)
@ResponseBody
@ApiOperation(value = "订单支付")
......@@ -152,6 +172,14 @@ public class BaseOrderController extends CommonBaseController {
private Integer status;
}
/**
* 订单查询类
*/
@Data
public class QueryOrderDetailDTO extends QueryOrderDTO {
private String no;
}
@Data
public class NotifyUrlDTO{
//订单号
......
......@@ -25,10 +25,10 @@
<!-- <result property="updHost" column="upd_host"/>-->
<!-- </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>
<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>
</case>
</discriminator>
......@@ -41,12 +41,14 @@
<if test="crtUser != null">
and crt_user = #{crtUser}
</if>
<if test="status != null">
and status = #{status}
</if>
<if test="no != null">
and no = #{no}
</if>
</where>
order by crt_time desc;
order by crt_time desc
</select>
</mapper>
\ No newline at end of file
package com.xxfc.platform.vehicle.vo;
import com.github.wxiaoqi.security.common.vo.PageParam;
import com.xxfc.platform.vehicle.entity.VehiclePlatCata;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -11,6 +12,7 @@ import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.time.format.DateTimeFormatter;
import java.util.List;
import java.util.Map;
import static java.time.LocalDateTime.ofEpochSecond;
......@@ -38,8 +40,11 @@ public class UsableVeicleDTO extends PageParam {
String priceEnd;
@ApiModelProperty("分类逗号分割")
String catasStr;
@ApiModelProperty(value = "分类列表")
List<Integer> catas;
@ApiModelProperty(value = "分类列表", hidden = true)
Map<Integer, List<VehiclePlatCata>> catas;
// @ApiModelProperty(value = "一级分类列表", hidden = true)
// Map<Integer, List<VehiclePlatCata>> pCatas;
public void setStartDateTamp(Long startDateTamp) {
this.startDateTamp = startDateTamp;
......
......@@ -42,7 +42,7 @@ public class SwaggerConfig{
pars.add(ticketPar.build()); //根据每个方法名也知道当前方法在设置什么参数
return new Docket(DocumentationType.SWAGGER_2)
.host("10.1.37.248:"+port)
.host("10.1.37.248:8765/vehicle")
.select()
.apis(RequestHandlerSelectors.basePackage("com.xxfc.platform.vehicle"))
//.apis(RequestHandlerSelectors.any())
......
......@@ -13,6 +13,7 @@ import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.vehicle.biz.VehicleBiz;
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.CustomIllegalParamException;
import com.xxfc.platform.vehicle.common.RestResponse;
......@@ -20,6 +21,8 @@ import com.xxfc.platform.vehicle.constant.ResCode.ResCode;
import com.xxfc.platform.vehicle.constant.VehicleBookRecordStatus;
import com.xxfc.platform.vehicle.entity.Vehicle;
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.dto.UserDTO;
import com.xxfc.platform.vehicle.vo.*;
......@@ -34,8 +37,15 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
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.Map;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
......@@ -60,6 +70,9 @@ public class VehicleController extends BaseController<VehicleBiz> {
@Autowired
private UserAuthConfig userAuthConfig;
@Autowired
private VehiclePlatCataBiz vehiclePlatCataBiz;
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");
......@@ -270,8 +283,21 @@ public class VehicleController extends BaseController<VehicleBiz> {
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())) {
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);
}
......
......@@ -275,7 +275,7 @@
</if>
left join vehicle_model vm on v.model_id = vm.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
</if>
<where>
......@@ -292,11 +292,16 @@
and v.model_id = #{modelId}
</if>
<if test=" catas != null ">
and vc.cata_id in (
<foreach collection="catas" index="catasIndex" item="cata" separator=",">
#{cata}
<foreach collection="catas" index="key" item="cataList">
and (
<foreach collection="cataList" index="cIndex" item="cata">
<if test=" cIndex != 0">
or
</if>
vc.cata_id = #{cata.id}
</foreach>
)
</foreach>
)
</if>
</where>
<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