Commit 0361322c authored by youjj's avatar youjj

Merge branch 'base-modify' of http://10.5.52.3/youjj/cloud-platform into base-modify

parents 9f198bc6 30ba5f9d
...@@ -75,7 +75,7 @@ public class ObjectRestResponse<T> extends BaseResponse { ...@@ -75,7 +75,7 @@ public class ObjectRestResponse<T> extends BaseResponse {
* @param message * @param message
* @return * @return
*/ */
public static ObjectRestResponse createFailedResult(Integer code, String message) { public static ObjectRestResponse createFailedResult(Integer code, String message) {
return new ObjectRestResponse().status(code).msg(message).rel(false); return new ObjectRestResponse().status(code).msg(message).rel(false);
} }
...@@ -83,7 +83,7 @@ public class ObjectRestResponse<T> extends BaseResponse { ...@@ -83,7 +83,7 @@ public class ObjectRestResponse<T> extends BaseResponse {
* 操作失败 * 操作失败
* @return * @return
*/ */
public static ObjectRestResponse createDefaultFail() { public static ObjectRestResponse createDefaultFail() {
return new ObjectRestResponse().status(WEB_CALL_RESULT_FAILED).msg(RESULT_FAIL_MSG).rel(false); return new ObjectRestResponse().status(WEB_CALL_RESULT_FAILED).msg(RESULT_FAIL_MSG).rel(false);
} }
} }
...@@ -172,6 +172,9 @@ public class ResultCode { ...@@ -172,6 +172,9 @@ public class ResultCode {
// 未绑定社保卡 // 未绑定社保卡
public static int NOT_BIND_SOCIAL_CARD = Integer.valueOf(SystemProperty.getResultConfig("NOT_BIND_SOCIAL_CARD")); public static int NOT_BIND_SOCIAL_CARD = Integer.valueOf(SystemProperty.getResultConfig("NOT_BIND_SOCIAL_CARD"));
// 操作失败
public static int STOCK_CODE = Integer.valueOf(SystemProperty.getResultConfig("STOCK_CODE"));
public static String getMsg(int code) { public static String getMsg(int code) {
return SystemProperty.getResultConfig(String.valueOf(code)); return SystemProperty.getResultConfig(String.valueOf(code));
......
package com.github.wxiaoqi.security.common.vo; package com.github.wxiaoqi.security.common.vo;
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 lombok.Data; import lombok.Data;
import java.util.List; import java.util.List;
...@@ -34,10 +36,16 @@ public class PageDataVO<T> { ...@@ -34,10 +36,16 @@ public class PageDataVO<T> {
return pageDataVo; return pageDataVo;
} }
public static <M> PageDataVO<M> pageInfo(Integer page, Integer limit, List<M> list){ // public static <M> PageDataVO<M> pageInfo(Integer page, Integer limit, List<M> list){
PageHelper.startPage(page,limit); // PageInfo<M> pageInfo = new PageInfo<M>(list);
PageInfo<M> listPageInfo = new PageInfo<M>(list); // return PageDataVO.pageInfo(pageInfo);
return pageInfo(listPageInfo); // }
public static <M> PageDataVO<M> pageInfo(Integer page, Integer limit, ISelect select){
return PageDataVO.pageInfo(PageHelper.startPage(page, limit).doSelectPageInfo(select));
} }
public static <M> PageDataVO<M> pageInfo(Query query, ISelect select){
return PageDataVO.pageInfo(PageHelper.startPage(query.getPage(), query.getLimit()).doSelectPageInfo(select));
}
} }
...@@ -178,4 +178,6 @@ SCRM_RESULTINFO_SUCCESS_CODE=10344 ...@@ -178,4 +178,6 @@ SCRM_RESULTINFO_SUCCESS_CODE=10344
#市接口无数据返回 #市接口无数据返回
NO_SELECT_BY_RS=1010 NO_SELECT_BY_RS=1010
#还未绑定社保卡 #还未绑定社保卡
NOT_BIND_SOCIAL_CARD=3010 NOT_BIND_SOCIAL_CARD=3010
\ No newline at end of file #库存不足
STOCK_CODE=201
\ No newline at end of file
...@@ -53,6 +53,11 @@ ...@@ -53,6 +53,11 @@
<artifactId>mybatis-spring-boot-starter</artifactId> <artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.4</version> <version>1.3.4</version>
</dependency> </dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.10</version>
</dependency>
<!-- druid --> <!-- druid -->
<dependency> <dependency>
<groupId>com.github.drtrang</groupId> <groupId>com.github.drtrang</groupId>
......
...@@ -48,11 +48,6 @@ ...@@ -48,11 +48,6 @@
<groupId>mysql</groupId> <groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId> <artifactId>mysql-connector-java</artifactId>
</dependency> </dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.10</version>
</dependency>
<!-- excel 组件 --> <!-- excel 组件 -->
<dependency> <dependency>
......
...@@ -19,6 +19,12 @@ ...@@ -19,6 +19,12 @@
<version>2.0-SNAPSHOT</version> <version>2.0-SNAPSHOT</version>
</dependency> </dependency>
<dependency>
<groupId>com.xxfc.platform</groupId>
<artifactId>xx-tour-api</artifactId>
<version>2.0-SNAPSHOT</version>
</dependency>
<dependency> <dependency>
<groupId>com.xxfc.platform</groupId> <groupId>com.xxfc.platform</groupId>
<artifactId>xx-universal-api</artifactId> <artifactId>xx-universal-api</artifactId>
......
...@@ -5,6 +5,7 @@ import java.util.Map; ...@@ -5,6 +5,7 @@ import java.util.Map;
public enum OrderTypeEnum { public enum OrderTypeEnum {
RentVehicle(1, "租车订单"), RentVehicle(1, "租车订单"),
TOUR(2, "旅游订单"),
; ;
/** /**
* 编码 * 编码
......
...@@ -91,9 +91,9 @@ public class OrderTourDetail implements Serializable { ...@@ -91,9 +91,9 @@ public class OrderTourDetail implements Serializable {
private String endCityName; private String endCityName;
//自己乘客ids //自己乘客ids
@Column(name = "my_passager_ids") @Column(name = "tour_user_ids")
@ApiModelProperty(value = "自己乘客ids") @ApiModelProperty(value = "出游乘客ids")
private String myPassagerIds; private String tourUserIds;
//出发公司Id //出发公司Id
@Column(name = "start_company_id") @Column(name = "start_company_id")
......
...@@ -4,10 +4,12 @@ import com.xxfc.platform.order.entity.BaseOrder; ...@@ -4,10 +4,12 @@ import com.xxfc.platform.order.entity.BaseOrder;
import com.xxfc.platform.order.entity.inter.OrderDetail; import com.xxfc.platform.order.entity.inter.OrderDetail;
import com.xxfc.platform.order.entity.OrderRentVehicleDetail; import com.xxfc.platform.order.entity.OrderRentVehicleDetail;
import com.xxfc.platform.vehicle.entity.VehicleModel; import com.xxfc.platform.vehicle.entity.VehicleModel;
import com.xxfc.platform.vehicle.pojo.BookVehicleVO;
import lombok.Data; import lombok.Data;
@Data @Data
public class RentVehicleBO extends OrderRentVehicleDetail implements OrderDetail { public class RentVehicleBO extends OrderRentVehicleDetail implements OrderDetail {
private BaseOrder order; private BaseOrder order;
private VehicleModel vehicleModel; private VehicleModel vehicleModel;
private BookVehicleVO bookVehicleVO;
} }
...@@ -4,11 +4,16 @@ import com.xxfc.platform.order.entity.BaseOrder; ...@@ -4,11 +4,16 @@ import com.xxfc.platform.order.entity.BaseOrder;
import com.xxfc.platform.order.entity.OrderRentVehicleDetail; import com.xxfc.platform.order.entity.OrderRentVehicleDetail;
import com.xxfc.platform.order.entity.OrderTourDetail; import com.xxfc.platform.order.entity.OrderTourDetail;
import com.xxfc.platform.order.entity.inter.OrderDetail; import com.xxfc.platform.order.entity.inter.OrderDetail;
import com.xxfc.platform.tour.entity.TourUser;
import com.xxfc.platform.vehicle.entity.VehicleModel; import com.xxfc.platform.vehicle.entity.VehicleModel;
import lombok.Data; import lombok.Data;
import java.util.List;
@Data @Data
public class TourBO extends OrderTourDetail implements OrderDetail { public class TourBO extends OrderTourDetail implements OrderDetail {
private BaseOrder order; private BaseOrder order;
// private Tour List<TourUser> tourUsers;
Integer number;
Integer childNumber;
} }
package com.xxfc.platform.order.pojo.price;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class TourPriceVO extends OrderPriceVO{
@ApiModelProperty(value = "车辆价格")
BigDecimal vehicleAmount;
@ApiModelProperty(value = "司机价格")
BigDecimal driverAmount;
@ApiModelProperty(value = "押金价格")
BigDecimal deposit;
@ApiModelProperty(value = "天数")
Integer dayNum;
@ApiModelProperty(value = "车辆个数")
Integer vehicleNum;
@ApiModelProperty(value = "司机个数")
Integer driverNum;
@ApiModelProperty(value = "车型名称")
String modelName;
@ApiModelProperty(value = "车型价格")
BigDecimal modelAmount;
@ApiModelProperty(value = "司机单价")
BigDecimal driverPrice;
@ApiModelProperty(value = "费用详情")
private String costDetail;
}
...@@ -26,18 +26,6 @@ ...@@ -26,18 +26,6 @@
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
<dependency>
<groupId>com.xxfc.platform</groupId>
<artifactId>xx-vehicle-api</artifactId>
<version>2.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.xxfc.platform</groupId>
<artifactId>xx-tour-api</artifactId>
<version>2.0-SNAPSHOT</version>
</dependency>
</dependencies> </dependencies>
<build> <build>
......
...@@ -3,6 +3,7 @@ package com.xxfc.platform.order.rest; ...@@ -3,6 +3,7 @@ package com.xxfc.platform.order.rest;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.github.pagehelper.PageHelper;
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.context.BaseContextHandler; import com.github.wxiaoqi.security.common.context.BaseContextHandler;
...@@ -69,7 +70,7 @@ public class BaseOrderController extends CommonBaseController { ...@@ -69,7 +70,7 @@ public class BaseOrderController extends CommonBaseController {
} }
dto.setCrtUser(Integer.valueOf(BaseContextHandler.getUserID())); dto.setCrtUser(Integer.valueOf(BaseContextHandler.getUserID()));
Query query = new Query(dto); Query query = new Query(dto);
return new ObjectRestResponse<>().data(PageDataVO.pageInfo(query.getPage(), query.getLimit(), baseOrderBiz.pageByParm(query.getSuper()))); return new ObjectRestResponse<>().data(PageDataVO.pageInfo(query, () -> baseOrderBiz.pageByParm(query.getSuper())));
} }
@ApiOperation("订单详情") @ApiOperation("订单详情")
...@@ -81,17 +82,22 @@ public class BaseOrderController extends CommonBaseController { ...@@ -81,17 +82,22 @@ public class BaseOrderController extends CommonBaseController {
if(StringUtils.isBlank(BaseContextHandler.getUserID())) { if(StringUtils.isBlank(BaseContextHandler.getUserID())) {
throw new BaseException(ResultCode.AJAX_WECHAT_NOTEXIST_CODE); throw new BaseException(ResultCode.AJAX_WECHAT_NOTEXIST_CODE);
} }
Query query = initQuery(no);
PageDataVO<OrderPageVO> page = PageDataVO.pageInfo(query, () -> baseOrderBiz.pageByParm(query.getSuper()));
if(page.getData().isEmpty()) {
throw new BaseException(ResultCode.NOTEXIST_CODE);
}
return new ObjectRestResponse<>().data(page.getData().get(0));
}
private Query initQuery(String no) {
QueryOrderDetailDTO qodd = new QueryOrderDetailDTO(); QueryOrderDetailDTO qodd = new QueryOrderDetailDTO();
qodd.setCrtUser(Integer.valueOf(BaseContextHandler.getUserID())); qodd.setCrtUser(Integer.valueOf(BaseContextHandler.getUserID()));
qodd.setNo(no); qodd.setNo(no);
qodd.setLimit(1); qodd.setLimit(1);
qodd.setPage(1); qodd.setPage(1);
Query query = new Query(qodd); Query query = new Query(qodd);
PageDataVO<OrderPageVO> page = PageDataVO.pageInfo(query.getPage(), query.getLimit(), baseOrderBiz.pageByParm(query.getSuper())); return query;
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)
......
...@@ -7,11 +7,13 @@ import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; ...@@ -7,11 +7,13 @@ 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.xxfc.platform.order.biz.BaseOrderBiz; import com.xxfc.platform.order.biz.BaseOrderBiz;
import com.xxfc.platform.order.biz.OrderRentVehicleBiz; import com.xxfc.platform.order.biz.OrderRentVehicleBiz;
import com.xxfc.platform.order.entity.BaseOrder;
import com.xxfc.platform.order.entity.OrderRentVehicleDetail; import com.xxfc.platform.order.entity.OrderRentVehicleDetail;
import com.xxfc.platform.order.service.OrderRentVehicleService; import com.xxfc.platform.order.service.OrderRentVehicleService;
import com.xxfc.platform.order.pojo.AddRentVehicleDTO; import com.xxfc.platform.order.pojo.AddRentVehicleDTO;
import com.xxfc.platform.order.pojo.order.RentVehicleBO; import com.xxfc.platform.order.pojo.order.RentVehicleBO;
import com.xxfc.platform.order.pojo.price.RentVehiclePriceVO; import com.xxfc.platform.order.pojo.price.RentVehiclePriceVO;
import com.xxfc.platform.vehicle.pojo.BookVehicleVO;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
...@@ -38,17 +40,21 @@ public class OrderRentVehicleController extends CommonBaseController { ...@@ -38,17 +40,21 @@ public class OrderRentVehicleController extends CommonBaseController {
@RequestMapping(value = "add",method = RequestMethod.POST) @RequestMapping(value = "add",method = RequestMethod.POST)
@ResponseBody @ResponseBody
@ApiOperation(value = "确认租车订单") @ApiOperation(value = "确认租车订单")
public ObjectRestResponse<OrderRentVehicleDetail> add(@RequestBody AddRentVehicleDTO vo){ public ObjectRestResponse<BaseOrder> add(@RequestBody AddRentVehicleDTO vo){
RentVehicleBO bo = BeanUtil.toBean(vo, RentVehicleBO.class); RentVehicleBO bo = BeanUtil.toBean(vo, RentVehicleBO.class);
bo.setBookVehicleVO(new BookVehicleVO(){{
setBookStartDate(vo.getBookStartDate());
setBookEndDate(vo.getBookEndDate());
}});
orderRentVehicleService.createOrder(bo); orderRentVehicleService.createOrder(bo);
return new ObjectRestResponse<>().rel(true).data(bo.getOrder()); return ObjectRestResponse.succ(bo.getOrder());
} }
@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")
public ObjectRestResponse<OrderRentVehicleDetail> listByOrder(@PathVariable("orderId") Integer orderId){ public ObjectRestResponse<OrderRentVehicleDetail> listByOrder(@PathVariable("orderId") Integer orderId){
return new ObjectRestResponse<>().data(orderRentVehicleBiz.listByOrderId(orderId)); return ObjectRestResponse.succ(orderRentVehicleBiz.listByOrderId(orderId));
} }
@RequestMapping(value = "/app/unauth/calculate-price",method = RequestMethod.GET) @RequestMapping(value = "/app/unauth/calculate-price",method = RequestMethod.GET)
...@@ -57,7 +63,7 @@ public class OrderRentVehicleController extends CommonBaseController { ...@@ -57,7 +63,7 @@ public class OrderRentVehicleController extends CommonBaseController {
@IgnoreUserToken @IgnoreUserToken
public ObjectRestResponse<RentVehiclePriceVO> calculatePrice(CalculatePriceVO vo){ public ObjectRestResponse<RentVehiclePriceVO> calculatePrice(CalculatePriceVO vo){
RentVehicleBO bo = BeanUtil.toBean(vo, RentVehicleBO.class); RentVehicleBO bo = BeanUtil.toBean(vo, RentVehicleBO.class);
return new ObjectRestResponse<>().rel(true).data(orderRentVehicleService.calculatePrice(bo)); return ObjectRestResponse.succ(orderRentVehicleService.calculatePrice(bo));
} }
@Data @Data
......
package com.xxfc.platform.order.rest; package com.xxfc.platform.order.rest;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.rest.BaseController; import com.github.wxiaoqi.security.common.rest.BaseController;
import com.xxfc.platform.order.biz.OrderTourDetailBiz; import com.xxfc.platform.order.biz.OrderTourDetailBiz;
import com.xxfc.platform.order.entity.BaseOrder;
import com.xxfc.platform.order.entity.OrderRentVehicleDetail; import com.xxfc.platform.order.entity.OrderRentVehicleDetail;
import com.xxfc.platform.order.entity.OrderTourDetail; import com.xxfc.platform.order.entity.OrderTourDetail;
import com.xxfc.platform.order.pojo.AddRentVehicleDTO; import com.xxfc.platform.order.pojo.AddRentVehicleDTO;
import com.xxfc.platform.order.pojo.AddTourDTO; import com.xxfc.platform.order.pojo.AddTourDTO;
import com.xxfc.platform.order.pojo.order.RentVehicleBO; import com.xxfc.platform.order.pojo.order.RentVehicleBO;
import com.xxfc.platform.order.pojo.order.TourBO;
import com.xxfc.platform.order.pojo.price.RentVehiclePriceVO;
import com.xxfc.platform.order.pojo.price.TourPriceVO;
import com.xxfc.platform.order.service.OrderTourService; import com.xxfc.platform.order.service.OrderTourService;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.Data;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
...@@ -18,6 +25,8 @@ import org.springframework.web.bind.annotation.RequestMapping; ...@@ -18,6 +25,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseBody;
import javax.persistence.Column;
@Controller @Controller
@RequestMapping("orderTour") @RequestMapping("orderTour")
public class OrderTourController extends BaseController<OrderTourDetailBiz,OrderTourDetail> { public class OrderTourController extends BaseController<OrderTourDetailBiz,OrderTourDetail> {
...@@ -28,9 +37,37 @@ public class OrderTourController extends BaseController<OrderTourDetailBiz,Order ...@@ -28,9 +37,37 @@ public class OrderTourController extends BaseController<OrderTourDetailBiz,Order
@RequestMapping(value = "add",method = RequestMethod.POST) @RequestMapping(value = "add",method = RequestMethod.POST)
@ResponseBody @ResponseBody
@ApiOperation(value = "确认旅游订单") @ApiOperation(value = "确认旅游订单")
public ObjectRestResponse<OrderRentVehicleDetail> add(@RequestBody AddTourDTO vo){ public ObjectRestResponse<BaseOrder> add(@RequestBody AddTourDTO vo){
RentVehicleBO bo = BeanUtil.toBean(vo, RentVehicleBO.class); TourBO bo = BeanUtil.toBean(vo, TourBO.class);
orderTourService.createOrder(bo); orderTourService.createOrder(bo);
return new ObjectRestResponse<>().rel(true).data(bo.getOrder()); return ObjectRestResponse.succ(bo.getOrder());
}
@RequestMapping(value = "/app/unauth/calculate-price",method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "价格计算")
@IgnoreUserToken
public ObjectRestResponse<TourPriceVO> calculatePrice(CalculatePriceVO vo){
TourBO bo = BeanUtil.toBean(vo, TourBO.class);
return ObjectRestResponse.succ(orderTourService.calculatePrice(bo));
}
@Data
public class CalculatePriceVO {
//商品id
@ApiModelProperty(value = "商品id")
private Integer goodId;
//商品规格ids
@ApiModelProperty(value = "商品规格ids")
private String speIds;
//具体商品(商品项)id
@ApiModelProperty(value = "具体商品(商品项)id")
private String spePriceId;
//自己乘客ids
@ApiModelProperty(value = "自己乘客ids")
private String tourUserIds;
} }
} }
\ No newline at end of file
...@@ -32,7 +32,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl ...@@ -32,7 +32,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
private static BigDecimal DRIVER_PRICE = new BigDecimal("600.00"); private static BigDecimal DRIVER_PRICE = new BigDecimal("600.00");
private static BigDecimal DAMAGE_SAFE = new BigDecimal("100.00"); //车损免赔 private static BigDecimal DAMAGE_SAFE = new BigDecimal("100.00"); //车损免赔
private static Integer DRIVER_TYPE_COMPANY = 1; private static Integer DRIVER_TYPE_COMPANY = 1;
private static BigDecimal DEPOSIT = new BigDecimal("20000.00"); // private static BigDecimal DEPOSIT = new BigDecimal("20000.00");
@Autowired @Autowired
VehicleFeign vehicleFeign; VehicleFeign vehicleFeign;
...@@ -95,7 +95,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl ...@@ -95,7 +95,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
//商品价格 //商品价格
goodsAmount = goodsAmount.add(vehicleAmount).add(driverAmount); goodsAmount = goodsAmount.add(vehicleAmount).add(driverAmount);
//总价格(包含押金) //总价格(包含押金)
orderAmount = orderAmount.add(goodsAmount).add(DEPOSIT); orderAmount = orderAmount.add(goodsAmount).add(vehicleModel.getDeposit());
//生成订单明细 //生成订单明细
RentVehiclePriceVO rvp = new RentVehiclePriceVO(); RentVehiclePriceVO rvp = new RentVehiclePriceVO();
...@@ -104,7 +104,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl ...@@ -104,7 +104,7 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
rvp.setDriverAmount(driverAmount); rvp.setDriverAmount(driverAmount);
rvp.setVehicleAmount(vehicleAmount); rvp.setVehicleAmount(vehicleAmount);
rvp.setRealAmount(orderAmount); rvp.setRealAmount(orderAmount);
rvp.setDeposit(DEPOSIT); rvp.setDeposit(vehicleModel.getDeposit());
rvp.setModelAmount(vehicleModel.getPrice()); rvp.setModelAmount(vehicleModel.getPrice());
rvp.setDriverPrice(DRIVER_PRICE); rvp.setDriverPrice(DRIVER_PRICE);
rvp.setModelName(vehicleModel.getName()); rvp.setModelName(vehicleModel.getName());
...@@ -133,9 +133,9 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl ...@@ -133,9 +133,9 @@ public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicl
private String acquireVehicle(RentVehicleBO detail) { private String acquireVehicle(RentVehicleBO detail) {
//根据车型、时间、距离,门店,预定车辆 //根据车型、时间、距离,门店,预定车辆
// BookVehicleVO bookVehicleVO = new BookVehicleVO(){{ BookVehicleVO bookVehicleVO = new BookVehicleVO(){{
// setBookStartDate(detail); // setBookStartDate(detail.getS);
// }}; }};
// vehicleFeign.rentApplyVehicle() // vehicleFeign.rentApplyVehicle()
String vehicleId = "0e9a88db-cb1b-48a4-b307-40f89eed906f"; String vehicleId = "0e9a88db-cb1b-48a4-b307-40f89eed906f";
detail.setVehicleId(vehicleId); detail.setVehicleId(vehicleId);
......
...@@ -14,7 +14,10 @@ import com.xxfc.platform.order.contant.enumerate.OrderStatusEnum; ...@@ -14,7 +14,10 @@ import com.xxfc.platform.order.contant.enumerate.OrderStatusEnum;
import com.xxfc.platform.order.contant.enumerate.OrderTypeEnum; import com.xxfc.platform.order.contant.enumerate.OrderTypeEnum;
import com.xxfc.platform.order.entity.OrderCostDetail; import com.xxfc.platform.order.entity.OrderCostDetail;
import com.xxfc.platform.order.pojo.order.RentVehicleBO; import com.xxfc.platform.order.pojo.order.RentVehicleBO;
import com.xxfc.platform.order.pojo.order.TourBO;
import com.xxfc.platform.order.pojo.price.RentVehiclePriceVO; import com.xxfc.platform.order.pojo.price.RentVehiclePriceVO;
import com.xxfc.platform.tour.dto.TourSpePriceDTO;
import com.xxfc.platform.tour.feign.TourFeign;
import com.xxfc.platform.vehicle.entity.VehicleModel; import com.xxfc.platform.vehicle.entity.VehicleModel;
import com.xxfc.platform.vehicle.feign.VehicleFeign; import com.xxfc.platform.vehicle.feign.VehicleFeign;
import lombok.extern.log4j.Log4j; import lombok.extern.log4j.Log4j;
...@@ -26,12 +29,14 @@ import java.math.BigDecimal; ...@@ -26,12 +29,14 @@ import java.math.BigDecimal;
@Service @Service
@Log4j @Log4j
public class OrderTourService extends AbstractOrderHandle<OrderRentVehicleBiz, RentVehicleBO> { public class OrderTourService extends AbstractOrderHandle<OrderRentVehicleBiz, TourBO> {
@Autowired
TourFeign tourFeign;
private static BigDecimal DRIVER_PRICE = new BigDecimal("600.00"); private static BigDecimal DRIVER_PRICE = new BigDecimal("600.00");
private static BigDecimal DAMAGE_SAFE = new BigDecimal("100.00"); //车损免赔 private static BigDecimal DAMAGE_SAFE = new BigDecimal("100.00"); //车损免赔
private static Integer DRIVER_TYPE_COMPANY = 1; // private static BigDecimal DEPOSIT = new BigDecimal("20000.00");
private static BigDecimal DEPOSIT = new BigDecimal("20000.00");
@Autowired @Autowired
VehicleFeign vehicleFeign; VehicleFeign vehicleFeign;
...@@ -44,74 +49,77 @@ public class OrderTourService extends AbstractOrderHandle<OrderRentVehicleBiz, R ...@@ -44,74 +49,77 @@ public class OrderTourService extends AbstractOrderHandle<OrderRentVehicleBiz, R
@PostConstruct @PostConstruct
public void init(){ public void init(){
this.orderTypeEnum = OrderTypeEnum.RentVehicle; this.orderTypeEnum = OrderTypeEnum.TOUR;
} }
@Override @Override
public void initDetail(RentVehicleBO bo) { public void initDetail(TourBO bo) {
super.initDetail(bo); super.initDetail(bo);
VehicleModel vehicleModel = vehicleFeign.get(bo.getModelId()).getData(); //VehicleModel vehicleModel = vehicleFeign.get(bo.getModelId()).getData();
bo.setVehicleModel(vehicleModel); //bo.setVehicleModel(vehicleModel);
} }
@Override @Override
public void handleDetail(RentVehicleBO bo) { public void handleDetail(TourBO bo) {
//获取可用车辆
acquireVehicle(bo);
//设置订单状态为3 //设置订单状态为3
bo.getOrder().setStatus(OrderStatusEnum.ORDER_UNPAY.getCode()); bo.getOrder().setStatus(OrderStatusEnum.ORDER_UNPAY.getCode());
//设置订单图片 //设置订单图片
bo.getOrder().setPicture(bo.getVehicleModel().getPicture()); //bo.getOrder().setPicture(bo.getVehicleModel().getPicture());
//设置订单名称 //设置订单名称
bo.getOrder().setName(bo.getVehicleModel().getName()); //bo.getOrder().setName(bo.getVehicleModel().getName());
super.handleDetail(bo); super.handleDetail(bo);
} }
@Override @Override
public void handleCalculate(RentVehicleBO bo) { public void handleCalculate(TourBO bo) {
RentVehiclePriceVO rvpv = calculatePrice(bo); RentVehiclePriceVO rvpv = calculatePrice(bo);
BeanUtil.copyProperties(rvpv, bo.getOrder()); BeanUtil.copyProperties(rvpv, bo.getOrder());
BeanUtil.copyProperties(rvpv, bo); BeanUtil.copyProperties(rvpv, bo);
} }
@Override @Override
public RentVehiclePriceVO calculatePrice(RentVehicleBO detail) { public RentVehiclePriceVO calculatePrice(TourBO detail) {
BigDecimal orderAmount = BigDecimal.ZERO; BigDecimal orderAmount = BigDecimal.ZERO;
BigDecimal goodsAmount = BigDecimal.ZERO; BigDecimal goodsAmount = BigDecimal.ZERO;
BigDecimal vehicleAmount = BigDecimal.ZERO; BigDecimal tourAmount = BigDecimal.ZERO;
BigDecimal driverAmount = BigDecimal.ZERO;
//计算旅游价格
tourFeign.refund(new TourSpePriceDTO(){{
setChildNumber(detail.getChildNumber());
setChildNumber(detail.getChildNumber());
}});
//计算价格 //计算价格
//计算车辆费用 //计算车辆费用
VehicleModel vehicleModel = vehicleFeign.get(detail.getModelId()).getData(); // VehicleModel vehicleModel = vehicleFeign.get(detail.getModelId()).getData();
vehicleAmount = vehicleAmount.add(vehicleModel.getPrice().multiply(BigDecimal.valueOf(detail.getDayNum()))); // vehicleAmount = vehicleAmount.add(vehicleModel.getPrice().multiply(BigDecimal.valueOf(detail.getDayNum())));
if(DRIVER_TYPE_COMPANY.equals(detail.getDriverType())) { // if(DRIVER_TYPE_COMPANY.equals(detail.getDriverType())) {
//计算司机费用 // //计算司机费用
driverAmount = driverAmount.add(DRIVER_PRICE.multiply(BigDecimal.valueOf(detail.getDayNum()))); // driverAmount = driverAmount.add(DRIVER_PRICE.multiply(BigDecimal.valueOf(detail.getDayNum())));
} // }
//商品价格 //商品价格
goodsAmount = goodsAmount.add(vehicleAmount).add(driverAmount); // goodsAmount = goodsAmount.add(vehicleAmount).add(driverAmount);
//总价格(包含押金) //总价格(包含押金)
orderAmount = orderAmount.add(goodsAmount).add(DEPOSIT); // orderAmount = orderAmount.add(goodsAmount).add(DEPOSIT);
//生成订单明细 //生成订单明细
RentVehiclePriceVO rvp = new RentVehiclePriceVO(); RentVehiclePriceVO rvp = new RentVehiclePriceVO();
rvp.setOrderAmount(orderAmount); rvp.setOrderAmount(orderAmount);
rvp.setGoodsAmount(goodsAmount); rvp.setGoodsAmount(goodsAmount);
rvp.setDriverAmount(driverAmount); // rvp.setDriverAmount(driverAmount);
rvp.setVehicleAmount(vehicleAmount); // rvp.setVehicleAmount(vehicleAmount);
rvp.setRealAmount(orderAmount); rvp.setRealAmount(orderAmount);
rvp.setDeposit(DEPOSIT); // rvp.setDeposit(DEPOSIT);
rvp.setModelAmount(vehicleModel.getPrice()); // rvp.setModelAmount(vehicleModel.getPrice());
rvp.setDriverPrice(DRIVER_PRICE); rvp.setDriverPrice(DRIVER_PRICE);
rvp.setModelName(vehicleModel.getName()); // rvp.setModelName(vehicleModel.getName());
rvp.setDayNum(detail.getDayNum()); rvp.setDayNum(detail.getDayNum());
rvp.setVehicleNum(1); rvp.setVehicleNum(1);
rvp.setDriverNum(1); rvp.setDriverNum(1);
detail.setCostDetail(costDetail(rvp)); //detail.setCostDetail(costDetail(rvp));
return rvp; return rvp;
} }
...@@ -129,15 +137,4 @@ public class OrderTourService extends AbstractOrderHandle<OrderRentVehicleBiz, R ...@@ -129,15 +137,4 @@ public class OrderTourService extends AbstractOrderHandle<OrderRentVehicleBiz, R
vo.setCostDetail(result); vo.setCostDetail(result);
return result; return result;
} }
private String acquireVehicle(RentVehicleBO detail) {
//根据车型、时间、距离,门店,预定车辆
// BookVehicleVO bookVehicleVO = new BookVehicleVO(){{
// setBookStartDate(detail);
// }};
// vehicleFeign.rentApplyVehicle()
String vehicleId = "0e9a88db-cb1b-48a4-b307-40f89eed906f";
detail.setVehicleId(vehicleId);
return vehicleId;
}
} }
...@@ -4,13 +4,11 @@ package com.xxfc.platform.tour.dto; ...@@ -4,13 +4,11 @@ package com.xxfc.platform.tour.dto;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal;
/** /**
* 计算价格 * 计算价格
*/ */
@Data @Data
public class TourSpePriceDto { public class TourSpePriceDTO {
//用户id //用户id
@ApiModelProperty(value = "用户id") @ApiModelProperty(value = "用户id")
...@@ -26,11 +24,11 @@ public class TourSpePriceDto { ...@@ -26,11 +24,11 @@ public class TourSpePriceDto {
//儿童人数 //儿童人数
@ApiModelProperty(value = "儿童人数") @ApiModelProperty(value = "儿童人数")
private String childNumber; private Integer childNumber;
//"成人人数 //"成人人数
@ApiModelProperty(value = "成人人数") @ApiModelProperty(value = "成人人数")
private String endTime; private Integer number;
} }
package com.xxfc.platform.tour.feign;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.tour.dto.TourSpePriceDTO;
import com.xxfc.platform.tour.vo.TourSpePriceVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
/**
* ${DESCRIPTION}
*
* @author wanghaobin
* @create 2017-06-21 8:11
*/
@FeignClient(value = "xx-tour")
public interface TourFeign {
/**
* 计算价格
* @param spePriceDto
* @return
*/
@RequestMapping(value = "/spe/user/prices", method = RequestMethod.POST)
public ObjectRestResponse<TourSpePriceVo> refund(@RequestBody TourSpePriceDTO spePriceDto);
@RequestMapping(value = "/spe/stock", method = RequestMethod.GET)
public ObjectRestResponse<TourSpePriceVo> stock(Integer speId,Integer number);
}
package com.xxfc.platform.tour.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* 等级金额表
*
* @author zjw
* @email nishijjo@qq.com
* @date 2019-06-06 11:41:51
*/
@Data
public class TourSpePriceVo {
//用户id
@ApiModelProperty(value = "/用户id")
private Integer userId;
//等级
@ApiModelProperty(value = "等级")
private Integer level;
//大人单价"
@ApiModelProperty(value = "大人单价")
private BigDecimal price;
//大人总价
@ApiModelProperty(value = "大人总价")
private BigDecimal totalPrice;
//儿童单价
@ApiModelProperty(value = "儿童单价")
private BigDecimal childPrice;
//儿童总价
@ApiModelProperty(value = "儿童总价")
private BigDecimal totaiChildPrice;
//库存
@ApiModelProperty(value = "库存")
private Integer stock;
}
...@@ -14,7 +14,7 @@ import org.springframework.scheduling.annotation.EnableScheduling; ...@@ -14,7 +14,7 @@ import org.springframework.scheduling.annotation.EnableScheduling;
@EnableDiscoveryClient @EnableDiscoveryClient
@EnableScheduling @EnableScheduling
@EnableAceAuthClient @EnableAceAuthClient
@EnableFeignClients({"com.github.wxiaoqi.security.auth.client.feign","com.github.wxiaoqi.security.admin.feign"}) @EnableFeignClients({"com.github.wxiaoqi.security.auth.client.feign","com.github.wxiaoqi.security.admin.feign","com.xxfc.platform.tour.feign"})
@EnableAceCache @EnableAceCache
@tk.mybatis.spring.annotation.MapperScan(basePackages = "com.xxfc.platform.tour.mapper") @tk.mybatis.spring.annotation.MapperScan(basePackages = "com.xxfc.platform.tour.mapper")
public class TourApplication { public class TourApplication {
......
package com.xxfc.platform.tour.biz; package com.xxfc.platform.tour.biz;
import com.github.pagehelper.PageHelper;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.vo.PageDataVO; import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.tour.entity.TourGood;
import com.xxfc.platform.tour.mapper.TourGoodMapper; import com.xxfc.platform.tour.mapper.TourGoodMapper;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
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 com.xxfc.platform.tour.entity.TourGood;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
...@@ -28,7 +28,6 @@ public class TourGoodBiz extends BaseBiz<TourGoodMapper, TourGood> { ...@@ -28,7 +28,6 @@ public class TourGoodBiz extends BaseBiz<TourGoodMapper, TourGood> {
/** /**
* 查询旅游路线列表 * 查询旅游路线列表
*
* @param page * @param page
* @param limit * @param limit
* @param query * @param query
...@@ -38,15 +37,18 @@ public class TourGoodBiz extends BaseBiz<TourGoodMapper, TourGood> { ...@@ -38,15 +37,18 @@ public class TourGoodBiz extends BaseBiz<TourGoodMapper, TourGood> {
* @param distance * @param distance
* @return * @return
*/ */
public PageDataVO<TourGood> getGoodList(int page, int limit, String query, Double latitude, Double longitude, Integer tagId, Double distance) { public PageDataVO<TourGood> getGoodList(int page, int limit , String query , Double latitude, Double longitude, Integer tagId, Double distance){
//查询参数 Map<String, Object> params = initParam(page, limit, query, latitude, longitude, tagId, distance);
Map<String, Object> params = new HashMap<String, Object>(); return PageDataVO.pageInfo(page, limit, () -> mapper.getGoodList(params));
params.put("query", query); }
params.put("latitude", latitude);
params.put("longitude", longitude); private Map<String, Object> initParam(int page, int limit, String query, Double latitude, Double longitude, Integer tagId, Double distance) {
params.put("tagId", tagId); Map<String,Object> params = new HashMap<String,Object>();
params.put("distance", distance); params.put("query",query);
// List<TourGood> list = tourGoodMapper.getGoodList(params); params.put("latitude",latitude);
return PageDataVO.pageInfo(page, limit, mapper.getGoodList(params)); params.put("longitude",longitude);
params.put("tagId",tagId);
params.put("distance",distance);
return params;
} }
} }
\ No newline at end of file
package com.xxfc.platform.tour.biz; package com.xxfc.platform.tour.biz;
import com.xxfc.platform.tour.mapper.TourGoodSpeMapper; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.xxfc.platform.tour.dto.TourSpePriceDTO;
import com.xxfc.platform.tour.entity.TourGoodSpePrice;
import com.xxfc.platform.tour.mapper.TourGoodSpePriceMapper;
import com.xxfc.platform.tour.vo.TourSpePriceVo;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.xxfc.platform.tour.entity.TourGoodSpe;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import java.math.BigDecimal;
import java.math.RoundingMode;
/** /**
* 旅游商品规格表 * 旅游商品规格表
* *
...@@ -14,5 +24,67 @@ import com.github.wxiaoqi.security.common.biz.BaseBiz; ...@@ -14,5 +24,67 @@ import com.github.wxiaoqi.security.common.biz.BaseBiz;
* @date 2019-06-06 11:41:51 * @date 2019-06-06 11:41:51
*/ */
@Service @Service
public class TourGoodSpeBiz extends BaseBiz<TourGoodSpeMapper,TourGoodSpe> { @Slf4j
public class TourGoodSpeBiz extends BaseBiz<TourGoodSpePriceMapper, TourGoodSpePrice> {
public ObjectRestResponse<TourSpePriceVo> getPricesByuserid(TourSpePriceDTO priceDto) {
if (priceDto == null || priceDto.getUserId() == null || priceDto.getUserId() == 0 ||
priceDto.getNumber() == null || priceDto.getNumber() == 0||priceDto.getSpeId()==null) {
return ObjectRestResponse.createFailedResult(ResultCode.NULL_CODE, "参数为空");
}
TourSpePriceVo priceVo = new TourSpePriceVo();
Integer speId = priceDto.getSpeId();
Integer number = priceDto.getNumber();
Integer childNumber = priceDto.getChildNumber() == null ? 0 : priceDto.getChildNumber();
if (speId != null) {
TourGoodSpePrice spePrice = mapper.selectByPrimaryKey(speId);
if (spePrice != null) {
Integer level = priceDto.getLevel();
priceVo.setUserId(priceDto.getUserId());
priceVo.setLevel(priceDto.getLevel());
priceVo.setStock(spePrice.getStock());
BigDecimal price = spePrice.getPrice();
BigDecimal childPrice = spePrice.getChildPrice();
if (level != null && level > 0) {
String memberPrice = spePrice.getMemberPrice();
JSONArray array = JSONArray.parseArray(memberPrice);
if (array.size() > 0) {
for (Object obj : array) {
JSONObject jsonObject = JSONObject.parseObject(obj.toString());
Integer levels = jsonObject.getInteger("level");
if (level == levels) {
String money = jsonObject.getString("price");
price = new BigDecimal(StringUtils.isNotBlank(money) ? money : "0.00");
String childMoney = jsonObject.getString("child_price");
childPrice = new BigDecimal(StringUtils.isNotBlank(childMoney) ? childMoney : "0.00");
break;
}
}
}
}
BigDecimal totalPrice = price.multiply(new BigDecimal(number)).setScale(2, RoundingMode.HALF_UP);
BigDecimal totalChildPrice = childNumber > 0 ? price.multiply(new BigDecimal(childNumber)).setScale(2, RoundingMode.HALF_UP): new BigDecimal("0.00");
priceVo.setPrice(price);
priceVo.setChildPrice(childPrice);
priceVo.setTotalPrice(totalPrice);
priceVo.setTotaiChildPrice(totalChildPrice);
return ObjectRestResponse.succ(priceVo);
}
}
return ObjectRestResponse.createDefaultFail();
}
//减库存
public ObjectRestResponse cutStock(Integer speId,Integer number) {
TourGoodSpePrice spePrice = mapper.selectByPrimaryKey(speId);
if (spePrice != null && spePrice.getStock() > 0 && spePrice.getStock() >= number) {
mapper.updStockById(speId, number);
return ObjectRestResponse.succ();
} else {
return ObjectRestResponse.createFailedResult(ResultCode.STOCK_CODE, "库存不足");
}
}
} }
\ No newline at end of file
...@@ -18,6 +18,9 @@ public interface TourGoodSpePriceMapper extends Mapper<TourGoodSpePrice> { ...@@ -18,6 +18,9 @@ public interface TourGoodSpePriceMapper extends Mapper<TourGoodSpePrice> {
List<TourDepartTimeVo> getAllByGoodId(@Param("goodId") Integer goodId); List<TourDepartTimeVo> getAllByGoodId(@Param("goodId") Integer goodId);
//减库存
int updStockById(@Param("id") Integer id,@Param("number") Integer number);
} }
package com.xxfc.platform.tour.rest; package com.xxfc.platform.tour.rest;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO; import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken; import com.xxfc.platform.tour.biz.TourGoodSpeBiz;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.xxfc.platform.tour.common.TourBaseController;
import com.xxfc.platform.tour.biz.TourGoodSpeBiz; import com.xxfc.platform.tour.dto.TourSpePriceDTO;
import com.xxfc.platform.tour.common.TourBaseController; import com.xxfc.platform.tour.vo.TourSpePriceVo;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam; @RestController
import org.springframework.web.bind.annotation.RestController; @RequestMapping("spe")
@IgnoreClientToken
@RestController public class TourGoodSpeController extends TourBaseController<TourGoodSpeBiz> {
@RequestMapping("spe")
@IgnoreClientToken
public class TourGoodSpeController extends TourBaseController<TourGoodSpeBiz> {
//获取商品详情
@RequestMapping(value = "/user/prices", method = RequestMethod.POST)
public ObjectRestResponse<TourSpePriceVo> prices(@RequestBody TourSpePriceDTO priceDto) {
//获取商品详情 return baseBiz.getPricesByuserid(priceDto);
@RequestMapping(value = "/user/prices", method = RequestMethod.GET) }
public ObjectRestResponse user() {
AppUserDTO userDTO=getUserInfo(); //减库存
return ObjectRestResponse.succ(userDTO); @RequestMapping(value = "/stock", method = RequestMethod.GET)
} public ObjectRestResponse<TourSpePriceVo> stock(
@RequestParam(value = "speId",defaultValue = "0")Integer speId,
@RequestParam(value = "number",defaultValue = "0") Integer number){
return baseBiz.cutStock(speId,number);
}
} }
\ No newline at end of file
...@@ -40,6 +40,11 @@ ...@@ -40,6 +40,11 @@
FROM tour_good_spe_price WHERE good_id=#{goodId} and is_del=0 FROM tour_good_spe_price WHERE good_id=#{goodId} and is_del=0
</select> </select>
<!-- 减库存-->
<update id="updStockById">
update tour_good_spe_price set stock=stock-#{number} where id=#{id}
</update>
</mapper> </mapper>
\ No newline at end of file
...@@ -61,6 +61,11 @@ public class VehicleModel implements Serializable { ...@@ -61,6 +61,11 @@ public class VehicleModel implements Serializable {
@Column(name = "price") @Column(name = "price")
@ApiModelProperty(value = "价格") @ApiModelProperty(value = "价格")
private BigDecimal price; private BigDecimal price;
//价格
@Column(name = "deposit")
@ApiModelProperty(value = "押金")
private BigDecimal deposit;
//创建时间 //创建时间
@Column(name = "crt_time") @Column(name = "crt_time")
......
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